diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 index e84518b..261eeb9 --- a/LICENSE +++ b/LICENSE @@ -1,73 +1,201 @@ -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -1. Definitions. + 1. Definitions. -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: - (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and - (b) You must cause any modified files to carry prominent notices stating that You changed the files; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and - (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. - You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS -APPENDIX: How to apply the Apache License to your work. + APPENDIX: How to apply the Apache License to your work. -To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright 2024 qnloft + Copyright [yyyy] [name of copyright owner] -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at -http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 69bc973..361112b --- a/README.md +++ b/README.md @@ -1,3 +1,92 @@ -# qnloft-onenav +qnloft-onenav +PHP + SQLite ,书签管理系统,网址导航系统 -PHP + SQLite ,书签管理系统,网址导航系统 \ No newline at end of file +中文 | [English](./README_EN.md) + +___ + +OneNav是一款开源免费的书签(导航)管理程序,使用使用PHP + SQLite 3开发,界面简洁,安装简单,使用方便。OneNav可帮助你将浏览器书签集中式管理,解决跨设备、跨平台、跨浏览器之间同步和访问困难问题,做到一处部署,随处访问。 + +![](https://i.bmp.ovh/imgs/2020/12/40f222b7da7a89c9.png) + +![](https://i.bmp.ovh/imgs/2021/04/5c46f84f158d8d3a.png) + +![](https://img.rss.ink/imgs/2022/03/cba9f1946776a8f0.png) + +![](https://img.rss.ink/imgs/2022/03/4b1d6c95484e69bc.png) + +![](https://img.rss.ink/imgs/2022/06/08/401b42279dd971f0.png) + +![](https://img.rss.ink/imgs/2022/06/07/1a2f6c3f81b64f6a.png) + +![](https://img.rss.ink/imgs/2022/06/06/172432e9d3564113.png) + +![](https://i.bmp.ovh/imgs/2020/12/abba0af566f3c16a.png) + +> **特别声明:未经作者允许,请勿将OneNav进行获利行为或进行商业行为,亦不得用于非法用途,否则自行承担相应法律责任!!!** + +## 功能特色 + +* 支持后台管理 +* 支持私有链接 +* 支持Chrome/Firefox/Edge书签批量导入 +* 支持多种主题风格 +* 支持链接信息自动识别 +* 支持API +* 支持Docker部署 +* 支持uTools插件 +* 支持二级分类 +* 支持Chromium内核的[浏览器扩展](https://dwz.ovh/4kxn2)(插件) +* 支持在线更新 +* 手机版后台 + +## 安装 + +**常规安装:** + +1. 需安装PHP环境,并确保支持SQLite3 +2. 下载源码解压到站点根目录 +3. 访问首页根据提示初始化用户名/密码 +4. 访问后台:`http://IP/index.php?c=login` + +**Docker部署:** + +```bash +docker run -itd --name="onenav" -p 80:80 \ + -v /data/onenav:/data/wwwroot/default/data \ + helloz/onenav:0.9.33 +``` +* 第一个`80`是自定义访问端口,可以自行修改,第二个`80`是容器端口,请勿修改 +* `/data/onenav`:本机挂载目录,用于持久存储Onenav数据 +* `0.9.33`:改成OneNav最新版本号,可以通过[releases](https://github.com/helloxz/onenav/releases)查看最新版本号 + +> 更多说明,请参考帮助文档:https://dwz.ovh/onenav + +## Demo + +* **官方演示站点:**[http://demo.onenav.top/](http://demo.onenav.top/index.php?c=login) +* 账号/密码:`xiaoz`/`xiaoz.me` + +___ + +以下是OneNav部分用户演示站,排名不分先后。 + +* OneNav:[https://nav.rss.ink/](https://nav.rss.ink/) +* 千行书签:[http://www.52qx.club/](http://www.52qx.club/) +* 纽及书签:[http://www.1006788.com/](http://www.1006788.com/) +* DiscoveryNav:[https://nav.miooku.com/](https://nav.miooku.com/) + +## OneNav交流群 + +* [https://dwz.ovh/qxsul](https://dwz.ovh/qxsul) + +## 鸣谢 + +感谢`@百素`/`@itushan`的代码贡献及主题开发,以及其它OneNav贡献者和使用者,名字太多无法一一列举,还请谅解。 + +OneNav诞生离不开以下项目,在此表示感谢(排名不分先后)。 + +* [WebStackPage](https://github.com/WebStackPage/WebStackPage.github.io) +* [LayUI](https://github.com/sentsin/layui) +* [Medoo](https://github.com/catfan/Medoo) +* [MDUI](https://github.com/zdhxiong/mdui) diff --git a/README_EN.md b/README_EN.md new file mode 100644 index 0000000..3e219f4 --- /dev/null +++ b/README_EN.md @@ -0,0 +1,91 @@ +# OneNav + +[中文](./README.md) | English + +___ + +OneNav is an open-source, free bookmark (navigation) management program developed using PHP + SQLite 3. It features a simple interface, easy installation, and convenient usage. OneNav helps you manage your browser bookmarks centrally, solving the problems of syncing and accessing across devices, platforms, and browsers. Deploy it in one place and access it from anywhere. + +![](https://i.bmp.ovh/imgs/2020/12/40f222b7da7a89c9.png) + +![](https://i.bmp.ovh/imgs/2021/04/5c46f84f158d8d3a.png) + +![](https://img.rss.ink/imgs/2022/03/cba9f1946776a8f0.png) + +![](https://img.rss.ink/imgs/2022/03/4b1d6c95484e69bc.png) + +![](https://img.rss.ink/imgs/2022/06/08/401b42279dd971f0.png) + +![](https://img.rss.ink/imgs/2022/06/07/1a2f6c3f81b64f6a.png) + +![](https://img.rss.ink/imgs/2022/06/06/172432e9d3564113.png) + +![](https://i.bmp.ovh/imgs/2020/12/abba0af566f3c16a.png) + +> **Special Note: Without the author's permission, do not use OneNav for profit-making or commercial activities, nor use it for illegal purposes. Otherwise, you will bear the corresponding legal responsibility!!!** + +## Feature Highlights + +* Supports backend management +* Supports private links +* Supports bulk import of bookmarks from Chrome/Firefox/Edge +* Supports multiple theme styles +* Supports automatic link information recognition +* Supports API +* Supports Docker deployment +* Supports uTools plugins +* Supports secondary categories +* Supports [browser extension](https://dwz.ovh/4kxn2) for Chromium kernel (plugin) +* Supports online updates +* Mobile version backend + +## Installation + +**Regular Installation:** + +1. Requires PHP environment and must support SQLite3 +2. Download and unzip the source code to the root directory of the site +3. Visit the homepage and follow the prompts to initialize username/password +4. Access the backend: `http://IP/index.php?c=login` + +**Docker Deployment:** + +```bash +docker run -itd --name="onenav" -p 80:80 \ + -v /data/onenav:/data/wwwroot/default/data \ + helloz/onenav:0.9.32 +``` +* The first `80` is the customized access port, which can be modified, and the second `80` is the container port, please do not modify +* `/data/onenav`: Local mount directory for persistent storage of Onenav data +* `0.9.32`: Replace with the latest version number of OneNav, which can be found through [releases](https://github.com/helloxz/onenav/releases) + +> For more instructions, please refer to the help document: https://dwz.ovh/onenav + +## Demo + +* **Official demo site:** [http://demo.onenav.top/](http://demo.onenav.top/index.php?c=login) +* Account/Password: `xiaoz`/`xiaoz.me` + +___ + +The following are some user demo sites of OneNav, in no particular order. + +* OneNav: [https://nav.rss.ink/](https://nav.rss.ink/) +* Thousand-line Bookmark: [http://www.52qx.club/](http://www.52qx.club/) +* Nyuji Bookmark: [http://www.1006788.com/](http://www.1006788.com/) +* DiscoveryNav: [https://nav.miooku.com/](https://nav.miooku.com/) + +## OneNav Exchange Group + +* [https://dwz.ovh/qxsul](https://dwz.ovh/qxsul) + +## Acknowledgements + +Thanks to `@Baisu`/`@itushan` for their code contributions and theme development, as well as other OneNav contributors and users. There are too many to list, so please understand. + +OneNav would not be possible without the following projects. We express our gratitude (in no particular order). + +* [WebStackPage](https://github.com/WebStackPage/WebStackPage.github.io) +* [LayUI](https://github.com/sentsin/layui) +* [Medoo](https://github.com/catfan/Medoo) +* [MDUI](https://github.com/zdhxiong/mdui) diff --git a/auto_install.json b/auto_install.json new file mode 100644 index 0000000..7757cd0 --- /dev/null +++ b/auto_install.json @@ -0,0 +1,12 @@ +{ + "php_ext":"opcache", + "chmod":[], + "success_url":"/index.php", + "php_versions":"56,70,71,72,73,74", + "db_config":"", + "admin_username":"", + "admin_password":"", + "run_path":"/", + "remove_file":[], + "enable_functions":[] +} \ No newline at end of file diff --git a/class/.htaccess b/class/.htaccess new file mode 100755 index 0000000..baa56e5 --- /dev/null +++ b/class/.htaccess @@ -0,0 +1,2 @@ +order allow,deny +deny from all \ No newline at end of file diff --git a/class/Api.php b/class/Api.php new file mode 100644 index 0000000..7e793b7 --- /dev/null +++ b/class/Api.php @@ -0,0 +1,2510 @@ + + * blog:xiaoz.me + */ +//载入通用函数 +require("./functions/helper.php"); +define("API_URL","https://onenav.xiaoz.top"); +class Api { + protected $db; + public function __construct($db){ + // 修改默认获取模式为关联数组 + $db->pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); + $this->db = $db; + //返回json类型 + header('Content-Type:application/json; charset=utf-8'); + } + /** + * name:创建分类目录 + */ + public function add_category($token,$name,$property = 0,$weight = 0,$description = '',$font_icon = '',$fid = 0){ + $this->auth($token); + //分类名称不允许为空 + if( empty($name) ) { + $this->err_msg(-2000,'分类名称不能为空!'); + } + $data = [ + 'name' => htmlspecialchars($name,ENT_QUOTES), + 'add_time' => time(), + 'weight' => $weight, + 'property' => $property, + 'description' => htmlspecialchars($description,ENT_QUOTES), + 'font_icon' => $font_icon, + 'fid' => $fid + ]; + //插入分类目录 + $this->db->insert("on_categorys",$data); + //返回ID + $id = $this->db->id(); + //如果id为空(NULL),说明插入失败了,姑且认为是name重复导致 + if( empty($id) ){ + $this->err_msg(-1000,'Categorie already exist!'); + } + else{ + //成功并返回json格式 + $data = [ + 'code' => 0, + 'id' => intval($id) + ]; + exit(json_encode($data)); + } + + } + /** + * 修改分类目录 + * + */ + public function edit_category($token,$id,$name,$property = 0,$weight = 0,$description = '',$font_icon = '',$fid = 0){ + $this->auth($token); + $fid = intval($fid); + //如果id为空 + if( empty($id) ){ + $this->err_msg(-1003,'The category ID cannot be empty!'); + } + //根据fid查询这个分类是否存在 + $count = $this->db->count("on_categorys", [ + "id" => $fid + ]); + + //如果fid不是0,且查询结果小于1,则认为这个父级ID是不存在的,则不允许修改 + if( !empty($fid) && ($count < 1) ) { + $this->err_msg(-2000,'父级ID不存在!'); + } + + //查询fid是否是二级分类的ID,如果是,则不允许修改 + $category = $this->db->get("on_categorys","*",[ + "id" => $fid + ]); + //如果查询到他的父ID不是0,则是一个二级分类 + if( intval($category['fid']) !== 0 ) { + $this->err_msg(-2000,'父分类不能是二级分类!'); + } + //如果分类名为空 + elseif( empty($name ) ){ + $this->err_msg(-1004,'The category name cannot be empty!'); + } + //更新数据库 + else{ + //根据分类ID查询改分类下面是否已经存在子分类,如果存在子分类了则不允许设置为子分类,实用情况:一级分类下存在二级分类,无法再将改一级分类修改为二级分类 + $count = $this->db->count("on_categorys", [ + "fid" => $id + ]); + //该分类下的子分类数量大于0,并且父级ID修改为其它分类 + if( ( $count > 0 ) && ( $fid !== 0 ) ) { + $this->err_msg(-2000,'修改失败,该分类下已存在子分类!'); + } + $data = [ + 'name' => htmlspecialchars($name,ENT_QUOTES), + 'up_time' => time(), + 'weight' => $weight, + 'property' => $property, + 'description' => htmlspecialchars($description,ENT_QUOTES), + 'font_icon' => $font_icon, + 'fid' => $fid + ]; + $re = $this->db->update('on_categorys',$data,[ 'id' => $id]); + //var_dump( $this->db->log() ); + //获取影响行数 + $row = $re->rowCount(); + if($row) { + $data = [ + 'code' => 0, + 'msg' => 'successful' + ]; + exit(json_encode($data)); + } + else{ + $this->err_msg(-1005,'The category name already exists!'); + } + } + } + /** + * 删除分类目录 + */ + public function del_category($token,$id) { + //验证授权 + $this->auth($token); + //如果id为空 + if( empty($id) ){ + $this->err_msg(-1003,'The category ID cannot be empty!'); + } + //如果分类目录下存在数据 + $count = $this->db->count("on_links", [ + "fid" => $id + ]); + //如果分类目录下存在数据,则不允许删除 + if($count > 0) { + $this->err_msg(-1006,'The category is not empty and cannot be deleted!'); + } + else{ + $data = $this->db->delete('on_categorys',[ 'id' => $id] ); + //返回影响行数 + $row = $data->rowCount(); + if($row) { + $data = [ + 'code' => 0, + 'msg' => 'successful' + ]; + exit(json_encode($data)); + } + else{ + $this->err_msg(-1007,'The category delete failed!'); + } + } + } + + /** + * name:返回错误(json) + * + */ + public function err_msg($code,$err_msg){ + $data = [ + 'code' => $code, + 'err_msg' => $err_msg + ]; + //返回json类型 + header('Content-Type:application/json; charset=utf-8'); + exit(json_encode($data)); + } + /** + * name:验证方法 + */ + protected function auth($token){ + // 当方法没有传递token的时候,则先尝试通过POST/GET获取token + if( empty($token) ) { + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + } + //计算正确的token:用户名 + TOKEN + $SecretKey = @$this->db->get('on_options','*',[ 'key' => 'SecretKey' ])['value']; + $token_yes = md5(USER.$SecretKey); + //获取header中的X-token + $xtoken = $_SERVER['HTTP_X_TOKEN']; + + //如果通过header传递token,且验证通过 + if( !empty($xtoken) && ($xtoken === $token_yes) ) { + return TRUE; + } + //如果token为空,则验证cookie + if(empty($token)) { + if( !$this->is_login() ) { + $this->err_msg(-1002,'Authorization failure!'); + } + else if( $this->is_login() ){ + return TRUE; + } + else{ + $this->err_msg(-1002,'Cookie authorization failure!'); + } + } + else if ( empty($SecretKey) ) { + $this->err_msg(-2000,'请先生成SecretKey!'); + } + else if($token != $token_yes){ + $this->err_msg(-1002,'Authorization failure!'); + } + else{ + return TRUE; + } + } + /** + * name:添加链接 + */ + public function add_link($token,$fid,$title,$url,$description = '',$weight = 0,$property = 0,$url_standby = '',$font_icon = ''){ + $this->auth($token); + $fid = intval($fid); + //检测链接是否合法 + //$this->check_link($fid,$title,$url); + $this->check_link([ + 'fid' => $fid, + 'title' => $title, + 'url' => $url, + 'url_standby' => $url_standby + ]); + + //合并数据 + $data = [ + 'fid' => $fid, + 'title' => htmlspecialchars($title,ENT_QUOTES), + 'url' => $url, + 'url_standby' => $url_standby, + 'description' => htmlspecialchars($description,ENT_QUOTES), + 'add_time' => time(), + 'weight' => $weight, + 'property' => $property + ]; + + //如果$font_icon不为空,才一起追加写入数据库 + if( !empty($font_icon) ) { + $data['font_icon'] = $font_icon; + } + //插入数据库 + $re = $this->db->insert('on_links',$data); + //返回影响行数 + $row = $re->rowCount(); + //如果为真 + if( $row ){ + $id = $this->db->id(); + $data = [ + 'code' => 0, + 'id' => $id + ]; + exit(json_encode($data)); + } + //如果插入失败 + else{ + $this->err_msg(-1011,'The URL already exists!'); + } + } + /** + * 批量修改链接分类 + */ + public function batch_modify_category($data) { + $this->auth($token); + //获取链接ID,是一个数组 + $id = implode(',',$data['id']); + //获取分类ID + $fid = $data['fid']; + //查询分类ID是否存在 + $count = $this->db->count('on_categorys',[ 'id' => $fid]); + //如果分类ID不存在 + if( empty($fid) || empty($count) ) { + $this->err_msg(-2000,'分类ID不存在!'); + } + else{ + $sql = "UPDATE on_links SET fid='$fid' WHERE id IN ($id)"; + $re = $this->db->query($sql); + if( $re ) { + $id = $this->db->id(); + $data = [ + 'code' => 0, + 'msg' => "success" + ]; + exit(json_encode($data)); + } + else{ + $this->err_msg(-2000,'更新失败!'); + } + } + } + /** + * 批量修改链接属性为公有或私有 + */ + public function set_link_attribute($data) { + $this->auth($token); + //获取链接ID,是一个数组 + $ids = implode(',',$data['ids']); + $property = intval($data['property']); + //拼接SQL文件 + $sql = "UPDATE on_links SET property = $property WHERE id IN ($ids)"; + $re = $this->db->query($sql); + //返回影响行数 + $row = $re->rowCount(); + if ( $row > 0 ){ + $this->return_json(200,"success"); + } + else{ + $this->return_json(-2000,"failed"); + } + } + /** + * name:分类批量设置为私有或公有 + * + */ + public function set_cat_batch($data) { + $this->auth($token); + //获取链接ID,是一个数组 + $ids = implode(',',$data['ids']); + $property = intval($data['property']); + //拼接SQL文件 + $sql = "UPDATE on_categorys SET property = $property WHERE id IN ($ids)"; + // echo $sql; + $re = $this->db->query($sql); + //返回影响行数 + $row = $re->rowCount(); + if ( $row > 0 ){ + $this->return_json(200,"success"); + } + else{ + $this->return_json(-2000,"failed"); + } + } + + /** + * 批量导入链接 + */ + public function imp_link($token,$filename,$fid,$property = 0){ + //过滤$filename + $filename = str_replace('../','',$filename); + $filename = str_replace('./','',$filename); + $this->auth($token); + //检查文件是否存在 + if ( !file_exists($filename) ) { + $this->err_msg(-1016,'File does not exist!'); + } + //解析HTML数据 + $content = file_get_contents($filename); + + $pattern = "//i"; + + preg_match_all($pattern,$content,$arr); + //失败次数 + $fail = 0; + //成功次数 + $success = 0; + //总数 + $total = count($arr[0]); + foreach( $arr[0] as $link ) + { + $pattern = "/http.*\"? ADD_DATE/i"; + preg_match($pattern,$link,$urls); + $url = str_replace('" ADD_DATE','',$urls[0]); + $pattern = "/>.*<\/a>$/i"; + preg_match($pattern,$link,$titles); + + $title = str_replace('>','',$titles[0]); + $title = str_replace(' $fid, + 'description' => '', + 'add_time' => time(), + 'weight' => 0, + 'property' => $property + ]; + $data['title'] = $title; + $data['url'] = $url; + + //插入数据库 + $re = $this->db->insert('on_links',$data); + //返回影响行数 + $row = $re->rowCount(); + //如果为真 + if( $row ){ + $id = $this->db->id(); + $data = [ + 'code' => 0, + 'id' => $id + ]; + $success++; + + } + //如果插入失败 + else{ + $fail++; + } + } + //删除书签 + unlink($filename); + $data = [ + 'code' => 0, + 'msg' => '总数:'.$total.' 成功:'.$success.' 失败:'.$fail + ]; + exit(json_encode($data)); + } + /** + * 批量导入链接并自动创建分类,这是新的导入接口 + */ + public function import_link($filename,$property = 0) { + //过滤$filename + $filename = str_replace('../','',$filename); + $filename = str_replace('./','',$filename); + $this->auth($token); + //检查文件是否存在 + if ( !file_exists($filename) ) { + $this->err_msg(-1016,'File does not exist!'); + } + //解析HTML数据 + $content = file_get_contents($filename); + $HTMLs = explode("\n",$content);//分割文本 + $data = []; //链接组 + $categorys = []; //分类信息组 + $categoryt = []; //分类信息表 + + // 遍历HTML + foreach( $HTMLs as $HTMLh ){ + //匹配分类名称 + if( preg_match("/
(.*)<\/H3>/i",$HTMLh,$category) ){ + //匹配到文件夹名时加入数组 + array_push($categoryt,$category[1]); + array_push($categorys,$category[1]); + }elseif( preg_match('/<\/DL>

/i',$HTMLh) ){ + //匹配到文件夹结束标记时删除一个 + array_pop($categorys); + }elseif( preg_match('/

(.+)<\/A>/i',$HTMLh,$urls) ){ + $datat['category'] = $categorys[count($categorys) -1]; + $datat['title'] = $urls[2]; + $datat['url'] = $urls[1]; + array_push($data,$datat); + } + } + $categoryt = array_unique($categoryt); + //追加一个默认分类,用来存储部分链接找不到分类的情况 + array_push($categoryt,"默认分类"); + + + //批量创建分类 + $this->batch_create_category($categoryt); + //查询所有分类 + $categorys = $this->db->select("on_categorys",[ + "name", + "id", + "fid" + ]); + // var_dump($categorys); + // exit; + //链接计数 + $i = 0; + //统计链接总数 + $count = count($data); + //批量导入链接 + foreach ($data as $key => $value) { + $category_name = trim($value['category']); + //如果链接的分类是空的,则设置为默认分类 + $category_name = empty( $category_name ) ? "默认分类" : $category_name; + + foreach ($categorys as $category) { + if( trim( $category['name'] ) == $category_name ) { + $fid = intval($category['id']); + break; + } + } + + //合并数据 + $link_data = [ + 'fid' => $fid, + 'title' => htmlspecialchars($value['title']), + 'url' => htmlspecialchars($value['url'],ENT_QUOTES), + 'add_time' => time(), + 'weight' => 0, + 'property' => $property + ]; + + //插入数据库 + $re = $this->db->insert('on_links',$link_data); + //返回影响行数 + $row = $re->rowCount(); + if ($row) { + $i++; + } + } + //删除书签文件 + unlink($filename); + $this->return_json(200,"success",[ + "count" => $count, + "success" => $i, + "failed" => $count - $i + ]); + + } + /** + * 批量创建分类 + * 接收一个一维数组 + */ + protected function batch_create_category($category_name) { + $i = 0; + foreach ($category_name as $key => $value) { + $value = empty($value) ? "默认分类" : $value; + $data = [ + 'name' => trim($value), + 'add_time' => time(), + 'weight' => 0, + 'property' => 1, + 'description' => "书签导入时自动创建", + 'fid' => 0 + ]; + try { + //插入分类目录 + $this->db->insert("on_categorys",$data); + $i++; + } catch (\Throwable $th) { + continue; + } + + } + return $i; + } + + /** + * 书签上传 + * type:上传类型,默认为上传书签,后续类型保留使用 + */ + public function upload($token,$type){ + $this->auth($token); + if ($_FILES["file"]["error"] > 0) + { + $this->err_msg(-1015,'File upload failed!'); + } + else + { + $filename = $_FILES["file"]["name"]; + //获取文件后缀 + $suffix = explode('.',$filename); + $suffix = strtolower(end($suffix)); + + //临时文件位置 + $temp = $_FILES["file"]["tmp_name"]; + if( $suffix != 'html' ) { + //删除临时文件 + unlink($filename); + $this->err_msg(-1014,'Unsupported file suffix name!'); + } + + if( copy($temp,'data/'.$filename) ) { + $data = [ + 'code' => 0, + 'file_name' => 'data/'.$filename + ]; + exit(json_encode($data)); + } + } + } + /** + * name:通用上传接口 + * @param1:指定上传路径 + * @param2:指定允许的后缀名称,是一个数组 + */ + public function general_upload($path,$suffixs){ + // 验证权限 + $this->auth($token); + // 存在错误,上传失败 + if ($_FILES["file"]["error"] > 0) + { + $this->err_msg(-1015,'File upload failed!'); + } + else + { + $filename = $_FILES["file"]["name"]; + //获取文件后缀 + $suffix = explode('.',$filename); + $suffix = strtolower(end($suffix)); + + //临时文件位置 + $temp = $_FILES["file"]["tmp_name"]; + + // 遍历$suffixs后缀文件,判断是否允许 + foreach ($suffixs as $key => $value) { + if( $suffix == $value ) { + $allow = true; + break; + } + } + + // 如果是不允许的文件,则删除 + if( $allow !== TRUE ) { + //删除临时文件 + unlink($filename); + $this->err_msg(-1014,'Unsupported file suffix name!'); + } + + // 如果是允许的文件,则移动到指定目录,path格式为data/ + if( copy($temp,$path.$filename) ) { + $data = [ + 'code' => 0, + 'file_name' => $path.$filename + ]; + exit(json_encode($data)); + } + else{ + // 复制文件失败了 + $this->err_msg(-2000,'上传失败,请检查' + $path + '目录权限!'); + } + } + } + + /** + * 图标上传 + * type:上传类型 + */ + public function uploadImages($token){ + $this->auth($token); + //获取icon名称 + $icon_name = $_POST['icon_name']; + //获取老文件名称,然后删除 + $old_pic = $_POST['old_pic']; + //如果老文件名称合法,则删除 + $pattern = "/^data\/upload\/[0-9]+\/[0-9a-zA-Z]+\.(jpg|jpeg|png|bmp|gif|svg)$/"; + //如果名称不合法,则终止执行 + if( preg_match($pattern,$old_pic) ){ + @unlink($old_pic); + } + + //如果名称是空的 + if( empty($icon_name) ) { + $this->return_json(-2000,'','获取图标名称失败!'); + } + + if ($_FILES["file"]["error"] > 0) + { + //$this->err_msg(-1015,'File upload failed!'); + $this->return_json(-2000,'','File upload failed!'); + } + else + { + //根据时间生成文件名 + $filename = $_FILES["file"]["name"]; + //获取文件后缀 + $suffix = explode('.',$filename); + $suffix = strtolower(end($suffix)); + + //临时文件位置 + $temp = $_FILES["file"]["tmp_name"]; + if( $suffix != 'ico' && $suffix != 'jpg' && $suffix != 'jpeg' && $suffix != 'png' && $suffix != 'bmp' && $suffix != 'gif' && $suffix != 'svg' ) { + //删除临时文件 + @unlink($filename); + @unlink($temp); + $this->return_json(-2000,'','Unsupported file suffix name!'); + } + + //上传路径,格式为data/upload/202212/1669689755.png + $upload_path = "data/upload/".date( "Ym", time() ).'/'.$icon_name.'.'.$suffix; + + //如果目录不存在,则创建 + $upload_dir = dirname($upload_path); + if( !is_dir( $upload_dir ) ) { + //递归创建目录 + mkdir($upload_dir,0755,true); + } + + //$newfilename = 'upload/'.time().'.'.$suffix; + //移动临时文件到指定上传路径 + if( move_uploaded_file($temp,$upload_path) ) { + $data = [ + 'file_name' => $upload_path + ]; + $this->return_json(200,$data,'success'); + } + else{ + $this->return_json(-2000,'','上传失败,请检查目录权限!'); + } + } + } + + /** + * 导出HTML链接进行备份 + */ + public function export_link(){ + //鉴权 + $this->auth($token); + //查询所有分类 + $categorys = $this->db->select("on_categorys","*"); + + //定义一个空数组用来存储查询后的数据 + $data = []; + + //遍历分类 + foreach ($categorys as $key => $category) { + //查询该分类下的所有链接 + $links = $this->db->select("on_links","*",[ + "fid" => $category['id'] + ]); + // echo $category['name']; + // var_dump($links); + // exit; + //组合为一个一维数组 + + $arr[$category['name']] = $links; + // var_dump(); + // exit; + $data[$category['name']] = $arr[$category['name']]; + + //清除临时数据 + unset($arr); + } + //返回数据 + return $data; + } + /** + * name:修改链接 + */ + public function edit_link($token,$id,$fid,$title,$url,$description = '',$weight = 0,$property = 0,$url_standby = '',$font_icon = ''){ + $this->auth($token); + $fid = intval($fid); + /** + * name:获取更新类型 + * description:主要是因为兼容部分之前老的接口,老的接口不用变动,只能从OneNav后台添加图标,因此增加type判断是否是OneNav后台 + * console:指从OneNav后台进行更新 + */ + $type = trim($_GET['type']); + //检测链接是否合法 + //$this->check_link($fid,$title,$url); + $this->check_link([ + 'fid' => $fid, + 'title' => htmlspecialchars($title,ENT_QUOTES), + 'url' => $url, + 'url_standby' => $url_standby + ]); + //查询ID是否存在 + $count = $this->db->count('on_links',[ 'id' => $id]); + //如果id不存在 + if( (empty($id)) || ($count == false) ) { + $this->err_msg(-1012,'link id not exists!'); + } + //合并数据 + $data = [ + 'fid' => $fid, + 'title' => htmlspecialchars($title,ENT_QUOTES), + 'url' => $url, + 'url_standby' => $url_standby, + 'description' => htmlspecialchars($description,ENT_QUOTES), + 'up_time' => time(), + 'weight' => $weight, + 'property' => $property + ]; + + if( !empty($font_icon) ) { + $data['font_icon'] = $font_icon; + } + //如果是从OneNav后台更新,则无论如何都要加上font_icon + if( $type === 'console' ) { + $data['font_icon'] = $font_icon; + } + //插入数据库 + $re = $this->db->update('on_links',$data,[ 'id' => $id]); + //返回影响行数 + $row = $re->rowCount(); + //如果为真 + if( $row ){ + $id = $this->db->id(); + $data = [ + 'code' => 0, + 'msg' => 'successful' + ]; + exit(json_encode($data)); + } + //如果插入失败 + else{ + $this->err_msg(-1011,'The URL already exists!'); + } + } + + /** + * name:单行链接修改 + */ + public function edit_link_row(){ + //验证授权 + $this->auth($token); + + // 获取POST请求中的JSON数据 + $json_data = file_get_contents('php://input'); + + // 解析JSON数据为PHP对象 + $obj = json_decode($json_data); + + $id = intval($obj->id); + $fid = intval($obj->fid); + + //查询ID是否存在 + $count = $this->db->count('on_links',[ 'id' => $id]); + //如果id不存在 + if( (empty($id)) || ($count == false) ) { + $this->err_msg(-1012,'link id not exists!'); + } + + // 拼接需要更新的数据 + $data = [ + 'title' => trim($obj->title), + 'weight' => intval($obj->weight) + ]; + + //插入数据库 + $re = $this->db->update('on_links',$data,[ 'id' => $id]); + //返回影响行数 + $row = $re->rowCount(); + //如果为真 + if( $row ){ + $id = $this->db->id(); + $data = [ + 'code' => 0, + 'msg' => 'successful' + ]; + exit(json_encode($data)); + } + //如果插入失败 + else{ + $this->err_msg(-1011,'The URL already exists!'); + } + } + + /** + * 删除链接 + */ + public function del_link($token,$id){ + //验证token是否合法 + $this->auth($token); + //查询ID是否存在 + $count = $this->db->count('on_links',[ 'id' => $id]); + //如果id不存在 + if( (empty($id)) || ($count == false) ) { + $this->err_msg(-1010,'link id not exists!'); + } + else{ + $re = $this->db->delete('on_links',[ 'id' => $id] ); + if($re) { + $data = [ + 'code' => 0, + 'msg' => 'successful' + ]; + exit(json_encode($data)); + } + else{ + $this->err_msg(-1010,'link id not exists!'); + } + } + } + /** + * 验证链接合法性 + * 接收一个数组作为参数 + */ + protected function check_link($data){ + $fid = $data['fid']; + $title = $data['title']; + $url = $data['url']; + $url_standby = @$data['url_standby']; + + //如果父及(分类)ID不存在 + if( empty($fid )) { + $this->err_msg(-1007,'The category id(fid) not exist!'); + } + //如果父及ID不存在数据库中 + //验证分类目录是否存在 + $count = $this->db->count("on_categorys", [ + "id" => $fid + ]); + if ( empty($count) ){ + $this->err_msg(-1007,'The category not exist!'); + } + //如果链接标题为空 + if( empty($title) ){ + $this->err_msg(-1008,'The title cannot be empty!'); + } + //链接不能为空 + if( empty($url) ){ + $this->err_msg(-1009,'URL cannot be empty!'); + } + //通过正则匹配链接是否合法,支持http/https/ftp/magnet:?|ed2k|tcp/udp/thunder/rtsp/rtmp/sftp + $pattern = "/^(http:\/\/|https:\/\/|ftp:\/\/|ftps:\/\/|magnet:?|ed2k:\/\/|tcp:\/\/|udp:\/\/|thunder:\/\/|rtsp:\/\/|rtmp:\/\/|sftp:\/\/).+/"; + // if( !filter_var($url, FILTER_VALIDATE_URL) ) { + // $this->err_msg(-1010,'URL is not valid!'); + // } + if ( !preg_match($pattern,$url) ) { + $this->err_msg(-1010,'URL is not valid!'); + } + //备用链接不合法 + if ( ( !empty($url_standby) ) && ( !preg_match($pattern, $url_standby) ) ) { + $this->err_msg(-1010,'URL is not valid!'); + } + return true; + } + /** + * 查询分类目录 + */ + public function category_list($page,$limit){ + $token = @$_POST['token']; + $offset = ($page - 1) * $limit; + /** + * name:如果成功登录,则查询所有 + * + */ + + //如果使用cookie登录成功,或者token不为空,则使用token进行验证 + if( $this->is_login() || ( !empty($token) && $this->auth($token) ) ){ + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = a.fid LIMIT 1) AS fname,(SELECT COUNT(id) FROM on_links WHERE fid = a.id) AS link_num FROM on_categorys as a ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + //统计总数 + $count = $this->db->count('on_categorys','*'); + } + //如果存在token,则验证 + else if( !empty($token) ) { + $this->auth($token); + //查询所有分类 + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = a.fid LIMIT 1) AS fname,(SELECT COUNT(id) FROM on_links WHERE fid = a.id) AS link_num FROM on_categorys as a ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + //统计总数 + $count = $this->db->count('on_categorys','*'); + } + else{ + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = a.fid LIMIT 1) AS fname,(SELECT COUNT(id) FROM on_links WHERE fid = a.id) AS link_num FROM on_categorys as a WHERE property = 0 ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + //统计总数 + $count = $this->db->count('on_categorys','*',[ + "property" => 0 + ]); + } + + //原生查询 + $datas = $this->db->query($sql)->fetchAll(); + $datas = [ + 'code' => 0, + 'msg' => '', + 'count' => $count, + 'data' => $datas + ]; + exit(json_encode($datas)); + } + /** + * 生成 + */ + public function create_sk() { + //验证是否登录 + $this->auth(''); + $sk = md5(USER.USER.time()); + + $result = $this->set_option_bool('SecretKey',$sk); + if( $result ){ + $datas = [ + 'code' => 0, + 'data' => $sk + ]; + exit(json_encode($datas)); + } + else{ + $this->err_msg(-2000,'SecretKey生成失败!'); + } + + } + /** + * 查询链接 + * 接收一个数组作为参数 + */ + public function link_list($data){ + $limit = $data['limit']; + $token = $data['token']; + $offset = ($data['page'] - 1) * $data['limit']; + //$fid = @$data['category_id']; + $count = $this->db->count('on_links','*'); + + //如果成功登录,但token为空,获取所有 + if( $this->is_login() || ( !empty($token) && $this->auth($token) ) ){ + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = on_links.fid) AS category_name FROM on_links ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + } + + //如果token验证通过 + elseif( (!empty($token)) && ($this->auth($token)) ) { + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = on_links.fid) AS category_name FROM on_links ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + } + //如果通过header传递的token验证成功,则获取所有 + // else if( $this->auth("") === TRUE ) { + // $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = on_links.fid) AS category_name FROM on_links ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + // } + //如果即没有登录成功,又没有token,则默认为游客,游客查询链接属性为公有,分类为公有,不查询私有 + else{ + $c_sql = "SELECT COUNT(*) AS num FROM on_links WHERE property = 0 AND fid IN (SELECT id FROM on_categorys WHERE property = 0)"; + $count = $this->db->query($c_sql)->fetchAll()[0]['num']; + $count = intval($count); + + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = on_links.fid) AS category_name FROM on_links WHERE property = 0 AND fid IN (SELECT id FROM on_categorys WHERE property = 0) ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + } + + + //原生查询 + $datas = $this->db->query($sql)->fetchAll(); + $datas = [ + 'code' => 0, + 'msg' => '', + 'count' => $count, + 'data' => $datas + ]; + exit(json_encode($datas)); + } + /** + * 查询某个分类下面的链接 + * 接收一个数组作为参数 + */ + public function q_category_link($data){ + $limit = $data['limit']; + $token = $data['token']; + $offset = ($data['page'] - 1) * $data['limit']; + $fid = @$data['category_id']; + //$fid = @$data['category_id']; + $count = $this->db->count('on_links','*',[ + 'fid' => $fid + ]); + + //如果FID是空的,则直接终止 + if( empty($fid) ) { + $datas = [ + 'code' => -2000, + 'msg' => '分类ID不能为空!', + 'count' => 0, + 'data' => [] + ]; + exit(json_encode($datas)); + } + + //如果成功登录,但token为空 + if( ($this->is_login()) && (empty($token)) ){ + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = on_links.fid) AS category_name FROM on_links WHERE fid = $fid ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + } + //通过header获取token成功 + // else if( $this->auth("") ) { + // $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = on_links.fid) AS category_name FROM on_links WHERE fid = $fid ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + // } + + //如果token验证通过 + elseif( (!empty($token)) && ($this->auth($token)) ) { + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = on_links.fid) AS category_name FROM on_links WHERE fid = $fid ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + } + //如果即没有登录成功,又没有token,则默认为游客,游客查询链接属性为公有,分类为公有,不查询私有 + else{ + $c_sql = "SELECT COUNT(*) AS num FROM on_links WHERE property = 0 AND fid = $fid"; + $count = $this->db->query($c_sql)->fetchAll()[0]['num']; + $count = intval($count); + + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = on_links.fid) AS category_name FROM on_links WHERE property = 0 AND fid = $fid ORDER BY weight DESC,id DESC LIMIT {$limit} OFFSET {$offset}"; + } + + + //原生查询 + $datas = $this->db->query($sql)->fetchAll(); + $datas = [ + 'code' => 0, + 'msg' => '', + 'count' => $count, + 'data' => $datas + ]; + exit(json_encode($datas)); + } + /** + * 查询单个链接 + * 此函数接收一个数组 + */ + public function get_a_link($data) { + $id = $data['id']; + $token = $data['token']; + $link_info = $this->db->get("on_links","*",[ + "id" => $id + ]); + //打印链接信息 + //var_dump($link_info); + //如果是公开链接,则直接返回 + if ( $link_info['property'] == "0" ) { + //链接是公开的,但是分类是私有的,则不显示 + $category_property = $this->db->get("on_categorys","property",[ + "id" => $link_info['fid'] + ]); + $category_property = intval($category_property); + //分类属性为1,则说明是私有链接,则未认证用户不允许查询 + if( $category_property === 1 ){ + //进行认证 + $this->auth($token); + } + $datas = [ + 'code' => 0, + 'data' => $link_info + ]; + + } + //如果是私有链接,并且认证通过 + elseif( $link_info['property'] == "1" ) { + if ( ( $this->auth($token) ) || ( $this->is_login() ) ) { + $datas = [ + 'code' => 0, + 'data' => $link_info + ]; + } + + //exit(json_encode($datas)); + } + //如果是其它情况,则显示为空 + else{ + $datas = [ + 'code' => 0, + 'data' => [] + ]; + //exit(json_encode($datas)); + } + exit(json_encode($datas)); + } + /** + * 查询单个分类信息 + * 此函数接收一个数组 + */ + public function get_a_category($data) { + $id = $data['id']; + $token = $data['token']; + + $category_info = $this->db->get("on_categorys","*",[ + "id" => $id + ]); + + //var_dump($category_info); + + //如果是公开分类,则直接返回 + if ( $category_info['property'] == "0" ) { + $datas = [ + 'code' => 0, + 'data' => $category_info + ]; + + } + //如果是私有链接,并且认证通过 + elseif( $category_info['property'] == "1" ) { + if ( ( $this->auth($token) ) || ( $this->is_login() ) ) { + $datas = [ + 'code' => 0, + 'data' => $category_info + ]; + } + + //exit(json_encode($datas)); + } + //如果是其它情况,则显示为空 + else{ + $datas = [ + 'code' => 0, + 'data' => [] + ]; + //exit(json_encode($datas)); + } + exit(json_encode($datas)); + } + /** + * 验证是否登录 + */ + protected function is_login(){ + $key = md5(USER.PASSWORD.'onenav'.$_SERVER['HTTP_USER_AGENT']); + //获取session + $session = $_COOKIE['key']; + //如果已经成功登录 + if($session == $key) { + return true; + } + else{ + return false; + } + } + /** + * 获取链接信息 + */ + public function get_link_info($token,$url){ + $this->auth($token); + //检查链接是否合法 + $pattern = "/^(http:\/\/|https:\/\/).*/"; + //链接不合法 + if( empty($url) ) { + $this->err_msg(-2000,'URL不能为空!'); + } + if( !preg_match($pattern,$url) ){ + $this->err_msg(-1010,'只支持识别http/https协议的链接!'); + } + else if( !filter_var($url, FILTER_VALIDATE_URL) ) { + $this->err_msg(-2000,'只支持识别http/https协议的链接!'); + } + //获取网站标题 + $c = curl_init(); + curl_setopt($c, CURLOPT_URL, $url); + curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($c, CURLOPT_SSL_VERIFYHOST, false); + //设置超时时间 + curl_setopt($c , CURLOPT_TIMEOUT, 10); + $data = curl_exec($c); + curl_close($c); + $pos = strpos($data,'utf-8'); + if($pos===false){$data = iconv("gbk","utf-8",$data);} + preg_match("/(.*)<\/title>/i",$data, $title); + + $link['title'] = $title[1]; + + //获取网站描述 + $tags = get_meta_tags($url); + $link['description'] = $tags['description']; + + $data = [ + 'code' => 0, + 'data' => $link + ]; + exit(json_encode($data)); + } + /** + * 自定义js + */ + public function add_js($token,$content){ + $this->auth($token); + //如果内容为空 + // if( $content == '' ){ + // $this->err_msg(-1013,'The content cannot be empty!'); + // } + //写入文件 + try{ + file_put_contents("data/extend.js",$content); + $data = [ + 'code' => 0, + 'data' => 'success' + ]; + exit(json_encode($data)); + } + catch(Exception $e){ + $this->err_msg(-2000,$e->getMessage()); + } + } + /** + * 获取IP + */ + //获取访客IP + protected function getIP() { + if (getenv('HTTP_CLIENT_IP')) { + $ip = getenv('HTTP_CLIENT_IP'); + } + elseif (getenv('HTTP_X_FORWARDED_FOR')) { + $ip = getenv('HTTP_X_FORWARDED_FOR'); + } + elseif (getenv('HTTP_X_FORWARDED')) { + $ip = getenv('HTTP_X_FORWARDED'); + } + elseif (getenv('HTTP_FORWARDED_FOR')) { + $ip = getenv('HTTP_FORWARDED_FOR'); + } + elseif (getenv('HTTP_FORWARDED')) { + $ip = getenv('HTTP_FORWARDED'); + } + else { + $ip = $_SERVER['REMOTE_ADDR']; + } + return $ip; + } + + /** + * name:检查弱密码 + */ + public function check_weak_password($token){ + $this->auth($token); + //如果用户名、密码为初始密码,则提示修改 + if ( ( USER == 'xiaoz' ) && ( PASSWORD == 'xiaoz.me' ) ) { + $this->err_msg(-1,'Weak password!'); + } + } + /** + * 获取SQL更新列表 + * 循环读取db/sql/目录下的.sql文件 + */ + public function get_sql_update_list($data) { + //鉴权 + if( !$this->is_login() ) { + $this->err_msg(-1002,'Authorization failure!'); + } + //待更新的数据库文件目录 + $sql_dir = 'db/sql/'; + //待更新的sql文件列表,默认为空 + $sql_files_all = []; + //打开一个目录,读取里面的文件列表 + if (is_dir($sql_dir)){ + if ($dh = opendir($sql_dir)){ + while (($file = readdir($dh)) !== false){ + //排除.和.. + if ( ($file != ".") && ($file != "..") ) { + array_push($sql_files_all,$file); + + } + } + //关闭句柄 + closedir($dh); + } + } + //判断数据库日志表是否存在 + $sql = "SELECT count(*) AS num FROM sqlite_master WHERE type='table' AND name='on_db_logs'"; + //查询结果 + $q_result = $this->db->query($sql)->fetchAll(); + //如果数量为0,则说明on_db_logs这个表不存在,需要提前导入 + $num = intval($q_result[0]['num']); + if ( $num === 0 ) { + $data = [ + "code" => 0, + "data" => ['on_db_logs.sql'] + ]; + exit(json_encode($data)); + }else{ + //如果不为0,则需要查询数据库更新表里面的数据进行差集比对 + $get_on_db_logs = $this->db->select("on_db_logs",[ + "sql_name" + ],[ + "status" => "TRUE" + ]); + //声明一个空数组,存储已更新的数据库列表 + $already_dbs = []; + foreach ($get_on_db_logs as $value) { + array_push($already_dbs,$value['sql_name']); + } + + //array_diff() 函数返回两个数组的差集数组 + $diff_result = array_diff($sql_files_all,$already_dbs); + //去掉键 + $diff_result = array_values($diff_result); + sort($diff_result); + + $data = [ + "code" => 0, + "data" => $diff_result + ]; + exit(json_encode($data)); + } + + } + /** + * 执行SQL更新语句,只执行单条更新 + */ + public function exe_sql($data) { + //鉴权 + if( !$this->is_login() ) { + $this->err_msg(-1002,'Authorization failure!'); + } + //数据库sql目录 + $sql_dir = 'db/sql/'; + $name = $data['name']; + //查询sql是否已经执行过 + $count = $this->db->count("on_db_logs",[ + "sql_name" => $name + ]); + if( $count >= 1 ) { + $this->err_msg(-2000,$name."已经更新过!"); + } + $sql_name = $sql_dir.$name; + //如果文件不存在,直接返回错误 + if ( !file_exists($sql_name) ) { + $this->err_msg(-2000,$name.'不存在!'); + } + //读取需要更新的SQL内容 + try { + //读取一个SQL文件,并将单个SQL文件拆分成单条SQL语句循环执行 + switch ($name) { + case '20220414.sql': + $sql_content = explode("\n",file_get_contents($sql_name)); + break; + default: + $sql_content = explode(';',file_get_contents($sql_name)); + break; + } + + //计算SQL总数 + $num = count($sql_content) - 1; + //初始数量设置为0 + $init_num = 0; + //遍历执行SQL语句 + foreach ($sql_content as $sql) { + //如果SQL为空,则跳过此次循环不执行 + if( empty($sql) ) { + continue; + } + $result = $this->db->query($sql); + //只要单条SQL执行成功了就增加初始数量 + if( $result ) { + $init_num++; + } + } + + //无论最后结果如何,都将更新信息写入数据库 + $insert_re = $this->db->insert("on_db_logs",[ + "sql_name" => $name, + "update_time" => time(), + "status" => "TRUE" + ]); + if( $insert_re ) { + $data = [ + "code" => 0, + "data" => $name."更新完成!总数${num},成功:${init_num}" + ]; + exit(json_encode($data)); + } + else { + $this->err_msg(-2000,$name."更新失败,请人工检查!"); + } + + } catch(Exception $e){ + $this->err_msg(-2000,$e->getMessage()); + } + } + /** + * 保存主题参数 + */ + public function save_theme_config($data) { + $this->auth($token); + //获取主题名称 + $name = $data['name']; + //获取config参数,是一个对象 + $config = $data['config']; + + //获取主题配置文件config.json + if ( is_dir("templates/".$name) ) { + $config_file = "templates/".$name."/config.json"; + } + else{ + $config_file = "data/templates/".$name."/config.json"; + } + + $config_content = json_encode($config,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT); + //写入配置 + try { + $re = @file_put_contents($config_file,$config_content); + $this->return_json(0,"success"); + } catch (\Throwable $th) { + $this->err_msg(-2000,"写入配置失败!"); + } + } + /** + * 删除主题 + */ + public function delete_theme($name) { + //验证授权 + $this->auth($token); + //正则判断主题名称是否合法 + $pattern = "/^[a-zA-Z0-9][a-zA-Z0-9-_]+[a-zA-Z0-9]$/"; + if ( !preg_match($pattern,$name) ) { + $this->return_json(-2000,'',"主题名称不合法!"); + } + //如果是默认主题,则不允许删除 + if( ($name === 'default') || ($name === 'admin') ) { + $this->return_json(-2000,'',"默认主题不允许删除!"); + } + //查询当前使用中的主题 + $current_theme = $this->db->get('on_options','value',[ 'key' => "theme" ]); + //如果是当前使用中的主题也不允许删除 + if ( $current_theme == $name ) { + $this->return_json(-2000,'',"使用中的主题不允许删除!"); + } + //删除主题 + $this->deldir("templates/".$name); + + $this->deldir("data/templates/".$name); + //判断主题文件夹是否还存在 + if( is_dir("templates/".$name) || is_dir("data/templates/".$name) ) { + $this->return_json(-2000,'',"删除失败,可能是权限不足!"); + } + else{ + $this->return_json(200,'',"主题已删除!"); + } + } + /** + * 删除一个目录 + */ + protected function deldir($dir) { + //先删除目录下的文件: + $dh=opendir($dir); + while ($file=readdir($dh)) { + if($file!="." && $file!="..") { + $fullpath=$dir."/".$file; + if(!is_dir($fullpath)) { + unlink($fullpath); + } else { + $this->deldir($fullpath); + } + } + } + + closedir($dh); + //删除当前文件夹: + if(rmdir($dir)) { + return true; + } else { + return false; + } + } + /** + * 获取主题参数 + */ + public function get_theme_config() { + $template = $this->db->get("on_options","value",[ + "key" => "theme" + ]); + //获取主题配置信息 + //获取主题配置 + if( file_exists("templates/".$template."/config.json") ) { + $config_file = "templates/".$template."/config.json"; + } + else if( file_exists("data/templates/".$template."/config.json") ) { + $config_file = "data/templates/".$template."/config.json"; + } + else if( file_exists("templates/".$template."/info.json") ) { + $config_file = "templates/".$template."/info.json"; + } + else { + $config_file = "data/templates/".$template."/info.json"; + } + + //读取主题配置 + $config_content = @file_get_contents($config_file); + + //如果是info.json,则特殊处理下 + if ( strstr($config_file,"info.json") ) { + $config_content = json_decode($config_content); + $theme_config = $config_content->config; + } + else{ + $theme_config = $config_content; + $theme_config = json_decode($theme_config); + } + + $this->return_json(200,$theme_config,""); + } + /** + * 通用json消息返回 + */ + public function return_json($code,$data,$msg = "") { + $return = [ + "code" => intval($code), + "data" => $data, + "msg" => $msg + ]; + exit(json_encode($return)); + } + /** + * 更新option + */ + public function set_option($key,$value = '') { + $key = htmlspecialchars(trim($key)); + //如果key是空的 + if( empty($key) ) { + $this->err_msg(-2000,'键不能为空!'); + } + //鉴权 + if( !$this->is_login() ) { + $this->err_msg(-1002,'Authorization failure!'); + } + + $count = $this->db->count("on_options", [ + "key" => $key + ]); + + //如果数量是0,则插入,否则就是更新 + if( $count === 0 ) { + try { + $this->db->insert("on_options",[ + "key" => $key, + "value" => $value + ]); + $data = [ + "code" => 0, + "data" => "设置成功!" + ]; + exit(json_encode($data)); + } catch (\Throwable $th) { + $this->err_msg(-2000,$th); + } + } + //更新数据 + else if( $count === 1 ) { + try { + $this->db->update("on_options",[ + "value" => $value + ],[ + "key" => $key + ]); + $data = [ + "code" => 0, + "data" => "设置已更新!" + ]; + exit(json_encode($data)); + } catch (\Throwable $th) { + $this->err_msg(-2000,$th); + } + } + + } + /** + * 更新option,返回BOOL值 + */ + protected function set_option_bool($key,$value = '') { + $key = htmlspecialchars(trim($key)); + //如果key是空的 + if( empty($key) ) { + return FALSE; + } + + $count = $this->db->count("on_options", [ + "key" => $key + ]); + + //如果数量是0,则插入,否则就是更新 + if( $count === 0 ) { + try { + $this->db->insert("on_options",[ + "key" => $key, + "value" => $value + ]); + $data = [ + "code" => 0, + "data" => "设置成功!" + ]; + return TRUE; + } catch (\Throwable $th) { + return FALSE; + } + } + //更新数据 + else if( $count === 1 ) { + try { + $this->db->update("on_options",[ + "value" => $value + ],[ + "key" => $key + ]); + $data = [ + "code" => 0, + "data" => "设置已更新!" + ]; + return TRUE; + } catch (\Throwable $th) { + return FALSE; + } + } + + } + /** + * 用户状态 + */ + public function check_login($token){ + $re = $this->auth($token); + + if( $re ) { + $this->return_json(200,"true","success"); + } + } + /** + * 验证订阅是否有效 + */ + public function check_subscribe() { + //验证token是否合法 + $this->auth($token); + //获取订阅信息 + //获取当前站点信息 + $subscribe = $this->db->get('on_options','value',[ 'key' => "s_subscribe" ]); + $domain = $_SERVER['HTTP_HOST']; + + $subscribe = unserialize($subscribe); + //api请求地址 + $api_url = API_URL."/v1/check_subscribe.php?order_id=".$subscribe['order_id']."&email=".$subscribe['email']."&domain=".$domain; + + try { + #GET HTTPS + $curl = curl_init($api_url); + #设置useragent + curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36"); + curl_setopt($curl, CURLOPT_FAILONERROR, true); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + #设置超时时间,最小为1s(可选) + curl_setopt($curl , CURLOPT_TIMEOUT, 30); + + $html = curl_exec($curl); + curl_close($curl); + //解析json + $data = json_decode($html); + //var_dump($data->data->end_time); + //echo strtotime($data->data->end_time); + //var_dump($data->code); + //如果状态码返回200,并且订阅没有到期 + if( (intval($data->code) === 200) && ( $data->data->end_time > ( strtotime( date("Y-m-d",time()) ) )) ) { + $this->return_json(200,$data->data,'success'); + } + else if( intval($data->code === -1000 ) ) { + $this->return_json(-2000,'',$data->msg); + } + else{ + $this->return_json(-2000,'',"请求接口失败,请重试!"); + } + } catch (\Throwable $th) { + $this->return_json(-2000,'','网络请求失败,请重试!'); + } + } + /** + * 下载主题 + */ + public function down_theme($data) { + //主题名称 + $name = $data['name']; + //key-value + $key = $data['key']; + $value = $data['value']; + //拼接主题URL + $url = API_URL."/v1/down_theme.php?name=${name}&key=${key}&value=${value}"; + //验证token是否合法 + $this->auth($token); + //检查主题是否已经存在 + if ( $data['type'] == 'download' ) { + $theme1 = "templates/".$name; + $theme2 = "data/templates/".$name; + + if( is_dir($theme1) || is_dir($theme2) ) { + $this->return_json(-2000,'','主题已存在,无需重复下载!'); + } + } + //如果返回404状态 + $res = get_headers($url,1); + if( strstr($res[0],'404') ) { + $this->return_json(-2000,'','远程服务器上不存在此主题!'); + } + //判断主题目录是否存在,如果curl_host是alpine,则视为容器,容器则将主题目录设置为data/templates + $curl_host = curl_version()['host']; + if( strstr($curl_host,'alpine') ) { + $theme_dir = "data/templates"; + } + else{ + $theme_dir = "templates"; + } + //主题完整压缩包路径 + $file_name = $theme_dir."/${name}.tar.gz"; + if( !is_dir($theme_dir) ) { + mkdir($theme_dir,0755); + } + + //尝试下载主题 + try { + //下载主题,并设置超时时间为120s + $content = $this->curl_get($url,120); + //写入主题 + $re = file_put_contents($theme_dir."/${name}.tar.gz",$content); + //如果写入主题失败了,说明权限不粗糙 + if( !$re ) { + $this->return_json(-2000,'','主题写入失败,请检查目录权限!'); + } + else{ + //解压文件 + $phar = new PharData($file_name); + //路径 要解压的文件 是否覆盖 + $phar->extractTo($theme_dir."/${name}", null, true); + //删除主题 + unlink($file_name); + $this->return_json(200,'','主题下载成功!'); + } + + } catch (\Throwable $th) { + $this->return_json(-2000,'','主题下载失败,请检查目录权限!'); + } + finally{ + unlink($file_name); + } + + } + /** + * 验证订阅是否存在 + */ + public function is_subscribe() { + //获取订阅SESSION状态 + session_start(); + //获取session订阅状态 + $is_subscribe = $_SESSION['subscribe']; + //如果订阅是空的,则请求接口获取订阅状态 + if ( !isset($is_subscribe) ) { + //获取当前站点信息 + $subscribe = $this->db->get('on_options','value',[ 'key' => "s_subscribe" ]); + $domain = $_SERVER['HTTP_HOST']; + + $subscribe = unserialize($subscribe); + //api请求地址 + $api_url = API_URL."/v1/check_subscribe.php?order_id=".$subscribe['order_id']."&email=".$subscribe['email']."&domain=".$domain; + try { + #GET HTTPS + $curl = curl_init($api_url); + #设置useragent + curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36"); + curl_setopt($curl, CURLOPT_FAILONERROR, true); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + #设置超时时间,最小为1s(可选) + curl_setopt($curl , CURLOPT_TIMEOUT, 30); + + $html = curl_exec($curl); + curl_close($curl); + //解析json + $data = json_decode($html); + //var_dump($data->data->end_time); + //echo strtotime($data->data->end_time); + //var_dump($data->code); + //如果状态码返回200,并且订阅没有到期 + if( (intval($data->code) === 200) && ( $data->data->end_time > ( strtotime( date("Y-m-d",time()) ) )) ) { + $_SESSION['subscribe'] = TRUE; + return TRUE; + } + else if( intval($data->code === -1000 ) ) { + $_SESSION['subscribe'] = FALSE; + return FALSE; + } + else{ + $_SESSION['subscribe'] = NULL; + } + } catch (\Throwable $th) { + $_SESSION['subscribe'] = NULL; + } + } + if( $is_subscribe == TRUE ) { + return TRUE; + } + else{ + return FALSE; + } + } + /** + * name:验证订阅,订阅不存在,则阻止 + */ + public function check_is_subscribe(){ + $result = $this->is_subscribe(); + + if( $result === FALSE ) { + $this->return_json(-2000,'','该功能需要订阅后才能使用!'); + } + else if( $result === TRUE ) { + return TRUE; + } + else{ + $this->return_json(-2000,'','该功能需要订阅后才能使用!'); + } + } + /** + * 无脑下载更新程序 + */ + public function down_updater() { + $url = API_URL."/update.tar.gz"; + // echo $url; + // exit; + try { + //检查本地是否存在更新程序 + $curl = curl_init($url); + #设置useragent + curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36"); + curl_setopt($curl, CURLOPT_FAILONERROR, true); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + #设置超时时间,最小为1s(可选) + curl_setopt($curl , CURLOPT_TIMEOUT, 60); + + $html = curl_exec($curl); + curl_close($curl); + //var_dump($html); + //return $html; + //写入文件 + file_put_contents("update.tar.gz",$html); + //解压覆盖文件 + //解压文件 + $phar = new PharData('update.tar.gz'); + //路径 要解压的文件 是否覆盖 + $phar->extractTo('./', null, true); + return TRUE; + } catch (\Throwable $th) { + $this->return_json(-2000,"","更新程序下载失败!"); + } + finally{ + //再次判断更新程序是否存在 + if( is_file("update.php") ) { + //判断是否大约0 + $file_size = filesize("update.php"); + if( $file_size < 100 ) { + $this->return_json(-2000,"","更新程序异常,请检查目录权限!"); + } + else{ + return TRUE; + } + } + else{ + $this->return_json(-2000,"","更新程序下载失败,请检查目录权限!"); + } + } + } + /**更新升级程序 */ + public function up_updater() { + + //如果不存在,则下载更新程序 + if( !is_file("update.php") ) { + if ( $this->down_updater() ) { + $this->return_json(200,"","更新程序准备就绪!"); + } + + } + //如果存在更新程序,验证大小,大小不匹配时进行更新 + if( is_file("update.tar.gz") ) { + //获取header头 + $header = get_headers(API_URL."/update.tar.gz",1); + $lentgh = $header['Content-Length']; + //获取文件大小 + $file_size = filesize("update.tar.gz"); + //如果本地文件大小和远程文件大小不一致,则下载更新 + if ( $file_size != $lentgh ) { + if ( $this->down_updater() ) { + //更新完毕后提示 + $this->return_json(200,"","更新程序更新完毕!"); + } + else{ + $this->return_json(-2000,"","更新程序下载失败,请检查目录权限!"); + } + + } + else { + $this->return_json(200,"","更新程序(压缩包)准备就绪!"); + } + } + else if( is_file("update.php") ) { + $this->return_json(200,"","更新程序(PHP)准备就绪!"); + } + else{ + $this->return_json(200,"","更新程序(其它)准备就绪!"); + } + } + /** + * 校验更新程序 + */ + public function check_version($version) { + //获取当前版本信息 + $current_version = explode("-",file_get_contents("version.txt")); + $current_version = str_replace("v","",$current_version[0]); + + //获取用户传递的版本 + //$version = $_REQUEST['version']; + + if( $version == $current_version ) { + $this->return_json(200,"","success"); + } + else{ + $this->return_json(-2000,"","更新失败,版本校验不匹配,请检查目录权限!"); + } + } + + //curl get请求 + protected function curl_get($url,$timeout = 10) { + $curl = curl_init($url); + #设置useragent + curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36"); + curl_setopt($curl, CURLOPT_FAILONERROR, true); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + #设置超时时间,最小为1s(可选) + curl_setopt($curl , CURLOPT_TIMEOUT, $timeout); + + $html = curl_exec($curl); + curl_close($curl); + return $html; + } + + /** + * name:数据库备份接口 + */ + public function backup_db(){ + //验证请求 + $this->auth($token); + + //验证订阅 + $this->check_is_subscribe(); + + $backup_dir = 'data/backup/'; + + //判断目录是否存在,不存在则创建 + if( !is_dir($backup_dir) ) { + try { + mkdir($backup_dir,0755); + } catch (\Throwable $th) { + $this->return_json(-2000,'','备份目录创建失败,请检查目录权限!'); + } + } + //尝试拷贝数据库进行备份 + try { + //获取当前版本信息 + $current_version = explode("-",file_get_contents("version.txt")); + $current_version = str_replace("v","",$current_version[0]); + $db_name = 'onenav_'.date("YmdHi",time()).'_'.$current_version.'.db3'; + $backup_db_path = $backup_dir.$db_name; + copy('data/onenav.db3',$backup_db_path); + $this->return_json(200,$db_name,'success'); + } catch (\Throwable $th) { + $this->return_json(-2000,'','备份目录创建失败,请检查目录权限!'); + } + + } + /** + * name:数据库备份列表 + */ + public function backup_db_list() { + //验证请求 + $this->auth($token); + //验证订阅 + $this->check_is_subscribe(); + + //备份目录 + $backup_dir = 'data/backup/'; + + //遍历备份列表 + $dbs = scandir($backup_dir); + $newdbs = $dbs; + + //去除.和.. + for ($i=0; $i < count($dbs); $i++) { + if( ($dbs[$i] == '.') || ($dbs[$i] == '..') ) { + unset($newdbs[$i]); + } + } + + //将删除后的数组重新赋值 + $dbs = $newdbs; + + //获取备份列表个数 + $num = count($dbs); + + //排序处理,按时间从大到小排序 + rsort($dbs,2); + + //如果大于10个,则删减为10个 + if( $num > 10 ) { + for ($i=$num; $i > 10; $i--) { + //物理删除数据库 + unlink($backup_dir.$dbs[$i-1]); + //删除数组最后一个元素 + array_pop($dbs); + } + $count = 10; + } + else{ + $count = $num; + } + + //声明一个空数组 + $data = []; + //遍历数据库,获取时间,大小 + foreach ($dbs as $key => $value) { + $arr['id'] = $key; + $arr['name'] = $value; + $arr['mtime'] = date("Y-m-d H:i:s",filemtime($backup_dir.$value)); + $arr['size'] = (filesize($backup_dir.$value) / 1024).'KB'; + + $data[$key] = $arr; + } + + $datas = [ + 'code' => 0, + 'msg' => '', + 'count' => $count, + 'data' => $data + ]; + exit(json_encode($datas)); + } + /** + * name:删除单个数据库备份 + * @param $name:数据库名称 + */ + public function del_backup_db($name) { + //验证请求 + $this->auth($token); + + //验证订阅 + $this->check_is_subscribe(); + + //使用正则表达式判断数据库名称是否合法 + $pattern = '/^onenav_[0-9\-]+_[0-9.]+(db3)$/'; + + if( !preg_match_all($pattern,$name) ) { + $this->return_json(-2000,'','数据库名称不合法!'); + } + + //数据库目录 + $backup_dir = 'data/backup/'; + + //删除数据库 + try { + unlink($backup_dir.$name); + $this->return_json(200,'',"备份数据库已被删除!"); + } catch (\Throwable $th) { + $this->return_json(-2000,'',"删除失败,请检查目录权限!"); + } + } + + /** + * name:恢复数据库备份 + * @param $name:备份数据库名称 + */ + public function restore_db($name) { + //验证请求 + $this->auth($token); + + //验证订阅 + $this->check_is_subscribe(); + + //使用正则表达式判断数据库名称是否合法 + $pattern = '/^onenav_[0-9\-]+_[0-9.]+(db3)$/'; + + if( !preg_match_all($pattern,$name) ) { + $this->return_json(-2000,'','数据库名称不合法!'); + } + + //数据库目录 + $backup_dir = 'data/backup/'; + + //恢复数据库 + try { + copy($backup_dir.$name,'data/onenav.db3'); + $this->return_json(200,'','数据库已回滚为'.$name); + } catch (\Throwable $th) { + $this->return_json(-2000,'',"回滚失败,请检查目录权限!"); + } + } + + /** + * name:获取OneNav信息 + */ + public function app_info($token) { + //验证请求 + $this->auth($token); + //获取PHP版本 + $data['php_version'] = PHP_VERSION; + //获取OneNav版本 + $data['onenav_version'] = file_get_contents("version.txt"); + //获取分类数量 + $data['cat_num'] = $this->db->count("on_categorys"); + //获取链接数量 + $data['link_num'] = $this->db->count("on_links"); + //获取用户名 + $data['username'] = USER; + + //返回JSON数据 + $this->return_json(200,$data,"success"); + } + + /** + * name:下载数据库 + */ + public function down_db($name) { + //验证请求 + $this->auth($token); + + //使用正则表达式判断数据库名称是否合法 + $pattern = '/^onenav_[0-9\-]+_[0-9.]+(db3)$/'; + + if( !preg_match_all($pattern,$name) ) { + $this->return_json(-2000,'','数据库名称不合法!'); + } + + //数据库目录 + $backup_dir = 'data/backup/'; + + //拼接数据库路径 + $full_path = $backup_dir.$name; + + if( !file_exists($full_path) ) { + header('HTTP/1.1 404 NOT FOUND'); + } + else{ + // 以只读和二进制模式打开文件 + $file = fopen($full_path, "rb"); + + // 告诉浏览器这是一个文件流格式的文件 + Header("Content-type: application/octet-stream"); + // 请求范围的度量单位 + Header("Accept-Ranges: bytes"); + // Content-Length是指定包含于请求或响应中数据的字节长度 + Header("Accept-Length: " . filesize($full_path)); + // 用来告诉浏览器,文件是可以当做附件被下载,下载后的文件名称为$file_name该变量的值。 + Header("Content-Disposition: attachment; filename=" . $name); + + // 读取文件内容并直接输出到浏览器 + echo fread($file, filesize($full_path)); + fclose($file); + + exit(); + } + + } + + /** + * name:创建分享 + */ + public function create_share($data) { + //验证请求 + $this->auth($token); + + //如果订阅不存在 + if ( $this->is_subscribe() === FALSE ) { + $this->return_json(-2000,'','此功能需要订阅后才能使用!'); + } + + //设置默认数据 + //随机8位分享ID + $data['sid'] = GetRandStr(8); + + /** + * 判断到期时间 + */ + //获取当前时间 + $c_time = strtotime( $data['add_time'] ); + $e_time = strtotime( $data['expire_time'] ); + + if( $c_time > $e_time ) { + $this->return_json(-2000,'','到期日期不能小于当前日期!'); + } + + /** + * 判断密码 + */ + if( strlen($data['password']) > 16 ) { + $this->return_json(-2000,'','密码长度不能超过16位!'); + } + $pattern = "/[A-Za-z0-9]{4,16}/"; + //var_dump(preg_match($pattern,$data['password'])); + if( !empty($data['password']) && !preg_match($pattern,$data['password']) ) { + $this->return_json(-2000,'','密码只能由4-16位字母和数字组成!'); + } + + //插入数据库 + $result = $this->db->insert("on_shares",$data); + + if( $result ) { + $this->return_json(200,'','success'); + } + else{ + $this->return_json(-2000,'','写入数据库失败!'); + } + } + /** + * 分享列表 + */ + public function share_list($data){ + //验证请求 + $this->auth($token); + + $limit = $data['limit']; + $offset = ($data['page'] - 1) * $data['limit']; + //$fid = @$data['category_id']; + $count = $this->db->count('on_shares','*'); + + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = on_shares.cid) AS category_name FROM on_shares ORDER BY id DESC LIMIT {$limit} OFFSET {$offset}"; + + + //原生查询 + $datas = $this->db->query($sql)->fetchAll(); + + $datas = [ + 'code' => 0, + 'msg' => '', + 'count' => $count, + 'data' => $datas + ]; + exit(json_encode($datas)); + } + + /** + * name:根据分享的SID查询指定分类下的所有链接 + */ + public function get_sid_links($data) { + //获得SID + $sid = $data['sid']; + //获得密码 + $password = $data['password']; + //判断SID是否合法 + $pattern = "/[A-Za-z0-9]{8}$/"; + + if( (strlen($sid) !== 8) || !preg_match($pattern,$sid) ) { + $this->return_json(-2000,'','SID不合法!'); + } + + //根据SID查询得到分类ID + $share_data = $this->db->get("on_shares","*",[ + "sid" => $sid + ]); + + //如果没有查询到数据 + if( empty($share_data) ) { + $this->return_json(-2000,'','SID不存在!'); + } + + $cid = $share_data['cid']; + + //查询分类名称 + $category_info = $this->db->get("on_categorys",["name"],[ + "id" => $cid + ]); + $category_name = $category_info["name"]; + + //如果链接已经过期 + $c_time = strtotime( date("Y-m-d H:i:s",time()) ); + + if ( $c_time > strtotime($share_data['expire_time']) ) { + $this->return_json(-2000,'','链接已过期!'); + } + //如果分享密码不为空,则验证密码 + if ( !empty($share_data['password']) && ( $share_data['password'] == $password) ) { + //根据分类ID(cid)查询该分类下的所有链接 + $results = $this->db->select("on_links","*",[ + "fid" => $cid, + "ORDER" => ["weight" => "DESC","id" => "DESC"] + ]); + + $data = [ + "category_name" => $category_name, + "expire_time" => $share_data["expire_time"], + "results" => $results + ]; + + $this->return_json(200,$data,'success'); + } + else if ( empty($share_data['password']) ) { + //根据分类ID(cid)查询该分类下的所有链接 + $results = $this->db->select("on_links","*",[ + "fid" => $cid, + "ORDER" => ["weight" => "DESC","id" => "DESC"] + ]); + + $data = [ + "category_name" => $category_name, + "expire_time" => $share_data["expire_time"], + "results" => $results + ]; + + $this->return_json(200,$data,'success'); + } + else{ + $this->return_json(401,'','密码错误!'); + } + + } + + /** + * name:删除分享 + */ + public function del_share($data) { + //验证请求 + $this->auth($token); + + $id = $data['id']; + + + + //如果id为空 + if( empty($id) ){ + $this->return_json(-2000,$results,'ID不能为空!'); + } + + $data = $this->db->delete('on_shares',[ 'id' => $id] ); + + if( $data ) { + $this->return_json(200,'','success'); + } + else{ + $this->return_json(-2000,'','删除失败!'); + } + + } + + /** + * name:获取站点信息,不需要授权 + */ + public function site_info() { + //获取当前站点信息 + $site = $this->db->get('on_options','value',[ 'key' => "s_site" ]); + $site = unserialize($site); + + $this->return_json(200,$site,'success'); + } + + /** + * name:删除链接图标 + */ + public function del_link_icon(){ + //验证授权 + $this->auth($token); + + //获取图标路径 + $icon_path = trim($_POST['icon_path']); + //正则判断路径是否合法 + $pattern = "/^data\/upload\/[0-9]+\/[0-9a-zA-Z]+\.(jpg|jpeg|png|bmp|gif|svg)$/"; + //如果名称不合法,则终止执行 + if( !preg_match($pattern,$icon_path) ){ + $this->return_json(-2000,'','非法路径!'); + } + + //继续执行 + //检查图标是否存在 + if( !is_file($icon_path) ) { + $this->return_json(-2000,'','图标文件不存在,无需删除!'); + } + + //执行删除操作 + if( unlink($icon_path) ) { + $this->return_json(200,'','success'); + } + else{ + $this->return_json(-2000,'','图标删除失败,请检查目录权限!'); + } + } + + /** + * name:优先使用POST获取数据,其次GET获取数据 + */ + protected function getData($param) { + if(isset($_POST[$param])) { + return $_POST[$param]; + } elseif(isset($_GET[$param])) { + return $_GET[$param]; + } else { + return null; + } + } + + /** + * name: 全局搜索 + */ + public function global_search() { + //验证授权 + $this->auth($token); + // 获取关键词 + $keyword = htmlspecialchars( $this->getData("keyword") ); + + // 判断关键词长度 + if( strlen($keyword) < 2 ) { + $this->return_json(-2000,'','The length of the keyword is too short.'); + } + else if( strlen($keyword) > 32 ) { + $this->return_json(-2000,'','The keyword length is too long'); + } + + $keyword = '%'.$keyword.'%'; + + // 通过标题、链接、备用链接、描述进行模糊匹配 + $data = $this->db->select('on_links', '*', [ + "OR" => [ + "title[~]" => $keyword, + "url[~]" => $keyword, + "url_standby[~]" => $keyword, + "description[~]" => $keyword, + ], + "ORDER" => [ + "weight" => "DESC" + ] + ]); + + + // 查询出分类名称 + $categorys = $this->db->select("on_categorys",[ + 'id', + 'name' + ]); + // 遍历分类,以id作为键名 + foreach ($categorys as $category) { + + $newCategorys[$category['id']] = $category['name']; + } + + // 遍历查询的数据,然后添加父级分类名称 + foreach ($data as $key => $value) { + $data[$key]['category_name'] = $newCategorys[$value['fid']]; + } + + // 返回数据 + $datas = [ + 'code' => 0, + 'msg' => '', + 'count' => count($data), + 'data' => $data + ]; + + exit( json_encode($datas) ); + } + +} + + diff --git a/class/Medoo.php b/class/Medoo.php new file mode 100755 index 0000000..0164591 --- /dev/null +++ b/class/Medoo.php @@ -0,0 +1,1852 @@ +<?php +/*! + * Medoo database framework + * https://medoo.in + * Version 1.7.10 + * + * Copyright 2020, Angel Lai + * Released under the MIT license + */ + +namespace Medoo; + +use PDO; +use Exception; +use PDOException; +use InvalidArgumentException; + +class Raw { + public $map; + public $value; +} + +class Medoo +{ + public $pdo; + + protected $type; + + protected $prefix; + + protected $statement; + + protected $dsn; + + protected $logs = []; + + protected $logging = false; + + protected $debug_mode = false; + + protected $guid = 0; + + protected $errorInfo = null; + + public function __construct(array $options) + { + if (isset($options[ 'database_type' ])) + { + $this->type = strtolower($options[ 'database_type' ]); + + if ($this->type === 'mariadb') + { + $this->type = 'mysql'; + } + } + + if (isset($options[ 'prefix' ])) + { + $this->prefix = $options[ 'prefix' ]; + } + + if (isset($options[ 'logging' ]) && is_bool($options[ 'logging' ])) + { + $this->logging = $options[ 'logging' ]; + } + + $option = isset($options[ 'option' ]) ? $options[ 'option' ] : []; + $commands = (isset($options[ 'command' ]) && is_array($options[ 'command' ])) ? $options[ 'command' ] : []; + + switch ($this->type) + { + case 'mysql': + // Make MySQL using standard quoted identifier + $commands[] = 'SET SQL_MODE=ANSI_QUOTES'; + + break; + + case 'mssql': + // Keep MSSQL QUOTED_IDENTIFIER is ON for standard quoting + $commands[] = 'SET QUOTED_IDENTIFIER ON'; + + // Make ANSI_NULLS is ON for NULL value + $commands[] = 'SET ANSI_NULLS ON'; + + break; + } + + if (isset($options[ 'pdo' ])) + { + if (!$options[ 'pdo' ] instanceof PDO) + { + throw new InvalidArgumentException('Invalid PDO object supplied'); + } + + $this->pdo = $options[ 'pdo' ]; + + foreach ($commands as $value) + { + $this->pdo->exec($value); + } + + return; + } + + if (isset($options[ 'dsn' ])) + { + if (is_array($options[ 'dsn' ]) && isset($options[ 'dsn' ][ 'driver' ])) + { + $attr = $options[ 'dsn' ]; + } + else + { + throw new InvalidArgumentException('Invalid DSN option supplied'); + } + } + else + { + if ( + isset($options[ 'port' ]) && + is_int($options[ 'port' ] * 1) + ) + { + $port = $options[ 'port' ]; + } + + $is_port = isset($port); + + switch ($this->type) + { + case 'mysql': + $attr = [ + 'driver' => 'mysql', + 'dbname' => $options[ 'database_name' ] + ]; + + if (isset($options[ 'socket' ])) + { + $attr[ 'unix_socket' ] = $options[ 'socket' ]; + } + else + { + $attr[ 'host' ] = $options[ 'server' ]; + + if ($is_port) + { + $attr[ 'port' ] = $port; + } + } + + break; + + case 'pgsql': + $attr = [ + 'driver' => 'pgsql', + 'host' => $options[ 'server' ], + 'dbname' => $options[ 'database_name' ] + ]; + + if ($is_port) + { + $attr[ 'port' ] = $port; + } + + break; + + case 'sybase': + $attr = [ + 'driver' => 'dblib', + 'host' => $options[ 'server' ], + 'dbname' => $options[ 'database_name' ] + ]; + + if ($is_port) + { + $attr[ 'port' ] = $port; + } + + break; + + case 'oracle': + $attr = [ + 'driver' => 'oci', + 'dbname' => $options[ 'server' ] ? + '//' . $options[ 'server' ] . ($is_port ? ':' . $port : ':1521') . '/' . $options[ 'database_name' ] : + $options[ 'database_name' ] + ]; + + if (isset($options[ 'charset' ])) + { + $attr[ 'charset' ] = $options[ 'charset' ]; + } + + break; + + case 'mssql': + if (isset($options[ 'driver' ]) && $options[ 'driver' ] === 'dblib') + { + $attr = [ + 'driver' => 'dblib', + 'host' => $options[ 'server' ] . ($is_port ? ':' . $port : ''), + 'dbname' => $options[ 'database_name' ] + ]; + + if (isset($options[ 'appname' ])) + { + $attr[ 'appname' ] = $options[ 'appname' ]; + } + + if (isset($options[ 'charset' ])) + { + $attr[ 'charset' ] = $options[ 'charset' ]; + } + } + else + { + $attr = [ + 'driver' => 'sqlsrv', + 'Server' => $options[ 'server' ] . ($is_port ? ',' . $port : ''), + 'Database' => $options[ 'database_name' ] + ]; + + if (isset($options[ 'appname' ])) + { + $attr[ 'APP' ] = $options[ 'appname' ]; + } + + $config = [ + 'ApplicationIntent', + 'AttachDBFileName', + 'Authentication', + 'ColumnEncryption', + 'ConnectionPooling', + 'Encrypt', + 'Failover_Partner', + 'KeyStoreAuthentication', + 'KeyStorePrincipalId', + 'KeyStoreSecret', + 'LoginTimeout', + 'MultipleActiveResultSets', + 'MultiSubnetFailover', + 'Scrollable', + 'TraceFile', + 'TraceOn', + 'TransactionIsolation', + 'TransparentNetworkIPResolution', + 'TrustServerCertificate', + 'WSID', + ]; + + foreach ($config as $value) + { + $keyname = strtolower(preg_replace(['/([a-z\d])([A-Z])/', '/([^_])([A-Z][a-z])/'], '$1_$2', $value)); + + if (isset($options[ $keyname ])) + { + $attr[ $value ] = $options[ $keyname ]; + } + } + } + + break; + + case 'sqlite': + $attr = [ + 'driver' => 'sqlite', + $options[ 'database_file' ] + ]; + + break; + } + } + + if (!isset($attr)) + { + throw new InvalidArgumentException('Incorrect connection options'); + } + + $driver = $attr[ 'driver' ]; + + if (!in_array($driver, PDO::getAvailableDrivers())) + { + throw new InvalidArgumentException("Unsupported PDO driver: {$driver}"); + } + + unset($attr[ 'driver' ]); + + $stack = []; + + foreach ($attr as $key => $value) + { + $stack[] = is_int($key) ? $value : $key . '=' . $value; + } + + $dsn = $driver . ':' . implode(';', $stack); + + if ( + in_array($this->type, ['mysql', 'pgsql', 'sybase', 'mssql']) && + isset($options[ 'charset' ]) + ) + { + $commands[] = "SET NAMES '{$options[ 'charset' ]}'" . ( + $this->type === 'mysql' && isset($options[ 'collation' ]) ? + " COLLATE '{$options[ 'collation' ]}'" : '' + ); + } + + $this->dsn = $dsn; + + try { + $this->pdo = new PDO( + $dsn, + isset($options[ 'username' ]) ? $options[ 'username' ] : null, + isset($options[ 'password' ]) ? $options[ 'password' ] : null, + $option + ); + + foreach ($commands as $value) + { + $this->pdo->exec($value); + } + } + catch (PDOException $e) { + throw new PDOException($e->getMessage()); + } + } + + public function query($query, $map = []) + { + $raw = $this->raw($query, $map); + + $query = $this->buildRaw($raw, $map); + + return $this->exec($query, $map); + } + + public function exec($query, $map = []) + { + $this->statement = null; + + if ($this->debug_mode) + { + echo $this->generate($query, $map); + + $this->debug_mode = false; + + return false; + } + + if ($this->logging) + { + $this->logs[] = [$query, $map]; + } + else + { + $this->logs = [[$query, $map]]; + } + + $statement = $this->pdo->prepare($query); + + if (!$statement) + { + $this->errorInfo = $this->pdo->errorInfo(); + $this->statement = null; + + return false; + } + + $this->statement = $statement; + + foreach ($map as $key => $value) + { + $statement->bindValue($key, $value[ 0 ], $value[ 1 ]); + } + + $execute = $statement->execute(); + + $this->errorInfo = $statement->errorInfo(); + + if (!$execute) + { + $this->statement = null; + } + + return $statement; + } + + protected function generate($query, $map) + { + $identifier = [ + 'mysql' => '`$1`', + 'mssql' => '[$1]' + ]; + + $query = preg_replace( + '/"([a-zA-Z0-9_]+)"/i', + isset($identifier[ $this->type ]) ? $identifier[ $this->type ] : '"$1"', + $query + ); + + foreach ($map as $key => $value) + { + if ($value[ 1 ] === PDO::PARAM_STR) + { + $replace = $this->quote($value[ 0 ]); + } + elseif ($value[ 1 ] === PDO::PARAM_NULL) + { + $replace = 'NULL'; + } + elseif ($value[ 1 ] === PDO::PARAM_LOB) + { + $replace = '{LOB_DATA}'; + } + else + { + $replace = $value[ 0 ]; + } + + $query = str_replace($key, $replace, $query); + } + + return $query; + } + + public static function raw($string, $map = []) + { + $raw = new Raw(); + + $raw->map = $map; + $raw->value = $string; + + return $raw; + } + + protected function isRaw($object) + { + return $object instanceof Raw; + } + + protected function buildRaw($raw, &$map) + { + if (!$this->isRaw($raw)) + { + return false; + } + + $query = preg_replace_callback( + '/(([`\']).*?)?((FROM|TABLE|INTO|UPDATE|JOIN)\s*)?\<(([a-zA-Z0-9_]+)(\.[a-zA-Z0-9_]+)?)\>(.*?\2)?/i', + function ($matches) + { + if (!empty($matches[ 2 ]) && isset($matches[ 8 ])) + { + return $matches[ 0 ]; + } + + if (!empty($matches[ 4 ])) + { + return $matches[ 1 ] . $matches[ 4 ] . ' ' . $this->tableQuote($matches[ 5 ]); + } + + return $matches[ 1 ] . $this->columnQuote($matches[ 5 ]); + }, + $raw->value); + + $raw_map = $raw->map; + + if (!empty($raw_map)) + { + foreach ($raw_map as $key => $value) + { + $map[ $key ] = $this->typeMap($value, gettype($value)); + } + } + + return $query; + } + + public function quote($string) + { + return $this->pdo->quote($string); + } + + protected function tableQuote($table) + { + if (!preg_match('/^[a-zA-Z0-9_]+$/i', $table)) + { + throw new InvalidArgumentException("Incorrect table name \"$table\""); + } + + return '"' . $this->prefix . $table . '"'; + } + + protected function mapKey() + { + return ':MeDoO_' . $this->guid++ . '_mEdOo'; + } + + protected function typeMap($value, $type) + { + $map = [ + 'NULL' => PDO::PARAM_NULL, + 'integer' => PDO::PARAM_INT, + 'double' => PDO::PARAM_STR, + 'boolean' => PDO::PARAM_BOOL, + 'string' => PDO::PARAM_STR, + 'object' => PDO::PARAM_STR, + 'resource' => PDO::PARAM_LOB + ]; + + if ($type === 'boolean') + { + $value = ($value ? '1' : '0'); + } + elseif ($type === 'NULL') + { + $value = null; + } + + return [$value, $map[ $type ]]; + } + + protected function columnQuote($string) + { + if (!preg_match('/^[a-zA-Z0-9_]+(\.?[a-zA-Z0-9_]+)?$/i', $string)) + { + throw new InvalidArgumentException("Incorrect column name \"$string\""); + } + + if (strpos($string, '.') !== false) + { + return '"' . $this->prefix . str_replace('.', '"."', $string) . '"'; + } + + return '"' . $string . '"'; + } + + protected function columnPush(&$columns, &$map, $root, $is_join = false) + { + if ($columns === '*') + { + return $columns; + } + + $stack = []; + + if (is_string($columns)) + { + $columns = [$columns]; + } + + foreach ($columns as $key => $value) + { + if (!is_int($key) && is_array($value) && $root && count(array_keys($columns)) === 1) + { + $stack[] = $this->columnQuote($key); + + $stack[] = $this->columnPush($value, $map, false, $is_join); + } + elseif (is_array($value)) + { + $stack[] = $this->columnPush($value, $map, false, $is_join); + } + elseif (!is_int($key) && $raw = $this->buildRaw($value, $map)) + { + preg_match('/(?<column>[a-zA-Z0-9_\.]+)(\s*\[(?<type>(String|Bool|Int|Number))\])?/i', $key, $match); + + $stack[] = $raw . ' AS ' . $this->columnQuote($match[ 'column' ]); + } + elseif (is_int($key) && is_string($value)) + { + if ($is_join && strpos($value, '*') !== false) + { + throw new InvalidArgumentException('Cannot use table.* to select all columns while joining table'); + } + + preg_match('/(?<column>[a-zA-Z0-9_\.]+)(?:\s*\((?<alias>[a-zA-Z0-9_]+)\))?(?:\s*\[(?<type>(?:String|Bool|Int|Number|Object|JSON))\])?/i', $value, $match); + + if (!empty($match[ 'alias' ])) + { + $stack[] = $this->columnQuote($match[ 'column' ]) . ' AS ' . $this->columnQuote($match[ 'alias' ]); + + $columns[ $key ] = $match[ 'alias' ]; + + if (!empty($match[ 'type' ])) + { + $columns[ $key ] .= ' [' . $match[ 'type' ] . ']'; + } + } + else + { + $stack[] = $this->columnQuote($match[ 'column' ]); + } + } + } + + return implode(',', $stack); + } + + protected function arrayQuote($array) + { + $stack = []; + + foreach ($array as $value) + { + $stack[] = is_int($value) ? $value : $this->pdo->quote($value); + } + + return implode(',', $stack); + } + + protected function innerConjunct($data, $map, $conjunctor, $outer_conjunctor) + { + $stack = []; + + foreach ($data as $value) + { + $stack[] = '(' . $this->dataImplode($value, $map, $conjunctor) . ')'; + } + + return implode($outer_conjunctor . ' ', $stack); + } + + protected function dataImplode($data, &$map, $conjunctor) + { + $stack = []; + + foreach ($data as $key => $value) + { + $type = gettype($value); + + if ( + $type === 'array' && + preg_match("/^(AND|OR)(\s+#.*)?$/", $key, $relation_match) + ) + { + $relationship = $relation_match[ 1 ]; + + $stack[] = $value !== array_keys(array_keys($value)) ? + '(' . $this->dataImplode($value, $map, ' ' . $relationship) . ')' : + '(' . $this->innerConjunct($value, $map, ' ' . $relationship, $conjunctor) . ')'; + + continue; + } + + $map_key = $this->mapKey(); + + if ( + is_int($key) && + preg_match('/([a-zA-Z0-9_\.]+)\[(?<operator>\>\=?|\<\=?|\!?\=)\]([a-zA-Z0-9_\.]+)/i', $value, $match) + ) + { + $stack[] = $this->columnQuote($match[ 1 ]) . ' ' . $match[ 'operator' ] . ' ' . $this->columnQuote($match[ 3 ]); + } + else + { + preg_match('/([a-zA-Z0-9_\.]+)(\[(?<operator>\>\=?|\<\=?|\!|\<\>|\>\<|\!?~|REGEXP)\])?/i', $key, $match); + $column = $this->columnQuote($match[ 1 ]); + + if (isset($match[ 'operator' ])) + { + $operator = $match[ 'operator' ]; + + if (in_array($operator, ['>', '>=', '<', '<='])) + { + $condition = $column . ' ' . $operator . ' '; + + if (is_numeric($value)) + { + $condition .= $map_key; + $map[ $map_key ] = [$value, is_float($value) ? PDO::PARAM_STR : PDO::PARAM_INT]; + } + elseif ($raw = $this->buildRaw($value, $map)) + { + $condition .= $raw; + } + else + { + $condition .= $map_key; + $map[ $map_key ] = [$value, PDO::PARAM_STR]; + } + + $stack[] = $condition; + } + elseif ($operator === '!') + { + switch ($type) + { + case 'NULL': + $stack[] = $column . ' IS NOT NULL'; + break; + + case 'array': + $placeholders = []; + + foreach ($value as $index => $item) + { + $stack_key = $map_key . $index . '_i'; + + $placeholders[] = $stack_key; + $map[ $stack_key ] = $this->typeMap($item, gettype($item)); + } + + $stack[] = $column . ' NOT IN (' . implode(', ', $placeholders) . ')'; + break; + + case 'object': + if ($raw = $this->buildRaw($value, $map)) + { + $stack[] = $column . ' != ' . $raw; + } + break; + + case 'integer': + case 'double': + case 'boolean': + case 'string': + $stack[] = $column . ' != ' . $map_key; + $map[ $map_key ] = $this->typeMap($value, $type); + break; + } + } + elseif ($operator === '~' || $operator === '!~') + { + if ($type !== 'array') + { + $value = [ $value ]; + } + + $connector = ' OR '; + $data = array_values($value); + + if (is_array($data[ 0 ])) + { + if (isset($value[ 'AND' ]) || isset($value[ 'OR' ])) + { + $connector = ' ' . array_keys($value)[ 0 ] . ' '; + $value = $data[ 0 ]; + } + } + + $like_clauses = []; + + foreach ($value as $index => $item) + { + $item = strval($item); + + if (!preg_match('/(\[.+\]|[\*\?\!\%#^-_]|%.+|.+%)/', $item)) + { + $item = '%' . $item . '%'; + } + + $like_clauses[] = $column . ($operator === '!~' ? ' NOT' : '') . ' LIKE ' . $map_key . 'L' . $index; + $map[ $map_key . 'L' . $index ] = [$item, PDO::PARAM_STR]; + } + + $stack[] = '(' . implode($connector, $like_clauses) . ')'; + } + elseif ($operator === '<>' || $operator === '><') + { + if ($type === 'array') + { + if ($operator === '><') + { + $column .= ' NOT'; + } + + $stack[] = '(' . $column . ' BETWEEN ' . $map_key . 'a AND ' . $map_key . 'b)'; + + $data_type = (is_numeric($value[ 0 ]) && is_numeric($value[ 1 ])) ? PDO::PARAM_INT : PDO::PARAM_STR; + + $map[ $map_key . 'a' ] = [$value[ 0 ], $data_type]; + $map[ $map_key . 'b' ] = [$value[ 1 ], $data_type]; + } + } + elseif ($operator === 'REGEXP') + { + $stack[] = $column . ' REGEXP ' . $map_key; + $map[ $map_key ] = [$value, PDO::PARAM_STR]; + } + } + else + { + switch ($type) + { + case 'NULL': + $stack[] = $column . ' IS NULL'; + break; + + case 'array': + $placeholders = []; + + foreach ($value as $index => $item) + { + $stack_key = $map_key . $index . '_i'; + + $placeholders[] = $stack_key; + $map[ $stack_key ] = $this->typeMap($item, gettype($item)); + } + + $stack[] = $column . ' IN (' . implode(', ', $placeholders) . ')'; + break; + + case 'object': + if ($raw = $this->buildRaw($value, $map)) + { + $stack[] = $column . ' = ' . $raw; + } + break; + + case 'integer': + case 'double': + case 'boolean': + case 'string': + $stack[] = $column . ' = ' . $map_key; + $map[ $map_key ] = $this->typeMap($value, $type); + break; + } + } + } + } + + return implode($conjunctor . ' ', $stack); + } + + protected function whereClause($where, &$map) + { + $where_clause = ''; + + if (is_array($where)) + { + $where_keys = array_keys($where); + + $conditions = array_diff_key($where, array_flip( + ['GROUP', 'ORDER', 'HAVING', 'LIMIT', 'LIKE', 'MATCH'] + )); + + if (!empty($conditions)) + { + $where_clause = ' WHERE ' . $this->dataImplode($conditions, $map, ' AND'); + } + + if (isset($where[ 'MATCH' ]) && $this->type === 'mysql') + { + $MATCH = $where[ 'MATCH' ]; + + if (is_array($MATCH) && isset($MATCH[ 'columns' ], $MATCH[ 'keyword' ])) + { + $mode = ''; + + $mode_array = [ + 'natural' => 'IN NATURAL LANGUAGE MODE', + 'natural+query' => 'IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION', + 'boolean' => 'IN BOOLEAN MODE', + 'query' => 'WITH QUERY EXPANSION' + ]; + + if (isset($MATCH[ 'mode' ], $mode_array[ $MATCH[ 'mode' ] ])) + { + $mode = ' ' . $mode_array[ $MATCH[ 'mode' ] ]; + } + + $columns = implode(', ', array_map([$this, 'columnQuote'], $MATCH[ 'columns' ])); + $map_key = $this->mapKey(); + $map[ $map_key ] = [$MATCH[ 'keyword' ], PDO::PARAM_STR]; + + $where_clause .= ($where_clause !== '' ? ' AND ' : ' WHERE') . ' MATCH (' . $columns . ') AGAINST (' . $map_key . $mode . ')'; + } + } + + if (isset($where[ 'GROUP' ])) + { + $GROUP = $where[ 'GROUP' ]; + + if (is_array($GROUP)) + { + $stack = []; + + foreach ($GROUP as $column => $value) + { + $stack[] = $this->columnQuote($value); + } + + $where_clause .= ' GROUP BY ' . implode(',', $stack); + } + elseif ($raw = $this->buildRaw($GROUP, $map)) + { + $where_clause .= ' GROUP BY ' . $raw; + } + else + { + $where_clause .= ' GROUP BY ' . $this->columnQuote($GROUP); + } + + if (isset($where[ 'HAVING' ])) + { + if ($raw = $this->buildRaw($where[ 'HAVING' ], $map)) + { + $where_clause .= ' HAVING ' . $raw; + } + else + { + $where_clause .= ' HAVING ' . $this->dataImplode($where[ 'HAVING' ], $map, ' AND'); + } + } + } + + if (isset($where[ 'ORDER' ])) + { + $ORDER = $where[ 'ORDER' ]; + + if (is_array($ORDER)) + { + $stack = []; + + foreach ($ORDER as $column => $value) + { + if (is_array($value)) + { + $stack[] = 'FIELD(' . $this->columnQuote($column) . ', ' . $this->arrayQuote($value) . ')'; + } + elseif ($value === 'ASC' || $value === 'DESC') + { + $stack[] = $this->columnQuote($column) . ' ' . $value; + } + elseif (is_int($column)) + { + $stack[] = $this->columnQuote($value); + } + } + + $where_clause .= ' ORDER BY ' . implode(',', $stack); + } + elseif ($raw = $this->buildRaw($ORDER, $map)) + { + $where_clause .= ' ORDER BY ' . $raw; + } + else + { + $where_clause .= ' ORDER BY ' . $this->columnQuote($ORDER); + } + + if ( + isset($where[ 'LIMIT' ]) && + in_array($this->type, ['oracle', 'mssql']) + ) + { + $LIMIT = $where[ 'LIMIT' ]; + + if (is_numeric($LIMIT)) + { + $LIMIT = [0, $LIMIT]; + } + + if ( + is_array($LIMIT) && + is_numeric($LIMIT[ 0 ]) && + is_numeric($LIMIT[ 1 ]) + ) + { + $where_clause .= ' OFFSET ' . $LIMIT[ 0 ] . ' ROWS FETCH NEXT ' . $LIMIT[ 1 ] . ' ROWS ONLY'; + } + } + } + + if (isset($where[ 'LIMIT' ]) && !in_array($this->type, ['oracle', 'mssql'])) + { + $LIMIT = $where[ 'LIMIT' ]; + + if (is_numeric($LIMIT)) + { + $where_clause .= ' LIMIT ' . $LIMIT; + } + elseif ( + is_array($LIMIT) && + is_numeric($LIMIT[ 0 ]) && + is_numeric($LIMIT[ 1 ]) + ) + { + $where_clause .= ' LIMIT ' . $LIMIT[ 1 ] . ' OFFSET ' . $LIMIT[ 0 ]; + } + } + } + elseif ($raw = $this->buildRaw($where, $map)) + { + $where_clause .= ' ' . $raw; + } + + return $where_clause; + } + + protected function selectContext($table, &$map, $join, &$columns = null, $where = null, $column_fn = null) + { + preg_match('/(?<table>[a-zA-Z0-9_]+)\s*\((?<alias>[a-zA-Z0-9_]+)\)/i', $table, $table_match); + + if (isset($table_match[ 'table' ], $table_match[ 'alias' ])) + { + $table = $this->tableQuote($table_match[ 'table' ]); + + $table_query = $table . ' AS ' . $this->tableQuote($table_match[ 'alias' ]); + } + else + { + $table = $this->tableQuote($table); + + $table_query = $table; + } + + $is_join = false; + $join_key = is_array($join) ? array_keys($join) : null; + + if ( + isset($join_key[ 0 ]) && + strpos($join_key[ 0 ], '[') === 0 + ) + { + $is_join = true; + $table_query .= ' ' . $this->buildJoin($table, $join); + } + else + { + if (is_null($columns)) + { + if ( + !is_null($where) || + (is_array($join) && isset($column_fn)) + ) + { + $where = $join; + $columns = null; + } + else + { + $where = null; + $columns = $join; + } + } + else + { + $where = $columns; + $columns = $join; + } + } + + if (isset($column_fn)) + { + if ($column_fn === 1) + { + $column = '1'; + + if (is_null($where)) + { + $where = $columns; + } + } + elseif ($raw = $this->buildRaw($column_fn, $map)) + { + $column = $raw; + } + else + { + if (empty($columns) || $this->isRaw($columns)) + { + $columns = '*'; + $where = $join; + } + + $column = $column_fn . '(' . $this->columnPush($columns, $map, true) . ')'; + } + } + else + { + $column = $this->columnPush($columns, $map, true, $is_join); + } + + return 'SELECT ' . $column . ' FROM ' . $table_query . $this->whereClause($where, $map); + } + + protected function buildJoin($table, $join) + { + $table_join = []; + + $join_array = [ + '>' => 'LEFT', + '<' => 'RIGHT', + '<>' => 'FULL', + '><' => 'INNER' + ]; + + foreach($join as $sub_table => $relation) + { + preg_match('/(\[(?<join>\<\>?|\>\<?)\])?(?<table>[a-zA-Z0-9_]+)\s?(\((?<alias>[a-zA-Z0-9_]+)\))?/', $sub_table, $match); + + if ($match[ 'join' ] !== '' && $match[ 'table' ] !== '') + { + if (is_string($relation)) + { + $relation = 'USING ("' . $relation . '")'; + } + + if (is_array($relation)) + { + // For ['column1', 'column2'] + if (isset($relation[ 0 ])) + { + $relation = 'USING ("' . implode('", "', $relation) . '")'; + } + else + { + $joins = []; + + foreach ($relation as $key => $value) + { + $joins[] = ( + strpos($key, '.') > 0 ? + // For ['tableB.column' => 'column'] + $this->columnQuote($key) : + + // For ['column1' => 'column2'] + $table . '."' . $key . '"' + ) . + ' = ' . + $this->tableQuote(isset($match[ 'alias' ]) ? $match[ 'alias' ] : $match[ 'table' ]) . '."' . $value . '"'; + } + + $relation = 'ON ' . implode(' AND ', $joins); + } + } + + $table_name = $this->tableQuote($match[ 'table' ]) . ' '; + + if (isset($match[ 'alias' ])) + { + $table_name .= 'AS ' . $this->tableQuote($match[ 'alias' ]) . ' '; + } + + $table_join[] = $join_array[ $match[ 'join' ] ] . ' JOIN ' . $table_name . $relation; + } + } + + return implode(' ', $table_join); + } + + protected function columnMap($columns, &$stack, $root) + { + if ($columns === '*') + { + return $stack; + } + + foreach ($columns as $key => $value) + { + if (is_int($key)) + { + preg_match('/([a-zA-Z0-9_]+\.)?(?<column>[a-zA-Z0-9_]+)(?:\s*\((?<alias>[a-zA-Z0-9_]+)\))?(?:\s*\[(?<type>(?:String|Bool|Int|Number|Object|JSON))\])?/i', $value, $key_match); + + $column_key = !empty($key_match[ 'alias' ]) ? + $key_match[ 'alias' ] : + $key_match[ 'column' ]; + + if (isset($key_match[ 'type' ])) + { + $stack[ $value ] = [$column_key, $key_match[ 'type' ]]; + } + else + { + $stack[ $value ] = [$column_key, 'String']; + } + } + elseif ($this->isRaw($value)) + { + preg_match('/([a-zA-Z0-9_]+\.)?(?<column>[a-zA-Z0-9_]+)(\s*\[(?<type>(String|Bool|Int|Number))\])?/i', $key, $key_match); + + $column_key = $key_match[ 'column' ]; + + if (isset($key_match[ 'type' ])) + { + $stack[ $key ] = [$column_key, $key_match[ 'type' ]]; + } + else + { + $stack[ $key ] = [$column_key, 'String']; + } + } + elseif (!is_int($key) && is_array($value)) + { + if ($root && count(array_keys($columns)) === 1) + { + $stack[ $key ] = [$key, 'String']; + } + + $this->columnMap($value, $stack, false); + } + } + + return $stack; + } + + protected function dataMap($data, $columns, $column_map, &$stack, $root, &$result) + { + if ($root) + { + $columns_key = array_keys($columns); + + if (count($columns_key) === 1 && is_array($columns[$columns_key[0]])) + { + $index_key = array_keys($columns)[0]; + $data_key = preg_replace("/^[a-zA-Z0-9_]+\./i", "", $index_key); + + $current_stack = []; + + foreach ($data as $item) + { + $this->dataMap($data, $columns[ $index_key ], $column_map, $current_stack, false, $result); + + $index = $data[ $data_key ]; + + $result[ $index ] = $current_stack; + } + } + else + { + $current_stack = []; + + $this->dataMap($data, $columns, $column_map, $current_stack, false, $result); + + $result[] = $current_stack; + } + + return; + } + + foreach ($columns as $key => $value) + { + $isRaw = $this->isRaw($value); + + if (is_int($key) || $isRaw) + { + $map = $column_map[ $isRaw ? $key : $value ]; + + $column_key = $map[ 0 ]; + + $item = $data[ $column_key ]; + + if (isset($map[ 1 ])) + { + if ($isRaw && in_array($map[ 1 ], ['Object', 'JSON'])) + { + continue; + } + + if (is_null($item)) + { + $stack[ $column_key ] = null; + continue; + } + + switch ($map[ 1 ]) + { + case 'Number': + $stack[ $column_key ] = (double) $item; + break; + + case 'Int': + $stack[ $column_key ] = (int) $item; + break; + + case 'Bool': + $stack[ $column_key ] = (bool) $item; + break; + + case 'Object': + $stack[ $column_key ] = unserialize($item); + break; + + case 'JSON': + $stack[ $column_key ] = json_decode($item, true); + break; + + case 'String': + $stack[ $column_key ] = $item; + break; + } + } + else + { + $stack[ $column_key ] = $item; + } + } + else + { + $current_stack = []; + + $this->dataMap($data, $value, $column_map, $current_stack, false, $result); + + $stack[ $key ] = $current_stack; + } + } + } + + public function create($table, $columns, $options = null) + { + $stack = []; + + $tableName = $this->prefix . $table; + + foreach ($columns as $name => $definition) + { + if (is_int($name)) + { + $stack[] = preg_replace('/\<([a-zA-Z0-9_]+)\>/i', '"$1"', $definition); + } + elseif (is_array($definition)) + { + $stack[] = $name . ' ' . implode(' ', $definition); + } + elseif (is_string($definition)) + { + $stack[] = $name . ' ' . $this->query($definition); + } + } + + $table_option = ''; + + if (is_array($options)) + { + $option_stack = []; + + foreach ($options as $key => $value) + { + if (is_string($value) || is_int($value)) + { + $option_stack[] = "$key = $value"; + } + } + + $table_option = ' ' . implode(', ', $option_stack); + } + elseif (is_string($options)) + { + $table_option = ' ' . $options; + } + + return $this->exec("CREATE TABLE IF NOT EXISTS $tableName (" . implode(', ', $stack) . ")$table_option"); + } + + public function drop($table) + { + $tableName = $this->prefix . $table; + + return $this->exec("DROP TABLE IF EXISTS $tableName"); + } + + public function select($table, $join, $columns = null, $where = null) + { + $map = []; + $result = []; + $column_map = []; + + $index = 0; + + $column = $where === null ? $join : $columns; + + $is_single = (is_string($column) && $column !== '*'); + + $query = $this->exec($this->selectContext($table, $map, $join, $columns, $where), $map); + + $this->columnMap($columns, $column_map, true); + + if (!$this->statement) + { + return false; + } + + if ($columns === '*') + { + return $query->fetchAll(PDO::FETCH_ASSOC); + } + + while ($data = $query->fetch(PDO::FETCH_ASSOC)) + { + $current_stack = []; + + $this->dataMap($data, $columns, $column_map, $current_stack, true, $result); + } + + if ($is_single) + { + $single_result = []; + $result_key = $column_map[ $column ][ 0 ]; + + foreach ($result as $item) + { + $single_result[] = $item[ $result_key ]; + } + + return $single_result; + } + + return $result; + } + + public function insert($table, $datas) + { + $stack = []; + $columns = []; + $fields = []; + $map = []; + + if (!isset($datas[ 0 ])) + { + $datas = [$datas]; + } + + foreach ($datas as $data) + { + foreach ($data as $key => $value) + { + $columns[] = $key; + } + } + + $columns = array_unique($columns); + + foreach ($datas as $data) + { + $values = []; + + foreach ($columns as $key) + { + if ($raw = $this->buildRaw($data[ $key ], $map)) + { + $values[] = $raw; + continue; + } + + $map_key = $this->mapKey(); + + $values[] = $map_key; + + if (!isset($data[ $key ])) + { + $map[ $map_key ] = [null, PDO::PARAM_NULL]; + } + else + { + $value = $data[ $key ]; + + $type = gettype($value); + + switch ($type) + { + case 'array': + $map[ $map_key ] = [ + strpos($key, '[JSON]') === strlen($key) - 6 ? + json_encode($value) : + serialize($value), + PDO::PARAM_STR + ]; + break; + + case 'object': + $value = serialize($value); + + case 'NULL': + case 'resource': + case 'boolean': + case 'integer': + case 'double': + case 'string': + $map[ $map_key ] = $this->typeMap($value, $type); + break; + } + } + } + + $stack[] = '(' . implode(', ', $values) . ')'; + } + + foreach ($columns as $key) + { + $fields[] = $this->columnQuote(preg_replace("/(\s*\[JSON\]$)/i", '', $key)); + } + + return $this->exec('INSERT INTO ' . $this->tableQuote($table) . ' (' . implode(', ', $fields) . ') VALUES ' . implode(', ', $stack), $map); + } + + public function update($table, $data, $where = null) + { + $fields = []; + $map = []; + + foreach ($data as $key => $value) + { + $column = $this->columnQuote(preg_replace("/(\s*\[(JSON|\+|\-|\*|\/)\]$)/i", '', $key)); + + if ($raw = $this->buildRaw($value, $map)) + { + $fields[] = $column . ' = ' . $raw; + continue; + } + + $map_key = $this->mapKey(); + + preg_match('/(?<column>[a-zA-Z0-9_]+)(\[(?<operator>\+|\-|\*|\/)\])?/i', $key, $match); + + if (isset($match[ 'operator' ])) + { + if (is_numeric($value)) + { + $fields[] = $column . ' = ' . $column . ' ' . $match[ 'operator' ] . ' ' . $value; + } + } + else + { + $fields[] = $column . ' = ' . $map_key; + + $type = gettype($value); + + switch ($type) + { + case 'array': + $map[ $map_key ] = [ + strpos($key, '[JSON]') === strlen($key) - 6 ? + json_encode($value) : + serialize($value), + PDO::PARAM_STR + ]; + break; + + case 'object': + $value = serialize($value); + + case 'NULL': + case 'resource': + case 'boolean': + case 'integer': + case 'double': + case 'string': + $map[ $map_key ] = $this->typeMap($value, $type); + break; + } + } + } + + return $this->exec('UPDATE ' . $this->tableQuote($table) . ' SET ' . implode(', ', $fields) . $this->whereClause($where, $map), $map); + } + + public function delete($table, $where) + { + $map = []; + + return $this->exec('DELETE FROM ' . $this->tableQuote($table) . $this->whereClause($where, $map), $map); + } + + public function replace($table, $columns, $where = null) + { + if (!is_array($columns) || empty($columns)) + { + return false; + } + + $map = []; + $stack = []; + + foreach ($columns as $column => $replacements) + { + if (is_array($replacements)) + { + foreach ($replacements as $old => $new) + { + $map_key = $this->mapKey(); + + $stack[] = $this->columnQuote($column) . ' = REPLACE(' . $this->columnQuote($column) . ', ' . $map_key . 'a, ' . $map_key . 'b)'; + + $map[ $map_key . 'a' ] = [$old, PDO::PARAM_STR]; + $map[ $map_key . 'b' ] = [$new, PDO::PARAM_STR]; + } + } + } + + if (!empty($stack)) + { + return $this->exec('UPDATE ' . $this->tableQuote($table) . ' SET ' . implode(', ', $stack) . $this->whereClause($where, $map), $map); + } + + return false; + } + + public function get($table, $join = null, $columns = null, $where = null) + { + $map = []; + $result = []; + $column_map = []; + $current_stack = []; + + if ($where === null) + { + $column = $join; + unset($columns[ 'LIMIT' ]); + } + else + { + $column = $columns; + unset($where[ 'LIMIT' ]); + } + + $is_single = (is_string($column) && $column !== '*'); + + $query = $this->exec($this->selectContext($table, $map, $join, $columns, $where) . ' LIMIT 1', $map); + + if (!$this->statement) + { + return false; + } + + $data = $query->fetchAll(PDO::FETCH_ASSOC); + + if (isset($data[ 0 ])) + { + if ($column === '*') + { + return $data[ 0 ]; + } + + $this->columnMap($columns, $column_map, true); + + $this->dataMap($data[ 0 ], $columns, $column_map, $current_stack, true, $result); + + if ($is_single) + { + return $result[ 0 ][ $column_map[ $column ][ 0 ] ]; + } + + return $result[ 0 ]; + } + } + + public function has($table, $join, $where = null) + { + $map = []; + $column = null; + + if ($this->type === 'mssql') + { + $query = $this->exec($this->selectContext($table, $map, $join, $column, $where, Medoo::raw('TOP 1 1')), $map); + } + else + { + $query = $this->exec('SELECT EXISTS(' . $this->selectContext($table, $map, $join, $column, $where, 1) . ')', $map); + } + + if (!$this->statement) + { + return false; + } + + $result = $query->fetchColumn(); + + return $result === '1' || $result === 1 || $result === true; + } + + public function rand($table, $join = null, $columns = null, $where = null) + { + $type = $this->type; + + $order = 'RANDOM()'; + + if ($type === 'mysql') + { + $order = 'RAND()'; + } + elseif ($type === 'mssql') + { + $order = 'NEWID()'; + } + + $order_raw = $this->raw($order); + + if ($where === null) + { + if ($columns === null) + { + $columns = [ + 'ORDER' => $order_raw + ]; + } + else + { + $column = $join; + unset($columns[ 'ORDER' ]); + + $columns[ 'ORDER' ] = $order_raw; + } + } + else + { + unset($where[ 'ORDER' ]); + + $where[ 'ORDER' ] = $order_raw; + } + + return $this->select($table, $join, $columns, $where); + } + + private function aggregate($type, $table, $join = null, $column = null, $where = null) + { + $map = []; + + $query = $this->exec($this->selectContext($table, $map, $join, $column, $where, strtoupper($type)), $map); + + if (!$this->statement) + { + return false; + } + + $number = $query->fetchColumn(); + + return is_numeric($number) ? $number + 0 : $number; + } + + public function count($table, $join = null, $column = null, $where = null) + { + return $this->aggregate('count', $table, $join, $column, $where); + } + + public function avg($table, $join, $column = null, $where = null) + { + return $this->aggregate('avg', $table, $join, $column, $where); + } + + public function max($table, $join, $column = null, $where = null) + { + return $this->aggregate('max', $table, $join, $column, $where); + } + + public function min($table, $join, $column = null, $where = null) + { + return $this->aggregate('min', $table, $join, $column, $where); + } + + public function sum($table, $join, $column = null, $where = null) + { + return $this->aggregate('sum', $table, $join, $column, $where); + } + + public function action($actions) + { + if (is_callable($actions)) + { + $this->pdo->beginTransaction(); + + try { + $result = $actions($this); + + if ($result === false) + { + $this->pdo->rollBack(); + } + else + { + $this->pdo->commit(); + } + } + catch (Exception $e) { + $this->pdo->rollBack(); + + throw $e; + } + + return $result; + } + + return false; + } + + public function id() + { + if ($this->statement == null) + { + return null; + } + + $type = $this->type; + + if ($type === 'oracle') + { + return 0; + } + elseif ($type === 'pgsql') + { + return $this->pdo->query('SELECT LASTVAL()')->fetchColumn(); + } + + $lastId = $this->pdo->lastInsertId(); + + if ($lastId != "0" && $lastId != "") + { + return $lastId; + } + + return null; + } + + public function debug() + { + $this->debug_mode = true; + + return $this; + } + + public function error() + { + return $this->errorInfo; + } + + public function last() + { + $log = end($this->logs); + + return $this->generate($log[ 0 ], $log[ 1 ]); + } + + public function log() + { + return array_map(function ($log) + { + return $this->generate($log[ 0 ], $log[ 1 ]); + }, + $this->logs + ); + } + + public function info() + { + $output = [ + 'server' => 'SERVER_INFO', + 'driver' => 'DRIVER_NAME', + 'client' => 'CLIENT_VERSION', + 'version' => 'SERVER_VERSION', + 'connection' => 'CONNECTION_STATUS' + ]; + + foreach ($output as $key => $value) + { + $output[ $key ] = @$this->pdo->getAttribute(constant('PDO::ATTR_' . $value)); + } + + $output[ 'dsn' ] = $this->dsn; + + return $output; + } +} \ No newline at end of file diff --git a/class/index.html b/class/index.html new file mode 100755 index 0000000..0519ecb --- /dev/null +++ b/class/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/config.simple.php b/config.simple.php new file mode 100755 index 0000000..19684a0 --- /dev/null +++ b/config.simple.php @@ -0,0 +1,34 @@ +<?php +//载入数据库配置 +require 'class/Medoo.php'; +use Medoo\Medoo; +$db = new medoo([ + 'database_type' => 'sqlite', + 'database_file' => 'data/onenav.db3' +]); + +//用户名 +define('USER','{username}'); +//密码 +define('PASSWORD','{password}'); +//邮箱,用于后台Gravatar头像显示 +define('EMAIL','{email}'); +//token参数,API需要使用,0.9.19版本这个废弃了,请通过后台设置 +define('TOKEN','xiaoz.me'); +//主题风格,0.9.18废弃了,请通过后台设置 +define('TEMPLATE','default'); + +//站点信息 +$site_setting = []; +//站点标题 +$site_setting['title'] = 'OneNav'; +//文字Logo +$site_setting['logo'] = 'OneNav'; +//站点关键词 +$site_setting['keywords'] = 'OneNav,OneNav导航,OneNav书签,开源导航,开源书签,简洁导航,云链接,个人导航,个人书签'; +//站点描述 +$site_setting['description'] = 'OneNav是一款使用PHP + SQLite3开发的简约导航/书签管理器,免费开源。'; + +//这两项不要修改 +$site_setting['user'] = USER; +$site_setting['password'] = PASSWORD; \ No newline at end of file diff --git a/controller/.htaccess b/controller/.htaccess new file mode 100755 index 0000000..baa56e5 --- /dev/null +++ b/controller/.htaccess @@ -0,0 +1,2 @@ +order allow,deny +deny from all \ No newline at end of file diff --git a/controller/admin.php b/controller/admin.php new file mode 100755 index 0000000..1ec6fdb --- /dev/null +++ b/controller/admin.php @@ -0,0 +1,328 @@ +<?php +/** + * 后台入口文件 + */ +// 载入辅助函数 +require('functions/helper.php'); + +//检查认证 +check_auth($site_setting['user'],$site_setting['password']); + +//获取版本号 +// function get_version(){ +// if( file_exists('version.txt') ) { +// $version = @file_get_contents('version.txt'); +// return $version; +// } +// else{ +// $version = 'null'; +// return $version; +// } +// } +//获取版本号 +$version = new_get_version(); + +$page = empty($_GET['page']) ? 'index' : $_GET['page']; + +//如果是后台首页,则判断是否是手机访问,并决定是否跳转到手机版页面 +if( $page == 'index' ) { + jump_mobile(); +} + +//如果页面是修改edit_category +if ( ($page == 'edit_category') || ($page == 'edit_category_new') ) { + //获取id + $id = intval($_GET['id']); + //查询单条分类信息 + $sql = "SELECT *,(SELECT name FROM on_categorys WHERE id = a.fid LIMIT 1) AS fname FROM on_categorys AS a WHERE id = $id"; + $category_one = $db->query($sql)->fetchAll()[0]; + //$category_one = $db->get('on_categorys','*',[ 'id' => $id ]); + //查询父级分类 + $categorys = $db->select('on_categorys','*',[ + 'fid' => 0, + 'ORDER' => ['weight' => 'DESC'] + ]); + //checked按钮 + if( $category_one['property'] == 1 ) { + $category_one['checked'] = 'checked'; + } + else{ + $category_one['checked'] = ''; + } +} + +//如果是主题设置页面 +if ( $page == "setting/theme_config" ){ + //获取主题名称 + $name = trim($_GET['name']); + //获取主题目录 + if ( is_dir("templates/".$name) ) { + $theme_dir = "templates/".$name; + } + else{ + $theme_dir = "data/templates/".$name; + } + //读取主题配置 + $config_content = @file_get_contents("templates/".$name."/info.json"); + if( !$config_content ) { + $config_content = @file_get_contents("data/templates/".$name."/info.json"); + } + $configs = json_decode($config_content); + $configs = $configs->config; + //获取当前的配置参数 + $current_configs = file_get_contents($theme_dir."/config.json"); + + $current_configs = json_decode($current_configs); + + + //var_dump($current_configs); +} + +//添加分类页面 +if ( $page == 'add_category' ) { + //查询父级分类 + $categorys = $db->select('on_categorys','*',[ + 'fid' => 0, + 'ORDER' => ['weight' => 'DESC'] + ]); +} + +//API设置页面 +if( $page == 'setting/api' ) { + //查询SecretKey + $SecretKey = $db->get('on_options','*',[ 'key' => 'SecretKey' ])['value']; + +} + +//备份页面 +if( $page == 'setting/backup' ) { + + +} + +//如果页面是修改link +if ( ( $page == 'edit_link' ) || ( $page === 'edit_link_new' ) ) { + //查询所有分类信息,用于分类框选择 + $categorys = $db->select('on_categorys','*',[ 'ORDER' => ['weigth' => 'DESC'] ]); + //获取id + $id = intval($_GET['id']); + //查询单条链接信息 + $link = $db->get('on_links','*',[ 'id' => $id ]); + //查询单个分类信息 + $cat_name = $db->get('on_categorys',['name'],[ 'id' => $link['fid'] ]); + $cat_name = $cat_name['name']; + + //checked按钮 + if( $link['property'] == 1 ) { + $link['checked'] = 'checked'; + } + else{ + $link['checked'] = ''; + } +} + +//链接列表页面 +if ( $page == "link_list" ) { + //查询所有分类信息,用于分类框选择 + $categorys = $db->select('on_categorys','*',[ 'ORDER' => ['weigth' => 'DESC'] ]); +} + +//如果页面是添加链接页面 +if ( ($page == 'add_link') || ($page == 'add_link_tpl') || ($page == 'add_quick_tpl') || ($page == 'setting/share') ) { + //查询所有分类信息 + $categorys = $db->select('on_categorys','*',[ 'ORDER' => ['weight' => 'DESC'] ]); + //checked按钮 + if( $category['property'] == 1 ) { + $category['checked'] = 'checked'; + } + else{ + $category['checked'] = ''; + } +} + +//导入书签页面 +if ( $page == 'imp_link' ) { + //查询所有分类信息 + $categorys = $db->select('on_categorys','*',[ 'ORDER' => ['weight' => 'DESC'] ]); + //checked按钮 + if( $category['property'] == 1 ) { + $category['checked'] = 'checked'; + } + else{ + $category['checked'] = ''; + } +} +//主题详情页面 +if ( $page == 'setting/theme_detail' ) { + //获取主题名称 + $name = @$_GET['name']; + //主题目录 + $tpl_dir1 = dirname(__DIR__).'/templates/'.$name; + //备用主题目录 + $tpl_dir2 = dirname(__DIR__).'/data/templates/'.$name; + if( is_dir($tpl_dir1) ) { + $info = file_get_contents($tpl_dir1.'/info.json'); + } + else{ + $info = file_get_contents($tpl_dir2.'/info.json'); + } + $theme = json_decode($info); + //var_dump($theme); +} + +//主题设置页面 +if( $page == 'setting/theme' ) { + //主题目录 + $tpl_dir1 = dirname(__DIR__).'/templates/'; + //备用主题目录 + $tpl_dir2 = dirname(__DIR__).'/data/templates/'; + + //声明两个空数组用来存放模板目录列表 + $tpl_one = []; + $tpl_two = []; + //遍历第一个目录 + foreach ( scandir($tpl_dir1) as $value) { + //完整的路径 + $path = $tpl_dir1.$value; + //如果是目录,则push到目录列表1 + if( is_dir($path) ) { + switch ($value) { + case '.': + case '..': + case 'admin': + case 'mobile': + case 'universal': + continue; + break; + default: + array_push($tpl_one,$value); + break; + } + + } + else{ + continue; + } + } + //如果第二个目录存在,则遍历 + if( is_dir($tpl_dir2) ) { + foreach ( scandir($tpl_dir2) as $value) { + //完整的路径 + $path = $tpl_dir2.$value; + //如果是目录,则push到目录列表1 + if( is_dir($path) ) { + switch ($value) { + case '.': + case '..': + case 'admin': + continue; + break; + default: + array_push($tpl_two,$value); + break; + } + } + else{ + continue; + } + } + } + + //合并目录 + //现在$tpl_one是合并后的完整主题列表 + $tpls = array_merge($tpl_one,$tpl_two); + + //读取主题里面的信息 + //设置一个空数组 + $data = []; + + foreach ($tpls as $value) { + //如果文件存在 + if( is_file($tpl_dir1.$value.'/info.json') ) { + $data[$value]['info'] = json_decode(@file_get_contents( $tpl_dir1.$value.'/info.json' )); + } + else{ + $data[$value]['info'] = json_decode(@file_get_contents( $tpl_dir2.$value.'/info.json' )); + } + } + $themes = $data; + //获取当前主题 + $current_them = $db->get('on_options','value',[ 'key' => "theme" ]); + + //获取在线主题列表 + $theme_list = curl_get("https://onenav.xiaoz.top/v1/theme_list.php"); + $theme_list = json_decode($theme_list)->data; + //var_dump($theme_list); + //去重一下 + foreach ($themes as $key => $value) { + unset($theme_list->$key); + } + +} + +//站点设置页面 +if( $page == 'setting/site' ) { + //获取当前站点信息 + $site = $db->get('on_options','value',[ 'key' => "s_site" ]); + $site = unserialize($site); +} + +//站点订阅页面 +if( $page == 'setting/subscribe' ) { + //获取当前站点信息 + $subscribe = $db->get('on_options','value',[ 'key' => "s_subscribe" ]); + + $subscribe = unserialize($subscribe); + + //获取当前版本信息 + $current_version = explode("-",file_get_contents("version.txt")); + $current_version = str_replace("v","",$current_version[0]); + + +} + +//过渡页设置页面 +if( $page == 'setting/transition_page' ) { + //获取当前站点信息 + $transition_page = $db->get('on_options','value',[ 'key' => "s_transition_page" ]); + $transition_page = unserialize($transition_page); +} + +//如果是退出 +//如果页面是添加链接页面 +if ($page == 'logout') { + //清除cookie + setcookie("key", $key, -(time()+7 * 24 * 60 * 60),"/"); + //跳转到首页 + header('location:/'); + exit; +} + +//如果是自定义js页面 +if ($page == 'ext_js') { + //判断文件是否存在 + if (is_file('data/extend.js')) { + $content = file_get_contents('data/extend.js'); + } + else{ + $content = ''; + } +} + +$page = $page.'.php'; + +/** + * 检查授权 + */ + +function check_auth($user,$password){ + if ( !is_login() ) { + $msg = "<h3>认证失败,请<a href = 'index.php?c=login'>重新登录</a>!</h3>"; + require('templates/admin/403.php'); + exit; + } +} + + +// 载入前台首页模板 +require('templates/admin/'.$page); \ No newline at end of file diff --git a/controller/api.php b/controller/api.php new file mode 100755 index 0000000..058e554 --- /dev/null +++ b/controller/api.php @@ -0,0 +1,670 @@ +<?php +/** + * name:API入口文件,也可以称之为中间件 + * update:2022/03 + * author:xiaoz<xiaoz93@outlook.com> + * blog:xiaoz.me + */ + +//允许跨域访问 +header("Access-Control-Allow-Origin: *"); +header("Access-Control-Allow-Headers: Access-Control-Allow-Private-Network,Content-Type, AccessToken, X-CSRF-Token, Authorization, Token,X-Token,X-Cid"); +require('./class/Api.php'); + +$api = new Api($db); + +//获取请求方法 +$method = $_GET['method']; +//可变函数变量 +$var_func = htmlspecialchars(trim($method),ENT_QUOTES); +//判断函数是否存在,存在则条用可变函数,否则抛出错误 +if ( function_exists($var_func) ) { + //调用可变函数 + $var_func($api); +}else{ + exit('method not found!'); +} + + + +/** + * 添加分类目录入口 + */ +function add_category($api){ + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取分类名称 + $name = $_POST['name']; + //获取私有属性 + $property = empty($_POST['property']) ? 0 : 1; + //获取分级ID + $fid = intval($_POST['fid']); + //获取权重 + $weight = empty($_POST['weight']) ? 0 : intval($_POST['weight']); + //获取描述 + $description = empty($_POST['description']) ? '' : $_POST['description']; + //描述过滤 + $description = htmlspecialchars($description); + //获取字体图标 + $font_icon = htmlspecialchars($_POST['font_icon'],ENT_QUOTES); + //搜索字体图标是否包含'fa ',如果不包含则自动加上 + if( !strstr($font_icon,'fa ') ) { + $font_icon = 'fa '.$font_icon; + } + $api->add_category($token,$name,$property,$weight,$description,$font_icon,$fid); +} +/** + * 修改分类目录入口 + */ +function edit_category($api){ + //获取ID + $id = intval($_POST['id']); + //获取父级ID + $fid = intval($_POST['fid']); + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取分类名称 + $name = $_POST['name']; + //获取私有属性 + $property = empty($_POST['property']) ? 0 : 1; + //获取权重 + $weight = empty($_POST['weight']) ? 0 : intval($_POST['weight']); + //获取描述 + $description = empty($_POST['description']) ? '' : $_POST['description']; + //描述过滤 + $description = htmlspecialchars($description); + //字体图标 + $font_icon = htmlspecialchars($_POST['font_icon'],ENT_QUOTES); + //搜索字体图标是否包含'fa ',如果不包含则自动加上 + if( !strstr($font_icon,'fa ') ) { + $font_icon = 'fa '.$font_icon; + } + $api->edit_category($token,$id,$name,$property,$weight,$description,$font_icon,$fid); +} +/** + * 删除分类目录 + */ +function del_category($api){ + //获取ID + $id = intval($_POST['id']); + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + $api->del_category($token,$id); +} +/** + * 插入链接 + */ +function add_link($api){ + //add_link($token,$fid,$title,$url,$description = '',$weight = 0,$property = 0) + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + + //获取fid + $fid = intval(@$_POST['fid']); + $title = $_POST['title']; + $url = $_POST['url']; + $url_standby = $_POST['url_standby']; + $description = empty($_POST['description']) ? '' : $_POST['description']; + $weight = empty($_POST['weight']) ? 0 : intval($_POST['weight']); + $property = empty($_POST['property']) ? 0 : 1; + $font_icon = empty($_POST['font_icon']) ? '' : $_POST['font_icon']; + + $api->add_link($token,$fid,$title,$url,$description,$weight,$property,$url_standby,$font_icon); + +} +/** + * 修改链接 + */ +function edit_link($api){ + //add_link($token,$fid,$title,$url,$description = '',$weight = 0,$property = 0) + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + $id = intval(@$_POST['id']); + + //获取fid + $fid = intval(@$_POST['fid']); + $title = $_POST['title']; + $url = $_POST['url']; + $url_standby = $_POST['url_standby']; + $description = empty($_POST['description']) ? '' : $_POST['description']; + $weight = empty($_POST['weight']) ? 0 : intval($_POST['weight']); + $property = empty($_POST['property']) ? 0 : 1; + $font_icon = empty($_POST['font_icon']) ? '' : $_POST['font_icon']; + + $api->edit_link($token,$id,$fid,$title,$url,$description,$weight,$property,$url_standby,$font_icon); + +} + +/** + * 删除链接 + */ +function del_link($api){ + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + $id = intval(@$_POST['id']); + $api->del_link($token,$id); +} +/** + * 查询分类目录列表 + */ +function category_list($api){ + $page = empty(intval($_GET['page'])) ? 1 : intval($_GET['page']); + $limit = empty(intval($_GET['limit'])) ? 10 : intval($_GET['limit']); + $api->category_list($page,$limit); +} + +/** + * 查询链接列表 + */ +function link_list($api){ + $page = empty(intval($_REQUEST['page'])) ? 1 : intval($_REQUEST['page']); + $limit = empty(intval($_REQUEST['limit'])) ? 10 : intval($_REQUEST['limit']); + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取分类ID + $category_id = empty($_POST['category_id']) ? null : intval($_POST['category_id']); + $data = [ + 'page' => $page, + 'limit' => $limit, + 'token' => $token, + 'category_id' => $category_id + ]; + $api->link_list($data); +} + +/** + * 查询分类下的链接 + */ +function q_category_link($api){ + $page = empty(intval($_REQUEST['page'])) ? 1 : intval($_REQUEST['page']); + $limit = empty(intval($_REQUEST['limit'])) ? 10 : intval($_REQUEST['limit']); + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取分类ID + $category_id = empty($_REQUEST['category_id']) ? null : intval($_REQUEST['category_id']); + $data = [ + 'page' => $page, + 'limit' => $limit, + 'token' => $token, + 'category_id' => $category_id + ]; + $api->q_category_link($data); +} + +/** + * 获取链接标题、描述等信息 + */ +function get_link_info($api) { + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取URL + $url = @$_POST['url']; + $api->get_link_info($token,$url); +} + +/** + * 根据ID获取单个分类信息 + */ +function get_a_category($api) { + //获取token + $data['token'] = @empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取分类ID + $data['id'] = intval(trim($_POST['id'])); + //var_dump($data); + $api->get_a_category($data); +} + +/** + * 获取一个链接的信息,指存储在数据库的信息 + */ +function get_a_link($api) { + //获取token + $data['token'] = htmlspecialchars(empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']); + //获取链接的ID + $data['id'] = intval(htmlspecialchars($_GET['id'])); + $api->get_a_link($data); +} + +/** + * 添加自定义js + */ +function add_js($api) { + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + $content = @$_POST['content']; + $api->add_js($token,$content); +} +// 上传书签 +function upload($api){ + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取上传类型 + $type = $_GET['type']; + $api->upload($token,$type); +} +// 上传图标 +function uploadImages(){ + global $api; + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取上传类型 + $api->uploadImages($token); +} +//书签导入 +function imp_link($api) { + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取书签路径 + $filename = trim($_POST['filename']); + $fid = intval($_POST['fid']); + $property = intval(@$_POST['property']); + $api->imp_link($token,$filename,$fid,$property); +} +//新版书签批量导入并自动创建分类 +function import_link($api) { + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + //获取书签路径 + $filename = trim($_POST['filename']); + $fid = intval($_POST['fid']); + $property = intval(@$_POST['property']); + $api->import_link($filename,$property); +} +//检查弱密码 +function check_weak_password($api) { + //获取token + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + $api->check_weak_password($token); +} + +//获取sql更新列表 +function get_sql_update_list($api){ + $data = []; + $api->get_sql_update_list($data); +} + +//执行SQL更新 +function exe_sql($api) { + $data['name'] = htmlspecialchars(trim($_GET['name'])); + $api->exe_sql($data); +} + +//设置options表 +function set_theme($api) { + $key = 'theme'; + $value = htmlspecialchars($_POST['value']); + $api->set_option($key,$value); +} + +//设置站点信息 +function set_site($api) { + //获取传递过来的参数 + //获取网站标题 + $data['title'] = htmlspecialchars($_POST['title']); + //获取网站logo + $data['logo'] = htmlspecialchars($_POST['logo']); + //获取副标题 + $data['subtitle'] = htmlspecialchars($_POST['subtitle']); + //获取关键词 + $data['keywords'] = htmlspecialchars($_POST['keywords']); + //获取描述 + $data['description'] = htmlspecialchars($_POST['description']); + //获取自定义header + $data['custom_header'] = $_POST['custom_header']; + //获取自定义footer + $data['custom_footer'] = $_POST['custom_footer']; + //获取链接模式 + $data['link_model'] = $_POST['link_model']; + // 获取链接数量 + $data['link_num'] = $_POST['link_num']; + //序列化存储 + $value = serialize($data); + + if( !empty($data['custom_footer']) ) { + if( !$api->is_subscribe() ) { + $api->err_msg(-2000,'保存失败,自定义footer需要订阅用户才能使用,若未订阅请留空!'); + } + + } + + + $api->set_option('s_site',$value); +} + +//阻止非订阅用户保存设置 +function _deny_set($content,$err_msg) { + global $api; + //验证订阅,返回TRUE或FALSE + if ( !isset($_SESSION['subscribe']) ) { + //验证订阅,返回TRUE或FALSE + $result = $api->is_subscribe(); + } + + //如果内容是空的,直接允许 + if ( empty($content) ) { + return TRUE; + } + else{ + if( $_SESSION['subscribe'] === TRUE ) { + return TRUE; + } + else{ + $api->err_msg(-2000,$err_msg); + } + + } +} +//设置订阅信息 +function set_subscribe($api) { + //获取订单ID + $data['order_id'] = htmlspecialchars( trim($_POST['order_id']) ); + //获取邮箱 + $data['email'] = htmlspecialchars( trim($_POST['email']) ); + //到期时间 + $data['end_time'] = htmlspecialchars( trim($_POST['end_time']) ); + //重置订阅状态 + session_start(); + $_SESSION['subscribe'] = NULL; + + //序列化存储 + $value = serialize($data); + + //序列化存储到数据库 + $api->set_option('s_subscribe',$value); +} +//检查订阅信息 +function check_subscribe($api) { + $api->check_subscribe(); +} +//检查更新程序 +function up_updater($api) { + $api->up_updater(); +} +//验证当前版本是否匹配 +function check_version($api) { + $version = $_REQUEST['version']; + $api->check_version($version); +} + +//设置过渡页面 +function set_transition_page($api) { + //获取传递过来的参数 + //获取开关 + $data['control'] = htmlspecialchars(trim($_POST['control'])); + //获取游客停留时间 + $data['visitor_stay_time'] = intval($_POST['visitor_stay_time']); + //获取管理员停留时间 + $data['admin_stay_time'] = intval($_POST['admin_stay_time']); + //获取菜单 + $data['menu'] = $_POST['menu']; + //获取footer + $data['footer'] = $_POST['footer']; + //获取广告 + $data['a_d_1'] = $_POST['a_d_1']; + $data['a_d_2'] = $_POST['a_d_2']; + + + //验证订阅 + _deny_set($data['menu'],'保存失败,过渡页菜单需要订阅用户才能使用!'); + _deny_set($data['footer'],'保存失败,自定义footer需要订阅用户才能使用!'); + _deny_set($data['a_d_1'],'保存失败,自定义广告需要订阅用户才能使用!'); + _deny_set($data['a_d_2'],'保存失败,自定义广告需要订阅用户才能使用!'); + + //序列化存储 + $value = serialize($data); + + + $api->set_option('s_transition_page',$value); +} + +//生成create_sk +function create_sk($api) { + $api->create_sk(); +} + +//获取onenav最新版本号 +function get_latest_version() { + try { + $curl = curl_init("https://git.xiaoz.me/xiaoz/onenav/raw/branch/main/version.txt"); + + curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 Edg/100.0.1185.50"); + curl_setopt($curl, CURLOPT_FAILONERROR, true); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + #设置超时时间,最小为1s(可选) + curl_setopt($curl , CURLOPT_TIMEOUT, 5); + + $html = curl_exec($curl); + curl_close($curl); + $data = [ + "code" => 200, + "msg" => "", + "data" => $html + ]; + + } catch (\Throwable $th) { + $data = [ + "code" => 200, + "msg" => "", + "data" => "" + ]; + } + exit(json_encode($data)); +} + +//批量修改链接分类 +function batch_modify_category($api) { + //获取id列表 + $id = $_POST['id']; + //获取分类ID + $fid = intval($_POST['fid']); + + $data = [ + 'id' => $id, + 'fid' => $fid + ]; + + $api->batch_modify_category($data); +} + +//保存主题参数设置 +function save_theme_config($api) { + //获取所有POST数组,并组合为对象 + $post_data = $_POST; + //数组转对象 + foreach ($post_data as $key => $value) { + $data['config']->$key = $value; + } + $data['name'] = $post_data['name']; + unset($data['config']->name); + $api->save_theme_config($data); +} +//获取主题配置信息 +function get_theme_config($api) { + $api->get_theme_config(); +} + +//批量设置链接私有属性 +function set_link_attribute($api) { + $ids = $_POST['ids']; + $property = intval( $_POST['property'] ); + $data = [ + "ids" => $ids, + "property" => $property + ]; + $api->set_link_attribute($data); +} + +//导出链接数据 +function export_link($api) { + header('Content-Type: text/html;charset=utf8'); + $data = $api->export_link(); + //当前时间 + $current = time(); + echo <<< EOF +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> +<TITLE>从OneNav导出的书签 +

Bookmarks

+EOF; + //遍历结果 + foreach ($data as $key => $value) { + echo "

$key

\n"; + echo "

\n"; + foreach ($value as $link) { + $title = $link['title']; + $add_time = $link['add_time']; + $url = $link['url']; + echo "
$title
\n"; + } + echo "

\n"; + echo "
\n"; + + } +} + +//获取用户登录状态 +function check_login($api) { + $token = trim($_REQUEST['token']); + $api->check_login($token); +} + +//删除主题 +function delete_theme($api) { + $name = $_REQUEST['name']; + $api->delete_theme($name); +} + +//下载主题 +function down_theme() { + global $api; + $data['name'] = trim($_GET['name']); + $data['key'] = trim( $_GET['key'] ); + $data['value'] = trim( $_GET['value'] ); + $data['type'] = trim( $_GET['type'] ); + + $api->down_theme($data); +} + +//备份数据库 +function backup_db() { + global $api; + $api->backup_db(); +} + +//数据库备份列表 +function backup_db_list() { + global $api; + $api->backup_db_list(); +} + +//删除单个数据库备份 +function del_backup_db() { + global $api; + $name = @$_GET['name']; + $api->del_backup_db($name); +} + +//回滚数据库 +function restore_db() { + global $api; + $name = @$_REQUEST['name']; + $api->restore_db($name); +} + +//获取APPINFO +function app_info() { + $token = empty( $_POST['token'] ) ? $_GET['token'] : $_POST['token']; + global $api; + + $api->app_info($token); +} + +//下载数据库 +function down_db() { + global $api; + $name = $_GET['name']; + $api->down_db($name); +} + +//创建分享 +function create_share() { + global $api; + + $data['add_time'] = date("Y-m-d H:i:s",time()); + $data['expire_time'] = $_POST['expire_time']; + $data['password'] = trim($_POST['password']); + $data['cid'] = intval($_POST['cid']); + $data['note'] = $_POST['note']; + + $api->create_share($data); +} + +//分享列表 +function share_list() { + global $api; + $page = empty(intval($_REQUEST['page'])) ? 1 : intval($_REQUEST['page']); + $limit = empty(intval($_REQUEST['limit'])) ? 10 : intval($_REQUEST['limit']); + + $data = [ + 'page' => $page, + 'limit' => $limit + ]; + + $api->share_list($data); +} + +//获取SID下的链接 +function get_sid_links() { + global $api; + $data['sid'] = trim($_POST['sid']); + $data['password'] = trim($_POST['password']); + $api->get_sid_links($data); +} + +//删除分享 +function del_share() { + global $api; + $data['id'] = intval($_GET['id']); + //var_dump($data['id']); + + $api->del_share($data); +} + +//站点信息 +function site_info() { + global $api; + $api->site_info(); +} + +//删除图标 +function del_link_icon() { + global $api; + $api->del_link_icon(); +} + +// 修改单行链接 +function edit_link_row(){ + global $api; + $api->edit_link_row(); +} + +// 批量修改分类属性 +function set_cat_batch() { + $data['ids'] = $_POST['ids']; + $data['property'] = $_POST['property']; + global $api; + $api->set_cat_batch($data); +} + +// 全局搜索 +function global_search() { + global $api; + $api->global_search(); +} + +// 上传数据备份文件 +function upload_backup(){ + global $api; + $api->general_upload('data/backup/',['db3']); +} \ No newline at end of file diff --git a/controller/bing.php b/controller/bing.php new file mode 100644 index 0000000..bec3fed --- /dev/null +++ b/controller/bing.php @@ -0,0 +1,27 @@ +无效ID!

'; + require('templates/admin/403.php'); + exit(); +} + +//查询链接信息 +$link = $db->get('on_links',['id','fid','url','url_standby','property','click','title','description','font_icon'],[ + 'id' => $id +]); + +//如果查询失败 +if( !$link ){ + $msg = '

无效ID!

'; + require('templates/admin/403.php'); + exit(); +} + +//查询该ID的父及ID信息 +$category = $db->get('on_categorys',['id','property'],[ + 'id' => $link['fid'] +]); + +//判断用户是否登录 +if( is_login() ) { + $is_login = TRUE; +} + +//查询过渡页设置 +$transition_page = $db->get('on_options','value',[ 'key' => "s_transition_page" ]); +$transition_page = unserialize($transition_page); + +//获取当前站点信息 +$site = $db->get('on_options','value',[ 'key' => "s_site" ]); +$site = unserialize($site); + +//link.id为公有,且category.id为公有 +if( ( $link['property'] == 0 ) && ($category['property'] == 0) ){ + //增加link.id的点击次数 + $click = $link['click'] + 1; + //更新数据库 + $update = $db->update('on_links',[ + 'click' => $click + ],[ + 'id' => $id + ]); + //如果更新成功 + if($update) { + //判断是否开启过渡页面 + if ( ($transition_page['control'] == 'off') && ( empty($link['url_standby']) ) ){ + //进行header跳转 + header('location:'.$link['url']); + } + //如果备用链接不为空,或者开启了过渡页面 + else if( !empty($link['url_standby']) || ($transition_page['control'] == 'on') ) { + #加载跳转模板 + require('templates/admin/click.php'); + } + exit; + } +} +//如果已经成功登录,直接跳转 +elseif( is_login() ) { + //增加link.id的点击次数 + $click = $link['click'] + 1; + //更新数据库 + $update = $db->update('on_links',[ + 'click' => $click + ],[ + 'id' => $id + ]); + + //如果更新成功 + if($update) { + //判断是否开启过渡页面 + if ( ($transition_page['control'] == 'off') && ( empty($link['url_standby']) ) ){ + //进行header跳转 + header('location:'.$link['url']); + } + else if( !empty($link['url_standby']) || ($transition_page['control'] == 'on') ) { + #加载跳转模板 + require('templates/admin/click.php'); + } + exit; + } +} +//其它情况则没有权限 +else{ + $msg = '

很抱歉,该页面是私有的,您无权限访问此页面。

+

如果您是管理员,请尝试登录OneNav后台并重新访问。

'; + require('templates/admin/403.php'); + exit(); +} \ No newline at end of file diff --git a/controller/ico.php b/controller/ico.php new file mode 100644 index 0000000..af677f3 --- /dev/null +++ b/controller/ico.php @@ -0,0 +1,101 @@ +' . $first . ''; + //$value = 'data:image/svg+xml;base64,' . $src; + $value = $src; + return $value; +} + + +function hsv2rgb($h, $s, $v) +{ + $r = $g = $b = 0; + + $i = floor($h * 6); + $f = $h * 6 - $i; + $p = $v * (1 - $s); + $q = $v * (1 - $f * $s); + $t = $v * (1 - (1 - $f) * $s); + + switch ($i % 6) { + case 0: + $r = $v; + $g = $t; + $b = $p; + break; + case 1: + $r = $q; + $g = $v; + $b = $p; + break; + case 2: + $r = $p; + $g = $v; + $b = $t; + break; + case 3: + $r = $p; + $g = $q; + $b = $v; + break; + case 4: + $r = $t; + $g = $p; + $b = $v; + break; + case 5: + $r = $v; + $g = $p; + $b = $q; + break; + } + + return [ + floor($r * 255), + floor($g * 255), + floor($b * 255) + ]; +} + +/** + * 输出svg图像 + */ +function output_ico() { + //获取文字 + $text = @trim($_GET['text']); + $text = empty($text) ? '空' : $text; + + //获取当前主机名 + $host = $_SERVER['HTTP_HOST']; + //获取reffrer + $referer = $_SERVER['HTTP_REFERER']; + + //如果referer和主机名不匹配,则禁止调用 + if ( ( !empty($referer) ) && ( !strstr($referer,$host) ) ) { + exit('调用失败'); + } + else{ + header('Cache-Control: max-age=604800'); + header('Content-Type:image/svg+xml'); + echo letter_avatar($text); + } + +} + +//调用ico输出函数 +output_ico(); \ No newline at end of file diff --git a/controller/index.html b/controller/index.html new file mode 100755 index 0000000..0519ecb --- /dev/null +++ b/controller/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/controller/index.php b/controller/index.php new file mode 100755 index 0000000..d733e93 --- /dev/null +++ b/controller/index.php @@ -0,0 +1,317 @@ +get('on_options','value',[ 'key' => "s_site" ]); +$site = unserialize($site); +// 获取链接数量,默认为30 +$link_num = empty( $site['link_num'] ) ? 30 : intval($site['link_num']); + +//如果已经登录,获取所有分类和链接 +// 载入辅助函数 +require('functions/helper.php'); +if( is_login() ){ + //查询所有分类目录 + $categorys = []; + //查询一级分类目录,分类fid为0的都是一级分类 + $category_parent = $db->select('on_categorys','*',[ + "fid" => 0, + "ORDER" => ["weight" => "DESC"] + ]); + //遍历一级分类,然后获取下面的二级分类,获取到了就push + foreach ($category_parent as $key => $value) { + //把一级分类先加入到空数组 + array_push($categorys,$value); + //然后查询他下面的子分类,再追加到数组 + $category_subs = $db->select('on_categorys','*',[ + "fid" => $value['id'], + "ORDER" => ["weight" => "DESC"] + ]); + + foreach ($category_subs as $category_sub) { + array_push($categorys,$category_sub); + } + } + //根据分类ID查询二级分类,分类fid大于0的都是二级分类 + function get_category_sub($id) { + global $db; + $id = intval($id); + + $category_sub = $db->select('on_categorys','*',[ + "fid" => $id, + "ORDER" => ["weight" => "DESC"] + ]); + + return $category_sub; + } + + //根据category id查询链接 + function get_links($fid) { + global $db; + $fid = intval($fid); + $links = $db->select('on_links','*',[ + 'fid' => $fid, + 'ORDER' => ["weight" => "DESC"] + ]); + return $links; + } + + //根据category id查询有限链接 + function get_limit_links($fid) { + global $db; + global $link_num; + $fid = intval($fid); + $links = $db->select('on_links','*',[ + 'fid' => $fid, + 'ORDER' => ["weight" => "DESC"], + 'LIMIT' => $link_num + ]); + + return $links; + } + + //右键菜单标识 + $onenav['right_menu'] = 'admin_menu();'; +} +//如果没有登录,只获取公有链接 +else{ + //查询分类目录 + $categorys = []; + //查询一级分类目录,分类fid为0的都是一级分类 + $category_parent = $db->select('on_categorys','*',[ + "fid" => 0, + 'property' => 0, + "ORDER" => ["weight" => "DESC"] + ]); + //遍历一级分类,然后获取下面的二级分类,获取到了就push + foreach ($category_parent as $key => $value) { + //把一级分类先加入到空数组 + array_push($categorys,$value); + //然后查询他下面的子分类,再追加到数组 + $category_subs = $db->select('on_categorys','*',[ + "fid" => $value['id'], + 'property' => 0, + "ORDER" => ["weight" => "DESC"] + ]); + + foreach ($category_subs as $category_sub) { + array_push($categorys,$category_sub); + } + } + //根据分类ID查询二级分类,分类fid大于0的都是二级分类 + function get_category_sub($id) { + global $db; + $id = intval($id); + + $category_sub = $db->select('on_categorys','*',[ + "fid" => $id, + 'property' => 0, + "ORDER" => ["weight" => "DESC"] + ]); + + return $category_sub; + } + //根据category id查询链接 + function get_links($fid) { + global $db; + global $link_num; + $fid = intval($fid); + $links = $db->select('on_links','*',[ + 'fid' => $fid, + 'property' => 0, + 'ORDER' => ["weight" => "DESC"] + ]); + return $links; + } + //根据category id查询有限链接 + function get_limit_links($fid) { + global $db; + $fid = intval($fid); + $links = $db->select('on_links','*',[ + 'fid' => $fid, + 'property' => 0, + 'ORDER' => ["weight" => "DESC"], + 'LIMIT' => $link_num + ]); + return $links; + } + //右键菜单标识 + $onenav['right_menu'] = 'user_menu();'; +} + +// 新增一个可变函数,来根据不同的情况使用不同的方法查询分类下的链接 +$get_links = 'get_limit_links'; +//获取分类ID +$cid = @$_GET['cid']; + +// 如果存在分类ID,则只查询这个分类 +if ( !empty($cid) ) { + foreach ($categorys as $key => $tmp) { + if( $tmp['id'] == $cid ) { + $empty_cat[0] = $tmp; + break; + } + } + $get_links = 'get_links'; + unset($categorys); + $categorys[0] = $empty_cat[0]; +} + +//获取版本号 +function get_version(){ + if( file_exists('version.txt') ) { + $version = @file_get_contents('version.txt'); + return $version; + } + else{ + $version = 'null'; + return $version; + } +} + +//将URL转换为base64编码 +function base64($url){ + $urls = parse_url($url); + + //获取请求协议 + $scheme = empty( $urls['scheme'] ) ? 'http://' : $urls['scheme'].'://'; + //获取主机名 + $host = $urls['host']; + //获取端口 + $port = empty( $urls['port'] ) ? '' : ':'.$urls['port']; + + $new_url = $scheme.$host.$port; + return base64_encode($new_url); +} + +//获取版本号 +$version = get_version(); +//载入js扩展 +if( file_exists('data/extend.js') ) { + $onenav['extend'] = ''; +} +else{ + $onenav['extend'] = ''; +} + + +// 载入前台首页模板 +//查询主题设置 +$template = $db->get("on_options","value",[ + "key" => "theme" +]); +//获取用户传递的主题参数 +$theme = trim( @$_GET['theme'] ); +//如果用户传递了主题参数 +if( !empty($theme) ) { + //获取所有主题 + $themes = get_all_themes(); + + //查找主题是否存在 + if( array_search($theme,$themes) !== FALSE ) { + //改变默认主题 + $template = $theme; + } + else{ + //主题不存在,终止执行 + exit("

主题参数错误!

"); + } +} + + +//获取主题配置信息 +if( file_exists("templates/".$template."/config.json") ) { + $config_file = "templates/".$template."/config.json"; +} +else if( file_exists("data/templates/".$template."/config.json") ) { + $config_file = "data/templates/".$template."/config.json"; +} +else if( file_exists("templates/".$template."/info.json") ) { + $config_file = "templates/".$template."/info.json"; +} +else { + $config_file = "data/templates/".$template."/info.json"; +} + +//读取主题配置 +$config_content = @file_get_contents($config_file); +//如果是info.json,则特殊处理下 +if ( strstr($config_file,"info.json") ) { + $config_content = json_decode($config_content); + $theme_config = $config_content->config; +} +else{ + $config_content = $config_content; + $theme_config = json_decode($config_content); +} + + + + +//判断文件夹是否存在 +if( is_dir('templates/'.$template) ){ + $tpl_dir = 'templates/'; +} +else{ + $tpl_dir = 'data/templates/'; +} + +//定义搜索引擎 +$search_engines = [ + "baidu" => [ + "name" => "百度", + "url" => "https://www.baidu.com/s?ie=utf-8&word=" + ], + "google" => [ + "name" => "Google", + "url" => "https://www.google.com/search?q=" + ], + "bing" => [ + "name" => "必应", + "url" => "https://cn.bing.com/search?FORM=BESBTB&q=" + ], + "sogou" => [ + "name" => "搜狗", + "url" => "https://www.sogou.com/web?query=" + ], + "so360" => [ + "name" => "360搜索", + "url" => "https://www.so.com/s?ie=utf-8&fr=none&src=360sou_newhome&ssid=&q=" + ], + "zhihu" => [ + "name" => "知乎", + "url" => "https://www.zhihu.com/search?type=content&q=" + ], + "weibo" => [ + "name" => "微博", + "url" => "https://s.weibo.com/weibo?q=" + ] +]; + +//获取主题的最低版本要求 +$info_json = @file_get_contents($tpl_dir.$template."/info.json"); + +if( $info_json ) { + $info = json_decode($info_json); + + $min_version = @$info->require->min; + //获取到了最低版本 + if( !empty($min_version) ) { + //如果主程序不满足主题要求 + if( new_get_version() < $min_version ) { + $onenav_version = new_get_version(); + exit($template."主题要求最低OneNav版本为:".$min_version.",您当前OneNav版本为:".$onenav_version.",请先升级OneNav版本!"); + } + } +} + +// 该分类下可见的链接数量 +function get_links_number($fid){ + $number = count(get_links($fid)); + return $number; +} + +//载入主题 +require($tpl_dir.$template.'/index.php'); \ No newline at end of file diff --git a/controller/init.php b/controller/init.php new file mode 100644 index 0000000..b1395ce --- /dev/null +++ b/controller/init.php @@ -0,0 +1,116 @@ + + */ + + /** + * 安装前先检查环境 + */ +function check_env() { + //获取组件信息 + $ext = get_loaded_extensions(); + //检查PHP版本,需要大于5.6小于8.0 + $php_version = floatval(PHP_VERSION); + $uri = $_SERVER["REQUEST_URI"]; + + if( ( $php_version < 5.6 ) || ( $php_version > 8 ) ) { + exit("当前PHP版本{$php_version}不满足要求,需要5.6 <= PHP <= 7.4"); + } + + //检查是否支持pdo_sqlite + if ( !array_search('pdo_sqlite',$ext) ) { + exit("不支持PDO_SQLITE组件,请先开启!"); + } + //如果配置文件存在 + if( file_exists("data/config.php") ) { + exit("配置文件已存在,无需再次初始化!"); + } + //检查是否是二级目录 + $pattern = '/\/[a-z0-9\/]+$/'; + if( preg_match_all($pattern,$uri) ) { + exit("暂不支持二级目录安装!"); + } + return TRUE; +} + +/** + * 安装OneNav + */ +function install() { + if( !file_exists('./data/config.php') ) { + //复制配置文件 + //加载初始化模板 + require("templates/admin/init.php"); + exit(); + } + else { + + } +} + +function err_msg($code,$err_msg){ + $data = [ + 'code' => $code, + 'err_msg' => $err_msg + ]; + //返回json类型 + header('Content-Type:application/json; charset=utf-8'); + exit(json_encode($data)); +} +/** + * 初始化设置OneNav + */ +function init($data){ + //判断参数是否为空 + if( empty($data['username']) || empty($data['password']) ) { + err_msg(-2000,'用户名或密码不能为空!'); + } + $config_file = "data/config.php"; + //检查配置文件是否存在,存在则不允许设置 + if( file_exists($config_file) ) { + err_msg(-2000,'配置文件已存在,无需再次初始化!'); + } + //复制配置文件 + + //读取配置文件内容 + $content = file_get_contents("config.simple.php"); + //替换内容 + $content = str_replace('{email}',$data['email'],$content); + $content = str_replace('{username}',$data['username'],$content); + $content = str_replace('{password}',$data['password'],$content); + + //写入配置文件 + if( !file_put_contents($config_file,$content) ) { + err_msg(-2000,'写入配置文件失败,请检查目录权限!'); + } + else{ + //成功并返回json格式 + $data = [ + 'code' => 200, + 'msg' => "初始化完成!" + ]; + header('Content-Type:application/json; charset=utf-8'); + exit(json_encode($data)); + } +} + +$c = @$_GET['c']; + +check_env(); + +if ( $c == 'init' ) { + //接收POST参数 + $email = htmlspecialchars(trim($_POST['email'])); + $username = htmlspecialchars(trim($_POST['username'])); + $password = htmlspecialchars(trim($_POST['password'])); + $data = [ + "email" => $email, + "username" => $username, + "password" => $password + ]; + init($data); +} +else{ + install(); +} diff --git a/controller/login.php b/controller/login.php new file mode 100755 index 0000000..2d2d6ce --- /dev/null +++ b/controller/login.php @@ -0,0 +1,68 @@ + 0, + 'msg' => 'successful' + ]; + } + else{ + $data = [ + 'code' => -1012, + 'err_msg' => '用户名或密码错误!' + ]; + + + } + exit(json_encode($data)); +} +//如果cookie的值和计算的key不一致,则没有权限 + + +// if ( ($_SERVER['PHP_AUTH_PW'] !== $password) || ($_SERVER['PHP_AUTH_USER'] !== $username) ){ +// header('WWW-Authenticate: Basic realm="Please verify."'); +// header('HTTP/1.0 401 Unauthorized'); +// exit("

认证失败!

"); +// } +// else{ + +// $key = md5($username.$password.$ip.'onenav'); +// //设置cookie +// setcookie("key", $key, time()+7 * 24 * 60 * 60,"/"); +// header('location:index.php?c=admin'); +// } + + +// 载入后台登录模板 +require('templates/admin/login.php'); \ No newline at end of file diff --git a/controller/mobile.php b/controller/mobile.php new file mode 100644 index 0000000..60e3944 --- /dev/null +++ b/controller/mobile.php @@ -0,0 +1,27 @@ +认证失败,请重新登录!"; + require('templates/admin/403.php'); + exit; + } +} + +// 载入前台首页模板 +require('templates/mobile/index.php'); \ No newline at end of file diff --git a/controller/universal.php b/controller/universal.php new file mode 100644 index 0000000..578414a --- /dev/null +++ b/controller/universal.php @@ -0,0 +1,17 @@ +get('on_options','value',[ 'key' => "s_site" ]); +$site = unserialize($site); + + +//载入视图 +require('templates/universal/index.php'); \ No newline at end of file diff --git a/data/.htaccess b/data/.htaccess new file mode 100755 index 0000000..baa56e5 --- /dev/null +++ b/data/.htaccess @@ -0,0 +1,2 @@ +order allow,deny +deny from all \ No newline at end of file diff --git a/data/config.php b/data/config.php new file mode 100644 index 0000000..b2730a0 --- /dev/null +++ b/data/config.php @@ -0,0 +1,34 @@ + 'sqlite', + 'database_file' => 'data/onenav.db3' +]); + +//用户名 +define('USER','qnloft'); +//密码 +define('PASSWORD','123456'); +//邮箱,用于后台Gravatar头像显示 +define('EMAIL',''); +//token参数,API需要使用,0.9.19版本这个废弃了,请通过后台设置 +define('TOKEN','xiaoz.me'); +//主题风格,0.9.18废弃了,请通过后台设置 +define('TEMPLATE','default'); + +//站点信息 +$site_setting = []; +//站点标题 +$site_setting['title'] = 'OneNav'; +//文字Logo +$site_setting['logo'] = 'OneNav'; +//站点关键词 +$site_setting['keywords'] = 'OneNav,OneNav导航,OneNav书签,开源导航,开源书签,简洁导航,云链接,个人导航,个人书签'; +//站点描述 +$site_setting['description'] = 'OneNav是一款使用PHP + SQLite3开发的简约导航/书签管理器,免费开源。'; + +//这两项不要修改 +$site_setting['user'] = USER; +$site_setting['password'] = PASSWORD; \ No newline at end of file diff --git a/data/index.html b/data/index.html new file mode 100755 index 0000000..0519ecb --- /dev/null +++ b/data/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/onenav.db3 b/data/onenav.db3 new file mode 100644 index 0000000..624d7a3 Binary files /dev/null and b/data/onenav.db3 differ diff --git a/db/index.html b/db/index.html new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/db/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/db/onenav.simple.db3 b/db/onenav.simple.db3 new file mode 100644 index 0000000..0ae2cbe Binary files /dev/null and b/db/onenav.simple.db3 differ diff --git a/db/sql/20220308.sql b/db/sql/20220308.sql new file mode 100644 index 0000000..a7276ce --- /dev/null +++ b/db/sql/20220308.sql @@ -0,0 +1,6 @@ +-- 分类目录增加字体图标列 +ALTER TABLE on_categorys ADD font_icon TEXT(32); +-- 链接表新增字段topping,默认值0(不置顶),1为置顶,先保留后续使用 +ALTER TABLE on_links ADD topping INTEGER DEFAULT 0 NOT NULL; +-- 增加一个备用链接字段 +ALTER TABLE on_links ADD url_standby TEXT(256); \ No newline at end of file diff --git a/db/sql/20220311.sql b/db/sql/20220311.sql new file mode 100644 index 0000000..895b214 --- /dev/null +++ b/db/sql/20220311.sql @@ -0,0 +1,5 @@ +CREATE UNIQUE INDEX on_db_logs_sql_name_IDX ON on_db_logs (sql_name); +-- 链接表新增字段topping,默认值0(不置顶),1为置顶,先保留后续使用 +ALTER TABLE on_links ADD topping INTEGER DEFAULT 0 NOT NULL; +-- 增加一个备用链接字段 +ALTER TABLE on_links ADD url_standby TEXT(256); \ No newline at end of file diff --git a/db/sql/20220413.sql b/db/sql/20220413.sql new file mode 100644 index 0000000..dad463a --- /dev/null +++ b/db/sql/20220413.sql @@ -0,0 +1,18 @@ +DROP TABLE on_options; +CREATE TABLE on_options ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "key" TEXT(64) NOT NULL, + "value" TEXT, + "extend" TEXT, + CONSTRAINT "option_key_only" UNIQUE ("key" ASC) +); + +CREATE INDEX "main"."on_options_id_IDX" +ON "on_options" ( + "id" ASC, + "key" ASC +); +CREATE INDEX "main"."on_options_key_IDX" +ON "on_options" ( + "key" ASC +); \ No newline at end of file diff --git a/db/sql/20220414.sql b/db/sql/20220414.sql new file mode 100644 index 0000000..e5aa82a --- /dev/null +++ b/db/sql/20220414.sql @@ -0,0 +1,3 @@ +INSERT INTO on_options ("key", value, extend) VALUES('theme', 'default', NULL); +INSERT INTO on_options ("key", value, extend) VALUES('s_site', 'a:6:{s:5:"title";s:6:"OneNav";s:4:"logo";s:0:"";s:8:"subtitle";s:24:"开源书签管理程序";s:8:"keywords";s:107:"OneNav,OneNav导航,OneNav书签,开源导航,开源书签,简洁导航,云链接,个人导航,个人书签";s:11:"description";s:319:"OneNav是一款开源免费的书签(导航)管理程序,由xiaoz使用使用PHP + SQLite 3开发,界面简洁,安装简单,使用方便。OneNav可帮助你将浏览器书签集中式管理,解决跨设备、跨平台、跨浏览器之间同步和访问困难问题,做到一处部署,随处访问。";s:13:"custom_header";s:0:"";}', NULL); +INSERT INTO on_options ("key", value, extend) VALUES('s_transition_page', 'a:3:{s:7:"control";s:3:"off";s:17:"visitor_stay_time";i:5;s:15:"admin_stay_time";i:0;}', NULL); diff --git a/db/sql/20220419.sql b/db/sql/20220419.sql new file mode 100644 index 0000000..7ba9759 --- /dev/null +++ b/db/sql/20220419.sql @@ -0,0 +1 @@ +ALTER TABLE on_categorys ADD fid INTEGER DEFAULT 0 NOT NULL; \ No newline at end of file diff --git a/db/sql/20221114.sql b/db/sql/20221114.sql new file mode 100644 index 0000000..db6270a --- /dev/null +++ b/db/sql/20221114.sql @@ -0,0 +1,10 @@ +CREATE TABLE on_shares ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + sid TEXT(8) NOT NULL, + add_time TEXT(10) NOT NULL, + expire_time TEXT(10) NOT NULL, + password TEXT(16), + cid INTEGER NOT NULL, + note TEXT(2048) +); +CREATE UNIQUE INDEX on_shares_sid_IDX ON on_shares (sid); \ No newline at end of file diff --git a/db/sql/20221129.sql b/db/sql/20221129.sql new file mode 100644 index 0000000..014a5a7 --- /dev/null +++ b/db/sql/20221129.sql @@ -0,0 +1 @@ +ALTER TABLE on_links ADD font_icon TEXT(512); \ No newline at end of file diff --git a/db/sql/on_db_logs.sql b/db/sql/on_db_logs.sql new file mode 100644 index 0000000..8f225e0 --- /dev/null +++ b/db/sql/on_db_logs.sql @@ -0,0 +1,11 @@ +-- 2022/03/07数据库升级脚本 +-- 创建数据库升级记录表,用于新增的SQL升级成功后记录到表,方便下次比对 +CREATE TABLE on_db_logs ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + sql_name TEXT(32) NOT NULL, + update_time NUMERIC NOT NULL, + status TEXT(5) DEFAULT 'TRUE' NOT NULL, + extra TEXT(512), + CONSTRAINT on_db_logs_UN UNIQUE (sql_name) +); +CREATE UNIQUE INDEX on_db_logs_sql_name_IDX ON on_db_logs (sql_name); diff --git a/favicon.ico b/favicon.ico new file mode 100755 index 0000000..3ab7e13 Binary files /dev/null and b/favicon.ico differ diff --git a/functions/.htaccess b/functions/.htaccess new file mode 100755 index 0000000..baa56e5 --- /dev/null +++ b/functions/.htaccess @@ -0,0 +1,2 @@ +order allow,deny +deny from all \ No newline at end of file diff --git a/functions/helper.php b/functions/helper.php new file mode 100755 index 0000000..76dd67f --- /dev/null +++ b/functions/helper.php @@ -0,0 +1,205 @@ +'; + } + else{ + echo ''; + } +} + +//curl get请求 +function curl_get($url,$timeout = 10) { + $curl = curl_init($url); + #设置useragent + curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36"); + curl_setopt($curl, CURLOPT_FAILONERROR, true); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + #设置超时时间,最小为1s(可选) + curl_setopt($curl , CURLOPT_TIMEOUT, $timeout); + + $html = curl_exec($curl); + curl_close($curl); + return $html; +} + +//获取版本号,新写的 +function new_get_version(){ + if( file_exists('version.txt') ) { + $version = @file_get_contents('version.txt'); + $version = explode("-",$version)[0]; + $version = str_replace("v","",$version); + return $version; + } + else{ + $version = 'null'; + return $version; + } +} + +//随机数生成 +function GetRandStr($len) +{ + $chars = array( + "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", + "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", + "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", + "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", + "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", + "3", "4", "5", "6", "7", "8", "9" + ); + $charsLen = count($chars) - 1; + shuffle($chars); + $output = ""; + for ($i=0; $i<$len; $i++) + { + $output .= $chars[mt_rand(0, $charsLen)]; + } + return $output; +} + +//跳转到手机版页面 +function jump_mobile() { + $ua = $_SERVER['HTTP_USER_AGENT']; + + if( stristr($ua,'iphone') || stristr($ua,'android') ) { + header("Location: /index.php?c=mobile#/"); + exit; + } +} + +//获取所有主题 +function get_all_themes() { + //主题目录 + $tpl_dir1 = dirname(__DIR__).'/templates/'; + //备用主题目录 + $tpl_dir2 = dirname(__DIR__).'/data/templates/'; + + //声明两个空数组用来存放模板目录列表 + $tpl_one = []; + $tpl_two = []; + //遍历第一个目录 + foreach ( scandir($tpl_dir1) as $value) { + //完整的路径 + $path = $tpl_dir1.$value; + //如果是目录,则push到目录列表1 + if( is_dir($path) ) { + switch ($value) { + case '.': + case '..': + case 'admin': + case 'mobile': + case 'universal': + continue; + break; + default: + array_push($tpl_one,$value); + break; + } + + } + else{ + continue; + } + } + //如果第二个目录存在,则遍历 + if( is_dir($tpl_dir2) ) { + foreach ( scandir($tpl_dir2) as $value) { + //完整的路径 + $path = $tpl_dir2.$value; + //如果是目录,则push到目录列表1 + if( is_dir($path) ) { + switch ($value) { + case '.': + case '..': + case 'admin': + continue; + break; + default: + array_push($tpl_two,$value); + break; + } + } + else{ + continue; + } + } + } + + //合并目录 + //现在$tpl_one是合并后的完整主题列表 + $tpls = array_merge($tpl_one,$tpl_two); + + $tpls = array_unique($tpls); + return $tpls; +} + +// 获取HOST,需要去除端口号 +function get_host(){ + $host = $_SERVER['HTTP_HOST']; + $parsed_host = parse_url($host); + //var_dump($parsed_host); + if (isset($parsed_host['port']) && $parsed_host['port'] != 80 && $parsed_host['port'] != 443) { + $host = $parsed_host['host']; + } + return $host; +} + +// 获取当前域名,比如https://nav.rss.ink +function getCurrentUrlDomain() { + + $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; + + $url_parts = parse_url($url); + + $domain = $url_parts['scheme'] . '://' . $url_parts['host']; + + if(!empty($url_parts['port'])) { + $domain .= ':' . $url_parts['port']; + } + + return $domain; + +} \ No newline at end of file diff --git a/index.php b/index.php new file mode 100755 index 0000000..49e57a3 --- /dev/null +++ b/index.php @@ -0,0 +1,53 @@ +配置文件不存在,请将站点目录下的config.simple.php复制为data/config.php'); +} +//检查数据库是否存在,不存在则复制数据库 +if( !file_exists('./data/onenav.db3') ) { + if ( !copy('db/onenav.simple.db3','data/onenav.db3') ) { + exit("数据库复制失败,请检查目录权限!"); + } + // copy('db/.htaccess','data/.htaccess'); +} + +//载入配置文件 +require("./data/config.php"); + +//根据不同的请求载入不同的方法 +//如果没有请求控制器 +if((!isset($c)) || ($c == '')){ + //载入主页 + include_once("./controller/index.php"); + +} + +else{ + //对请求参数进行过滤,同时检查文件是否存在 + $c = str_replace('\\','/',$c); + $pattern = "%\./%"; + if ( preg_match_all($pattern,$c) ) { + exit('非法请求!'); + } + //控制器文件 + $controller_file = "./controller/".$c.'.php'; + if( file_exists($controller_file) ) { + include_once($controller_file); + } else{ + exit('Controller not exist!'); + } + +} \ No newline at end of file diff --git a/nginx.rewrite b/nginx.rewrite new file mode 100644 index 0000000..9507f49 --- /dev/null +++ b/nginx.rewrite @@ -0,0 +1,15 @@ +#安全设置 +location ~* ^/(class|controller|db|data|functions|templates)/.*.(db3|php|php5|sql)$ { + return 403; +} +location ~* ^/(data)/.*.(html)$ { + deny all; +} +location /db { + deny all; +} + +#伪静态 +rewrite ^/click/(.*) /index.php?c=click&id=$1 break; +rewrite ^/api/(.*)?(.*) /index.php?c=api&method=$1&$2 break; +rewrite /login /index.php?c=login break; \ No newline at end of file diff --git a/static/bootstrap4/css/bootstrap-grid.css b/static/bootstrap4/css/bootstrap-grid.css new file mode 100644 index 0000000..bf2181b --- /dev/null +++ b/static/bootstrap4/css/bootstrap-grid.css @@ -0,0 +1,3872 @@ +/*! + * Bootstrap Grid v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/static/bootstrap4/css/bootstrap-grid.css.map b/static/bootstrap4/css/bootstrap-grid.css.map new file mode 100644 index 0000000..a700e2b --- /dev/null +++ b/static/bootstrap4/css/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/_functions.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ADEF;EACE,sBAAsB;EACtB,6BAA6B;ACA/B;;ADGA;;;EAGE,mBAAmB;ACArB;;ACTE;;;;;;ECDA,WAAW;EACX,mBAA2B;EAC3B,kBAA0B;EAC1B,kBAAkB;EAClB,iBAAiB;AFmBnB;;AGgCI;EFzCE;IACE,gBG+LG;EJlLT;AACF;;AG0BI;EFzCE;IACE,gBGgMG;EJ7KT;AACF;;AGoBI;EFzCE;IACE,gBGiMG;EJxKT;AACF;;AGcI;EFzCE;IACE,iBGkMI;EJnKV;AACF;;ACJE;ECnCA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA2B;EAC3B,kBAA0B;AF2C5B;;ACLE;EACE,eAAe;EACf,cAAc;ADQlB;;ACVE;;EAMI,gBAAgB;EAChB,eAAe;ADSrB;;AK/DE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA2B;EAC3B,kBAA0B;ALuE9B;;AKjDM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;ALoDvB;;AK/CU;EHwBN,kBIyHqD;EJzHrD,cIyHqD;EJxHrD,eIwHqD;AN7FzD;;AKpDU;EHwBN,iBIyHqD;EJzHrD,aIyHqD;EJxHrD,cIwHqD;ANxFzD;;AKzDU;EHwBN,wBIyHqD;EJzHrD,oBIyHqD;EJxHrD,qBIwHqD;ANnFzD;;AK9DU;EHwBN,iBIyHqD;EJzHrD,aIyHqD;EJxHrD,cIwHqD;AN9EzD;;AKnEU;EHwBN,iBIyHqD;EJzHrD,aIyHqD;EJxHrD,cIwHqD;ANzEzD;;AKxEU;EHwBN,wBIyHqD;EJzHrD,oBIyHqD;EJxHrD,qBIwHqD;ANpEzD;;AKvEM;EHCJ,kBAAc;EAAd,cAAc;EACd,WAAW;EACX,eAAe;AF0EjB;;AKvEU;EHbR,uBAA6C;EAA7C,mBAA6C;EAI7C,oBAA8C;AFqFhD;;AK5EU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AF0FhD;;AKjFU;EHbR,iBAA6C;EAA7C,aAA6C;EAI7C,cAA8C;AF+FhD;;AKtFU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFoGhD;;AK3FU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFyGhD;;AKhGU;EHbR,iBAA6C;EAA7C,aAA6C;EAI7C,cAA8C;AF8GhD;;AKrGU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFmHhD;;AK1GU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFwHhD;;AK/GU;EHbR,iBAA6C;EAA7C,aAA6C;EAI7C,cAA8C;AF6HhD;;AKpHU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFkIhD;;AKzHU;EHbR,wBAA6C;EAA7C,oBAA6C;EAI7C,qBAA8C;AFuIhD;;AK9HU;EHbR,kBAA6C;EAA7C,cAA6C;EAI7C,eAA8C;AF4IhD;;AK7HM;EAAwB,kBAAS;EAAT,SAAS;ALiIvC;;AK/HM;EAAuB,kBDmKG;ECnKH,SDmKG;AJhChC;;AKhIQ;EAAwB,iBADZ;EACY,QADZ;ALqIpB;;AKpIQ;EAAwB,iBADZ;EACY,QADZ;ALyIpB;;AKxIQ;EAAwB,iBADZ;EACY,QADZ;AL6IpB;;AK5IQ;EAAwB,iBADZ;EACY,QADZ;ALiJpB;;AKhJQ;EAAwB,iBADZ;EACY,QADZ;ALqJpB;;AKpJQ;EAAwB,iBADZ;EACY,QADZ;ALyJpB;;AKxJQ;EAAwB,iBADZ;EACY,QADZ;AL6JpB;;AK5JQ;EAAwB,iBADZ;EACY,QADZ;ALiKpB;;AKhKQ;EAAwB,iBADZ;EACY,QADZ;ALqKpB;;AKpKQ;EAAwB,iBADZ;EACY,QADZ;ALyKpB;;AKxKQ;EAAwB,kBADZ;EACY,SADZ;AL6KpB;;AK5KQ;EAAwB,kBADZ;EACY,SADZ;ALiLpB;;AKhLQ;EAAwB,kBADZ;EACY,SADZ;ALqLpB;;AK7KY;EHhBV,sBAA8C;AFiMhD;;AKjLY;EHhBV,uBAA8C;AFqMhD;;AKrLY;EHhBV,gBAA8C;AFyMhD;;AKzLY;EHhBV,uBAA8C;AF6MhD;;AK7LY;EHhBV,uBAA8C;AFiNhD;;AKjMY;EHhBV,gBAA8C;AFqNhD;;AKrMY;EHhBV,uBAA8C;AFyNhD;;AKzMY;EHhBV,uBAA8C;AF6NhD;;AK7MY;EHhBV,gBAA8C;AFiOhD;;AKjNY;EHhBV,uBAA8C;AFqOhD;;AKrNY;EHhBV,uBAA8C;AFyOhD;;AGpOI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELmQrB;EK9PQ;IHwBN,kBIyHqD;IJzHrD,cIyHqD;IJxHrD,eIwHqD;ENiHvD;EKlQQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENqHvD;EKtQQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENyHvD;EK1QQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;EN6HvD;EK9QQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENiIvD;EKlRQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENqIvD;EKhRI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFkRf;EK/QQ;IHbR,uBAA6C;IAA7C,mBAA6C;IAI7C,oBAA8C;EF4R9C;EKnRQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFgS9C;EKvRQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFoS9C;EK3RQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFwS9C;EK/RQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF4S9C;EKnSQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFgT9C;EKvSQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFoT9C;EK3SQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFwT9C;EK/SQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EF4T9C;EKnTQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFgU9C;EKvTQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFoU9C;EK3TQ;IHbR,kBAA6C;IAA7C,cAA6C;IAI7C,eAA8C;EFwU9C;EKzTI;IAAwB,kBAAS;IAAT,SAAS;EL4TrC;EK1TI;IAAuB,kBDmKG;ICnKH,SDmKG;EJ0J9B;EK1TM;IAAwB,iBADZ;IACY,QADZ;EL8TlB;EK7TM;IAAwB,iBADZ;IACY,QADZ;ELiUlB;EKhUM;IAAwB,iBADZ;IACY,QADZ;ELoUlB;EKnUM;IAAwB,iBADZ;IACY,QADZ;ELuUlB;EKtUM;IAAwB,iBADZ;IACY,QADZ;EL0UlB;EKzUM;IAAwB,iBADZ;IACY,QADZ;EL6UlB;EK5UM;IAAwB,iBADZ;IACY,QADZ;ELgVlB;EK/UM;IAAwB,iBADZ;IACY,QADZ;ELmVlB;EKlVM;IAAwB,iBADZ;IACY,QADZ;ELsVlB;EKrVM;IAAwB,iBADZ;IACY,QADZ;ELyVlB;EKxVM;IAAwB,kBADZ;IACY,SADZ;EL4VlB;EK3VM;IAAwB,kBADZ;IACY,SADZ;EL+VlB;EK9VM;IAAwB,kBADZ;IACY,SADZ;ELkWlB;EK1VU;IHhBV,cAA4B;EF6W5B;EK7VU;IHhBV,sBAA8C;EFgX9C;EKhWU;IHhBV,uBAA8C;EFmX9C;EKnWU;IHhBV,gBAA8C;EFsX9C;EKtWU;IHhBV,uBAA8C;EFyX9C;EKzWU;IHhBV,uBAA8C;EF4X9C;EK5WU;IHhBV,gBAA8C;EF+X9C;EK/WU;IHhBV,uBAA8C;EFkY9C;EKlXU;IHhBV,uBAA8C;EFqY9C;EKrXU;IHhBV,gBAA8C;EFwY9C;EKxXU;IHhBV,uBAA8C;EF2Y9C;EK3XU;IHhBV,uBAA8C;EF8Y9C;AACF;;AG1YI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELyarB;EKpaQ;IHwBN,kBIyHqD;IJzHrD,cIyHqD;IJxHrD,eIwHqD;ENuRvD;EKxaQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;EN2RvD;EK5aQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;EN+RvD;EKhbQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENmSvD;EKpbQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENuSvD;EKxbQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;EN2SvD;EKtbI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFwbf;EKrbQ;IHbR,uBAA6C;IAA7C,mBAA6C;IAI7C,oBAA8C;EFkc9C;EKzbQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFsc9C;EK7bQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EF0c9C;EKjcQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF8c9C;EKrcQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFkd9C;EKzcQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFsd9C;EK7cQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF0d9C;EKjdQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF8d9C;EKrdQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFke9C;EKzdQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFse9C;EK7dQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF0e9C;EKjeQ;IHbR,kBAA6C;IAA7C,cAA6C;IAI7C,eAA8C;EF8e9C;EK/dI;IAAwB,kBAAS;IAAT,SAAS;ELkerC;EKheI;IAAuB,kBDmKG;ICnKH,SDmKG;EJgU9B;EKheM;IAAwB,iBADZ;IACY,QADZ;ELoelB;EKneM;IAAwB,iBADZ;IACY,QADZ;ELuelB;EKteM;IAAwB,iBADZ;IACY,QADZ;EL0elB;EKzeM;IAAwB,iBADZ;IACY,QADZ;EL6elB;EK5eM;IAAwB,iBADZ;IACY,QADZ;ELgflB;EK/eM;IAAwB,iBADZ;IACY,QADZ;ELmflB;EKlfM;IAAwB,iBADZ;IACY,QADZ;ELsflB;EKrfM;IAAwB,iBADZ;IACY,QADZ;ELyflB;EKxfM;IAAwB,iBADZ;IACY,QADZ;EL4flB;EK3fM;IAAwB,iBADZ;IACY,QADZ;EL+flB;EK9fM;IAAwB,kBADZ;IACY,SADZ;ELkgBlB;EKjgBM;IAAwB,kBADZ;IACY,SADZ;ELqgBlB;EKpgBM;IAAwB,kBADZ;IACY,SADZ;ELwgBlB;EKhgBU;IHhBV,cAA4B;EFmhB5B;EKngBU;IHhBV,sBAA8C;EFshB9C;EKtgBU;IHhBV,uBAA8C;EFyhB9C;EKzgBU;IHhBV,gBAA8C;EF4hB9C;EK5gBU;IHhBV,uBAA8C;EF+hB9C;EK/gBU;IHhBV,uBAA8C;EFkiB9C;EKlhBU;IHhBV,gBAA8C;EFqiB9C;EKrhBU;IHhBV,uBAA8C;EFwiB9C;EKxhBU;IHhBV,uBAA8C;EF2iB9C;EK3hBU;IHhBV,gBAA8C;EF8iB9C;EK9hBU;IHhBV,uBAA8C;EFijB9C;EKjiBU;IHhBV,uBAA8C;EFojB9C;AACF;;AGhjBI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EL+kBrB;EK1kBQ;IHwBN,kBIyHqD;IJzHrD,cIyHqD;IJxHrD,eIwHqD;EN6bvD;EK9kBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENicvD;EKllBQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENqcvD;EKtlBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENycvD;EK1lBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;EN6cvD;EK9lBQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENidvD;EK5lBI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EF8lBf;EK3lBQ;IHbR,uBAA6C;IAA7C,mBAA6C;IAI7C,oBAA8C;EFwmB9C;EK/lBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF4mB9C;EKnmBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFgnB9C;EKvmBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFonB9C;EK3mBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFwnB9C;EK/mBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EF4nB9C;EKnnBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFgoB9C;EKvnBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFooB9C;EK3nBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFwoB9C;EK/nBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF4oB9C;EKnoBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFgpB9C;EKvoBQ;IHbR,kBAA6C;IAA7C,cAA6C;IAI7C,eAA8C;EFopB9C;EKroBI;IAAwB,kBAAS;IAAT,SAAS;ELwoBrC;EKtoBI;IAAuB,kBDmKG;ICnKH,SDmKG;EJse9B;EKtoBM;IAAwB,iBADZ;IACY,QADZ;EL0oBlB;EKzoBM;IAAwB,iBADZ;IACY,QADZ;EL6oBlB;EK5oBM;IAAwB,iBADZ;IACY,QADZ;ELgpBlB;EK/oBM;IAAwB,iBADZ;IACY,QADZ;ELmpBlB;EKlpBM;IAAwB,iBADZ;IACY,QADZ;ELspBlB;EKrpBM;IAAwB,iBADZ;IACY,QADZ;ELypBlB;EKxpBM;IAAwB,iBADZ;IACY,QADZ;EL4pBlB;EK3pBM;IAAwB,iBADZ;IACY,QADZ;EL+pBlB;EK9pBM;IAAwB,iBADZ;IACY,QADZ;ELkqBlB;EKjqBM;IAAwB,iBADZ;IACY,QADZ;ELqqBlB;EKpqBM;IAAwB,kBADZ;IACY,SADZ;ELwqBlB;EKvqBM;IAAwB,kBADZ;IACY,SADZ;EL2qBlB;EK1qBM;IAAwB,kBADZ;IACY,SADZ;EL8qBlB;EKtqBU;IHhBV,cAA4B;EFyrB5B;EKzqBU;IHhBV,sBAA8C;EF4rB9C;EK5qBU;IHhBV,uBAA8C;EF+rB9C;EK/qBU;IHhBV,gBAA8C;EFksB9C;EKlrBU;IHhBV,uBAA8C;EFqsB9C;EKrrBU;IHhBV,uBAA8C;EFwsB9C;EKxrBU;IHhBV,gBAA8C;EF2sB9C;EK3rBU;IHhBV,uBAA8C;EF8sB9C;EK9rBU;IHhBV,uBAA8C;EFitB9C;EKjsBU;IHhBV,gBAA8C;EFotB9C;EKpsBU;IHhBV,uBAA8C;EFutB9C;EKvsBU;IHhBV,uBAA8C;EF0tB9C;AACF;;AGttBI;EE3BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;ELqvBrB;EKhvBQ;IHwBN,kBIyHqD;IJzHrD,cIyHqD;IJxHrD,eIwHqD;ENmmBvD;EKpvBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENumBvD;EKxvBQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;EN2mBvD;EK5vBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;EN+mBvD;EKhwBQ;IHwBN,iBIyHqD;IJzHrD,aIyHqD;IJxHrD,cIwHqD;ENmnBvD;EKpwBQ;IHwBN,wBIyHqD;IJzHrD,oBIyHqD;IJxHrD,qBIwHqD;ENunBvD;EKlwBI;IHCJ,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EFowBf;EKjwBQ;IHbR,uBAA6C;IAA7C,mBAA6C;IAI7C,oBAA8C;EF8wB9C;EKrwBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFkxB9C;EKzwBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFsxB9C;EK7wBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF0xB9C;EKjxBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF8xB9C;EKrxBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EFkyB9C;EKzxBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFsyB9C;EK7xBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EF0yB9C;EKjyBQ;IHbR,iBAA6C;IAA7C,aAA6C;IAI7C,cAA8C;EF8yB9C;EKryBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFkzB9C;EKzyBQ;IHbR,wBAA6C;IAA7C,oBAA6C;IAI7C,qBAA8C;EFszB9C;EK7yBQ;IHbR,kBAA6C;IAA7C,cAA6C;IAI7C,eAA8C;EF0zB9C;EK3yBI;IAAwB,kBAAS;IAAT,SAAS;EL8yBrC;EK5yBI;IAAuB,kBDmKG;ICnKH,SDmKG;EJ4oB9B;EK5yBM;IAAwB,iBADZ;IACY,QADZ;ELgzBlB;EK/yBM;IAAwB,iBADZ;IACY,QADZ;ELmzBlB;EKlzBM;IAAwB,iBADZ;IACY,QADZ;ELszBlB;EKrzBM;IAAwB,iBADZ;IACY,QADZ;ELyzBlB;EKxzBM;IAAwB,iBADZ;IACY,QADZ;EL4zBlB;EK3zBM;IAAwB,iBADZ;IACY,QADZ;EL+zBlB;EK9zBM;IAAwB,iBADZ;IACY,QADZ;ELk0BlB;EKj0BM;IAAwB,iBADZ;IACY,QADZ;ELq0BlB;EKp0BM;IAAwB,iBADZ;IACY,QADZ;ELw0BlB;EKv0BM;IAAwB,iBADZ;IACY,QADZ;EL20BlB;EK10BM;IAAwB,kBADZ;IACY,SADZ;EL80BlB;EK70BM;IAAwB,kBADZ;IACY,SADZ;ELi1BlB;EKh1BM;IAAwB,kBADZ;IACY,SADZ;ELo1BlB;EK50BU;IHhBV,cAA4B;EF+1B5B;EK/0BU;IHhBV,sBAA8C;EFk2B9C;EKl1BU;IHhBV,uBAA8C;EFq2B9C;EKr1BU;IHhBV,gBAA8C;EFw2B9C;EKx1BU;IHhBV,uBAA8C;EF22B9C;EK31BU;IHhBV,uBAA8C;EF82B9C;EK91BU;IHhBV,gBAA8C;EFi3B9C;EKj2BU;IHhBV,uBAA8C;EFo3B9C;EKp2BU;IHhBV,uBAA8C;EFu3B9C;EKv2BU;IHhBV,gBAA8C;EF03B9C;EK12BU;IHhBV,uBAA8C;EF63B9C;EK72BU;IHhBV,uBAA8C;EFg4B9C;AACF;;AO76BM;EAAwB,wBAA0B;APi7BxD;;AOj7BM;EAAwB,0BAA0B;APq7BxD;;AOr7BM;EAAwB,gCAA0B;APy7BxD;;AOz7BM;EAAwB,yBAA0B;AP67BxD;;AO77BM;EAAwB,yBAA0B;APi8BxD;;AOj8BM;EAAwB,6BAA0B;APq8BxD;;AOr8BM;EAAwB,8BAA0B;APy8BxD;;AOz8BM;EAAwB,+BAA0B;EAA1B,wBAA0B;AP68BxD;;AO78BM;EAAwB,sCAA0B;EAA1B,+BAA0B;APi9BxD;;AGh6BI;EIjDE;IAAwB,wBAA0B;EPs9BtD;EOt9BI;IAAwB,0BAA0B;EPy9BtD;EOz9BI;IAAwB,gCAA0B;EP49BtD;EO59BI;IAAwB,yBAA0B;EP+9BtD;EO/9BI;IAAwB,yBAA0B;EPk+BtD;EOl+BI;IAAwB,6BAA0B;EPq+BtD;EOr+BI;IAAwB,8BAA0B;EPw+BtD;EOx+BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EP2+BtD;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D;;AS5qDQ;EAAgC,0BAA4B;ATgrDpE;;AS/qDQ;;EAEE,8BAAoC;ATkrD9C;;AShrDQ;;EAEE,gCAAwC;ATmrDlD;;ASjrDQ;;EAEE,iCAA0C;ATorDpD;;ASlrDQ;;EAEE,+BAAsC;ATqrDhD;;ASpsDQ;EAAgC,yBAA4B;ATwsDpE;;ASvsDQ;;EAEE,6BAAoC;AT0sD9C;;ASxsDQ;;EAEE,+BAAwC;AT2sDlD;;ASzsDQ;;EAEE,gCAA0C;AT4sDpD;;AS1sDQ;;EAEE,8BAAsC;AT6sDhD;;AS5tDQ;EAAgC,uBAA4B;ATguDpE;;AS/tDQ;;EAEE,2BAAoC;ATkuD9C;;AShuDQ;;EAEE,6BAAwC;ATmuDlD;;ASjuDQ;;EAEE,8BAA0C;ATouDpD;;ASluDQ;;EAEE,4BAAsC;ATquDhD;;ASpvDQ;EAAgC,yBAA4B;ATwvDpE;;ASvvDQ;;EAEE,6BAAoC;AT0vD9C;;ASxvDQ;;EAEE,+BAAwC;AT2vDlD;;ASzvDQ;;EAEE,gCAA0C;AT4vDpD;;AS1vDQ;;EAEE,8BAAsC;AT6vDhD;;AS5wDQ;EAAgC,uBAA4B;ATgxDpE;;AS/wDQ;;EAEE,2BAAoC;ATkxD9C;;AShxDQ;;EAEE,6BAAwC;ATmxDlD;;ASjxDQ;;EAEE,8BAA0C;AToxDpD;;ASlxDQ;;EAEE,4BAAsC;ATqxDhD;;ASpyDQ;EAAgC,qBAA4B;ATwyDpE;;ASvyDQ;;EAEE,yBAAoC;AT0yD9C;;ASxyDQ;;EAEE,2BAAwC;AT2yDlD;;ASzyDQ;;EAEE,4BAA0C;AT4yDpD;;AS1yDQ;;EAEE,0BAAsC;AT6yDhD;;AS5zDQ;EAAgC,2BAA4B;ATg0DpE;;AS/zDQ;;EAEE,+BAAoC;ATk0D9C;;ASh0DQ;;EAEE,iCAAwC;ATm0DlD;;ASj0DQ;;EAEE,kCAA0C;ATo0DpD;;ASl0DQ;;EAEE,gCAAsC;ATq0DhD;;ASp1DQ;EAAgC,0BAA4B;ATw1DpE;;ASv1DQ;;EAEE,8BAAoC;AT01D9C;;ASx1DQ;;EAEE,gCAAwC;AT21DlD;;ASz1DQ;;EAEE,iCAA0C;AT41DpD;;AS11DQ;;EAEE,+BAAsC;AT61DhD;;AS52DQ;EAAgC,wBAA4B;ATg3DpE;;AS/2DQ;;EAEE,4BAAoC;ATk3D9C;;ASh3DQ;;EAEE,8BAAwC;ATm3DlD;;ASj3DQ;;EAEE,+BAA0C;ATo3DpD;;ASl3DQ;;EAEE,6BAAsC;ATq3DhD;;ASp4DQ;EAAgC,0BAA4B;ATw4DpE;;ASv4DQ;;EAEE,8BAAoC;AT04D9C;;ASx4DQ;;EAEE,gCAAwC;AT24DlD;;ASz4DQ;;EAEE,iCAA0C;AT44DpD;;AS14DQ;;EAEE,+BAAsC;AT64DhD;;AS55DQ;EAAgC,wBAA4B;ATg6DpE;;AS/5DQ;;EAEE,4BAAoC;ATk6D9C;;ASh6DQ;;EAEE,8BAAwC;ATm6DlD;;ASj6DQ;;EAEE,+BAA0C;ATo6DpD;;ASl6DQ;;EAEE,6BAAsC;ATq6DhD;;AS75DQ;EAAwB,2BAA2B;ATi6D3D;;ASh6DQ;;EAEE,+BAA+B;ATm6DzC;;ASj6DQ;;EAEE,iCAAiC;ATo6D3C;;ASl6DQ;;EAEE,kCAAkC;ATq6D5C;;ASn6DQ;;EAEE,gCAAgC;ATs6D1C;;ASr7DQ;EAAwB,0BAA2B;ATy7D3D;;ASx7DQ;;EAEE,8BAA+B;AT27DzC;;ASz7DQ;;EAEE,gCAAiC;AT47D3C;;AS17DQ;;EAEE,iCAAkC;AT67D5C;;AS37DQ;;EAEE,+BAAgC;AT87D1C;;AS78DQ;EAAwB,wBAA2B;ATi9D3D;;ASh9DQ;;EAEE,4BAA+B;ATm9DzC;;ASj9DQ;;EAEE,8BAAiC;ATo9D3C;;ASl9DQ;;EAEE,+BAAkC;ATq9D5C;;ASn9DQ;;EAEE,6BAAgC;ATs9D1C;;ASr+DQ;EAAwB,0BAA2B;ATy+D3D;;ASx+DQ;;EAEE,8BAA+B;AT2+DzC;;ASz+DQ;;EAEE,gCAAiC;AT4+D3C;;AS1+DQ;;EAEE,iCAAkC;AT6+D5C;;AS3+DQ;;EAEE,+BAAgC;AT8+D1C;;AS7/DQ;EAAwB,wBAA2B;ATigE3D;;AShgEQ;;EAEE,4BAA+B;ATmgEzC;;ASjgEQ;;EAEE,8BAAiC;ATogE3C;;ASlgEQ;;EAEE,+BAAkC;ATqgE5C;;ASngEQ;;EAEE,6BAAgC;ATsgE1C;;AShgEI;EAAmB,uBAAuB;ATogE9C;;ASngEI;;EAEE,2BAA2B;ATsgEjC;;ASpgEI;;EAEE,6BAA6B;ATugEnC;;ASrgEI;;EAEE,8BAA8B;ATwgEpC;;AStgEI;;EAEE,4BAA4B;ATygElC;;AGlhEI;EMlDI;IAAgC,oBAA4B;ETykElE;ESxkEM;;IAEE,wBAAoC;ET0kE5C;ESxkEM;;IAEE,0BAAwC;ET0kEhD;ESxkEM;;IAEE,2BAA0C;ET0kElD;ESxkEM;;IAEE,yBAAsC;ET0kE9C;ESzlEM;IAAgC,0BAA4B;ET4lElE;ES3lEM;;IAEE,8BAAoC;ET6lE5C;ES3lEM;;IAEE,gCAAwC;ET6lEhD;ES3lEM;;IAEE,iCAA0C;ET6lElD;ES3lEM;;IAEE,+BAAsC;ET6lE9C;ES5mEM;IAAgC,yBAA4B;ET+mElE;ES9mEM;;IAEE,6BAAoC;ETgnE5C;ES9mEM;;IAEE,+BAAwC;ETgnEhD;ES9mEM;;IAEE,gCAA0C;ETgnElD;ES9mEM;;IAEE,8BAAsC;ETgnE9C;ES/nEM;IAAgC,uBAA4B;ETkoElE;ESjoEM;;IAEE,2BAAoC;ETmoE5C;ESjoEM;;IAEE,6BAAwC;ETmoEhD;ESjoEM;;IAEE,8BAA0C;ETmoElD;ESjoEM;;IAEE,4BAAsC;ETmoE9C;ESlpEM;IAAgC,yBAA4B;ETqpElE;ESppEM;;IAEE,6BAAoC;ETspE5C;ESppEM;;IAEE,+BAAwC;ETspEhD;ESppEM;;IAEE,gCAA0C;ETspElD;ESppEM;;IAEE,8BAAsC;ETspE9C;ESrqEM;IAAgC,uBAA4B;ETwqElE;ESvqEM;;IAEE,2BAAoC;ETyqE5C;ESvqEM;;IAEE,6BAAwC;ETyqEhD;ESvqEM;;IAEE,8BAA0C;ETyqElD;ESvqEM;;IAEE,4BAAsC;ETyqE9C;ESxrEM;IAAgC,qBAA4B;ET2rElE;ES1rEM;;IAEE,yBAAoC;ET4rE5C;ES1rEM;;IAEE,2BAAwC;ET4rEhD;ES1rEM;;IAEE,4BAA0C;ET4rElD;ES1rEM;;IAEE,0BAAsC;ET4rE9C;ES3sEM;IAAgC,2BAA4B;ET8sElE;ES7sEM;;IAEE,+BAAoC;ET+sE5C;ES7sEM;;IAEE,iCAAwC;ET+sEhD;ES7sEM;;IAEE,kCAA0C;ET+sElD;ES7sEM;;IAEE,gCAAsC;ET+sE9C;ES9tEM;IAAgC,0BAA4B;ETiuElE;EShuEM;;IAEE,8BAAoC;ETkuE5C;EShuEM;;IAEE,gCAAwC;ETkuEhD;EShuEM;;IAEE,iCAA0C;ETkuElD;EShuEM;;IAEE,+BAAsC;ETkuE9C;ESjvEM;IAAgC,wBAA4B;ETovElE;ESnvEM;;IAEE,4BAAoC;ETqvE5C;ESnvEM;;IAEE,8BAAwC;ETqvEhD;ESnvEM;;IAEE,+BAA0C;ETqvElD;ESnvEM;;IAEE,6BAAsC;ETqvE9C;ESpwEM;IAAgC,0BAA4B;ETuwElE;EStwEM;;IAEE,8BAAoC;ETwwE5C;EStwEM;;IAEE,gCAAwC;ETwwEhD;EStwEM;;IAEE,iCAA0C;ETwwElD;EStwEM;;IAEE,+BAAsC;ETwwE9C;ESvxEM;IAAgC,wBAA4B;ET0xElE;ESzxEM;;IAEE,4BAAoC;ET2xE5C;ESzxEM;;IAEE,8BAAwC;ET2xEhD;ESzxEM;;IAEE,+BAA0C;ET2xElD;ESzxEM;;IAEE,6BAAsC;ET2xE9C;ESnxEM;IAAwB,2BAA2B;ETsxEzD;ESrxEM;;IAEE,+BAA+B;ETuxEvC;ESrxEM;;IAEE,iCAAiC;ETuxEzC;ESrxEM;;IAEE,kCAAkC;ETuxE1C;ESrxEM;;IAEE,gCAAgC;ETuxExC;EStyEM;IAAwB,0BAA2B;ETyyEzD;ESxyEM;;IAEE,8BAA+B;ET0yEvC;ESxyEM;;IAEE,gCAAiC;ET0yEzC;ESxyEM;;IAEE,iCAAkC;ET0yE1C;ESxyEM;;IAEE,+BAAgC;ET0yExC;ESzzEM;IAAwB,wBAA2B;ET4zEzD;ES3zEM;;IAEE,4BAA+B;ET6zEvC;ES3zEM;;IAEE,8BAAiC;ET6zEzC;ES3zEM;;IAEE,+BAAkC;ET6zE1C;ES3zEM;;IAEE,6BAAgC;ET6zExC;ES50EM;IAAwB,0BAA2B;ET+0EzD;ES90EM;;IAEE,8BAA+B;ETg1EvC;ES90EM;;IAEE,gCAAiC;ETg1EzC;ES90EM;;IAEE,iCAAkC;ETg1E1C;ES90EM;;IAEE,+BAAgC;ETg1ExC;ES/1EM;IAAwB,wBAA2B;ETk2EzD;ESj2EM;;IAEE,4BAA+B;ETm2EvC;ESj2EM;;IAEE,8BAAiC;ETm2EzC;ESj2EM;;IAEE,+BAAkC;ETm2E1C;ESj2EM;;IAEE,6BAAgC;ETm2ExC;ES71EE;IAAmB,uBAAuB;ETg2E5C;ES/1EE;;IAEE,2BAA2B;ETi2E/B;ES/1EE;;IAEE,6BAA6B;ETi2EjC;ES/1EE;;IAEE,8BAA8B;ETi2ElC;ES/1EE;;IAEE,4BAA4B;ETi2EhC;AACF;;AG32EI;EMlDI;IAAgC,oBAA4B;ETk6ElE;ESj6EM;;IAEE,wBAAoC;ETm6E5C;ESj6EM;;IAEE,0BAAwC;ETm6EhD;ESj6EM;;IAEE,2BAA0C;ETm6ElD;ESj6EM;;IAEE,yBAAsC;ETm6E9C;ESl7EM;IAAgC,0BAA4B;ETq7ElE;ESp7EM;;IAEE,8BAAoC;ETs7E5C;ESp7EM;;IAEE,gCAAwC;ETs7EhD;ESp7EM;;IAEE,iCAA0C;ETs7ElD;ESp7EM;;IAEE,+BAAsC;ETs7E9C;ESr8EM;IAAgC,yBAA4B;ETw8ElE;ESv8EM;;IAEE,6BAAoC;ETy8E5C;ESv8EM;;IAEE,+BAAwC;ETy8EhD;ESv8EM;;IAEE,gCAA0C;ETy8ElD;ESv8EM;;IAEE,8BAAsC;ETy8E9C;ESx9EM;IAAgC,uBAA4B;ET29ElE;ES19EM;;IAEE,2BAAoC;ET49E5C;ES19EM;;IAEE,6BAAwC;ET49EhD;ES19EM;;IAEE,8BAA0C;ET49ElD;ES19EM;;IAEE,4BAAsC;ET49E9C;ES3+EM;IAAgC,yBAA4B;ET8+ElE;ES7+EM;;IAEE,6BAAoC;ET++E5C;ES7+EM;;IAEE,+BAAwC;ET++EhD;ES7+EM;;IAEE,gCAA0C;ET++ElD;ES7+EM;;IAEE,8BAAsC;ET++E9C;ES9/EM;IAAgC,uBAA4B;ETigFlE;EShgFM;;IAEE,2BAAoC;ETkgF5C;EShgFM;;IAEE,6BAAwC;ETkgFhD;EShgFM;;IAEE,8BAA0C;ETkgFlD;EShgFM;;IAEE,4BAAsC;ETkgF9C;ESjhFM;IAAgC,qBAA4B;ETohFlE;ESnhFM;;IAEE,yBAAoC;ETqhF5C;ESnhFM;;IAEE,2BAAwC;ETqhFhD;ESnhFM;;IAEE,4BAA0C;ETqhFlD;ESnhFM;;IAEE,0BAAsC;ETqhF9C;ESpiFM;IAAgC,2BAA4B;ETuiFlE;EStiFM;;IAEE,+BAAoC;ETwiF5C;EStiFM;;IAEE,iCAAwC;ETwiFhD;EStiFM;;IAEE,kCAA0C;ETwiFlD;EStiFM;;IAEE,gCAAsC;ETwiF9C;ESvjFM;IAAgC,0BAA4B;ET0jFlE;ESzjFM;;IAEE,8BAAoC;ET2jF5C;ESzjFM;;IAEE,gCAAwC;ET2jFhD;ESzjFM;;IAEE,iCAA0C;ET2jFlD;ESzjFM;;IAEE,+BAAsC;ET2jF9C;ES1kFM;IAAgC,wBAA4B;ET6kFlE;ES5kFM;;IAEE,4BAAoC;ET8kF5C;ES5kFM;;IAEE,8BAAwC;ET8kFhD;ES5kFM;;IAEE,+BAA0C;ET8kFlD;ES5kFM;;IAEE,6BAAsC;ET8kF9C;ES7lFM;IAAgC,0BAA4B;ETgmFlE;ES/lFM;;IAEE,8BAAoC;ETimF5C;ES/lFM;;IAEE,gCAAwC;ETimFhD;ES/lFM;;IAEE,iCAA0C;ETimFlD;ES/lFM;;IAEE,+BAAsC;ETimF9C;EShnFM;IAAgC,wBAA4B;ETmnFlE;ESlnFM;;IAEE,4BAAoC;ETonF5C;ESlnFM;;IAEE,8BAAwC;ETonFhD;ESlnFM;;IAEE,+BAA0C;ETonFlD;ESlnFM;;IAEE,6BAAsC;ETonF9C;ES5mFM;IAAwB,2BAA2B;ET+mFzD;ES9mFM;;IAEE,+BAA+B;ETgnFvC;ES9mFM;;IAEE,iCAAiC;ETgnFzC;ES9mFM;;IAEE,kCAAkC;ETgnF1C;ES9mFM;;IAEE,gCAAgC;ETgnFxC;ES/nFM;IAAwB,0BAA2B;ETkoFzD;ESjoFM;;IAEE,8BAA+B;ETmoFvC;ESjoFM;;IAEE,gCAAiC;ETmoFzC;ESjoFM;;IAEE,iCAAkC;ETmoF1C;ESjoFM;;IAEE,+BAAgC;ETmoFxC;ESlpFM;IAAwB,wBAA2B;ETqpFzD;ESppFM;;IAEE,4BAA+B;ETspFvC;ESppFM;;IAEE,8BAAiC;ETspFzC;ESppFM;;IAEE,+BAAkC;ETspF1C;ESppFM;;IAEE,6BAAgC;ETspFxC;ESrqFM;IAAwB,0BAA2B;ETwqFzD;ESvqFM;;IAEE,8BAA+B;ETyqFvC;ESvqFM;;IAEE,gCAAiC;ETyqFzC;ESvqFM;;IAEE,iCAAkC;ETyqF1C;ESvqFM;;IAEE,+BAAgC;ETyqFxC;ESxrFM;IAAwB,wBAA2B;ET2rFzD;ES1rFM;;IAEE,4BAA+B;ET4rFvC;ES1rFM;;IAEE,8BAAiC;ET4rFzC;ES1rFM;;IAEE,+BAAkC;ET4rF1C;ES1rFM;;IAEE,6BAAgC;ET4rFxC;EStrFE;IAAmB,uBAAuB;ETyrF5C;ESxrFE;;IAEE,2BAA2B;ET0rF/B;ESxrFE;;IAEE,6BAA6B;ET0rFjC;ESxrFE;;IAEE,8BAA8B;ET0rFlC;ESxrFE;;IAEE,4BAA4B;ET0rFhC;AACF;;AGpsFI;EMlDI;IAAgC,oBAA4B;ET2vFlE;ES1vFM;;IAEE,wBAAoC;ET4vF5C;ES1vFM;;IAEE,0BAAwC;ET4vFhD;ES1vFM;;IAEE,2BAA0C;ET4vFlD;ES1vFM;;IAEE,yBAAsC;ET4vF9C;ES3wFM;IAAgC,0BAA4B;ET8wFlE;ES7wFM;;IAEE,8BAAoC;ET+wF5C;ES7wFM;;IAEE,gCAAwC;ET+wFhD;ES7wFM;;IAEE,iCAA0C;ET+wFlD;ES7wFM;;IAEE,+BAAsC;ET+wF9C;ES9xFM;IAAgC,yBAA4B;ETiyFlE;EShyFM;;IAEE,6BAAoC;ETkyF5C;EShyFM;;IAEE,+BAAwC;ETkyFhD;EShyFM;;IAEE,gCAA0C;ETkyFlD;EShyFM;;IAEE,8BAAsC;ETkyF9C;ESjzFM;IAAgC,uBAA4B;ETozFlE;ESnzFM;;IAEE,2BAAoC;ETqzF5C;ESnzFM;;IAEE,6BAAwC;ETqzFhD;ESnzFM;;IAEE,8BAA0C;ETqzFlD;ESnzFM;;IAEE,4BAAsC;ETqzF9C;ESp0FM;IAAgC,yBAA4B;ETu0FlE;ESt0FM;;IAEE,6BAAoC;ETw0F5C;ESt0FM;;IAEE,+BAAwC;ETw0FhD;ESt0FM;;IAEE,gCAA0C;ETw0FlD;ESt0FM;;IAEE,8BAAsC;ETw0F9C;ESv1FM;IAAgC,uBAA4B;ET01FlE;ESz1FM;;IAEE,2BAAoC;ET21F5C;ESz1FM;;IAEE,6BAAwC;ET21FhD;ESz1FM;;IAEE,8BAA0C;ET21FlD;ESz1FM;;IAEE,4BAAsC;ET21F9C;ES12FM;IAAgC,qBAA4B;ET62FlE;ES52FM;;IAEE,yBAAoC;ET82F5C;ES52FM;;IAEE,2BAAwC;ET82FhD;ES52FM;;IAEE,4BAA0C;ET82FlD;ES52FM;;IAEE,0BAAsC;ET82F9C;ES73FM;IAAgC,2BAA4B;ETg4FlE;ES/3FM;;IAEE,+BAAoC;ETi4F5C;ES/3FM;;IAEE,iCAAwC;ETi4FhD;ES/3FM;;IAEE,kCAA0C;ETi4FlD;ES/3FM;;IAEE,gCAAsC;ETi4F9C;ESh5FM;IAAgC,0BAA4B;ETm5FlE;ESl5FM;;IAEE,8BAAoC;ETo5F5C;ESl5FM;;IAEE,gCAAwC;ETo5FhD;ESl5FM;;IAEE,iCAA0C;ETo5FlD;ESl5FM;;IAEE,+BAAsC;ETo5F9C;ESn6FM;IAAgC,wBAA4B;ETs6FlE;ESr6FM;;IAEE,4BAAoC;ETu6F5C;ESr6FM;;IAEE,8BAAwC;ETu6FhD;ESr6FM;;IAEE,+BAA0C;ETu6FlD;ESr6FM;;IAEE,6BAAsC;ETu6F9C;ESt7FM;IAAgC,0BAA4B;ETy7FlE;ESx7FM;;IAEE,8BAAoC;ET07F5C;ESx7FM;;IAEE,gCAAwC;ET07FhD;ESx7FM;;IAEE,iCAA0C;ET07FlD;ESx7FM;;IAEE,+BAAsC;ET07F9C;ESz8FM;IAAgC,wBAA4B;ET48FlE;ES38FM;;IAEE,4BAAoC;ET68F5C;ES38FM;;IAEE,8BAAwC;ET68FhD;ES38FM;;IAEE,+BAA0C;ET68FlD;ES38FM;;IAEE,6BAAsC;ET68F9C;ESr8FM;IAAwB,2BAA2B;ETw8FzD;ESv8FM;;IAEE,+BAA+B;ETy8FvC;ESv8FM;;IAEE,iCAAiC;ETy8FzC;ESv8FM;;IAEE,kCAAkC;ETy8F1C;ESv8FM;;IAEE,gCAAgC;ETy8FxC;ESx9FM;IAAwB,0BAA2B;ET29FzD;ES19FM;;IAEE,8BAA+B;ET49FvC;ES19FM;;IAEE,gCAAiC;ET49FzC;ES19FM;;IAEE,iCAAkC;ET49F1C;ES19FM;;IAEE,+BAAgC;ET49FxC;ES3+FM;IAAwB,wBAA2B;ET8+FzD;ES7+FM;;IAEE,4BAA+B;ET++FvC;ES7+FM;;IAEE,8BAAiC;ET++FzC;ES7+FM;;IAEE,+BAAkC;ET++F1C;ES7+FM;;IAEE,6BAAgC;ET++FxC;ES9/FM;IAAwB,0BAA2B;ETigGzD;EShgGM;;IAEE,8BAA+B;ETkgGvC;EShgGM;;IAEE,gCAAiC;ETkgGzC;EShgGM;;IAEE,iCAAkC;ETkgG1C;EShgGM;;IAEE,+BAAgC;ETkgGxC;ESjhGM;IAAwB,wBAA2B;ETohGzD;ESnhGM;;IAEE,4BAA+B;ETqhGvC;ESnhGM;;IAEE,8BAAiC;ETqhGzC;ESnhGM;;IAEE,+BAAkC;ETqhG1C;ESnhGM;;IAEE,6BAAgC;ETqhGxC;ES/gGE;IAAmB,uBAAuB;ETkhG5C;ESjhGE;;IAEE,2BAA2B;ETmhG/B;ESjhGE;;IAEE,6BAA6B;ETmhGjC;ESjhGE;;IAEE,8BAA8B;ETmhGlC;ESjhGE;;IAEE,4BAA4B;ETmhGhC;AACF;;AG7hGI;EMlDI;IAAgC,oBAA4B;ETolGlE;ESnlGM;;IAEE,wBAAoC;ETqlG5C;ESnlGM;;IAEE,0BAAwC;ETqlGhD;ESnlGM;;IAEE,2BAA0C;ETqlGlD;ESnlGM;;IAEE,yBAAsC;ETqlG9C;ESpmGM;IAAgC,0BAA4B;ETumGlE;EStmGM;;IAEE,8BAAoC;ETwmG5C;EStmGM;;IAEE,gCAAwC;ETwmGhD;EStmGM;;IAEE,iCAA0C;ETwmGlD;EStmGM;;IAEE,+BAAsC;ETwmG9C;ESvnGM;IAAgC,yBAA4B;ET0nGlE;ESznGM;;IAEE,6BAAoC;ET2nG5C;ESznGM;;IAEE,+BAAwC;ET2nGhD;ESznGM;;IAEE,gCAA0C;ET2nGlD;ESznGM;;IAEE,8BAAsC;ET2nG9C;ES1oGM;IAAgC,uBAA4B;ET6oGlE;ES5oGM;;IAEE,2BAAoC;ET8oG5C;ES5oGM;;IAEE,6BAAwC;ET8oGhD;ES5oGM;;IAEE,8BAA0C;ET8oGlD;ES5oGM;;IAEE,4BAAsC;ET8oG9C;ES7pGM;IAAgC,yBAA4B;ETgqGlE;ES/pGM;;IAEE,6BAAoC;ETiqG5C;ES/pGM;;IAEE,+BAAwC;ETiqGhD;ES/pGM;;IAEE,gCAA0C;ETiqGlD;ES/pGM;;IAEE,8BAAsC;ETiqG9C;EShrGM;IAAgC,uBAA4B;ETmrGlE;ESlrGM;;IAEE,2BAAoC;ETorG5C;ESlrGM;;IAEE,6BAAwC;ETorGhD;ESlrGM;;IAEE,8BAA0C;ETorGlD;ESlrGM;;IAEE,4BAAsC;ETorG9C;ESnsGM;IAAgC,qBAA4B;ETssGlE;ESrsGM;;IAEE,yBAAoC;ETusG5C;ESrsGM;;IAEE,2BAAwC;ETusGhD;ESrsGM;;IAEE,4BAA0C;ETusGlD;ESrsGM;;IAEE,0BAAsC;ETusG9C;ESttGM;IAAgC,2BAA4B;ETytGlE;ESxtGM;;IAEE,+BAAoC;ET0tG5C;ESxtGM;;IAEE,iCAAwC;ET0tGhD;ESxtGM;;IAEE,kCAA0C;ET0tGlD;ESxtGM;;IAEE,gCAAsC;ET0tG9C;ESzuGM;IAAgC,0BAA4B;ET4uGlE;ES3uGM;;IAEE,8BAAoC;ET6uG5C;ES3uGM;;IAEE,gCAAwC;ET6uGhD;ES3uGM;;IAEE,iCAA0C;ET6uGlD;ES3uGM;;IAEE,+BAAsC;ET6uG9C;ES5vGM;IAAgC,wBAA4B;ET+vGlE;ES9vGM;;IAEE,4BAAoC;ETgwG5C;ES9vGM;;IAEE,8BAAwC;ETgwGhD;ES9vGM;;IAEE,+BAA0C;ETgwGlD;ES9vGM;;IAEE,6BAAsC;ETgwG9C;ES/wGM;IAAgC,0BAA4B;ETkxGlE;ESjxGM;;IAEE,8BAAoC;ETmxG5C;ESjxGM;;IAEE,gCAAwC;ETmxGhD;ESjxGM;;IAEE,iCAA0C;ETmxGlD;ESjxGM;;IAEE,+BAAsC;ETmxG9C;ESlyGM;IAAgC,wBAA4B;ETqyGlE;ESpyGM;;IAEE,4BAAoC;ETsyG5C;ESpyGM;;IAEE,8BAAwC;ETsyGhD;ESpyGM;;IAEE,+BAA0C;ETsyGlD;ESpyGM;;IAEE,6BAAsC;ETsyG9C;ES9xGM;IAAwB,2BAA2B;ETiyGzD;EShyGM;;IAEE,+BAA+B;ETkyGvC;EShyGM;;IAEE,iCAAiC;ETkyGzC;EShyGM;;IAEE,kCAAkC;ETkyG1C;EShyGM;;IAEE,gCAAgC;ETkyGxC;ESjzGM;IAAwB,0BAA2B;ETozGzD;ESnzGM;;IAEE,8BAA+B;ETqzGvC;ESnzGM;;IAEE,gCAAiC;ETqzGzC;ESnzGM;;IAEE,iCAAkC;ETqzG1C;ESnzGM;;IAEE,+BAAgC;ETqzGxC;ESp0GM;IAAwB,wBAA2B;ETu0GzD;ESt0GM;;IAEE,4BAA+B;ETw0GvC;ESt0GM;;IAEE,8BAAiC;ETw0GzC;ESt0GM;;IAEE,+BAAkC;ETw0G1C;ESt0GM;;IAEE,6BAAgC;ETw0GxC;ESv1GM;IAAwB,0BAA2B;ET01GzD;ESz1GM;;IAEE,8BAA+B;ET21GvC;ESz1GM;;IAEE,gCAAiC;ET21GzC;ESz1GM;;IAEE,iCAAkC;ET21G1C;ESz1GM;;IAEE,+BAAgC;ET21GxC;ES12GM;IAAwB,wBAA2B;ET62GzD;ES52GM;;IAEE,4BAA+B;ET82GvC;ES52GM;;IAEE,8BAAiC;ET82GzC;ES52GM;;IAEE,+BAAkC;ET82G1C;ES52GM;;IAEE,6BAAgC;ET82GxC;ESx2GE;IAAmB,uBAAuB;ET22G5C;ES12GE;;IAEE,2BAA2B;ET42G/B;ES12GE;;IAEE,6BAA6B;ET42GjC;ES12GE;;IAEE,8BAA8B;ET42GlC;ES12GE;;IAEE,4BAA4B;ET42GhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/deprecate\";\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter * .5;\n margin-left: -$gutter * .5;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage(divide($size, $columns));\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage(divide($size, $columns));\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 divide(100%, $count);\n max-width: divide(100%, $count);\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size * .5 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer * .5 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-nav-scroll-max-height: 75vh !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width * .5 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) * .001;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @if type-of($value2) != number {\n $value2: unquote(\"(\") + $value2 + unquote(\")\");\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if \"#{$size}\" != \"0\" {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/static/bootstrap4/css/bootstrap-grid.min.css b/static/bootstrap4/css/bootstrap-grid.min.css new file mode 100644 index 0000000..e840e6c --- /dev/null +++ b/static/bootstrap4/css/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/static/bootstrap4/css/bootstrap-grid.min.css.map b/static/bootstrap4/css/bootstrap-grid.min.css.map new file mode 100644 index 0000000..fd716da --- /dev/null +++ b/static/bootstrap4/css/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/deprecate\";\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter * .5;\n margin-left: -$gutter * .5;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage(divide($size, $columns));\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage(divide($size, $columns));\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 divide(100%, $count);\n max-width: divide(100%, $count);\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if \"#{$size}\" != \"0\" {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/static/bootstrap4/css/bootstrap-reboot.css b/static/bootstrap4/css/bootstrap-reboot.css new file mode 100644 index 0000000..d317435 --- /dev/null +++ b/static/bootstrap4/css/bootstrap-reboot.css @@ -0,0 +1,325 @@ +/*! + * Bootstrap Reboot v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([class]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +[role="button"] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/static/bootstrap4/css/bootstrap-reboot.css.map b/static/bootstrap4/css/bootstrap-reboot.css.map new file mode 100644 index 0000000..768f85d --- /dev/null +++ b/static/bootstrap4/css/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`',""].join("")}()};return['

',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
"].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;oi.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)});!function(e,t){"use strict";var a=e.layui&&layui.define,n={getPath:e.lay&&lay.getPath?lay.getPath:"",link:function(t,a,n){l.path&&e.lay&&lay.layui&&lay.layui.link(l.path+t,a,n)}},i=e.LAYUI_GLOBAL||{},l={v:"5.3.1",config:{},index:e.laydate&&e.laydate.v?1e5:0,path:i.laydate_dir||n.getPath,set:function(e){var t=this;return t.config=lay.extend({},t.config,e),t},ready:function(e){var t="laydate",i="",r=(a?"modules/laydate/":"theme/")+"default/laydate.css?v="+l.v+i;return a?layui.addcss(r,e,t):n.link(r,e,t),this}},r=function(){var e=this,t=e.config,a=t.id;return r.that[a]=e,{hint:function(t){e.hint.call(e,t)},config:e.config}},o="laydate",s=".layui-laydate",y="layui-this",d="laydate-disabled",m=[100,2e5],c="layui-laydate-static",u="layui-laydate-list",h="layui-laydate-hint",f="layui-laydate-footer",p=".laydate-btns-confirm",g="laydate-time-text",v="laydate-btns-time",T="layui-laydate-preview",D=function(e){var t=this;t.index=++l.index,t.config=lay.extend({},t.config,l.config,e),e=t.config,e.id="id"in e?e.id:t.index,l.ready(function(){t.init()})},w="yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s";r.formatArr=function(e){return(e||"").match(new RegExp(w+"|.","g"))||[]},D.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},D.prototype.config={type:"date",range:!1,format:"yyyy-MM-dd",value:null,isInitValue:!0,min:"1900-1-1",max:"2099-12-31",trigger:"click",show:!1,showBottom:!0,isPreview:!0,btns:["clear","now","confirm"],lang:"cn",theme:"default",position:null,calendar:!1,mark:{},zIndex:null,done:null,change:null},D.prototype.lang=function(){var e=this,t=e.config,a={cn:{weeks:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],time:["\u65f6","\u5206","\u79d2"],timeTips:"\u9009\u62e9\u65f6\u95f4",startTime:"\u5f00\u59cb\u65f6\u95f4",endTime:"\u7ed3\u675f\u65f6\u95f4",dateTips:"\u8fd4\u56de\u65e5\u671f",month:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"],tools:{confirm:"\u786e\u5b9a",clear:"\u6e05\u7a7a",now:"\u73b0\u5728"},timeout:"\u7ed3\u675f\u65f6\u95f4\u4e0d\u80fd\u65e9\u4e8e\u5f00\u59cb\u65f6\u95f4
\u8bf7\u91cd\u65b0\u9009\u62e9",invalidDate:"\u4e0d\u5728\u6709\u6548\u65e5\u671f\u6216\u65f6\u95f4\u8303\u56f4\u5185",formatError:["\u65e5\u671f\u683c\u5f0f\u4e0d\u5408\u6cd5
\u5fc5\u987b\u9075\u5faa\u4e0b\u8ff0\u683c\u5f0f\uff1a
","
\u5df2\u4e3a\u4f60\u91cd\u7f6e"],preview:"\u5f53\u524d\u9009\u4e2d\u7684\u7ed3\u679c"},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"},timeout:"End time cannot be less than start Time
Please re-select",invalidDate:"Invalid date",formatError:["The date format error
Must be followed\uff1a
","
It has been reset"],preview:"The selected result"}};return a[t.lang]||a.cn},D.prototype.init=function(){var t=this,a=t.config,n="static"===a.position,i={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};a.elem=lay(a.elem),a.eventElem=lay(a.eventElem),a.elem[0]&&(t.rangeStr=a.range?"string"==typeof a.range?a.range:"-":"","array"===layui._typeof(a.range)&&(t.rangeElem=[lay(a.range[0]),lay(a.range[1])]),i[a.type]||(e.console&&console.error&&console.error("laydate type error:'"+a.type+"' is not supported"),a.type="date"),a.format===i.date&&(a.format=i[a.type]||i.date),t.format=r.formatArr(a.format),t.EXP_IF="",t.EXP_SPLIT="",lay.each(t.format,function(e,a){var n=new RegExp(w).test(a)?"\\d{"+function(){return new RegExp(w).test(t.format[0===e?e+1:e-1]||"")?/^yyyy|y$/.test(a)?4:a.length:/^yyyy$/.test(a)?"1,4":/^y$/.test(a)?"1,308":"1,2"}()+"}":"\\"+a;t.EXP_IF=t.EXP_IF+n,t.EXP_SPLIT=t.EXP_SPLIT+"("+n+")"}),t.EXP_IF_ONE=new RegExp("^"+t.EXP_IF+"$"),t.EXP_IF=new RegExp("^"+(a.range?t.EXP_IF+"\\s\\"+t.rangeStr+"\\s"+t.EXP_IF:t.EXP_IF)+"$"),t.EXP_SPLIT=new RegExp("^"+t.EXP_SPLIT+"$",""),t.isInput(a.elem[0])||"focus"===a.trigger&&(a.trigger="click"),a.elem.attr("lay-key")||(a.elem.attr("lay-key",t.index),a.eventElem.attr("lay-key",t.index)),a.mark=lay.extend({},a.calendar&&"cn"===a.lang?{"0-1-1":"\u5143\u65e6","0-2-14":"\u60c5\u4eba","0-3-8":"\u5987\u5973","0-3-12":"\u690d\u6811","0-4-1":"\u611a\u4eba","0-5-1":"\u52b3\u52a8","0-5-4":"\u9752\u5e74","0-6-1":"\u513f\u7ae5","0-9-10":"\u6559\u5e08","0-9-18":"\u56fd\u803b","0-10-1":"\u56fd\u5e86","0-12-25":"\u5723\u8bde"}:{},a.mark),lay.each(["min","max"],function(e,t){var n=[],i=[];if("number"==typeof a[t]){var l=a[t],r=(new Date).getTime(),o=864e5,s=new Date(l?l0)return!0;var t=lay.elem("div",{"class":"layui-laydate-header"}),i=[function(){var e=lay.elem("i",{"class":"layui-icon laydate-icon laydate-prev-y"});return e.innerHTML="",e}(),function(){var e=lay.elem("i",{"class":"layui-icon laydate-icon laydate-prev-m"});return e.innerHTML="",e}(),function(){var e=lay.elem("div",{"class":"laydate-set-ym"}),t=lay.elem("span"),a=lay.elem("span");return e.appendChild(t),e.appendChild(a),e}(),function(){var e=lay.elem("i",{"class":"layui-icon laydate-icon laydate-next-m"});return e.innerHTML="",e}(),function(){var e=lay.elem("i",{"class":"layui-icon laydate-icon laydate-next-y"});return e.innerHTML="",e}()],l=lay.elem("div",{"class":"layui-laydate-content"}),r=lay.elem("table"),m=lay.elem("thead"),c=lay.elem("tr");lay.each(i,function(e,a){t.appendChild(a)}),m.appendChild(c),lay.each(new Array(6),function(e){var t=r.insertRow(0);lay.each(new Array(7),function(a){if(0===e){var i=lay.elem("th");i.innerHTML=n.weeks[a],c.appendChild(i)}t.insertCell(a)})}),r.insertBefore(m,r.children[0]),l.appendChild(r),o[e]=lay.elem("div",{"class":"layui-laydate-main laydate-main-list-"+e}),o[e].appendChild(t),o[e].appendChild(l),s.push(i),y.push(l),d.push(r)}),lay(m).html(function(){var e=[],t=[];return"datetime"===a.type&&e.push(''+n.timeTips+""),(a.range||"datetime"!==a.type)&&e.push(''),lay.each(a.btns,function(e,l){var r=n.tools[l]||"btn";a.range&&"now"===l||(i&&"clear"===l&&(r="cn"===a.lang?"\u91cd\u7f6e":"Reset"),t.push(''+r+""))}),e.push('"),e.join("")}()),lay.each(o,function(e,t){r.appendChild(t)}),a.showBottom&&r.appendChild(m),/^#/.test(a.theme)){var u=lay.elem("style"),h=["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,e.elemID).replace(/{{theme}}/g,a.theme);"styleSheet"in u?(u.setAttribute("type","text/css"),u.styleSheet.cssText=h):u.innerHTML=h,lay(r).addClass("laydate-theme-molv"),r.appendChild(u)}l.thisId=a.id,e.remove(D.thisElemDate),i?a.elem.append(r):(t.body.appendChild(r),e.position()),e.checkDate().calendar(null,0,"init"),e.changeEvent(),D.thisElemDate=e.elemID,"function"==typeof a.ready&&a.ready(lay.extend({},a.dateTime,{month:a.dateTime.month+1})),e.preview()},D.prototype.remove=function(e){var t=this,a=(t.config,lay("#"+(e||t.elemID)));return a[0]?(a.hasClass(c)||t.checkDate(function(){a.remove()}),t):t},D.prototype.position=function(){var e=this,t=e.config;return lay.position(e.bindElem||t.elem[0],e.elem,{position:t.position}),e},D.prototype.hint=function(e){var t=this,a=(t.config,lay.elem("div",{"class":h}));t.elem&&(a.innerHTML=e||"",lay(t.elem).find("."+h).remove(),t.elem.appendChild(a),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){lay(t.elem).find("."+h).remove()},3e3))},D.prototype.getAsYM=function(e,t,a){return a?t--:t++,t<0&&(t=11,e--),t>11&&(t=0,e++),[e,t]},D.prototype.systemDate=function(e){var t=e||new Date;return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),hours:e?e.getHours():0,minutes:e?e.getMinutes():0,seconds:e?e.getSeconds():0}},D.prototype.checkDate=function(e){var t,a,n=this,i=(new Date,n.config),r=n.lang(),o=i.dateTime=i.dateTime||n.systemDate(),s=n.bindElem||i.elem[0],y=(n.isInput(s)?"val":"html",function(){if(n.rangeElem){var e=[n.rangeElem[0].val(),n.rangeElem[1].val()];if(e[0]&&e[1])return e.join(" "+n.rangeStr+" ")}return n.isInput(s)?s.value:"static"===i.position?"":lay(s).attr("lay-date")}()),d=function(e){e.year>m[1]&&(e.year=m[1],a=!0),e.month>11&&(e.month=11,a=!0),e.hours>23&&(e.hours=0,a=!0),e.minutes>59&&(e.minutes=0,e.hours++,a=!0),e.seconds>59&&(e.seconds=0,e.minutes++,a=!0),t=l.getEndDate(e.month+1,e.year),e.date>t&&(e.date=t,a=!0)},c=function(e,t,l){var r=["startTime","endTime"];t=(t.match(n.EXP_SPLIT)||[]).slice(1),l=l||0,i.range&&(n[r[l]]=n[r[l]]||{}),lay.each(n.format,function(o,s){var y=parseFloat(t[o]);t[o].lengthh(i.max)||h(o)h(i.max))&&(n.endDate=lay.extend({},i.max)),e&&e(),n},D.prototype.mark=function(e,t){var a,n=this,i=n.config;return lay.each(i.mark,function(e,n){var i=e.split("-");i[0]!=t[0]&&0!=i[0]||i[1]!=t[1]&&0!=i[1]||i[2]!=t[2]||(a=n||t[2])}),a&&e.html(''+a+""),n},D.prototype.limit=function(e,t,a,n){var i,l=this,r=l.config,o={},s=r[a>41?"endDate":"dateTime"],y=lay.extend({},s,t||{});return lay.each({now:y,min:r.min,max:r.max},function(e,t){o[e]=l.newDate(lay.extend({year:t.year,month:t.month,date:t.date},function(){var e={};return lay.each(n,function(a,n){e[n]=t[n]}),e}())).getTime()}),i=o.nowo.max,e&&e[i?"addClass":"removeClass"](d),i},D.prototype.thisDateTime=function(e){var t=this,a=t.config;return e?t.endDate:a.dateTime},D.prototype.calendar=function(e,t,a){var n,i,r,o=this,s=o.config,t=t?1:0,d=e||o.thisDateTime(t),c=new Date,u=o.lang(),h="date"!==s.type&&"datetime"!==s.type,f=lay(o.table[t]).find("td"),g=lay(o.elemHeader[t][2]).find("span");return d.yearm[1]&&(d.year=m[1],o.hint(u.invalidDate)),o.firstDate||(o.firstDate=lay.extend({},d)),c.setFullYear(d.year,d.month,1),n=c.getDay(),i=l.getEndDate(d.month||12,d.year),r=l.getEndDate(d.month+1,d.year),lay.each(f,function(e,t){var a=[d.year,d.month],l=0;t=lay(t),t.removeAttr("class"),e=n&&e=a.firstDate.year&&(l.month=n.max.month,l.date=n.max.date),a.limit(lay(i),l,t),M++}),lay(m[f?0:1]).attr("lay-ym",M-8+"-"+D[1]).html(E+T+" - "+(M-1+T))}else if("month"===e)lay.each(new Array(12),function(e){var i=lay.elem("li",{"lay-ym":e}),r={year:D[0],month:e};e+1==D[1]&&lay(i).addClass(y),i.innerHTML=l.month[e]+(f?"\u6708":""),o.appendChild(i),D[0]=a.firstDate.year&&(r.date=n.max.date),a.limit(lay(i),r,t)}),lay(m[f?0:1]).attr("lay-ym",D[0]+"-"+D[1]).html(D[0]+T);else if("time"===e){var C=function(){lay(o).find("ol").each(function(e,n){lay(n).find("li").each(function(n,i){a.limit(lay(i),[{hours:n},{hours:a[x].hours,minutes:n},{hours:a[x].hours,minutes:a[x].minutes,seconds:n}][e],t,[["hours"],["hours","minutes"],["hours","minutes","seconds"]][e])})}),n.range||a.limit(lay(a.footer).find(p),a[x],0,["hours","minutes","seconds"])};n.range?a[x]||(a[x]="startTime"===x?i:a.endDate):a[x]=i,lay.each([24,60,60],function(e,t){var n=lay.elem("li"),i=["

"+l.time[e]+"

    "];lay.each(new Array(t),function(t){i.push(""+lay.digit(t,2)+"")}),n.innerHTML=i.join("")+"
",o.appendChild(n)}),C()}if(h&&c.removeChild(h),c.appendChild(o),"year"===e||"month"===e)lay(a.elemMain[t]).addClass("laydate-ym-show"),lay(o).find("li").on("click",function(){var l=0|lay(this).attr("lay-ym");if(!lay(this).hasClass(d)){0===t?(i[e]=l,a.limit(lay(a.footer).find(p),null,0)):a.endDate[e]=l;var s="year"===n.type||"month"===n.type;s?(lay(o).find("."+y).removeClass(y),lay(this).addClass(y),"month"===n.type&&"year"===e&&(a.listYM[t][0]=l,r&&((t?a.endDate:i).year=l),a.list("month",t))):(a.checkDate("limit").calendar(null,t),a.closeList()),a.setBtnStatus(),n.range||("month"===n.type&&"month"===e||"year"===n.type&&"year"===e)&&a.setValue(a.parse()).remove().done(),a.done(null,"change"),lay(a.footer).find("."+v).removeClass(d)}});else{var I=lay.elem("span",{"class":g}),k=function(){lay(o).find("ol").each(function(e){var t=this,n=lay(t).find("li");t.scrollTop=30*(a[x][w[e]]-2),t.scrollTop<=0&&n.each(function(e,a){if(!lay(this).hasClass(d))return t.scrollTop=30*(e-2),!0})})},b=lay(s[2]).find("."+g);k(),I.innerHTML=n.range?[l.startTime,l.endTime][t]:l.timeTips,lay(a.elemMain[t]).addClass("laydate-time-show"),b[0]&&b.remove(),s[2].appendChild(I),lay(o).find("ol").each(function(e){var t=this;lay(t).find("li").on("click",function(){var l=0|this.innerHTML;lay(this).hasClass(d)||(n.range?a[x][w[e]]=l:i[w[e]]=l,lay(t).find("."+y).removeClass(y),lay(this).addClass(y),C(),k(),(a.endDate||"time"===n.type)&&a.done(null,"change"),a.setBtnStatus())})})}return a},D.prototype.listYM=[],D.prototype.closeList=function(){var e=this;e.config;lay.each(e.elemCont,function(t,a){lay(this).find("."+u).remove(),lay(e.elemMain[t]).removeClass("laydate-ym-show laydate-time-show")}),lay(e.elem).find("."+g).remove()},D.prototype.setBtnStatus=function(e,t,a){var n,i=this,l=i.config,r=i.lang(),o=lay(i.footer).find(p);l.range&&"time"!==l.type&&(t=t||l.dateTime,a=a||i.endDate,n=i.newDate(t).getTime()>i.newDate(a).getTime(),i.limit(null,t)||i.limit(null,a)?o.addClass(d):o[n?"addClass":"removeClass"](d),e&&n&&i.hint("string"==typeof e?r.timeout.replace(/\u65e5\u671f/g,e):r.timeout))},D.prototype.parse=function(e,t){var a=this,n=a.config,i=t||("end"==e?lay.extend({},a.endDate,a.endTime):n.range?lay.extend({},n.dateTime,a.startTime):n.dateTime),r=l.parse(i,a.format,1);return n.range&&void 0===e?r+" "+a.rangeStr+" "+a.parse("end"):r},D.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},D.prototype.setValue=function(e){var t=this,a=t.config,n=t.bindElem||a.elem[0];return"static"===a.position?t:(e=e||"",t.isInput(n)?lay(n).val(e):t.rangeElem?(t.rangeElem[0].val(e?t.parse("start"):""),t.rangeElem[1].val(e?t.parse("end"):"")):(0===lay(n).find("*").length&&lay(n).html(e),lay(n).attr("lay-date",e)),t)},D.prototype.preview=function(){var e=this,t=e.config;if(t.isPreview){var a=lay(e.elem).find("."+T),n=t.range?e.endDate?e.parse():"":e.parse();a.html(n).css({color:"#5FB878"}),setTimeout(function(){a.css({color:"#666"})},300)}},D.prototype.done=function(e,t){var a=this,n=a.config,i=lay.extend({},lay.extend(n.dateTime,a.startTime)),l=lay.extend({},lay.extend(a.endDate,a.endTime));return lay.each([i,l],function(e,t){"month"in t&&lay.extend(t,{month:t.month+1})}),a.preview(),e=e||[a.parse(),i,l],"function"==typeof n[t||"done"]&&n[t||"done"].apply(n,e),a},D.prototype.choose=function(e,t){var a=this,n=a.config,i=a.thisDateTime(t),l=(lay(a.elem).find("td"),e.attr("lay-ymd").split("-"));l={year:0|l[0],month:(0|l[1])-1,date:0|l[2]},e.hasClass(d)||(lay.extend(i,l),n.range?(lay.each(["startTime","endTime"],function(e,t){a[t]=a[t]||{hours:0,minutes:0,seconds:0}}),a.calendar(null,t).done(null,"change")):"static"===n.position?a.calendar().done().done(null,"change"):"date"===n.type?a.setValue(a.parse()).remove().done():"datetime"===n.type&&a.calendar().done(null,"change"))},D.prototype.tool=function(e,t){var a=this,n=a.config,i=a.lang(),l=n.dateTime,r="static"===n.position,o={datetime:function(){lay(e).hasClass(d)||(a.list("time",0),n.range&&a.list("time",1),lay(e).attr("lay-type","date").html(a.lang().dateTips))},date:function(){a.closeList(),lay(e).attr("lay-type","datetime").html(a.lang().timeTips)},clear:function(){r&&(lay.extend(l,a.firstDate),a.calendar()),n.range&&(delete n.dateTime,delete a.endDate,delete a.startTime,delete a.endTime),a.setValue("").remove(),a.done(["",{},{}])},now:function(){var e=new Date;lay.extend(l,a.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),a.setValue(a.parse()).remove(),r&&a.calendar(),a.done()},confirm:function(){if(n.range){if(lay(e).hasClass(d))return a.hint("time"===n.type?i.timeout.replace(/\u65e5\u671f/g,"\u65f6\u95f4"):i.timeout)}else if(lay(e).hasClass(d))return a.hint(i.invalidDate);a.done(),a.setValue(a.parse()).remove()}};o[t]&&o[t]()},D.prototype.change=function(e){var t=this,a=t.config,n=t.thisDateTime(e),i=a.range&&("year"===a.type||"month"===a.type),l=t.elemCont[e||0],r=t.listYM[e],o=function(o){var s=lay(l).find(".laydate-year-list")[0],y=lay(l).find(".laydate-month-list")[0];return s&&(r[0]=o?r[0]-15:r[0]+15,t.list("year",e)),y&&(o?r[0]--:r[0]++,t.list("month",e)),(s||y)&&(lay.extend(n,{year:r[0]}),i&&(n.year=r[0]),a.range||t.done(null,"change"),a.range||t.limit(lay(t.footer).find(p),{year:r[0]})),t.setBtnStatus(),s||y};return{prevYear:function(){o("sub")||(n.year--,t.checkDate("limit").calendar(null,e),t.done(null,"change"))},prevMonth:function(){var a=t.getAsYM(n.year,n.month,"sub");lay.extend(n,{year:a[0],month:a[1]}),t.checkDate("limit").calendar(null,e),t.done(null,"change")},nextMonth:function(){var a=t.getAsYM(n.year,n.month);lay.extend(n,{year:a[0],month:a[1]}),t.checkDate("limit").calendar(null,e),t.done(null,"change")},nextYear:function(){o()||(n.year++,t.checkDate("limit").calendar(null,e),t.done(null,"change"))}}},D.prototype.changeEvent=function(){var e=this;e.config;lay(e.elem).on("click",function(e){lay.stope(e)}).on("mousedown",function(e){lay.stope(e)}),lay.each(e.elemHeader,function(t,a){lay(a[0]).on("click",function(a){e.change(t).prevYear()}),lay(a[1]).on("click",function(a){e.change(t).prevMonth()}),lay(a[2]).find("span").on("click",function(a){var n=lay(this),i=n.attr("lay-ym"),l=n.attr("lay-type");i&&(i=i.split("-"),e.listYM[t]=[0|i[0],0|i[1]],e.list(l,t),lay(e.footer).find("."+v).addClass(d))}),lay(a[3]).on("click",function(a){e.change(t).nextMonth()}),lay(a[4]).on("click",function(a){e.change(t).nextYear()})}),lay.each(e.table,function(t,a){var n=lay(a).find("td");n.on("click",function(){e.choose(lay(this),t)})}),lay(e.footer).find("span").on("click",function(){var t=lay(this).attr("lay-type");e.tool(this,t)})},D.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())},D.prototype.events=function(){var e=this,t=e.config,a=function(a,n){a.on(t.trigger,function(){n&&(e.bindElem=this),e.render()})};t.elem[0]&&!t.elem[0].eventHandler&&(a(t.elem,"bind"),a(t.eventElem),t.elem[0].eventHandler=!0)},r.that={},r.getThis=function(e){var t=r.that[e];return!t&&a&&layui.hint().error(e?o+" instance with ID '"+e+"' not found":"ID argument required"),t},n.run=function(a){a(t).on("mousedown",function(e){if(l.thisId){var t=r.getThis(l.thisId);if(t){var n=t.config;e.target!==n.elem[0]&&e.target!==n.eventElem[0]&&e.target!==a(n.closeStop)[0]&&t.remove()}}}).on("keydown",function(e){if(l.thisId){var t=r.getThis(l.thisId);t&&13===e.keyCode&&a("#"+t.elemID)[0]&&t.elemID===D.thisElemDate&&(e.preventDefault(),a(t.footer).find(p)[0].click())}}),a(e).on("resize",function(){if(l.thisId){var e=r.getThis(l.thisId);if(e)return!(!e.elem||!a(s)[0])&&void e.position()}})},l.render=function(e){var t=new D(e);return r.call(t)},l.parse=function(e,t,a){return e=e||{},"string"==typeof t&&(t=r.formatArr(t)),t=(t||[]).concat(),lay.each(t,function(n,i){/yyyy|y/.test(i)?t[n]=lay.digit(e.year,i.length):/MM|M/.test(i)?t[n]=lay.digit(e.month+(a||0),i.length):/dd|d/.test(i)?t[n]=lay.digit(e.date,i.length):/HH|H/.test(i)?t[n]=lay.digit(e.hours,i.length):/mm|m/.test(i)?t[n]=lay.digit(e.minutes,i.length):/ss|s/.test(i)&&(t[n]=lay.digit(e.seconds,i.length))}),t.join("")},l.getEndDate=function(e,t){var a=new Date;return a.setFullYear(t||a.getFullYear(),e||a.getMonth()+1,1),new Date(a.getTime()-864e5).getDate()},a?(l.ready(),layui.define("lay",function(e){l.path=layui.cache.dir,n.run(lay),e(o,l)})):"function"==typeof define&&define.amd?define(function(){return n.run(lay),l}):function(){l.ready(),n.run(e.lay),e.laydate=l}()}(window,window.document);!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&"length"in e&&e.length,n=pe.type(e);return"function"!==n&&!pe.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e,t,n){if(pe.isFunction(t))return pe.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return pe.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(Ce.test(t))return pe.filter(t,e,n);t=pe.filter(t,e)}return pe.grep(e,function(e){return pe.inArray(e,t)>-1!==n})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t={};return pe.each(e.match(De)||[],function(e,n){t[n]=!0}),t}function a(){re.addEventListener?(re.removeEventListener("DOMContentLoaded",s),e.removeEventListener("load",s)):(re.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(re.addEventListener||"load"===e.event.type||"complete"===re.readyState)&&(a(),pe.ready())}function u(e,t,n){if(void 0===n&&1===e.nodeType){var r="data-"+t.replace(_e,"-$1").toLowerCase();if(n=e.getAttribute(r),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:qe.test(n)?pe.parseJSON(n):n)}catch(i){}pe.data(e,t,n)}else n=void 0}return n}function l(e){var t;for(t in e)if(("data"!==t||!pe.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(e,t,n,r){if(He(e)){var i,o,a=pe.expando,s=e.nodeType,u=s?pe.cache:e,l=s?e[a]:e[a]&&a;if(l&&u[l]&&(r||u[l].data)||void 0!==n||"string"!=typeof t)return l||(l=s?e[a]=ne.pop()||pe.guid++:a),u[l]||(u[l]=s?{}:{toJSON:pe.noop}),"object"!=typeof t&&"function"!=typeof t||(r?u[l]=pe.extend(u[l],t):u[l].data=pe.extend(u[l].data,t)),o=u[l],r||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[pe.camelCase(t)]=n),"string"==typeof t?(i=o[t],null==i&&(i=o[pe.camelCase(t)])):i=o,i}}function f(e,t,n){if(He(e)){var r,i,o=e.nodeType,a=o?pe.cache:e,s=o?e[pe.expando]:pe.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){pe.isArray(t)?t=t.concat(pe.map(t,pe.camelCase)):t in r?t=[t]:(t=pe.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;for(;i--;)delete r[t[i]];if(n?!l(r):!pe.isEmptyObject(r))return}(n||(delete a[s].data,l(a[s])))&&(o?pe.cleanData([e],!0):fe.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}function d(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return pe.css(e,t,"")},u=s(),l=n&&n[3]||(pe.cssNumber[t]?"":"px"),c=(pe.cssNumber[t]||"px"!==l&&+u)&&Me.exec(pe.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||".5",c/=o,pe.style(e,t,c+l);while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function p(e){var t=ze.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){var n,r,i=0,o="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||pe.nodeName(r,t)?o.push(r):pe.merge(o,h(r,t));return void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],o):o}function g(e,t){for(var n,r=0;null!=(n=e[r]);r++)pe._data(n,"globalEval",!t||pe._data(t[r],"globalEval"))}function m(e){Be.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t,n,r,i){for(var o,a,s,u,l,c,f,d=e.length,y=p(t),v=[],x=0;x"!==f[1]||Ve.test(a)?0:u:u.firstChild,o=a&&a.childNodes.length;o--;)pe.nodeName(c=a.childNodes[o],"tbody")&&!c.childNodes.length&&a.removeChild(c);for(pe.merge(v,u.childNodes),u.textContent="";u.firstChild;)u.removeChild(u.firstChild);u=y.lastChild}else v.push(t.createTextNode(a));for(u&&y.removeChild(u),fe.appendChecked||pe.grep(h(v,"input"),m),x=0;a=v[x++];)if(r&&pe.inArray(a,r)>-1)i&&i.push(a);else if(s=pe.contains(a.ownerDocument,a),u=h(y.appendChild(a),"script"),s&&g(u),n)for(o=0;a=u[o++];)Ie.test(a.type||"")&&n.push(a);return u=null,y}function v(){return!0}function x(){return!1}function b(){try{return re.activeElement}catch(e){}}function w(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)w(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,r,n)})}function T(e,t){return pe.nodeName(e,"table")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function C(e){return e.type=(null!==pe.find.attr(e,"type"))+"/"+e.type,e}function E(e){var t=it.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function N(e,t){if(1===t.nodeType&&pe.hasData(e)){var n,r,i,o=pe._data(e),a=pe._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;r1&&"string"==typeof p&&!fe.checkClone&&rt.test(p))return e.each(function(i){var o=e.eq(i);g&&(t[0]=p.call(this,i,o.html())),S(o,t,n,r)});if(f&&(l=y(t,e[0].ownerDocument,!1,e,r),i=l.firstChild,1===l.childNodes.length&&(l=i),i||r)){for(s=pe.map(h(l,"script"),C),a=s.length;c")).appendTo(t.documentElement),t=(ut[0].contentWindow||ut[0].contentDocument).document,t.write(),t.close(),n=D(e,t),ut.detach()),lt[e]=n),n}function L(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function H(e){if(e in Et)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=Ct.length;n--;)if(e=Ct[n]+t,e in Et)return e}function q(e,t){for(var n,r,i,o=[],a=0,s=e.length;a=0&&n=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==pe.type(e)||e.nodeType||pe.isWindow(e))return!1;try{if(e.constructor&&!ce.call(e,"constructor")&&!ce.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}if(!fe.ownFirst)for(t in e)return ce.call(e,t);for(t in e);return void 0===t||ce.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ue[le.call(e)]||"object":typeof e},globalEval:function(t){t&&pe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ge,"ms-").replace(me,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;iT.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[P]=!0,e}function i(e){var t=H.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function d(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;i-1&&(r[l]=!(a[l]=f))}}else x=m(x===a?x.splice(h,x.length):x),o?o(null,a,x,u):Q.apply(a,x)})}function v(e){for(var t,n,r,i=e.length,o=T.relative[e[0].type],a=o||T.relative[" "],s=o?1:0,u=p(function(e){return e===t},a,!0),l=p(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var i=!o&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];s1&&h(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,o=e.length>0,a=function(r,a,s,u,l){var c,f,d,p=0,h="0",g=r&&[],y=[],v=A,x=r||o&&T.find.TAG("*",l),b=W+=null==v?1:Math.random()||.1,w=x.length;for(l&&(A=a===H||a||l);h!==w&&null!=(c=x[h]);h++){if(o&&c){for(f=0,a||c.ownerDocument===H||(L(c),s=!_);d=e[f++];)if(d(c,a||H,s)){u.push(c);break}l&&(W=b)}i&&((c=!d&&c)&&p--,r&&g.push(c))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(g,y,a,s);if(r){if(p>0)for(;h--;)g[h]||y[h]||(y[h]=G.call(u));y=m(y)}Q.apply(u,y),l&&!r&&y.length>0&&p+n.length>1&&t.uniqueSort(u)}return l&&(W=b,A=v),g};return i?r(a):a}var b,w,T,C,E,N,k,S,A,D,j,L,H,q,_,F,M,O,R,P="sizzle"+1*new Date,B=e.document,W=0,I=0,$=n(),z=n(),X=n(),U=function(e,t){return e===t&&(j=!0),0},V=1<<31,Y={}.hasOwnProperty,J=[],G=J.pop,K=J.push,Q=J.push,Z=J.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(oe),de=new RegExp("^"+re+"$"),pe={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,xe=/'|\\/g,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Te=function(){L()};try{Q.apply(J=Z.call(B.childNodes),B.childNodes),J[B.childNodes.length].nodeType}catch(Ce){Q={apply:J.length?function(e,t){K.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:B;return r!==H&&9===r.nodeType&&r.documentElement?(H=r,q=H.documentElement,_=!E(H),(n=H.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Te,!1):n.attachEvent&&n.attachEvent("onunload",Te)),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(H.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=me.test(H.getElementsByClassName),w.getById=i(function(e){return q.appendChild(e).id=P,!H.getElementsByName||!H.getElementsByName(P).length}),w.getById?(T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&_){var n=t.getElementById(e);return n?[n]:[]}},T.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute("id")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),T.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},T.find.CLASS=w.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&_)return t.getElementsByClassName(e)},M=[],F=[],(w.qsa=me.test(H.querySelectorAll))&&(i(function(e){q.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+P+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+P+"+*").length||F.push(".#.+[+~]")}),i(function(e){var t=H.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=me.test(O=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(e){w.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),M.push("!=",oe)}),F=F.length&&new RegExp(F.join("|")),M=M.length&&new RegExp(M.join("|")),t=me.test(q.compareDocumentPosition),R=t||me.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===H||e.ownerDocument===B&&R(B,e)?-1:t===H||t.ownerDocument===B&&R(B,t)?1:D?ee(D,e)-ee(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],u=[t];if(!i||!o)return e===H?-1:t===H?1:i?-1:o?1:D?ee(D,e)-ee(D,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===B?-1:u[r]===B?1:0},H):H},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==H&&L(e),n=n.replace(ce,"='$1']"),w.matchesSelector&&_&&!X[n+" "]&&(!M||!M.test(n))&&(!F||!F.test(n)))try{var r=O.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,H,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==H&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==H&&L(e);var n=T.attrHandle[t.toLowerCase()],r=n&&Y.call(T.attrHandle,t.toLowerCase())?n(e,t,!_):void 0;return void 0!==r?r:w.attributes||!_?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!w.detectDuplicates,D=!w.sortStable&&e.slice(0),e.sort(U),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return D=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||"").replace(be,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){for(d=m,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===W&&l[1],x=p&&l[2], +d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){c[e]=[W,p,x];break}}else if(v&&(d=t,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===W&&l[1],x=p),x===!1)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==y:1!==d.nodeType)||!++x||(v&&(f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[W,x]),d!==t)););return x-=i,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[P]?o(n):o.length>1?(i=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=ee(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,"$1"));return i[P]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=_?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===H.activeElement&&(!H.hasFocus||H.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(a=o[0]).type&&w.getById&&9===t.nodeType&&_&&T.relative[o[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,we),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,we),ve.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Q.apply(n,r),n;break}}return(l||k(e,f))(r,t,!_,n,!t||ve.test(e)&&c(t.parentNode)||t),n},w.sortStable=P.split("").sort(U).join("")===P,w.detectDuplicates=!!j,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(H.createElement("div"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);pe.find=ve,pe.expr=ve.selectors,pe.expr[":"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=ve.uniqueSort,pe.text=ve.getText,pe.isXMLDoc=ve.isXML,pe.contains=ve.contains;var xe=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(n))break;r.push(e)}return r},be=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},we=pe.expr.match.needsContext,Te=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Ce=/^.[^:#\[\.,]*$/;pe.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?pe.find.matchesSelector(r,e)?[r]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t1?pe.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&we.test(e)?pe(e):e||[],!1).length}});var Ee,Ne=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ke=pe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ee,"string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:Ne.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:re,!0)),Te.test(r[1])&&pe.isPlainObject(t))for(r in t)pe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(i=re.getElementById(r[2]),i&&i.parentNode){if(i.id!==r[2])return Ee.find(e);this.length=1,this[0]=i}return this.context=re,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):pe.isFunction(e)?"undefined"!=typeof n.ready?n.ready(e):e(pe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),pe.makeArray(e,this))};ke.prototype=pe.fn,Ee=pe(re);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t,n=pe(e,this),r=n.length;return this.filter(function(){for(t=0;t-1:1===n.nodeType&&pe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?pe.inArray(this[0],pe(e)):pe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,"parentNode")},parentsUntil:function(e,t,n){return xe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return xe(e,"nextSibling")},prevAll:function(e){return xe(e,"previousSibling")},nextUntil:function(e,t,n){return xe(e,"nextSibling",n)},prevUntil:function(e,t,n){return xe(e,"previousSibling",n)},siblings:function(e){return be((e.parentNode||{}).firstChild,e)},children:function(e){return be(e.firstChild)},contents:function(e){return pe.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(n,r){var i=pe.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=pe.filter(r,i)),this.length>1&&(Ae[e]||(i=pe.uniqueSort(i)),Se.test(e)&&(i=i.reverse())),this.pushStack(i)}});var De=/\S+/g;pe.Callbacks=function(e){e="string"==typeof e?o(e):pe.extend({},e);var t,n,r,i,a=[],s=[],u=-1,l=function(){for(i=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u-1;)a.splice(n,1),n<=u&&u--}),this},has:function(e){return e?pe.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=!0,n||c.disable(),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},pe.extend({Deferred:function(e){var t=[["resolve","done",pe.Callbacks("once memory"),"resolved"],["reject","fail",pe.Callbacks("once memory"),"rejected"],["notify","progress",pe.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return pe.Deferred(function(n){pe.each(t,function(t,o){var a=pe.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?pe.extend(e,r):r}},i={};return r.pipe=r.then,pe.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=ie.call(arguments),a=o.length,s=1!==a||e&&pe.isFunction(e.promise)?a:0,u=1===s?e:pe.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ie.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);i0||(je.resolveWith(re,[pe]),pe.fn.triggerHandler&&(pe(re).triggerHandler("ready"),pe(re).off("ready"))))}}),pe.ready.promise=function(t){if(!je)if(je=pe.Deferred(),"complete"===re.readyState||"loading"!==re.readyState&&!re.documentElement.doScroll)e.setTimeout(pe.ready);else if(re.addEventListener)re.addEventListener("DOMContentLoaded",s),e.addEventListener("load",s);else{re.attachEvent("onreadystatechange",s),e.attachEvent("onload",s);var n=!1;try{n=null==e.frameElement&&re.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!pe.isReady){try{n.doScroll("left")}catch(t){return e.setTimeout(i,50)}a(),pe.ready()}}()}return je.promise(t)},pe.ready.promise();var Le;for(Le in pe(fe))break;fe.ownFirst="0"===Le,fe.inlineBlockNeedsLayout=!1,pe(function(){var e,t,n,r;n=re.getElementsByTagName("body")[0],n&&n.style&&(t=re.createElement("div"),r=re.createElement("div"),r.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(r).appendChild(t),"undefined"!=typeof t.style.zoom&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",fe.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(r))}),function(){var e=re.createElement("div");fe.deleteExpando=!0;try{delete e.test}catch(t){fe.deleteExpando=!1}e=null}();var He=function(e){var t=pe.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||t!==!0&&e.getAttribute("classid")===t)},qe=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,_e=/([A-Z])/g;pe.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?pe.cache[e[pe.expando]]:e[pe.expando],!!e&&!l(e)},data:function(e,t,n){return c(e,t,n)},removeData:function(e,t){return f(e,t)},_data:function(e,t,n){return c(e,t,n,!0)},_removeData:function(e,t){return f(e,t,!0)}}),pe.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=pe.data(o),1===o.nodeType&&!pe._data(o,"parsedAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=pe.camelCase(r.slice(5)),u(o,r,i[r])));pe._data(o,"parsedAttrs",!0)}return i}return"object"==typeof e?this.each(function(){pe.data(this,e)}):arguments.length>1?this.each(function(){pe.data(this,e,t)}):o?u(o,e,pe.data(o,e)):void 0},removeData:function(e){return this.each(function(){pe.removeData(this,e)})}}),pe.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=pe._data(e,t),n&&(!r||pe.isArray(n)?r=pe._data(e,t,pe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=pe.queue(e,t),r=n.length,i=n.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return pe._data(e,n)||pe._data(e,n,{empty:pe.Callbacks("once memory").add(function(){pe._removeData(e,t+"queue"),pe._removeData(e,n)})})}}),pe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length
a",fe.leadingWhitespace=3===e.firstChild.nodeType,fe.tbody=!e.getElementsByTagName("tbody").length,fe.htmlSerialize=!!e.getElementsByTagName("link").length,fe.html5Clone="<:nav>"!==re.createElement("nav").cloneNode(!0).outerHTML,n.type="checkbox",n.checked=!0,t.appendChild(n),fe.appendChecked=n.checked,e.innerHTML="",fe.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,t.appendChild(e),n=re.createElement("input"),n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),fe.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.noCloneEvent=!!e.addEventListener,e[pe.expando]=1,fe.attributes=!e.getAttribute(pe.expando)}();var Xe={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:fe.htmlSerialize?[0,"",""]:[1,"X
","
"]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Ue=/<|&#?\w+;/,Ve=/-1&&(h=p.split("."),p=h.shift(),h.sort()),a=p.indexOf(":")<0&&"on"+p,t=t[pe.expando]?t:new pe.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:pe.makeArray(n,[t]),l=pe.event.special[p]||{},i||!l.trigger||l.trigger.apply(r,n)!==!1)){if(!i&&!l.noBubble&&!pe.isWindow(r)){for(u=l.delegateType||p,Ke.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),c=s;c===(r.ownerDocument||re)&&d.push(c.defaultView||c.parentWindow||e)}for(f=0;(s=d[f++])&&!t.isPropagationStopped();)t.type=f>1?u:l.bindType||p,o=(pe._data(s,"events")||{})[t.type]&&pe._data(s,"handle"),o&&o.apply(s,n),o=a&&s[a],o&&o.apply&&He(s)&&(t.result=o.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=p,!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),n)===!1)&&He(r)&&a&&r[p]&&!pe.isWindow(r)){c=r[a],c&&(r[a]=null),pe.event.triggered=p;try{r[p]()}catch(g){}pe.event.triggered=void 0,c&&(r[a]=c)}return t.result}},dispatch:function(e){e=pe.event.fix(e);var t,n,r,i,o,a=[],s=ie.call(arguments),u=(pe._data(this,"events")||{})[e.type]||[],l=pe.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(a=pe.event.handlers.call(this,e,u),t=0;(i=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,r=((pe.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(r=[],n=0;n-1:pe.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s]","i"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,nt=/\s*$/g,at=p(re),st=at.appendChild(re.createElement("div"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,"<$1>")},clone:function(e,t,n){var r,i,o,a,s,u=pe.contains(e.ownerDocument,e);if(fe.html5Clone||pe.isXMLDoc(e)||!et.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(st.innerHTML=e.outerHTML,st.removeChild(o=st.firstChild)),!(fe.noCloneEvent&&fe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pe.isXMLDoc(e)))for(r=h(o),s=h(e),a=0;null!=(i=s[a]);++a)r[a]&&k(i,r[a]);if(t)if(n)for(s=s||h(e),r=r||h(o),a=0;null!=(i=s[a]);a++)N(i,r[a]);else N(e,o);return r=h(o,"script"),r.length>0&&g(r,!u&&h(e,"script")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=pe.expando,u=pe.cache,l=fe.attributes,c=pe.event.special;null!=(n=e[a]);a++)if((t||He(n))&&(i=n[s],o=i&&u[i])){if(o.events)for(r in o.events)c[r]?pe.event.remove(n,r):pe.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l||"undefined"==typeof n.removeAttribute?n[s]=void 0:n.removeAttribute(s),ne.push(i))}}}),pe.fn.extend({domManip:S,detach:function(e){return A(this,e,!0)},remove:function(e){return A(this,e)},text:function(e){return Pe(this,function(e){return void 0===e?pe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||re).createTextNode(e))},null,e,arguments.length)},append:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.appendChild(e)}})},prepend:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&pe.cleanData(h(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&pe.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return pe.clone(this,e,t)})},html:function(e){return Pe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Ze,""):void 0;if("string"==typeof e&&!nt.test(e)&&(fe.htmlSerialize||!et.test(e))&&(fe.leadingWhitespace||!$e.test(e))&&!Xe[(We.exec(e)||["",""])[1].toLowerCase()]){e=pe.htmlPrefilter(e);try{for(;nt",l.childNodes[0].style.borderCollapse="separate",t=l.getElementsByTagName("td"),t[0].style.cssText="margin:0;border:0;padding:0;display:none",o=0===t[0].offsetHeight,o&&(t[0].style.display="",t[1].style.display="none",o=0===t[0].offsetHeight)),f.removeChild(u)}var n,r,i,o,a,s,u=re.createElement("div"),l=re.createElement("div");l.style&&(l.style.cssText="float:left;opacity:.5",fe.opacity="0.5"===l.style.opacity,fe.cssFloat=!!l.style.cssFloat,l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",fe.clearCloneStyle="content-box"===l.style.backgroundClip,u=re.createElement("div"),u.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",l.innerHTML="",u.appendChild(l),fe.boxSizing=""===l.style.boxSizing||""===l.style.MozBoxSizing||""===l.style.WebkitBoxSizing,pe.extend(fe,{reliableHiddenOffsets:function(){return null==n&&t(),o},boxSizingReliable:function(){return null==n&&t(),i},pixelMarginRight:function(){return null==n&&t(),r},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),a},reliableMarginLeft:function(){return null==n&&t(),s}}))}();var ht,gt,mt=/^(top|right|bottom|left)$/;e.getComputedStyle?(ht=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n.getPropertyValue(t)||n[t]:void 0,""!==a&&void 0!==a||pe.contains(e.ownerDocument,e)||(a=pe.style(e,t)),n&&!fe.pixelMarginRight()&&ft.test(a)&&ct.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o),void 0===a?a:a+""}):pt.currentStyle&&(ht=function(e){return e.currentStyle},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n[t]:void 0,null==a&&s&&s[t]&&(a=s[t]),ft.test(a)&&!mt.test(t)&&(r=s.left,i=e.runtimeStyle,o=i&&i.left,o&&(i.left=e.currentStyle.left),s.left="fontSize"===t?"1em":a,a=s.pixelLeft+"px",s.left=r,o&&(i.left=o)),void 0===a?a:a+""||"auto"});var yt=/alpha\([^)]*\)/i,vt=/opacity\s*=\s*([^)]*)/i,xt=/^(none|table(?!-c[ea]).+)/,bt=new RegExp("^("+Fe+")(.*)$","i"),wt={position:"absolute",visibility:"hidden",display:"block"},Tt={letterSpacing:"0",fontWeight:"400"},Ct=["Webkit","O","Moz","ms"],Et=re.createElement("div").style;pe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=gt(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":fe.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=pe.camelCase(t),u=e.style;if(t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:u[t];if(o=typeof n,"string"===o&&(i=Me.exec(n))&&i[1]&&(n=d(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(pe.cssNumber[s]?"":"px")),fe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),!(a&&"set"in a&&void 0===(n=a.set(e,n,r)))))try{u[t]=n}catch(l){}}},css:function(e,t,n,r){var i,o,a,s=pe.camelCase(t);return t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=gt(e,t,r)),"normal"===o&&t in Tt&&(o=Tt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),pe.each(["height","width"],function(e,t){pe.cssHooks[t]={get:function(e,n,r){if(n)return xt.test(pe.css(e,"display"))&&0===e.offsetWidth?dt(e,wt,function(){return M(e,t,r)}):M(e,t,r)},set:function(e,n,r){var i=r&&ht(e);return _(e,n,r?F(e,t,r,fe.boxSizing&&"border-box"===pe.css(e,"boxSizing",!1,i),i):0)}}}),fe.opacity||(pe.cssHooks.opacity={get:function(e,t){return vt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=pe.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===pe.trim(o.replace(yt,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=yt.test(o)?o.replace(yt,i):o+" "+i)}}),pe.cssHooks.marginRight=L(fe.reliableMarginRight,function(e,t){if(t)return dt(e,{display:"inline-block"},gt,[e,"marginRight"])}),pe.cssHooks.marginLeft=L(fe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(gt(e,"marginLeft"))||(pe.contains(e.ownerDocument,e)?e.getBoundingClientRect().left-dt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}):0))+"px"}),pe.each({margin:"",padding:"",border:"Width"},function(e,t){pe.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+Oe[r]+t]=o[r]||o[r-2]||o[0];return i}},ct.test(e)||(pe.cssHooks[e+t].set=_)}),pe.fn.extend({css:function(e,t){return Pe(this,function(e,t,n){var r,i,o={},a=0;if(pe.isArray(t)){for(r=ht(e),i=t.length;a1)},show:function(){return q(this,!0)},hide:function(){return q(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Re(this)?pe(this).show():pe(this).hide()})}}),pe.Tween=O,O.prototype={constructor:O,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||pe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(pe.cssNumber[n]?"":"px")},cur:function(){var e=O.propHooks[this.prop];return e&&e.get?e.get(this):O.propHooks._default.get(this)},run:function(e){var t,n=O.propHooks[this.prop];return this.options.duration?this.pos=t=pe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):O.propHooks._default.set(this),this}},O.prototype.init.prototype=O.prototype,O.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=pe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){pe.fx.step[e.prop]?pe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[pe.cssProps[e.prop]]&&!pe.cssHooks[e.prop]?e.elem[e.prop]=e.now:pe.style(e.elem,e.prop,e.now+e.unit)}}},O.propHooks.scrollTop=O.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},pe.fx=O.prototype.init,pe.fx.step={};var Nt,kt,St=/^(?:toggle|show|hide)$/,At=/queueHooks$/;pe.Animation=pe.extend($,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,Me.exec(t),n),n}]},tweener:function(e,t){pe.isFunction(e)?(t=e,e=["*"]):e=e.match(De);for(var n,r=0,i=e.length;r
a",e=n.getElementsByTagName("a")[0],t.setAttribute("type","checkbox"),n.appendChild(t),e=n.getElementsByTagName("a")[0],e.style.cssText="top:1px",fe.getSetAttribute="t"!==n.className,fe.style=/top/.test(e.getAttribute("style")),fe.hrefNormalized="/a"===e.getAttribute("href"),fe.checkOn=!!t.value,fe.optSelected=i.selected,fe.enctype=!!re.createElement("form").enctype,r.disabled=!0,fe.optDisabled=!i.disabled,t=re.createElement("input"),t.setAttribute("value",""),fe.input=""===t.getAttribute("value"),t.value="t",t.setAttribute("type","radio"),fe.radioValue="t"===t.value}();var Dt=/\r/g,jt=/[\x20\t\r\n\f]+/g;pe.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=pe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,pe(this).val()):e,null==i?i="":"number"==typeof i?i+="":pe.isArray(i)&&(i=pe.map(i,function(e){return null==e?"":e+""})),t=pe.valHooks[this.type]||pe.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=pe.valHooks[i.type]||pe.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(Dt,""):null==n?"":n)}}}),pe.extend({valHooks:{option:{get:function(e){var t=pe.find.attr(e,"value");return null!=t?t:pe.trim(pe.text(e)).replace(jt," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,u=i<0?s:o?i:0;u-1)try{r.selected=n=!0}catch(s){r.scrollHeight}else r.selected=!1;return n||(e.selectedIndex=-1),i}}}}),pe.each(["radio","checkbox"],function(){pe.valHooks[this]={set:function(e,t){if(pe.isArray(t))return e.checked=pe.inArray(pe(e).val(),t)>-1}},fe.checkOn||(pe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Lt,Ht,qt=pe.expr.attrHandle,_t=/^(?:checked|selected)$/i,Ft=fe.getSetAttribute,Mt=fe.input;pe.fn.extend({attr:function(e,t){return Pe(this,pe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pe.removeAttr(this,e)})}}),pe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?pe.prop(e,t,n):(1===o&&pe.isXMLDoc(e)||(t=t.toLowerCase(),i=pe.attrHooks[t]||(pe.expr.match.bool.test(t)?Ht:Lt)),void 0!==n?null===n?void pe.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=pe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!fe.radioValue&&"radio"===t&&pe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(De);if(o&&1===e.nodeType)for(;n=o[i++];)r=pe.propFix[n]||n,pe.expr.match.bool.test(n)?Mt&&Ft||!_t.test(n)?e[r]=!1:e[pe.camelCase("default-"+n)]=e[r]=!1:pe.attr(e,n,""),e.removeAttribute(Ft?n:r)}}),Ht={set:function(e,t,n){return t===!1?pe.removeAttr(e,n):Mt&&Ft||!_t.test(n)?e.setAttribute(!Ft&&pe.propFix[n]||n,n):e[pe.camelCase("default-"+n)]=e[n]=!0,n}},pe.each(pe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=qt[t]||pe.find.attr;Mt&&Ft||!_t.test(t)?qt[t]=function(e,t,r){var i,o;return r||(o=qt[t],qt[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,qt[t]=o),i}:qt[t]=function(e,t,n){if(!n)return e[pe.camelCase("default-"+t)]?t.toLowerCase():null}}),Mt&&Ft||(pe.attrHooks.value={set:function(e,t,n){return pe.nodeName(e,"input")?void(e.defaultValue=t):Lt&&Lt.set(e,t,n)}}),Ft||(Lt={set:function(e,t,n){var r=e.getAttributeNode(n);if(r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+="","value"===n||t===e.getAttribute(n))return t}},qt.id=qt.name=qt.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&""!==r.value?r.value:null},pe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:Lt.set},pe.attrHooks.contenteditable={set:function(e,t,n){Lt.set(e,""!==t&&t,n)}},pe.each(["width","height"],function(e,t){pe.attrHooks[t]={set:function(e,n){if(""===n)return e.setAttribute(t,"auto"),n}}})),fe.style||(pe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var Ot=/^(?:input|select|textarea|button|object)$/i,Rt=/^(?:a|area)$/i;pe.fn.extend({prop:function(e,t){return Pe(this,pe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=pe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),pe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&pe.isXMLDoc(e)||(t=pe.propFix[t]||t,i=pe.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=pe.find.attr(e,"tabindex");return t?parseInt(t,10):Ot.test(e.nodeName)||Rt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),fe.hrefNormalized||pe.each(["href","src"],function(e,t){pe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),fe.optSelected||(pe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),pe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){pe.propFix[this.toLowerCase()]=this}),fe.enctype||(pe.propFix.enctype="encoding");var Pt=/[\t\r\n\f]/g;pe.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).addClass(e.call(this,t,z(this)))});if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):pe.isFunction(e)?this.each(function(n){pe(this).toggleClass(e.call(this,n,z(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=pe(this),o=e.match(De)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=z(this),t&&pe._data(this,"__className__",t),pe.attr(this,"class",t||e===!1?"":pe._data(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(n)+" ").replace(Pt," ").indexOf(t)>-1)return!0;return!1}}),pe.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){pe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}});var Bt=e.location,Wt=pe.now(),It=/\?/,$t=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;pe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,r=null,i=pe.trim(t+"");return i&&!pe.trim(i.replace($t,function(e,t,i,o){return n&&t&&(r=0),0===r?e:(n=i||t,r+=!o-!i,"")}))?Function("return "+i)():pe.error("Invalid JSON: "+t)},pe.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(r=new e.DOMParser,n=r.parseFromString(t,"text/xml")):(n=new e.ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(i){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||pe.error("Invalid XML: "+t),n};var zt=/#.*$/,Xt=/([?&])_=[^&]*/,Ut=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Vt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Yt=/^(?:GET|HEAD)$/,Jt=/^\/\//,Gt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Kt={},Qt={},Zt="*/".concat("*"),en=Bt.href,tn=Gt.exec(en.toLowerCase())||[];pe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:en,type:"GET",isLocal:Vt.test(tn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":pe.parseJSON,"text xml":pe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?V(V(e,pe.ajaxSettings),t):V(pe.ajaxSettings,e)},ajaxPrefilter:X(Kt),ajaxTransport:X(Qt),ajax:function(t,n){function r(t,n,r,i){var o,f,v,x,w,C=n;2!==b&&(b=2,u&&e.clearTimeout(u),c=void 0,s=i||"",T.readyState=t>0?4:0,o=t>=200&&t<300||304===t,r&&(x=Y(d,T,r)),x=J(d,x,T,o),o?(d.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(pe.lastModified[a]=w),w=T.getResponseHeader("etag"),w&&(pe.etag[a]=w)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=x.state,f=x.data,v=x.error,o=!v)):(v=C,!t&&C||(C="error",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+"",o?g.resolveWith(p,[f,C,T]):g.rejectWith(p,[T,C,v]),T.statusCode(y),y=void 0,l&&h.trigger(o?"ajaxSuccess":"ajaxError",[T,d,o?f:v]),m.fireWith(p,[T,C]),l&&(h.trigger("ajaxComplete",[T,d]),--pe.active||pe.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,d=pe.ajaxSetup({},n),p=d.context||d,h=d.context&&(p.nodeType||p.jquery)?pe(p):pe.event,g=pe.Deferred(),m=pe.Callbacks("once memory"),y=d.statusCode||{},v={},x={},b=0,w="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!f)for(f={};t=Ut.exec(s);)f[t[1].toLowerCase()]=t[2];t=f[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)y[t]=[y[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||w;return c&&c.abort(t),r(0,t),this}};if(g.promise(T).complete=m.add,T.success=T.done,T.error=T.fail,d.url=((t||d.url||en)+"").replace(zt,"").replace(Jt,tn[1]+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=pe.trim(d.dataType||"*").toLowerCase().match(De)||[""],null==d.crossDomain&&(i=Gt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===tn[1]&&i[2]===tn[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(tn[3]||("http:"===tn[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=pe.param(d.data,d.traditional)),U(Kt,d,n,T),2===b)return T;l=pe.event&&d.global,l&&0===pe.active++&&pe.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Yt.test(d.type),a=d.url,d.hasContent||(d.data&&(a=d.url+=(It.test(a)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Xt.test(a)?a.replace(Xt,"$1_="+Wt++):a+(It.test(a)?"&":"?")+"_="+Wt++)),d.ifModified&&(pe.lastModified[a]&&T.setRequestHeader("If-Modified-Since",pe.lastModified[a]),pe.etag[a]&&T.setRequestHeader("If-None-Match",pe.etag[a])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",d.contentType),T.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Zt+"; q=0.01":""):d.accepts["*"]);for(o in d.headers)T.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(p,T,d)===!1||2===b))return T.abort();w="abort";for(o in{success:1,error:1,complete:1})T[o](d[o]);if(c=U(Qt,d,n,T)){if(T.readyState=1,l&&h.trigger("ajaxSend",[T,d]),2===b)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},d.timeout));try{b=1,c.send(v,r)}catch(C){if(!(b<2))throw C;r(-1,C)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return pe.get(e,t,n,"json")},getScript:function(e,t){return pe.get(e,void 0,t,"script")}}),pe.each(["get","post"],function(e,t){pe[t]=function(e,n,r,i){return pe.isFunction(n)&&(i=i||r,r=n,n=void 0),pe.ajax(pe.extend({url:e,type:t,dataType:i,data:n,success:r},pe.isPlainObject(e)&&e))}}),pe._evalUrl=function(e){return pe.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},pe.fn.extend({wrapAll:function(e){if(pe.isFunction(e))return this.each(function(t){pe(this).wrapAll(e.call(this,t))});if(this[0]){var t=pe(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return pe.isFunction(e)?this.each(function(t){pe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=pe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pe.isFunction(e);return this.each(function(n){pe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){pe.nodeName(this,"body")||pe(this).replaceWith(this.childNodes)}).end()}}),pe.expr.filters.hidden=function(e){return fe.reliableHiddenOffsets()?e.offsetWidth<=0&&e.offsetHeight<=0&&!e.getClientRects().length:K(e)},pe.expr.filters.visible=function(e){return!pe.expr.filters.hidden(e)};var nn=/%20/g,rn=/\[\]$/,on=/\r?\n/g,an=/^(?:submit|button|image|reset|file)$/i,sn=/^(?:input|select|textarea|keygen)/i;pe.param=function(e,t){var n,r=[],i=function(e,t){t=pe.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=pe.ajaxSettings&&pe.ajaxSettings.traditional),pe.isArray(e)||e.jquery&&!pe.isPlainObject(e))pe.each(e,function(){i(this.name,this.value)});else for(n in e)Q(n,e[n],t,i);return r.join("&").replace(nn,"+")},pe.fn.extend({serialize:function(){return pe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pe.prop(this,"elements");return e?pe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pe(this).is(":disabled")&&sn.test(this.nodeName)&&!an.test(e)&&(this.checked||!Be.test(e))}).map(function(e,t){var n=pe(this).val();return null==n?null:pe.isArray(n)?pe.map(n,function(e){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),pe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return this.isLocal?ee():re.documentMode>8?Z():/^(get|post|head|put|delete|options)$/i.test(this.type)&&Z()||ee()}:Z;var un=0,ln={},cn=pe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in ln)ln[e](void 0,!0)}),fe.cors=!!cn&&"withCredentials"in cn,cn=fe.ajax=!!cn,cn&&pe.ajaxTransport(function(t){if(!t.crossDomain||fe.cors){var n;return{send:function(r,i){var o,a=t.xhr(),s=++un;if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(o in r)void 0!==r[o]&&a.setRequestHeader(o,r[o]+"");a.send(t.hasContent&&t.data||null),n=function(e,r){var o,u,l;if(n&&(r||4===a.readyState))if(delete ln[s],n=void 0,a.onreadystatechange=pe.noop,r)4!==a.readyState&&a.abort();else{l={},o=a.status,"string"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(c){u=""}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=l.text?200:404}l&&i(o,u,l,a.getAllResponseHeaders())},t.async?4===a.readyState?e.setTimeout(n):a.onreadystatechange=ln[s]=n:n()},abort:function(){n&&n(void 0,!0)}}}}),pe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return pe.globalEval(e),e}}}),pe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),pe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=re.head||pe("head")[0]||re.documentElement;return{send:function(r,i){t=re.createElement("script"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){(n||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||i(200,"success"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var fn=[],dn=/(=)\?(?=&|$)|\?\?/;pe.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=fn.pop()||pe.expando+"_"+Wt++;return this[e]=!0,e}}),pe.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=pe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(It.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||pe.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?pe(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,fn.push(i)),a&&pe.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),pe.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||re;var r=Te.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=y([e],t,i),i&&i.length&&pe(i).remove(),pe.merge([],r.childNodes))};var pn=pe.fn.load;return pe.fn.load=function(e,t,n){if("string"!=typeof e&&pn)return pn.apply(this,arguments);var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pe.trim(e.slice(s,e.length)),e=e.slice(0,s)),pe.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&pe.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?pe("
").append(pe.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},pe.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){pe.fn[t]=function(e){return this.on(t,e)}}),pe.expr.filters.animated=function(e){return pe.grep(pe.timers,function(t){return e===t.elem}).length},pe.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=pe.css(e,"position"),f=pe(e),d={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=pe.css(e,"top"),u=pe.css(e,"left"),l=("absolute"===c||"fixed"===c)&&pe.inArray("auto",[o,u])>-1,l?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),pe.isFunction(t)&&(t=t.call(e,n,pe.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):f.css(d)}},pe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){pe.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],o=i&&i.ownerDocument;if(o)return t=o.documentElement,pe.contains(t,i)?("undefined"!=typeof i.getBoundingClientRect&&(r=i.getBoundingClientRect()),n=te(o),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r},position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===pe.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pe.nodeName(e[0],"html")||(n=e.offset()),n.top+=pe.css(e[0],"borderTopWidth",!0),n.left+=pe.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-pe.css(r,"marginTop",!0),left:t.left-n.left-pe.css(r,"marginLeft",!0)}}},offsetParent:function(){ +return this.map(function(){for(var e=this.offsetParent;e&&!pe.nodeName(e,"html")&&"static"===pe.css(e,"position");)e=e.offsetParent;return e||pt})}}),pe.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);pe.fn[e]=function(r){return Pe(this,function(e,r,i){var o=te(e);return void 0===i?o?t in o?o[t]:o.document.documentElement[r]:e[r]:void(o?o.scrollTo(n?pe(o).scrollLeft():i,n?i:pe(o).scrollTop()):e[r]=i)},e,r,arguments.length,null)}}),pe.each(["top","left"],function(e,t){pe.cssHooks[t]=L(fe.pixelPosition,function(e,n){if(n)return n=gt(e,t),ft.test(n)?pe(e).position()[t]+"px":n})}),pe.each({Height:"height",Width:"width"},function(e,t){pe.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){pe.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(r===!0||i===!0?"margin":"border");return Pe(this,function(t,n,r){var i;return pe.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?pe.css(t,n,a):pe.style(t,n,r,a)},t,o?r:void 0,o,null)}})}),pe.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),pe.fn.size=function(){return this.length},pe.fn.andSelf=pe.fn.addBack,layui.define(function(e){layui.$=pe,e("jquery",pe)}),pe});!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var t=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if("interactive"===t[n].readyState){e=t[n].src;break}return e||t[i].src}(),i=e.LAYUI_GLOBAL||{};return i.layer_dir||t.substring(0,t.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["确定","取消"],type:["dialog","page","iframe","loading","tips"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName("head")[0],s=document.createElement("link");"string"==typeof i&&(n=i);var l=(n||t).replace(/\.|\//g,""),f="layuicss-"+l,c="creating",u=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),"function"==typeof i&&!function d(t){var n=100,a=document.getElementById(f);return++u>1e4/n?e.console&&console.error(l+".css: Invalid"):void(1989===parseInt(o.getStyle(a,"width"))?(t===c&&a.removeAttribute("lay-status"),a.getAttribute("lay-status")===c?setTimeout(d,n):i()):(a.setAttribute("lay-status",c),setTimeout(function(){d(c)},n)))}()}}},r={v:"3.5.1",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):o.link("theme/"+e.extend),this):this},ready:function(e){var t="layer",i="",n=(a?"modules/layer/":"theme/")+"default/layer.css?v="+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:260},n))}},s=function(e){var t=this,a=function(){t.creat()};t.index=++r.index,t.config.maxWidth=i(n).width()-30,t.config=i.extend({},t.config,o.config,e),document.body?a():setTimeout(function(){a()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim-00","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],l.SHADE="layui-layer-shade",l.MOVE="layui-layer-move",s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"信息",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,minStack:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'
'+(f?r.title[0]:r.title)+"
":"";return r.zIndex=s,t([r.shade?'
':"",'
'+(e&&2!=r.type?"":u)+'
'+(0==r.type&&r.icon!==-1?'':"")+(1==r.type&&e?"":r.content||"")+'
'+function(){var e=c?'':"";return r.closeBtn&&(e+=''),e}()+""+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t'+r.btn[t]+"";return'
'+e+"
"}():"")+(r.resize?'':"")+"
"],u,i('
')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f="object"==typeof s,c=i("body");if(!t.id||!i("#"+t.id)[0]){switch("string"==typeof t.area&&(t.area="auto"===t.area?["",""]:[t.area,""]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn="btn"in t?t.btn:o.btn[0],r.closeAll("dialog");break;case 2:var s=t.content=f?t.content:[t.content||"","auto"];t.content='';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i("#"+l.MOVE)[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),e.shadeo=i("#"+l.SHADE+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),e.shadeo.css({"background-color":t.shade[1]||"#000",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():function(){e.offset(),parseInt(o.getStyle(document.getElementById(l.MOVE),"z-index"))||function(){e.layero.css("visibility","hidden"),r.ready(function(){e.offset(),e.layero.css("visibility","visible")})}()}(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u="layer-anim "+l.anim[t.anim];e.layero.addClass(u).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i("#"+l[0]+e);""===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find("."+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css("padding-top"))))};switch(a.type){case 2:u("iframe");break;default:""===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u("."+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u("."+l[5])):u("."+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;af&&(a=f),ou&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index,t)}):a.success(n,t.index,t)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&t.shadeo.on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n,t.index);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n,t.index)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n,t.index)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){t=t||{};var a=i("#"+l[0]+e),s=i("#"+l.SHADE+e),f=a.find(l[1]).outerHeight()||0,c=a.attr("minLeft")||181*o.minIndex+"px",u=a.css("position"),d={width:180,height:f,position:"fixed",overflow:"hidden"};o.record(a),o.minLeft[0]&&(c=o.minLeft[0],o.minLeft.shift()),t.minStack&&(d.left=c,d.top=n.height()-f,a.attr("minLeft")||o.minIndex++,a.attr("minLeft",c)),a.attr("position",u),r.style(e,d,!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),s.hide()},r.restore=function(e){var t=i("#"+l[0]+e),n=i("#"+l.SHADE+e),a=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(a[0]),height:parseFloat(a[1]),top:parseFloat(a[2]),left:parseFloat(a[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e),n.show()},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e,t){var n=i("#"+l[0]+e),a=n.attr("type"),s="layer-anim-close";if(n[0]){var f="layui-layer-wrap",c=function(){if(a===o.type[1]&&"object"===n.attr("conType")){n.children(":not(."+l[5]+")").remove();for(var r=n.find("."+f),s=0;s<2;s++)r.unwrap();r.css("display",r.data("display")).removeClass(f)}else{if(a===o.type[2])try{var c=i("#"+l[4]+e)[0];c.contentWindow.document.write(""),c.contentWindow.close(),n.find("."+l[5])[0].removeChild(c)}catch(u){}n[0].innerHTML="",n.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e],"function"==typeof t&&t()};n.data("isOutAnim")&&n.addClass("layer-anim "+s),i("#layui-layer-moves, #"+l.SHADE+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),n.attr("minLeft")&&(o.minIndex--,o.minLeft.push(n.attr("minLeft"))),r.ie&&r.ie<10||!n.data("isOutAnim")?c():setTimeout(function(){c()},200)}},r.closeAll=function(e,t){"function"==typeof e&&(t=e,e=null);var n=i("."+l[0]);i.each(n,function(a){var o=i(this),s=e?o.attr("type")===e:1;s&&r.close(o.attr("times"),a===n.length-1?t:null),s=null}),0===n.length&&"function"==typeof t&&t()};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'":function(){return''}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["确定","取消"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(t){s=t.find(".layui-layer-input"),s.val(e.value||"").focus(),"function"==typeof f&&f(t)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("最多输入"+(e.maxlength||500)+"个字数",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,a="";if(e>0)for(a=''+t[0].title+"";i"+t[i].title+"";return a}(),content:'
    '+function(){var e=t.length,i=1,a="";if(e>0)for(a='
  • '+(t[0].content||"no content")+"
  • ";i'+(t[i].content||"no content")+"";return a}()+"
",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=!("string"==typeof t.photos||t.photos instanceof i),f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("没有图片")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){h();var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0)}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev(!0)}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext(!0)}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),a&&(t.anim=-1),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]'+(u[d].alt||'+function(){return u.length>1?'
'+(u[d].alt||"")+""+s.imgIndex+" / "+u.length+"
":""}()+"
",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("当前图片地址异常
是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){r.ready(),o.run(e.jQuery)}()}(window);layui.define("jquery",function(e){"use strict";var t=layui.$,i=layui.hint(),n={fixbar:function(e){var i,n,r="layui-fixbar",a="layui-fixbar-top",o=t(document),l=t("body");e=t.extend({showHeight:200},e),e.bar1=e.bar1===!0?"":e.bar1,e.bar2=e.bar2===!0?"":e.bar2,e.bgcolor=e.bgcolor?"background-color:"+e.bgcolor:"";var c=[e.bar1,e.bar2,""],g=t(['
    ',e.bar1?'
  • '+c[0]+"
  • ":"",e.bar2?'
  • '+c[1]+"
  • ":"",'
  • '+c[2]+"
  • ","
"].join("")),u=g.find("."+a),s=function(){var t=o.scrollTop();t>=e.showHeight?i||(u.show(),i=1):i&&(u.hide(),i=0)};t("."+r)[0]||("object"==typeof e.css&&g.css(e.css),l.append(g),s(),g.find("li").on("click",function(){var i=t(this),n=i.attr("lay-type");"top"===n&&t("html,body").animate({scrollTop:0},200),e.click&&e.click.call(this,n)}),o.on("scroll",function(){clearTimeout(n),n=setTimeout(function(){s()},100)}))},countdown:function(e,t,i){var n=this,r="function"==typeof t,a=new Date(e).getTime(),o=new Date(!t||r?(new Date).getTime():t).getTime(),l=a-o,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];r&&(i=t);var g=setTimeout(function(){n.countdown(e,o+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],t,g),l<=0&&clearTimeout(g),g},timeAgo:function(e,t){var i=this,n=[[],[]],r=(new Date).getTime()-new Date(e).getTime();return r>26784e5?(r=new Date(e),n[0][0]=i.digit(r.getFullYear(),4),n[0][1]=i.digit(r.getMonth()+1),n[0][2]=i.digit(r.getDate()),t||(n[1][0]=i.digit(r.getHours()),n[1][1]=i.digit(r.getMinutes()),n[1][2]=i.digit(r.getSeconds())),n[0].join("-")+" "+n[1].join(":")):r>=864e5?(r/1e3/60/60/24|0)+"\u5929\u524d":r>=36e5?(r/1e3/60/60|0)+"\u5c0f\u65f6\u524d":r>=18e4?(r/1e3/60|0)+"\u5206\u949f\u524d":r<0?"\u672a\u6765":"\u521a\u521a"},digit:function(e,t){var i="";e=String(e),t=t||2;for(var n=e.length;n/g,">").replace(/'/g,"'").replace(/"/g,""")},unescape:function(e){return String(e||"").replace(/\&/g,"&").replace(/\</g,"<").replace(/\>/g,">").replace(/\'/,"'").replace(/\"/,'"')},toVisibleArea:function(e){if(e=t.extend({margin:160,duration:200,type:"y"},e),e.scrollElem[0]&&e.thisElem[0]){var i=e.scrollElem,n=e.thisElem,r="y"===e.type,a=r?"scrollTop":"scrollLeft",o=r?"top":"left",l=i[a](),c=i[r?"height":"width"](),g=i.offset()[o],u=n.offset()[o]-g,s={};(u>c-e.margin||u0&&t.unshift(""),t.join(" ")}()+">"+(a.title||"unnaming")+"";return s[0]?s.before(r):n.append(r),o.append('
'+(a.content||"")+"
"),b.hideTabMore(!0),b.tabAuto(),this},s.prototype.tabDelete=function(t,a){var e=".layui-tab-title",l=i(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+a+'"]');return b.tabDelete(null,s),this},s.prototype.tabChange=function(t,a){var e=".layui-tab-title",l=i(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+a+'"]');return b.tabClick.call(s[0],null,null,s),this},s.prototype.tab=function(t){t=t||{},m.on("click",t.headerElem,function(a){var e=i(this).index();b.tabClick.call(this,a,e,null,t)})},s.prototype.progress=function(t,a){var e="layui-progress",l=i("."+e+"[lay-filter="+t+"]"),n=l.find("."+e+"-bar"),s=n.find("."+e+"-text");return n.css("width",a).attr("lay-percent",a),s.text(a),this};var o=".layui-nav",r="layui-nav-item",c="layui-nav-bar",u="layui-nav-tree",y="layui-nav-child",d="layui-nav-child-c",f="layui-nav-more",h="layui-icon-down",p="layui-anim layui-anim-upbit",b={tabClick:function(t,a,s,o){o=o||{};var r=s||i(this),a=a||r.parent().children("li").index(r),c=o.headerElem?r.parent():r.parents(".layui-tab").eq(0),u=o.bodyElem?i(o.bodyElem):c.children(".layui-tab-content").children(".layui-tab-item"),y=r.find("a"),d="javascript:;"!==y.attr("href")&&"_blank"===y.attr("target"),f="string"==typeof r.attr("lay-unselect"),h=c.attr("lay-filter");d||f||(r.addClass(l).siblings().removeClass(l),u.eq(a).addClass(n).siblings().removeClass(n)),layui.event.call(this,e,"tab("+h+")",{elem:c,index:a})},tabDelete:function(t,a){var n=a||i(this).parent(),s=n.index(),o=n.parents(".layui-tab").eq(0),r=o.children(".layui-tab-content").children(".layui-tab-item"),c=o.attr("lay-filter");n.hasClass(l)&&(n.next()[0]?b.tabClick.call(n.next()[0],null,s+1):n.prev()[0]&&b.tabClick.call(n.prev()[0],null,s-1)),n.remove(),r.eq(s).remove(),setTimeout(function(){b.tabAuto()},50),layui.event.call(this,e,"tabDelete("+c+")",{elem:o,index:s})},tabAuto:function(){var t="layui-tab-more",e="layui-tab-bar",l="layui-tab-close",n=this;i(".layui-tab").each(function(){var s=i(this),o=s.children(".layui-tab-title"),r=(s.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),c=i('');if(n===window&&8!=a.ie&&b.hideTabMore(!0),s.attr("lay-allowClose")&&o.find("li").each(function(){var t=i(this);if(!t.find("."+l)[0]){var a=i('');a.on("click",b.tabDelete),t.append(a)}}),"string"!=typeof s.attr("lay-unauto"))if(o.prop("scrollWidth")>o.outerWidth()+1){if(o.find("."+e)[0])return;o.append(c),s.attr("overflow",""),c.on("click",function(i){o[this.title?"removeClass":"addClass"](t),this.title=this.title?"":"\u6536\u7f29"})}else o.find("."+e).remove(),s.removeAttr("overflow")})},hideTabMore:function(t){var a=i(".layui-tab-title");t!==!0&&"tabmore"===i(t.target).attr("lay-stope")||(a.removeClass("layui-tab-more"),a.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=i(this),a=t.parents(o),n=a.attr("lay-filter"),s=t.parent(),c=t.siblings("."+y),d="string"==typeof s.attr("lay-unselect");"javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||d||c[0]||(a.find("."+l).removeClass(l),s.addClass(l)),a.hasClass(u)&&(c.removeClass(p),c[0]&&(s["none"===c.css("display")?"addClass":"removeClass"](r+"ed"),"all"===a.attr("lay-shrink")&&s.siblings().removeClass(r+"ed"))),layui.event.call(this,e,"nav("+n+")",t)},collapse:function(){var t=i(this),a=t.find(".layui-colla-icon"),l=t.siblings(".layui-colla-content"),s=t.parents(".layui-collapse").eq(0),o=s.attr("lay-filter"),r="none"===l.css("display");if("string"==typeof s.attr("lay-accordion")){var c=s.children(".layui-colla-item").children("."+n);c.siblings(".layui-colla-title").children(".layui-colla-icon").html(""),c.removeClass(n)}l[r?"addClass":"removeClass"](n),a.html(r?"":""),layui.event.call(this,e,"collapse("+o+")",{title:t,content:l,show:r})}};s.prototype.init=function(t,e){var l=function(){return e?'[lay-filter="'+e+'"]':""}(),s={tab:function(){b.tabAuto.call({})},nav:function(){var t=200,e={},s={},v={},m="layui-nav-title",C=function(l,o,r){var c=i(this),h=c.find("."+y);if(o.hasClass(u)){if(!h[0]){var b=c.children("."+m);l.css({top:c.offset().top-o.offset().top,height:(b[0]?b:c).outerHeight(),opacity:1})}}else h.addClass(p),h.hasClass(d)&&h.css({left:-(h.outerWidth()-c.width())/2}),h[0]?l.css({left:l.position().left+l.width()/2,width:0,opacity:0}):l.css({left:c.position().left+parseFloat(c.css("marginLeft")),top:c.position().top+c.height()-l.height()}),e[r]=setTimeout(function(){l.css({width:h[0]?0:c.width(),opacity:h[0]?0:1})},a.ie&&a.ie<10?0:t),clearTimeout(v[r]),"block"===h.css("display")&&clearTimeout(s[r]),s[r]=setTimeout(function(){h.addClass(n),c.find("."+f).addClass(f+"d")},300)};i(o+l).each(function(a){var l=i(this),o=i(''),d=l.find("."+r);l.find("."+c)[0]||(l.append(o),(l.hasClass(u)?d.find("dd,>."+m):d).on("mouseenter",function(){C.call(this,o,l,a)}).on("mouseleave",function(){l.hasClass(u)?o.css({height:0,opacity:0}):(clearTimeout(s[a]),s[a]=setTimeout(function(){l.find("."+y).removeClass(n),l.find("."+f).removeClass(f+"d")},300))}),l.on("mouseleave",function(){clearTimeout(e[a]),v[a]=setTimeout(function(){l.hasClass(u)||o.css({width:0,left:o.position().left+o.width()/2,opacity:0})},t)})),d.find("a").each(function(){var t=i(this),a=(t.parent(),t.siblings("."+y));a[0]&&!t.children("."+f)[0]&&t.append(''),t.off("click",b.clickThis).on("click",b.clickThis)})})},breadcrumb:function(){var t=".layui-breadcrumb";i(t+l).each(function(){var t=i(this),a="lay-separator",e=t.attr(a)||"/",l=t.find("a");l.next("span["+a+"]")[0]||(l.each(function(t){t!==l.length-1&&i(this).after(""+e+"")}),t.css("visibility","visible"))})},progress:function(){var t="layui-progress";i("."+t+l).each(function(){var a=i(this),e=a.find(".layui-progress-bar"),l=e.attr("lay-percent");e.css("width",function(){return/^.+\/.+$/.test(l)?100*new Function("return "+l)()+"%":l}()),a.attr("lay-showPercent")&&setTimeout(function(){e.html(''+l+"")},350)})},collapse:function(){var t="layui-collapse";i("."+t+l).each(function(){var t=i(this).find(".layui-colla-item");t.each(function(){var t=i(this),a=t.find(".layui-colla-title"),e=t.find(".layui-colla-content"),l="none"===e.css("display");a.find(".layui-colla-icon").remove(),a.append(''+(l?"":"")+""),a.off("click",b.collapse).on("click",b.collapse)})})}};return s[t]?s[t]():layui.each(s,function(t,i){i()})},s.prototype.render=s.prototype.init;var v=new s,m=i(document);i(function(){v.render()});var C=".layui-tab-title li";m.on("click",C,b.tabClick),m.on("click",b.hideTabMore),i(window).on("resize",b.tabAuto),t(e,v)});layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,n=layui.hint(),o=layui.device(),a={config:{},set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,r,e,t)}},l=function(){var e=this;return{upload:function(t){e.upload.call(e,t)},reload:function(t){e.reload.call(e,t)},config:e.config}},r="upload",u="layui-upload-file",c="layui-upload-form",f="layui-upload-iframe",s="layui-upload-choose",p=function(e){var i=this;i.config=t.extend({},i.config,a.config,e),i.render()};p.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",field:"file",acceptMime:"",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1},p.prototype.render=function(e){var i=this,e=i.config;e.elem=t(e.elem),e.bindAction=t(e.bindAction),i.file(),i.events()},p.prototype.file=function(){var e=this,i=e.config,n=e.elemFile=t(['"].join("")),a=i.elem.next();(a.hasClass(u)||a.hasClass(c))&&a.remove(),o.ie&&o.ie<10&&i.elem.wrap('
'),e.isFile()?(e.elemFile=i.elem,i.field=i.elem[0].name):i.elem.after(n),o.ie&&o.ie<10&&e.initIE()},p.prototype.initIE=function(){var e=this,i=e.config,n=t(''),o=t(['
',"
"].join(""));t("#"+f)[0]||t("body").append(n),i.elem.next().hasClass(c)||(e.elemFile.wrap(o),i.elem.next("."+c).append(function(){var e=[];return layui.each(i.data,function(t,i){i="function"==typeof i?i():i,e.push('')}),e.join("")}()))},p.prototype.msg=function(e){return i.msg(e,{icon:2,shift:6})},p.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},p.prototype.preview=function(e){var t=this;window.FileReader&&layui.each(t.chooseFiles,function(t,i){var n=new FileReader;n.readAsDataURL(i),n.onload=function(){e&&e(t,i,this.result)}})},p.prototype.upload=function(e,i){var n,a=this,l=a.config,r=a.elemFile[0],u=function(){var i=0,n=0,o=e||a.files||a.chooseFiles||r.files,u=function(){l.multiple&&i+n===a.fileLength&&"function"==typeof l.allDone&&l.allDone({total:a.fileLength,successful:i,aborted:n})};layui.each(o,function(e,o){var r=new FormData;r.append(l.field,o),layui.each(l.data,function(e,t){t="function"==typeof t?t():t,r.append(e,t)});var c={url:l.url,type:"post",data:r,contentType:!1,processData:!1,dataType:"json",headers:l.headers||{},success:function(t){i++,d(e,t),u()},error:function(){n++,a.msg("\u8bf7\u6c42\u4e0a\u4f20\u63a5\u53e3\u51fa\u73b0\u5f02\u5e38"),m(e),u()}};"function"==typeof l.progress&&(c.xhr=function(){var i=t.ajaxSettings.xhr();return i.upload.addEventListener("progress",function(t){if(t.lengthComputable){var i=Math.floor(t.loaded/t.total*100);l.progress(i,l.item?l.item[0]:l.elem[0],t,e)}}),i}),t.ajax(c)})},c=function(){var e=t("#"+f);a.elemFile.parent().submit(),clearInterval(p.timer),p.timer=setInterval(function(){var t,i=e.contents().find("body");try{t=i.text()}catch(n){a.msg("\u83b7\u53d6\u4e0a\u4f20\u540e\u7684\u54cd\u5e94\u4fe1\u606f\u51fa\u73b0\u5f02\u5e38"),clearInterval(p.timer),m()}t&&(clearInterval(p.timer),i.html(""),d(0,t))},30)},d=function(e,t){if(a.elemFile.next("."+s).remove(),r.value="","object"!=typeof t)try{t=JSON.parse(t)}catch(i){return t={},a.msg("\u8bf7\u5bf9\u4e0a\u4f20\u63a5\u53e3\u8fd4\u56de\u6709\u6548JSON")}"function"==typeof l.done&&l.done(t,e||0,function(e){a.upload(e)})},m=function(e){l.auto&&(r.value=""),"function"==typeof l.error&&l.error(e||0,function(e){a.upload(e)})},h=l.exts,v=function(){var t=[];return layui.each(e||a.chooseFiles,function(e,i){t.push(i.name)}),t}(),g={preview:function(e){a.preview(e)},upload:function(e,t){var i={};i[e]=t,a.upload(i)},pushFile:function(){return a.files=a.files||{},layui.each(a.chooseFiles,function(e,t){a.files[e]=t}),a.files},resetFile:function(e,t,i){var n=new File([t],i);a.files=a.files||{},a.files[e]=n}},y=function(){if(!(("choose"===i||l.auto)&&(l.choose&&l.choose(g),"choose"===i)||l.before&&l.before(g)===!1))return o.ie?o.ie>9?u():c():void u()};if(v=0===v.length?r.value.match(/[^\/\\]+\..+/g)||[]||"":v,0!==v.length){switch(l.accept){case"file":if(h&&!RegExp("\\w\\.("+h+")$","i").test(escape(v)))return a.msg("\u9009\u62e9\u7684\u6587\u4ef6\u4e2d\u5305\u542b\u4e0d\u652f\u6301\u7684\u683c\u5f0f"),r.value="";break;case"video":if(!RegExp("\\w\\.("+(h||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(v)))return a.msg("\u9009\u62e9\u7684\u89c6\u9891\u4e2d\u5305\u542b\u4e0d\u652f\u6301\u7684\u683c\u5f0f"),r.value="";break;case"audio":if(!RegExp("\\w\\.("+(h||"mp3|wav|mid")+")$","i").test(escape(v)))return a.msg("\u9009\u62e9\u7684\u97f3\u9891\u4e2d\u5305\u542b\u4e0d\u652f\u6301\u7684\u683c\u5f0f"),r.value="";break;default:if(layui.each(v,function(e,t){RegExp("\\w\\.("+(h||"jpg|png|gif|bmp|jpeg$")+")","i").test(escape(t))||(n=!0)}),n)return a.msg("\u9009\u62e9\u7684\u56fe\u7247\u4e2d\u5305\u542b\u4e0d\u652f\u6301\u7684\u683c\u5f0f"),r.value=""}if(a.fileLength=function(){var t=0,i=e||a.files||a.chooseFiles||r.files;return layui.each(i,function(){t++}),t}(),l.number&&a.fileLength>l.number)return a.msg("\u540c\u65f6\u6700\u591a\u53ea\u80fd\u4e0a\u4f20\u7684\u6570\u91cf\u4e3a\uff1a"+l.number);if(l.size>0&&!(o.ie&&o.ie<10)){var F;if(layui.each(a.chooseFiles,function(e,t){if(t.size>1024*l.size){var i=l.size/1024;i=i>=1?i.toFixed(2)+"MB":l.size+"KB",r.value="",F=i}}),F)return a.msg("\u6587\u4ef6\u4e0d\u80fd\u8d85\u8fc7"+F)}y()}},p.prototype.reload=function(e){e=e||{},delete e.elem,delete e.bindAction;var i=this,e=i.config=t.extend({},i.config,a.config,e),n=e.elem.next();n.attr({name:e.name,accept:e.acceptMime,multiple:e.multiple})},p.prototype.events=function(){var e=this,i=e.config,a=function(t){e.chooseFiles={},layui.each(t,function(t,i){var n=(new Date).getTime();e.chooseFiles[n+"-"+t]=i})},l=function(t,n){var o=e.elemFile,a=(i.item?i.item:i.elem,t.length>1?t.length+"\u4e2a\u6587\u4ef6":(t[0]||{}).name||o[0].value.match(/[^\/\\]+\..+/g)||[]||"");o.next().hasClass(s)&&o.next().remove(),e.upload(null,"choose"),e.isFile()||i.choose||o.after(''+a+"")};i.elem.off("upload.start").on("upload.start",function(){var o=t(this),a=o.attr("lay-data");if(a)try{a=new Function("return "+a)(),e.config=t.extend({},i,a)}catch(l){n.error("Upload element property lay-data configuration item has a syntax error: "+a)}e.config.item=o,e.elemFile[0].click()}),o.ie&&o.ie<10||i.elem.off("upload.over").on("upload.over",function(){var e=t(this);e.attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){var e=t(this);e.removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(n,o){var r=t(this),u=o.originalEvent.dataTransfer.files||[];r.removeAttr("lay-over"),a(u),i.auto?e.upload(u):l(u)}),e.elemFile.off("upload.change").on("upload.change",function(){var t=this.files||[];a(t),i.auto?e.upload():l(t)}),i.bindAction.off("upload.action").on("upload.action",function(){e.upload()}),i.elem.data("haveEvents")||(e.elemFile.on("change",function(){t(this).trigger("upload.change")}),i.elem.on("click",function(){e.isFile()||t(this).trigger("upload.start")}),i.drag&&i.elem.on("dragover",function(e){e.preventDefault(),t(this).trigger("upload.over")}).on("dragleave",function(e){t(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),t(this).trigger("upload.drop",e)}),i.bindAction.on("click",function(){t(this).trigger("upload.action")}),i.elem.data("haveEvents",!0))},a.render=function(e){var t=new p(e);return l.call(t)},e(r,a)});layui.define(["jquery","laytpl","lay"],function(e){"use strict";var i=layui.$,n=layui.laytpl,t=layui.hint(),a=layui.device(),l=a.mobile?"click":"mousedown",r="dropdown",o="layui_"+r+"_index",u={config:{},index:layui[r]?layui[r].index+1e4:0,set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,r,e,i)}},d=function(){var e=this,i=e.config,n=i.id;return d.that[n]=e,{config:i,reload:function(i){e.reload.call(e,i)}}},s="layui-dropdown",m="layui-menu-item-up",c="layui-menu-item-down",p="layui-menu-body-title",y="layui-menu-item-group",f="layui-menu-item-parent",v="layui-menu-item-divider",g="layui-menu-item-checked",h="layui-menu-item-checked2",w="layui-menu-body-panel",C="layui-menu-body-panel-left",V="."+y+">."+p,k=function(e){var n=this;n.index=++u.index,n.config=i.extend({},n.config,u.config,e),n.init()};k.prototype.config={trigger:"click",content:"",className:"",style:"",show:!1,isAllowSpread:!0,isSpreadItem:!0,data:[],delay:300},k.prototype.reload=function(e){var n=this;n.config=i.extend({},n.config,e),n.init(!0)},k.prototype.init=function(e){var n=this,t=n.config,a=t.elem=i(t.elem);if(a.length>1)return layui.each(a,function(){u.render(i.extend({},t,{elem:this}))}),n;if(!e&&a[0]&&a.data(o)){var l=d.getThis(a.data(o));if(!l)return;return l.reload(t)}t.id="id"in t?t.id:n.index,t.show&&n.render(e),n.events()},k.prototype.render=function(e){var t=this,a=t.config,r=i("body"),s=function(){var e=i('
    ');return a.data.length>0?m(e,a.data):e.html('
  • no menu
  • '),e},m=function(e,t){return layui.each(t,function(t,l){var r=l.child&&l.child.length>0,o="isSpreadItem"in l?l.isSpreadItem:a.isSpreadItem,u=l.templet?n(l.templet).render(l):a.templet?n(a.templet).render(l):l.title,d=function(){return r&&(l.type=l.type||"parent"),l.type?{group:"group",parent:"parent","-":"-"}[l.type]||"parent":""}();if("-"===d||l.title||l.id||r){var s=i(["",function(){var e="href"in l?''+u+"":u;return r?'
    '+e+function(){return"parent"===d?'':"group"===d&&a.isAllowSpread?'':""}()+"
    ":'
    '+e+"
    "}(),""].join(""));if(s.data("item",l),r){var c=i('
    '),y=i("
      ");"parent"===d?(c.append(m(y,l.child)),s.append(c)):s.append(m(y,l.child))}e.append(s)}}),e},c=['
      ',"
      "].join("");("contextmenu"===a.trigger||lay.isTopElem(a.elem[0]))&&(e=!0),!e&&a.elem.data(o+"_opened")||(t.elemView=i(c),t.elemView.append(a.content||s()),a.className&&t.elemView.addClass(a.className),a.style&&t.elemView.attr("style",a.style),u.thisId=a.id,t.remove(),r.append(t.elemView),a.elem.data(o+"_opened",!0),t.position(),d.prevElem=t.elemView,d.prevElem.data("prevElem",a.elem),t.elemView.find(".layui-menu").on(l,function(e){layui.stope(e)}),t.elemView.find(".layui-menu li").on("click",function(e){var n=i(this),l=n.data("item")||{},r=l.child&&l.child.length>0;r||"-"===l.type||(t.remove(),"function"==typeof a.click&&a.click(l,n))}),t.elemView.find(V).on("click",function(e){var n=i(this),t=n.parent(),l=t.data("item")||{};"group"===l.type&&a.isAllowSpread&&d.spread(t)}),"mouseenter"===a.trigger&&t.elemView.on("mouseenter",function(){clearTimeout(d.timer)}).on("mouseleave",function(){t.delayRemove()}))},k.prototype.position=function(e){var i=this,n=i.config;lay.position(n.elem[0],i.elemView[0],{position:n.position,e:i.e,clickType:"contextmenu"===n.trigger?"right":null,align:n.align||null})},k.prototype.remove=function(){var e=this,i=(e.config,d.prevElem);i&&(i.data("prevElem")&&i.data("prevElem").data(o+"_opened",!1),i.remove())},k.prototype.delayRemove=function(){var e=this,i=e.config;clearTimeout(d.timer),d.timer=setTimeout(function(){e.remove()},i.delay)},k.prototype.events=function(){var e=this,i=e.config;"hover"===i.trigger&&(i.trigger="mouseenter"),e.prevElem&&e.prevElem.off(i.trigger,e.prevElemCallback),e.prevElem=i.elem,e.prevElemCallback=function(n){clearTimeout(d.timer),e.e=n,e.render(),n.preventDefault(),"function"==typeof i.ready&&i.ready(e.elemView,i.elem,e.e.target)},i.elem.on(i.trigger,e.prevElemCallback),"mouseenter"===i.trigger&&i.elem.on("mouseleave",function(){e.delayRemove()})},d.that={},d.getThis=function(e){var i=d.that[e];return i||t.error(e?r+" instance with ID '"+e+"' not found":"ID argument required"),i},d.spread=function(e){var i=e.children("."+p).find(".layui-icon");e.hasClass(m)?(e.removeClass(m).addClass(c),i.removeClass("layui-icon-down").addClass("layui-icon-up")):(e.removeClass(c).addClass(m),i.removeClass("layui-icon-up").addClass("layui-icon-down"))},!function(){var e=i(window),n=i(document);e.on("resize",function(){if(u.thisId){var e=d.getThis(u.thisId);if(e){if(!e.elemView[0]||!i("."+s)[0])return!1;var n=e.config;"contextmenu"===n.trigger?e.remove():e.position()}}}),n.on(l,function(e){if(u.thisId){var i=d.getThis(u.thisId);if(i){var n=i.config;!lay.isTopElem(n.elem[0])&&"contextmenu"!==n.trigger&&(e.target===n.elem[0]||n.elem.find(e.target)[0]||e.target===i.elemView[0]||i.elemView&&i.elemView.find(e.target)[0])||i.remove()}}});var t=".layui-menu:not(.layui-dropdown-menu) li";n.on("click",t,function(e){var n=i(this),t=n.parents(".layui-menu").eq(0),a=n.hasClass(y)||n.hasClass(f),l=t.attr("lay-filter")||t.attr("id"),o=lay.options(this);n.hasClass(v)||a||(t.find("."+g).removeClass(g),t.find("."+h).removeClass(h),n.addClass(g),n.parents("."+f).addClass(h),layui.event.call(this,r,"click("+l+")",o))}),n.on("click",t+V,function(e){var n=i(this),t=n.parents("."+y+":eq(0)"),a=lay.options(t[0]);"isAllowSpread"in a&&!a.isAllowSpread||d.spread(t)});var a=".layui-menu ."+f;n.on("mouseenter",a,function(n){var t=i(this),a=t.find("."+w);if(a[0]){var l=a[0].getBoundingClientRect();l.right>e.width()&&(a.addClass(C),l=a[0].getBoundingClientRect(),l.left<0&&a.removeClass(C)),l.bottom>e.height()&&a.eq(0).css("margin-top",-(l.bottom-e.height()))}}).on("mouseleave",a,function(e){var n=i(this),t=n.children("."+w);t.removeClass(C),t.css("margin-top",0)})}(),u.reload=function(e,i){var n=d.getThis(e);return n?(n.reload(i),d.call(n)):this},u.render=function(e){var i=new k(e);return d.call(i)},e(r,u)});layui.define("jquery",function(e){"use strict";var i=layui.jquery,t={config:{},index:layui.slider?layui.slider.index+1e4:0,set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,n,e,i)}},a=function(){var e=this,i=e.config;return{setValue:function(t,a){return i.value=t,e.slide("set",t,a||0)},config:i}},n="slider",l="layui-disabled",s="layui-slider",r="layui-slider-bar",o="layui-slider-wrap",u="layui-slider-wrap-btn",d="layui-slider-tips",v="layui-slider-input",c="layui-slider-input-txt",p="layui-slider-input-btn",m="layui-slider-hover",f=function(e){var a=this;a.index=++t.index,a.config=i.extend({},a.config,t.config,e),a.render()};f.prototype.config={type:"default",min:0,max:100,value:0,step:1,showstep:!1,tips:!0,input:!1,range:!1,height:200,disabled:!1,theme:"#009688"},f.prototype.render=function(){var e=this,t=e.config;if(t.step<1&&(t.step=1),t.maxt.min?a:t.min,t.value[1]=n>t.min?n:t.min,t.value[0]=t.value[0]>t.max?t.max:t.value[0],t.value[1]=t.value[1]>t.max?t.max:t.value[1];var r=Math.floor((t.value[0]-t.min)/(t.max-t.min)*100),v=Math.floor((t.value[1]-t.min)/(t.max-t.min)*100),p=v-r+"%";r+="%",v+="%"}else{"object"==typeof t.value&&(t.value=Math.min.apply(null,t.value)),t.valuet.max&&(t.value=t.max);var p=Math.floor((t.value-t.min)/(t.max-t.min)*100)+"%"}var m=t.disabled?"#c2c2c2":t.theme,f='
      '+(t.tips?'
      ':"")+'
      '+(t.range?'
      ':"")+"
      ",h=i(t.elem),y=h.next("."+s);if(y[0]&&y.remove(),e.elemTemp=i(f),t.range?(e.elemTemp.find("."+o).eq(0).data("value",t.value[0]),e.elemTemp.find("."+o).eq(1).data("value",t.value[1])):e.elemTemp.find("."+o).data("value",t.value),h.html(e.elemTemp),"vertical"===t.type&&e.elemTemp.height(t.height+"px"),t.showstep){for(var g=(t.max-t.min)/t.step,b="",x=1;x')}e.elemTemp.append(b)}if(t.input&&!t.range){var w=i('
      ');h.css("position","relative"),h.append(w),h.find("."+c).children("input").val(t.value),"vertical"===t.type?w.css({left:0,top:-48}):e.elemTemp.css("margin-right",w.outerWidth()+15)}t.disabled?(e.elemTemp.addClass(l),e.elemTemp.find("."+u).addClass(l)):e.slide(),e.elemTemp.find("."+u).on("mouseover",function(){var a="vertical"===t.type?t.height:e.elemTemp[0].offsetWidth,n=e.elemTemp.find("."+o),l="vertical"===t.type?a-i(this).parent()[0].offsetTop-n.height():i(this).parent()[0].offsetLeft,s=l/a*100,r=i(this).parent().data("value"),u=t.setTips?t.setTips(r):r;e.elemTemp.find("."+d).html(u),"vertical"===t.type?e.elemTemp.find("."+d).css({bottom:s+"%","margin-bottom":"20px",display:"inline-block"}):e.elemTemp.find("."+d).css({left:s+"%",display:"inline-block"})}).on("mouseout",function(){e.elemTemp.find("."+d).css("display","none")})},f.prototype.slide=function(e,t,a){var n=this,l=n.config,s=n.elemTemp,f=function(){return"vertical"===l.type?l.height:s[0].offsetWidth},h=s.find("."+o),y=s.next("."+v),g=y.children("."+c).children("input").val(),b=100/((l.max-l.min)/Math.ceil(l.step)),x=function(e,i){e=Math.ceil(e)*b>100?Math.ceil(e)*b:Math.round(e)*b,e=e>100?100:e,h.eq(i).css("vertical"===l.type?"bottom":"left",e+"%");var t=T(h[0].offsetLeft),a=l.range?T(h[1].offsetLeft):0;"vertical"===l.type?(s.find("."+d).css({bottom:e+"%","margin-bottom":"20px"}),t=T(f()-h[0].offsetTop-h.height()),a=l.range?T(f()-h[1].offsetTop-h.height()):0):s.find("."+d).css("left",e+"%"),t=t>100?100:t,a=a>100?100:a;var n=Math.min(t,a),o=Math.abs(t-a);"vertical"===l.type?s.find("."+r).css({height:o+"%",bottom:n+"%"}):s.find("."+r).css({width:o+"%",left:n+"%"});var u=l.min+Math.round((l.max-l.min)*e/100);if(g=u,y.children("."+c).children("input").val(g),h.eq(i).data("value",u),s.find("."+d).html(l.setTips?l.setTips(u):u),l.range){var v=[h.eq(0).data("value"),h.eq(1).data("value")];v[0]>v[1]&&v.reverse()}l.change&&l.change(l.range?v:u)},T=function(e){var i=e/f()*100/b,t=Math.round(i)*b;return e==f()&&(t=Math.ceil(i)*b),t},w=i(['
      f()&&(r=f());var o=r/f()*100/b;x(o,e),t.addClass(m),s.find("."+d).show(),i.preventDefault()},o=function(){t.removeClass(m),s.find("."+d).hide()};M(r,o)})}),s.on("click",function(e){var t=i("."+u);if(!t.is(event.target)&&0===t.has(event.target).length&&t.length){var a,n="vertical"===l.type?f()-e.clientY+i(this).offset().top:e.clientX-i(this).offset().left;n<0&&(n=0),n>f()&&(n=f());var s=n/f()*100/b;a=l.range?"vertical"===l.type?Math.abs(n-parseInt(i(h[0]).css("bottom")))>Math.abs(n-parseInt(i(h[1]).css("bottom")))?1:0:Math.abs(n-h[0].offsetLeft)>Math.abs(n-h[1].offsetLeft)?1:0:0,x(s,a),e.preventDefault()}}),y.children("."+p).children("i").each(function(e){i(this).on("click",function(){g=y.children("."+c).children("input").val(),g=1==e?g-l.stepl.max?l.max:Number(g)+l.step;var i=(g-l.min)/(l.max-l.min)*100/b;x(i,0)})});var q=function(){var e=this.value;e=isNaN(e)?0:e,e=el.max?l.max:e,this.value=e;var i=(e-l.min)/(l.max-l.min)*100/b;x(i,0)};y.children("."+c).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),q.call(this))}).on("change",q)},f.prototype.events=function(){var e=this;e.config},t.render=function(e){var i=new f(e);return a.call(i)},e(n,t)});layui.define(["jquery","lay"],function(e){"use strict";var i=layui.jquery,r=layui.lay,o=layui.device(),n=o.mobile?"click":"mousedown",l={config:{},index:layui.colorpicker?layui.colorpicker.index+1e4:0,set:function(e){var r=this;return r.config=i.extend({},r.config,e),r},on:function(e,i){return layui.onevent.call(this,"colorpicker",e,i)}},t=function(){var e=this,i=e.config;return{config:i}},c="colorpicker",a="layui-show",s="layui-colorpicker",f=".layui-colorpicker-main",d="layui-icon-down",u="layui-icon-close",p="layui-colorpicker-trigger-span",g="layui-colorpicker-trigger-i",v="layui-colorpicker-side",h="layui-colorpicker-side-slider",b="layui-colorpicker-basis",k="layui-colorpicker-alpha-bgcolor",y="layui-colorpicker-alpha-slider",m="layui-colorpicker-basis-cursor",x="layui-colorpicker-main-input",P=function(e){var i={h:0,s:0,b:0},r=Math.min(e.r,e.g,e.b),o=Math.max(e.r,e.g,e.b),n=o-r;return i.b=o,i.s=0!=o?255*n/o:0,0!=i.s?e.r==o?i.h=(e.g-e.b)/n:e.g==o?i.h=2+(e.b-e.r)/n:i.h=4+(e.r-e.g)/n:i.h=-1,o==r&&(i.h=0),i.h*=60,i.h<0&&(i.h+=360),i.s*=100/255,i.b*=100/255,i},C=function(e){var e=e.indexOf("#")>-1?e.substring(1):e;if(3==e.length){var i=e.split("");e=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]}e=parseInt(e,16);var r={r:e>>16,g:(65280&e)>>8,b:255&e};return P(r)},B=function(e){var i={},r=e.h,o=255*e.s/100,n=255*e.b/100;if(0==o)i.r=i.g=i.b=n;else{var l=n,t=(255-o)*n/255,c=(l-t)*(r%60)/60;360==r&&(r=0),r<60?(i.r=l,i.b=t,i.g=t+c):r<120?(i.g=l,i.b=t,i.r=l-c):r<180?(i.g=l,i.r=t,i.b=t+c):r<240?(i.b=l,i.r=t,i.g=l-c):r<300?(i.b=l,i.g=t,i.r=t+c):r<360?(i.r=l,i.g=t,i.b=l-c):(i.r=0,i.g=0,i.b=0)}return{r:Math.round(i.r),g:Math.round(i.g),b:Math.round(i.b)}},w=function(e){var r=B(e),o=[r.r.toString(16),r.g.toString(16),r.b.toString(16)];return i.each(o,function(e,i){1==i.length&&(o[e]="0"+i)}),o.join("")},D=function(e){var i=/[0-9]{1,3}/g,r=e.match(i)||[];return{r:r[0],g:r[1],b:r[2]}},j=i(window),E=i(document),F=function(e){var r=this;r.index=++l.index,r.config=i.extend({},r.config,l.config,e),r.render()};F.prototype.config={color:"",size:null,alpha:!1,format:"hex",predefine:!1,colors:["#009688","#5FB878","#1E9FFF","#FF5722","#FFB800","#01AAED","#999","#c00","#ff8c00","#ffd700","#90ee90","#00ced1","#1e90ff","#c71585","rgb(0, 186, 189)","rgb(255, 120, 0)","rgb(250, 212, 0)","#393D49","rgba(0,0,0,.5)","rgba(255, 69, 0, 0.68)","rgba(144, 240, 144, 0.5)","rgba(31, 147, 255, 0.73)"]},F.prototype.render=function(){var e=this,r=e.config,o=i(['
      ',"",'3&&(r.alpha&&"rgb"==r.format||(e="#"+w(P(D(r.color))))),"background: "+e):e}()+'">','',"","","
      "].join("")),n=i(r.elem);r.size&&o.addClass("layui-colorpicker-"+r.size),n.addClass("layui-inline").html(e.elemColorBox=o),e.color=e.elemColorBox.find("."+p)[0].style.background,e.events()},F.prototype.renderPicker=function(){var e=this,r=e.config,o=e.elemColorBox[0],n=e.elemPicker=i(['
      ','
      ','
      ','
      ','
      ','
      ',"
      ",'
      ','
      ',"
      ","
      ",'
      ','
      ','
      ',"
      ","
      ",function(){if(r.predefine){var e=['
      '];return layui.each(r.colors,function(i,r){e.push(['
      ','
      ',"
      "].join(""))}),e.push("
      "),e.join("")}return""}(),'
      ','
      ','',"
      ",'
      ','','',"","
      "].join(""));e.elemColorBox.find("."+p)[0];i(f)[0]&&i(f).data("index")==e.index?e.removePicker(F.thisElemInd):(e.removePicker(F.thisElemInd),i("body").append(n)),F.thisElemInd=e.index,F.thisColor=o.style.background,e.position(),e.pickerEvents()},F.prototype.removePicker=function(e){var r=this;r.config;return i("#layui-colorpicker"+(e||r.index)).remove(),r},F.prototype.position=function(){var e=this,i=e.config;return r.position(e.bindElem||e.elemColorBox[0],e.elemPicker[0],{position:i.position,align:"center"}),e},F.prototype.val=function(){var e=this,i=(e.config,e.elemColorBox.find("."+p)),r=e.elemPicker.find("."+x),o=i[0],n=o.style.backgroundColor;if(n){var l=P(D(n)),t=i.attr("lay-type");if(e.select(l.h,l.s,l.b),"torgb"===t&&r.find("input").val(n),"rgba"===t){var c=D(n);if(3==(n.match(/[0-9]{1,3}/g)||[]).length)r.find("input").val("rgba("+c.r+", "+c.g+", "+c.b+", 1)"),e.elemPicker.find("."+y).css("left",280);else{r.find("input").val(n);var a=280*n.slice(n.lastIndexOf(",")+1,n.length-1);e.elemPicker.find("."+y).css("left",a)}e.elemPicker.find("."+k)[0].style.background="linear-gradient(to right, rgba("+c.r+", "+c.g+", "+c.b+", 0), rgb("+c.r+", "+c.g+", "+c.b+"))"}}else e.select(0,100,100),r.find("input").val(""),e.elemPicker.find("."+k)[0].style.background="",e.elemPicker.find("."+y).css("left",280)},F.prototype.side=function(){var e=this,r=e.config,o=e.elemColorBox.find("."+p),n=o.attr("lay-type"),l=e.elemPicker.find("."+v),t=e.elemPicker.find("."+h),c=e.elemPicker.find("."+b),a=e.elemPicker.find("."+m),s=e.elemPicker.find("."+k),f=e.elemPicker.find("."+y),C=t[0].offsetTop/180*360,w=100-(a[0].offsetTop+3)/180*100,E=(a[0].offsetLeft+3)/260*100,F=Math.round(f[0].offsetLeft/280*100)/100,H=e.elemColorBox.find("."+g),M=e.elemPicker.find(".layui-colorpicker-pre").children("div"),Y=function(i,l,t,c){e.select(i,l,t);var a=B({h:i,s:l,b:t});if(H.addClass(d).removeClass(u),o[0].style.background="rgb("+a.r+", "+a.g+", "+a.b+")","torgb"===n&&e.elemPicker.find("."+x).find("input").val("rgb("+a.r+", "+a.g+", "+a.b+")"),"rgba"===n){var p=0;p=280*c,f.css("left",p),e.elemPicker.find("."+x).find("input").val("rgba("+a.r+", "+a.g+", "+a.b+", "+c+")"),o[0].style.background="rgba("+a.r+", "+a.g+", "+a.b+", "+c+")",s[0].style.background="linear-gradient(to right, rgba("+a.r+", "+a.g+", "+a.b+", 0), rgb("+a.r+", "+a.g+", "+a.b+"))"}r.change&&r.change(e.elemPicker.find("."+x).find("input").val())},I=i(['
      '].join("")),L=function(e){i("#LAY-colorpicker-moving")[0]||i("body").append(I),I.on("mousemove",e),I.on("mouseup",function(){I.remove()}).on("mouseleave",function(){I.remove()})};t.on("mousedown",function(e){var i=this.offsetTop,r=e.clientY,o=function(e){var o=i+(e.clientY-r),n=l[0].offsetHeight;o<0&&(o=0),o>n&&(o=n);var t=o/180*360;C=t,Y(t,E,w,F),e.preventDefault()};L(o),e.preventDefault()}),l.on("click",function(e){var r=e.clientY-i(this).offset().top;r<0&&(r=0),r>this.offsetHeight&&(r=this.offsetHeight);var o=r/180*360;C=o,Y(o,E,w,F),e.preventDefault()}),a.on("mousedown",function(e){var i=this.offsetTop,r=this.offsetLeft,o=e.clientY,n=e.clientX,l=function(e){var l=i+(e.clientY-o),t=r+(e.clientX-n),a=c[0].offsetHeight-3,s=c[0].offsetWidth-3;l<-3&&(l=-3),l>a&&(l=a),t<-3&&(t=-3),t>s&&(t=s);var f=(t+3)/260*100,d=100-(l+3)/180*100;w=d,E=f,Y(C,f,d,F),e.preventDefault()};layui.stope(e),L(l),e.preventDefault()}),c.on("mousedown",function(e){var r=e.clientY-i(this).offset().top-3+j.scrollTop(),o=e.clientX-i(this).offset().left-3+j.scrollLeft();r<-3&&(r=-3),r>this.offsetHeight-3&&(r=this.offsetHeight-3),o<-3&&(o=-3),o>this.offsetWidth-3&&(o=this.offsetWidth-3);var n=(o+3)/260*100,l=100-(r+3)/180*100;w=l,E=n,Y(C,n,l,F),layui.stope(e),e.preventDefault(),a.trigger(e,"mousedown")}),f.on("mousedown",function(e){var i=this.offsetLeft,r=e.clientX,o=function(e){var o=i+(e.clientX-r),n=s[0].offsetWidth;o<0&&(o=0),o>n&&(o=n);var l=Math.round(o/280*100)/100;F=l,Y(C,E,w,l),e.preventDefault()};L(o),e.preventDefault()}),s.on("click",function(e){var r=e.clientX-i(this).offset().left;r<0&&(r=0),r>this.offsetWidth&&(r=this.offsetWidth);var o=Math.round(r/280*100)/100;F=o,Y(C,E,w,o),e.preventDefault()}),M.each(function(){i(this).on("click",function(){i(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e,r=this.style.backgroundColor,o=P(D(r)),n=r.slice(r.lastIndexOf(",")+1,r.length-1);C=o.h,E=o.s,w=o.b,3==(r.match(/[0-9]{1,3}/g)||[]).length&&(n=1),F=n,e=280*n,Y(o.h,o.s,o.b,n)})})},F.prototype.select=function(e,i,r,o){var n=this,l=(n.config,w({h:e,s:100,b:100})),t=w({h:e,s:i,b:r}),c=e/360*180,a=180-r/100*180-3,s=i/100*260-3;n.elemPicker.find("."+h).css("top",c),n.elemPicker.find("."+b)[0].style.background="#"+l,n.elemPicker.find("."+m).css({top:a,left:s}),"change"!==o&&n.elemPicker.find("."+x).find("input").val("#"+t)},F.prototype.pickerEvents=function(){var e=this,r=e.config,o=e.elemColorBox.find("."+p),n=e.elemPicker.find("."+x+" input"),l={clear:function(i){o[0].style.background="",e.elemColorBox.find("."+g).removeClass(d).addClass(u),e.color="",r.done&&r.done(""),e.removePicker()},confirm:function(i,l){var t=n.val(),c=t,a={};if(t.indexOf(",")>-1){if(a=P(D(t)),e.select(a.h,a.s,a.b),o[0].style.background=c="#"+w(a),(t.match(/[0-9]{1,3}/g)||[]).length>3&&"rgba"===o.attr("lay-type")){var s=280*t.slice(t.lastIndexOf(",")+1,t.length-1);e.elemPicker.find("."+y).css("left",s),o[0].style.background=t,c=t}}else a=C(t),o[0].style.background=c="#"+w(a),e.elemColorBox.find("."+g).removeClass(u).addClass(d);return"change"===l?(e.select(a.h,a.s,a.b,l),void(r.change&&r.change(c))):(e.color=t,r.done&&r.done(t),void e.removePicker())}};e.elemPicker.on("click","*[colorpicker-events]",function(){var e=i(this),r=e.attr("colorpicker-events");l[r]&&l[r].call(this,e)}),n.on("keyup",function(e){var r=i(this);l.confirm.call(this,r,13===e.keyCode?null:"change")})},F.prototype.events=function(){var e=this,r=e.config,o=e.elemColorBox.find("."+p);e.elemColorBox.on("click",function(){e.renderPicker(),i(f)[0]&&(e.val(),e.side())}),r.elem[0]&&!e.elemColorBox[0].eventHandler&&(E.on(n,function(r){if(!i(r.target).hasClass(s)&&!i(r.target).parents("."+s)[0]&&!i(r.target).hasClass(f.replace(/\./g,""))&&!i(r.target).parents(f)[0]&&e.elemPicker){if(e.color){var n=P(D(e.color));e.select(n.h,n.s,n.b)}else e.elemColorBox.find("."+g).removeClass(d).addClass(u);o[0].style.background=e.color||"",e.removePicker()}}),j.on("resize",function(){return!(!e.elemPicker||!i(f)[0])&&void e.position()}),e.elemColorBox[0].eventHandler=!0)},l.render=function(e){var i=new F(e);return t.call(i)},e(c,l)});layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,a=layui.hint(),n=layui.device(),l="form",r=".layui-form",o="layui-this",s="layui-hide",c="layui-disabled",u=function(){this.config={verify:{required:[/[\S]+/,"\u5fc5\u586b\u9879\u4e0d\u80fd\u4e3a\u7a7a"],phone:[/^1\d{10}$/,"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u624b\u673a\u53f7"],email:[/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,"\u90ae\u7bb1\u683c\u5f0f\u4e0d\u6b63\u786e"],url:[/^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/,"\u94fe\u63a5\u683c\u5f0f\u4e0d\u6b63\u786e"],number:function(e){if(!e||isNaN(e))return"\u53ea\u80fd\u586b\u5199\u6570\u5b57"},date:[/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,"\u65e5\u671f\u683c\u5f0f\u4e0d\u6b63\u786e"],identity:[/(^\d{15}$)|(^\d{17}(x|X|\d)$)/,"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u8eab\u4efd\u8bc1\u53f7"]},autocomplete:null}};u.prototype.set=function(e){var i=this;return t.extend(!0,i.config,e),i},u.prototype.verify=function(e){var i=this;return t.extend(!0,i.config.verify,e),i},u.prototype.on=function(e,t){return layui.onevent.call(this,l,e,t)},u.prototype.val=function(e,i){var a=this,n=t(r+'[lay-filter="'+e+'"]');return n.each(function(e,a){var n=t(this);layui.each(i,function(e,t){var i,a=n.find('[name="'+e+'"]');a[0]&&(i=a[0].type,"checkbox"===i?a[0].checked=t:"radio"===i?a.each(function(){this.value==t&&(this.checked=!0)}):a.val(t))})}),f.render(null,e),a.getValue(e)},u.prototype.getValue=function(e,i){i=i||t(r+'[lay-filter="'+e+'"]').eq(0);var a={},n={},l=i.find("input,select,textarea");return layui.each(l,function(e,i){var l;t(this);if(i.name=(i.name||"").replace(/^\s*|\s*&/,""),i.name){if(/^.*\[\]$/.test(i.name)){var r=i.name.match(/^(.*)\[\]$/g)[0];a[r]=0|a[r],l=i.name.replace(/^(.*)\[\]$/,"$1["+a[r]++ +"]")}/^checkbox|radio$/.test(i.type)&&!i.checked||(n[l||i.name]=i.value)}}),n},u.prototype.render=function(e,i){var n=this,u=n.config,d=t(r+function(){return i?'[lay-filter="'+i+'"]':""}()),f={input:function(){var e=d.find("input,textarea");u.autocomplete&&e.attr("autocomplete",u.autocomplete)},select:function(){var e,i="\u8bf7\u9009\u62e9",a="layui-form-select",n="layui-select-title",r="layui-select-none",u="",f=d.find("select"),v=function(i,l){t(i.target).parent().hasClass(n)&&!l||(t("."+a).removeClass(a+"ed "+a+"up"),e&&u&&e.val(u)),e=null},y=function(i,d,f){var y,p=t(this),m=i.find("."+n),g=m.find("input"),k=i.find("dl"),x=k.children("dd"),b=this.selectedIndex;if(!d){var C=function(){var e=i.offset().top+i.outerHeight()+5-h.scrollTop(),t=k.outerHeight();b=p[0].selectedIndex,i.addClass(a+"ed"),x.removeClass(s),y=null,x.eq(b).addClass(o).siblings().removeClass(o),e+t>h.height()&&e>=t&&i.addClass(a+"up"),T()},w=function(e){i.removeClass(a+"ed "+a+"up"),g.blur(),y=null,e||$(g.val(),function(e){var i=p[0].selectedIndex;e&&(u=t(p[0].options[i]).html(),0===i&&u===g.attr("placeholder")&&(u=""),g.val(u||""))})},T=function(){var e=k.children("dd."+o);if(e[0]){var t=e.position().top,i=k.height(),a=e.height();t>i&&k.scrollTop(t+k.scrollTop()-i+a-5),t<0&&k.scrollTop(t+k.scrollTop()-5)}};m.on("click",function(e){i.hasClass(a+"ed")?w():(v(e,!0),C()),k.find("."+r).remove()}),m.find(".layui-edge").on("click",function(){g.focus()}),g.on("keyup",function(e){var t=e.keyCode;9===t&&C()}).on("keydown",function(e){var t=e.keyCode;9===t&&w();var i=function(t,a){var n,l;e.preventDefault();var r=function(){var e=k.children("dd."+o);if(k.children("dd."+s)[0]&&"next"===t){var i=k.children("dd:not(."+s+",."+c+")"),n=i.eq(0).index();if(n>=0&&n\u65e0\u5339\u914d\u9879

      '):k.find("."+r).remove()},"keyup"),""===t&&k.find("."+r).remove(),void T())};f&&g.on("keyup",q).on("blur",function(i){var a=p[0].selectedIndex;e=g,u=t(p[0].options[a]).html(),0===a&&u===g.attr("placeholder")&&(u=""),setTimeout(function(){$(g.val(),function(e){u||g.val("")},"blur")},200)}),x.on("click",function(){var e=t(this),a=e.attr("lay-value"),n=p.attr("lay-filter");return!e.hasClass(c)&&(e.hasClass("layui-select-tips")?g.val(""):(g.val(e.text()),e.addClass(o)),e.siblings().removeClass(o),p.val(a).removeClass("layui-form-danger"),layui.event.call(this,l,"select("+n+")",{elem:p[0],value:a,othis:i}),w(!0),!1)}),i.find("dl>dt").on("click",function(e){return!1}),t(document).off("click",v).on("click",v)}};f.each(function(e,l){var r=t(this),s=r.next("."+a),u=this.disabled,d=l.value,f=t(l.options[l.selectedIndex]),v=l.options[0];if("string"==typeof r.attr("lay-ignore"))return r.show();var h="string"==typeof r.attr("lay-search"),p=v?v.value?i:v.innerHTML||i:i,m=t(['
      ','
      ','','
      ','
      ',function(e){var a=[];return layui.each(e,function(e,n){0!==e||n.value?"optgroup"===n.tagName.toLowerCase()?a.push("
      "+n.label+"
      "):a.push('
      '+t.trim(n.innerHTML)+"
      "):a.push('
      '+t.trim(n.innerHTML||i)+"
      ")}),0===a.length&&a.push('
      \u6ca1\u6709\u9009\u9879
      '),a.join("")}(r.find("*"))+"
      ","
      "].join(""));s[0]&&s.remove(),r.after(m),y.call(this,m,u,h)})},checkbox:function(){var e={checkbox:["layui-form-checkbox","layui-form-checked","checkbox"],_switch:["layui-form-switch","layui-form-onswitch","switch"]},i=d.find("input[type=checkbox]"),a=function(e,i){var a=t(this);e.on("click",function(){var t=a.attr("lay-filter"),n=(a.attr("lay-text")||"").split("|");a[0].disabled||(a[0].checked?(a[0].checked=!1,e.removeClass(i[1]).find("em").text(n[1])):(a[0].checked=!0,e.addClass(i[1]).find("em").text(n[0])),layui.event.call(a[0],l,i[2]+"("+t+")",{elem:a[0],value:a[0].value,othis:e}))})};i.each(function(i,n){var l=t(this),r=l.attr("lay-skin"),o=(l.attr("lay-text")||"").split("|"),s=this.disabled;"switch"===r&&(r="_"+r);var u=e[r]||e.checkbox;if("string"==typeof l.attr("lay-ignore"))return l.show();var d=l.next("."+u[0]),f=t(['
      ",function(){var e=n.title.replace(/\s/g,""),t={checkbox:[e?""+n.title+"":"",''].join(""),_switch:""+((n.checked?o[0]:o[1])||"")+""};return t[r]||t.checkbox}(),"
      "].join(""));d[0]&&d.remove(),l.after(f),a.call(this,f,u)})},radio:function(){var e="layui-form-radio",i=["",""],a=d.find("input[type=radio]"),n=function(a){var n=t(this),o="layui-anim-scaleSpring";a.on("click",function(){var s=n[0].name,c=n.parents(r),u=n.attr("lay-filter"),d=c.find("input[name="+s.replace(/(\.|#|\[|\])/g,"\\$1")+"]");n[0].disabled||(layui.each(d,function(){var a=t(this).next("."+e);this.checked=!1,a.removeClass(e+"ed"),a.find(".layui-icon").removeClass(o).html(i[1])}),n[0].checked=!0,a.addClass(e+"ed"),a.find(".layui-icon").addClass(o).html(i[0]),layui.event.call(n[0],l,"radio("+u+")",{elem:n[0],value:n[0].value,othis:a}))})};a.each(function(a,l){var r=t(this),o=r.next("."+e),s=this.disabled;if("string"==typeof r.attr("lay-ignore"))return r.show();o[0]&&o.remove();var u=t(['
      ',''+i[l.checked?0:1]+"","
      "+function(){var e=l.title||"";return"string"==typeof r.next().attr("lay-radio")&&(e=r.next().html()),e}()+"
      ","
      "].join(""));r.after(u),n.call(this,u)})}};return e?f[e]?f[e]():a.error('\u4e0d\u652f\u6301\u7684 "'+e+'" \u8868\u5355\u6e32\u67d3'):layui.each(f,function(e,t){t()}),n};var d=function(){var e=null,a=f.config.verify,o="layui-form-danger",s={},c=t(this),u=c.parents(r).eq(0),d=u.find("*[lay-verify]"),h=c.parents("form")[0],y=c.attr("lay-filter");return layui.each(d,function(l,r){var s=t(this),c=s.attr("lay-verify").split("|"),u=s.attr("lay-verType"),d=s.val();if(s.removeClass(o),layui.each(c,function(t,l){var c,f="",h="function"==typeof a[l];if(a[l]){var c=h?f=a[l](d,r):!a[l][0].test(d),y="select"===r.tagName.toLowerCase()||/^checkbox|radio$/.test(r.type);if(f=f||a[l][1],"required"===l&&(f=s.attr("lay-reqText")||f),c)return"tips"===u?i.tips(f,function(){return"string"!=typeof s.attr("lay-ignore")&&y?s.next():s}(),{tips:1}):"alert"===u?i.alert(f,{title:"\u63d0\u793a",shadeClose:!0}):/\bstring|number\b/.test(typeof f)&&i.msg(f,{icon:5,shift:6}),n.mobile?v.scrollTop(function(){try{return(y?s.next():s).offset().top-15}catch(e){return 0}}()):setTimeout(function(){(y?s.next().find("input"):r).focus()},7),s.addClass(o),e=!0}}),e)return e}),!e&&(s=f.getValue(null,u),layui.event.call(this,l,"submit("+y+")",{elem:this,form:h,field:s}))},f=new u,v=t(document),h=t(window);t(function(){f.render()}),v.on("reset",r,function(){var e=t(this).attr("lay-filter");setTimeout(function(){f.render(null,e)},50)}),v.on("submit",r,d).on("click","*[lay-submit]",d),e(l,f)});layui.define("form",function(e){"use strict";var i=layui.$,a=layui.form,n=layui.layer,t="tree",r={config:{},index:layui[t]?layui[t].index+1e4:0,set:function(e){var a=this;return a.config=i.extend({},a.config,e),a},on:function(e,i){return layui.onevent.call(this,t,e,i)}},l=function(){var e=this,i=e.config,a=i.id||e.index;return l.that[a]=e,l.config[a]=i,{config:i,reload:function(i){e.reload.call(e,i)},getChecked:function(){return e.getChecked.call(e)},setChecked:function(i){return e.setChecked.call(e,i)}}},c="layui-hide",d="layui-disabled",s="layui-tree-set",o="layui-tree-iconClick",h="layui-icon-addition",u="layui-icon-subtraction",p="layui-tree-entry",f="layui-tree-main",y="layui-tree-txt",v="layui-tree-pack",C="layui-tree-spread",k="layui-tree-setLineShort",m="layui-tree-showLine",x="layui-tree-lineExtend",b=function(e){var a=this;a.index=++r.index,a.config=i.extend({},a.config,r.config,e),a.render()};b.prototype.config={data:[],showCheckbox:!1,showLine:!0,accordion:!1,onlyIconControl:!1,isJump:!1,edit:!1,text:{defaultNodeName:"\u672a\u547d\u540d",none:"\u65e0\u6570\u636e"}},b.prototype.reload=function(e){var a=this;layui.each(e,function(e,i){"array"===layui._typeof(i)&&delete a.config[e]}),a.config=i.extend(!0,{},a.config,e),a.render()},b.prototype.render=function(){var e=this,a=e.config;e.checkids=[];var n=i('
      ');e.tree(n);var t=a.elem=i(a.elem);if(t[0]){if(e.key=a.id||e.index,e.elem=n,e.elemNone=i('
      '+a.text.none+"
      "),t.html(e.elem),0==e.elem.find(".layui-tree-set").length)return e.elem.append(e.elemNone);a.showCheckbox&&e.renderForm("checkbox"),e.elem.find(".layui-tree-set").each(function(){var e=i(this);e.parent(".layui-tree-pack")[0]||e.addClass("layui-tree-setHide"),!e.next()[0]&&e.parents(".layui-tree-pack").eq(1).hasClass("layui-tree-lineExtend")&&e.addClass(k),e.next()[0]||e.parents(".layui-tree-set").eq(0).next()[0]||e.addClass(k)}),e.events()}},b.prototype.renderForm=function(e){a.render(e,"LAY-tree-"+this.index)},b.prototype.tree=function(e,a){var n=this,t=n.config,r=a||t.data;layui.each(r,function(a,r){var l=r.children&&r.children.length>0,o=i('
      "),h=i(['
      ','
      ','
      ',function(){return t.showLine?l?'':'':''}(),function(){return t.showCheckbox?'':""}(),function(){return t.isJump&&r.href?''+(r.title||r.label||t.text.defaultNodeName)+"":''+(r.title||r.label||t.text.defaultNodeName)+""}(),"
      ",function(){if(!t.edit)return"";var e={add:'',update:'',del:''},i=['
      '];return t.edit===!0&&(t.edit=["update","del"]),"object"==typeof t.edit?(layui.each(t.edit,function(a,n){i.push(e[n]||"")}),i.join("")+"
      "):void 0}(),"
      "].join(""));l&&(h.append(o),n.tree(o,r.children)),e.append(h),h.prev("."+s)[0]&&h.prev().children(".layui-tree-pack").addClass("layui-tree-showLine"),l||h.parent(".layui-tree-pack").addClass("layui-tree-lineExtend"),n.spread(h,r),t.showCheckbox&&(r.checked&&n.checkids.push(r.id),n.checkClick(h,r)),t.edit&&n.operate(h,r)})},b.prototype.spread=function(e,a){var n=this,t=n.config,r=e.children("."+p),l=r.children("."+f),c=r.find("."+o),k=r.find("."+y),m=t.onlyIconControl?c:l,x="";m.on("click",function(i){var a=e.children("."+v),n=m.children(".layui-icon")[0]?m.children(".layui-icon"):m.find(".layui-tree-icon").children(".layui-icon");if(a[0]){if(e.hasClass(C))e.removeClass(C),a.slideUp(200),n.removeClass(u).addClass(h);else if(e.addClass(C),a.slideDown(200),n.addClass(u).removeClass(h),t.accordion){var r=e.siblings("."+s);r.removeClass(C),r.children("."+v).slideUp(200),r.find(".layui-tree-icon").children(".layui-icon").removeClass(u).addClass(h)}}else x="normal"}),k.on("click",function(){var n=i(this);n.hasClass(d)||(x=e.hasClass(C)?t.onlyIconControl?"open":"close":t.onlyIconControl?"close":"open",t.click&&t.click({elem:e,state:x,data:a}))})},b.prototype.setCheckbox=function(e,i,a){var n=this,t=(n.config,a.prop("checked"));if(!a.prop("disabled")){if("object"==typeof i.children||e.find("."+v)[0]){var r=e.find("."+v).find('input[same="layuiTreeCheck"]');r.each(function(){this.disabled||(this.checked=t)})}var l=function(e){if(e.parents("."+s)[0]){var i,a=e.parent("."+v),n=a.parent(),r=a.prev().find('input[same="layuiTreeCheck"]');t?r.prop("checked",t):(a.find('input[same="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||r.prop("checked",!1)),l(n)}};l(e),n.renderForm("checkbox")}},b.prototype.checkClick=function(e,a){var n=this,t=n.config,r=e.children("."+p),l=r.children("."+f);l.on("click",'input[same="layuiTreeCheck"]+',function(r){layui.stope(r);var l=i(this).prev(),c=l.prop("checked");l.prop("disabled")||(n.setCheckbox(e,a,l),t.oncheck&&t.oncheck({elem:e,checked:c,data:a}))})},b.prototype.operate=function(e,a){var t=this,r=t.config,l=e.children("."+p),d=l.children("."+f);l.children(".layui-tree-btnGroup").on("click",".layui-icon",function(l){layui.stope(l);var f=i(this).data("type"),b=e.children("."+v),g={data:a,type:f,elem:e};if("add"==f){b[0]||(r.showLine?(d.find("."+o).addClass("layui-tree-icon"),d.find("."+o).children(".layui-icon").addClass(h).removeClass("layui-icon-file")):d.find(".layui-tree-iconArrow").removeClass(c),e.append('
      '));var w=r.operate&&r.operate(g),N={};if(N.title=r.text.defaultNodeName,N.id=w,t.tree(e.children("."+v),[N]),r.showLine)if(b[0])b.hasClass(x)||b.addClass(x),e.find("."+v).each(function(){i(this).children("."+s).last().addClass(k)}),b.children("."+s).last().prev().hasClass(k)?b.children("."+s).last().prev().removeClass(k):b.children("."+s).last().removeClass(k),!e.parent("."+v)[0]&&e.next()[0]&&b.children("."+s).last().removeClass(k);else{var T=e.siblings("."+s),L=1,I=e.parent("."+v);layui.each(T,function(e,a){i(a).children("."+v)[0]||(L=0)}),1==L?(T.children("."+v).addClass(m),T.children("."+v).children("."+s).removeClass(k),e.children("."+v).addClass(m),I.removeClass(x),I.children("."+s).last().children("."+v).children("."+s).last().addClass(k)):e.children("."+v).children("."+s).addClass(k)}if(!r.showCheckbox)return;if(d.find('input[same="layuiTreeCheck"]')[0].checked){var A=e.children("."+v).children("."+s).last();A.find('input[same="layuiTreeCheck"]')[0].checked=!0}t.renderForm("checkbox")}else if("update"==f){var F=d.children("."+y).html();d.children("."+y).html(""),d.append(''),d.children(".layui-tree-editInput").val(F).focus();var j=function(e){var i=e.val().trim();i=i?i:r.text.defaultNodeName,e.remove(),d.children("."+y).html(i),g.data.title=i,r.operate&&r.operate(g)};d.children(".layui-tree-editInput").blur(function(){j(i(this))}),d.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),j(i(this)))})}else n.confirm('\u786e\u8ba4\u5220\u9664\u8be5\u8282\u70b9 "'+(a.title||"")+'" \u5417\uff1f',function(a){if(r.operate&&r.operate(g),g.status="remove",n.close(a),!e.prev("."+s)[0]&&!e.next("."+s)[0]&&!e.parent("."+v)[0])return e.remove(),void t.elem.append(t.elemNone);if(e.siblings("."+s).children("."+p)[0]){if(r.showCheckbox){var l=function(e){if(e.parents("."+s)[0]){var a=e.siblings("."+s).children("."+p),n=e.parent("."+v).prev(),r=n.find('input[same="layuiTreeCheck"]')[0],c=1,d=0;0==r.checked&&(a.each(function(e,a){var n=i(a).find('input[same="layuiTreeCheck"]')[0];0!=n.checked||n.disabled||(c=0),n.disabled||(d=1)}),1==c&&1==d&&(r.checked=!0,t.renderForm("checkbox"),l(n.parent("."+s))))}};l(e)}if(r.showLine){var d=e.siblings("."+s),h=1,f=e.parent("."+v);layui.each(d,function(e,a){i(a).children("."+v)[0]||(h=0)}),1==h?(b[0]||(f.removeClass(x),d.children("."+v).addClass(m),d.children("."+v).children("."+s).removeClass(k)),e.next()[0]?f.children("."+s).last().children("."+v).children("."+s).last().addClass(k):e.prev().children("."+v).children("."+s).last().addClass(k),e.next()[0]||e.parents("."+s)[1]||e.parents("."+s).eq(0).next()[0]||e.prev("."+s).addClass(k)):!e.next()[0]&&e.hasClass(k)&&e.prev().addClass(k)}}else{var y=e.parent("."+v).prev();if(r.showLine){y.find("."+o).removeClass("layui-tree-icon"),y.find("."+o).children(".layui-icon").removeClass(u).addClass("layui-icon-file");var w=y.parents("."+v).eq(0);w.addClass(x),w.children("."+s).each(function(){i(this).children("."+v).children("."+s).last().addClass(k)})}else y.find(".layui-tree-iconArrow").addClass(c);e.parents("."+s).eq(0).removeClass(C),e.parent("."+v).remove()}e.remove()})})},b.prototype.events=function(){var e=this,a=e.config;e.elem.find(".layui-tree-checkedFirst");e.setChecked(e.checkids),e.elem.find(".layui-tree-search").on("keyup",function(){var n=i(this),t=n.val(),r=n.nextAll(),l=[];r.find("."+y).each(function(){var e=i(this).parents("."+p);if(i(this).html().indexOf(t)!=-1){l.push(i(this).parent());var a=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+v)[0]&&a(e.parent("."+v).parent("."+s))};a(e.parent("."+s))}}),r.find("."+p).each(function(){var e=i(this).parent("."+s);e.hasClass("layui-tree-searchShow")||e.addClass(c)}),0==r.find(".layui-tree-searchShow").length&&e.elem.append(e.elemNone),a.onsearch&&a.onsearch({elem:l})}),e.elem.find(".layui-tree-search").on("keydown",function(){i(this).nextAll().find("."+p).each(function(){var e=i(this).parent("."+s);e.removeClass("layui-tree-searchShow "+c)}),i(".layui-tree-emptyText")[0]&&i(".layui-tree-emptyText").remove()})},b.prototype.getChecked=function(){var e=this,a=e.config,n=[],t=[];e.elem.find(".layui-form-checked").each(function(){n.push(i(this).prev()[0].value)});var r=function(e,a){layui.each(e,function(e,t){layui.each(n,function(e,n){if(t.id==n){var l=i.extend({},t);return delete l.children,a.push(l),t.children&&(l.children=[],r(t.children,l.children)),!0}})})};return r(i.extend({},a.data),t),t},b.prototype.setChecked=function(e){var a=this;a.config;a.elem.find("."+s).each(function(a,n){var t=i(this).data("id"),r=i(n).children("."+p).find('input[same="layuiTreeCheck"]'),l=r.next();if("number"==typeof e){if(t==e)return r[0].checked||l.click(),!1}else"object"==typeof e&&layui.each(e,function(e,i){if(i==t&&!r[0].checked)return l.click(),!0})})},l.that={},l.config={},r.reload=function(e,i){var a=l.that[e];return a.reload(i),l.call(a)},r.getChecked=function(e){var i=l.that[e];return i.getChecked()},r.setChecked=function(e,i){var a=l.that[e];return a.setChecked(i)},r.render=function(e){var i=new b(e);return l.call(i)},e(t,r)});layui.define(["laytpl","form"],function(e){"use strict";var a=layui.$,t=layui.laytpl,i=layui.form,n="transfer",l={config:{},index:layui[n]?layui[n].index+1e4:0,set:function(e){var t=this;return t.config=a.extend({},t.config,e),t},on:function(e,a){return layui.onevent.call(this,n,e,a)}},r=function(){var e=this,a=e.config,t=a.id||e.index;return r.that[t]=e,r.config[t]=a,{config:a,reload:function(a){e.reload.call(e,a)},getData:function(){return e.getData.call(e)}}},c="layui-hide",o="layui-btn-disabled",d="layui-none",s="layui-transfer-box",u="layui-transfer-header",h="layui-transfer-search",f="layui-transfer-active",y="layui-transfer-data",p=function(e){return e=e||{},['
      ','
      ','","
      ","{{# if(d.data.showSearch){ }}",'","{{# } }}",'
        ',"
        "].join("")},v=['
        ',p({index:0,checkAllName:"layTransferLeftCheckAll"}),'
        ','",'","
        ",p({index:1,checkAllName:"layTransferRightCheckAll"}),"
        "].join(""),x=function(e){var t=this;t.index=++l.index,t.config=a.extend({},t.config,l.config,e),t.render()};x.prototype.config={title:["\u5217\u8868\u4e00","\u5217\u8868\u4e8c"],width:200,height:360,data:[],value:[],showSearch:!1,id:"",text:{none:"\u65e0\u6570\u636e",searchNone:"\u65e0\u5339\u914d\u6570\u636e"}},x.prototype.reload=function(e){var t=this;t.config=a.extend({},t.config,e),t.render()},x.prototype.render=function(){var e=this,i=e.config,n=e.elem=a(t(v).render({data:i,index:e.index})),l=i.elem=a(i.elem);l[0]&&(i.data=i.data||[],i.value=i.value||[],e.key=i.id||e.index,l.html(e.elem),e.layBox=e.elem.find("."+s),e.layHeader=e.elem.find("."+u),e.laySearch=e.elem.find("."+h),e.layData=n.find("."+y),e.layBtn=n.find("."+f+" .layui-btn"),e.layBox.css({width:i.width,height:i.height}),e.layData.css({height:function(){return i.height-e.layHeader.outerHeight()-e.laySearch.outerHeight()-2}()}),e.renderData(),e.events())},x.prototype.renderData=function(){var e=this,a=(e.config,[{checkName:"layTransferLeftCheck",views:[]},{checkName:"layTransferRightCheck",views:[]}]);e.parseData(function(e){var t=e.selected?1:0,i=["
      • ",'',"
      • "].join("");a[t].views.push(i),delete e.selected}),e.layData.eq(0).html(a[0].views.join("")),e.layData.eq(1).html(a[1].views.join("")),e.renderCheckBtn()},x.prototype.renderForm=function(e){i.render(e,"LAY-transfer-"+this.index)},x.prototype.renderCheckBtn=function(e){var t=this,i=t.config;e=e||{},t.layBox.each(function(n){var l=a(this),r=l.find("."+y),d=l.find("."+u).find('input[type="checkbox"]'),s=r.find('input[type="checkbox"]'),h=0,f=!1;if(s.each(function(){var e=a(this).data("hide");(this.checked||this.disabled||e)&&h++,this.checked&&!e&&(f=!0)}),d.prop("checked",f&&h===s.length),t.layBtn.eq(n)[f?"removeClass":"addClass"](o),!e.stopNone){var p=r.children("li:not(."+c+")").length;t.noneView(r,p?"":i.text.none)}}),t.renderForm("checkbox")},x.prototype.noneView=function(e,t){var i=a('

        '+(t||"")+"

        ");e.find("."+d)[0]&&e.find("."+d).remove(),t.replace(/\s/g,"")&&e.append(i)},x.prototype.setValue=function(){var e=this,t=e.config,i=[];return e.layBox.eq(1).find("."+y+' input[type="checkbox"]').each(function(){var e=a(this).data("hide");e||i.push(this.value)}),t.value=i,e},x.prototype.parseData=function(e){var t=this,i=t.config,n=[];return layui.each(i.data,function(t,l){l=("function"==typeof i.parseData?i.parseData(l):l)||l,n.push(l=a.extend({},l)),layui.each(i.value,function(e,a){a==l.value&&(l.selected=!0)}),e&&e(l)}),i.data=n,t},x.prototype.getData=function(e){var a=this,t=a.config,i=[];return a.setValue(),layui.each(e||t.value,function(e,a){layui.each(t.data,function(e,t){delete t.selected,a==t.value&&i.push(t)})}),i},x.prototype.events=function(){var e=this,t=e.config;e.elem.on("click",'input[lay-filter="layTransferCheckbox"]+',function(){var t=a(this).prev(),i=t[0].checked,n=t.parents("."+s).eq(0).find("."+y);t[0].disabled||("all"===t.attr("lay-type")&&n.find('input[type="checkbox"]').each(function(){this.disabled||(this.checked=i)}),e.renderCheckBtn({stopNone:!0}))}),e.layBtn.on("click",function(){var i=a(this),n=i.data("index"),l=e.layBox.eq(n),r=[];if(!i.hasClass(o)){e.layBox.eq(n).each(function(t){var i=a(this),n=i.find("."+y);n.children("li").each(function(){var t=a(this),i=t.find('input[type="checkbox"]'),n=i.data("hide");i[0].checked&&!n&&(i[0].checked=!1,l.siblings("."+s).find("."+y).append(t.clone()),t.remove(),r.push(i[0].value)),e.setValue()})}),e.renderCheckBtn();var c=l.siblings("."+s).find("."+h+" input");""===c.val()||c.trigger("keyup"),t.onchange&&t.onchange(e.getData(r),n)}}),e.laySearch.find("input").on("keyup",function(){var i=this.value,n=a(this).parents("."+h).eq(0).siblings("."+y),l=n.children("li");l.each(function(){var e=a(this),t=e.find('input[type="checkbox"]'),n=t[0].title.indexOf(i)!==-1;e[n?"removeClass":"addClass"](c),t.data("hide",!n)}),e.renderCheckBtn();var r=l.length===n.children("li."+c).length;e.noneView(n,r?t.text.searchNone:"")})},r.that={},r.config={},l.reload=function(e,a){var t=r.that[e];return t.reload(a),r.call(t)},l.getData=function(e){var a=r.that[e];return a.getData()},l.render=function(e){var a=new x(e);return r.call(a)},e(n,l)});layui.define(["laytpl","laypage","layer","form","util"],function(e){"use strict";var t=layui.$,i=layui.laytpl,a=layui.laypage,l=layui.layer,n=layui.form,o=layui.util,r=layui.hint(),c=layui.device(),d={config:{checkName:"LAY_CHECKED",indexName:"LAY_TABLE_INDEX"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,h,e,t)}},s=function(){var e=this,t=e.config,i=t.id||t.index;return i&&(s.that[i]=e,s.config[i]=t),{config:t,reload:function(t,i){e.reload.call(e,t,i)},setColsWidth:function(){e.setColsWidth.call(e)},resize:function(){e.resize.call(e)}}},u=function(e){var t=s.config[e];return t||r.error(e?"The table instance with ID '"+e+"' not found":"ID argument required"),t||null},y=function(e,a,l,n){var r=this.config||{};r.escape&&(a=o.escape(a));var c=e.templet?function(){return"function"==typeof e.templet?e.templet(l):i(t(e.templet).html()||String(a)).render(l)}():a;return n?t("
        "+c+"
        ").text():c},h="table",f=".layui-table",p="layui-hide",v="layui-none",m="layui-table-view",g=".layui-table-tool",b=".layui-table-box",x=".layui-table-init",k=".layui-table-header",C=".layui-table-body",w=".layui-table-main",T=".layui-table-fixed",N=".layui-table-fixed-l",L=".layui-table-fixed-r",_=".layui-table-total",S=".layui-table-page",A=".layui-table-sort",R="layui-table-edit",W="layui-table-hover",z=function(e){var t='{{#if(item2.colspan){}} colspan="{{item2.colspan}}"{{#} if(item2.rowspan){}} rowspan="{{item2.rowspan}}"{{#}}}';return e=e||{},['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',function(){return e.fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':""}(),"{{# var isSort = !(item2.colGroup) && item2.sort; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
        ','
        ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
        ","
        "].join("")},E=['',"","
        "].join(""),j=['
        ',"{{# if(d.data.toolbar){ }}",'
        ','
        ','
        ',"
        ","{{# } }}",'
        ',"{{# if(d.data.loading){ }}",'
        ','',"
        ","{{# } }}","{{# var left, right; }}",'
        ',z(),"
        ",'
        ',E,"
        ","{{# if(left){ }}",'
        ','
        ',z({fixed:!0}),"
        ",'
        ',E,"
        ","
        ","{{# }; }}","{{# if(right){ }}",'
        ','
        ',z({fixed:"right"}),'
        ',"
        ",'
        ',E,"
        ","
        ","{{# }; }}","
        ","{{# if(d.data.totalRow){ }}",'
        ','','',"
        ","
        ","{{# } }}","{{# if(d.data.page){ }}",'
        ','
        ',"
        ","{{# } }}","","
        "].join(""),F=t(window),I=t(document),H=function(e){var i=this;i.index=++d.index,i.config=t.extend({},i.config,d.config,e),i.render()};H.prototype.config={limit:10,loading:!0,cellMinWidth:60,defaultToolbar:["filter","exports","print"],autoSort:!0,text:{none:"\u65e0\u6570\u636e"}},H.prototype.render=function(){var e=this,a=e.config;if(a.elem=t(a.elem),a.where=a.where||{},a.id=a.id||a.elem.attr("id")||e.index,a.request=t.extend({pageName:"page",limitName:"limit"},a.request),a.response=t.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",totalRowName:"totalRow",countName:"count"},a.response),"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,e.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return e;a.height&&/^full-\d+$/.test(a.height)&&(e.fullHeightGap=a.height.split("-")[1],a.height=F.height()-e.fullHeightGap),e.setInit();var l=a.elem,n=l.next("."+m),o=e.elem=t(i(j).render({VIEW_CLASS:m,data:a,index:e.index}));if(a.index=e.index,e.key=a.id||a.index,n[0]&&n.remove(),l.after(o),e.layTool=o.find(g),e.layBox=o.find(b),e.layHeader=o.find(k),e.layMain=o.find(w),e.layBody=o.find(C),e.layFixed=o.find(T),e.layFixLeft=o.find(N),e.layFixRight=o.find(L),e.layTotal=o.find(_),e.layPage=o.find(S),e.renderToolbar(),e.fullSize(),a.cols.length>1){var r=e.layFixed.find(k).find("th");r.height(e.layHeader.height()-1-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom")))}e.pullData(e.page),e.events()},H.prototype.initOpts=function(e){var t=this,i=(t.config,{checkbox:48,radio:48,space:15,numbers:40});e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||i[e.type])},H.prototype.setInit=function(e){var t=this,i=t.config;return i.clientWidth=i.width||function(){var e=function(t){var a,l;t=t||i.elem.parent(),a=t.width();try{l="none"===t.css("display")}catch(n){}return!t[0]||a&&!l?a:e(t.parent())};return e()}(),"width"===e?i.clientWidth:void layui.each(i.cols,function(e,a){layui.each(a,function(l,n){if(!n)return void a.splice(l,1);if(n.key=e+"-"+l,n.hide=n.hide||!1,n.colGroup||n.colspan>1){var o=0;layui.each(i.cols[e+1],function(t,i){i.HAS_PARENT||o>1&&o==n.colspan||(i.HAS_PARENT=!0,i.parentKey=e+"-"+l,o+=parseInt(i.colspan>1?i.colspan:1))}),n.colGroup=!0}t.initOpts(n)})})},H.prototype.renderToolbar=function(){var e=this,a=e.config,l=['
        ','
        ','
        '].join(""),n=e.layTool.find(".layui-table-tool-temp");if("default"===a.toolbar)n.html(l);else if("string"==typeof a.toolbar){var o=t(a.toolbar).html()||"";o&&n.html(i(o).render(a))}var r={filter:{title:"\u7b5b\u9009\u5217",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols"},exports:{title:"\u5bfc\u51fa",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export"},print:{title:"\u6253\u5370",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print"}},c=[];"object"==typeof a.defaultToolbar&&layui.each(a.defaultToolbar,function(e,t){var i="string"==typeof t?r[t]:t;i&&c.push('
        ')}),e.layTool.find(".layui-table-tool-self").html(c.join(""))},H.prototype.setParentCol=function(e,t){var i=this,a=i.config,l=i.layHeader.find('th[data-key="'+a.index+"-"+t+'"]'),n=parseInt(l.attr("colspan"))||0;if(l[0]){var o=t.split("-"),r=a.cols[o[0]][o[1]];e?n--:n++,l.attr("colspan",n),l[n<1?"addClass":"removeClass"](p),r.colspan=n,r.hide=n<1;var c=l.data("parentkey");c&&i.setParentCol(e,c)}},H.prototype.setColsPatch=function(){var e=this,t=e.config;layui.each(t.cols,function(t,i){layui.each(i,function(t,i){i.hide&&e.setParentCol(i.hide,i.parentKey)})})},H.prototype.setColsWidth=function(){var e=this,t=e.config,i=0,a=0,l=0,n=0,o=e.setInit("width");e.eachCols(function(e,t){t.hide||i++}),o=o-function(){return"line"===t.skin||"nob"===t.skin?2:i+1}()-e.getScrollWidth(e.layMain[0])-1;var r=function(e){layui.each(t.cols,function(i,r){layui.each(r,function(i,c){var d=0,s=c.minWidth||t.cellMinWidth;return c?void(c.colGroup||c.hide||(e?l&&ln&&a&&(l=(o-n)/a)};r(),r(!0),e.autoColNums=a,e.eachCols(function(i,a){var n=a.minWidth||t.cellMinWidth;a.colGroup||a.hide||(0===a.width?e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(l>=n?l:n)+"px"}):/\d+%$/.test(a.width)&&e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(parseFloat(a.width)/100*o)+"px"}))});var c=e.layMain.width()-e.getScrollWidth(e.layMain[0])-e.layMain.children("table").outerWidth();if(e.autoColNums&&c>=-i&&c<=i){var d=function(t){var i;return t=t||e.layHeader.eq(0).find("thead th:last-child"),i=t.data("field"),!i&&t.prev()[0]?d(t.prev()):t},s=d(),u=s.data("key");e.getCssRule(u,function(t){var i=t.style.width||s.outerWidth();t.style.width=parseFloat(i)+c+"px",e.layMain.height()-e.layMain.prop("clientHeight")>0&&(t.style.width=parseFloat(t.style.width)-1+"px")})}e.loading(!0)},H.prototype.resize=function(){var e=this;e.fullSize(),e.setColsWidth(),e.scrollPatch()},H.prototype.reload=function(e,i){var a=this;e=e||{},delete a.haveInit,layui.each(e,function(e,t){"array"===layui._typeof(t)&&delete a.config[e]}),a.config=t.extend(i,{},a.config,e),a.render()},H.prototype.errorView=function(e){var i=this,a=i.layMain.find("."+v),l=t('
        '+(e||"Error")+"
        ");a[0]&&(i.layNone.remove(),a.remove()),i.layFixed.addClass(p),i.layMain.find("tbody").html(""),i.layMain.append(i.layNone=l),d.cache[i.key]=[]},H.prototype.page=1,H.prototype.pullData=function(e){var i=this,a=i.config,l=a.request,n=a.response,o=function(){"object"==typeof a.initSort&&i.sort(a.initSort.field,a.initSort.type)};if(i.startTime=(new Date).getTime(),a.url){var r={};r[l.pageName]=e,r[l.limitName]=a.limit;var c=t.extend(r,a.where);a.contentType&&0==a.contentType.indexOf("application/json")&&(c=JSON.stringify(c)),i.loading(),t.ajax({type:a.method||"get",url:a.url,contentType:a.contentType,data:c,dataType:"json",headers:a.headers||{},success:function(t){"function"==typeof a.parseData&&(t=a.parseData(t)||t),t[n.statusName]!=n.statusCode?(i.renderForm(),i.errorView(t[n.msgName]||'\u8fd4\u56de\u7684\u6570\u636e\u4e0d\u7b26\u5408\u89c4\u8303\uff0c\u6b63\u786e\u7684\u6210\u529f\u72b6\u6001\u7801\u5e94\u4e3a\uff1a"'+n.statusName+'": '+n.statusCode)):(i.renderData(t,e,t[n.countName]),o(),a.time=(new Date).getTime()-i.startTime+" ms"),i.setColsWidth(),"function"==typeof a.done&&a.done(t,e,t[n.countName])},error:function(e,t){i.errorView("\u8bf7\u6c42\u5f02\u5e38\uff0c\u9519\u8bef\u63d0\u793a\uff1a"+t),i.renderForm(),i.setColsWidth(),"function"==typeof a.error&&a.error(e,t)}})}else if("array"===layui._typeof(a.data)){var d={},s=e*a.limit-a.limit;d[n.dataName]=a.data.concat().splice(s,a.limit),d[n.countName]=a.data.length,"object"==typeof a.totalRow&&(d[n.totalRowName]=t.extend({},a.totalRow)),i.renderData(d,e,d[n.countName]),o(),i.setColsWidth(),"function"==typeof a.done&&a.done(d,e,d[n.countName])}},H.prototype.eachCols=function(e){var t=this;return d.eachCols(null,e,t.config.cols),t},H.prototype.renderData=function(e,n,o,r){var c=this,s=c.config,u=e[s.response.dataName]||[],h=e[s.response.totalRowName],f=[],m=[],g=[],b=function(){var e;return!r&&c.sortKey?c.sort(c.sortKey.field,c.sortKey.sort,!0):(layui.each(u,function(a,l){var o=[],u=[],h=[],v=a+s.limit*(n-1)+1;"array"===layui._typeof(l)&&0===l.length||(r||(l[d.config.indexName]=a),c.eachCols(function(n,r){var f=r.field||n,m=s.index+"-"+r.key,g=l[f];if(void 0!==g&&null!==g||(g=""),!r.colGroup){var b=['','
        '+function(){var n=t.extend(!0,{LAY_INDEX:v,LAY_COL:r},l),o=d.config.checkName;switch(r.type){case"checkbox":return'";case"radio":return n[o]&&(e=a),'';case"numbers":return v}return r.toolbar?i(t(r.toolbar).html()||"").render(n):y.call(c,r,g,n)}(),"
        "].join("");o.push(b),r.fixed&&"right"!==r.fixed&&u.push(b),"right"===r.fixed&&h.push(b)}}),f.push(''+o.join("")+""),m.push(''+u.join("")+""),g.push(''+h.join("")+""))}),c.layBody.scrollTop(0),c.layMain.find("."+v).remove(),c.layMain.find("tbody").html(f.join("")),c.layFixLeft.find("tbody").html(m.join("")),c.layFixRight.find("tbody").html(g.join("")),c.renderForm(),"number"==typeof e&&c.setThisRowChecked(e),c.syncCheckAll(),c.haveInit?c.scrollPatch():setTimeout(function(){c.scrollPatch()},50),c.haveInit=!0,l.close(c.tipsIndex),s.HAS_SET_COLS_PATCH||c.setColsPatch(),void(s.HAS_SET_COLS_PATCH=!0))};return d.cache[c.key]=u,c.layPage[0==o||0===u.length&&1==n?"addClass":"removeClass"](p),0===u.length?(c.renderForm(),c.errorView(s.text.none)):(c.layFixed.removeClass(p),r?b():(b(),c.renderTotal(u,h),void(s.page&&(s.page=t.extend({elem:"layui-table-page"+s.index,count:o,limit:s.limit,limits:s.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'',next:'',jump:function(e,t){t||(c.page=e.curr,s.limit=e.limit,c.pullData(e.curr))}},s.page),s.page.count=o,a.render(s.page)))))},H.prototype.renderTotal=function(e,a){var l=this,n=l.config,o={};if(n.totalRow){layui.each(e,function(e,t){"array"===layui._typeof(t)&&0===t.length||l.eachCols(function(e,i){var a=i.field||e,l=t[a];i.totalRow&&(o[a]=(o[a]||0)+(parseFloat(l)||0))})}),l.dataTotal={};var r=[];l.eachCols(function(e,c){var d=c.field||e,s=function(){var e,t=c.totalRowText||"",i=parseFloat(o[d]).toFixed(2),n={};return n[d]=i,e=c.totalRow?y.call(l,c,i,n)||t:t,a?a[c.field]||e:e}(),u=['','
        '+function(){var e=c.totalRow||n.totalRow;return"string"==typeof e?i(e).render(t.extend({TOTAL_NUMS:s},c)):s}(),"
        "].join("");c.field&&(l.dataTotal[d]=s),r.push(u)}),l.layTotal.find("tbody").html(""+r.join("")+"")}},H.prototype.getColElem=function(e,t){var i=this,a=i.config;return e.eq(0).find(".laytable-cell-"+(a.index+"-"+t)+":eq(0)")},H.prototype.renderForm=function(e){n.render(e,"LAY-table-"+this.index)},H.prototype.setThisRowChecked=function(e){var t=this,i=(t.config,"layui-table-click"),a=t.layBody.find('tr[data-index="'+e+'"]');a.addClass(i).siblings("tr").removeClass(i)},H.prototype.sort=function(e,i,a,l){var n,o,c=this,s={},u=c.config,y=u.elem.attr("lay-filter"),f=d.cache[c.key];"string"==typeof e&&(n=e,c.layHeader.find("th").each(function(i,a){var l=t(this),o=l.data("field");if(o===e)return e=l,n=o,!1}));try{var n=n||e.data("field"),p=e.data("key");if(c.sortKey&&!a&&n===c.sortKey.field&&i===c.sortKey.sort)return;var v=c.layHeader.find("th .laytable-cell-"+p).find(A);c.layHeader.find("th").find(A).removeAttr("lay-sort"),v.attr("lay-sort",i||null),c.layFixed.find("th")}catch(m){r.error("Table modules: sort field '"+n+"' not matched")}c.sortKey={field:n,sort:i},u.autoSort&&("asc"===i?o=layui.sort(f,n):"desc"===i?o=layui.sort(f,n,!0):(o=layui.sort(f,d.config.indexName),delete c.sortKey)),s[u.response.dataName]=o||f,c.renderData(s,c.page,c.count,!0),l&&layui.event.call(e,h,"sort("+y+")",{field:n,type:i})},H.prototype.loading=function(e){var i=this,a=i.config;a.loading&&(e?(i.layInit&&i.layInit.remove(),delete i.layInit,i.layBox.find(x).remove()):(i.layInit=t(['
        ','',"
        "].join("")),i.layBox.append(i.layInit)))},H.prototype.setCheckData=function(e,t){var i=this,a=i.config,l=d.cache[i.key];l[e]&&"array"!==layui._typeof(l[e])&&(l[e][a.checkName]=t)},H.prototype.syncCheckAll=function(){var e=this,t=e.config,i=e.layHeader.find('input[name="layTableCheckbox"]'),a=function(i){return e.eachCols(function(e,a){"checkbox"===a.type&&(a[t.checkName]=i)}),i};i[0]&&(d.checkStatus(e.key).isAll?(i[0].checked||(i.prop("checked",!0),e.renderForm("checkbox")),a(!0)):(i[0].checked&&(i.prop("checked",!1),e.renderForm("checkbox")),a(!1)))},H.prototype.getCssRule=function(e,t){var i=this,a=i.elem.find("style")[0],l=a.sheet||a.styleSheet||{},n=l.cssRules||l.rules;layui.each(n,function(i,a){if(a.selectorText===".laytable-cell-"+e)return t(a),!0})},H.prototype.fullSize=function(){var e,t=this,i=t.config,a=i.height;t.fullHeightGap&&(a=F.height()-t.fullHeightGap,a<135&&(a=135),t.elem.css("height",a)),a&&(e=parseFloat(a)-(t.layHeader.outerHeight()||38),i.toolbar&&(e-=t.layTool.outerHeight()||50),i.totalRow&&(e-=t.layTotal.outerHeight()||40),i.page&&(e-=t.layPage.outerHeight()||41),t.layMain.css("height",e-2))},H.prototype.getScrollWidth=function(e){var t=0;return e?t=e.offsetWidth-e.clientWidth:(e=document.createElement("div"),e.style.width="100px",e.style.height="100px",e.style.overflowY="scroll",document.body.appendChild(e),t=e.offsetWidth-e.clientWidth,document.body.removeChild(e)),t},H.prototype.scrollPatch=function(){var e=this,i=e.layMain.children("table"),a=e.layMain.width()-e.layMain.prop("clientWidth"),l=e.layMain.height()-e.layMain.prop("clientHeight"),n=(e.getScrollWidth(e.layMain[0]),i.outerWidth()-e.layMain.width()),o=function(e){if(a&&l){if(e=e.eq(0),!e.find(".layui-table-patch")[0]){var i=t('
        ');i.find("div").css({width:a}),e.find("tr").append(i)}}else e.find(".layui-table-patch").remove()};o(e.layHeader),o(e.layTotal);var r=e.layMain.height(),c=r-l;e.layFixed.find(C).css("height",i.height()>=c?c:"auto"),e.layFixRight[n>0?"removeClass":"addClass"](p),e.layFixRight.css("right",a-1)},H.prototype.events=function(){var e,i=this,a=i.config,o=t("body"),r={},s=i.layHeader.find("th"),u=".layui-table-cell",f=a.elem.attr("lay-filter");i.layTool.on("click","*[lay-event]",function(e){var o=t(this),r=o.attr("lay-event"),s=function(e){var l=t(e.list),n=t('
          ');n.html(l),a.height&&n.css("max-height",a.height-(i.layTool.outerHeight()||50)),o.find(".layui-table-tool-panel")[0]||o.append(n),i.renderForm(),n.on("click",function(e){layui.stope(e)}),e.done&&e.done(n,l)};switch(layui.stope(e),I.trigger("table.tool.panel.remove"),l.close(i.tipsIndex),r){case"LAYTABLE_COLS":s({list:function(){var e=[];return i.eachCols(function(t,i){i.field&&"normal"==i.type&&e.push('
        • ')}),e.join("")}(),done:function(){n.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var l=t(e.elem),n=this.checked,o=l.data("key"),r=l.data("parentkey");layui.each(a.cols,function(e,t){layui.each(t,function(t,l){if(e+"-"+t===o){var c=l.hide;l.hide=!n,i.elem.find('*[data-key="'+a.index+"-"+o+'"]')[n?"removeClass":"addClass"](p),c!=l.hide&&i.setParentCol(!n,r),i.resize()}})})})}});break;case"LAYTABLE_EXPORT":c.ie?l.tips("\u5bfc\u51fa\u529f\u80fd\u4e0d\u652f\u6301 IE\uff0c\u8bf7\u7528 Chrome \u7b49\u9ad8\u7ea7\u6d4f\u89c8\u5668\u5bfc\u51fa",this,{tips:3}):s({list:function(){return['
        • \u5bfc\u51fa\u5230 Csv \u6587\u4ef6
        • ','
        • \u5bfc\u51fa\u5230 Excel \u6587\u4ef6
        • '].join("")}(),done:function(e,l){l.on("click",function(){var e=t(this).data("type");d.exportFile.call(i,a.id,null,e)})}});break;case"LAYTABLE_PRINT":var u=window.open("\u6253\u5370\u7a97\u53e3","_blank"),y=[""].join(""),v=t(i.layHeader.html());v.append(i.layMain.find("table").html()),v.append(i.layTotal.find("table").html()),v.find("th.layui-table-patch").remove(),v.find(".layui-table-col-special").remove(),u.document.write(y+v.prop("outerHTML")),u.document.close(),u.print(),u.close()}layui.event.call(this,h,"toolbar("+f+")",t.extend({event:r,config:a},{}))}),s.on("mousemove",function(e){var i=t(this),a=i.offset().left,l=e.clientX-a;i.data("unresize")||r.resizeStart||(r.allowResize=i.width()-l<=10,o.css("cursor",r.allowResize?"col-resize":""))}).on("mouseleave",function(){t(this);r.resizeStart||o.css("cursor","")}).on("mousedown",function(e){var l=t(this);if(r.allowResize){var n=l.data("key");e.preventDefault(),r.resizeStart=!0,r.offset=[e.clientX,e.clientY],i.getCssRule(n,function(e){var t=e.style.width||l.outerWidth();r.rule=e,r.ruleWidth=parseFloat(t),r.minWidth=l.data("minwidth")||a.cellMinWidth})}}),I.on("mousemove",function(t){if(r.resizeStart){if(t.preventDefault(),r.rule){var a=r.ruleWidth+t.clientX-r.offset[0];a');return n[0].value=i.data("content")||l.text(),i.find("."+R)[0]||i.append(n),n.focus(),void layui.stope(e)}}).on("mouseenter","td",function(){b.call(this)}).on("mouseleave","td",function(){b.call(this,"hide")});var g="layui-table-grid-down",b=function(e){var i=t(this),a=i.children(u);if(!i.data("off"))if(e)i.find(".layui-table-grid-down").remove();else if(a.prop("scrollWidth")>a.outerWidth()){if(a.find("."+g)[0])return;i.append('
          ')}};i.layBody.on("click","."+g,function(e){var n=t(this),o=n.parent(),r=o.children(u);i.tipsIndex=l.tips(['
          ',r.html(),"
          ",''].join(""),r[0],{tips:[3,""],time:-1,anim:-1,maxWidth:c.ios||c.android?300:i.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){l.close(t)})}}),layui.stope(e)}),i.layBody.on("click","*[lay-event]",function(){var e=t(this),a=e.parents("tr").eq(0).data("index");layui.event.call(this,h,"tool("+f+")",v.call(this,{event:e.attr("lay-event")})),i.setThisRowChecked(a)}),i.layMain.on("scroll",function(){var e=t(this),a=e.scrollLeft(),n=e.scrollTop();i.layHeader.scrollLeft(a),i.layTotal.scrollLeft(a),i.layFixed.find(C).scrollTop(n),l.close(i.tipsIndex)}),F.on("resize",function(){i.resize()})},function(){I.on("click",function(){I.trigger("table.remove.tool.panel")}),I.on("table.remove.tool.panel",function(){t(".layui-table-tool-panel").remove()})}(),d.init=function(e,i){i=i||{};var a=this,l=t(e?'table[lay-filter="'+e+'"]':f+"[lay-data]"),n="Table element property lay-data configuration item has a syntax error: ";return l.each(function(){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(o){r.error(n+l,"error")}var c=[],s=t.extend({elem:this,cols:[],data:[],skin:a.attr("lay-skin"),size:a.attr("lay-size"),even:"string"==typeof a.attr("lay-even")},d.config,i,l);e&&a.hide(),a.find("thead>tr").each(function(e){s.cols[e]=[],t(this).children().each(function(i){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(o){return r.error(n+l)}var d=t.extend({title:a.text(),colspan:a.attr("colspan")||0,rowspan:a.attr("rowspan")||0},l);d.colspan<2&&c.push(d),s.cols[e].push(d)})}),a.find("tbody>tr").each(function(e){var i=t(this),a={};i.children("td").each(function(e,i){var l=t(this),n=l.data("field");if(n)return a[n]=l.html()}),layui.each(c,function(e,t){var l=i.children("td").eq(e);a[t.field]=l.html()}),s.data[e]=a}),d.render(s)}),a},s.that={},s.config={},d.eachCols=function(e,i,a){var l=s.config[e]||{},n=[],o=0;a=t.extend(!0,[],a||l.cols),layui.each(a,function(e,t){layui.each(t,function(t,i){if(i.colGroup){var l=0;o++,i.CHILD_COLS=[],layui.each(a[e+1],function(e,t){t.PARENT_COL_INDEX||l>1&&l==i.colspan||(t.PARENT_COL_INDEX=o,i.CHILD_COLS.push(t),l+=parseInt(t.colspan>1?t.colspan:1))})}i.PARENT_COL_INDEX||n.push(i)})});var r=function(e){layui.each(e||n,function(e,t){return t.CHILD_COLS?r(t.CHILD_COLS):void("function"==typeof i&&i(e,t))})};r()},d.checkStatus=function(e){var t=0,i=0,a=[],l=d.cache[e]||[];return layui.each(l,function(e,l){return"array"===layui._typeof(l)?void i++:void(l[d.config.checkName]&&(t++,a.push(d.clearCacheKey(l))))}),{data:a,isAll:!!l.length&&t===l.length-i}},d.getData=function(e){var t=[],i=d.cache[e]||[];return layui.each(i,function(e,i){"array"!==layui._typeof(i)&&t.push(d.clearCacheKey(i))}),t},d.exportFile=function(e,t,i){var a=this;t=t||d.clearCacheKey(d.cache[e]),i=i||"csv";var l=s.that[e],n=s.config[e]||{},o={csv:"text/csv",xls:"application/vnd.ms-excel"}[i],u=document.createElement("a");return c.ie?r.error("IE_NOT_SUPPORT_EXPORTS"):(u.href="data:"+o+";charset=utf-8,\ufeff"+encodeURIComponent(function(){var i=[],n=[],o=[];return layui.each(t,function(t,a){var o=[];"object"==typeof e?(layui.each(e,function(e,a){0==t&&i.push(a||"")}),layui.each(d.clearCacheKey(a),function(e,t){o.push('"'+(t||"")+'"')})):d.eachCols(e,function(e,n){if(n.field&&"normal"==n.type&&!n.hide){var r=a[n.field];void 0!==r&&null!==r||(r=""),0==t&&i.push(n.title||""),o.push('"'+y.call(l,n,r,a,"text")+'"')}}),n.push(o.join(","))}),layui.each(a.dataTotal,function(e,t){o.push(t)}),i.join(",")+"\r\n"+n.join("\r\n")+"\r\n"+o.join(",")}()),u.download=(n.title||"table_"+(n.index||""))+"."+i,document.body.appendChild(u),u.click(),void document.body.removeChild(u))},d.resize=function(e){if(e){var t=u(e);if(!t)return;s.that[e].resize()}else layui.each(s.that,function(){ +this.resize()})},d.reload=function(e,t,i){var a=u(e);if(a){var l=s.that[e];return l.reload(t,i),s.call(l)}},d.render=function(e){var t=new H(e);return s.call(t)},d.clearCacheKey=function(e){return e=t.extend({},e),delete e[d.config.checkName],delete e[d.config.indexName],e},t(function(){d.init()}),e(h,d)});layui.define("jquery",function(e){"use strict";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t="carousel",a="layui-this",l=">*[carousel-item]>*",o="layui-carousel-left",r="layui-carousel-right",d="layui-carousel-prev",s="layui-carousel-next",u="layui-carousel-arrow",c="layui-carousel-ind",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(clearInterval(e.timer),e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['",'"].join(""));n.elem.attr("lay-arrow",n.arrow),n.elem.find("."+u)[0]&&n.elem.find("."+u).remove(),n.elem.append(t),t.on("click",function(){var n=i(this),t=n.attr("lay-type");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['
            ',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("")}),i.join("")}(),"
          "].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+c)[0]&&n.elem.find("."+c).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-(t.height()/2)),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide("add",a-n.index):al.length&&(l.value=l.length),parseInt(l.value)!==l.value&&(l.half||(l.value=Math.ceil(l.value)-l.value<.5?Math.ceil(l.value):Math.floor(l.value)));for(var n='
            ",s=1;s<=l.length;s++){var r='
          • ";l.half&&parseInt(l.value)!==l.value&&s==Math.ceil(l.value)?n=n+'
          • ":n+=r}n+="
          "+(l.text?''+l.value+"\u661f":"")+"";var c=l.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),l.span=e.elemTemp.next("span"),l.setText&&l.setText(l.value),c.html(e.elemTemp),c.addClass("layui-inline"),l.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,l=a.config;l.value=e,a.render()},v.prototype.action=function(){var e=this,l=e.config,i=e.elemTemp,n=i.find("i").width();i.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(l.value=t,l.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(l.value=l.value-.5)}l.text&&i.next("span").text(l.value+"\u661f"),l.choose&&l.choose(l.value),l.setText&&l.setText(l.value)}),v.on("mousemove",function(e){if(i.find("i").each(function(){a(this).addClass(o).removeClass(r)}),i.find("i:lt("+t+")").each(function(){a(this).addClass(u).removeClass(f)}),l.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(s).removeClass(u)}}),v.on("mouseleave",function(){i.find("i").each(function(){a(this).addClass(o).removeClass(r)}),i.find("i:lt("+Math.floor(l.value)+")").each(function(){a(this).addClass(u).removeClass(f)}),l.half&&parseInt(l.value)!==l.value&&i.children("li:eq("+Math.floor(l.value)+")").children("i").addClass(s).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},l.render=function(e){var a=new v(e);return i.call(a)},e(n,l)});layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var m=l(e.elem);if(m[0]){var f=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,y=e.end||"\u6ca1\u6709\u66f4\u591a\u4e86",v=e.scrollElem&&e.scrollElem!==document,d="\u52a0\u8f7d\u66f4\u591a",h=l('");m.find(".layui-flow-more")[0]||m.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(y):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(f.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),!i&&m.width()&&(r=setTimeout(function(){var i=v?e.height():l(window).height(),n=v?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&e.attr("lay-src")){var f=e.attr("lay-src");layui.img(f,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",f).removeAttr("lay-src"),l[0]&&m(l),i++},function(){t.lazyimg.elem.eq(i);e.removeAttr("lay-src")})}},m=function(e,o){var m=a?(o||n).height():l(window).height(),f=n.scrollTop(),u=f+m;if(t.lazyimg.elem=l(r),e)c(e,m);else for(var s=0;su)break}};if(m(),!o){var f;n.on("scroll",function(){var e=l(this);f&&clearTimeout(f),f=setTimeout(function(){m(null,e)},50)}),o=!0}return m},e("flow",new o)});layui.define(["layer","form"],function(t){"use strict";var e=layui.$,i=layui.layer,a=layui.form,l=(layui.hint(),layui.device()),n="layedit",o="layui-show",r="layui-disabled",c=function(){var t=this;t.index=0,t.config={tool:["strong","italic","underline","del","|","left","center","right","|","link","unlink","face","image"],hideTool:[],height:280}};c.prototype.set=function(t){var i=this;return e.extend(!0,i.config,t),i},c.prototype.on=function(t,e){return layui.onevent(n,t,e)},c.prototype.build=function(t,i){i=i||{};var a=this,n=a.config,r="layui-layedit",c=e("string"==typeof t?"#"+t:t),u="LAY_layedit_"+ ++a.index,d=c.next("."+r),y=e.extend({},n,i),f=function(){var t=[],e={};return layui.each(y.hideTool,function(t,i){e[i]=!0}),layui.each(y.tool,function(i,a){C[a]&&!e[a]&&t.push(C[a])}),t.join("")}(),m=e(['
          ','
          '+f+"
          ",'
          ','',"
          ","
          "].join(""));return l.ie&&l.ie<8?c.removeClass("layui-hide").addClass(o):(d[0]&&d.remove(),s.call(a,m,c[0],y),c.addClass("layui-hide").after(m),a.index)},c.prototype.getContent=function(t){var e=u(t);if(e[0])return d(e[0].document.body.innerHTML)},c.prototype.getText=function(t){var i=u(t);if(i[0])return e(i[0].document.body).text()},c.prototype.setContent=function(t,i,a){var l=u(t);l[0]&&(a?e(l[0].document.body).append(i):e(l[0].document.body).html(i),layedit.sync(t))},c.prototype.sync=function(t){var i=u(t);if(i[0]){var a=e("#"+i[1].attr("textarea"));a.val(d(i[0].document.body.innerHTML))}},c.prototype.getSelection=function(t){var e=u(t);if(e[0]){var i=m(e[0].document);return document.selection?i.text:i.toString()}};var s=function(t,i,a){var l=this,n=t.find("iframe");n.css({height:a.height}).on("load",function(){var o=n.contents(),r=n.prop("contentWindow"),c=o.find("head"),s=e([""].join("")),u=o.find("body");c.append(s),u.attr("contenteditable","true").css({"min-height":a.height}).html(i.value||""),y.apply(l,[r,n,i,a]),g.call(l,r,t,a)})},u=function(t){var i=e("#LAY_layedit_"+t),a=i.prop("contentWindow");return[a,i]},d=function(t){return 8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),t},y=function(t,a,n,o){var r=t.document,c=e(r.body);c.on("keydown",function(t){var e=t.keyCode;if(13===e){var a=m(r),l=p(a),n=l.parentNode;if("pre"===n.tagName.toLowerCase()){if(t.shiftKey)return;return i.msg("\u8bf7\u6682\u65f6\u7528shift+enter"),!1}r.execCommand("formatBlock",!1,"

          ")}}),e(n).parents("form").on("submit",function(){var t=c.html();8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),n.value=t}),c.on("paste",function(e){r.execCommand("formatBlock",!1,"

          "),setTimeout(function(){f.call(t,c),n.value=c.html()},100)})},f=function(t){var i=this;i.document;t.find("*[style]").each(function(){var t=this.style.textAlign;this.removeAttribute("style"),e(this).css({"text-align":t||""})}),t.find("table").addClass("layui-table"),t.find("script,link").remove()},m=function(t){return t.selection?t.selection.createRange():t.getSelection().getRangeAt(0)},p=function(t){return t.endContainer||t.parentElement().childNodes[0]},v=function(t,i,a){var l=this.document,n=document.createElement(t);for(var o in i)n.setAttribute(o,i[o]);if(n.removeAttribute("text"),l.selection){var r=a.text||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.pasteHTML(e(n).prop("outerHTML")),a.select()}else{var r=a.toString()||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.deleteContents(),a.insertNode(n)}},h=function(t,i){var a=this.document,l="layedit-tool-active",n=p(m(a)),o=function(e){return t.find(".layedit-tool-"+e)};i&&i[i.hasClass(l)?"removeClass":"addClass"](l),t.find(">i").removeClass(l),o("unlink").addClass(r),e(n).parents().each(function(){var t=this.tagName.toLowerCase(),e=this.style.textAlign;"b"!==t&&"strong"!==t||o("b").addClass(l),"i"!==t&&"em"!==t||o("i").addClass(l),"u"===t&&o("u").addClass(l),"strike"===t&&o("d").addClass(l),"p"===t&&("center"===e?o("center").addClass(l):"right"===e?o("right").addClass(l):o("left").addClass(l)),"a"===t&&(o("link").addClass(l),o("unlink").removeClass(r))})},g=function(t,a,l){var n=t.document,o=e(n.body),c={link:function(i){var a=p(i),l=e(a).parent();b.call(o,{href:l.attr("href"),target:l.attr("target")},function(e){var a=l[0];"A"===a.tagName?a.href=e.url:v.call(t,"a",{target:e.target,href:e.url,text:e.url},i)})},unlink:function(t){n.execCommand("unlink")},face:function(e){x.call(this,function(i){v.call(t,"img",{src:i.src,alt:i.alt},e)})},image:function(a){var n=this;layui.use("upload",function(o){var r=l.uploadImage||{};o.render({url:r.url,method:r.type,elem:e(n).find("input")[0],done:function(e){0==e.code?(e.data=e.data||{},v.call(t,"img",{src:e.data.src,alt:e.data.title},a)):i.msg(e.msg||"\u4e0a\u4f20\u5931\u8d25")}})})},code:function(e){k.call(o,function(i){v.call(t,"pre",{text:i.code,"lay-lang":i.lang},e)})},help:function(){i.open({type:2,title:"\u5e2e\u52a9",area:["600px","380px"],shadeClose:!0,shade:.1,skin:"layui-layer-msg",content:["","no"]})}},s=a.find(".layui-layedit-tool"),u=function(){var i=e(this),a=i.attr("layedit-event"),l=i.attr("lay-command");if(!i.hasClass(r)){o.focus();var u=m(n);u.commonAncestorContainer;l?(n.execCommand(l),/justifyLeft|justifyCenter|justifyRight/.test(l)&&n.execCommand("formatBlock",!1,"

          "),setTimeout(function(){o.focus()},10)):c[a]&&c[a].call(this,u),h.call(t,s,i)}},d=/image/;s.find(">i").on("mousedown",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)||u.call(this)}).on("click",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)&&u.call(this)}),o.on("click",function(){h.call(t,s),i.close(x.index)})},b=function(t,e){var l=this,n=i.open({type:1,id:"LAY_layedit_link",area:"350px",shade:.05,shadeClose:!0,moveType:1,title:"\u8d85\u94fe\u63a5",skin:"layui-layer-msg",content:['

            ','
          • ','','
            ','',"
            ","
          • ",'
          • ','','
            ','",'","
            ","
          • ",'
          • ','','',"
          • ","
          "].join(""),success:function(t,n){var o="submit(layedit-link-yes)";a.render("radio"),t.find(".layui-btn-primary").on("click",function(){i.close(n),l.focus()}),a.on(o,function(t){i.close(b.index),e&&e(t.field)})}});b.index=n},x=function(t){var a=function(){var t=["[\u5fae\u7b11]","[\u563b\u563b]","[\u54c8\u54c8]","[\u53ef\u7231]","[\u53ef\u601c]","[\u6316\u9f3b]","[\u5403\u60ca]","[\u5bb3\u7f9e]","[\u6324\u773c]","[\u95ed\u5634]","[\u9119\u89c6]","[\u7231\u4f60]","[\u6cea]","[\u5077\u7b11]","[\u4eb2\u4eb2]","[\u751f\u75c5]","[\u592a\u5f00\u5fc3]","[\u767d\u773c]","[\u53f3\u54fc\u54fc]","[\u5de6\u54fc\u54fc]","[\u5618]","[\u8870]","[\u59d4\u5c48]","[\u5410]","[\u54c8\u6b20]","[\u62b1\u62b1]","[\u6012]","[\u7591\u95ee]","[\u998b\u5634]","[\u62dc\u62dc]","[\u601d\u8003]","[\u6c57]","[\u56f0]","[\u7761]","[\u94b1]","[\u5931\u671b]","[\u9177]","[\u8272]","[\u54fc]","[\u9f13\u638c]","[\u6655]","[\u60b2\u4f24]","[\u6293\u72c2]","[\u9ed1\u7ebf]","[\u9634\u9669]","[\u6012\u9a82]","[\u4e92\u7c89]","[\u5fc3]","[\u4f24\u5fc3]","[\u732a\u5934]","[\u718a\u732b]","[\u5154\u5b50]","[ok]","[\u8036]","[good]","[NO]","[\u8d5e]","[\u6765]","[\u5f31]","[\u8349\u6ce5\u9a6c]","[\u795e\u9a6c]","[\u56e7]","[\u6d6e\u4e91]","[\u7ed9\u529b]","[\u56f4\u89c2]","[\u5a01\u6b66]","[\u5965\u7279\u66fc]","[\u793c\u7269]","[\u949f]","[\u8bdd\u7b52]","[\u8721\u70db]","[\u86cb\u7cd5]"],e={};return layui.each(t,function(t,i){e[i]=layui.cache.dir+"images/face/"+t+".gif"}),e}();return x.hide=x.hide||function(t){"face"!==e(t.target).attr("layedit-event")&&i.close(x.index)},x.index=i.tips(function(){var t=[];return layui.each(a,function(e,i){t.push('
        • '+e+'
        • ')}),'
            '+t.join("")+"
          "}(),this,{tips:1,time:0,skin:"layui-box layui-util-face",maxWidth:500,success:function(l,n){l.css({marginTop:-4,marginLeft:-10}).find(".layui-clear>li").on("click",function(){t&&t({src:a[this.title],alt:this.title}),i.close(n)}),e(document).off("click",x.hide).on("click",x.hide)}})},k=function(t){var e=this,l=i.open({type:1,id:"LAY_layedit_code",area:"550px",shade:.05,shadeClose:!0,moveType:1,title:"\u63d2\u5165\u4ee3\u7801",skin:"layui-layer-msg",content:['
            ','
          • ','','
            ','","
            ","
          • ",'
          • ','','
            ','',"
            ","
          • ",'
          • ','','',"
          • ","
          "].join(""),success:function(l,n){var o="submit(layedit-code-yes)";a.render("select"),l.find(".layui-btn-primary").on("click",function(){i.close(n),e.focus()}),a.on(o,function(e){i.close(k.index),t&&t(e.field)})}});k.index=l},C={html:'',strong:'',italic:'',underline:'',del:'',"|":'',left:'',center:'',right:'',link:'',unlink:'',face:'',image:'',code:'',help:''},L=new c;t(n,L)});layui.define("jquery",function(a){"use strict";var e=layui.$;a("code",function(a){var l=[];a=a||{},a.elem=e(a.elem||".layui-code"),a.lang="lang"in a?a.lang:"code",a.elem.each(function(){l.push(this)}),layui.each(l.reverse(),function(l,i){var t=e(i),c=t.html();(t.attr("lay-encode")||a.encode)&&(c=c.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),t.html('
          1. '+c.replace(/[\r\t\n]+/g,"
          2. ")+"
          "),t.find(">.layui-code-h3")[0]||t.prepend('

          '+(t.attr("lay-title")||a.title||"</>")+''+(t.attr("lay-lang")||a.lang||"")+"

          ");var n=t.find(">.layui-code-ol");t.addClass("layui-box layui-code-view"),(t.attr("lay-skin")||a.skin)&&t.addClass("layui-code-"+(t.attr("lay-skin")||a.skin)),(n.find("li").length/100|0)>0&&n.css("margin-left",(n.find("li").length/100|0)+"px"),(t.attr("lay-height")||a.height)&&n.css("max-height",t.attr("lay-height")||a.height)})})}).addcss("modules/code.css?v=2","skincodecss"); \ No newline at end of file diff --git a/static/layui/css/layui.css b/static/layui/css/layui.css new file mode 100644 index 0000000..0a38d44 --- /dev/null +++ b/static/layui/css/layui.css @@ -0,0 +1 @@ +blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:active,a:hover{outline:0}img{display:inline-block;border:none;vertical-align:middle}li{list-style:none}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4{font-weight:700}h5,h6{font-weight:500;font-size:100%}button,input,select,textarea{font-size:100%}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;outline:0}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}body{line-height:1.6;color:#333;color:rgba(0,0,0,.85);font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif}hr{height:0;line-height:0;margin:10px 0;padding:0;border:none!important;border-bottom:1px solid #eee!important;clear:both;overflow:hidden;background:0 0}a{color:#333;text-decoration:none}a:hover{color:#777}a cite{font-style:normal;*cursor:pointer}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-box,.layui-box *{box-sizing:content-box}.layui-clear{clear:both;*zoom:1}.layui-clear:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-clear-space{word-spacing:-5px}.layui-inline{position:relative;display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.layui-edge{position:relative;display:inline-block;vertical-align:middle;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;overflow:hidden}.layui-edge-top{top:-4px;border-bottom-color:#999;border-bottom-style:solid}.layui-edge-right{border-left-color:#999;border-left-style:solid}.layui-edge-bottom{top:2px;border-top-color:#999;border-top-style:solid}.layui-edge-left{border-right-color:#999;border-right-style:solid}.layui-elip{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-disabled,.layui-icon,.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-disabled,.layui-disabled:hover{color:#d2d2d2!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-show-v{visibility:visible!important}.layui-hide-v{visibility:hidden!important}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=280);src:url(../font/iconfont.eot?v=280#iefix) format('embedded-opentype'),url(../font/iconfont.woff2?v=280) format('woff2'),url(../font/iconfont.woff?v=280) format('woff'),url(../font/iconfont.ttf?v=280) format('truetype'),url(../font/iconfont.svg?v=280#layui-icon) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-leaf:before{content:"\e701"}.layui-icon-folder:before{content:"\eabe"}.layui-icon-folder-open:before{content:"\eac1"}.layui-icon-gitee:before{content:"\e69b"}.layui-icon-github:before{content:"\e6a7"}.layui-icon-disabled:before{content:"\e6cc"}.layui-icon-moon:before{content:"\e6c2"}.layui-icon-error:before{content:"\e693"}.layui-icon-success:before{content:"\e697"}.layui-icon-question:before{content:"\e699"}.layui-icon-lock:before{content:"\e69a"}.layui-icon-eye:before{content:"\e695"}.layui-icon-eye-invisible:before{content:"\e696"}.layui-icon-backspace:before{content:"\e694"}.layui-icon-tips-fill:before{content:"\eb2e"}.layui-icon-test:before{content:"\e692"}.layui-icon-clear:before{content:"\e788"}.layui-icon-heart-fill:before{content:"\e68f"}.layui-icon-light:before{content:"\e748"}.layui-icon-music:before{content:"\e690"}.layui-icon-time:before{content:"\e68d"}.layui-icon-ie:before{content:"\e7bb"}.layui-icon-firefox:before{content:"\e686"}.layui-icon-at:before{content:"\e687"}.layui-icon-bluetooth:before{content:"\e689"}.layui-icon-chrome:before{content:"\e68a"}.layui-icon-edge:before{content:"\e68b"}.layui-icon-heart:before{content:"\e68c"}.layui-icon-key:before{content:"\e683"}.layui-icon-android:before{content:"\e684"}.layui-icon-mike:before{content:"\e6dc"}.layui-icon-mute:before{content:"\e685"}.layui-icon-gift:before{content:"\e627"}.layui-icon-windows:before{content:"\e67f"}.layui-icon-ios:before{content:"\e680"}.layui-icon-logout:before{content:"\e682"}.layui-icon-wifi:before{content:"\e7e0"}.layui-icon-rss:before{content:"\e808"}.layui-icon-email:before{content:"\e618"}.layui-icon-reduce-circle:before{content:"\e616"}.layui-icon-transfer:before{content:"\e691"}.layui-icon-service:before{content:"\e626"}.layui-icon-addition:before{content:"\e624"}.layui-icon-subtraction:before{content:"\e67e"}.layui-icon-slider:before{content:"\e714"}.layui-icon-print:before{content:"\e66d"}.layui-icon-export:before{content:"\e67d"}.layui-icon-cols:before{content:"\e610"}.layui-icon-screen-full:before{content:"\e622"}.layui-icon-screen-restore:before{content:"\e758"}.layui-icon-rate-half:before{content:"\e6c9"}.layui-icon-rate-solid:before{content:"\e67a"}.layui-icon-rate:before{content:"\e67b"}.layui-icon-cellphone:before{content:"\e678"}.layui-icon-vercode:before{content:"\e679"}.layui-icon-login-weibo:before{content:"\e675"}.layui-icon-login-qq:before{content:"\e676"}.layui-icon-login-wechat:before{content:"\e677"}.layui-icon-username:before{content:"\e66f"}.layui-icon-password:before{content:"\e673"}.layui-icon-refresh-3:before{content:"\e9aa"}.layui-icon-auz:before{content:"\e672"}.layui-icon-shrink-right:before{content:"\e668"}.layui-icon-spread-left:before{content:"\e66b"}.layui-icon-snowflake:before{content:"\e6b1"}.layui-icon-tips:before{content:"\e702"}.layui-icon-note:before{content:"\e66e"}.layui-icon-senior:before{content:"\e674"}.layui-icon-refresh-1:before{content:"\e666"}.layui-icon-refresh:before{content:"\e669"}.layui-icon-flag:before{content:"\e66c"}.layui-icon-theme:before{content:"\e66a"}.layui-icon-notice:before{content:"\e667"}.layui-icon-console:before{content:"\e665"}.layui-icon-website:before{content:"\e7ae"}.layui-icon-face-surprised:before{content:"\e664"}.layui-icon-set:before{content:"\e716"}.layui-icon-template:before{content:"\e663"}.layui-icon-app:before{content:"\e653"}.layui-icon-template-1:before{content:"\e656"}.layui-icon-home:before{content:"\e68e"}.layui-icon-female:before{content:"\e661"}.layui-icon-male:before{content:"\e662"}.layui-icon-tread:before{content:"\e6c5"}.layui-icon-praise:before{content:"\e6c6"}.layui-icon-rmb:before{content:"\e65e"}.layui-icon-more:before{content:"\e65f"}.layui-icon-camera:before{content:"\e660"}.layui-icon-cart-simple:before{content:"\e698"}.layui-icon-face-cry:before{content:"\e69c"}.layui-icon-face-smile:before{content:"\e6af"}.layui-icon-survey:before{content:"\e6b2"}.layui-icon-read:before{content:"\e705"}.layui-icon-location:before{content:"\e715"}.layui-icon-dollar:before{content:"\e659"}.layui-icon-diamond:before{content:"\e735"}.layui-icon-return:before{content:"\e65c"}.layui-icon-camera-fill:before{content:"\e65d"}.layui-icon-fire:before{content:"\e756"}.layui-icon-more-vertical:before{content:"\e671"}.layui-icon-cart:before{content:"\e657"}.layui-icon-star-fill:before{content:"\e658"}.layui-icon-prev:before{content:"\e65a"}.layui-icon-next:before{content:"\e65b"}.layui-icon-upload:before{content:"\e67c"}.layui-icon-upload-drag:before{content:"\e681"}.layui-icon-user:before{content:"\e770"}.layui-icon-file-b:before{content:"\e655"}.layui-icon-component:before{content:"\e857"}.layui-icon-find-fill:before{content:"\e670"}.layui-icon-loading:before{content:"\e63d"}.layui-icon-loading-1:before{content:"\e63e"}.layui-icon-add-1:before{content:"\e654"}.layui-icon-pause:before{content:"\e651"}.layui-icon-play:before{content:"\e652"}.layui-icon-video:before{content:"\e6ed"}.layui-icon-headset:before{content:"\e6fc"}.layui-icon-voice:before{content:"\e688"}.layui-icon-speaker:before{content:"\e645"}.layui-icon-fonts-del:before{content:"\e64f"}.layui-icon-fonts-html:before{content:"\e64b"}.layui-icon-fonts-code:before{content:"\e64e"}.layui-icon-fonts-strong:before{content:"\e62b"}.layui-icon-unlink:before{content:"\e64d"}.layui-icon-picture:before{content:"\e64a"}.layui-icon-link:before{content:"\e64c"}.layui-icon-face-smile-b:before{content:"\e650"}.layui-icon-align-center:before{content:"\e647"}.layui-icon-align-right:before{content:"\e648"}.layui-icon-align-left:before{content:"\e649"}.layui-icon-fonts-u:before{content:"\e646"}.layui-icon-fonts-i:before{content:"\e644"}.layui-icon-tabs:before{content:"\e62a"}.layui-icon-circle:before{content:"\e63f"}.layui-icon-radio:before{content:"\e643"}.layui-icon-share:before{content:"\e641"}.layui-icon-edit:before{content:"\e642"}.layui-icon-delete:before{content:"\e640"}.layui-icon-engine:before{content:"\e628"}.layui-icon-chart-screen:before{content:"\e629"}.layui-icon-chart:before{content:"\e62c"}.layui-icon-table:before{content:"\e62d"}.layui-icon-tree:before{content:"\e62e"}.layui-icon-upload-circle:before{content:"\e62f"}.layui-icon-templeate-1:before{content:"\e630"}.layui-icon-util:before{content:"\e631"}.layui-icon-layouts:before{content:"\e632"}.layui-icon-prev-circle:before{content:"\e633"}.layui-icon-carousel:before{content:"\e634"}.layui-icon-code-circle:before{content:"\e635"}.layui-icon-water:before{content:"\e636"}.layui-icon-date:before{content:"\e637"}.layui-icon-layer:before{content:"\e638"}.layui-icon-fonts-clear:before{content:"\e639"}.layui-icon-dialogue:before{content:"\e63a"}.layui-icon-cellphone-fine:before{content:"\e63b"}.layui-icon-form:before{content:"\e63c"}.layui-icon-file:before{content:"\e621"}.layui-icon-triangle-r:before{content:"\e623"}.layui-icon-triangle-d:before{content:"\e625"}.layui-icon-set-sm:before{content:"\e620"}.layui-icon-add-circle:before{content:"\e61f"}.layui-icon-layim-download:before{content:"\e61e"}.layui-icon-layim-uploadfile:before{content:"\e61d"}.layui-icon-404:before{content:"\e61c"}.layui-icon-about:before{content:"\e60b"}.layui-icon-layim-theme:before{content:"\e61b"}.layui-icon-down:before{content:"\e61a"}.layui-icon-up:before{content:"\e619"}.layui-icon-circle-dot:before{content:"\e617"}.layui-icon-set-fill:before{content:"\e614"}.layui-icon-search:before{content:"\e615"}.layui-icon-friends:before{content:"\e612"}.layui-icon-group:before{content:"\e613"}.layui-icon-reply-fill:before{content:"\e611"}.layui-icon-menu-fill:before{content:"\e60f"}.layui-icon-face-smile-fine:before{content:"\e60c"}.layui-icon-picture-fine:before{content:"\e60d"}.layui-icon-log:before{content:"\e60e"}.layui-icon-list:before{content:"\e60a"}.layui-icon-release:before{content:"\e609"}.layui-icon-add-circle-fine:before{content:"\e608"}.layui-icon-ok:before{content:"\e605"}.layui-icon-help:before{content:"\e607"}.layui-icon-chat:before{content:"\e606"}.layui-icon-top:before{content:"\e604"}.layui-icon-right:before{content:"\e602"}.layui-icon-left:before{content:"\e603"}.layui-icon-star:before{content:"\e600"}.layui-icon-download-circle:before{content:"\e601"}.layui-icon-close:before{content:"\1006"}.layui-icon-close-fill:before{content:"\1007"}.layui-icon-ok-circle:before{content:"\1005"}.layui-main{position:relative;width:1160px;margin:0 auto}.layui-header{position:relative;z-index:1000;height:60px}.layui-header a:hover{transition:all .5s;-webkit-transition:all .5s}.layui-side{position:fixed;left:0;top:0;bottom:0;z-index:999;width:200px;overflow-x:hidden}.layui-side-scroll{position:relative;width:220px;height:100%;overflow-x:hidden}.layui-body{position:relative;left:200px;right:0;top:0;bottom:0;z-index:900;width:auto;box-sizing:border-box}.layui-layout-body{overflow-x:hidden}.layui-layout-admin .layui-header{position:fixed;top:0;left:0;right:0;background-color:#23292e}.layui-layout-admin .layui-side{top:60px;width:200px;overflow-x:hidden}.layui-layout-admin .layui-body{position:absolute;top:60px;padding-bottom:44px}.layui-layout-admin .layui-main{width:auto;margin:0 15px}.layui-layout-admin .layui-footer{position:fixed;left:200px;right:0;bottom:0;z-index:990;height:44px;line-height:44px;padding:0 15px;box-shadow:-1px 0 4px rgb(0 0 0 / 12%);background-color:#fafafa}.layui-layout-admin .layui-logo{position:absolute;left:0;top:0;width:200px;height:100%;line-height:60px;text-align:center;color:#16baaa;font-size:16px;box-shadow:0 1px 2px 0 rgb(0 0 0 / 15%)}.layui-layout-admin .layui-header .layui-nav{background:0 0}.layui-layout-left{position:absolute!important;left:200px;top:0}.layui-layout-right{position:absolute!important;right:0;top:0}.layui-container{position:relative;margin:0 auto;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}.layui-row:after,.layui-row:before{content:"";display:block;clear:both}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9,.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9,.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9,.layui-col-xl1,.layui-col-xl10,.layui-col-xl11,.layui-col-xl12,.layui-col-xl2,.layui-col-xl3,.layui-col-xl4,.layui-col-xl5,.layui-col-xl6,.layui-col-xl7,.layui-col-xl8,.layui-col-xl9,.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{position:relative;display:block;box-sizing:border-box}.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{float:left}.layui-col-xs1{width:8.33333333%}.layui-col-xs2{width:16.66666667%}.layui-col-xs3{width:25%}.layui-col-xs4{width:33.33333333%}.layui-col-xs5{width:41.66666667%}.layui-col-xs6{width:50%}.layui-col-xs7{width:58.33333333%}.layui-col-xs8{width:66.66666667%}.layui-col-xs9{width:75%}.layui-col-xs10{width:83.33333333%}.layui-col-xs11{width:91.66666667%}.layui-col-xs12{width:100%}.layui-col-xs-offset1{margin-left:8.33333333%}.layui-col-xs-offset2{margin-left:16.66666667%}.layui-col-xs-offset3{margin-left:25%}.layui-col-xs-offset4{margin-left:33.33333333%}.layui-col-xs-offset5{margin-left:41.66666667%}.layui-col-xs-offset6{margin-left:50%}.layui-col-xs-offset7{margin-left:58.33333333%}.layui-col-xs-offset8{margin-left:66.66666667%}.layui-col-xs-offset9{margin-left:75%}.layui-col-xs-offset10{margin-left:83.33333333%}.layui-col-xs-offset11{margin-left:91.66666667%}.layui-col-xs-offset12{margin-left:100%}@media screen and (max-width:767.98px){.layui-container{padding:0 15px}.layui-hide-xs{display:none!important}.layui-show-xs-block{display:block!important}.layui-show-xs-inline{display:inline!important}.layui-show-xs-inline-block{display:inline-block!important}}@media screen and (min-width:768px){.layui-container{width:720px}.layui-hide-sm{display:none!important}.layui-show-sm-block{display:block!important}.layui-show-sm-inline{display:inline!important}.layui-show-sm-inline-block{display:inline-block!important}.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9{float:left}.layui-col-sm1{width:8.33333333%}.layui-col-sm2{width:16.66666667%}.layui-col-sm3{width:25%}.layui-col-sm4{width:33.33333333%}.layui-col-sm5{width:41.66666667%}.layui-col-sm6{width:50%}.layui-col-sm7{width:58.33333333%}.layui-col-sm8{width:66.66666667%}.layui-col-sm9{width:75%}.layui-col-sm10{width:83.33333333%}.layui-col-sm11{width:91.66666667%}.layui-col-sm12{width:100%}.layui-col-sm-offset1{margin-left:8.33333333%}.layui-col-sm-offset2{margin-left:16.66666667%}.layui-col-sm-offset3{margin-left:25%}.layui-col-sm-offset4{margin-left:33.33333333%}.layui-col-sm-offset5{margin-left:41.66666667%}.layui-col-sm-offset6{margin-left:50%}.layui-col-sm-offset7{margin-left:58.33333333%}.layui-col-sm-offset8{margin-left:66.66666667%}.layui-col-sm-offset9{margin-left:75%}.layui-col-sm-offset10{margin-left:83.33333333%}.layui-col-sm-offset11{margin-left:91.66666667%}.layui-col-sm-offset12{margin-left:100%}}@media screen and (min-width:992px){.layui-container{width:960px}.layui-hide-md{display:none!important}.layui-show-md-block{display:block!important}.layui-show-md-inline{display:inline!important}.layui-show-md-inline-block{display:inline-block!important}.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9{float:left}.layui-col-md1{width:8.33333333%}.layui-col-md2{width:16.66666667%}.layui-col-md3{width:25%}.layui-col-md4{width:33.33333333%}.layui-col-md5{width:41.66666667%}.layui-col-md6{width:50%}.layui-col-md7{width:58.33333333%}.layui-col-md8{width:66.66666667%}.layui-col-md9{width:75%}.layui-col-md10{width:83.33333333%}.layui-col-md11{width:91.66666667%}.layui-col-md12{width:100%}.layui-col-md-offset1{margin-left:8.33333333%}.layui-col-md-offset2{margin-left:16.66666667%}.layui-col-md-offset3{margin-left:25%}.layui-col-md-offset4{margin-left:33.33333333%}.layui-col-md-offset5{margin-left:41.66666667%}.layui-col-md-offset6{margin-left:50%}.layui-col-md-offset7{margin-left:58.33333333%}.layui-col-md-offset8{margin-left:66.66666667%}.layui-col-md-offset9{margin-left:75%}.layui-col-md-offset10{margin-left:83.33333333%}.layui-col-md-offset11{margin-left:91.66666667%}.layui-col-md-offset12{margin-left:100%}}@media screen and (min-width:1200px){.layui-container{width:1150px}.layui-hide-lg{display:none!important}.layui-show-lg-block{display:block!important}.layui-show-lg-inline{display:inline!important}.layui-show-lg-inline-block{display:inline-block!important}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9{float:left}.layui-col-lg1{width:8.33333333%}.layui-col-lg2{width:16.66666667%}.layui-col-lg3{width:25%}.layui-col-lg4{width:33.33333333%}.layui-col-lg5{width:41.66666667%}.layui-col-lg6{width:50%}.layui-col-lg7{width:58.33333333%}.layui-col-lg8{width:66.66666667%}.layui-col-lg9{width:75%}.layui-col-lg10{width:83.33333333%}.layui-col-lg11{width:91.66666667%}.layui-col-lg12{width:100%}.layui-col-lg-offset1{margin-left:8.33333333%}.layui-col-lg-offset2{margin-left:16.66666667%}.layui-col-lg-offset3{margin-left:25%}.layui-col-lg-offset4{margin-left:33.33333333%}.layui-col-lg-offset5{margin-left:41.66666667%}.layui-col-lg-offset6{margin-left:50%}.layui-col-lg-offset7{margin-left:58.33333333%}.layui-col-lg-offset8{margin-left:66.66666667%}.layui-col-lg-offset9{margin-left:75%}.layui-col-lg-offset10{margin-left:83.33333333%}.layui-col-lg-offset11{margin-left:91.66666667%}.layui-col-lg-offset12{margin-left:100%}}@media screen and (min-width:1400px){.layui-container{width:1330px}.layui-hide-xl{display:none!important}.layui-show-xl-block{display:block!important}.layui-show-xl-inline{display:inline!important}.layui-show-xl-inline-block{display:inline-block!important}.layui-col-xl1,.layui-col-xl10,.layui-col-xl11,.layui-col-xl12,.layui-col-xl2,.layui-col-xl3,.layui-col-xl4,.layui-col-xl5,.layui-col-xl6,.layui-col-xl7,.layui-col-xl8,.layui-col-xl9{float:left}.layui-col-xl1{width:8.33333333%}.layui-col-xl2{width:16.66666667%}.layui-col-xl3{width:25%}.layui-col-xl4{width:33.33333333%}.layui-col-xl5{width:41.66666667%}.layui-col-xl6{width:50%}.layui-col-xl7{width:58.33333333%}.layui-col-xl8{width:66.66666667%}.layui-col-xl9{width:75%}.layui-col-xl10{width:83.33333333%}.layui-col-xl11{width:91.66666667%}.layui-col-xl12{width:100%}.layui-col-xl-offset1{margin-left:8.33333333%}.layui-col-xl-offset2{margin-left:16.66666667%}.layui-col-xl-offset3{margin-left:25%}.layui-col-xl-offset4{margin-left:33.33333333%}.layui-col-xl-offset5{margin-left:41.66666667%}.layui-col-xl-offset6{margin-left:50%}.layui-col-xl-offset7{margin-left:58.33333333%}.layui-col-xl-offset8{margin-left:66.66666667%}.layui-col-xl-offset9{margin-left:75%}.layui-col-xl-offset10{margin-left:83.33333333%}.layui-col-xl-offset11{margin-left:91.66666667%}.layui-col-xl-offset12{margin-left:100%}}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space2{margin:-1px}.layui-col-space2>*{padding:1px}.layui-col-space4{margin:-2px}.layui-col-space4>*{padding:2px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space6{margin:-3px}.layui-col-space6>*{padding:3px}.layui-col-space8{margin:-4px}.layui-col-space8>*{padding:4px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space14{margin:-7px}.layui-col-space14>*{padding:7px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.layui-col-space16{margin:-8px}.layui-col-space16>*{padding:8px}.layui-col-space18{margin:-9px}.layui-col-space18>*{padding:9px}.layui-col-space20{margin:-10px}.layui-col-space20>*{padding:10px}.layui-col-space22{margin:-11px}.layui-col-space22>*{padding:11px}.layui-col-space24{margin:-12px}.layui-col-space24>*{padding:12px}.layui-col-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space26{margin:-13px}.layui-col-space26>*{padding:13px}.layui-col-space28{margin:-14px}.layui-col-space28>*{padding:14px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}.layui-col-space32{margin:-15px}.layui-col-space32>*{padding:15px}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-elem-quote{margin-bottom:10px;padding:15px;line-height:1.8;border-left:5px solid #16b777;border-radius:0 2px 2px 0;background-color:#fafafa}.layui-quote-nm{border-style:solid;border-width:1px;border-left-width:5px;background:0 0}.layui-elem-field{margin-bottom:10px;padding:0;border-width:1px;border-style:solid}.layui-elem-field legend{margin-left:20px;padding:0 10px;font-size:20px}.layui-field-title{margin:16px 0;border-width:0;border-top-width:1px}.layui-field-box{padding:15px}.layui-field-title .layui-field-box{padding:10px 0}.layui-progress{position:relative;height:6px;border-radius:20px;background-color:#eee}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:#16b777;transition:all .3s;-webkit-transition:all .3s}.layui-progress-big,.layui-progress-big .layui-progress-bar{height:18px;line-height:18px}.layui-progress-text{position:relative;top:-20px;line-height:18px;font-size:12px;color:#5f5f5f}.layui-progress-big .layui-progress-text{position:static;padding:0 10px;color:#fff}.layui-collapse{border-width:1px;border-style:solid;border-radius:2px}.layui-colla-content,.layui-colla-item{border-top-width:1px;border-top-style:solid}.layui-colla-item:first-child{border-top:none}.layui-colla-title{position:relative;height:42px;line-height:42px;padding:0 15px 0 35px;color:#333;background-color:#fafafa;cursor:pointer;font-size:14px;overflow:hidden}.layui-colla-content{display:none;padding:10px 15px;line-height:1.6;color:#5f5f5f}.layui-colla-icon{position:absolute;left:15px;top:0;font-size:14px}.layui-card{margin-bottom:15px;border-radius:2px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.layui-card:last-child{margin-bottom:0}.layui-card-header{position:relative;height:42px;line-height:42px;padding:0 15px;border-bottom:1px solid #f8f8f8;color:#333;border-radius:2px 2px 0 0;font-size:14px}.layui-card-body{position:relative;padding:10px 15px;line-height:24px}.layui-card-body[pad15]{padding:15px}.layui-card-body[pad20]{padding:20px}.layui-card-body .layui-table{margin:5px 0}.layui-card .layui-tab{margin:0}.layui-panel{position:relative;border-width:1px;border-style:solid;border-radius:2px;box-shadow:1px 1px 4px rgb(0 0 0 / 8%);background-color:#fff;color:#5f5f5f}.layui-panel-window{position:relative;padding:15px;border-radius:0;border-top:5px solid #eee;background-color:#fff}.layui-auxiliar-moving{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;background:0 0;z-index:9999999999}.layui-scollbar-hide{overflow:hidden!important}.layui-bg-red{background-color:#ff5722!important;color:#fff!important}.layui-bg-orange{background-color:#ffb800!important;color:#fff!important}.layui-bg-green{background-color:#16baaa!important;color:#fff!important}.layui-bg-cyan{background-color:#2f4056!important;color:#fff!important}.layui-bg-blue{background-color:#1e9fff!important;color:#fff!important}.layui-bg-purple{background-color:#a233c6!important;color:#fff!important}.layui-bg-black{background-color:#2f363c!important;color:#fff!important}.layui-bg-gray{background-color:#fafafa!important;color:#5f5f5f!important}.layui-badge-rim,.layui-border,.layui-colla-content,.layui-colla-item,.layui-collapse,.layui-elem-field,.layui-form-pane .layui-form-item[pane],.layui-form-pane .layui-form-label,.layui-input,.layui-input-split,.layui-panel,.layui-quote-nm,.layui-select,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after,.layui-textarea{border-color:#eee}.layui-border{border-width:1px;border-style:solid;color:#5f5f5f!important}.layui-border-red{border-width:1px;border-style:solid;border-color:#ff5722!important;color:#ff5722!important}.layui-border-orange{border-width:1px;border-style:solid;border-color:#ffb800!important;color:#ffb800!important}.layui-border-green{border-width:1px;border-style:solid;border-color:#16baaa!important;color:#16baaa!important}.layui-border-cyan{border-width:1px;border-style:solid;border-color:#2f4056!important;color:#2f4056!important}.layui-border-blue{border-width:1px;border-style:solid;border-color:#1e9fff!important;color:#1e9fff!important}.layui-border-purple{border-width:1px;border-style:solid;border-color:#a233c6!important;color:#a233c6!important}.layui-border-black{border-width:1px;border-style:solid;border-color:#2f363c!important;color:#2f363c!important}.layui-timeline-item:before{background-color:#eee}.layui-text{line-height:1.8;font-size:14px}.layui-text h1,.layui-text h2,.layui-text h3,.layui-text h4,.layui-text h5,.layui-text h6{color:#3a3a3a}.layui-text h1{font-size:32px}.layui-text h2{font-size:24px}.layui-text h3{font-size:18px}.layui-text h4{font-size:16px}.layui-text h5{font-size:14px}.layui-text h6{font-size:13px}.layui-text ol,.layui-text ul{padding-left:15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text ol li{margin-top:5px;list-style-type:decimal}.layui-text-em,.layui-word-aux{color:#999!important;padding-left:5px!important;padding-right:5px!important}.layui-text p{margin:15px 0}.layui-text p:first-child{margin-top:0}.layui-text p:last-child{margin-bottom:0}.layui-text a:not(.layui-btn){color:#01aaed}.layui-text a:not(.layui-btn):hover{text-decoration:underline}.layui-text blockquote:not(.layui-elem-quote){padding:5px 15px;border-left:5px solid #eee}.layui-text pre>code:not(.layui-code){padding:15px;font-family:Courier New,Lucida Console,Consolas;background-color:#fafafa}.layui-font-12{font-size:12px!important}.layui-font-13{font-size:13px!important}.layui-font-14{font-size:14px!important}.layui-font-16{font-size:16px!important}.layui-font-18{font-size:18px!important}.layui-font-20{font-size:20px!important}.layui-font-22{font-size:22px!important}.layui-font-24{font-size:24px!important}.layui-font-26{font-size:26px!important}.layui-font-28{font-size:28px!important}.layui-font-30{font-size:30px!important}.layui-font-32{font-size:32px!important}.layui-font-red{color:#ff5722!important}.layui-font-orange{color:#ffb800!important}.layui-font-green{color:#16baaa!important}.layui-font-cyan{color:#2f4056!important}.layui-font-blue{color:#01aaed!important}.layui-font-purple{color:#a233c6!important}.layui-font-black{color:#000!important}.layui-font-gray{color:#c2c2c2!important}.layui-btn{display:inline-block;vertical-align:middle;height:38px;line-height:38px;border:1px solid transparent;padding:0 18px;background-color:#16baaa;color:#fff;white-space:nowrap;text-align:center;font-size:14px;border-radius:2px;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80);color:#fff}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn+.layui-btn{margin-left:10px}.layui-btn-container{word-spacing:-5px}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px}.layui-btn-container .layui-btn+.layui-btn{margin-left:0}.layui-table .layui-btn-container .layui-btn{margin-bottom:9px}.layui-btn-radius{border-radius:100px}.layui-btn .layui-icon{padding:0 2px;vertical-align:middle\0;vertical-align:bottom}.layui-btn-primary{border-color:#d2d2d2;background:0 0;color:#5f5f5f}.layui-btn-primary:hover{border-color:#16baaa;color:#333}.layui-btn-normal{background-color:#1e9fff}.layui-btn-warm{background-color:#ffb800}.layui-btn-danger{background-color:#ff5722}.layui-btn-checked{background-color:#16b777}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border-color:#eee!important;background-color:#fbfbfb!important;color:#d2d2d2!important;cursor:not-allowed!important;opacity:1}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:12px!important}.layui-btn-group{display:inline-block;vertical-align:middle;font-size:0}.layui-btn-group .layui-btn{margin-left:0!important;margin-right:0!important;border-left:1px solid rgba(255,255,255,.5);border-radius:0}.layui-btn-group .layui-btn-primary{border-left:none}.layui-btn-group .layui-btn-primary:hover{border-color:#d2d2d2;color:#16baaa}.layui-btn-group .layui-btn:first-child{border-left:none;border-radius:2px 0 0 2px}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #d2d2d2}.layui-btn-group .layui-btn:last-child{border-radius:0 2px 2px 0}.layui-btn-group .layui-btn+.layui-btn{margin-left:0}.layui-btn-group+.layui-btn-group{margin-left:10px}.layui-btn-fluid{width:100%}.layui-input,.layui-select,.layui-textarea{height:38px;line-height:1.3;line-height:38px\9;border-width:1px;border-style:solid;background-color:#fff;color:rgba(0,0,0,.85);border-radius:2px}.layui-input::-webkit-input-placeholder,.layui-select::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-input,.layui-textarea{display:block;width:100%;padding-left:10px}.layui-input:hover,.layui-textarea:hover{border-color:#eee!important}.layui-input:focus,.layui-textarea:focus{border-color:#d2d2d2!important}.layui-textarea{position:relative;min-height:100px;height:auto;line-height:20px;padding:6px 10px;resize:vertical}.layui-select{padding:0 10px}.layui-form input[type=checkbox],.layui-form input[type=radio],.layui-form select{display:none}.layui-form [lay-ignore]{display:initial}.layui-form-item{position:relative;margin-bottom:15px;clear:both;*zoom:1}.layui-form-item:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-form-label{position:relative;float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right}.layui-form-label-col{display:block;float:none;padding:9px 0;line-height:20px;text-align:left}.layui-form-item .layui-inline{margin-bottom:5px;margin-right:10px}.layui-input-block,.layui-input-inline{position:relative}.layui-input-block{margin-left:110px;min-height:36px}.layui-input-inline{display:inline-block;vertical-align:middle}.layui-form-item .layui-input-inline{float:left;width:190px;margin-right:10px}.layui-form-text .layui-input-inline{width:auto}.layui-form-mid{position:relative;float:left;display:block;padding:9px 0!important;line-height:20px;margin-right:10px}.layui-form-danger+.layui-form-select .layui-input,.layui-form-danger:focus{border-color:#ff5722!important}.layui-input-prefix,.layui-input-split,.layui-input-suffix,.layui-input-suffix .layui-input-affix{position:absolute;right:0;top:0;padding:0 10px;width:35px;height:100%;text-align:center;transition:all .3s;box-sizing:border-box}.layui-input-prefix{left:0;border-radius:2px 0 0 2px}.layui-input-suffix{right:0;border-radius:0 2px 2px 0}.layui-input-split{border-width:1px;border-style:solid}.layui-input-prefix .layui-icon,.layui-input-split .layui-icon,.layui-input-suffix .layui-icon{position:relative;font-size:16px;color:#5f5f5f;transition:all .3s}.layui-input-group{position:relative;display:table;box-sizing:border-box}.layui-input-group>*{display:table-cell;vertical-align:middle;position:relative}.layui-input-group .layui-input{padding-right:15px}.layui-input-group .layui-input-prefix{width:auto;border-right:0}.layui-input-group .layui-input-suffix{width:auto;border-left:0}.layui-input-group .layui-input-split{white-space:nowrap}.layui-input-wrap{position:relative;line-height:38px}.layui-input-wrap .layui-input{padding-right:35px}.layui-input-wrap .layui-input::-ms-clear,.layui-input-wrap .layui-input::-ms-reveal{display:none}.layui-input-wrap .layui-input-prefix+.layui-input,.layui-input-wrap .layui-input-prefix~* .layui-input{padding-left:35px}.layui-input-wrap .layui-input-split+.layui-input,.layui-input-wrap .layui-input-split~* .layui-input{padding-left:45px}.layui-input-wrap .layui-input-prefix~.layui-form-select{position:static}.layui-input-wrap .layui-input-prefix,.layui-input-wrap .layui-input-split,.layui-input-wrap .layui-input-suffix{pointer-events:none}.layui-input-wrap .layui-input:focus+.layui-input-split{border-color:#d2d2d2}.layui-input-wrap .layui-input-prefix.layui-input-split{border-width:0;border-right-width:1px}.layui-input-affix{line-height:38px}.layui-input-suffix .layui-input-affix{right:auto;left:-35px}.layui-input-affix .layui-icon{color:rgba(0,0,0,.8);pointer-events:auto!important;cursor:pointer}.layui-input-affix .layui-icon-clear{color:rgba(0,0,0,.3)}.layui-input-affix .layui-icon:hover{color:rgba(0,0,0,.6)}.layui-form-select{position:relative;color:#5f5f5f}.layui-form-select .layui-input{padding-right:30px;cursor:pointer}.layui-form-select .layui-edge{position:absolute;right:10px;top:50%;margin-top:-3px;cursor:pointer;border-width:6px;border-top-color:#c2c2c2;border-top-style:solid;transition:all .3s;-webkit-transition:all .3s}.layui-form-select dl{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #eee;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:1px 1px 4px rgb(0 0 0 / 8%);box-sizing:border-box}.layui-form-select dl dd,.layui-form-select dl dt{padding:0 10px;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-form-select dl dt{font-size:12px;color:#999}.layui-form-select dl dd{cursor:pointer}.layui-form-select dl dd:hover{background-color:#f8f8f8;-webkit-transition:.5s all;transition:.5s all}.layui-form-select .layui-select-group dd{padding-left:20px}.layui-form-select dl dd.layui-select-tips{padding-left:10px!important;color:#999}.layui-form-select dl dd.layui-this{background-color:#f8f8f8;color:#16b777;font-weight:700}.layui-form-select dl dd.layui-disabled{background-color:#fff}.layui-form-selected dl{display:block}.layui-form-selected .layui-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.layui-form-selected .layui-edge{margin-top:-3px\0}:root .layui-form-selected .layui-edge{margin-top:-9px\0/IE9}.layui-form-selectup dl{top:auto;bottom:42px}.layui-select-none{margin:5px 0;text-align:center;color:#999}.layui-select-disabled .layui-disabled{border-color:#eee!important}.layui-select-disabled .layui-edge{border-top-color:#d2d2d2}.layui-form-checkbox{position:relative;display:inline-block;vertical-align:middle;height:30px;line-height:30px;margin-right:10px;padding-right:30px;background-color:#fff;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox *{display:inline-block;vertical-align:middle}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:#d2d2d2;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.layui-form-checkbox:hover span{background-color:#c2c2c2}.layui-form-checkbox i{position:absolute;right:0;top:0;width:30px;height:28px;border:1px solid #d2d2d2;border-left:none;border-radius:0 2px 2px 0;color:#fff;color:rgba(255,255,255,0);font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:#c2c2c2;color:#c2c2c2}.layui-form-checked,.layui-form-checked:hover{border-color:#16b777}.layui-form-checked span,.layui-form-checked:hover span{background-color:#16b777}.layui-form-checked i,.layui-form-checked:hover i{color:#16b777}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#5f5f5f}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid #d2d2d2;font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:#16b777;color:#fff}.layui-form-checked[lay-skin=primary] i{border-color:#16b777!important;background-color:#16b777;color:#fff}.layui-checkbox-disabled[lay-skin=primary] span{background:0 0!important;color:#c2c2c2!important}.layui-form-checked.layui-checkbox-disabled[lay-skin=primary] i{background:#eee!important;border-color:#eee!important}.layui-checkbox-disabled[lay-skin=primary]:hover i{border-color:#d2d2d2}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-form-checkbox[lay-skin=primary] .layui-icon-indeterminate:before{content:'';display:inline-block;vertical-align:middle;position:relative;width:50%;height:1px;margin:-1px auto 0;background-color:#d2d2d2}.layui-form-checkbox[lay-skin=primary]:hover .layui-icon-indeterminate:before{background-color:#16b777}.layui-form-switch{position:relative;display:inline-block;vertical-align:middle;height:22px;line-height:22px;min-width:35px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch i{position:absolute;left:5px;top:3px;width:16px;height:16px;border-radius:20px;background-color:#d2d2d2;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch em{position:relative;top:0;width:25px;margin-left:21px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.layui-form-onswitch{border-color:#16b777;background-color:#16b777}.layui-form-onswitch i{left:100%;margin-left:-21px;background-color:#fff}.layui-form-onswitch em{margin-left:0;margin-right:21px;color:#fff!important}.layui-checkbox-disabled{border-color:#eee!important}.layui-checkbox-disabled span{background-color:#eee!important}.layui-checkbox-disabled i{border-color:#eee!important}.layui-checkbox-disabled em{color:#d2d2d2!important}.layui-checkbox-disabled:hover i{color:#fff!important}[lay-radio]{display:none}.layui-form-radio{display:inline-block;vertical-align:middle;line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio *{display:inline-block;vertical-align:middle;font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:#c2c2c2}.layui-form-radio:hover *,.layui-form-radioed,.layui-form-radioed>i{color:#16b777}.layui-radio-disabled>i{color:#eee!important}.layui-radio-disabled *{color:#c2c2c2!important}.layui-form-pane .layui-form-label{width:110px;padding:8px 15px;height:38px;line-height:20px;border-width:1px;border-style:solid;border-radius:2px 0 0 2px;text-align:center;background-color:#fafafa;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}.layui-form-pane .layui-input-inline{margin-left:-1px}.layui-form-pane .layui-input-block{margin-left:110px;left:-1px}.layui-form-pane .layui-input{border-radius:0 2px 2px 0}.layui-form-pane .layui-form-text .layui-form-label{float:none;width:100%;border-radius:2px;box-sizing:border-box;text-align:left}.layui-form-pane .layui-form-text .layui-input-inline{display:block;margin:0;top:-1px;clear:both}.layui-form-pane .layui-form-text .layui-input-block{margin:0;left:0;top:-1px}.layui-form-pane .layui-form-text .layui-textarea{min-height:100px;border-radius:0 0 2px 2px}.layui-form-pane .layui-form-checkbox{margin:4px 0 4px 10px}.layui-form-pane .layui-form-radio,.layui-form-pane .layui-form-switch{margin-top:6px;margin-left:10px}.layui-form-pane .layui-form-item[pane]{position:relative;border-width:1px;border-style:solid}.layui-form-pane .layui-form-item[pane] .layui-form-label{position:absolute;left:0;top:0;height:100%;border-width:0;border-right-width:1px}.layui-form-pane .layui-form-item[pane] .layui-input-inline{margin-left:110px}@media screen and (max-width:450px){.layui-form-item .layui-form-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-form-item .layui-inline{display:block;margin-right:0;margin-bottom:20px;clear:both}.layui-form-item .layui-inline:after{content:'\20';clear:both;display:block;height:0}.layui-form-item .layui-input-inline{display:block;float:none;left:-3px;width:auto!important;margin:0 0 10px 112px}.layui-form-item .layui-input-inline+.layui-form-mid{margin-left:110px;top:-5px;padding:0}.layui-form-item .layui-form-checkbox{margin-right:5px;margin-bottom:5px}}.layui-laypage{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid #eee}.layui-laypage a,.layui-laypage span{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-laypage a[data-page]{color:#333}.layui-laypage a{text-decoration:none!important;cursor:pointer}.layui-laypage a:hover{color:#16baaa}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:#16baaa}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{display:inline-block;width:40px;margin:0 10px;padding:0 3px;text-align:center}.layui-laypage input:focus,.layui-laypage select:focus{border-color:#16baaa!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-flow-more{margin:10px 0;text-align:center;color:#999;font-size:14px;clear:both}.layui-flow-more a{height:32px;line-height:32px}.layui-flow-more a *{display:inline-block;vertical-align:top}.layui-flow-more a cite{padding:0 20px;border-radius:3px;background-color:#eee;color:#333;font-style:normal}.layui-flow-more a cite:hover{opacity:.8}.layui-flow-more a i{font-size:30px;color:#737383}.layui-table{width:100%;margin:10px 0;background-color:#fff;color:#5f5f5f}.layui-table tr{transition:all .3s;-webkit-transition:all .3s}.layui-table th{text-align:left;font-weight:600}.layui-table-mend{background-color:#fff}.layui-table-click,.layui-table-hover,.layui-table[lay-even] tbody tr:nth-child(even){background-color:#f8f8f8}.layui-table td,.layui-table th,.layui-table-col-set,.layui-table-fixed-r,.layui-table-grid-down,.layui-table-header,.layui-table-mend,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-total,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#eee}.layui-table td,.layui-table th{position:relative;padding:9px 15px;min-height:20px;line-height:20px;font-size:14px}.layui-table[lay-skin=line] td,.layui-table[lay-skin=line] th{border-width:0;border-bottom-width:1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0;border-right-width:1px}.layui-table[lay-skin=nob] td,.layui-table[lay-skin=nob] th{border:none}.layui-table img{max-width:100px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th{padding-top:15px;padding-right:30px;padding-bottom:15px;padding-left:30px}.layui-table-view .layui-table[lay-size=lg] .layui-table-cell{height:50px;line-height:40px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{padding-top:5px;padding-right:10px;padding-bottom:5px;padding-left:10px;font-size:12px}.layui-table-view .layui-table[lay-size=sm] .layui-table-cell{height:30px;line-height:20px;padding-top:5px;padding-left:11px;padding-right:11px}.layui-table[lay-data],.layui-table[lay-options]{display:none}.layui-table-box{position:relative;overflow:hidden}.layui-table-view{clear:both}.layui-table-view .layui-table{position:relative;width:auto;margin:0;border:0;border-collapse:separate}.layui-table-view .layui-table[lay-skin=line]{border-width:0;border-right-width:1px}.layui-table-view .layui-table[lay-skin=row]{border-width:0;border-bottom-width:1px}.layui-table-view .layui-table td,.layui-table-view .layui-table th{padding:0;border-top:none;border-left:none}.layui-table-view .layui-table th.layui-unselect .layui-table-cell span{cursor:pointer}.layui-table-view .layui-table td{cursor:default}.layui-table-view .layui-table td[data-edit]{cursor:text}.layui-table-view .layui-table td[data-edit]:hover:after{position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;border:1px solid #16b777;pointer-events:none;content:""}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px}.layui-table-view .layui-form-radio{line-height:0;padding:0}.layui-table-view .layui-form-radio>i{margin:0;font-size:20px}.layui-table-init{position:absolute;left:0;top:0;width:100%;height:100%;text-align:center;z-index:199}.layui-table-init .layui-icon{position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;font-size:30px;color:#c2c2c2}.layui-table-header{border-width:0;border-bottom-width:1px;overflow:hidden}.layui-table-header .layui-table{margin-bottom:-1px}.layui-table-column{position:relative;width:100%;min-height:41px;padding:8px 16px;border-width:0;border-bottom-width:1px}.layui-table-column .layui-btn-container{margin-bottom:-8px}.layui-table-column .layui-btn-container .layui-btn{margin-right:8px;margin-bottom:8px}.layui-table-tool .layui-inline[lay-event]{position:relative;width:26px;height:26px;padding:5px;line-height:16px;margin-right:10px;text-align:center;color:#333;border:1px solid #ccc;cursor:pointer;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool .layui-inline[lay-event]:hover{border:1px solid #999}.layui-table-tool-temp{padding-right:120px}.layui-table-tool-self{position:absolute;right:17px;top:10px}.layui-table-tool .layui-table-tool-self .layui-inline[lay-event]{margin:0 0 0 10px}.layui-table-tool-panel{position:absolute;top:29px;left:-1px;z-index:399;padding:5px 0!important;min-width:150px;min-height:40px;border:1px solid #d2d2d2;text-align:left;overflow-y:auto;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-table-tool-panel li{padding:0 10px;margin:0!important;line-height:30px;list-style-type:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{width:100%}.layui-table-tool-panel li:hover{background-color:#f8f8f8}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{padding-left:28px}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] i{position:absolute;left:0;top:0}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] span{padding:0}.layui-table-tool .layui-table-tool-self .layui-table-tool-panel{left:auto;right:-1px}.layui-table-col-set{position:absolute;right:0;top:0;width:20px;height:100%;border-width:0;border-left-width:1px;background-color:#fff}.layui-table-sort{width:10px;height:20px;margin-left:5px;cursor:pointer!important}.layui-table-sort .layui-edge{position:absolute;left:5px;border-width:5px}.layui-table-sort .layui-table-sort-asc{top:3px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#5f5f5f}.layui-table-sort .layui-table-sort-desc{bottom:5px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#5f5f5f}.layui-table-sort[lay-sort=asc] .layui-table-sort-asc{border-bottom-color:#000}.layui-table-sort[lay-sort=desc] .layui-table-sort-desc{border-top-color:#000}.layui-table-cell{height:38px;line-height:28px;padding:6px 15px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.layui-table-cell .layui-form-checkbox[lay-skin=primary]{top:-1px;padding:0}.layui-table-cell .layui-table-link{color:#01aaed}.layui-table-cell .layui-btn{vertical-align:inherit}.layui-table-cell[align=center]{-webkit-box-pack:center}.layui-table-cell[align=right]{-webkit-box-pack:end}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-radio,.laytable-cell-space{text-align:center;-webkit-box-pack:center}.layui-table-body{position:relative;overflow:auto;margin-right:-1px;margin-bottom:-1px}.layui-table-body .layui-none{line-height:26px;padding:30px 15px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0;z-index:101}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-fixed-l{box-shadow:1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r{left:auto;right:-1px;border-width:0;border-left-width:1px;box-shadow:-1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r .layui-table-header{position:relative;overflow:visible}.layui-table-mend{position:absolute;right:-49px;top:0;height:100%;width:50px;border-width:0;border-left-width:1px}.layui-table-tool{position:relative;width:100%;min-height:50px;line-height:30px;padding:10px 15px;border-width:0;border-bottom-width:1px}.layui-table-tool .layui-btn-container{margin-bottom:-10px}.layui-table-total{margin-bottom:-1px;border-width:0;border-top-width:1px;overflow:hidden}.layui-table-page{border-width:0;border-top-width:1px;margin-bottom:-1px;white-space:nowrap;overflow:hidden}.layui-table-page>div{height:26px}.layui-table-page .layui-laypage{margin:0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span{height:26px;line-height:26px;margin-bottom:10px;border:none;background:0 0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span.layui-laypage-curr{padding:0 12px}.layui-table-page .layui-laypage span{margin-left:0;padding:0}.layui-table-page .layui-laypage .layui-laypage-prev{margin-left:-11px!important}.layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em{left:0;top:0;padding:0}.layui-table-page .layui-laypage button,.layui-table-page .layui-laypage input{height:26px;line-height:26px}.layui-table-page .layui-laypage input{width:40px}.layui-table-page .layui-laypage button{padding:0 10px}.layui-table-page select{height:18px}.layui-table-pagebar{float:right;line-height:23px}.layui-table-pagebar .layui-btn-sm{margin-top:-1px}.layui-table-pagebar .layui-btn-xs{margin-top:2px}.layui-table-view select[lay-ignore]{display:inline-block}.layui-table-patch .layui-table-cell{padding:0;width:30px}.layui-table-edit{position:absolute;left:0;top:0;z-index:189;min-width:100%;min-height:100%;padding:5px 14px;border-radius:0;box-shadow:1px 1px 20px rgba(0,0,0,.15);background-color:#fff}.layui-table-edit:focus{border-color:#16b777!important}input.layui-input.layui-table-edit{height:100%}select.layui-table-edit{padding:0 0 0 10px;border-color:#d2d2d2}.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-radio,.layui-table-view .layui-form-switch{top:0;margin:0;box-sizing:content-box}.layui-table-view .layui-form-checkbox{top:-1px;height:26px;line-height:26px}.layui-table-view .layui-form-checkbox i{height:26px}.layui-table-grid .layui-table-cell{overflow:visible}.layui-table-grid-down{position:absolute;top:0;right:0;width:26px;height:100%;padding:5px 0;border-width:0;border-left-width:1px;text-align:center;background-color:#fff;color:#999;cursor:pointer}.layui-table-grid-down .layui-icon{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px}.layui-table-grid-down:hover{background-color:#fbfbfb}body .layui-table-tips .layui-layer-content{background:0 0;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.12)}.layui-table-tips-main{margin:-49px 0 0 -1px;max-height:150px;padding:8px 15px;font-size:14px;overflow-y:scroll;background-color:#fff;color:#5f5f5f}.layui-table-tips-c{position:absolute;right:-3px;top:-13px;width:20px;height:20px;padding:3px;cursor:pointer;background-color:#5f5f5f;border-radius:50%;color:#fff}.layui-table-tips-c:hover{background-color:#777}.layui-table-tips-c:before{position:relative;right:-2px}.layui-table-tree-nodeIcon{max-width:20px}.layui-table-tree-nodeIcon>*{width:100%}.layui-table-tree-flexIcon,.layui-table-tree-nodeIcon{margin-right:2px}.layui-table-tree-flexIcon{cursor:pointer}.layui-upload-file{display:none!important;opacity:.01;filter:Alpha(opacity=1)}.layui-upload-list{margin:11px 0}.layui-upload-choose{max-width:200px;padding:0 10px;color:#999;font-size:14px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-upload-drag{position:relative;display:inline-block;padding:30px;border:1px dashed #e2e2e2;background-color:#fff;text-align:center;cursor:pointer;color:#999}.layui-upload-drag .layui-icon{font-size:50px;color:#16baaa}.layui-upload-drag[lay-over]{border-color:#16baaa}.layui-upload-form{display:inline-block}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;display:inline-block;vertical-align:middle}.layui-upload-wrap .layui-upload-file{display:block!important;position:absolute;left:0;top:0;z-index:10;font-size:100px;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-btn-container .layui-upload-choose{padding-left:0}.layui-menu{position:relative;margin:5px 0;background-color:#fff;box-sizing:border-box}.layui-menu *{box-sizing:border-box}.layui-menu li,.layui-menu-body-title a{padding:5px 15px;color:initial}.layui-menu li{position:relative;margin:1px 0;width:calc(100% + 1px);line-height:26px;color:rgba(0,0,0,.8);font-size:14px;white-space:nowrap;cursor:pointer;transition:all .3s}.layui-menu li:hover{background-color:#f8f8f8}.layui-menu li.layui-disabled,.layui-menu li.layui-disabled *{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important}.layui-menu-item-parent:hover>.layui-menu-body-panel{display:block;animation-name:layui-fadein;animation-duration:.3s;animation-fill-mode:both;animation-delay:.2s}.layui-menu-item-group .layui-menu-body-title,.layui-menu-item-parent .layui-menu-body-title{padding-right:25px}.layui-menu .layui-menu-item-divider:hover,.layui-menu .layui-menu-item-group:hover,.layui-menu .layui-menu-item-none:hover{background:0 0;cursor:default}.layui-menu .layui-menu-item-group>ul{margin:5px 0 -5px}.layui-menu .layui-menu-item-group>.layui-menu-body-title{color:rgba(0,0,0,.35);user-select:none}.layui-menu .layui-menu-item-none{color:rgba(0,0,0,.35);cursor:default}.layui-menu .layui-menu-item-none{text-align:center}.layui-menu .layui-menu-item-divider{margin:5px 0;padding:0;height:0;line-height:0;border-bottom:1px solid #eee;overflow:hidden}.layui-menu .layui-menu-item-down:hover,.layui-menu .layui-menu-item-up:hover{cursor:pointer}.layui-menu .layui-menu-item-up>.layui-menu-body-title{color:rgba(0,0,0,.8)}.layui-menu .layui-menu-item-up>ul{visibility:hidden;height:0;overflow:hidden}.layui-menu .layui-menu-item-down:hover>.layui-menu-body-title>.layui-icon,.layui-menu .layui-menu-item-up>.layui-menu-body-title:hover>.layui-icon{color:#000}.layui-menu .layui-menu-item-down>ul{visibility:visible;height:auto}.layui-menu .layui-menu-item-checked,.layui-menu .layui-menu-item-checked2{background-color:#f8f8f8!important;color:#16b777}.layui-menu .layui-menu-item-checked a,.layui-menu .layui-menu-item-checked2 a{color:#16b777}.layui-menu .layui-menu-item-checked:after{position:absolute;right:0;top:0;bottom:0;border-right:3px solid #16b777;content:""}.layui-menu-body-title{position:relative;overflow:hidden;text-overflow:ellipsis}.layui-menu-body-title a{display:block;margin:-5px -15px;color:rgba(0,0,0,.8)}.layui-menu-body-title a:hover{transition:all .3s}.layui-menu-body-title>.layui-icon{position:absolute;right:0;top:0;font-size:14px}.layui-menu-body-title>.layui-icon:hover{transition:all .3s}.layui-menu-body-title>.layui-icon-right{right:-1px}.layui-menu-body-panel{display:none;position:absolute;top:-7px;left:100%;z-index:1000;margin-left:13px;padding:5px 0}.layui-menu-body-panel:before{content:"";position:absolute;width:20px;left:-16px;top:0;bottom:0}.layui-menu-body-panel-left{left:auto;right:100%;margin:0 13px 0}.layui-menu-body-panel-left:before{left:auto;right:-16px}.layui-menu-lg li{line-height:32px}.layui-menu-lg .layui-menu-body-title a:hover,.layui-menu-lg li:hover{background:0 0;color:#16b777}.layui-menu-lg li .layui-menu-body-panel{margin-left:14px}.layui-menu-lg li .layui-menu-body-panel-left{margin:0 15px 0}.layui-dropdown{position:absolute;left:-999999px;top:-999999px;z-index:77777777;margin:5px 0;min-width:100px}.layui-dropdown:before{content:"";position:absolute;width:100%;height:6px;left:0;top:-6px}.layui-dropdown-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px");position:fixed;_position:absolute;pointer-events:auto}.layui-nav{position:relative;padding:0 15px;background-color:#2f363c;color:#fff;border-radius:2px;font-size:0;box-sizing:border-box}.layui-nav *{font-size:14px}.layui-nav .layui-nav-item{position:relative;display:inline-block;*display:inline;*zoom:1;margin-top:0;list-style:none;vertical-align:middle;line-height:60px}.layui-nav .layui-nav-item a{display:block;padding:0 20px;color:#fff;color:rgba(255,255,255,.7);transition:all .3s;-webkit-transition:all .3s}.layui-nav .layui-this:after,.layui-nav-bar{content:"";position:absolute;left:0;top:0;width:0;height:3px;background-color:#16b777;transition:all .2s;-webkit-transition:all .2s;pointer-events:none}.layui-nav-bar{z-index:1000}.layui-nav[lay-bar=disabled] .layui-nav-bar{display:none}.layui-nav .layui-nav-item a:hover,.layui-nav .layui-this a{color:#fff;text-decoration:none}.layui-nav .layui-this:after{top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:10px;border-radius:50%}.layui-nav .layui-nav-more{position:absolute;top:0;right:3px;left:auto!important;margin-top:0;font-size:12px;cursor:pointer;transition:all .2s;-webkit-transition:all .2s}.layui-nav .layui-nav-mored,.layui-nav-itemed>a .layui-nav-more{transform:rotate(180deg)}.layui-nav-child{display:none;position:absolute;left:0;top:65px;min-width:100%;line-height:36px;padding:5px 0;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #eee;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap;box-sizing:border-box}.layui-nav .layui-nav-child a{color:#5f5f5f;color:rgba(0,0,0,.8)}.layui-nav .layui-nav-child a:hover{background-color:#f8f8f8;color:rgba(0,0,0,.8)}.layui-nav-child dd{margin:1px 0;position:relative}.layui-nav-child dd.layui-this{background-color:#f8f8f8;color:#000}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-child-r{left:auto;right:0}.layui-nav-child-c{text-align:center}.layui-nav.layui-nav-tree{width:200px;padding:0}.layui-nav-tree .layui-nav-item{display:block;width:100%;line-height:40px}.layui-nav-tree .layui-nav-item a{position:relative;height:40px;line-height:40px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-nav-tree .layui-nav-item>a{padding-top:5px;padding-bottom:5px}.layui-nav-tree .layui-nav-more{right:15px}.layui-nav-tree .layui-nav-item>a .layui-nav-more{padding:5px 0}.layui-nav-tree .layui-nav-bar{width:5px;height:0}.layui-side .layui-nav-tree .layui-nav-bar{width:2px}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-nav-child dd.layui-this a,.layui-nav-tree .layui-this,.layui-nav-tree .layui-this>a,.layui-nav-tree .layui-this>a:hover{background-color:#16baaa;color:#fff}.layui-nav-tree .layui-this:after{display:none}.layui-nav-itemed>a,.layui-nav-tree .layui-nav-title a,.layui-nav-tree .layui-nav-title a:hover{color:#fff!important}.layui-nav-tree .layui-nav-bar{background-color:#16baaa}.layui-nav-tree .layui-nav-child{position:relative;z-index:0;top:0;border:none;box-shadow:none}.layui-nav-tree .layui-nav-child dd{margin:0}.layui-nav-tree .layui-nav-child a{color:#fff;color:rgba(255,255,255,.7)}.layui-nav-tree .layui-nav-child,.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-itemed>.layui-nav-child{display:block;background-color:rgba(0,0,0,.3)!important}.layui-nav-itemed>.layui-nav-child>.layui-this>.layui-nav-child{display:block}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-nav-tree.layui-bg-gray a,.layui-nav.layui-bg-gray .layui-nav-item a{color:rgba(0,0,0,.8)}.layui-nav-tree.layui-bg-gray{padding:6px 0}.layui-nav-tree.layui-bg-gray .layui-nav-itemed>a{color:#000!important}.layui-nav.layui-bg-gray .layui-this a{color:#16b777}.layui-nav-tree.layui-bg-gray .layui-nav-itemed>.layui-nav-child{padding-left:11px;background:0 0!important}.layui-nav-tree.layui-bg-gray .layui-nav-item>a{padding-top:0;padding-bottom:0}.layui-nav-tree.layui-bg-gray .layui-nav-item>a .layui-nav-more{padding:0}.layui-nav-tree.layui-bg-gray .layui-nav-child dd.layui-this,.layui-nav-tree.layui-bg-gray .layui-nav-child dd.layui-this a,.layui-nav-tree.layui-bg-gray .layui-this,.layui-nav-tree.layui-bg-gray .layui-this>a{background:0 0!important;color:#16b777!important;font-weight:700}.layui-nav-tree.layui-bg-gray .layui-nav-bar{background-color:#16b777}.layui-breadcrumb{visibility:hidden;font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999!important}.layui-breadcrumb a:hover{color:#16b777!important}.layui-breadcrumb a cite{color:#5f5f5f;font-style:normal}.layui-breadcrumb span[lay-separator]{margin:0 10px;color:#999}.layui-tab{margin:10px 0;text-align:left!important}.layui-tab[overflow]>.layui-tab-title{overflow:hidden}.layui-tab .layui-tab-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;border-bottom-width:1px;border-bottom-style:solid;transition:all .2s;-webkit-transition:all .2s}.layui-tab .layui-tab-title li{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;font-size:14px;transition:all .2s;-webkit-transition:all .2s}.layui-tab .layui-tab-title li{position:relative;line-height:40px;min-width:65px;margin:0;padding:0 15px;text-align:center;cursor:pointer}.layui-tab .layui-tab-title li a{display:block;padding:0 15px;margin:0 -15px}.layui-tab-title .layui-this{color:#000}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:"";width:100%;height:41px;border-width:1px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none}.layui-tab-bar{position:absolute;right:0;top:0;z-index:10;width:30px;height:39px;line-height:39px;border-width:1px;border-style:solid;border-radius:2px;text-align:center;background-color:#fff;cursor:pointer}.layui-tab-bar .layui-icon{position:relative;display:inline-block;top:3px;transition:all .3s;-webkit-transition:all .3s}.layui-tab-item{display:none}.layui-tab-more{padding-right:30px;height:auto!important;white-space:normal!important}.layui-tab-more li.layui-this:after{border-bottom-color:#eee;border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;top:3px\0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}:root .layui-tab-more .layui-tab-bar .layui-icon{top:-2px\0/IE9}.layui-tab-content{padding:15px 0}.layui-tab-title li .layui-tab-close{position:relative;display:inline-block;width:18px;height:18px;line-height:20px;margin-left:8px;top:1px;text-align:center;font-size:14px;color:#c2c2c2;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li .layui-tab-close:hover{border-radius:2px;background-color:#ff5722;color:#fff}.layui-tab-brief>.layui-tab-title .layui-this{color:#16baaa}.layui-tab-brief>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-title .layui-this:after{border:none;border-radius:0;border-bottom:2px solid #16b777}.layui-tab-brief[overflow]>.layui-tab-title .layui-this:after{top:-1px}.layui-tab-card{border-width:1px;border-style:solid;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,.1)}.layui-tab-card>.layui-tab-title{background-color:#fafafa}.layui-tab-card>.layui-tab-title li{margin-right:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-title .layui-this{background-color:#fff}.layui-tab-card>.layui-tab-title .layui-this:after{border-top:none;border-width:1px;border-bottom-color:#fff}.layui-tab-card>.layui-tab-title .layui-tab-bar{height:40px;line-height:40px;border-radius:0;border-top:none;border-right:none}.layui-tab-card>.layui-tab-more .layui-this{background:0 0;color:#16b777}.layui-tab-card>.layui-tab-more .layui-this:after{border:none}.layui-timeline{padding-left:5px}.layui-timeline-item{position:relative;padding-bottom:20px}.layui-timeline-axis{position:absolute;left:-5px;top:0;z-index:10;width:20px;height:20px;line-height:20px;background-color:#fff;color:#16b777;border-radius:50%;text-align:center;cursor:pointer}.layui-timeline-axis:hover{color:#ff5722}.layui-timeline-item:before{content:"";position:absolute;left:5px;top:0;z-index:0;width:1px;height:100%}.layui-timeline-item:first-child:before{display:block}.layui-timeline-item:last-child:before{display:none}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px;line-height:22px}.layui-badge,.layui-badge-dot,.layui-badge-rim{position:relative;display:inline-block;padding:0 6px;font-size:12px;text-align:center;background-color:#ff5722;color:#fff;border-radius:2px}.layui-badge{height:18px;line-height:18px}.layui-badge-dot{width:8px;height:8px;padding:0;border-radius:50%}.layui-badge-rim{height:18px;line-height:18px;border-width:1px;border-style:solid;background-color:#fff;color:#5f5f5f}.layui-btn .layui-badge,.layui-btn .layui-badge-dot{margin-left:5px}.layui-nav .layui-badge,.layui-nav .layui-badge-dot{position:absolute;top:50%;margin:-5px 6px 0}.layui-nav .layui-badge{margin-top:-10px}.layui-tab-title .layui-badge,.layui-tab-title .layui-badge-dot{left:5px;top:-2px}.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:'\e63d';left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:#c2c2c2;font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;transition-duration:.3s;-webkit-transition-duration:.3s}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\0;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:none 0;border-radius:50%;background-color:rgba(0,0,0,.2);color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:rgba(0,0,0,.35)}.layui-carousel:hover .layui-carousel-arrow{display:block\0;opacity:1;left:20px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:rgba(0,0,0,.5)}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:rgba(0,0,0,.2);border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind ul li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:#eee;background-color:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind ul li:hover{background-color:rgba(255,255,255,.7)}.layui-carousel-ind ul li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top:100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}.layui-fixbar{position:fixed;right:16px;bottom:16px;z-index:999999}.layui-fixbar li{width:50px;height:50px;line-height:50px;margin-bottom:1px;text-align:center;cursor:pointer;font-size:30px;background-color:#9f9f9f;color:#fff;border-radius:2px;opacity:.95}.layui-fixbar li:hover{opacity:.85}.layui-fixbar li:active{opacity:1}.layui-fixbar .layui-fixbar-top{display:none;font-size:40px}body .layui-util-face{border:none;background:0 0}body .layui-util-face .layui-layer-content{padding:0;background-color:#fff;color:#5f5f5f;box-shadow:none}.layui-util-face .layui-layer-TipsG{display:none}.layui-util-face ul{position:relative;width:372px;padding:10px;border:1px solid #d9d9d9;background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.2)}.layui-util-face ul li{cursor:pointer;float:left;border:1px solid #e8e8e8;height:22px;width:26px;overflow:hidden;margin:-1px 0 0 -1px;padding:4px 2px;text-align:center}.layui-util-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layui-code{position:relative;margin:10px 0;padding:15px;line-height:20px;border:1px solid #eee;border-left-width:6px;background-color:#fafafa;color:#333;font-family:Courier New,Lucida Console,Consolas;font-size:12px}.layui-transfer-box,.layui-transfer-header,.layui-transfer-search{border-width:0;border-style:solid;border-color:#eee}.layui-transfer-box{position:relative;display:inline-block;vertical-align:middle;border-width:1px;width:200px;height:360px;border-radius:2px;background-color:#fff}.layui-transfer-box .layui-form-checkbox{width:100%;margin:0!important}.layui-transfer-header{height:38px;line-height:38px;padding:0 11px;border-bottom-width:1px}.layui-transfer-search{position:relative;padding:11px;border-bottom-width:1px}.layui-transfer-search .layui-input{height:32px;padding-left:30px;font-size:12px}.layui-transfer-search .layui-icon-search{position:absolute;left:20px;top:50%;line-height:normal;margin-top:-8px;color:#5f5f5f}.layui-transfer-active{margin:0 15px;display:inline-block;vertical-align:middle}.layui-transfer-active .layui-btn{display:block;margin:0;padding:0 15px;background-color:#16b777;border-color:#16b777;color:#fff}.layui-transfer-active .layui-btn-disabled{background-color:#fbfbfb;border-color:#eee;color:#d2d2d2}.layui-transfer-active .layui-btn:first-child{margin-bottom:15px}.layui-transfer-active .layui-btn .layui-icon{margin:0;font-size:14px!important}.layui-transfer-data{padding:5px 0;overflow:auto}.layui-transfer-data li{height:32px;line-height:32px;margin-top:0!important;padding:0 11px;list-style-type:none!important}.layui-transfer-data li:hover{background-color:#f8f8f8;transition:.5s all}.layui-transfer-data .layui-none{padding:15px 11px;text-align:center;color:#999}.layui-rate,.layui-rate *{display:inline-block;vertical-align:middle}.layui-rate{padding:11px 6px 11px 0;font-size:0}.layui-rate li{margin-top:0!important}.layui-rate li i.layui-icon{font-size:20px;color:#ffb800}.layui-rate li i.layui-icon{margin-right:5px;transition:all .3s;-webkit-transition:all .3s}.layui-rate li i:hover{cursor:pointer;transform:scale(1.12);-webkit-transform:scale(1.12)}.layui-rate[readonly] li i:hover{cursor:default;transform:scale(1)}.layui-colorpicker{width:38px;height:38px;border:1px solid #eee;padding:5px;border-radius:2px;line-height:24px;display:inline-block;cursor:pointer;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-colorpicker:hover{border-color:#d2d2d2}.layui-colorpicker.layui-colorpicker-lg{width:44px;height:44px;line-height:30px}.layui-colorpicker.layui-colorpicker-sm{width:30px;height:30px;line-height:20px;padding:3px}.layui-colorpicker.layui-colorpicker-xs{width:22px;height:22px;line-height:16px;padding:1px}.layui-colorpicker-trigger-bgcolor{display:block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);border-radius:2px}.layui-colorpicker-trigger-span{display:block;height:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:2px;text-align:center}.layui-colorpicker-trigger-i{display:inline-block;color:#fff;font-size:12px}.layui-colorpicker-trigger-i.layui-icon-close{color:#999}.layui-colorpicker-main{position:absolute;left:-999999px;top:-999999px;z-index:77777777;width:280px;margin:5px 0;padding:7px;background:#fff;border:1px solid #d2d2d2;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-colorpicker-main-wrapper{height:180px;position:relative}.layui-colorpicker-basis{width:260px;height:100%;position:relative}.layui-colorpicker-basis-white{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.layui-colorpicker-basis-black{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(0deg,#000,transparent)}.layui-colorpicker-basis-cursor{width:10px;height:10px;border:1px solid #fff;border-radius:50%;position:absolute;top:-3px;right:-3px;cursor:pointer}.layui-colorpicker-side{position:absolute;top:0;right:0;width:12px;height:100%;background:linear-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.layui-colorpicker-side-slider{width:100%;height:5px;box-shadow:0 0 1px #888;box-sizing:border-box;background:#fff;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;left:0}.layui-colorpicker-main-alpha{display:none;height:12px;margin-top:7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-alpha-bgcolor{height:100%;position:relative}.layui-colorpicker-alpha-slider{width:5px;height:100%;box-shadow:0 0 1px #888;box-sizing:border-box;background:#fff;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;top:0}.layui-colorpicker-main-pre{padding-top:7px;font-size:0}.layui-colorpicker-pre{width:20px;height:20px;border-radius:2px;display:inline-block;margin-left:6px;margin-bottom:7px;cursor:pointer}.layui-colorpicker-pre:nth-child(11n+1){margin-left:0}.layui-colorpicker-pre-isalpha{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-pre.layui-this{box-shadow:0 0 3px 2px rgba(0,0,0,.15)}.layui-colorpicker-pre>div{height:100%;border-radius:2px}.layui-colorpicker-main-input{text-align:right;padding-top:7px}.layui-colorpicker-main-input .layui-btn-container .layui-btn{margin:0 0 0 10px}.layui-colorpicker-main-input div.layui-inline{float:left;margin-right:10px;font-size:14px}.layui-colorpicker-main-input input.layui-input{width:150px;height:30px;color:#5f5f5f}.layui-slider{height:4px;background:#eee;border-radius:3px;position:relative;cursor:pointer}.layui-slider-bar{border-radius:3px;position:absolute;height:100%}.layui-slider-step{position:absolute;top:0;width:4px;height:4px;border-radius:50%;background:#fff;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.layui-slider-wrap{width:36px;height:36px;position:absolute;top:-16px;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10;text-align:center}.layui-slider-wrap-btn{width:12px;height:12px;border-radius:50%;background:#fff;display:inline-block;vertical-align:middle;cursor:pointer;transition:.3s}.layui-slider-wrap:after{content:"";height:100%;display:inline-block;vertical-align:middle}.layui-slider-wrap-btn.layui-slider-hover,.layui-slider-wrap-btn:hover{transform:scale(1.2)}.layui-slider-wrap-btn.layui-disabled:hover{transform:scale(1)!important}.layui-slider-tips{position:absolute;top:-42px;z-index:77777777;white-space:nowrap;display:none;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:#fff;background:#000;border-radius:3px;height:25px;line-height:25px;padding:0 10px}.layui-slider-tips:after{content:"";position:absolute;bottom:-12px;left:50%;margin-left:-6px;width:0;height:0;border-width:6px;border-style:solid;border-color:#000 transparent transparent transparent}.layui-slider-input{width:70px;height:32px;border:1px solid #eee;border-radius:3px;font-size:16px;line-height:32px;position:absolute;right:0;top:-14px}.layui-slider-input-btn{position:absolute;top:0;right:0;width:20px;height:100%;border-left:1px solid #eee}.layui-slider-input-btn i{cursor:pointer;position:absolute;right:0;bottom:0;width:20px;height:50%;font-size:12px;line-height:16px;text-align:center;color:#999}.layui-slider-input-btn i:first-child{top:0;border-bottom:1px solid #eee}.layui-slider-input-txt{height:100%;font-size:14px}.layui-slider-input-txt input{height:100%;border:none}.layui-slider-input-btn i:hover{color:#16baaa}.layui-slider-vertical{width:4px;margin-left:33px}.layui-slider-vertical .layui-slider-bar{width:4px}.layui-slider-vertical .layui-slider-step{top:auto;left:0;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-wrap{top:auto;left:-16px;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-tips{top:auto;left:2px}@media \0screen{.layui-slider-wrap-btn{margin-left:-20px}.layui-slider-vertical .layui-slider-wrap-btn{margin-left:0;margin-bottom:-20px}.layui-slider-vertical .layui-slider-tips{margin-left:-8px}.layui-slider>span{margin-left:8px}}.layui-tree{line-height:22px}.layui-tree .layui-form-checkbox{margin:0!important}.layui-tree-set{width:100%;position:relative}.layui-tree-pack{display:none;padding-left:20px;position:relative}.layui-tree-line .layui-tree-pack{padding-left:27px}.layui-tree-line .layui-tree-set .layui-tree-set:after{content:"";position:absolute;top:14px;left:-9px;width:17px;height:0;border-top:1px dotted #c0c4cc}.layui-tree-entry{position:relative;padding:3px 0;height:20px;white-space:nowrap}.layui-tree-entry:hover{background-color:#eee}.layui-tree-line .layui-tree-entry:hover{background-color:rgba(0,0,0,0)}.layui-tree-line .layui-tree-entry:hover .layui-tree-txt{color:#999;text-decoration:underline;transition:.3s}.layui-tree-main{display:inline-block;vertical-align:middle;cursor:pointer;padding-right:10px}.layui-tree-line .layui-tree-set:before{content:"";position:absolute;top:0;left:-9px;width:0;height:100%;border-left:1px dotted #c0c4cc}.layui-tree-line .layui-tree-set.layui-tree-setLineShort:before{height:13px}.layui-tree-line .layui-tree-set.layui-tree-setHide:before{height:0}.layui-tree-iconClick{display:inline-block;vertical-align:middle;position:relative;height:20px;line-height:20px;margin:0 10px;color:#c0c4cc}.layui-tree-icon{height:12px;line-height:12px;width:12px;text-align:center;border:1px solid #c0c4cc}.layui-tree-iconClick .layui-icon{font-size:18px}.layui-tree-icon .layui-icon{font-size:12px;color:#5f5f5f}.layui-tree-iconArrow{padding:0 5px}.layui-tree-iconArrow:after{content:"";position:absolute;left:4px;top:3px;z-index:100;width:0;height:0;border-width:5px;border-style:solid;border-color:transparent transparent transparent #c0c4cc;transition:.5s}.layui-tree-spread>.layui-tree-entry .layui-tree-iconClick>.layui-tree-iconArrow:after{transform:rotate(90deg) translate(3px,4px)}.layui-tree-txt{display:inline-block;vertical-align:middle;color:#555}.layui-tree-search{margin-bottom:15px;color:#5f5f5f}.layui-tree-btnGroup{visibility:hidden;display:inline-block;vertical-align:middle;position:relative}.layui-tree-btnGroup .layui-icon{display:inline-block;vertical-align:middle;padding:0 2px;cursor:pointer}.layui-tree-btnGroup .layui-icon:hover{color:#999;transition:.3s}.layui-tree-entry:hover .layui-tree-btnGroup{visibility:visible}.layui-tree-editInput{position:relative;display:inline-block;vertical-align:middle;height:20px;line-height:20px;padding:0 3px;border:none;background-color:rgba(0,0,0,.05)}.layui-tree-emptyText{text-align:center;color:#999}.layui-anim{-webkit-animation-duration:.3s;-webkit-animation-fill-mode:both;animation-duration:.3s;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.layui-trans,.layui-trans a{transition:all .2s;-webkit-transition:all .2s}@-webkit-keyframes layui-rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes layui-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.layui-anim-rotate{-webkit-animation-name:layui-rotate;animation-name:layui-rotate;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes layui-up{from{-webkit-transform:translate3d(0,100%,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-up{from{transform:translate3d(0,100%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-up{-webkit-animation-name:layui-up;animation-name:layui-up}@-webkit-keyframes layui-upbit{from{-webkit-transform:translate3d(0,15px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{from{transform:translate3d(0,15px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@keyframes layui-down{0%{opacity:.3;transform:translate3d(0,-100%,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-anim-down{animation-name:layui-down}@keyframes layui-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-anim-downbit{animation-name:layui-downbit}@-webkit-keyframes layui-scale{0%{opacity:.3;-webkit-transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale{0%{opacity:.3;-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-ms-transform:scale(1);transform:scale(1)}}.layui-anim-scale{-webkit-animation-name:layui-scale;animation-name:layui-scale}@-webkit-keyframes layui-scale-spring{0%{opacity:.5;-webkit-transform:scale(.5)}80%{opacity:.8;-webkit-transform:scale(1.1)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale-spring{0%{opacity:.5;transform:scale(.5)}80%{opacity:.8;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.layui-anim-scaleSpring{-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}@keyframes layui-scalesmall{0%{opacity:.3;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}.layui-anim-scalesmall{animation-name:layui-scalesmall}@keyframes layui-scalesmall-spring{0%{opacity:.3;transform:scale(1.5)}80%{opacity:.8;transform:scale(.9)}100%{opacity:1;transform:scale(1)}}.layui-anim-scalesmall-spring{animation-name:layui-scalesmall-spring}@-webkit-keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}@keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}.layui-anim-fadein{-webkit-animation-name:layui-fadein;animation-name:layui-fadein}@-webkit-keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}@keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}.layui-anim-fadeout{-webkit-animation-name:layui-fadeout;animation-name:layui-fadeout}html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-view{display:block;position:relative;margin:11px 0;padding:0;border:1px solid #eee;border-left-width:6px;background-color:#fafafa;color:#333;font-family:Courier New;font-size:13px}.layui-code-title{position:relative;padding:0 10px;height:40px;line-height:40px;border-bottom:1px solid #eee;font-size:12px}.layui-code-title>.layui-code-about{position:absolute;right:10px;top:0;color:#b7b7b7}.layui-code-about>a{padding-left:10px}.layui-code-view>.layui-code-ol,.layui-code-view>.layui-code-ul{max-height:100%;padding:0!important;position:relative;overflow:auto}.layui-code-view>.layui-code-ol>li{position:relative;margin-top:0!important;margin-left:45px!important;line-height:20px;padding:0 10px!important;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view>.layui-code-ol>li:first-child,.layui-code-view>.layui-code-ul>li:first-child{padding-top:10px!important}.layui-code-view>.layui-code-ol>li:last-child,.layui-code-view>.layui-code-ul>li:last-child{padding-bottom:10px!important}.layui-code-view>.layui-code-ul>li{position:relative;line-height:20px;padding:0 10px!important;list-style-type:none;*list-style-type:none;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-dark{border:1px solid #0c0c0c;border-left-color:#3f3f3f;background-color:#0c0c0c;color:#c2be9e}.layui-code-dark>.layui-code-title{border-bottom:none}.layui-code-dark>.layui-code-ol>li,.layui-code-dark>.layui-code-ul>li{background-color:#3f3f3f;border-left:none}.layui-code-dark>.layui-code-ul>li{margin-left:6px}.layui-code textarea{display:none}.layui-code-preview>.layui-code{margin:0}.layui-code-preview>.layui-tab{position:relative;z-index:1;margin-bottom:0}.layui-code-preview>.layui-tab>.layui-tab-title{border-bottom:none}.layui-code-preview>.layui-code>.layui-code-title{display:none}.layui-code-preview .layui-code-item{display:none}.layui-code-item-preview{position:relative;padding:16px}.layui-code-item-preview>iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.layui-code-tools{position:absolute;right:11px;top:3px}.layui-code-tools>i{display:inline-block;margin-left:6px;padding:3px;cursor:pointer}.layui-code-full{position:fixed;left:0;top:0;z-index:1111111;width:100%;height:100%;background-color:#fff}.layui-code-full .layui-code-item{width:100%!important;border-width:0!important;border-top-width:1px!important}.layui-code-full .layui-code-item,.layui-code-full .layui-code-ol,.layui-code-full .layui-code-ul{height:calc(100vh - 51px)!important;box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate,.layui-laydate *{box-sizing:border-box}.layui-laydate{position:absolute;z-index:99999999;margin:5px 0;border-radius:2px;font-size:14px;line-height:normal;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}.layui-laydate-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px");position:fixed;_position:absolute;pointer-events:auto}@keyframes laydate-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-laydate{animation-name:laydate-downbit}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;padding:0 5px;color:#999;font-size:18px;cursor:pointer}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-set-ym span{padding:0 10px;cursor:pointer}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:0;text-align:center}.layui-laydate-content th{font-weight:400}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.laydate-day-holidays:before{position:absolute;left:0;top:0;font-size:12px;transform:scale(.7)}.laydate-day-holidays:before{content:'\4F11';color:#ff5722}.laydate-day-holidays[type=work]:before{content:'\73ED';color:inherit}.layui-laydate .layui-this .laydate-day-holidays:before{color:#fff}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px}.layui-laydate-footer span{display:inline-block;vertical-align:top;height:26px;line-height:24px;padding:0 10px;border:1px solid #c9c9c9;border-radius:2px;background-color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .3s}.layui-laydate-footer span:hover{color:#16b777}.layui-laydate-footer span.layui-laydate-preview{cursor:default;border-color:transparent!important}.layui-laydate-footer span.layui-laydate-preview:hover{color:#777}.layui-laydate-footer span:first-child.layui-laydate-preview{padding-left:0}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{margin:0 0 0 -1px;border-radius:0}.laydate-footer-btns span:first-child{border-radius:2px 0 0 2px}.laydate-footer-btns span:last-child{border-radius:0 2px 2px 0}.layui-laydate-shortcut{width:80px;padding:6px 0;display:inline-block;vertical-align:top;overflow:auto;max-height:276px;text-align:center}.layui-laydate-shortcut+.layui-laydate-main{display:inline-block;border-left:1px solid #e2e2e2}.layui-laydate-shortcut>li{padding:5px 8px;cursor:pointer;line-height:18px}.layui-laydate .layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;box-sizing:border-box;background-color:#fff}.layui-laydate .layui-laydate-list>li{position:relative;display:inline-block;width:33.3%;height:36px;line-height:36px;margin:3px 0;vertical-align:middle;text-align:center;cursor:pointer;list-style:none}.layui-laydate .laydate-month-list>li{width:25%;margin:17px 0}.layui-laydate .laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.layui-laydate .laydate-time-list p{position:relative;top:-4px;margin:0;line-height:29px}.layui-laydate .laydate-time-list ol{height:181px;overflow:hidden}.layui-laydate .laydate-time-list>li:hover ol{overflow-y:auto}.layui-laydate .laydate-time-list ol li{width:130%;padding-left:33px;height:30px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px;color:#ff5722}.layui-laydate-range{width:546px}.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle;max-width:50%}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content,.layui-laydate-range .laydate-main-list-1 .layui-laydate-header{border-left:1px solid #e2e2e2}.layui-laydate-range.layui-laydate-linkage .laydate-main-list-0 .laydate-next-m,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-0 .laydate-next-y,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range.layui-laydate-linkage .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#777}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#16b777}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{color:#333}.layui-laydate-content td{color:#777}.layui-laydate-content td.laydate-day-now{color:#16b777}.layui-laydate-content td.laydate-day-now:after{content:'';position:absolute;width:100%;height:30px;left:0;top:0;border:1px solid #16b777;box-sizing:border-box}.layui-laydate-linkage .layui-laydate-content td.laydate-selected>div{background-color:#00f7de}.layui-laydate-linkage .laydate-selected:hover>div{background-color:#00f7de!important}.layui-laydate-content td.laydate-selected:after,.layui-laydate-content td:hover:after{content:none}.layui-laydate-content td>div:hover,.layui-laydate-list li:hover,.layui-laydate-shortcut>li:hover{background-color:#eee;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.layui-laydate-linkage .laydate-selected.laydate-day-next>div,.layui-laydate-linkage .laydate-selected.laydate-day-prev>div{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#ff5722}.laydate-day-mark::after{background-color:#16b777}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#16b777}.layui-laydate .layui-this,.layui-laydate .layui-this>div{background-color:#16baaa!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content td>div{padding:7px 0;height:100%}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#16baaa}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead{border:1px solid #e2e2e2}.layui-laydate-linkage.laydate-theme-grid .laydate-selected,.layui-laydate-linkage.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#16baaa!important}.layui-laydate-linkage.laydate-theme-grid .laydate-selected.laydate-day-next,.layui-laydate-linkage.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}.laydate-theme-grid .layui-laydate-content td>div{height:29px;margin-top:-1px}.laydate-theme-circle .layui-laydate-content td.layui-this>div,.laydate-theme-circle .layui-laydate-content td>div{width:28px;height:28px;line-height:28px;border-radius:14px;margin:0 4px;padding:0}.layui-laydate.laydate-theme-circle .layui-laydate-content table td.layui-this{background-color:transparent!important}.laydate-theme-grid.laydate-theme-circle .layui-laydate-content td>div{margin:0 3.5px}.laydate-theme-fullpanel .layui-laydate-main{width:526px}.laydate-theme-fullpanel .layui-laydate-list{width:252px;left:272px}.laydate-theme-fullpanel .laydate-set-ym span{display:none}.laydate-theme-fullpanel .laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-theme-fullpanel .laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-theme-fullpanel .laydate-time-show .layui-laydate-header .layui-icon{display:inline-block!important}.laydate-theme-fullpanel .laydate-btns-time{display:none}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch}.layui-layer{top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #b2b2b2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-btn a,.layui-layer-setwin span{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes layer-slide-down{from{transform:translate3d(0,-100%,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-down-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-100%,0)}}.layer-anim-slide-down{animation-name:layer-slide-down}.layer-anim-slide-down-out{animation-name:layer-slide-down-out}@keyframes layer-slide-left{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-left-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}.layer-anim-slide-left{animation-name:layer-slide-left}.layer-anim-slide-left-out{animation-name:layer-slide-left-out}@keyframes layer-slide-up{from{transform:translate3d(0,100%,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-up-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,100%,0)}}.layer-anim-slide-up{animation-name:layer-slide-up}.layer-anim-slide-up-out{animation-name:layer-slide-up-out}@keyframes layer-slide-right{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(0,0,0)}}@keyframes layer-slide-right-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(-100%,0,0)}}.layer-anim-slide-right{animation-name:layer-slide-right}.layer-anim-slide-right-out{animation-name:layer-slide-right-out}.layui-layer-title{padding:0 81px 0 16px;height:50px;line-height:50px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:16px;font-size:0;line-height:initial}.layui-layer-setwin span{position:relative;width:16px;height:16px;line-height:18px;margin-left:10px;text-align:center;font-size:16px;cursor:pointer;color:#000;_overflow:hidden}.layui-layer-setwin .layui-layer-min:before{content:'';position:absolute;width:12px;height:1px;left:50%;top:50%;margin:-.5px 0 0 -6px;background-color:#2e2d3c;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover:before{background-color:#2d93ca}.layui-layer-setwin .layui-layer-max:after,.layui-layer-setwin .layui-layer-max:before{content:'';position:absolute;left:50%;top:50%;z-index:1;width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #2e2d3c}.layui-layer-setwin .layui-layer-max:hover:after,.layui-layer-setwin .layui-layer-max:hover:before{border-color:#2d93ca}.layui-layer-setwin .layui-layer-min:hover:before{background-color:#2d93ca}.layui-layer-setwin .layui-layer-maxmin:after,.layui-layer-setwin .layui-layer-maxmin:before{width:7px;height:7px;margin:-3px 0 0 -3px;background-color:#fff}.layui-layer-setwin .layui-layer-maxmin:after{z-index:0;margin:-5px 0 0 -1px}.layui-layer-setwin .layui-layer-close{cursor:pointer}.layui-layer-setwin .layui-layer-close:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;color:#fff;background-color:#787878;padding:3px;border:3px solid;width:18px;height:18px;font-size:18px;font-weight:bolder;border-radius:50%;margin-left:0;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{opacity:unset;background-color:#3888f6}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1e9fff;background-color:#1e9fff;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:240px}.layui-layer-dialog .layui-layer-content{position:relative;padding:16px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-face{position:absolute;top:18px;left:16px;color:#959595;font-size:32px;_left:-40px}.layui-layer-dialog .layui-layer-content .layui-icon-tips{color:#f39b12}.layui-layer-dialog .layui-layer-content .layui-icon-success{color:#16b777}.layui-layer-dialog .layui-layer-content .layui-icon-error{top:19px;color:#ff5722}.layui-layer-dialog .layui-layer-content .layui-icon-question{color:#ffb800}.layui-layer-dialog .layui-layer-content .layui-icon-lock{color:#787878}.layui-layer-dialog .layui-layer-content .layui-icon-face-cry{color:#ff5722}.layui-layer-dialog .layui-layer-content .layui-icon-face-smile{color:#16b777}.layui-layer-rim{border:6px solid #8d8d8d;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #d3d4d3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-close{color:#fff}.layui-layer-hui .layui-layer-content{padding:11px 24px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:18px 24px 18px 58px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:76px;height:38px;line-height:38px;text-align:center}.layui-layer-loading-icon{font-size:38px;color:#959595}.layui-layer-loading2{text-align:center}.layui-layer-loading-2{position:relative;height:38px}.layui-layer-loading-2:after,.layui-layer-loading-2:before{content:'';position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:3px solid #d2d2d2;box-sizing:border-box}.layui-layer-loading-2:after{border-color:transparent;border-left-color:#1e9fff}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan .layui-layer-title{background:#4476a7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #e9e7e7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#e9e7e7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#c9c5c5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92b8b1}.layui-layer-lan .layui-layer-setwin .layui-icon,.layui-layer-molv .layui-layer-setwin .layui-icon{color:#fff}.layui-layer-win10{border:1px solid #aaa;box-shadow:1px 1px 6px rgba(0,0,0,.3);border-radius:none}.layui-layer-win10 .layui-layer-title{height:32px;line-height:32px;padding-left:8px;border-bottom:none;font-size:12px}.layui-layer-win10 .layui-layer-setwin{right:0;top:0}.layui-layer-win10 .layui-layer-setwin span{margin-left:0;padding:8px}.layui-layer-win10.layui-layer-page .layui-layer-setwin span{padding:8px 11px}.layui-layer-win10 .layui-layer-setwin span:hover{background-color:#e5e5e5}.layui-layer-win10 .layui-layer-setwin span.layui-icon-close:hover{background-color:#e81123;color:#fff}.layui-layer-win10.layui-layer-dialog .layui-layer-content{padding:8px 16px 32px;color:#0033bc}.layui-layer-win10.layui-layer-dialog .layui-layer-padding{padding-top:18px;padding-left:58px}.layui-layer-win10 .layui-layer-btn{padding:5px 5px 10px;border-top:1px solid #dfdfdf;background-color:#f0f0f0}.layui-layer-win10 .layui-layer-btn a{height:18px;line-height:18px;background-color:#e1e1e1;border-color:#adadad;color:#000;font-size:12px;transition:all .3s}.layui-layer-win10 .layui-layer-btn a:hover{border-color:#2a8edd;background-color:#e5f1fb}.layui-layer-win10 .layui-layer-btn .layui-layer-btn0{border-color:#0078d7}.layui-layer-prompt .layui-layer-input{display:block;width:260px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:16px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:300px;padding:0 16px;text-align:center;cursor:default;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:51px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{background:0 0;box-shadow:none}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgnext,.layui-layer-imgprev{position:fixed;top:50%;width:52px;height:52px;line-height:52px;margin-top:-26px;cursor:pointer;font-size:52px;color:#717171}.layui-layer-imgprev{left:32px}.layui-layer-imgnext{right:32px}.layui-layer-imgnext:hover,.layui-layer-imgprev:hover{color:#959595}.layui-layer-imgbar{position:fixed;left:0;right:0;bottom:0;width:100%;height:40px;line-height:40px;background-color:#000\9;filter:Alpha(opacity=60);background-color:rgba(2,0,0,.35);color:#fff;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;padding:0 5px;font-size:12px;color:#fff}.layui-layer-imgtit h3{max-width:65%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-weight:300}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}} \ No newline at end of file diff --git a/static/layui/font/iconfont.eot b/static/layui/font/iconfont.eot new file mode 100644 index 0000000..c81bcbd Binary files /dev/null and b/static/layui/font/iconfont.eot differ diff --git a/static/layui/font/iconfont.svg b/static/layui/font/iconfont.svg new file mode 100644 index 0000000..f6c5af1 --- /dev/null +++ b/static/layui/font/iconfont.svg @@ -0,0 +1,405 @@ + + + + Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/layui/font/iconfont.ttf b/static/layui/font/iconfont.ttf new file mode 100644 index 0000000..1272795 Binary files /dev/null and b/static/layui/font/iconfont.ttf differ diff --git a/static/layui/font/iconfont.woff b/static/layui/font/iconfont.woff new file mode 100644 index 0000000..76a4b9f Binary files /dev/null and b/static/layui/font/iconfont.woff differ diff --git a/static/layui/font/iconfont.woff2 b/static/layui/font/iconfont.woff2 new file mode 100644 index 0000000..1855e43 Binary files /dev/null and b/static/layui/font/iconfont.woff2 differ diff --git a/static/layui/layui.js b/static/layui/layui.js new file mode 100644 index 0000000..85827ab --- /dev/null +++ b/static/layui/layui.js @@ -0,0 +1 @@ +/** v2.8.1 | MIT Licensed */;!function(d){"use strict";var t,h=d.document,m={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.8.1"},e=d.LAYUI_GLOBAL||{},v=(t=h.currentScript?h.currentScript.src:function(){for(var t,e=h.scripts,r=e.length-1,n=r;01e3*m.timeout/4?g(u+" is not a valid module","error"):void(m.status[u]?c():setTimeout(n,4))}())}function c(){e.push(layui[u]),11e3*m.timeout/4?g(u+" is not a valid module","error"):void("string"==typeof m.modules[u]&&m.status[u]?c():setTimeout(f,4))}():((p=h.createElement("script"))["async"]=!0,p.charset="utf-8",p.src=y+((i=!0===m.version?m.v||(new Date).getTime():m.version||"")?"?v="+i:""),a.appendChild(p),!p.attachEvent||p.attachEvent.toString&&p.attachEvent.toString().indexOf("[native code")<0||b?p.addEventListener("load",function(t){s(t,y)},!1):p.attachEvent("onreadystatechange",function(t){s(t,y)}),m.modules[u]=y),o},n.prototype.disuse=function(t){var r=this;return t=r.isArray(t)?t:[t],r.each(t,function(t,e){m.status[e],delete r[e],delete N[e],delete r.modules[e],delete m.status[e],delete m.modules[e]}),r},n.prototype.getStyle=function(t,e){t=t.currentStyle||d.getComputedStyle(t,null);return t[t.getPropertyValue?"getPropertyValue":"getAttribute"](e)},n.prototype.link=function(r,n,t){var o=this,e=h.getElementsByTagName("head")[0],i=h.createElement("link"),t=((t="string"==typeof n?n:t)||r).replace(/\.|\//g,""),a=i.id="layuicss-"+t,u="creating",l=0;return i.rel="stylesheet",i.href=r+(m.debug?"?v="+(new Date).getTime():""),i.media="all",h.getElementById(a)||e.appendChild(i),"function"!=typeof n||function s(t){var e=h.getElementById(a);return++l>1e3*m.timeout/100?g(r+" timeout"):void(1989===parseInt(o.getStyle(e,"width"))?(t===u&&e.removeAttribute("lay-status"),e.getAttribute("lay-status")===u?setTimeout(s,100):n()):(e.setAttribute("lay-status",u),setTimeout(function(){s(u)},100)))}(),o},n.prototype.addcss=function(t,e,r){return layui.link(m.dir+"css/"+t,e,r)},m.callback={},n.prototype.factory=function(t){if(layui[t])return"function"==typeof m.callback[t]?m.callback[t]:null},n.prototype.img=function(t,e,r){var n=new Image;if(n.src=t,n.complete)return e(n);n.onload=function(){n.onload=null,"function"==typeof e&&e(n)},n.onerror=function(t){n.onerror=null,"function"==typeof r&&r(t)}},n.prototype.config=function(t){for(var e in t=t||{})m[e]=t[e];return this},n.prototype.modules=function(){var t,e={};for(t in N)e[t]=N[t];return e}(),n.prototype.extend=function(t){for(var e in t=t||{})this[e]||this.modules[e]?g(e+" Module already exists","error"):this.modules[e]=t[e];return this},n.prototype.router=n.prototype.hash=function(t){var r={path:[],search:{},hash:((t=t||location.hash).match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(t)&&(t=t.replace(/^#\//,""),r.href="/"+t,t=t.replace(/([^#])(#.*$)/,"$1").split("/")||[],this.each(t,function(t,e){/^\w+=/.test(e)?(e=e.split("="),r.search[e[0]]=e[1]):r.path.push(e)})),r},n.prototype.url=function(t){var o,e,r=this;return{pathname:(t?((t.match(/\.[^.]+?\/.+/)||[])[0]||"").replace(/^[^\/]+/,"").replace(/\?.+/,""):location.pathname).replace(/^\//,"").split("/"),search:(o={},e=(t?((t.match(/\?.+/)||[])[0]||"").replace(/\#.+/,""):location.search).replace(/^\?+/,"").split("&"),r.each(e,function(t,e){var r=e.indexOf("="),n=r<0?e.substr(0,e.length):0!==r&&e.substr(0,r);n&&(o[n]=0(l.innerHeight||f.documentElement.clientHeight)},h.position=function(t,e,n){var o,r,i,c,u,a,s;e&&(n=n||{},t!==f&&t!==h("body")[0]||(n.clickType="right"),u="right"===n.clickType?{left:(u=n.e||l.event||{}).clientX,top:u.clientY,right:u.clientX,bottom:u.clientY}:t.getBoundingClientRect(),a=e.offsetWidth,s=e.offsetHeight,o=function(t){return f.body[t=t?"scrollLeft":"scrollTop"]|f.documentElement[t]},i=u.left,c=u.bottom,"center"===n.align?i-=(a-t.offsetWidth)/2:"right"===n.align&&(i=i-a+t.offsetWidth),(i=i+a+5>(r=function(t){return f.documentElement[t?"clientWidth":"clientHeight"]})("width")?r("width")-a-5:i)<5&&(i=5),c+s+5>r()&&(u.top>s+5?c=u.top-s-10:"right"===n.clickType?(c=r()-s-10)<0&&(c=0):c=5),(a=n.position)&&(e.style.position=a),e.style.left=i+("fixed"===a?0:o(1))+"px",e.style.top=c+("fixed"===a?0:o())+"px",h.hasScrollbar()||(s=e.getBoundingClientRect(),!n.SYSTEM_RELOAD&&s.bottom+5>r()&&(n.SYSTEM_RELOAD=!0,setTimeout(function(){h.position(t,e,n)},50))))},h.options=function(t,e){if(e="object"==typeof e?e:{attr:e},t===f)return{};var t=h(t),n=e.attr||"lay-options",t=t.attr(n);try{return new Function("return "+(t||"{}"))()}catch(o){return layui.hint().error(e.errorText||[n+'="'+t+'"',"\n parseerror: "+o].join("\n"),"error"),{}}},h.isTopElem=function(n){var t=[f,h("body")[0]],o=!1;return h.each(t,function(t,e){if(e===n)return o=!0}),o},r.addStr=function(n,t){return n=n.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),h.each(t,function(t,e){new RegExp("\\b"+e+"\\b").test(n)||(n=n+" "+e)}),n.replace(/^\s|\s$/,"")},r.removeStr=function(n,t){return n=n.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),h.each(t,function(t,e){e=new RegExp("\\b"+e+"\\b");e.test(n)&&(n=n.replace(e,""))}),n.replace(/\s+/," ").replace(/^\s|\s$/,"")},r.prototype.find=function(o){var r=this,i=0,c=[],u="object"==typeof o;return this.each(function(t,e){for(var n=u?e.contains(o):e.querySelectorAll(o||null);i]|&(?=#[a-zA-Z0-9]+)/g.test(e+="")?e.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,"""):e}},i=function(e){return new RegExp(e,"g")},u=function(e,r){var n="Laytpl Error: ";return"object"==typeof console&&console.error(n+e+"\n"+(r||"")),n+e},n=function(e,r){var n=this,e=(n.config=n.config||{},n.template=e,function(e){for(var r in e)n.config[r]=e[r]});e(c),e(r)},r=(n.prototype.tagExp=function(e,r,n){var c=this.config;return i((r||"")+c.open+["#([\\s\\S])+?","([^{#}])*?"][e||0]+c.close+(n||""))},n.prototype.parse=function(e,r){var n=this,c=n.config,t=e,o=i("^"+c.open+"#",""),p=i(c.close+"$","");if("string"!=typeof e)return e;e='"use strict";var view = "'+(e=e.replace(/\s+|\r|\t|\n/g," ").replace(i(c.open+"#"),c.open+"# ").replace(i(c.close+"}"),"} "+c.close).replace(/\\/g,"\\\\").replace(i(c.open+"!(.+?)!"+c.close),function(e){return e=e.replace(i("^"+c.open+"!"),"").replace(i("!"+c.close),"").replace(i(c.open+"|"+c.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(n.tagExp(),function(e){return'";'+(e=e.replace(o,"").replace(p,"")).replace(/\\(.)/g,"$1")+';view+="'}).replace(n.tagExp(1),function(e){var r='"+laytpl.escape(';return e.replace(/\s/g,"")===c.open+c.close?"":(e=e.replace(i(c.open+"|"+c.close),""),/^=/.test(e)?e=e.replace(/^=/,""):/^-/.test(e)&&(e=e.replace(/^-/,""),r='"+('),r+e.replace(/\\(.)/g,"$1")+')+"')}))+'";return view;';try{return n.cache=e=new Function("d, laytpl",e),e(r,l)}catch(a){return delete n.cache,u(a,t)}},n.prototype.render=function(e,r){e=e||{};var n=this,e=n.cache?n.cache(e,l):n.parse(n.template,e);return"function"==typeof r&&r(e),e},function(e,r){return new n(e,r)});r.config=function(e){for(var r in e=e||{})c[r]=e[r]},r.v="2.0.0",e("laytpl",r)});layui.define(function(e){"use strict";var r=document,u="getElementById",c="getElementsByTagName",a="layui-disabled",t=function(e){var a=this;a.config=e||{},a.config.index=++o.index,a.render(!0)},o=(t.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return e.elem.length===undefined?2:3},t.prototype.view=function(){var t,i,n=this.config,r=n.groups="groups"in n?Number(n.groups)||0:5,u=(n.layout="object"==typeof n.layout?n.layout:["prev","page","next"],n.count=Number(n.count)||0,n.curr=Number(n.curr)||1,n.limits="object"==typeof n.limits?n.limits:[10,20,30,40,50],n.limit=Number(n.limit)||10,n.pages=Math.ceil(n.count/n.limit)||1,n.curr>n.pages?n.curr=n.pages:n.curr<1&&(n.curr=1),r<0?r=1:r>n.pages&&(r=n.pages),n.prev="prev"in n?n.prev:"上一页",n.next="next"in n?n.next:"下一页",n.pages>r?Math.ceil((n.curr+(1'+n.prev+"":"",page:function(){var e=[];if(n.count<1)return"";1'+(n.first||1)+"");var a=Math.floor((r-1)/2),t=1n.pages?n.pages:a:r;for(i-t…');t<=i;t++)t===n.curr?e.push('"+t+""):e.push(''+t+"");return n.pages>r&&n.pages>i&&!1!==n.last&&(i+1…'),0!==r&&e.push(''+(n.last||n.pages)+"")),e.join("")}(),next:n.next?''+n.next+"":"",count:'\u5171 '+n.count+" \u6761",limit:(t=['"),refresh:['','',""].join(""),skip:['到第','','页',""].join("")};return['
          ',(i=[],layui.each(n.layout,function(e,a){l[a]&&i.push(l[a])}),i.join("")),"
          "].join("")},t.prototype.jump=function(e,a){if(e){var t=this,i=t.config,n=e.children,r=e[c]("button")[0],u=e[c]("input")[0],e=e[c]("select")[0],l=function(){var e=Number(u.value.replace(/\s|\D/g,""));e&&(i.curr=e,t.render())};if(a)return l();for(var s=0,p=n.length;si.pages||(i.curr=e,t.render())});e&&o.on(e,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),r&&o.on(r,"click",function(){l()})}},t.prototype.skip=function(t){var i,e;t&&(i=this,(e=t[c]("input")[0])&&o.on(e,"keyup",function(e){var a=this.value,e=e.keyCode;/^(37|38|39|40)$/.test(e)||(/\D/.test(a)&&(this.value=a.replace(/\D/,"")),13===e&&i.jump(t,!0))}))},t.prototype.render=function(e){var a=this,t=a.config,i=a.type(),n=a.view(),i=(2===i?t.elem&&(t.elem.innerHTML=n):3===i?t.elem.html(n):r[u](t.elem)&&(r[u](t.elem).innerHTML=n),t.jump&&t.jump(t,e),r[u]("layui-laypage-"+t.index));a.jump(i),t.hash&&!e&&(location.hash="!"+t.hash+"="+t.curr),a.skip(i)},{render:function(e){return new t(e).index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(a,e,t){return a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1),this}});e("laypage",o)});!function(i,p){"use strict";var n=i.layui&&layui.define,l={getPath:i.lay&&lay.getPath?lay.getPath:"",link:function(e,t,a){v.path&&i.lay&&lay.layui&&lay.layui.link(v.path+e,t,a)}},e=i.LAYUI_GLOBAL||{},d="layui-laydate-id",v={v:"5.5.0",config:{weekStart:0},index:i.laydate&&i.laydate.v?1e5:0,path:e.laydate_dir||l.getPath,set:function(e){var t=this;return t.config=lay.extend({},t.config,e),t},ready:function(e){var t="laydate",a=(n?"modules/":"")+"laydate.css?v="+v.v;return n?layui["layui.all"]?"function"==typeof e&&e():layui.addcss(a,e,t):l.link(a,e,t),this}},s=function(){var t=this,e=t.config.id;return(s.that[e]=t).inst={hint:function(e){t.hint.call(t,e)},reload:function(e){t.reload.call(t,e)},config:t.config}},a="laydate",x="layui-this",k="laydate-disabled",h=[100,2e5],D="layui-laydate-static",w="layui-laydate-list",o="laydate-selected",r="layui-laydate-hint",y="laydate-day-prev",m="laydate-day-next",C=".laydate-btns-confirm",M="laydate-time-text",L="laydate-btns-time",T="layui-laydate-preview",E="layui-laydate-main",S="layui-laydate-shade",I=function(e){var t,a=this,n=(a.index=++v.index,a.config=lay.extend({},a.config,v.config,e),lay(e.elem||a.config.elem));return 1\u8bf7\u91cd\u65b0\u9009\u62e9",invalidDate:"\u4e0d\u5728\u6709\u6548\u65e5\u671f\u6216\u65f6\u95f4\u8303\u56f4\u5185",formatError:["\u65e5\u671f\u683c\u5f0f\u4e0d\u5408\u6cd5
          \u5fc5\u987b\u9075\u5faa\u4e0b\u8ff0\u683c\u5f0f\uff1a
          ","
          \u5df2\u4e3a\u4f60\u91cd\u7f6e"],preview:"\u5f53\u524d\u9009\u4e2d\u7684\u7ed3\u679c"},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"},timeout:"End time cannot be less than start Time
          Please re-select",invalidDate:"Invalid date",formatError:["The date format error
          Must be followed\uff1a
          ","
          It has been reset"],preview:"The selected result"}};return e[this.config.lang]||e.cn},I.prototype.reload=function(e){this.config=lay.extend({},this.config,e),this.init()},I.prototype.init=function(){var r=this,o=r.config,e="static"===o.position,t={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};o.elem=lay(o.elem),o.eventElem=lay(o.eventElem),o.elem[0]&&("array"!==layui.type(o.theme)&&(o.theme=[o.theme]),o.fullPanel&&("datetime"!==o.type||o.range)&&delete o.fullPanel,r.rangeStr=o.range?"string"==typeof o.range?o.range:"-":"",r.rangeLinked=!(!o.range||!o.rangeLinked||"date"!==o.type&&"datetime"!==o.type),r.autoCalendarModel=function(){var e=r.rangeLinked;return r.rangeLinked=o.range&&("date"===o.type||"datetime"===o.type)&&(!r.startDate||!r.endDate||r.startDate&&r.endDate&&r.startDate.year===r.endDate.year&&r.startDate.month===r.endDate.month),lay(r.elem)[r.rangeLinked?"addClass":"removeClass"]("layui-laydate-linkage"),r.rangeLinked!=e},r.autoCalendarModel.auto=r.rangeLinked&&"auto"===o.rangeLinked,"array"===layui.type(o.range)&&(r.rangeElem=[lay(o.range[0]),lay(o.range[1])]),t[o.type]||(i.console&&console.error&&console.error("laydate type error:'"+o.type+"' is not supported"),o.type="date"),o.format===t.date&&(o.format=t[o.type]||t.date),r.format=s.formatArr(o.format),o.weekStart&&!/^[0-6]$/.test(o.weekStart)&&(t=r.lang(),o.weekStart=t.weeks.indexOf(o.weekStart),-1===o.weekStart&&(o.weekStart=0)),r.EXP_IF="",r.EXP_SPLIT="",lay.each(r.format,function(e,t){e=new RegExp(u).test(t)?"\\d{"+(new RegExp(u).test(r.format[0===e?e+1:e-1]||"")?/^yyyy|y$/.test(t)?4:t.length:/^yyyy$/.test(t)?"1,4":/^y$/.test(t)?"1,308":"1,2")+"}":"\\"+t;r.EXP_IF=r.EXP_IF+e,r.EXP_SPLIT=r.EXP_SPLIT+"("+e+")"}),r.EXP_IF_ONE=new RegExp("^"+r.EXP_IF+"$"),r.EXP_IF=new RegExp("^"+(o.range?r.EXP_IF+"\\s\\"+r.rangeStr+"\\s"+r.EXP_IF:r.EXP_IF)+"$"),r.EXP_SPLIT=new RegExp("^"+r.EXP_SPLIT+"$",""),r.isInput(o.elem[0])||"focus"===o.trigger&&(o.trigger="click"),o.elem.attr("lay-key",r.index),o.eventElem.attr("lay-key",r.index),o.elem.attr(d,o.id),o.mark=lay.extend({},o.calendar&&"cn"===o.lang?{"0-1-1":"\u5143\u65e6","0-2-14":"\u60c5\u4eba","0-3-8":"\u5987\u5973","0-3-12":"\u690d\u6811","0-4-1":"\u611a\u4eba","0-5-1":"\u52b3\u52a8","0-5-4":"\u9752\u5e74","0-6-1":"\u513f\u7ae5","0-9-10":"\u6559\u5e08","0-10-1":"\u56fd\u5e86","0-12-25":"\u5723\u8bde"}:{},o.mark),lay.each(["min","max"],function(e,t){var a=[],n=[];if("number"==typeof o[t])var i=o[t],l=new Date,l=r.newDate({year:l.getFullYear(),month:l.getMonth(),date:l.getDate(),hours:e?23:0,minutes:e?59:0,seconds:e?59:0}).getTime(),e=new Date(i?i<864e5?l+864e5*i:i:l),a=[e.getFullYear(),e.getMonth()+1,e.getDate()],n=[e.getHours(),e.getMinutes(),e.getSeconds()];else if("string"==typeof o[t])a=(o[t].match(/\d+-\d+-\d+/)||[""])[0].split("-"),n=(o[t].match(/\d+:\d+:\d+/)||[""])[0].split(":");else if("object"==typeof o[t])return o[t];o[t]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|n[0],minutes:0|n[1],seconds:0|n[2]}}),r.elemID="layui-laydate"+o.elem.attr("lay-key"),(o.show||e)&&r.render(),e||r.events(),o.value&&o.isInitValue&&("date"===layui.type(o.value)?r.setValue(r.parse(0,r.systemDate(o.value))):r.setValue(o.value)))},I.prototype.render=function(){var a,n,i,l,r=this,o=r.config,d=r.lang(),s="static"===o.position,y=r.elem=lay.elem("div",{id:r.elemID,"class":["layui-laydate",o.range?" layui-laydate-range":"",r.rangeLinked?" layui-laydate-linkage":"",s?" "+D:"",o.fullPanel?" laydate-theme-fullpanel":"",(a="",lay.each(o.theme,function(e,t){"default"===t||/^#/.test(t)||(a+=" laydate-theme-"+t)}),a)].join("")}),m=r.elemMain=[],u=r.elemHeader=[],c=r.elemCont=[],h=r.table=[],e=r.footer=lay.elem("div",{"class":"layui-laydate-footer"}),t=r.shortcut=lay.elem("ul",{"class":"layui-laydate-shortcut"}),f=(o.zIndex&&(y.style.zIndex=o.zIndex),lay.each(new Array(2),function(e){if(!o.range&&0'+d.timeTips+""),(o.range||"datetime"!==o.type||o.fullPanel)&&f.push(''),lay.each(o.btns,function(e,t){var a=d.tools[t]||"btn";o.range&&"now"===t||(s&&"clear"===t&&(a="cn"===o.lang?"\u91cd\u7f6e":"Reset"),n.push(''+a+""))}),f.push('"),f.join(""))),o.shortcuts&&(y.appendChild(t),lay(t).html((i=[],lay.each(o.shortcuts,function(e,t){i.push('
        • '+t.text+"
        • ")}),i.join(""))).find("li").on("click",function(e){var t=(o.shortcuts[this.dataset.index]||{}).value||[],n=(layui.isArray(t)||(t=[t]),o.type),t=(lay.each(t,function(e,t){var a=[o.dateTime,r.endDate][e];"time"===n&&"date"!==layui.type(t)?r.EXP_IF.test(t)&&(t=(t.match(r.EXP_SPLIT)||[]).slice(1),lay.extend(a,{hours:0|t[0],minutes:0|t[2],seconds:0|t[4]})):lay.extend(a,r.systemDate("date"===layui.type(t)?t:new Date(t))),"time"!==n&&"datetime"!==n||(r[["startTime","endTime"][e]]={hours:a.hours,minutes:a.minutes,seconds:a.seconds}),0===e?r.startDate=lay.extend({},a):r.endState=!0,"year"===n||"month"===n||"time"===n?r.listYM[e]=[a.year,a.month+1]:e&&r.autoCalendarModel.auto&&r.autoCalendarModel()}),r.checkDate("limit").calendar(null,null,"init"),lay(r.footer).find("."+L).removeClass(k));t&&"date"===t.attr("lay-type")&&t[0].click(),r.done(null,"change"),lay(this).addClass(x),"static"!==o.position&&!o.range&&o.autoConfirm&&("date"===n?r.choose(lay(y).find("td.layui-this")):"year"!==n&&"month"!==n||lay(m[0]).find("."+E+" li."+x+":not(.laydate-disabled)")[0]&&r.setValue(r.parse()).done().remove())})),lay.each(m,function(e,t){y.appendChild(t)}),o.showBottom&&y.appendChild(e),lay.elem("style")),g=[],t=(lay.each(o.theme,function(e,t){/^#/.test(t)&&(l=!0,g.push(["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} li.layui-this,#{{id}} td.layui-this>div{background-color:{{theme}} !important;}",-1!==o.theme.indexOf("circle")?"":"#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,r.elemID).replace(/{{theme}}/g,t)))}),o.shortcuts&&o.range&&g.push("#{{id}}.layui-laydate-range{width: 628px;}".replace(/{{id}}/g,r.elemID)),g.length&&(g=g.join(""),"styleSheet"in f?(f.setAttribute("type","text/css"),f.styleSheet.cssText=g):f.innerHTML=g,l&&lay(y).addClass("laydate-theme-molv"),y.appendChild(f)),r.remove(I.thisElemDate),v.thisId=o.id,s?o.elem.append(y):(p.body.appendChild(y),r.position()),o.shade?'
          ':"");y.insertAdjacentHTML("beforebegin",t),r.checkDate().calendar(null,0,"init"),r.changeEvent(),I.thisElemDate=r.elemID,r.renderAdditional(),"function"==typeof o.ready&&o.ready(lay.extend({},o.dateTime,{month:o.dateTime.month+1})),r.preview()},I.prototype.remove=function(e){var t=this,a=t.config,n=lay("#"+(e||t.elemID));return n[0]&&(n.hasClass(D)||t.checkDate(function(){n.remove(),delete t.startDate,delete t.endDate,delete t.endState,delete t.startTime,delete t.endTime,delete v.thisId,"function"==typeof a.close&&a.close(t)}),lay("."+S).remove()),t},I.prototype.position=function(){var e=this.config;return lay.position(e.elem[0],this.elem,{position:e.position}),this},I.prototype.hint=function(e){var t=this,a=(t.config,lay.elem("div",{"class":r}));t.elem&&(a.innerHTML=(e="object"==typeof e?e||{}:{content:e}).content||"",lay(t.elem).find("."+r).remove(),t.elem.appendChild(a),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){lay(t.elem).find("."+r).remove()},"ms"in e?e.ms:3e3))},I.prototype.getAsYM=function(e,t,a){return a?t--:t++,t<0&&(t=11,e--),11h[1]&&(e.year=h[1],o=!0),11t&&(e.date=t,o=!0))},r=function(n,i,l){var r=["startTime","endTime"];i=(i.match(d.EXP_SPLIT)||[]).slice(1),l=l||0,s.range&&(d[r[l]]=d[r[l]]||{}),lay.each(d.format,function(e,t){var a=parseFloat(i[e]);i[e].lengthd.getDateTime(s.max)?(n=s.dateTime=lay.extend({},s.max),u=!0):d.getDateTime(n)d.getDateTime(s.max))&&(d.endDate=lay.extend({},s.max),u=!0),d.startTime={hours:s.dateTime.hours,minutes:s.dateTime.minutes,seconds:s.dateTime.seconds},d.endTime={hours:d.endDate.hours,minutes:d.endDate.minutes,seconds:d.endDate.seconds},"month"===s.type&&(s.dateTime.date=1,d.endDate.date=1)),u&&l&&(d.setValue(d.parse()),d.hint("value "+a.invalidDate+a.formatError[1])),d.startDate=d.startDate||l&&lay.extend({},s.dateTime),d.autoCalendarModel.auto&&d.autoCalendarModel(),d.endState=!s.range||!d.rangeLinked||!(!d.startDate||!d.endDate),e&&e(),d},I.prototype.mark=function(e,a){var n,t=this.config;return lay.each(t.mark,function(e,t){e=e.split("-");e[0]!=a[0]&&0!=e[0]||e[1]!=a[1]&&0!=e[1]||e[2]!=a[2]||(n=t||a[2])}),n&&e.find("div").html(''+n+""),this},I.prototype.holidays=function(n,i){var e=this.config,l=["","work"];return"array"!==layui.type(e.holidays)||lay.each(e.holidays,function(a,e){lay.each(e,function(e,t){t===n.attr("lay-ymd")&&n.find("div").html('"+i[2]+"")})}),this},I.prototype.limit=function(t){t=t||{};var i=this,e=i.config,l={},a=t.index>(t.time?0:41)?i.endDate:e.dateTime;return lay.each({now:lay.extend({},a,t.date||{}),min:e.min,max:e.max},function(e,a){var n;l[e]=i.newDate(lay.extend({year:a.year,month:"year"===t.type?0:a.month,date:"year"===t.type||"month"===t.type?1:a.date},(n={},lay.each(t.time,function(e,t){n[t]=a[t]}),n))).getTime()}),a=l.nowl.max,t.elem&&t.elem[a?"addClass":"removeClass"](k),a},I.prototype.thisDateTime=function(e){var t=this.config;return e?this.endDate:t.dateTime},I.prototype.calendar=function(e,t,a){var i,l,r,o=this,n=o.config,t=t?1:0,d=e||o.thisDateTime(t),s=new Date,y=o.lang(),m="date"!==n.type&&"datetime"!==n.type,u=lay(o.table[t]).find("td"),c=lay(o.elemHeader[t][2]).find("span");return d.yearh[1]&&(d.year=h[1],o.hint(y.invalidDate)),o.firstDate||(o.firstDate=lay.extend({},d)),s.setFullYear(d.year,d.month,1),i=(s.getDay()+(7-n.weekStart))%7,l=v.getEndDate(d.month||12,d.year),r=v.getEndDate(d.month+1,d.year),lay.each(u,function(e,t){var a=[d.year,d.month],n=0;(t=lay(t)).removeAttr("class"),e"+a[2]+"
          "),o.mark(t,a).holidays(t,a).limit({elem:t,date:{year:a[0],month:a[1]-1,date:a[2]},index:e})}),lay(c[0]).attr("lay-ym",d.year+"-"+(d.month+1)),lay(c[1]).attr("lay-ym",d.year+"-"+(d.month+1)),"cn"===n.lang?(lay(c[0]).attr("lay-type","year").html(d.year+" \u5e74"),lay(c[1]).attr("lay-type","month").html(d.month+1+" \u6708")):(lay(c[0]).attr("lay-type","month").html(y.month[d.month]),lay(c[1]).attr("lay-type","year").html(d.year)),m&&(n.range?!e&&"init"===a||(o.listYM=[[(o.startDate||n.dateTime).year,(o.startDate||n.dateTime).month+1],[o.endDate.year,o.endDate.month+1]],o.list(n.type,0).list(n.type,1),"time"===n.type?o.setBtnStatus("\u65f6\u95f4",lay.extend({},o.systemDate(),o.startTime),lay.extend({},o.systemDate(),o.endTime)):o.setBtnStatus(!0)):(o.listYM=[[d.year,d.month+1]],o.list(n.type,0))),n.range&&"init"===a&&(o.rangeLinked?(s=o.getAsYM(d.year,d.month,t?"sub":null),o.calendar(lay.extend({},d,{year:s[0],month:s[1]}),1-t)):o.calendar(null,1-t)),n.range||(u=["hours","minutes","seconds"],o.limit({elem:lay(o.footer).find(".laydate-btns-now"),date:o.systemDate(),index:0,time:u}),o.limit({elem:lay(o.footer).find(C),index:0,time:u})),o.setBtnStatus(),lay(o.shortcut).find("li."+x).removeClass(x),n.range&&!m&&"init"!==a&&o.stampRange(),o},I.prototype.list=function(n,i){var l,r,e,o,d=this,s=d.config,y=d.rangeLinked?s.dateTime:[s.dateTime,d.endDate][i],m=d.lang(),t=s.range&&"date"!==s.type&&"datetime"!==s.type,u=lay.elem("ul",{"class":w+" "+{year:"laydate-year-list",month:"laydate-month-list",time:"laydate-time-list"}[n]}),a=d.elemHeader[i],c=lay(a[2]).find("span"),h=d.elemCont[i||0],f=lay(h).find("."+w)[0],g="cn"===s.lang,p=g?"\u5e74":"",v=d.listYM[i]||{},D=["hours","minutes","seconds"],T=["startTime","endTime"][i];return v[0]<1&&(v[0]=1),"year"===n?(e=l=v[0]-7,l<1&&(e=l=1),lay.each(new Array(15),function(e){var t=lay.elem("li",{"lay-ym":l}),a={year:l,month:0,date:1};l==v[0]&&lay(t).addClass(x),t.innerHTML=l+p,u.appendChild(t),d.limit({elem:lay(t),date:a,index:i,type:n}),l++}),lay(c[g?0:1]).attr("lay-ym",l-8+"-"+v[1]).html(e+p+" - "+(l-1)+p)):"month"===n?(lay.each(new Array(12),function(e){var t=lay.elem("li",{"lay-ym":e}),a={year:v[0],month:e,date:1};e+1==v[1]&&lay(t).addClass(x),t.innerHTML=m.month[e]+(g?"\u6708":""),u.appendChild(t),d.limit({elem:lay(t),date:a,index:i,type:n})}),lay(c[g?0:1]).attr("lay-ym",v[0]+"-"+v[1]).html(v[0]+p)):"time"===n&&(r=function(){lay(u).find("ol").each(function(a,e){lay(e).find("li").each(function(e,t){d.limit({elem:lay(t),date:[{hours:e},{hours:d[T].hours,minutes:e},{hours:d[T].hours,minutes:d[T].minutes,seconds:e}][a],index:i,time:[["hours"],["hours","minutes"],["hours","minutes","seconds"]][a]})})}),s.range||d.limit({elem:lay(d.footer).find(C),date:d[T],inedx:0,time:["hours","minutes","seconds"]})},s.range?d[T]||(d[T]="startTime"===T?y:d.endDate):d[T]=y,lay.each([24,60,60],function(t,e){var a=lay.elem("li"),n=["

          "+m.time[t]+"

            "];lay.each(new Array(e),function(e){n.push(""+lay.digit(e,2)+"")}),a.innerHTML=n.join("")+"
          ",u.appendChild(a)}),r()),f&&h.removeChild(f),h.appendChild(u),"year"===n||"month"===n?(lay(d.elemMain[i]).addClass("laydate-ym-show"),lay(u).find("li").on("click",function(){var e=0|lay(this).attr("lay-ym");lay(this).hasClass(k)||(d.rangeLinked?lay.extend(y,{year:"year"===n?e:v[0],month:"year"===n?v[1]-1:e}):y[n]=e,"year"===s.type||"month"===s.type?(lay(u).find("."+x).removeClass(x),lay(this).addClass(x),"month"===s.type&&"year"===n&&(d.listYM[i][0]=e,t&&((i?d.endDate:y).year=e),d.list("month",i))):(d.checkDate("limit").calendar(y,i,"init"),d.closeList()),d.setBtnStatus(),!s.range&&s.autoConfirm&&("month"===s.type&&"month"===n||"year"===s.type&&"year"===n)&&d.setValue(d.parse()).done().remove(),d.autoCalendarModel.auto&&!d.rangeLinked?d.choose(lay(h).find("td.layui-this"),i):d.endState&&d.done(null,"change"),lay(d.footer).find("."+L).removeClass(k))})):(e=lay.elem("span",{"class":M}),o=function(){lay(u).find("ol").each(function(e){var a=this,t=lay(a).find("li");a.scrollTop=30*(d[T][D[e]]-2),a.scrollTop<=0&&t.each(function(e,t){if(!lay(this).hasClass(k))return a.scrollTop=30*(e-2),!0})})},c=lay(a[2]).find("."+M),o(),e.innerHTML=s.range?[m.startTime,m.endTime][i]:m.timeTips,lay(d.elemMain[i]).addClass("laydate-time-show"),c[0]&&c.remove(),a[2].appendChild(e),lay(u).find("ol").each(function(t){var a=this;lay(a).find("li").on("click",function(){var e=0|this.innerHTML;lay(this).hasClass(k)||(s.range?d[T][D[t]]=e:y[D[t]]=e,lay(a).find("."+x).removeClass(x),lay(this).addClass(x),r(),o(),(d.endDate||"time"===s.type||"datetime"===s.type&&s.fullPanel)&&d.done(null,"change"),d.setBtnStatus())})})),d},I.prototype.listYM=[],I.prototype.closeList=function(){var a=this;a.config;lay.each(a.elemCont,function(e,t){lay(this).find("."+w).remove(),lay(a.elemMain[e]).removeClass("laydate-ym-show laydate-time-show")}),lay(a.elem).find("."+M).remove()},I.prototype.setBtnStatus=function(e,t,a){var n=this,i=n.config,l=n.lang(),r=lay(n.footer).find(C);i.range&&"time"!==i.type&&(t=t||(n.rangeLinked?n.startDate:i.dateTime),a=a||n.endDate,i=!n.endState||n.newDate(t).getTime()>n.newDate(a).getTime(),n.limit({date:t})||n.limit({date:a})?r.addClass(k):r[i?"addClass":"removeClass"](k),e&&i&&n.hint("string"==typeof e?l.timeout.replace(/\u65e5\u671f/g,e):l.timeout))},I.prototype.parse=function(e,t){var a=this,n=a.config,t=t||("end"==e?lay.extend({},a.endDate,a.endTime):n.range?lay.extend({},a.rangeLinked?a.startDate:n.dateTime,a.startTime):n.dateTime),t=v.parse(t,a.format,1);return n.range&&e===undefined?t+" "+a.rangeStr+" "+a.parse("end"):t},I.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},I.prototype.getDateTime=function(e){return this.newDate(e).getTime()},I.prototype.setValue=function(e){var t=this,a=t.config,n=a.elem[0];return"static"===a.position||(e=e||"",t.isInput(n)?lay(n).val(e):(a=t.rangeElem)?("array"!==layui.type(e)&&(e=e.split(" "+t.rangeStr+" ")),a[0].val(e[0]||""),a[1].val(e[1]||"")):(0===lay(n).find("*").length&&lay(n).html(e),lay(n).attr("lay-date",e))),t},I.prototype.preview=function(){var e,t=this,a=t.config;a.isPreview&&(e=lay(t.elem).find("."+T),a=!a.range||(t.rangeLinked?t.endState:t.endDate)?t.parse():"",e.html(a),e.html()&&(e.css({color:"#16b777"}),setTimeout(function(){e.css({color:"#777"})},300)))},I.prototype.renderAdditional=function(){this.config.fullPanel&&this.list("time",0)},I.prototype.stampRange=function(){var n,i=this,l=i.config,r=i.rangeLinked?i.startDate:l.dateTime,e=lay(i.elem).find("td");l.range&&!i.endState&&lay(i.footer).find(C).addClass(k),r=r&&i.newDate({year:r.year,month:r.month,date:r.date}).getTime(),n=i.endState&&i.endDate&&i.newDate({year:i.endDate.year,month:i.endDate.month,date:i.endDate.date}).getTime(),lay.each(e,function(e,t){var a=lay(t).attr("lay-ymd").split("-"),a=i.newDate({year:a[0],month:a[1]-1,date:a[2]}).getTime();l.rangeLinked&&!i.startDate&&a===i.newDate(i.systemDate()).getTime()&&lay(t).addClass(lay(t).hasClass(y)||lay(t).hasClass(m)?"":"laydate-day-now"),lay(t).removeClass(o+" "+x),a!==r&&a!==n||(i.rangeLinked||!i.rangeLinked&&(e<42?a===r:a===n))&&lay(t).addClass(lay(t).hasClass(y)||lay(t).hasClass(m)?o:x),rn.getDateTime(i.max)&&(n[t]={hours:i.max.hours,minutes:i.max.minutes,seconds:i.max.seconds},lay.extend(l,n[t])))}),a||(n.startDate=lay.extend({},l)),n.endState&&!n.limit({date:n.thisDateTime(1-a)})&&(((r=n.endState&&n.autoCalendarModel.auto?n.autoCalendarModel():r)||n.rangeLinked&&n.endState)&&n.newDate(n.startDate)>n.newDate(n.endDate)&&(e=n.startDate.year===n.endDate.year&&n.startDate.month===n.endDate.month&&n.startDate.date===n.endDate.date,o=n.startDate,n.startDate=lay.extend({},n.endDate,e?{}:n.startTime),i.dateTime=lay.extend({},n.startDate),n.endDate=lay.extend({},o,e?{}:n.endTime),e&&(o=n.startTime,n.startTime=n.endTime,n.endTime=o)),r&&(i.dateTime=lay.extend({},n.startDate))),n.rangeLinked?(e=lay.extend({},l),!t||a||r||(o=n.getAsYM(l.year,l.month,"sub"),lay.extend(i.dateTime,{year:o[0],month:o[1]})),n.calendar(e,t,r?"init":null)):n.calendar(null,a,r?"init":null),n.endState&&n.done(null,"change")):"static"===i.position?n.calendar().done().done(null,"change"):"date"===i.type?i.autoConfirm?n.setValue(n.parse()).done().remove():n.calendar().done(null,"change"):"datetime"===i.type&&n.calendar().done(null,"change"))},I.prototype.tool=function(t,e){var a=this,n=a.config,i=a.lang(),l=n.dateTime,r="static"===n.position,o={datetime:function(){lay(t).hasClass(k)||(a.list("time",0),n.range&&a.list("time",1),lay(t).attr("lay-type","date").html(a.lang().dateTips))},date:function(){a.closeList(),lay(t).attr("lay-type","datetime").html(a.lang().timeTips)},clear:function(){r&&(lay.extend(l,a.firstDate),a.calendar()),n.range&&(delete n.dateTime,delete a.endDate,delete a.startTime,delete a.endTime),a.setValue(""),a.done(null,"onClear").done(["",{},{}]).remove()},now:function(){var e=new Date;if(lay(t).hasClass(k))return a.hint(i.tools.now+", "+i.invalidDate);lay.extend(l,a.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),a.setValue(a.parse()),r&&a.calendar(),a.done(null,"onNow").done().remove()},confirm:function(){if(n.range){if(lay(t).hasClass(k))return a.hint("time"===n.type?i.timeout.replace(/\u65e5\u671f/g,"\u65f6\u95f4"):i.timeout)}else if(lay(t).hasClass(k))return a.hint(i.invalidDate);a.setValue(a.parse()),a.done(null,"onConfirm").done().remove()}};o[e]&&o[e]()},I.prototype.change=function(n){var i=this,l=i.config,r=i.thisDateTime(n),o=l.range&&("year"===l.type||"month"===l.type),d=i.elemCont[n||0],s=i.listYM[n],e=function(e){var t=lay(d).find(".laydate-year-list")[0],a=lay(d).find(".laydate-month-list")[0];return t&&(s[0]=e?s[0]-15:s[0]+15,i.list("year",n)),a&&(e?s[0]--:s[0]++,i.list("month",n)),(t||a)&&(lay.extend(r,{year:s[0]}),o&&(r.year=s[0]),l.range||i.done(null,"change"),l.range||i.limit({elem:lay(i.footer).find(C),date:{year:s[0]}})),i.setBtnStatus(),t||a};return{prevYear:function(){e("sub")||(i.rangeLinked?(l.dateTime.year--,i.checkDate("limit").calendar(null,null,"init")):(r.year--,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change")))},prevMonth:function(){i.rangeLinked&&(r=l.dateTime);var e=i.getAsYM(r.year,r.month,"sub");lay.extend(r,{year:e[0],month:e[1]}),i.checkDate("limit").calendar(null,null,"init"),i.rangeLinked||(i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change"))},nextMonth:function(){i.rangeLinked&&(r=l.dateTime);var e=i.getAsYM(r.year,r.month);lay.extend(r,{year:e[0],month:e[1]}),i.checkDate("limit").calendar(null,null,"init"),i.rangeLinked||(i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change"))},nextYear:function(){e()||(i.rangeLinked?(l.dateTime.year++,i.checkDate("limit").calendar(null,0,"init")):(r.year++,i.checkDate("limit").calendar(null,n),i.autoCalendarModel.auto?i.choose(lay(d).find("td.layui-this"),n):i.done(null,"change")))}}},I.prototype.changeEvent=function(){var i=this;i.config;lay(i.elem).on("click",function(e){lay.stope(e)}).on("mousedown",function(e){lay.stope(e)}),lay.each(i.elemHeader,function(n,e){lay(e[0]).on("click",function(e){i.change(n).prevYear()}),lay(e[1]).on("click",function(e){i.change(n).prevMonth()}),lay(e[2]).find("span").on("click",function(e){var t=lay(this),a=t.attr("lay-ym"),t=t.attr("lay-type");a&&(a=a.split("-"),i.listYM[n]=[0|a[0],0|a[1]],i.list(t,n),lay(i.footer).find("."+L).addClass(k))}),lay(e[3]).on("click",function(e){i.change(n).nextMonth()}),lay(e[4]).on("click",function(e){i.change(n).nextYear()})}),lay.each(i.table,function(e,t){lay(t).find("td").on("click",function(){i.choose(lay(this),e)})}),lay(i.footer).find("span").on("click",function(){var e=lay(this).attr("lay-type");i.tool(this,e)})},I.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())||/INPUT|TEXTAREA/.test(e.tagName)},I.prototype.events=function(){var e,t=this,a=t.config;a.elem[0]&&!a.elem[0].eventHandler&&(a.elem.on(a.trigger,e=function(){v.thisId!==a.id&&t.render()}),a.elem[0].eventHandler=!0,a.eventElem.on(a.trigger,e),t.unbind=function(){t.remove(),a.elem.off(a.trigger,e),a.elem.removeAttr("lay-key"),a.elem.removeAttr(d),a.elem[0].eventHandler=!1,a.eventElem.off(a.trigger,e),a.eventElem.removeAttr("lay-key"),delete s.that[a.id]})},s.that={},s.getThis=function(e){var t=s.that[e];return!t&&n&&layui.hint().error(e?a+" instance with ID '"+e+"' not found":"ID argument required"),t},l.run=function(n){n(p).on("mousedown",function(e){var t,a;!v.thisId||(t=s.getThis(v.thisId))&&(a=t.config,e.target!==a.elem[0]&&e.target!==a.eventElem[0]&&e.target!==n(a.closeStop)[0]&&t.remove())}).on("keydown",function(e){var t;!v.thisId||(t=s.getThis(v.thisId))&&"static"!==t.config.position&&13===e.keyCode&&n("#"+t.elemID)[0]&&t.elemID===I.thisElemDate&&(e.preventDefault(),n(t.footer).find(C)[0].click())}),n(i).on("resize",function(){if(v.thisId){var e=s.getThis(v.thisId);if(e)return!(!e.elem||!n(".layui-laydate")[0])&&void e.position()}})},v.render=function(e){e=new I(e);return s.call(e)},v.reload=function(e,t){e=s.getThis(e);if(e)return e.reload(t)},v.getInst=function(e){e=s.getThis(e);if(e)return e.inst},v.hint=function(e,t){e=s.getThis(e);if(e)return e.hint(t)},v.unbind=function(e){e=s.getThis(e);if(e)return e.unbind()},v.close=function(e){e=s.getThis(e||v.thisId);if(e)return e.remove()},v.parse=function(a,n,i){return a=a||{},n=((n="string"==typeof n?s.formatArr(n):n)||[]).concat(),lay.each(n,function(e,t){/yyyy|y/.test(t)?n[e]=lay.digit(a.year,t.length):/MM|M/.test(t)?n[e]=lay.digit(a.month+(i||0),t.length):/dd|d/.test(t)?n[e]=lay.digit(a.date,t.length):/HH|H/.test(t)?n[e]=lay.digit(a.hours,t.length):/mm|m/.test(t)?n[e]=lay.digit(a.minutes,t.length):/ss|s/.test(t)&&(n[e]=lay.digit(a.seconds,t.length))}),n.join("")},v.getEndDate=function(e,t){var a=new Date;return a.setFullYear(t||a.getFullYear(),e||a.getMonth()+1,1),new Date(a.getTime()-864e5).getDate()},n?(v.ready(),layui.define("lay",function(e){v.path=layui.cache.dir,l.run(lay),e(a,v)})):"function"==typeof define&&define.amd?define(function(){return l.run(lay),v}):(v.ready(),l.run(i.lay),i.laydate=v)}(window,window.document);!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e):function(e){if(e.document)return t(e);throw new Error("jQuery requires a window with a document")}:t(e)}("undefined"!=typeof window?window:this,function(T,M){var f=[],g=T.document,c=f.slice,O=f.concat,R=f.push,P=f.indexOf,B={},W=B.toString,m=B.hasOwnProperty,y={},e="1.12.4",C=function(e,t){return new C.fn.init(e,t)},I=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,$=/^-ms-/,z=/-([\da-z])/gi,X=function(e,t){return t.toUpperCase()};function U(e){var t=!!e&&"length"in e&&e.length,n=C.type(e);return"function"!==n&&!C.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+a+")"+a+"*"),ee=new RegExp("="+a+"*([^\\]'\"]*?)"+a+"*\\]","g"),te=new RegExp(G),ne=new RegExp("^"+s+"$"),f={ID:new RegExp("^#("+s+")"),CLASS:new RegExp("^\\.("+s+")"),TAG:new RegExp("^("+s+"|[*])"),ATTR:new RegExp("^"+J),PSEUDO:new RegExp("^"+G),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+a+"*(even|odd|(([+-]|)(\\d*)n|)"+a+"*(?:([+-]|)"+a+"*(\\d+)|))"+a+"*\\)|)","i"),bool:new RegExp("^(?:"+Y+")$","i"),needsContext:new RegExp("^"+a+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+a+"*((?:-\\d)?\\d*)"+a+"*\\)|)(?=[^-]|$)","i")},re=/^(?:input|select|textarea|button)$/i,ie=/^h\d$/i,c=/^[^{]+\{\s*\[native \w/,oe=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ae=/[+~]/,se=/'|\\/g,d=new RegExp("\\\\([\\da-f]{1,6}"+a+"?|("+a+")|.)","ig"),p=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)},ue=function(){C()};try{D.apply(n=V.call(v.childNodes),v.childNodes),n[v.childNodes.length].nodeType}catch(F){D={apply:n.length?function(e,t){U.apply(e,V.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function H(e,t,n,r){var i,o,a,s,u,l,c,f,d=t&&t.ownerDocument,p=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==p&&9!==p&&11!==p)return n;if(!r&&((t?t.ownerDocument||t:v)!==E&&C(t),t=t||E,N)){if(11!==p&&(l=oe.exec(e)))if(i=l[1]){if(9===p){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(d&&(a=d.getElementById(i))&&y(t,a)&&a.id===i)return n.push(a),n}else{if(l[2])return D.apply(n,t.getElementsByTagName(e)),n;if((i=l[3])&&g.getElementsByClassName&&t.getElementsByClassName)return D.apply(n,t.getElementsByClassName(i)),n}if(g.qsa&&!A[e+" "]&&(!m||!m.test(e))){if(1!==p)d=t,f=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(se,"\\$&"):t.setAttribute("id",s=k),o=(c=w(e)).length,u=ne.test(s)?"#"+s:"[id='"+s+"']";o--;)c[o]=u+" "+_(c[o]);f=c.join(","),d=ae.test(e)&&de(t.parentNode)||t}if(f)try{return D.apply(n,d.querySelectorAll(f)),n}catch(h){}finally{s===k&&t.removeAttribute("id")}}}return P(e.replace(L,"$1"),t,n,r)}function le(){var n=[];function r(e,t){return n.push(e+" ")>b.cacheLength&&delete r[n.shift()],r[e+" "]=t}return r}function q(e){return e[k]=!0,e}function h(e){var t=E.createElement("div");try{return!!e(t)}catch(F){return!1}finally{t.parentNode&&t.parentNode.removeChild(t)}}function ce(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function fe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||1<<31)-(~e.sourceIndex||1<<31);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function x(a){return q(function(o){return o=+o,q(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function de(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in g=H.support={},O=H.isXML=function(e){e=e&&(e.ownerDocument||e).documentElement;return!!e&&"HTML"!==e.nodeName},C=H.setDocument=function(e){var e=e?e.ownerDocument||e:v;return e!==E&&9===e.nodeType&&e.documentElement&&(t=(E=e).documentElement,N=!O(E),(e=E.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",ue,!1):e.attachEvent&&e.attachEvent("onunload",ue)),g.attributes=h(function(e){return e.className="i",!e.getAttribute("className")}),g.getElementsByTagName=h(function(e){return e.appendChild(E.createComment("")),!e.getElementsByTagName("*").length}),g.getElementsByClassName=c.test(E.getElementsByClassName),g.getById=h(function(e){return t.appendChild(e).id=k,!E.getElementsByName||!E.getElementsByName(k).length}),g.getById?(b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&N)return(e=t.getElementById(e))?[e]:[]},b.filter.ID=function(e){var t=e.replace(d,p);return function(e){return e.getAttribute("id")===t}}):(delete b.find.ID,b.filter.ID=function(e){var t=e.replace(d,p);return function(e){e="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return e&&e.value===t}}),b.find.TAG=g.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):g.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=g.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&N)return t.getElementsByClassName(e)},r=[],m=[],(g.qsa=c.test(E.querySelectorAll))&&(h(function(e){t.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+a+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+a+"*(?:value|"+Y+")"),e.querySelectorAll("[id~="+k+"-]").length||m.push("~="),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||m.push(".#.+[+~]")}),h(function(e){var t=E.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+a+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(g.matchesSelector=c.test(i=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.msMatchesSelector))&&h(function(e){g.disconnectedMatch=i.call(e,"div"),i.call(e,"[s!='']:x"),r.push("!=",G)}),m=m.length&&new RegExp(m.join("|")),r=r.length&&new RegExp(r.join("|")),e=c.test(t.compareDocumentPosition),y=e||c.test(t.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,t=t&&t.parentNode;return e===t||!(!t||1!==t.nodeType||!(n.contains?n.contains(t):e.compareDocumentPosition&&16&e.compareDocumentPosition(t)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},$=e?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!g.sortDetached&&t.compareDocumentPosition(e)===n?e===E||e.ownerDocument===v&&y(v,e)?-1:t===E||t.ownerDocument===v&&y(v,t)?1:u?j(u,e)-j(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===E?-1:t===E?1:i?-1:o?1:u?j(u,e)-j(u,t):0;if(i===o)return fe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?fe(a[r],s[r]):a[r]===v?-1:s[r]===v?1:0}),E},H.matches=function(e,t){return H(e,null,null,t)},H.matchesSelector=function(e,t){if((e.ownerDocument||e)!==E&&C(e),t=t.replace(ee,"='$1']"),g.matchesSelector&&N&&!A[t+" "]&&(!r||!r.test(t))&&(!m||!m.test(t)))try{var n=i.call(e,t);if(n||g.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(F){}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(d,p),e[3]=(e[3]||e[4]||e[5]||"").replace(d,p),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||H.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&H.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return f.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&te.test(n)&&(t=w(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(d,p).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=W[e+" "];return t||(t=new RegExp("(^|"+a+")"+e+"("+a+"|$)"))&&W(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(e){e=H.attr(e,t);return null==e?"!="===n:!n||(e+="","="===n?e===r:"!="===n?e!==r:"^="===n?r&&0===e.indexOf(r):"*="===n?r&&-1(?:<\/\1>|)$/,G=/^.[^:#\[\.,]*$/;function K(e,n,r){if(C.isFunction(n))return C.grep(e,function(e,t){return!!n.call(e,t,e)!==r});if(n.nodeType)return C.grep(e,function(e){return e===n!==r});if("string"==typeof n){if(G.test(n))return C.filter(n,e,r);n=C.filter(n,e)}return C.grep(e,function(e){return-1)[^>]*|#([\w-]*))$/,ee=((C.fn.init=function(e,t,n){if(!e)return this;if(n=n||Q,"string"!=typeof e)return e.nodeType?(this.context=this[0]=e,this.length=1,this):C.isFunction(e)?"undefined"!=typeof n.ready?n.ready(e):e(C):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),C.makeArray(e,this));if(!(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&3<=e.length?[null,e,null]:Z.exec(e))||!r[1]&&t)return(!t||t.jquery?t||n:this.constructor(t)).find(e);if(r[1]){if(t=t instanceof C?t[0]:t,C.merge(this,C.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:g,!0)),J.test(r[1])&&C.isPlainObject(t))for(var r in t)C.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if((n=g.getElementById(r[2]))&&n.parentNode){if(n.id!==r[2])return Q.find(e);this.length=1,this[0]=n}return this.context=g,this.selector=e,this}).prototype=C.fn,Q=C(g),/^(?:parents|prev(?:Until|All))/),te={children:!0,contents:!0,next:!0,prev:!0};function ne(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}C.fn.extend({has:function(e){var t,n=C(e,this),r=n.length;return this.filter(function(){for(t=0;t
          a",y.leadingWhitespace=3===S.firstChild.nodeType,y.tbody=!S.getElementsByTagName("tbody").length,y.htmlSerialize=!!S.getElementsByTagName("link").length,y.html5Clone="<:nav>"!==g.createElement("nav").cloneNode(!0).outerHTML,q.type="checkbox",q.checked=!0,k.appendChild(q),y.appendChecked=q.checked,S.innerHTML="",y.noCloneChecked=!!S.cloneNode(!0).lastChild.defaultValue,k.appendChild(S),(q=g.createElement("input")).setAttribute("type","radio"),q.setAttribute("checked","checked"),q.setAttribute("name","t"),S.appendChild(q),y.checkClone=S.cloneNode(!0).cloneNode(!0).lastChild.checked,y.noCloneEvent=!!S.addEventListener,S[C.expando]=1,y.attributes=!S.getAttribute(C.expando);var x={option:[1,""],legend:[1,"
          ","
          "],area:[1,"",""],param:[1,"",""],thead:[1,"","
          "],tr:[2,"","
          "],col:[2,"","
          "],td:[3,"","
          "],_default:y.htmlSerialize?[0,"",""]:[1,"X
          ","
          "]};function b(e,t){var n,r,i=0,o="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):undefined;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||C.nodeName(r,t)?o.push(r):C.merge(o,b(r,t));return t===undefined||t&&C.nodeName(e,t)?C.merge([e],o):o}function we(e,t){for(var n,r=0;null!=(n=e[r]);r++)C._data(n,"globalEval",!t||C._data(t[r],"globalEval"))}x.optgroup=x.option,x.tbody=x.tfoot=x.colgroup=x.caption=x.thead,x.th=x.td;var Te=/<|&#?\w+;/,Ce=/"!==f[1]||Ce.test(a)?0:u:u.firstChild)&&a.childNodes.length;o--;)C.nodeName(c=a.childNodes[o],"tbody")&&!c.childNodes.length&&a.removeChild(c);for(C.merge(h,u.childNodes),u.textContent="";u.firstChild;)u.removeChild(u.firstChild);u=p.lastChild}else h.push(t.createTextNode(a));for(u&&p.removeChild(u),y.appendChecked||C.grep(b(h,"input"),Ee),g=0;a=h[g++];)if(r&&-1]","i"),Pe=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Be=/\s*$/g,ze=be(g).appendChild(g.createElement("div"));function Xe(e,t){return C.nodeName(e,"table")&&C.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ue(e){return e.type=(null!==C.find.attr(e,"type"))+"/"+e.type,e}function Ve(e){var t=Ie.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Ye(e,t){if(1===t.nodeType&&C.hasData(e)){var n,r,i,e=C._data(e),o=C._data(t,e),a=e.events;if(a)for(n in delete o.handle,o.events={},a)for(r=0,i=a[n].length;r")},clone:function(e,t,n){var r,i,o,a,s,u=C.contains(e.ownerDocument,e);if(y.html5Clone||C.isXMLDoc(e)||!Re.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(ze.innerHTML=e.outerHTML,ze.removeChild(o=ze.firstChild)),!(y.noCloneEvent&&y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||C.isXMLDoc(e)))for(r=b(o),s=b(e),a=0;null!=(i=s[a]);++a)if(r[a]){f=c=l=p=d=void 0;var l,c,f,d=i,p=r[a];if(1===p.nodeType){if(l=p.nodeName.toLowerCase(),!y.noCloneEvent&&p[C.expando]){for(c in(f=C._data(p)).events)C.removeEvent(p,c,f.handle);p.removeAttribute(C.expando)}"script"===l&&p.text!==d.text?(Ue(p).text=d.text,Ve(p)):"object"===l?(p.parentNode&&(p.outerHTML=d.outerHTML),y.html5Clone&&d.innerHTML&&!C.trim(p.innerHTML)&&(p.innerHTML=d.innerHTML)):"input"===l&&ge.test(d.type)?(p.defaultChecked=p.checked=d.checked,p.value!==d.value&&(p.value=d.value)):"option"===l?p.defaultSelected=p.selected=d.defaultSelected:"input"!==l&&"textarea"!==l||(p.defaultValue=d.defaultValue)}}if(t)if(n)for(s=s||b(e),r=r||b(o),a=0;null!=(i=s[a]);a++)Ye(i,r[a]);else Ye(e,o);return 0<(r=b(o,"script")).length&&we(r,!u&&b(e,"script")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=C.expando,u=C.cache,l=y.attributes,c=C.event.special;null!=(n=e[a]);a++)if((t||v(n))&&(o=(i=n[s])&&u[i])){if(o.events)for(r in o.events)c[r]?C.event.remove(n,r):C.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l||"undefined"==typeof n.removeAttribute?n[s]=undefined:n.removeAttribute(s),f.push(i))}}}),C.fn.extend({domManip:w,detach:function(e){return Je(this,e,!0)},remove:function(e){return Je(this,e)},text:function(e){return d(this,function(e){return e===undefined?C.text(this):this.empty().append((this[0]&&this[0].ownerDocument||g).createTextNode(e))},null,e,arguments.length)},append:function(){return w(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Xe(this,e).appendChild(e)})},prepend:function(){return w(this,arguments,function(e){var t;1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(t=Xe(this,e)).insertBefore(e,t.firstChild)})},before:function(){return w(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return w(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&C.cleanData(b(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&C.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return C.clone(this,e,t)})},html:function(e){return d(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined)return 1===t.nodeType?t.innerHTML.replace(Oe,""):undefined;if("string"==typeof e&&!Be.test(e)&&(y.htmlSerialize||!Re.test(e))&&(y.leadingWhitespace||!ve.test(e))&&!x[(me.exec(e)||["",""])[1].toLowerCase()]){e=C.htmlPrefilter(e);try{for(;n")).appendTo(t.documentElement))[0].contentWindow||Ge[0].contentDocument).document).write(),t.close(),n=Qe(e,t),Ge.detach()),Ke[e]=n),n}var n,et,tt,nt,rt,it,ot,a,at=/^margin/,st=new RegExp("^("+e+")(?!px)[a-z%]+$","i"),ut=function(e,t,n,r){var i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.apply(e,r||[]),t)e.style[i]=o[i];return r},lt=g.documentElement;function t(){var e,t=g.documentElement;t.appendChild(ot),a.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",n=tt=it=!1,et=rt=!0,T.getComputedStyle&&(e=T.getComputedStyle(a),n="1%"!==(e||{}).top,it="2px"===(e||{}).marginLeft,tt="4px"===(e||{width:"4px"}).width,a.style.marginRight="50%",et="4px"===(e||{marginRight:"4px"}).marginRight,(e=a.appendChild(g.createElement("div"))).style.cssText=a.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",e.style.marginRight=e.style.width="0",a.style.width="1px",rt=!parseFloat((T.getComputedStyle(e)||{}).marginRight),a.removeChild(e)),a.style.display="none",(nt=0===a.getClientRects().length)&&(a.style.display="",a.innerHTML="
          t
          ",a.childNodes[0].style.borderCollapse="separate",(e=a.getElementsByTagName("td"))[0].style.cssText="margin:0;border:0;padding:0;display:none",(nt=0===e[0].offsetHeight)&&(e[0].style.display="",e[1].style.display="none",nt=0===e[0].offsetHeight)),t.removeChild(ot)}ot=g.createElement("div"),(a=g.createElement("div")).style&&(a.style.cssText="float:left;opacity:.5",y.opacity="0.5"===a.style.opacity,y.cssFloat=!!a.style.cssFloat,a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===a.style.backgroundClip,(ot=g.createElement("div")).style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",a.innerHTML="",ot.appendChild(a),y.boxSizing=""===a.style.boxSizing||""===a.style.MozBoxSizing||""===a.style.WebkitBoxSizing,C.extend(y,{reliableHiddenOffsets:function(){return null==n&&t(),nt},boxSizingReliable:function(){return null==n&&t(),tt},pixelMarginRight:function(){return null==n&&t(),et},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),rt},reliableMarginLeft:function(){return null==n&&t(),it}}));var l,p,ct=/^(top|right|bottom|left)$/;function ft(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}T.getComputedStyle?(l=function(e){var t=e.ownerDocument.defaultView;return(t=t&&t.opener?t:T).getComputedStyle(e)},p=function(e,t,n){var r,i,o=e.style;return""!==(i=(n=n||l(e))?n.getPropertyValue(t)||n[t]:undefined)&&i!==undefined||C.contains(e.ownerDocument,e)||(i=C.style(e,t)),n&&!y.pixelMarginRight()&&st.test(i)&&at.test(t)&&(e=o.width,t=o.minWidth,r=o.maxWidth,o.minWidth=o.maxWidth=o.width=i,i=n.width,o.width=e,o.minWidth=t,o.maxWidth=r),i===undefined?i:i+""}):lt.currentStyle&&(l=function(e){return e.currentStyle},p=function(e,t,n){var r,i,o,a=e.style;return null==(n=(n=n||l(e))?n[t]:undefined)&&a&&a[t]&&(n=a[t]),st.test(n)&&!ct.test(t)&&(r=a.left,(o=(i=e.runtimeStyle)&&i.left)&&(i.left=e.currentStyle.left),a.left="fontSize"===t?"1em":n,n=a.pixelLeft+"px",a.left=r,o&&(i.left=o)),n===undefined?n:n+""||"auto"});var dt=/alpha\([^)]*\)/i,pt=/opacity\s*=\s*([^)]*)/i,ht=/^(none|table(?!-c[ea]).+)/,gt=new RegExp("^("+e+")(.*)$","i"),mt={position:"absolute",visibility:"hidden",display:"block"},yt={letterSpacing:"0",fontWeight:"400"},vt=["Webkit","O","Moz","ms"],xt=g.createElement("div").style;function bt(e){if(e in xt)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=vt.length;n--;)if((e=vt[n]+t)in xt)return e}function wt(e,t){for(var n,r,i,o=[],a=0,s=e.length;a
          a",F=q.getElementsByTagName("a")[0],k.setAttribute("type","checkbox"),q.appendChild(k),(F=q.getElementsByTagName("a")[0]).style.cssText="top:1px",y.getSetAttribute="t"!==q.className,y.style=/top/.test(F.getAttribute("style")),y.hrefNormalized="/a"===F.getAttribute("href"),y.checkOn=!!k.value,y.optSelected=e.selected,y.enctype=!!g.createElement("form").enctype,S.disabled=!0,y.optDisabled=!e.disabled,(k=g.createElement("input")).setAttribute("value",""),y.input=""===k.getAttribute("value"),k.value="t",k.setAttribute("type","radio"),y.radioValue="t"===k.value;var Lt=/\r/g,Ht=/[\x20\t\r\n\f]+/g;C.fn.extend({val:function(t){var n,e,r,i=this[0];return arguments.length?(r=C.isFunction(t),this.each(function(e){1===this.nodeType&&(null==(e=r?t.call(this,e,C(this).val()):t)?e="":"number"==typeof e?e+="":C.isArray(e)&&(e=C.map(e,function(e){return null==e?"":e+""})),(n=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()])&&"set"in n&&n.set(this,e,"value")!==undefined||(this.value=e))})):i?(n=C.valHooks[i.type]||C.valHooks[i.nodeName.toLowerCase()])&&"get"in n&&(e=n.get(i,"value"))!==undefined?e:"string"==typeof(e=i.value)?e.replace(Lt,""):null==e?"":e:void 0}}),C.extend({valHooks:{option:{get:function(e){var t=C.find.attr(e,"value");return null!=t?t:C.trim(C.text(e)).replace(Ht," ")}},select:{get:function(e){for(var t,n=e.options,r=e.selectedIndex,i="select-one"===e.type||r<0,o=i?null:[],a=i?r+1:n.length,s=r<0?a:i?r:0;s").append(C.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},C.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){C.fn[t]=function(e){return this.on(t,e)}}),C.expr.filters.animated=function(t){return C.grep(C.timers,function(e){return t===e.elem}).length},C.offset={setOffset:function(e,t,n){var r,i,o,a,s=C.css(e,"position"),u=C(e),l={};"static"===s&&(e.style.position="relative"),o=u.offset(),r=C.css(e,"top"),a=C.css(e,"left"),s=("absolute"===s||"fixed"===s)&&-1'+(s?a.title[0]:a.title)+"
          ":"";return a.zIndex=o,t([a.shade?'
          ':"",'
          '+(e&&2!=a.type?"":s)+"'+(n=["layui-icon-tips","layui-icon-success","layui-icon-error","layui-icon-question","layui-icon-lock","layui-icon-face-cry","layui-icon-face-smile"],o="layui-anim layui-anim-rotate layui-anim-loop",0==a.type&&-1!==a.icon?'':3==a.type?(i=["layui-icon-loading","layui-icon-loading-1"],2==a.icon?'
          ':''):"")+((1!=a.type||!e)&&a.content||"")+'
          '+(n=[],l&&(n.push(''),n.push('')),a.closeBtn&&n.push(''),n.join(""))+"
          "+(a.btn?function(){var e="";"string"==typeof a.btn&&(a.btn=[a.btn]);for(var t=0,i=a.btn.length;t'+a.btn[t]+"";return'
          '+e+"
          "}():"")+(a.resize?'':"")+"
          "],s,m('
          ')),this},t.pt.creat=function(){var e,n=this,a=n.config,o=n.index,s="object"==typeof(r=a.content),l=m("body");if(!a.id||!m("."+d[0]).find("#"+a.id)[0]){switch(a.removeFocus&&document.activeElement.blur(),"string"==typeof a.area&&(a.area="auto"===a.area?["",""]:[a.area,""]),a.shift&&(a.anim=a.shift),6==h.ie&&(a.fixed=!1),a.type){case 0:a.btn="btn"in a?a.btn:f.btn[0],h.closeAll("dialog");break;case 2:var r=a.content=s?a.content:[a.content||"","auto"];a.content='';break;case 3:delete a.title,delete a.closeBtn,-1===a.icon&&a.icon,h.closeAll("loading");break;case 4:s||(a.content=[a.content,"body"]),a.follow=a.content[1],a.content=a.content[0]+'',delete a.title,a.tips="object"==typeof a.tips?a.tips:[a.tips,!0],a.tipsMore||h.closeAll("tips")}n.vessel(s,function(e,t,i){l.append(e[0]),s?2==a.type||4==a.type?m("body").append(e[1]):r.parents("."+d[0])[0]||(r.data("display",r.css("display")).show().addClass("layui-layer-wrap").wrap(e[1]),m("#"+d[0]+o).find("."+d[5]).before(t)):l.append(e[1]),m("#"+d.MOVE)[0]||l.append(f.moveElem=i),n.layero=m("#"+d[0]+o),n.shadeo=m("#"+d.SHADE+o),a.scrollbar||d.html.css("overflow","hidden").attr("layer-full",o)}).auto(o),n.shadeo.css({"background-color":a.shade[1]||"#000",opacity:a.shade[0]||a.shade}),2==a.type&&6==h.ie&&n.layero.find("iframe").attr("src",r[0]),4==a.type?n.tips():(n.offset(),parseInt(f.getStyle(document.getElementById(d.MOVE),"z-index"))||(n.layero.css("visibility","hidden"),h.ready(function(){n.offset(),n.layero.css("visibility","visible")}))),!a.fixed||f.events.resize[n.index]||(f.events.resize[n.index]=function(){n.resize()},c.on("resize",f.events.resize[n.index])),a.time<=0||setTimeout(function(){h.close(n.index)},a.time),n.move().callback(),d.anim[a.anim]&&(e="layer-anim "+d.anim[a.anim],n.layero.addClass(e).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){m(this).removeClass(e)})),a.isOutAnim&&n.layero.data({isOutAnim:!0,anim:a.anim})}},t.pt.resize=function(){var e=this,t=e.config;e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(e.index),4==t.type&&e.tips()},t.pt.auto=function(e){var t=this.config,i=m("#"+d[0]+e),n=(""===t.area[0]&&0t.maxWidth&&i.width(t.maxWidth)),[i.innerWidth(),i.innerHeight()]),a=i.find(d[1]).outerHeight()||0,o=i.find("."+d[6]).outerHeight()||0,e=function(e){(e=i.find(e)).height(n[1]-a-o-2*(0|parseFloat(e.css("padding-top"))))};return 2===t.type?e("iframe"):""===t.area[1]?0t.maxHeight?(n[1]=t.maxHeight,e("."+d[5])):t.fixed&&n[1]>=c.height()&&(n[1]=c.height(),e("."+d[5])):e("."+d[5]),this},t.pt.offset=function(){var e=this,t=e.config,i=e.layero,n=[i.outerWidth(),i.outerHeight()],a="object"==typeof t.offset;e.offsetTop=(c.height()-n[1])/2,e.offsetLeft=(c.width()-n[0])/2,a?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=c.width()-n[0]:"b"===t.offset?e.offsetTop=c.height()-n[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=c.height()-n[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=c.width()-n[0]):"rb"===t.offset?(e.offsetTop=c.height()-n[1],e.offsetLeft=c.width()-n[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?c.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?c.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=c.scrollTop(),e.offsetLeft+=c.scrollLeft()),"min"===i.data("maxminStatus")&&(e.offsetTop=c.height()-(i.find(d[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},t.pt.tips=function(){var e=this.config,t=this.layero,i=[t.outerWidth(),t.outerHeight()],n=m(e.follow),a={width:(n=n[0]?n:m("body")).outerWidth(),height:n.outerHeight(),top:n.offset().top,left:n.offset().left},o=t.find(".layui-layer-TipsG"),n=e.tips[0];e.tips[1]||o.remove(),a.autoLeft=function(){0c.width()&&(a=c.width()-180-(f.minStackArr.edgeIndex=f.minStackArr.edgeIndex||0,f.minStackArr.edgeIndex+=3))<0&&(a=0),t.minStack&&(s.left=a,s.top=c.height()-i,n||f.minStackIndex++,l.attr("minLeft",a)),l.attr("position",o),h.style(e,s,!0),l.find(".layui-layer-min").hide(),"page"===l.attr("type")&&l.find(d[4]).hide(),f.rescollbar(e),r.hide())},h.restore=function(e){var t=m("#"+d[0]+e),i=m("#"+d.SHADE+e),n=t.attr("area").split(","),a=t.attr("type");t.removeData("maxminStatus"),h.style(e,{width:n[0],height:n[1],top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===a&&t.find(d[4]).show(),f.rescollbar(e),i.show()},h.full=function(t){var i=m("#"+d[0]+t),e=i.data("maxminStatus");"max"!==e&&("min"===e&&h.restore(t),i.data("maxminStatus","max"),f.record(i),d.html.attr("layer-full")||d.html.css("overflow","hidden").attr("layer-full",t),clearTimeout(void 0),setTimeout(function(){var e="fixed"===i.css("position");h.style(t,{top:e?0:c.scrollTop(),left:e?0:c.scrollLeft(),width:"100%",height:"100%"},!0),i.find(".layui-layer-min").hide()},100))},h.title=function(e,t){m("#"+d[0]+(t||h.index)).find(d[1]).html(e)},h.close=function(a,o){var s,e,l=(t=m("."+d[0]).find("#"+a).closest("."+d[0]))[0]?(a=t.attr("times"),t):m("#"+d[0]+a),r=l.attr("type"),t=l.data()||{},i={slideDown:"layer-anim-slide-down-out",slideLeft:"layer-anim-slide-left-out",slideUp:"layer-anim-slide-up-out",slideRight:"layer-anim-slide-right-out"}[t.anim]||"layer-anim-close";l[0]&&(s="layui-layer-wrap",e=function(){if(r===f.type[1]&&"object"===l.attr("conType")){l.children(":not(."+d[5]+")").remove();for(var e=l.find("."+s),t=0;t<2;t++)e.unwrap();e.css("display",e.data("display")).removeClass(s)}else{if(r===f.type[2])try{var i=m("#"+d[4]+a)[0];i.contentWindow.document.write(""),i.contentWindow.close(),l.find("."+d[5])[0].removeChild(i)}catch(n){}l[0].innerHTML="",l.remove()}"function"==typeof f.end[a]&&f.end[a](),delete f.end[a],"function"==typeof o&&o(),f.events.resize[a]&&(c.off("resize",f.events.resize[a]),delete f.events.resize[a])},t.isOutAnim&&l.addClass("layer-anim "+i),m("#layui-layer-moves, #"+d.SHADE+a).remove(),6==h.ie&&f.reselect(),f.rescollbar(a),"string"==typeof l.attr("minLeft")&&(f.minStackIndex--,f.minStackArr.push(l.attr("minLeft"))),h.ie&&h.ie<10||!l.data("isOutAnim")?e():setTimeout(function(){e()},200))},h.closeAll=function(n,a){"function"==typeof n&&(a=n,n=null);var o=m("."+d[0]);m.each(o,function(e){var t=m(this),i=n?t.attr("type")===n:1;i&&h.close(t.attr("times"),e===o.length-1?a:null)}),0===o.length&&"function"==typeof a&&a()},h.closeLast=function(e){h.close(m(".layui-layer-"+(e=e||"page")+":last").attr("times"))},h.cache||{}),g=function(e){return i.skin?" "+i.skin+" "+i.skin+"-"+e:""};h.prompt=function(i,n){var e="",t="";"function"==typeof(i=i||{})&&(n=i),i.area&&(e='style="width: '+(o=i.area)[0]+"; height: "+o[1]+';"',delete i.area),i.placeholder&&(t=' placeholder="'+i.placeholder+'"');var a,o=2==i.formType?'":'",s=i.success;return delete i.success,h.open(m.extend({type:1,btn:["确定","取消"],content:o,skin:"layui-layer-prompt"+g("prompt"),maxWidth:c.width(),success:function(e){(a=e.find(".layui-layer-input")).val(i.value||"").focus(),"function"==typeof s&&s(e)},resize:!1,yes:function(e){var t=a.val();t.length>(i.maxlength||500)?h.tips("最多输入"+(i.maxlength||500)+"个字数",a,{tips:1}):n&&n(t,e,a)}},i))},h.tab=function(n){var a=(n=n||{}).tab||{},o="layui-this",s=n.success;return delete n.success,h.open(m.extend({type:1,skin:"layui-layer-tab"+g("tab"),resize:!1,title:function(){var e=a.length,t=1,i="";if(0'+a[0].title+"";t"+a[t].title+"";return i}(),content:'
            '+function(){var e=a.length,t=1,i="";if(0'+(a[0].content||"no content")+"";t'+(a[t].content||"no content")+"";return i}()+"
          ",success:function(e){var t=e.find(".layui-layer-title").children(),i=e.find(".layui-layer-tabmain").children();t.on("mousedown",function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0;var e=m(this),t=e.index();e.addClass(o).siblings().removeClass(o),i.eq(t).show().siblings().hide(),"function"==typeof n.change&&n.change(t)}),"function"==typeof s&&s(e)}},n))},h.photos=function(n,e,a){var o={};if((n=n||{}).photos){var t=!("string"==typeof n.photos||n.photos instanceof m),i=t?n.photos:{},s=i.data||[],l=i.start||0,r=(o.imgIndex=1+(0|l),n.img=n.img||"img",n.success);if(delete n.success,t){if(0===s.length)return h.msg("没有图片")}else{var c=m(n.photos),f=function(){s=[],c.find(n.img).each(function(e){var t=m(this);t.attr("layer-index",e),s.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("lay-src")||t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(f(),0===s.length)return;if(e||c.on("click",n.img,function(){f();var e=m(this).attr("layer-index");h.photos(m.extend(n,{photos:{start:e,data:s,tab:n.tab},full:n.full}),!0)}),!e)return}o.imgprev=function(e){o.imgIndex--,o.imgIndex<1&&(o.imgIndex=s.length),o.tabimg(e)},o.imgnext=function(e,t){o.imgIndex++,o.imgIndex>s.length&&(o.imgIndex=1,t)||o.tabimg(e)},o.keyup=function(e){var t;o.end||(t=e.keyCode,e.preventDefault(),37===t?o.imgprev(!0):39===t?o.imgnext(!0):27===t&&h.close(o.index))},o.tabimg=function(e){if(!(s.length<=1))return i.start=o.imgIndex-1,h.close(o.index),h.photos(n,!0,e)},o.event=function(){o.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),o.imgprev(!0)}),o.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),o.imgnext(!0)}),m(document).on("keyup",o.keyup)},o.loadi=h.load(1,{shade:!("shade"in n)&&.9,scrollbar:!1});var t=s[l].src,d=function(e){h.close(o.loadi);var t,i=s[l].alt||"";a&&(n.anim=-1),o.index=h.open(m.extend({type:1,id:"layui-layer-photos",area:(e=[e.width,e.height],t=[m(p).width()-100,m(p).height()-100],!n.full&&(e[0]>t[0]||e[1]>t[1])&&((t=[e[0]/t[0],e[1]/t[1]])[1]'+i+''+(t=['
          '],1','','',"
          "].join("")),n.hideFooter||t.push(['
          ','
          ',"

          "+i+"

          ",""+o.imgIndex+" / "+s.length+"",'\u67e5\u770b\u539f\u56fe',"
          ","
          "].join("")),t.push(""),t.join(""))+"",success:function(e,t){o.bigimg=e.find(".layui-layer-phimg"),o.imgsee=e.find(".layui-layer-imgbar"),o.event(e),n.tab&&n.tab(s[l],e),"function"==typeof r&&r(e)},end:function(){o.end=!0,m(document).off("keyup",o.keyup)}},n))},u=function(){h.close(o.loadi),h.msg("当前图片地址异常
          是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){1").addClass(a));layui.each(i.bars,function(e,t){var n=s('
        • ');n.addClass(t.icon).attr({"lay-type":t.type,style:t.style||"background-color: "+i.bgcolor}).html(t.content),n.on("click",function(){var e=s(this).attr("lay-type");"top"===e&&("body"===i.target?s("html,body"):c).animate({scrollTop:0},i.duration),"function"==typeof i.click&&i.click.call(this,e)}),"object"===layui.type(i.on)&&layui.each(i.on,function(e,t){n.on(e,function(){var e=s(this).attr("lay-type");"function"==typeof t&&t.call(this,e)})}),"top"===t.type&&(n.addClass("layui-fixbar-top"),o=n),u.append(n)}),l.find("."+a).remove(),"object"==typeof i.css&&u.css(i.css),l.append(u),o&&(t=function t(){return c.scrollTop()>=i.margin?e||(o.show(),e=1):e&&(o.hide(),e=0),t}()),c.on("scroll",function(){t&&(clearTimeout(n),n=setTimeout(function(){t()},100))})},countdown:function(e,t,n){var i=this,o="function"==typeof t,a=new Date(e).getTime(),r=new Date(!t||o?(new Date).getTime():t).getTime(),a=a-r,l=[Math.floor(a/864e5),Math.floor(a/36e5)%24,Math.floor(a/6e4)%60,Math.floor(a/1e3)%60],o=(o&&(n=t),setTimeout(function(){i.countdown(e,r+1e3,n)},1e3));return n&&n(0]|&(?=#[a-zA-Z0-9]+)/g.test(e+="")?e.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,"""):e},unescape:function(e){return e!==undefined&&null!==e||(e=""),(e+="").replace(/\&/g,"&").replace(/\</g,"<").replace(/\>/g,">").replace(/\'/g,"'").replace(/\"/g,'"')},openWin:function(e){var t=(e=e||{}).window||window.open(e.url||"",e.target,e.specs);e.url||(t.document.open("text/html","replace"),t.document.write(e.content||""),t.document.close())},toVisibleArea:function(e){var t,n,i,o,a,r,l,c;(e=s.extend({margin:160,duration:200,type:"y"},e)).scrollElem[0]&&e.thisElem[0]&&(t=e.scrollElem,l=e.thisElem,i=(a="y"===e.type)?"top":"left",o=t[n=a?"scrollTop":"scrollLeft"](),a=t[a?"height":"width"](),r=t.offset()[i],c={},((l=l.offset()[i]-r)>a-e.margin||l."+h,k=function(e){var i=this;i.index=++p.index,i.config=s.extend({},i.config,p.config,e),i.init()};k.prototype.config={trigger:"click",content:"",className:"",style:"",show:!1,isAllowSpread:!0,isSpreadItem:!0,data:[],delay:300,shade:0},k.prototype.reload=function(e,i){var t=this;t.config=s.extend({},t.config,e),t.init(!0,i)},k.prototype.init=function(e,i){var t,n=this,a=n.config,l=s(a.elem);return 1');return 0No data
        • '),e},u=function(r,e){return layui.each(e,function(e,i){var t,n=i.child&&0",(t="href"in i?''+l+"":l,n?'
          '+t+("parent"===o?'':"group"===o&&d.isAllowSpread?'':"")+"
          ":'
          '+t+"
          "),""].join(""))).data("item",i),n&&(a=s('
          '),t=s("
            "),"parent"===o?(a.append(u(t,i.child)),l.append(a)):l.append(u(t,i.child))),r.append(l))}),r},a=['
            ',"
            "].join("");!(e="contextmenu"!==d.trigger&&!lay.isTopElem(d.elem[0])?e:!0)&&d.elem.data(m+"_opened")||(l.elemView=s("."+f+'[lay-id="'+d.id+'"]'),"reloadData"===i&&l.elemView.length?l.elemView.html(d.content||n()):(l.elemView=s(a),l.elemView.append(d.content||n()),d.className&&l.elemView.addClass(d.className),d.style&&l.elemView.attr("style",d.style),p.thisId=d.id,l.remove(),t.append(l.elemView),d.elem.data(m+"_opened",!0),e=d.shade?'
            ':"",l.elemView.before(e),"mouseenter"===d.trigger&&l.elemView.on("mouseenter",function(){clearTimeout(y.timer)}).on("mouseleave",function(){l.delayRemove()})),l.position(),(y.prevElem=l.elemView).data("prevElem",d.elem),l.elemView.find(".layui-menu").on(o,function(e){layui.stope(e)}),l.elemView.find(".layui-menu li").on("click",function(e){var i=s(this),t=i.data("item")||{},n=t.child&&0n.width()&&(t.addClass(V),(i=t[0].getBoundingClientRect()).left<0&&t.removeClass(V)),i.bottom>n.height()&&t.eq(0).css("margin-top",-(i.bottom-n.height()+5)))}).on("mouseleave",t,function(e){var i=s(this).children("."+C);i.removeClass(V),i.css("margin-top",0)}),p.close=function(e){e=y.getThis(e);return e?(e.remove(),y.call(e)):this},p.reload=function(e,i,t){e=y.getThis(e);return e?(e.reload(i,t),y.call(e)):this},p.reloadData=function(){var t=s.extend([],arguments),n=(t[2]="reloadData",new RegExp("^("+["data","templet","content"].join("|")+")$"));return layui.each(t[1],function(e,i){n.test(e)||delete t[1][e]}),p.reload.apply(null,t)},p.render=function(e){e=new k(e);return y.call(e)},e(r,p)});layui.define(["jquery","lay"],function(e){"use strict";var g=layui.$,c=layui.lay,m={config:{},index:layui.slider?layui.slider.index+1e4:0,set:function(e){var i=this;return i.config=g.extend({},i.config,e),i},on:function(e,i){return layui.onevent.call(this,t,e,i)}},t="slider",v="layui-disabled",x="layui-slider-bar",b="layui-slider-wrap",T="layui-slider-wrap-btn",w="layui-slider-tips",M="layui-slider-input-txt",L="layui-slider-hover",i=function(e){var i=this;i.index=++m.index,i.config=g.extend({},i.config,m.config,e),i.render()};i.prototype.config={type:"default",min:0,max:100,value:0,step:1,showstep:!1,tips:!0,input:!1,range:!1,height:200,disabled:!1,theme:"#16baaa"},i.prototype.render=function(){var a=this,n=a.config,e=g(n.elem);if(1n.min?e:n.min,n.value[1]=i>n.min?i:n.min,n.value[0]=n.value[0]>n.max?n.max:n.value[0],n.value[1]=n.value[1]>n.max?n.max:n.value[1],i=Math.floor((n.value[0]-n.min)/(n.max-n.min)*100),t=(s=Math.floor((n.value[1]-n.min)/(n.max-n.min)*100))-i+"%",i+="%",s+="%"):("object"==typeof n.value&&(n.value=Math.min.apply(null,n.value)),n.valuen.max&&(n.value=n.max),t=Math.floor((n.value-n.min)/(n.max-n.min)*100)+"%");var l,e=n.disabled?"#c2c2c2":n.theme,i='
            '+(n.tips?'
            ':"")+'
            '+(n.range?'
            ':"")+"
            ",t=g(n.elem),s=t.next(".layui-slider");if(s[0]&&s.remove(),a.elemTemp=g(i),n.range?(a.elemTemp.find("."+b).eq(0).data("value",n.value[0]),a.elemTemp.find("."+b).eq(1).data("value",n.value[1])):a.elemTemp.find("."+b).data("value",n.value),t.html(a.elemTemp),"vertical"===n.type&&a.elemTemp.height(n.height+"px"),n.showstep){for(var o=(n.max-n.min)/n.step,r="",u=1;u<1+o;u++){var d=100*u/o;d<100&&(r+='
            ')}a.elemTemp.append(r)}n.input&&!n.range&&(e=g('
            '),t.css("position","relative"),t.append(e),t.find("."+M).children("input").val(n.value),"vertical"===n.type?e.css({left:0,top:-48}):a.elemTemp.css("margin-right",e.outerWidth()+15)),n.disabled?(a.elemTemp.addClass(v),a.elemTemp.find("."+T).addClass(v)):a.slide(),a.elemTemp.find("."+T).on("mouseover",function(){var e="vertical"===n.type?n.height:a.elemTemp[0].offsetWidth,i=a.elemTemp.find("."+b),t=("vertical"===n.type?e-g(this).parent()[0].offsetTop-i.height():g(this).parent()[0].offsetLeft)/e*100,i=g(this).parent().data("value"),e=n.setTips?n.setTips(i):i;a.elemTemp.find("."+w).html(e),clearTimeout(l),l=setTimeout(function(){"vertical"===n.type?a.elemTemp.find("."+w).css({bottom:t+"%","margin-bottom":"20px",display:"inline-block"}):a.elemTemp.find("."+w).css({left:t+"%",display:"inline-block"})},300)}).on("mouseout",function(){clearTimeout(l),a.elemTemp.find("."+w).css("display","none")})},i.prototype.slide=function(e,i,t){var o=this,r=o.config,u=o.elemTemp,d=function(){return"vertical"===r.type?r.height:u[0].offsetWidth},c=u.find("."+b),m=u.next(".layui-slider-input"),v=m.children("."+M).children("input").val(),p=100/((r.max-r.min)/Math.ceil(r.step)),f=function(e,i,t){e=(e=100<(e=100a[1]&&a.reverse(),o.value=r.range?a:l,r.change&&r.change(o.value),"done"===t&&r.done&&r.done(o.value)},h=function(e){var i=e/d()*100/p,t=Math.round(i)*p;return t=e==d()?Math.ceil(i)*p:t},y=g(['
            d()?d():i)/d()*100/p;f(i,l),s.addClass(L),u.find("."+w).show(),e.preventDefault()},i=function(){s.removeClass(L),u.find("."+w).hide()},t=function(){i&&i(),y.remove(),r.done&&r.done(o.value)},g("#LAY-slider-moving")[0]||g("body").append(y),y.on("mousemove",e),y.on("mouseup",t).on("mouseleave",t)})}),u.on("click",function(e){var i=g("."+T),t=g(this);!i.is(event.target)&&0===i.has(event.target).length&&i.length&&(t=(i=(i=(i="vertical"===r.type?d()-e.clientY+t.offset().top-g(window).scrollTop():e.clientX-t.offset().left-g(window).scrollLeft())<0?0:i)>d()?d():i)/d()*100/p,i=r.range?"vertical"===r.type?Math.abs(i-parseInt(g(c[0]).css("bottom")))>Math.abs(i-parseInt(g(c[1]).css("bottom")))?1:0:Math.abs(i-c[0].offsetLeft)>Math.abs(i-c[1].offsetLeft)?1:0:0,f(t,i,"done"),e.preventDefault())}),m.children(".layui-slider-input-btn").children("i").each(function(i){g(this).on("click",function(){v=m.children("."+M).children("input").val();var e=((v=1==i?v-r.stepr.max?r.max:Number(v)+r.step)-r.min)/(r.max-r.min)*100/p;f(e,0,"done")})});var a=function(){var e=this.value,e=(e=(e=(e=isNaN(e)?0:e)r.max?r.max:e,((this.value=e)-r.min)/(r.max-r.min)*100/p);f(e,0,"done")};m.children("."+M).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),a.call(this))}).on("change",a)},i.prototype.events=function(){this.config},m.render=function(e){e=new i(e);return function(){var t=this,a=t.config;return{setValue:function(e,i){return e=(e=e>a.max?a.max:e)',"",'','',"","","
            "].join("")),r=i.elem=m(i.elem);i.size&&o.addClass("layui-colorpicker-"+i.size),r.addClass("layui-inline").html(e.elemColorBox=o),i.id="id"in i?i.id:r.attr("id")||e.index,e.color=e.elemColorBox.find("."+C)[0].style.background,e.events()},d.prototype.renderPicker=function(){var o,e=this,i=e.config,r=e.elemColorBox[0],t=e.elemPicker=m(['
            ','
            ','
            ','
            ','
            ','
            ',"
            ",'
            ','
            ',"
            ","
            ",'
            ','
            ','
            ',"
            ","
            ",i.predefine?(o=['
            '],layui.each(i.colors,function(e,i){o.push(['
            ','
            ',"
            "].join(""))}),o.push("
            "),o.join("")):"",'
            ','
            ','',"
            ",'
            ','','',"","
            "].join(""));e.elemColorBox.find("."+C)[0];m(a)[0]&&m(a).data("index")==e.index?e.removePicker(d.thisElemInd):(e.removePicker(d.thisElemInd),m("body").append(t)),n.thisId=i.id,d.thisElemInd=e.index,d.thisColor=r.style.background,e.position(),e.pickerEvents()},d.prototype.removePicker=function(e){var i=this.config,e=m("#layui-colorpicker"+(e||this.index));return e[0]&&(e.remove(),delete n.thisId,"function"==typeof i.close&&i.close(this.color)),this},d.prototype.position=function(){var e=this,i=e.config;return t.position(e.bindElem||e.elemColorBox[0],e.elemPicker[0],{position:i.position,align:"center"}),e},d.prototype.val=function(){var e,i=this,o=(i.config,i.elemColorBox.find("."+C)),r=i.elemPicker.find("."+M),t=o[0].style.backgroundColor;t?(e=Y(L(t)),o=o.attr("lay-type"),i.select(e.h,e.s,e.b),"torgb"===o?r.find("input").val(t):"rgba"===o?(o=L(t),3===(t.match(/[0-9]{1,3}/g)||[]).length?(r.find("input").val("rgba("+o.r+", "+o.g+", "+o.b+", 1)"),i.elemPicker.find("."+T).css("left",280)):(r.find("input").val(t),t=280*t.slice(t.lastIndexOf(",")+1,t.length-1),i.elemPicker.find("."+T).css("left",t)),i.elemPicker.find("."+D)[0].style.background="linear-gradient(to right, rgba("+o.r+", "+o.g+", "+o.b+", 0), rgb("+o.r+", "+o.g+", "+o.b+"))"):r.find("input").val("#"+F(e))):(i.select(0,100,100),r.find("input").val(""),i.elemPicker.find("."+D)[0].style.background="",i.elemPicker.find("."+T).css("left",280))},d.prototype.side=function(){var n=this,l=n.config,c=n.elemColorBox.find("."+C),a=c.attr("lay-type"),s=n.elemPicker.find(".layui-colorpicker-side"),e=n.elemPicker.find("."+B),d=n.elemPicker.find("."+I),r=n.elemPicker.find("."+E),f=n.elemPicker.find("."+D),u=n.elemPicker.find("."+T),g=e[0].offsetTop/180*360,p=100-(r[0].offsetTop+3)/180*100,h=(r[0].offsetLeft+3)/260*100,v=Math.round(u[0].offsetLeft/280*100)/100,b=n.elemColorBox.find("."+w),i=n.elemPicker.find(".layui-colorpicker-pre").children("div"),y=function(e,i,o,r){n.select(e,i,o);var t=j({h:e,s:i,b:o}),e=F({h:e,s:i,b:o}),i=n.elemPicker.find("."+M).find("input");b.addClass(x).removeClass(P),c[0].style.background="rgb("+t.r+", "+t.g+", "+t.b+")","torgb"===a?i.val("rgb("+t.r+", "+t.g+", "+t.b+")"):"rgba"===a?(u.css("left",280*r),i.val("rgba("+t.r+", "+t.g+", "+t.b+", "+r+")"),c[0].style.background="rgba("+t.r+", "+t.g+", "+t.b+", "+r+")",f[0].style.background="linear-gradient(to right, rgba("+t.r+", "+t.g+", "+t.b+", 0), rgb("+t.r+", "+t.g+", "+t.b+"))"):i.val("#"+e),l.change&&l.change(n.elemPicker.find("."+M).find("input").val())},o=m(['
            '].join("")),k=function(e){m("#LAY-colorpicker-moving")[0]||m("body").append(o),o.on("mousemove",e),o.on("mouseup",function(){o.remove()}).on("mouseleave",function(){o.remove()})};e.on("mousedown",function(e){var r=this.offsetTop,t=e.clientY;k(function(e){var i=r+(e.clientY-t),o=s[0].offsetHeight,o=(i=o<(i=i<0?0:i)?o:i)/180*360;y(g=o,h,p,v),e.preventDefault()}),e.preventDefault()}),s.on("click",function(e){var i=e.clientY-m(this).offset().top+H.scrollTop(),i=(i=(i=i<0?0:i)>this.offsetHeight?this.offsetHeight:i)/180*360;y(g=i,h,p,v),e.preventDefault()}),r.on("mousedown",function(e){var n=this.offsetTop,l=this.offsetLeft,c=e.clientY,a=e.clientX;layui.stope(e),k(function(e){var i=n+(e.clientY-c),o=l+(e.clientX-a),r=d[0].offsetHeight-3,t=d[0].offsetWidth-3,t=((o=t<(o=o<-3?-3:o)?t:o)+3)/260*100,o=100-((i=r<(i=i<-3?-3:i)?r:i)+3)/180*100;y(g,h=t,p=o,v),e.preventDefault()}),e.preventDefault()}),d.on("mousedown",function(e){var i=e.clientY-m(this).offset().top-3+H.scrollTop(),o=e.clientX-m(this).offset().left-3+H.scrollLeft(),o=((i=i<-3?-3:i)>this.offsetHeight-3&&(i=this.offsetHeight-3),((o=(o=o<-3?-3:o)>this.offsetWidth-3?this.offsetWidth-3:o)+3)/260*100),i=100-(i+3)/180*100;y(g,h=o,p=i,v),layui.stope(e),e.preventDefault(),r.trigger(e,"mousedown")}),u.on("mousedown",function(e){var r=this.offsetLeft,t=e.clientX;k(function(e){var i=r+(e.clientX-t),o=f[0].offsetWidth,o=(o<(i=i<0?0:i)&&(i=o),Math.round(i/280*100)/100);y(g,h,p,v=o),e.preventDefault()}),e.preventDefault()}),f.on("click",function(e){var i=e.clientX-m(this).offset().left,i=((i=i<0?0:i)>this.offsetWidth&&(i=this.offsetWidth),Math.round(i/280*100)/100);y(g,h,p,v=i),e.preventDefault()}),i.each(function(){m(this).on("click",function(){m(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e=this.style.backgroundColor,i=Y(L(e)),o=e.slice(e.lastIndexOf(",")+1,e.length-1);g=i.h,h=i.s,p=i.b,3===(e.match(/[0-9]{1,3}/g)||[]).length&&(o=1),v=o,y(i.h,i.s,i.b,o)})})},d.prototype.select=function(e,i,o,r){this.config;var t=F({h:e,s:100,b:100}),e=(F({h:e,s:i,b:o}),e/360*180),o=180-o/100*180-3,i=i/100*260-3;this.elemPicker.find("."+B).css("top",e),this.elemPicker.find("."+I)[0].style.background="#"+t,this.elemPicker.find("."+E).css({top:o,left:i})},d.prototype.pickerEvents=function(){var c=this,a=c.config,s=c.elemColorBox.find("."+C),d=c.elemPicker.find("."+M+" input"),o={clear:function(e){s[0].style.background="",c.elemColorBox.find("."+w).removeClass(x).addClass(P),c.color="",a.done&&a.done(""),c.removePicker()},confirm:function(e,i){var o,r,t,n,l=d.val();if(-1>16,g:(65280&t)>>8,b:255&t},r=Y(n),s[0].style.background=o="#"+F(r),c.elemColorBox.find("."+w).removeClass(P).addClass(x)),"change"===i)return c.select(r.h,r.s,r.b,i),void(a.change&&a.change(o));c.color=l,a.done&&a.done(l),c.removePicker()}};c.elemPicker.on("click","*[colorpicker-events]",function(){var e=m(this),i=e.attr("colorpicker-events");o[i]&&o[i].call(this,e)}),d.on("keyup",function(e){var i=m(this);o.confirm.call(this,i,13===e.keyCode?null:"change")})},d.prototype.events=function(){var e=this;e.config;e.elemColorBox.on("click",function(){e.renderPicker(),m(a)[0]&&(e.val(),e.side())})},s.on(i,function(e){var i,o,r;!n.thisId||(i=l.getThis(n.thisId))&&(o=i.config,r=i.elemColorBox.find("."+C),m(e.target).hasClass(c)||m(e.target).parents("."+c)[0]||m(e.target).hasClass(a.replace(/\./g,""))||m(e.target).parents(a)[0]||i.elemPicker&&(i.color?(e=Y(L(i.color)),i.select(e.h,e.s,e.b)):i.elemColorBox.find("."+w).removeClass(x).addClass(P),r[0].style.background=i.color||"","function"==typeof o.cancel&&o.cancel(i.color),i.removePicker()))}),H.on("resize",function(){if(n.thisId){var e=l.getThis(n.thisId);if(e)return!(!e.elemPicker||!m(a)[0])&&void e.position()}}),l.that={},l.getThis=function(e){var i=l.that[e];return i||o.error(e?r+" instance with ID '"+e+"' not found":"ID argument required"),i},n.render=function(e){e=new d(e);return l.call(e)},e(r,n)});layui.define("jquery",function(t){"use strict";var u=layui.$,d=(layui.hint(),layui.device()),o="element",c="layui-this",y="layui-show",s=".layui-tab-title",i=function(){this.config={}},h=(i.prototype.set=function(t){return u.extend(!0,this.config,t),this},i.prototype.on=function(t,i){return layui.onevent.call(this,o,t,i)},i.prototype.tabAdd=function(t,i){var a,t=u(".layui-tab[lay-filter="+t+"]"),e=t.children(s),l=e.children(".layui-tab-bar"),t=t.children(".layui-tab-content"),n=""+(i.title||"unnaming")+"";return l[0]?l.before(n):e.append(n),t.append('
            '+(i.content||"")+"
            "),C.hideTabMore(!0),C.tabAuto(),this},i.prototype.tabDelete=function(t,i){t=u(".layui-tab[lay-filter="+t+"]").children(s).find('>li[lay-id="'+i+'"]');return C.tabDelete(null,t),this},i.prototype.tabChange=function(t,i){t=u(".layui-tab[lay-filter="+t+"]").children(s).find('>li[lay-id="'+i+'"]');return C.tabClick.call(t[0],{liElem:t}),this},i.prototype.tab=function(a){a=a||{},e.on("click",a.headerElem,function(t){var i=u(this).index();C.tabClick.call(this,{index:i,options:a})})},i.prototype.progress=function(t,i){var a="layui-progress",t=u("."+a+"[lay-filter="+t+"]").find("."+a+"-bar"),a=t.find("."+a+"-text");return t.css("width",function(){return/^.+\/.+$/.test(i)?100*new Function("return "+i)()+"%":i}).attr("lay-percent",i),a.text(i),this},".layui-nav"),f="layui-nav-item",l="layui-nav-bar",p="layui-nav-tree",b="layui-nav-child",v="layui-nav-more",m="layui-anim layui-anim-upbit",C={tabClick:function(t){var i=(t=t||{}).options||{},a=t.liElem||u(this),e=i.headerElem?a.parent():a.parents(".layui-tab").eq(0),i=i.bodyElem?u(i.bodyElem):e.children(".layui-tab-content").children(".layui-tab-item"),l=a.find("a"),l="javascript:;"!==l.attr("href")&&"_blank"===l.attr("target"),n="string"==typeof a.attr("lay-unselect"),s=e.attr("lay-filter"),t="index"in t?t.index:a.parent().children("li").index(a);l||n||(a.addClass(c).siblings().removeClass(c),i.eq(t).addClass(y).siblings().removeClass(y)),layui.event.call(this,o,"tab("+s+")",{elem:e,index:t})},tabDelete:function(t,i){var i=i||u(this).parent(),a=i.index(),e=i.closest(".layui-tab"),l=e.children(".layui-tab-content").children(".layui-tab-item"),n=e.attr("lay-filter");i.hasClass(c)&&(i.next()[0]&&i.next().is("li")?C.tabClick.call(i.next()[0],{index:a+1}):i.prev()[0]&&i.prev().is("li")&&C.tabClick.call(i.prev()[0],null,a-1)),i.remove(),l.eq(a).remove(),setTimeout(function(){C.tabAuto()},50),layui.event.call(this,o,"tabDelete("+n+")",{elem:e,index:a})},tabAuto:function(){var e="layui-tab-bar",l="layui-tab-close",n=this;u(".layui-tab").each(function(){var t=u(this),i=t.children(".layui-tab-title"),a=(t.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),a=u('');n===window&&8!=d.ie&&C.hideTabMore(!0),t.attr("lay-allowclose")&&i.find("li").each(function(){var t,i=u(this);i.find("."+l)[0]||((t=u('')).on("click",C.tabDelete),i.append(t))}),"string"!=typeof t.attr("lay-unauto")&&(i.prop("scrollWidth")>i.outerWidth()+1?i.find("."+e)[0]||(i.append(a),t.attr("overflow",""),a.on("click",function(t){i[this.title?"removeClass":"addClass"]("layui-tab-more"),this.title=this.title?"":"\u6536\u7f29"})):(i.find("."+e).remove(),t.removeAttr("overflow")))})},hideTabMore:function(t){var i=u(".layui-tab-title");!0!==t&&"tabmore"===u(t.target).attr("lay-stope")||(i.removeClass("layui-tab-more"),i.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=u(this),i=t.parents(h),a=i.attr("lay-filter"),e=t.parent(),l=t.siblings("."+b),n="string"==typeof e.attr("lay-unselect");"javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||n||l[0]||(i.find("."+c).removeClass(c),e.addClass(c)),i.hasClass(p)&&(l.removeClass(m),l[0]&&(e["none"===l.css("display")?"addClass":"removeClass"](f+"ed"),"all"===i.attr("lay-shrink")&&e.siblings().removeClass(f+"ed"))),layui.event.call(this,o,"nav("+a+")",t)},collapse:function(){var t=u(this),i=t.find(".layui-colla-icon"),a=t.siblings(".layui-colla-content"),e=t.parents(".layui-collapse").eq(0),l=e.attr("lay-filter"),n="none"===a.css("display");"string"==typeof e.attr("lay-accordion")&&((e=e.children(".layui-colla-item").children("."+y)).siblings(".layui-colla-title").children(".layui-colla-icon").html(""),e.removeClass(y)),a[n?"addClass":"removeClass"](y),i.html(n?"":""),layui.event.call(this,o,"collapse("+l+")",{title:t,content:a,show:n})}},a=(i.prototype.render=i.prototype.init=function(t,i){var a=i?'[lay-filter="'+i+'"]':"",i={tab:function(){C.tabAuto.call({})},nav:function(){var s={},o={},c={},r="layui-nav-title";u(h+a).each(function(t){var i=u(this),a=u(''),e=i.find("."+f);i.find("."+l)[0]||(i.append(a),(i.hasClass(p)?e.find("dd,>."+r):e).on("mouseenter",function(){!function(t,i,a){var e,l=u(this),n=l.find("."+b);i.hasClass(p)?n[0]||(e=l.children("."+r),t.css({top:l.offset().top-i.offset().top,height:(e[0]?e:l).outerHeight(),opacity:1})):(n.addClass(m),n.hasClass("layui-nav-child-c")&&n.css({left:-(n.outerWidth()-l.width())/2}),n[0]?t.css({left:t.position().left+t.width()/2,width:0,opacity:0}):t.css({left:l.position().left+parseFloat(l.css("marginLeft")),top:l.position().top+l.height()-t.height()}),s[a]=setTimeout(function(){t.css({width:n[0]?0:l.width(),opacity:n[0]?0:1})},d.ie&&d.ie<10?0:200),clearTimeout(c[a]),"block"===n.css("display")&&clearTimeout(o[a]),o[a]=setTimeout(function(){n.addClass(y),l.find("."+v).addClass(v+"d")},300))}.call(this,a,i,t)}).on("mouseleave",function(){i.hasClass(p)?a.css({height:0,opacity:0}):(clearTimeout(o[t]),o[t]=setTimeout(function(){i.find("."+b).removeClass(y),i.find("."+v).removeClass(v+"d")},300))}),i.on("mouseleave",function(){clearTimeout(s[t]),c[t]=setTimeout(function(){i.hasClass(p)||a.css({width:0,left:a.position().left+a.width()/2,opacity:0})},200)})),e.find("a").each(function(){var t=u(this);t.parent();t.siblings("."+b)[0]&&!t.children("."+v)[0]&&t.append(''),t.off("click",C.clickThis).on("click",C.clickThis)})})},breadcrumb:function(){u(".layui-breadcrumb"+a).each(function(){var t=u(this),i="lay-separator",a=t.attr(i)||"/",e=t.find("a");e.next("span["+i+"]")[0]||(e.each(function(t){t!==e.length-1&&u(this).after(""+a+"")}),t.css("visibility","visible"))})},progress:function(){var e="layui-progress";u("."+e+a).each(function(){var t=u(this),i=t.find(".layui-progress-bar"),a=i.attr("lay-percent");i.css("width",function(){return/^.+\/.+$/.test(a)?100*new Function("return "+a)()+"%":a}),t.attr("lay-showpercent")&&setTimeout(function(){i.html(''+a+"")},350)})},collapse:function(){u(".layui-collapse"+a).each(function(){u(this).find(".layui-colla-item").each(function(){var t=u(this),i=t.find(".layui-colla-title"),t="none"===t.find(".layui-colla-content").css("display");i.find(".layui-colla-icon").remove(),i.append(''+(t?"":"")+""),i.off("click",C.collapse).on("click",C.collapse)})})}};return i[t]?i[t]():layui.each(i,function(t,i){i()})},new i),e=u(document);u(function(){a.render()}),e.on("click",".layui-tab-title li",C.tabClick),e.on("click",C.hideTabMore),u(window).on("resize",C.tabAuto),t(o,a)});layui.define(["lay","layer"],function(e){"use strict";var y=layui.$,t=layui.layer,F=layui.device(),i={config:{},set:function(e){var t=this;return t.config=y.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,n,e,t)}},n="upload",a="layui-upload-file",o="layui-upload-form",b="layui-upload-iframe",x="layui-upload-choose",w=function(e){var t=this;t.config=y.extend({},t.config,i.config,e),t.render()};w.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",force:"",field:"file",acceptMime:"",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1},w.prototype.render=function(e){var t=this;(e=t.config).elem=y(e.elem),e.bindAction=y(e.bindAction),t.file(),t.events()},w.prototype.file=function(){var e=this,t=e.config,i=e.elemFile=y(['"].join("")),n=t.elem.next();(n.hasClass(a)||n.hasClass(o))&&n.remove(),F.ie&&F.ie<10&&t.elem.wrap('
            '),e.isFile()?(e.elemFile=t.elem,t.field=t.elem[0].name):t.elem.after(i),F.ie&&F.ie<10&&e.initIE()},w.prototype.initIE=function(){var i,e=this.config,t=y(''),n=y(['
            ',"
            "].join(""));y("#"+b)[0]||y("body").append(t),e.elem.next().hasClass(o)||(this.elemFile.wrap(n),e.elem.next("."+o).append((i=[],layui.each(e.data,function(e,t){t="function"==typeof t?t():t,i.push('')}),i.join(""))))},w.prototype.msg=function(e){return t.msg(e,{icon:2,shift:6})},w.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},w.prototype.preview=function(n){window.FileReader&&layui.each(this.chooseFiles,function(e,t){var i=new FileReader;i.readAsDataURL(t),i.onload=function(){n&&n(e,t,this.result)}})},w.prototype.upload=function(e,t){var i,n,a,o,l=this,r=l.config,u=l.elemFile[0],c=function(){return e||l.files||l.chooseFiles||u.files},s=function(){var t=0,a=0,e=c(),o=function(){r.multiple&&t+a===l.fileLength&&"function"==typeof r.allDone&&r.allDone({total:l.fileLength,successful:t,failed:a})};layui.each(e,function(i,e){var n=new FormData,e=(layui.each(r.data,function(e,t){t="function"==typeof t?t():t,n.append(e,t)}),n.append(r.field,e),{url:r.url,type:"post",data:n,contentType:!1,processData:!1,dataType:"json",headers:r.headers||{},success:function(e){t++,p(i,e),o()},error:function(e){a++,l.msg("Request URL is abnormal: "+(e.statusText||"error")),d(i),o()}});"function"==typeof r.progress&&(e.xhr=function(){var e=y.ajaxSettings.xhr();return e.upload.addEventListener("progress",function(e){var t;e.lengthComputable&&(t=Math.floor(e.loaded/e.total*100),r.progress(t,(r.item||r.elem)[0],e,i))}),e}),y.ajax(e)})},f=function(){var n=y("#"+b);l.elemFile.parent().submit(),clearInterval(w.timer),w.timer=setInterval(function(){var e,t=n.contents().find("body");try{e=t.text()}catch(i){l.msg("Cross-domain requests are not supported"),clearInterval(w.timer),d()}e&&(clearInterval(w.timer),t.html(""),p(0,e))},30)},p=function(e,t){if(l.elemFile.next("."+x).remove(),u.value="","json"===r.force&&"object"!=typeof t)try{t=JSON.parse(t)}catch(i){return t={},l.msg("Please return JSON data format")}"function"==typeof r.done&&r.done(t,e||0,function(e){l.upload(e)})},d=function(e){r.auto&&(u.value=""),"function"==typeof r.error&&r.error(e||0,function(e){l.upload(e)})},m=r.exts,h=(n=[],layui.each(e||l.chooseFiles,function(e,t){n.push(t.name)}),n),g={preview:function(e){l.preview(e)},upload:function(e,t){var i={};i[e]=t,l.upload(i)},pushFile:function(){return l.files=l.files||{},layui.each(l.chooseFiles,function(e,t){l.files[e]=t}),l.files},resetFile:function(e,t,i){t=new File([t],i);l.files=l.files||{},l.files[e]=t}},v={file:"\u6587\u4ef6",images:"\u56fe\u7247",video:"\u89c6\u9891",audio:"\u97f3\u9891"}[r.accept]||"\u6587\u4ef6",h=0===h.length?u.value.match(/[^\/\\]+\..+/g)||[]||"":h;if(0!==h.length){switch(r.accept){case"file":layui.each(h,function(e,t){if(m&&!RegExp(".\\.("+m+")$","i").test(escape(t)))return i=!0});break;case"video":layui.each(h,function(e,t){if(!RegExp(".\\.("+(m||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(t)))return i=!0});break;case"audio":layui.each(h,function(e,t){if(!RegExp(".\\.("+(m||"mp3|wav|mid")+")$","i").test(escape(t)))return i=!0});break;default:layui.each(h,function(e,t){if(!RegExp(".\\.("+(m||"jpg|png|gif|bmp|jpeg")+")$","i").test(escape(t)))return i=!0})}if(i)return l.msg("\u9009\u62e9\u7684"+v+"\u4e2d\u5305\u542b\u4e0d\u652f\u6301\u7684\u683c\u5f0f"),u.value="";if("choose"!==t&&!r.auto||(r.choose&&r.choose(g),"choose"!==t)){if(l.fileLength=(a=0,v=c(),layui.each(v,function(){a++}),a),r.number&&l.fileLength>r.number)return l.msg("\u540c\u65f6\u6700\u591a\u53ea\u80fd\u4e0a\u4f20: "+r.number+" \u4e2a\u6587\u4ef6
            \u60a8\u5f53\u524d\u5df2\u7ecf\u9009\u62e9\u4e86: "+l.fileLength+" \u4e2a\u6587\u4ef6");if(01024*r.size&&(t=1<=(t=r.size/1024)?t.toFixed(2)+"MB":r.size+"KB",u.value="",o=t)}),o)return l.msg("\u6587\u4ef6\u5927\u5c0f\u4e0d\u80fd\u8d85\u8fc7 "+o);if(!r.before||!1!==r.before(g))F.ie?(9'+e+"")},r=function(){var e=y(this);(e.attr("lay-data")||e.attr("lay-options"))&&(n.config=y.extend({},a,lay.options(this,{attr:e.attr("lay-data")?"lay-data":null})))};a.elem.off("upload.start").on("upload.start",function(){var e=y(this);r.call(this),n.config.item=e,n.elemFile[0].click()}),F.ie&&F.ie<10||a.elem.off("upload.over").on("upload.over",function(){y(this).attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){y(this).removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(e,t){var i=y(this),t=t.originalEvent.dataTransfer.files||[];i.removeAttr("lay-over"),r.call(this),o(t),a.auto?n.upload():l(t)}),n.elemFile.off("upload.change").on("upload.change",function(){var e=this.files||[];r.call(this),o(e),a.auto?n.upload():l(e)}),a.bindAction.off("upload.action").on("upload.action",function(){n.upload()}),a.elem.data("haveEvents")||(n.elemFile.on("change",function(){y(this).trigger("upload.change")}),a.elem.on("click",function(){n.isFile()||y(this).trigger("upload.start")}),a.drag&&a.elem.on("dragover",function(e){e.preventDefault(),y(this).trigger("upload.over")}).on("dragleave",function(e){y(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),y(this).trigger("upload.drop",e)}),a.bindAction.on("click",function(){y(this).trigger("upload.action")}),a.elem.data("haveEvents",!0))},i.render=function(e){e=new w(e);return function(){var t=this;return{upload:function(e){t.upload.call(t,e)},reload:function(e){t.reload.call(t,e)},config:t.config}}.call(e)},e(n,i)});layui.define(["lay","layer","util"],function(e){"use strict";var b=layui.$,h=layui.layer,d=layui.util,l=layui.hint(),w=(layui.device(),"form"),o=".layui-form",T="layui-this",$="layui-hide",F="layui-disabled",t=function(){this.config={verify:{required:[/[\S]+/,"\u5fc5\u586b\u9879\u4e0d\u80fd\u4e3a\u7a7a"],phone:[/^1\d{10}$/,"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u624b\u673a\u53f7"],email:[/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,"\u90ae\u7bb1\u683c\u5f0f\u4e0d\u6b63\u786e"],url:[/^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/,"\u94fe\u63a5\u683c\u5f0f\u4e0d\u6b63\u786e"],number:function(e){if(!e||isNaN(e))return"\u53ea\u80fd\u586b\u5199\u6570\u5b57"},date:[/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,"\u65e5\u671f\u683c\u5f0f\u4e0d\u6b63\u786e"],identity:[/(^\d{15}$)|(^\d{17}(x|X|\d)$)/,"\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u8eab\u4efd\u8bc1\u53f7"]},autocomplete:null}},i=(t.prototype.set=function(e){return b.extend(!0,this.config,e),this},t.prototype.verify=function(e){return b.extend(!0,this.config.verify,e),this},t.prototype.getFormElem=function(e){return b(o+(e?'[lay-filter="'+e+'"]':""))},t.prototype.on=function(e,t){return layui.onevent.call(this,w,e,t)},t.prototype.val=function(e,i){return this.getFormElem(e).each(function(e,t){var a=b(this);layui.each(i,function(e,t){var i,e=a.find('[name="'+e+'"]');e[0]&&("checkbox"===(i=e[0].type)?e[0].checked=t:"radio"===i?e.each(function(){this.checked=this.value==t}):e.val(t))})}),r.render(null,e),this.getValue(e)},t.prototype.getValue=function(e,t){t=t||this.getFormElem(e);var a={},n={},e=t.find("input,select,textarea");return layui.each(e,function(e,t){var i;b(this);t.name=(t.name||"").replace(/^\s*|\s*&/,""),t.name&&(/^.*\[\]$/.test(t.name)&&(i=t.name.match(/^(.*)\[\]$/g)[0],a[i]=0|a[i],i=t.name.replace(/^(.*)\[\]$/,"$1["+a[i]+++"]")),/^(checkbox|radio)$/.test(t.type)&&!t.checked||(n[i||t.name]=t.value))}),n},t.prototype.render=function(e,t){var i=this.config,a=b(o+(t?'[lay-filter="'+t+'"]':"")),n={input:function(e){e=e||a.find("input,textarea");i.autocomplete&&e.attr("autocomplete",i.autocomplete),a.find("input[lay-affix],textarea[lay-affix]").each(function(){var l=b(this),r=l.attr("lay-affix"),s="layui-input-suffix",o="layui-input-affix",e=l.is("[disabled]")||l.is("[readonly]"),c=function(e,t){(e=b(e))[0]&&e[b.trim(t)?"removeClass":"addClass"]($)},n=function(t){t=b.extend({},u[r]||{value:r},t,lay.options(l[0]));var i=b('
            '),e=b(''),a=(i.append(e),t.split&&i.addClass("layui-input-split"),l.next("."+o)),n=(a[0]&&a.remove(),l.next("."+s));n[0]?((a=n.find("."+o))[0]&&a.remove(),n.prepend(i),l.css("padding-right",function(){return(l.closest(".layui-input-group")[0]?0:n.outerWidth())+i.outerWidth()})):(i.addClass(s),l.after(i)),"auto"===t.show&&c(i,l.val()),l.on("input propertychange",function(){var e=this.value;"auto"===t.show&&c(i,e)}),e.on("click",function(){var e=l.attr("lay-filter");b(this).hasClass(F)||("function"==typeof t.click&&t.click.call(this,l,t),layui.event.call(this,w,"input-affix("+e+")",{elem:l[0],affix:r,options:t}))})},u={eye:{value:"eye-invisible",click:function(e,t){var i="LAY_FORM_INPUT_AFFIX_SHOW",a=e.data(i);e.attr("type",a?"password":"text").data(i,!a),n({value:a?"eye-invisible":"eye"})}},clear:{value:"clear",click:function(e){e.val("").focus(),c(b(this).parent(),null)},show:"auto",disabled:e}};n()})},select:function(e){var v,c="\u8bf7\u9009\u62e9",m="layui-form-select",g="layui-select-title",x="layui-select-none",k="",e=e||a.find("select"),C=function(e,t){b(e.target).parent().hasClass(g)&&!t||(b("."+m).removeClass(m+"ed "+m+"up"),v&&k&&v.val(k)),v=null},u=function(a,e,t){var s,r,i,n,o,l,c=b(this),u=a.find("."+g),d=u.find("input"),f=a.find("dl"),h=f.children("dd"),y=f.children("dt"),p=this.selectedIndex;e||(r=c.attr("lay-search"),i=function(){var e=a.offset().top+a.outerHeight()+5-q.scrollTop(),t=f.outerHeight();p=c[0].selectedIndex,a.addClass(m+"ed"),h.removeClass($),y.removeClass($),s=null,h.removeClass(T),0<=p&&h.eq(p).addClass(T),e+t>q.height()&&t<=e&&a.addClass(m+"up"),o()},n=function(e){a.removeClass(m+"ed "+m+"up"),d.blur(),s=null,e||l(d.val(),function(e){var t=c[0].selectedIndex;e&&(k=b(c[0].options[t]).html(),0===t&&k===d.attr("placeholder")&&(k=""),d.val(k||""))})},o=function(){var e,t,i=f.children("dd."+T);i[0]&&(e=i.position().top,t=f.height(),i=i.height(),t\u65e0\u5339\u914d\u9879

            '):f.find("."+x).remove()},"keyup"),""===t&&(c.val(""),f.find("."+T).removeClass(T),(c[0].options[0]||{}).value||f.children("dd:eq(0)").addClass(T),f.find("."+x).remove()),o()}).on("blur",function(e){var t=c[0].selectedIndex;v=d,k=b(c[0].options[t]).html(),0===t&&k===d.attr("placeholder")&&(k=""),setTimeout(function(){l(d.val(),function(e){k||d.val("")},"blur")},200)}),h.on("click",function(){var e=b(this),t=e.attr("lay-value"),i=c.attr("lay-filter");return e.hasClass(F)||(e.hasClass("layui-select-tips")?d.val(""):(d.val(e.text()),e.addClass(T)),e.siblings().removeClass(T),c.val(t).removeClass("layui-form-danger"),layui.event.call(this,w,"select("+i+")",{elem:c[0],value:t,othis:a}),n(!0)),!1}),a.find("dl>dt").on("click",function(e){return!1}),b(document).off("click",C).on("click",C))};e.each(function(e,t){var i=b(this),a=i.next("."+m),n=this.disabled,l=t.value,r=b(t.options[t.selectedIndex]),t=t.options[0];if("string"==typeof i.attr("lay-ignore"))return i.show();var s,o="string"==typeof i.attr("lay-search"),t=t&&!t.value&&t.innerHTML||c,r=b(['
            ','
            ','','
            ','
            ',(t=i.find("*"),s=[],layui.each(t,function(e,t){var i=t.tagName.toLowerCase();0!==e||t.value||"optgroup"===i?"optgroup"===i?s.push("
            "+t.label+"
            "):s.push('
            '+b.trim(t.innerHTML)+"
            "):s.push('
            '+b.trim(t.innerHTML||c)+"
            ")}),0===s.length&&s.push('
            \u6ca1\u6709\u9009\u9879
            '),s.join("")+"
            "),"
            "].join(""));a[0]&&a.remove(),i.after(r),u.call(this,r,n,o)})},checkbox:function(e){var o={checkbox:["layui-form-checkbox","layui-form-checked","checkbox"],"switch":["layui-form-switch","layui-form-onswitch","switch"],SUBTRA:"layui-icon-indeterminate"},e=e||a.find("input[type=checkbox]"),c={primary:!0,tag:!0,"switch":!0};e.each(function(e,t){var i=b(this),a=i.attr("lay-skin")||"primary",n=b.trim(t.title||(t.title=i.attr("lay-text")||"")),l=this.disabled,n="switch"===a?n.split("|"):[n],r=o[a=c[a]?a:"primary"]||o.checkbox;if("string"==typeof i.attr("lay-ignore"))return i.show();var s=i.next("."+r[0]),t=b(['
            ",(l={checkbox:[n[0]?""+d.escape(n[0])+"":"",''].join(""),"switch":""+((t.checked?n[0]:n[1])||"")+""})[a]||l.checkbox,"
            "].join(""));s[0]&&s.remove(),i.after(t),function(i,a){var n=b(this);i.on("click",function(){var e=n.attr("lay-filter"),t=(n.attr("title")||"").split("|");n[0].disabled||(n[0].indeterminate&&(n[0].indeterminate=!1,i.find(o.SUBTRA).removeClass(o.SUBTRA).addClass("layui-icon-ok")),n[0].checked?(n[0].checked=!1,i.removeClass(a[1]).find("em").text(t[1])):(n[0].checked=!0,i.addClass(a[1]).find("em").text(t[0])),layui.event.call(n[0],w,a[2]+"("+e+")",{elem:n[0],value:n[0].value,othis:i}))})}.call(this,t,r)})},radio:function(e){var r="layui-form-radio",s=["",""],e=e||a.find("input[type=radio]");e.each(function(e,t){var i=b(this),a=i.next("."+r),n=this.disabled;if("string"==typeof i.attr("lay-ignore"))return i.show();a[0]&&a.remove();n=b(['
            ',''+s[t.checked?0:1]+"","
            "+(a=d.escape(t.title||""),a="string"==typeof i.next().attr("lay-radio")?i.next().html():a)+"
            ","
            "].join(""));i.after(n),function(a){var n=b(this),l="layui-anim-scaleSpring";a.on("click",function(){var e=n[0].name,t=n.parents(o),i=n.attr("lay-filter"),e=t.find("input[name="+e.replace(/(\.|#|\[|\])/g,"\\$1")+"]");n[0].disabled||(layui.each(e,function(){var e=b(this).next("."+r);this.checked=!1,e.removeClass(r+"ed"),e.find(".layui-icon").removeClass(l).html(s[1])}),n[0].checked=!0,a.addClass(r+"ed"),a.find(".layui-icon").addClass(l).html(s[0]),layui.event.call(n[0],w,"radio("+i+")",{elem:n[0],value:n[0].value,othis:a}))})}.call(this,n)})}},t=function(){layui.each(n,function(e,t){t()})};return"object"===layui.type(e)?b(e).is(o)?(a=b(e),t()):e.each(function(e,t){var i=b(t);i.closest(o).length&&("SELECT"===t.tagName?n.select(i):"INPUT"===t.tagName&&("checkbox"===(t=t.type)||"radio"===t?n[t](i):n.input(i)))}):e?n[e]?n[e]():l.error('\u4e0d\u652f\u6301\u7684 "'+e+'" \u8868\u5355\u6e32\u67d3'):t(),this},t.prototype.validate=function(e){var u=null,d=r.config.verify,f="layui-form-danger";return!(e=b(e))[0]||(e.attr("lay-verify")!==undefined||!1!==this.validate(e.find("*[lay-verify]")))&&(layui.each(e,function(e,r){var s=b(this),t=(s.attr("lay-verify")||"").split("|"),o=s.attr("lay-vertype"),c=s.val();if(s.removeClass(f),layui.each(t,function(e,t){var i="",a=d[t];if(a){var n="function"==typeof a?i=a(c,r):!a[0].test(c),l="select"===r.tagName.toLowerCase()||/^(checkbox|radio)$/.test(r.type),i=i||a[1];if("required"===t&&(i=s.attr("lay-reqtext")||i),n)return"tips"===o?h.tips(i,"string"!=typeof s.attr("lay-ignore")&&l?s.next():s,{tips:1}):"alert"===o?h.alert(i,{title:"\u63d0\u793a",shadeClose:!0}):/\bstring|number\b/.test(typeof i)&&h.msg(i,{icon:5,shift:6}),setTimeout(function(){(l?s.next().find("input"):r).focus()},7),s.addClass(f),u=!0}}),u)return u}),!u)},t.prototype.submit=function(e,t){var i=b(this),e="string"==typeof e?e:i.attr("lay-filter"),a=this.getFormElem?this.getFormElem(e):i.parents(o).eq(0),n=a.find("*[lay-verify]");if(!r.validate(n))return!1;n=r.getValue(null,a),a={elem:this.getFormElem?window.event&&window.event.target:this,form:(this.getFormElem?a:i.parents("form"))[0],field:n};return"function"==typeof t&&t(a),layui.event.call(this,w,"submit("+e+")",a)}),r=new t,t=b(document),q=b(window);b(function(){r.render()}),t.on("reset",o,function(){var e=b(this).attr("lay-filter");setTimeout(function(){r.render(null,e)},50)}),t.on("submit",o,i).on("click","*[lay-submit]",i),e(w,r)});layui.define(["lay","laytpl","laypage","form","util"],function(e){"use strict";var p=layui.$,r=layui.lay,m=layui.laytpl,z=layui.laypage,h=layui.layer,f=layui.form,v=layui.util,u=layui.hint(),g=layui.device(),b={config:{checkName:"LAY_CHECKED",indexName:"LAY_INDEX",numbersName:"LAY_NUM",disabledName:"LAY_DISABLED"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){var t=this;return t.config=p.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,w,e,t)}},x=function(){var a=this,e=a.config,i=e.id||e.index;return{config:e,reload:function(e,t){a.reload.call(a,e,t)},reloadData:function(e,t){b.reloadData(i,e,t)},setColsWidth:function(){a.setColsWidth.call(a)},resize:function(){a.resize.call(a)}}},k=function(e){var t=x.that[e];return t||u.error(e?"The table instance with ID '"+e+"' not found":"ID argument required"),t||null},l=function(e){var t=x.config[e];return t||u.error(e?"The table instance with ID '"+e+"' not found":"ID argument required"),t||null},C=function(e){var t=this.config||{},a=(e=e||{}).item3,i=e.content,t=(("escape"in a?a:t).escape&&(i=v.escape(i)),e.text&&a.exportTemplet||a.templet||a.toolbar);return t&&(i="function"==typeof t?t.call(a,e.tplData,e.obj):m(p(t).html()||String(i)).render(p.extend({LAY_COL:a},e.tplData))),e.text?p("
            "+i+"
            ").text():i},w="table",t=".layui-table",T="layui-hide",L="layui-hide-v",N="layui-none",R="layui-table-view",o=".layui-table-header",_=".layui-table-body",A=".layui-table-pageview",D=".layui-table-sort",W="layui-table-edit",E="layui-table-hover",M="laytable-cell-group",j="layui-table-col-special",H="layui-table-tool-panel",S="LAY_TABLE_MOVE_DICT",a=function(e){return['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',(e=e||{}).fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':"","{{# var isSort = !(item2.colGroup) && item2.sort; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
            ','
            ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{-item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
            ","
            "].join("")},i=['',"","
            "].join(""),c=[,"{{# if(d.data.toolbar){ }}",'
            ','
            ','
            ',"
            ","{{# } }}",'
            ',"{{# if(d.data.loading){ }}",'
            ','',"
            ","{{# } }}","{{# var left, right; }}",'
            ',a(),"
            ",'
            ',i,"
            ","{{# if(left){ }}",'
            ','
            ',a({fixed:!0}),"
            ",'
            ',i,"
            ","
            ","{{# }; }}","{{# if(right){ }}",'
            ','
            ',a({fixed:"right"}),'
            ',"
            ",'
            ',i,"
            ","
            ","{{# }; }}","
            ","{{# if(d.data.totalRow){ }}",'
            ','','',"
            ","
            ","{{# } }}",'
            ','
            ',"
            ",""].join(""),I=p(window),F=p(document),n=function(e){this.index=++b.index,this.config=p.extend({},this.config,b.config,e),this.render()},d=(n.prototype.config={limit:10,loading:!0,escape:!0,cellMinWidth:60,cellMaxWidth:Number.MAX_VALUE,editTrigger:"click",defaultToolbar:["filter","exports","print"],defaultContextmenu:!0,autoSort:!0,text:{none:"\u65e0\u6570\u636e"},cols:[]},n.prototype.render=function(e){var t=this,a=t.config,i=(a.elem=p(a.elem),a.where=a.where||{},a.id="id"in a?a.id:a.elem.attr("id")||t.index);if(x.that[i]=t,(x.config[i]=a).request=p.extend({pageName:"page",limitName:"limit"},a.request),a.response=p.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",totalRowName:"totalRow",countName:"count"},a.response),null!==a.page&&"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,t.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return t;if(a.elem.attr("lay-filter")||a.elem.attr("lay-filter",a.id),"reloadData"===e)return t.pullData(t.page,{type:"reloadData"});a.index=t.index,t.key=a.id||a.index,t.setInit(),a.height&&/^full-\d+$/.test(a.height)?(t.fullHeightGap=a.height.split("-")[1],a.height=I.height()-t.fullHeightGap):a.height&&/^#\w+\S*-\d+$/.test(a.height)&&(i=a.height.split("-"),t.parentHeightGap=i.pop(),t.parentDiv=i.join("-"),a.height=p(t.parentDiv).height()-t.parentHeightGap);var l,e=a.elem,i=e.next("."+R),n=t.elem=p("
            ");n.addClass((l=[R,R+"-"+t.index,"layui-form","layui-border-box"],a.className&&l.push(a.className),l.join(" "))).attr({"lay-filter":"LAY-TABLE-FORM-DF-"+t.index,"lay-id":a.id,style:(l=[],a.width&&l.push("width:"+a.width+"px;"),a.height&&l.push("height:"+a.height+"px;"),l.join(""))}).html(m(c,{open:"{{",close:"}}"}).render({data:a,index:t.index})),i[0]&&i.remove(),e.after(n),t.layTool=n.find(".layui-table-tool"),t.layBox=n.find(".layui-table-box"),t.layHeader=n.find(o),t.layMain=n.find(".layui-table-main"),t.layBody=n.find(_),t.layFixed=n.find(".layui-table-fixed"),t.layFixLeft=n.find(".layui-table-fixed-l"),t.layFixRight=n.find(".layui-table-fixed-r"),t.layTotal=n.find(".layui-table-total"),t.layPage=n.find(".layui-table-page"),t.renderToolbar(),t.renderPagebar(),t.fullSize(),t.pullData(t.page),t.events()},n.prototype.initOpts=function(e){this.config;e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||{checkbox:50,radio:50,space:30,numbers:60}[e.type])},n.prototype.setInit=function(e){var l,a,d=this,r=d.config;if(r.clientWidth=r.width||(l=function(e){var t,a=(e=e||r.elem.parent()).width();try{t="none"===e.css("display")}catch(i){}return!e[0]||a&&!t?a:l(e.parent())})(),"width"===e)return r.clientWidth;r.height=r.maxHeight||r.height,r.css&&-1===r.css.indexOf(R)&&(a=r.css.split("}"),layui.each(a,function(e,t){t&&(a[e]="."+R+"-"+d.index+" "+t)}),r.css=a.join("}"));var c=function(a,e,i,l){var n,o;l?(l.key=[r.index,a,i].join("-"),l.hide=l.hide||!1,l.colspan=l.colspan||0,l.rowspan=l.rowspan||0,d.initOpts(l),(n=a+(parseInt(l.rowspan)||1))
            ','
            ','
            '].join(""),a=this.layTool.find(".layui-table-tool-temp"),i=("default"===e.toolbar?a.html(t):"string"==typeof e.toolbar&&(t=p(e.toolbar).html()||"")&&a.html(m(t).render(e)),{filter:{title:"\u7b5b\u9009\u5217",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols"},exports:{title:"\u5bfc\u51fa",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export"},print:{title:"\u6253\u5370",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print"}}),l=[];"object"==typeof e.defaultToolbar&&layui.each(e.defaultToolbar,function(e,t){t="string"==typeof t?i[t]:t;t&&l.push('
            ')}),this.layTool.find(".layui-table-tool-self").html(l.join(""))},n.prototype.renderPagebar=function(){var e,t=this.config,a=this.layPagebar=p('
            ');t.pagebar&&((e=p(t.pagebar).html()||"")&&a.append(m(e).render(t)),this.layPage.append(a))},n.prototype.setParentCol=function(e,t){var a=this.config,i=this.layHeader.find('th[data-key="'+t+'"]'),l=parseInt(i.attr("colspan"))||0;i[0]&&(t=t.split("-"),t=a.cols[t[1]][t[2]],e?l--:l++,i.attr("colspan",l),i[1<=l||!e?"removeClass":"addClass"](T),t.colspan=l,t.hide=1<=l||!e,(a=i.data("parentkey"))&&this.setParentCol(e,a))},n.prototype.setColsPatch=function(){var a=this,e=a.config;layui.each(e.cols,function(e,t){layui.each(t,function(e,t){t.hide&&a.setParentCol(t.hide,t.parentKey)})})},n.prototype.setGroupWidth=function(i){var e,l=this;l.config.cols.length<=1||((e=l.layHeader.find((i?"th[data-key="+i.data("parentkey")+"]>":"")+"."+M)).css("width",0),layui.each(e.get().reverse(),function(){var e=p(this),t=e.parent().data("key"),a=0;l.layHeader.eq(0).find("th[data-parentkey="+t+"]").width(function(e,t){p(this).hasClass(T)||0 tr:first-child > th:last-child")).data("field")&&e.prev()[0]?t(e.prev()):e})()).data("key"),n.getCssRule(e,function(e){var t=e.style.width||a.outerWidth();e.style.width=parseFloat(t)+l+"px",0'+(e||"Error")+"
            ");a[0]&&(t.layNone.remove(),a.remove()),t.layFixed.addClass(T),t.layMain.find("tbody").html(""),t.layMain.append(t.layNone=e),t.layTotal.addClass(L),t.layPage.find(A).addClass(L),b.cache[t.key]=[],t.syncCheckAll(),t.renderForm(),t.setColsWidth()},n.prototype.page=1,n.prototype.pullData=function(t,a){var e,i,l=this,n=l.config,o=n.request,d=n.response,r=function(){"object"==typeof n.initSort&&l.sort({field:n.initSort.field,type:n.initSort.type,reloadType:a.type})};a=a||{},"function"==typeof n.before&&n.before(n),l.startTime=(new Date).getTime(),n.url?(e={},n.page&&(e[o.pageName]=t,e[o.limitName]=n.limit),o=p.extend(e,n.where),n.contentType&&0==n.contentType.indexOf("application/json")&&(o=JSON.stringify(o)),l.loading(),p.ajax({type:n.method||"get",url:n.url,contentType:n.contentType,data:o,dataType:n.dataType||"json",jsonpCallback:n.jsonpCallback,headers:n.headers||{},success:function(e){(e="function"==typeof n.parseData?n.parseData(e)||e:e)[d.statusName]!=d.statusCode?l.errorView(e[d.msgName]||'\u8fd4\u56de\u7684\u6570\u636e\u4e0d\u7b26\u5408\u89c4\u8303\uff0c\u6b63\u786e\u7684\u6210\u529f\u72b6\u6001\u7801\u5e94\u4e3a\uff1a"'+d.statusName+'": '+d.statusCode):(l.renderData({res:e,curr:t,count:e[d.countName],type:a.type}),r(),n.time=(new Date).getTime()-l.startTime+" ms"),l.setColsWidth(),"function"==typeof n.done&&n.done(e,t,e[d.countName])},error:function(e,t){l.errorView("\u8bf7\u6c42\u5f02\u5e38\uff0c\u9519\u8bef\u63d0\u793a\uff1a"+t),"function"==typeof n.error&&n.error(e,t)}})):"array"===layui.type(n.data)&&(e={},o=t*n.limit-n.limit,i=n.data.concat(),e[d.dataName]=n.page?i.splice(o,n.limit):i,e[d.countName]=n.data.length,"object"==typeof n.totalRow&&(e[d.totalRowName]=p.extend({},n.totalRow)),l.renderData({res:e,curr:t,count:e[d.countName],type:a.type}),r(),l.setColsWidth(),"function"==typeof n.done&&n.done(e,t,e[d.countName]))},n.prototype.eachCols=function(e){return b.eachCols(null,e,this.config.cols),this},n.prototype.col=function(e){try{return e=e.split("-"),this.config.cols[e[1]][e[2]]||{}}catch(t){return u.error(t),{}}},n.prototype.getTrHtml=function(t,a,l,e){var y=this,u=y.config,n=e&&e.trs||[],h=e&&e.trs_fixed||[],f=e&&e.trs_fixed_r||[];return l=l||1,layui.each(t,function(o,d){var i=[],r=[],c=[],s=o+u.limit*(l-1)+1;if("object"!=typeof d){t[o]=d={LAY_KEY:d};try{b.cache[y.key][o]=d}catch(e){}}"array"===layui.type(d)&&0===d.length||(d[b.config.numbersName]=s,a||(d[b.config.indexName]=o),y.eachCols(function(e,l){var t,e=l.field||e,a=l.key,n=d[e];n!==undefined&&null!==n||(n=""),l.colGroup||(t=['','
            "+function(){var e,t=p.extend(!0,{LAY_COL:l},d),a=b.config.checkName,i=b.config.disabledName;switch(l.type){case"checkbox":return'';case"radio":return t[a]&&(y.thisCheckedRowIndex=o),'';case"numbers":return s}return l.toolbar?m(p(l.toolbar).html()||"").render(t):C.call(y,{item3:l,content:n,tplData:t})}(),"
            "].join(""),i.push(t),l.fixed&&"right"!==l.fixed&&r.push(t),"right"===l.fixed&&c.push(t))}),n.push(''+i.join("")+""),h.push(''+r.join("")+""),f.push(''+c.join("")+""))}),{trs:n,trs_fixed:h,trs_fixed_r:f}},b.getTrHtml=function(e,t){return k(e).getTrHtml(t)},n.prototype.renderData=function(e){var a=this,i=a.config,t=e.res,l=e.curr,n=e.count,o=e.sort,d=t[i.response.dataName]||[],t=t[i.response.totalRowName],r=[],c=[],s=[],y=function(){if(i.HAS_SET_COLS_PATCH||a.setColsPatch(),i.HAS_SET_COLS_PATCH=!0,a.thisCheckedRowIndex="",!o&&a.sortKey)return a.sort({field:a.sortKey.field,type:a.sortKey.sort,pull:!0,reloadType:e.type});a.getTrHtml(d,o,l,{trs:r,trs_fixed:c,trs_fixed_r:s}),"fixed"===i.scrollPos&&"reloadData"===e.type||a.layBody.scrollTop(0),"reset"===i.scrollPos&&a.layBody.scrollLeft(0),a.layMain.find("."+N).remove(),a.layMain.find("tbody").html(r.join("")),a.layFixLeft.find("tbody").html(c.join("")),a.layFixRight.find("tbody").html(s.join("")),a.renderForm(),"number"==typeof a.thisCheckedRowIndex&&a.setRowChecked({type:"radio",index:a.thisCheckedRowIndex},!0),a.syncCheckAll(),a.fullSize(),a.haveInit?a.scrollPatch():setTimeout(function(){a.scrollPatch()},50),a.haveInit=!0,h.close(a.tipsIndex)};return b.cache[a.key]=d,a.layTotal[0==d.length?"addClass":"removeClass"](L),a.layPage[i.page||i.pagebar?"removeClass":"addClass"](T),a.layPage.find(A)[!i.page||0==n||0===d.length&&1==l?"addClass":"removeClass"](L),0===d.length?a.errorView(i.text.none):(a.layFixLeft.removeClass(T),o?y():(y(),a.renderTotal(d,t),a.layTotal&&a.layTotal.removeClass(T),void(i.page&&(i.page=p.extend({elem:"layui-table-page"+i.index,count:n,limit:i.limit,limits:i.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'',next:'',jump:function(e,t){t||(a.page=e.curr,i.limit=e.limit,a.pullData(e.curr))}},i.page),i.page.count=n,z.render(i.page)))))},n.prototype.renderTotal=function(e,o){var d,r=this,c=r.config,s={};c.totalRow&&(layui.each(e,function(e,i){"array"===layui.type(i)&&0===i.length||r.eachCols(function(e,t){var e=t.field||e,a=i[e];t.totalRow&&(s[e]=(s[e]||0)+(parseFloat(a)||0))})}),r.dataTotal=[],d=[],r.eachCols(function(e,t){var a,e=t.field||e,i=o&&o[t.field],l="totalRowDecimals"in t?t.totalRowDecimals:2,l=s[e]?parseFloat(s[e]||0).toFixed(l):"",l=(a=t.totalRowText||"",(n={LAY_COL:t})[e]=l,n=t.totalRow&&C.call(r,{item3:t,content:l,tplData:n})||a,i||n),n=(t.field&&r.dataTotal.push({field:t.field,total:p("
            "+l+"
            ").text()}),['','
            "+("string"==typeof(a=t.totalRow||c.totalRow)?m(a).render(p.extend({TOTAL_NUMS:i||s[e],TOTAL_ROW:o||{},LAY_COL:t},t)):l),"
            "].join(""));d.push(n)}),e=r.layTotal.find(".layui-table-patch"),r.layTotal.find("tbody").html(""+d.join("")+(e.length?e.get(0).outerHTML:"")+""))},n.prototype.getColElem=function(e,t){this.config;return e.eq(0).find(".laytable-cell-"+t+":eq(0)")},n.prototype.renderForm=function(e){this.config;var t=this.elem.attr("lay-filter");f.render(e,t)},n.prototype.setRowChecked=function(a,e){var t=this,i=t.config,l="layui-table-click",n=t.layBody.find("tr"+("all"===a.index?"":'[data-index="'+a.index+'"]'));"checkbox"!==(a=p.extend({type:"checkbox",checked:!0},a)).type&&"all"!==a.index&&n.addClass(l).siblings("tr").removeClass(l),a.selectedStyle||e||(l=b.cache[t.key],layui.each(l,function(e,t){a.index===e||"all"===a.index?t[i.checkName]=a.checked:"radio"===a.type&&delete t[i.checkName]}),n.find('input[lay-type="'+({radio:"layTableRadio",checkbox:"layTableCheckbox"}[a.type]||"checkbox")+'"]').prop("checked",a.checked),t.syncCheckAll(),t.renderForm(a.type))},n.prototype.sort=function(l){var e,t=this,a={},i=t.config,n=i.elem.attr("lay-filter"),o=b.cache[t.key];"string"==typeof(l=l||{}).field&&(d=l.field,t.layHeader.find("th").each(function(e,t){var a=p(this),i=a.data("field");if(i===l.field)return l.field=a,d=i,!1}));try{var d=d||l.field.data("field"),r=l.field.data("key");if(t.sortKey&&!l.pull&&d===t.sortKey.field&&l.type===t.sortKey.sort)return;var c=t.layHeader.find("th .laytable-cell-"+r).find(D);t.layHeader.find("th").find(D).removeAttr("lay-sort"),c.attr("lay-sort",l.type||null),t.layFixed.find("th")}catch(s){u.error("Table modules: sort field '"+d+"' not matched")}t.sortKey={field:d,sort:l.type},i.autoSort&&("asc"===l.type?e=layui.sort(o,d):"desc"===l.type?e=layui.sort(o,d,!0):(e=layui.sort(o,b.config.indexName),delete t.sortKey,delete i.initSort)),a[i.response.dataName]=e||o,t.renderData({res:a,curr:t.page,count:t.count,sort:!0,type:l.reloadType}),l.fromEvent&&(i.initSort={field:d,type:l.type},layui.event.call(l.field,w,"sort("+n+")",p.extend({config:i},i.initSort)))},n.prototype.loading=function(e){var t=this;t.config.loading&&(e?(t.layInit&&t.layInit.remove(),delete t.layInit,t.layBox.find(".layui-table-init").remove()):(t.layInit=p(['
            ','',"
            "].join("")),t.layBox.append(t.layInit)))},n.prototype.setCheckData=function(e,t){var a=this.config,i=b.cache[this.key];i[e]&&"array"!==layui.type(i[e])&&(i[e][a.checkName]=t)},n.prototype.syncCheckAll=function(){var e=this,i=e.config,t=e.layHeader.find('input[name="layTableCheckbox"]'),a=function(a){return e.eachCols(function(e,t){"checkbox"===t.type&&(t[i.checkName]=a)}),a};t[0]&&(b.checkStatus(e.key).isAll?(t[0].checked||(t.prop("checked",!0),e.renderForm("checkbox")),a(!0)):(t[0].checked&&(t.prop("checked",!1),e.renderForm("checkbox")),a(!1)))},n.prototype.getCssRule=function(a,i){var e=this.elem.find("style")[0],e=e.sheet||e.styleSheet||{},e=e.cssRules||e.rules;layui.each(e,function(e,t){if(t.selectorText===".laytable-cell-"+a)return i(t),!0})},n.prototype.fullSize=function(){var e,a,i=this,t=i.config,l=t.height;i.fullHeightGap?(l=I.height()-i.fullHeightGap,i.elem.css("height",l=l<135?135:l)):i.parentDiv&&i.parentHeightGap&&(l=p(i.parentDiv).height()-i.parentHeightGap,i.elem.css("height",l=l<135?135:l)),1
            ')).find("div").css({width:a}),e.find("tr").append(t)):e.find(".layui-table-patch").remove()};n(e.layHeader),n(e.layTotal);n=e.layMain.height()-i;e.layFixed.find(_).css("height",t.height()>=n?n:"auto"),e.layFixRight[b.cache[e.key]&&b.cache[e.key].length&&0');a.html(t),y.height&&a.css("max-height",y.height-(s.layTool.outerHeight()||50)),i.find("."+H)[0]||i.append(a),s.renderForm(),a.on("click",function(e){layui.stope(e)}),e.done&&e.done(a,t)};switch(layui.stope(e),F.trigger("table.tool.panel.remove"),h.close(s.tipsIndex),t){case"LAYTABLE_COLS":l({list:(a=[],s.eachCols(function(e,t){t.field&&"normal"==t.type&&a.push('
          • "+(t.fieldTitle||t.title||t.field)+"
          • ").text())+'" lay-filter="LAY_TABLE_TOOL_COLS">')}),a.join("")),done:function(){f.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var e=p(e.elem),t=this.checked,a=e.data("key"),i=s.col(a),l=i.hide,e=e.data("parentkey");i.key&&(i.hide=!t,s.elem.find('*[data-key="'+a+'"]')[t?"removeClass":"addClass"](T),l!=i.hide&&s.setParentCol(!t,e),s.resize(),layui.event.call(this,w,"colToggled("+r+")",{col:i,config:y}))})}});break;case"LAYTABLE_EXPORT":g.ie?h.tips("\u5bfc\u51fa\u529f\u80fd\u4e0d\u652f\u6301 IE\uff0c\u8bf7\u7528 Chrome \u7b49\u9ad8\u7ea7\u6d4f\u89c8\u5668\u5bfc\u51fa",this,{tips:3}):l({list:['
          • \u5bfc\u51fa csv \u683c\u5f0f\u6587\u4ef6
          • ','
          • \u5bfc\u51fa xls \u683c\u5f0f\u6587\u4ef6
          • '].join(""),done:function(e,t){t.on("click",function(){var e=p(this).data("type");b.exportFile.call(s,y.id,null,e)})}});break;case"LAYTABLE_PRINT":var n=window.open("about:blank","_blank"),o=[""].join(""),d=p(s.layHeader.html());d.append(s.layMain.find("table").html()),d.append(s.layTotal.find("table").html()),d.find("th.layui-table-patch").remove(),d.find("thead>tr>th."+j).filter(function(e,t){return!p(t).children("."+M).length}).remove(),d.find("tbody>tr>td."+j).remove(),n.document.write(o+d.prop("outerHTML")),n.document.close(),n.print(),n.close()}layui.event.call(this,w,"toolbar("+r+")",p.extend({event:t,config:y},{}))}),s.layPagebar.on("click","*[lay-event]",function(e){var t=p(this).attr("lay-event");layui.event.call(this,w,"pagebar("+r+")",p.extend({event:t,config:y},{}))}),e.on("mousemove",function(e){var t=p(this),a=t.offset().left,e=e.clientX-a;t.data("unresize")||x.eventMoveElem||(d.allowResize=t.width()-e<=10,o.css("cursor",d.allowResize?"col-resize":""))}).on("mouseleave",function(){p(this);x.eventMoveElem||o.css("cursor","")}).on("mousedown",function(e){var t,a=p(this);d.allowResize&&(t=a.data("key"),e.preventDefault(),d.offset=[e.clientX,e.clientY],s.getCssRule(t,function(e){var t=e.style.width||a.outerWidth();d.rule=e,d.ruleWidth=parseFloat(t),d.minWidth=a.data("minwidth")||y.cellMinWidth,d.maxWidth=a.data("maxwidth")||y.cellMaxWidth}),a.data(S,d),x.eventMoveElem=a)}),x.docEvent||F.on("mousemove",function(e){var t,a;x.eventMoveElem&&(t=x.eventMoveElem.data(S)||{},x.eventMoveElem.data("resizing",1),e.preventDefault(),t.rule&&(e=t.ruleWidth+e.clientX-t.offset[0],a=x.eventMoveElem.closest("."+R).attr("lay-id"),(a=k(a))&&((e=et.maxWidth&&(e=t.maxWidth),t.rule.style.width=e+"px",a.setGroupWidth(x.eventMoveElem),h.close(s.tipsIndex))))}).on("mouseup",function(e){var t,a,i,l,n;x.eventMoveElem&&(i=(t=x.eventMoveElem).closest("."+R).attr("lay-id"),(a=k(i))&&(i=t.data("key"),l=a.col(i),n=a.config.elem.attr("lay-filter"),d={},o.css("cursor",""),a.scrollPatch(),t.removeData(S),delete x.eventMoveElem,a.getCssRule(i,function(e){l.width=parseFloat(e.style.width),layui.event.call(t[0],w,"colResized("+n+")",{col:l,config:a.config})})))}),x.docEvent=!0,e.on("click",function(e){var t=p(this),a=t.find(D),i=a.attr("lay-sort");if(!a[0]||1===t.data("resizing"))return t.removeData("resizing");s.sort({field:t,type:"asc"===i?"desc":"desc"===i?null:"asc",fromEvent:!0})}).find(D+" .layui-edge ").on("click",function(e){var t=p(this),a=t.index(),t=t.parents("th").eq(0).data("field");layui.stope(e),0===a?s.sort({field:t,type:"asc",fromEvent:!0}):s.sort({field:t,type:"desc",fromEvent:!0})}),s.commonMember=function(e){var t=p(this).parents("tr").eq(0).data("index"),r=s.layBody.find('tr[data-index="'+t+'"]'),c=(c=b.cache[s.key]||[])[t]||{},a={tr:r,config:y,data:b.clearCacheKey(c),index:t,del:function(){b.cache[s.key][t]=[],r.remove(),s.scrollPatch()},update:function(e,d){e=e||{},layui.each(e,function(i,l){var n=r.children('td[data-field="'+i+'"]'),o=n.children(u);c[i]=a.data[i]=l,s.eachCols(function(e,t){var a;t.field==i?(o.html(C.call(s,{item3:t,content:l,tplData:p.extend({LAY_COL:t},c)})),n.data("content",l)):d&&(t.templet||t.toolbar)&&(e=r.children('td[data-field="'+(t.field||e)+'"]'),a=c[t.field],e.children(u).html(C.call(s,{item3:t,content:a,tplData:p.extend({LAY_COL:t},c)})),e.data("content",a))})}),s.renderForm()},setRowChecked:function(e){s.setRowChecked(p.extend({index:t},e))}};return p.extend(a,e)}),t=(s.elem.on("click",'input[name="layTableCheckbox"]+',function(){var e=p(this).prev(),t=s.layBody.find('input[name="layTableCheckbox"]'),a=e.parents("tr").eq(0).data("index"),i=e[0].checked,l="layTableAllChoose"===e.attr("lay-filter");e[0].disabled||(l?(t.each(function(e,t){t.checked=i,s.setCheckData(e,i)}),s.syncCheckAll(),s.renderForm("checkbox")):(s.setCheckData(a,i),s.syncCheckAll()),layui.event.call(e[0],w,"checkbox("+r+")",n.call(e[0],{checked:i,type:l?"all":"one"})))}),s.elem.on("click",'input[lay-type="layTableRadio"]+',function(){var e=p(this).prev(),t=e[0].checked,a=e.parents("tr").eq(0).data("index");e[0].disabled||(s.setRowChecked({type:"radio",index:a}),layui.event.call(e[0],w,"radio("+r+")",n.call(e[0],{checked:t})))}),s.layBody.on("mouseenter","tr",function(){var e=p(this),t=e.index();e.data("off")||s.layBody.find("tr:eq("+t+")").addClass(E)}).on("mouseleave","tr",function(){var e=p(this),t=e.index();e.data("off")||s.layBody.find("tr:eq("+t+")").removeClass(E)}).on("click","tr",function(){t.call(this,"row")}).on("dblclick","tr",function(){t.call(this,"rowDouble")}).on("contextmenu","tr",function(e){y.defaultContextmenu||e.preventDefault(),t.call(this,"rowContextmenu")}),function(e){var t=p(this);t.data("off")||layui.event.call(this,w,e+"("+r+")",n.call(t.children("td")[0]))}),c=function(e,t){var a,i,l,n;(e=p(e)).data("off")||(a=e.data("field"),n=e.data("key"),n=s.col(n),i=e.closest("tr").data("index"),i=b.cache[s.key][i],l=e.children(u),(n="function"==typeof n.edit?n.edit(i):n.edit)&&((n=p("textarea"===n?'':''))[0].value=e.data("content")||i[a]||l.text(),e.find("."+W)[0]||e.append(n),n.focus(),t&&layui.stope(t)))},i=(s.layBody.on("change","."+W,function(){var e=p(this),t=e.parent(),a=this.value,i=e.parent().data("field"),e=e.closest("tr").data("index"),e=b.cache[s.key][e],l=n.call(t[0],{value:a,field:i,oldValue:e[i],td:t,reedit:function(){setTimeout(function(){c(l.td);var e={};e[i]=l.oldValue,l.update(e)})},getCol:function(){return s.col(t.data("key"))}}),e={};e[i]=a,l.update(e),layui.event.call(t[0],w,"edit("+r+")",l)}).on("blur","."+W,function(){p(this).remove()}),s.layBody.on(y.editTrigger,"td",function(e){c(this,e)}).on("mouseenter","td",function(){a.call(this)}).on("mouseleave","td",function(){a.call(this,"hide")}),"layui-table-grid-down"),a=function(e){var t=p(this),a=t.children(u);t.data("off")||(e?t.find(".layui-table-grid-down").remove():!(a.prop("scrollWidth")>a.outerWidth()||0'))},l=(s.layBody.on("click","."+i,function(e){var t=p(this).parent().children(u);s.tipsIndex=h.tips(['
            ',t.html(),"
            ",''].join(""),t[0],{tips:[3,""],time:-1,anim:-1,maxWidth:g.ios||g.android?300:s.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){h.close(t)})}}),layui.stope(e)}),function(e){var t=p(this),a=t.parents("tr").eq(0).data("index");layui.event.call(this,w,(e||"tool")+"("+r+")",n.call(this,{event:t.attr("lay-event")})),s.setRowChecked({type:"radio",index:a},!0)});s.layBody.on("click","*[lay-event]",function(e){l.call(this),layui.stope(e)}).on("dblclick","*[lay-event]",function(e){l.call(this,"toolDouble"),layui.stope(e)}),s.layMain.on("scroll",function(){var e=p(this),t=e.scrollLeft(),e=e.scrollTop();s.layHeader.scrollLeft(t),s.layTotal.scrollLeft(t),s.layFixed.find(_).scrollTop(e),h.close(s.tipsIndex)}),I.on("resize",function(){s.resize()})},F.on("click",function(){F.trigger("table.remove.tool.panel")}),F.on("table.remove.tool.panel",function(){p("."+H).remove()}),b.init=function(i,o){o=o||{};var e="object"==typeof i?i:p("string"==typeof i?'table[lay-filter="'+i+'"]':t+"[lay-data], "+t+"[lay-options]"),d="Table element property lay-data configuration item has a syntax error: ";return e.each(function(){var l,e=p(this),t=e.attr("lay-data"),t=r.options(this,{attr:t?"lay-data":null,errorText:d+(t||e.attr("lay-options"))}),n=p.extend({elem:this,cols:[],data:[],skin:e.attr("lay-skin"),size:e.attr("lay-size"),even:"string"==typeof e.attr("lay-even")},b.config,o,t),a=(i&&e.hide(),e.find("thead>tr").each(function(i){n.cols[i]=[],p(this).children().each(function(e){var t=p(this),a=t.attr("lay-data"),a=r.options(this,{attr:a?"lay-data":null,errorText:d+(a||t.attr("lay-options"))}),t=p.extend({title:t.text(),colspan:parseInt(t.attr("colspan"))||0,rowspan:parseInt(t.attr("rowspan"))||0},a);n.cols[i].push(t)})}),e.find("tbody>tr")),t=b.render(n);!a.length||o.data||t.config.url||(l=0,b.eachCols(t.config.id,function(e,i){a.each(function(e){n.data[e]=n.data[e]||{};var t=p(this),a=i.field;n.data[e][a]=t.children("td").eq(l).html()}),l++}),t.reloadData({data:n.data}))}),this},x.that={},x.config={},function(a,i,e,l){var n,o;l.colGroup&&(n=0,a++,l.CHILD_COLS=[],o=e+(parseInt(l.rowspan)||1),layui.each(i[o],function(e,t){t.parentKey?t.parentKey===l.key&&(t.PARENT_COL_INDEX=a,l.CHILD_COLS.push(t),d(a,i,o,t)):t.PARENT_COL_INDEX||1<=n&&n==(l.colspan||1)||(t.PARENT_COL_INDEX=a,l.CHILD_COLS.push(t),n+=t.hide?0:parseInt(1td').filter('[data-field="'+e+'"]')}}})).replace(/"/g,'""'),n.push(a='"'+a+'"')))}),d.push(n.join(","))}),c&&layui.each(c.dataTotal,function(e,t){r[t.field]||i.push(t.total+"\t")}),o.join(",")+"\r\n"+d.join("\r\n")+"\r\n"+i.join(","))),y.download=(a.title||n.title||"table_"+(n.index||""))+"."+l,document.body.appendChild(y),y.click(),document.body.removeChild(y)},b.getOptions=l,b.hideCol=function(e,l){var n=k(e);n&&("boolean"===layui.type(l)?n.eachCols(function(e,t){var a=t.key,i=n.col(a),t=t.parentKey;i.hide!=l&&(i=i.hide=l,n.elem.find('*[data-key="'+a+'"]')[i?"addClass":"removeClass"](T),n.setParentCol(i,t))}):layui.each(l,function(e,l){n.eachCols(function(e,t){var a,i;l.field===t.field&&(a=t.key,i=n.col(a),t=t.parentKey,"hide"in l&&i.hide!=l.hide&&(i=i.hide=!!l.hide,n.elem.find('*[data-key="'+a+'"]')[i?"addClass":"removeClass"](T),n.setParentCol(i,t)))})}),p("."+H).remove(),n.resize())},b.reload=function(e,t,a,i){if(l(e))return e=k(e),e.reload(t,a,i),x.call(e)},b.reloadData=function(){var a=p.extend([],arguments),i=(a[3]="reloadData",new RegExp("^("+["elem","id","cols","width","height","maxHeight","toolbar","defaultToolbar","className","css","totalRow","pagebar"].join("|")+")$"));return layui.each(a[1],function(e,t){i.test(e)&&delete a[1][e]}),b.reload.apply(null,a)},b.render=function(e){e=new n(e);return x.call(e)},b.clearCacheKey=function(e){return delete(e=p.extend({},e))[b.config.checkName],delete e[b.config.indexName],delete e[b.config.numbersName],delete e[b.config.disabledName],e},p(function(){b.init()}),e(w,b)});layui.define(["table"],function(e){"use strict";var O=layui.$,y=layui.form,Y=layui.table,i=layui.hint(),p={config:{},on:Y.on,eachCols:Y.eachCols,index:Y.index,set:function(e){var t=this;return t.config=O.extend({},t.config,e),t},resize:Y.resize},o=function(){var a=this,e=a.config,n=e.id||e.index;return{config:e,reload:function(e,t){a.reload.call(a,e,t)},reloadData:function(e,t){p.reloadData(n,e,t)}}},E=function(e){var t=o.that[e];return t||i.error(e?"The treeTable instance with ID '"+e+"' not found":"ID argument required"),t||null},L=".layui-table-main",j=".layui-table-fixed-l",P=".layui-table-fixed-r",B="LAY_DATA_INDEX",h="LAY_DATA_INDEX_HISTORY",f="LAY_PARENT_INDEX",s="LAY_CHECKBOX_HALF",F="LAY_EXPAND",X="LAY_HAS_EXPANDED",t=function(e){var t=this;t.index=++p.index,t.config=O.extend(!0,{},t.config,p.config,e),t.init(),t.render()},c=function(n,i,e){var l=Y.cache[n];layui.each(e||l,function(e,t){var a=t[B];-1!==a.indexOf("-")&&(l[a]=t),t[i]&&c(n,i,t[i])})};t.prototype.init=function(){var i=this,e=i.config,t=Y.render(O.extend({},e,{data:[],url:"",done:null})),l=t.config.id,a=((o.that[l]=i).tableIns=t,e.tree),t=a.customName,r=(t.isParent,t.children),n=e.parseData,d=e.done;e.url?e.parseData=function(){var e=arguments,t=e[0],e=("function"===layui.type(n)&&(t=n.apply(this,e)||e[0]),this.response.dataName);return a.data.isSimpleData&&!a["async"].enable&&(t[e]=i.flatToTree(t[e])),i.initData(t[e]),t}:(e.data=e.data||[],a.data.isSimpleData&&(e.data=i.flatToTree(e.data)),e.initSort&&e.initSort.type&&(e.data=layui.sort(e.data,e.initSort.field,"desc"===e.initSort.type)),i.initData(e.data)),e.done=function(){var e,t=arguments,a=this.elem.next(),n=(i.updateStatus(null,{LAY_HAS_EXPANDED:!1}),c(l,r),a.find('[name="layTableCheckbox"][lay-filter="layTableAllChoose"]'));if(n.length&&(e=p.checkStatus(l),n.prop({checked:e.isAll&&e.data.length,indeterminate:!e.isAll&&e.data.length})),i.renderTreeTable(a),"function"===layui.type(d))return d.apply(this,t)}},t.prototype.config={tree:{customName:{children:"children",isParent:"isParent",name:"name",id:"id",pid:"parentId",rootId:null},view:{indent:14,flexIconClose:'',flexIconOpen:'',showIcon:!0,icon:"",iconClose:'',iconOpen:'',iconLeaf:'',showFlexIconIfNotParent:!1,dblClickExpand:!0},data:{isSimpleData:!1},"async":{enable:!1,url:"",type:null,contentType:null,headers:null,where:null,autoParam:[]},callback:{beforeExpand:null,onExpand:null}}},t.prototype.getOptions=function(){return this.tableIns?Y.getOptions(this.tableIns.config.id):this.config},t.prototype.flatToTree=function(e){var a,n,i,t,l,r=this.getOptions(),d=r.tree.customName,r=r.id;return e=e||Y.cache[r],r=e,a=d.id,n=d.pid,i=d.children,t=d.rootId,a=a||"id",n=n||"parentId",i=i||"children",l={},layui.each(r,function(e,t){l[t[a]]=O.extend({},t),l[t[a]][i]=[]}),layui.each(l,function(e,t){t[n]&&l[t[n]]&&l[t[n]][i].push(t)}),Object.values(l).filter(function(e){return t?e[n]===t:!e[n]})},t.prototype.treeToFlat=function(e,n,i){var l=this,r=l.getOptions().tree.customName,d=r.children,o=r.pid,c=[];return layui.each(e,function(e,t){var e=(i?i+"-":"")+e,a=O.extend({},t);a[d]=null,a[o]=t[o]||n,c.push(a),c=c.concat(l.treeToFlat(t[d],t[r.id],e))}),c},t.prototype.getNodeDataByIndex=function(a,e,t){var n=this.getOptions(),i=n.tree,l=n.id,r=Y.cache[l][a];if("delete"!==t&&r)return e?O.extend({},r):r;for(var r=this.getTableData(),d=(a+="").split("-"),o=r,c=n.url||1'),O.ajax({type:C||"get",url:w,contentType:T,data:N,dataType:_||"json",jsonpCallback:A,headers:D||{},success:function(e){p.LAY_ASYNC_STATUS="success",(e="function"==typeof I?I.call(o,e)||e:e)[S.statusName]!=S.statusCode?(p.LAY_ASYNC_STATUS="error",v.html('')):(p[u.children]=e[S.dataName],y.initData(p[u.children],p[B]),U(t,!0,!x&&n,i,l))},error:function(e,t){p.LAY_ASYNC_STATUS="error","function"==typeof o.error&&o.error(e,t)}}),m;p[F]=e,b=p[X]=!0,f.length&&(o.initSort&&!o.url&&(f=(g=o.initSort).type?p[u.children]=layui.sort(f,g.field,"desc"===g.type):p[u.children]=layui.sort(f,Y.config.indexName)),y.initData(p[u.children],p[B]),C=Y.getTrHtml(d,f,null,null,s),k={trs:O(C.trs.join("")),trs_fixed:O(C.trs_fixed.join("")),trs_fixed_r:O(C.trs_fixed_r.join(""))},layui.each(f,function(e,t){k.trs.eq(e).attr({"data-index":t[B],"lay-data-index":t[B],"data-level":h}),k.trs_fixed.eq(e).attr({"data-index":t[B],"lay-data-index":t[B],"data-level":h}),k.trs_fixed_r.eq(e).attr({"data-index":t[B],"lay-data-index":t[B],"data-level":h})}),r.find(L).find('tbody tr[lay-data-index="'+s+'"]').after(k.trs),r.find(j).find('tbody tr[lay-data-index="'+s+'"]').after(k.trs_fixed),r.find(P).find('tbody tr[lay-data-index="'+s+'"]').after(k.trs_fixed_r),layui.each(k,function(e,t){y.renderTreeTable(t,h)}),n&&!x&&layui.each(f,function(e,t){U({trElem:r.find('tr[lay-data-index="'+t.LAY_DATA_INDEX+'"]').first()},a,n,i,l)}))}else p[F]=e,n&&!x?(layui.each(f,function(e,t){U({trElem:r.find('tr[lay-data-index="'+t.LAY_DATA_INDEX+'"]').first()},a,n,i,l)}),r.find(f.map(function(e,t,a){return'tr[lay-data-index="'+e[B]+'"]'}).join(",")).addClass("layui-hide")):(w=y.treeToFlat(f,p[u.id],s),r.find(w.map(function(e,t,a){return'tr[lay-data-index="'+e[B]+'"]'}).join(",")).addClass("layui-hide"));return Y.resize(d),l&&"loading"!==p.LAY_ASYNC_STATUS&&(T=c.callback.onExpand,"function"===layui.type(T)&&T(d,p,a)),m},l=(p.expandNode=function(e,t){var a,n,i,e=E(e);if(e)return a=(t=t||{}).index,n=t.expandFlag,i=t.inherit,t=t.callbackFlag,e=e.getOptions().elem.next(),U({trElem:e.find('tr[lay-data-index="'+a+'"]').first()},n,i,null,t)},p.expandAll=function(e,t){if("boolean"!==layui.type(t))return i.error("expandAll\u7684\u5c55\u5f00\u72b6\u6001\u53c2\u6570\u53ea\u63a5\u6536true/false");e=E(e);if(e){var a=e.getOptions(),n=a.tree,a=a.elem.next();if(t)return i.error("\u6682\u4e0d\u652f\u6301\u5c55\u5f00\u5168\u90e8");else{e.updateStatus(null,{LAY_EXPAND:!1}),a.find('tbody tr[data-level!="0"]').addClass("layui-hide");t=a.find('tbody tr[data-level="0"]');t.find(".layui-table-tree-flexIcon").html(n.view.flexIconClose),t.find(".layui-table-tree-nodeIcon").html(n.view.iconClose),p.resize()}}},t.prototype.renderTreeTable=function(e,l,t){var a=this.getOptions(),n=a.elem.next(),i=(n.addClass("layui-table-tree"),a.id),r=a.tree||{},d=(r.data,r.view||{}),a=r.customName||{},o=a.isParent,c=n.attr("lay-filter"),u=this,f=((l=l||0)||(n.find(".layui-table-body tr:not([data-level])").attr("data-level",l),layui.each(Y.cache[i],function(e,t){n.find('.layui-table-main tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t[B]),n.find('.layui-table-fixed-l tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t[B]),n.find('.layui-table-fixed-r tbody tr[data-level="0"]:eq('+e+")").attr("lay-data-index",t[B])})),{}),a=a.name,s=r.view.indent||14;layui.each(e.find('td[data-field="'+a+'"]'),function(e,t){var a,n=(t=O(t)).closest("tr"),i=t.children(".layui-table-cell");i.hasClass("layui-table-tree-item")||(i.addClass("layui-table-tree-item"),(i=n.attr("lay-data-index"))&&((a=u.getNodeDataByIndex(i))[F]&&(f[i]=!0),i=t.find("div.layui-table-cell").html(),t.find("div.layui-table-cell").html(['
            ',r.view.flexIconClose,"
            ",'
            ',r.view.showIcon&&(a.icon||r.view.icon||(a[o]?r.view.iconClose:r.view.iconLeaf))||"","
            ",i].join("")).find(".layui-table-tree-flexIcon").on("click",function(e){layui.stope(e),U({trElem:n},null,null,null,!0)})))}),!1!==t&&layui.each(f,function(e,t){e=n.find('tr[lay-data-index="'+e+'"]');e.find(".layui-table-tree-flexIcon").html(r.view.flexIconOpen),U({trElem:e.first()},!0)}),p.formatNumber(i),y.render(null,c)},p.formatNumber=function(e){var n,i,l=E(e);if(l)return n=l.getOptions().elem.next(),i=0,layui.each(l.treeToFlat(Y.cache[e]),function(e,t){var a;layui.isArray(t)||((a=l.getNodeDataByIndex(t.LAY_DATA_INDEX)).LAY_NUM=++i,n.find('tr[lay-data-index="'+t.LAY_DATA_INDEX+'"] .laytable-cell-numbers').html(a.LAY_NUM))}),p},t.prototype.render=function(e){var t=this;t.tableIns=Y["reloadData"===e?"reloadData":"reload"](t.tableIns.config.id,O.extend(!0,{},t.config)),t.config=t.tableIns.config},t.prototype.reload=function(e,t,a){var n=this;e=e||{},delete n.haveInit,layui.each(e,function(e,t){"array"===layui.type(t)&&delete n.config[e]}),n.config=O.extend(t,{},n.config,e),n.render(a)},p.reloadData=function(){var e=O.extend(!0,[],arguments);return e[3]="reloadData",p.reload.apply(null,e)},function(e,a,n){var i=[];return layui.each(e,function(e,t){"function"===layui.type(a)?a(t):O.extend(t,a),i.push(O.extend({},t)),i=i.concat(l(t[n],a,n))}),i}),n=(t.prototype.updateStatus=function(e,t){var a=this.getOptions(),n=a.tree;return e=e||Y.cache[a.id],l(e,t,n.customName.children)},t.prototype.getTableData=function(){var e=this.getOptions();return e.url?Y.cache[e.id]:e.data},p.updateStatus=function(e,t,a){var e=E(e),n=e.getOptions();return a=a||(n.url?Y.cache[n.id]:n.data),e.updateStatus(a,t)},p.sort=function(e){var t,a,n,i,l=E(e);l&&(a=(t=l.getOptions()).initSort,t.url?t.autoSort&&(n=l.initData(),(i={})[t.response.dataName]=n,"function"==typeof t.done&&t.done(i,l.page,l.count)):(a.type?t.data=layui.sort(t.data,a.field,"desc"===a.type):t.data=layui.sort(t.data,Y.config.indexName),l.initData(t.data),p.reloadData(e)))},function(t){var a=t.config.id,n=E(a),i=t.data=p.getNodeDataByIndex(a,t.index),l=i[B],r=(t.dataIndex=l,t.update);t.update=function(){var e=arguments,e=(O.extend(n.getNodeDataByIndex(l),e[0]),r.apply(this,e));return n.renderTreeTable(t.tr,t.tr.attr("data-level"),!1),e},t.del=function(){p.removeNode(a,i)},t.setRowChecked=function(e){p.setRowChecked(a,{index:i,checked:e})}}),u=(p.updateNode=function(e,a,t){var n,i,l,r,d=E(e);d&&((l=d.getOptions()).tree,l=(n=l.elem.next()).find('tr[lay-data-index="'+a+'"]'),i=l.attr("data-index"),l=l.attr("data-level"),t&&(t=d.getNodeDataByIndex(a,!1,t),r=Y.getTrHtml(e,[t]),layui.each(["main","fixed-l","fixed-r"],function(e,t){n.find(".layui-table-"+t+' tbody tr[lay-data-index="'+a+'"]').replaceWith(O(r[["trs","trs_fixed","trs_fixed_r"][e]].join("")).attr({"data-index":i,"lay-data-index":a}))}),d.renderTreeTable(n.find('tr[lay-data-index="'+a+'"]'),l)))},p.removeNode=function(e,t){var a,n,i,l,r=E(e);r&&(l=(i=r.getOptions()).tree,a=i.elem.next(),n=[],i=r.getNodeDataByIndex("string"===layui.type(t)?t:t[B],!1,"delete"),t=r.getNodeDataByIndex(i[f]),r.updateCheckStatus(t,!0),t=r.treeToFlat([i],i[l.customName.pid],i[f]),layui.each(t,function(e,t){n.push('tr[lay-data-index="'+t[B]+'"]')}),a.find(n.join(",")).remove(),l=r.initData(),layui.each(r.treeToFlat(l),function(e,t){t[h]&&t[h]!==t[B]&&a.find('tr[lay-data-index="'+t[h]+'"]').attr({"data-index":t[B],"lay-data-index":t[B]})}),layui.each(Y.cache[e],function(e,t){a.find('tr[data-level="0"][lay-data-index="'+t[B]+'"]').attr("data-index",e)}),p.formatNumber(e))},p.addNodes=function(e,t){var a,n,i,l,r,d,o,c,u,f,s,y=E(e);if(y)return u=y.getOptions(),f=u.tree,a=u.elem.next(),s=(t=t||{}).parentIndex,i=t.index,l=t.data,t=t.focus,n=(s="number"===layui.type(s)?s.toString():s)?y.getNodeDataByIndex(s):null,i="number"===layui.type(i)?i:-1,l=O.extend(!0,[],layui.isArray(l)?l:[l]),y.getTableData(),n?(r=f.customName.isParent,f=f.customName.children,n[r]=!0,c=(c=n[f])?(d=c.splice(-1===i?c.length:i),n[f]=c.concat(l,d)):n[f]=l,y.updateStatus(c,function(e){e[r]&&(e[X]=!1)}),f=y.treeToFlat(c),a.find(f.map(function(e){return'tr[lay-data-index="'+e[B]+'"]'}).join(",")).remove(),y.initData(),n[X]=!1,n.LAY_ASYNC_STATUS="local",U({trElem:a.find('tr[lay-data-index="'+s+'"]')},!0)):(d=Y.cache[e].splice(-1===i?Y.cache[e].length:i),Y.cache[e]=Y.cache[e].concat(l,d),u.url||(u.page?(c=u.page,u.data.splice.apply(u.data,[c.limit*(c.curr-1),c.limit].concat(Y.cache[e]))):u.data=Y.cache[e]),y.initData(),f=Y.getTrHtml(e,l),o={trs:O(f.trs.join("")),trs_fixed:O(f.trs_fixed.join("")),trs_fixed_r:O(f.trs_fixed_r.join(""))},layui.each(l,function(e,t){o.trs.eq(e).attr({"data-index":t[B],"lay-data-index":t[B],"data-level":"0"}),o.trs_fixed.eq(e).attr({"data-index":t[B],"lay-data-index":t[B],"data-level":"0"}),o.trs_fixed_r.eq(e).attr({"data-index":t[B],"lay-data-index":t[B],"data-level":"0"})}),s=parseInt(l[0][B])-1,c=a.find(L),u=a.find(j),f=a.find(P),-1==s?(c.find('tr[data-level="0"][data-index="0"]').before(o.trs),u.find('tr[data-level="0"][data-index="0"]').before(o.trs_fixed),f.find('tr[data-level="0"][data-index="0"]').before(o.trs_fixed_r)):-1===i?(c.find("tbody").append(o.trs),u.find("tbody").append(o.trs_fixed),f.find("tbody").append(o.trs_fixed_r)):(s=d[0][h],c.find('tr[data-level="0"][data-index="'+s+'"]').before(o.trs),u.find('tr[data-level="0"][data-index="'+s+'"]').before(o.trs_fixed),f.find('tr[data-level="0"][data-index="'+s+'"]').before(o.trs_fixed_r)),layui.each(Y.cache[e],function(e,t){a.find('tr[data-level="0"][lay-data-index="'+t[B]+'"]').attr("data-index",e)}),y.renderTreeTable(a.find(l.map(function(e,t,a){return'tr[lay-data-index="'+e[B]+'"]'}).join(",")))),y.updateCheckStatus(n,!0),p.resize(e),t&&a.find(L).find('tr[lay-data-index="'+l[0][B]+'"]').get(0).scrollIntoViewIfNeeded(),l},p.checkStatus=function(e){var t,a;if(E(e))return t=p.getData(e,!0).filter(function(e,t,a){return e[Y.config.checkName]}),a=!0,layui.each(Y.cache[e],function(e,t){if(!t[Y.config.checkName])return!(a=!1)}),{data:t,isAll:a}},p.on("sort",function(e){var e=e.config,t=e.elem.next(),e=e.id;t.hasClass("layui-table-tree")&&p.sort(e)}),p.on("row",function(e){e.config.elem.next().hasClass("layui-table-tree")&&n(e)}),p.on("rowDouble",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass("layui-table-tree")&&(n(e),(t.tree||{}).view.dblClickExpand&&U({trElem:e.tr.first()},null,null,null,!0))}),p.on("tool",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass("layui-table-tree")&&n(e)}),p.on("edit",function(e){var t=e.config,a=t.elem.next();t.id;a.hasClass("layui-table-tree")&&(n(e),e.field===t.tree.customName.name&&(e.tr.find('td[data-field="'+e.field+'"]').children("div.layui-table-cell").removeClass("layui-table-tree-item"),e.update({})))}),p.on("radio",function(e){var t=e.config,a=t.elem.next(),t=t.id,t=E(t);a.hasClass("layui-table-tree")&&(n(e),u.call(t,e.tr,e.checked))}),t.prototype.updateCheckStatus=function(e,t){var a=this.getOptions(),n=(a.tree,a.id),i=a.elem.next(),l=Y.config.checkName,r=(e&&(a=this.updateParentCheckStatus(e,t),layui.each(a,function(e,t){y.render(i.find('tr[lay-data-index="'+t[B]+'"] input[name="layTableCheckbox"]:not(:disabled)').prop({checked:t[l],indeterminate:t[s]}))})),!0),d=!1;return layui.each(Y.cache[n],function(e,t){(t[l]||t[s])&&(d=!0),t[l]||(r=!1)}),d=d&&!r,y.render(i.find('input[name="layTableCheckbox"][lay-filter="layTableAllChoose"]').prop({checked:r,indeterminate:d})),r},t.prototype.updateParentCheckStatus=function(a,n){var e=this.getOptions(),t=e.tree,e=e.id,i=Y.config.checkName,t=t.customName.children,l=[];return a[s]=!1,n?a[t].length?layui.each(a[t],function(e,t){if(!t[i])return n=!1,a[s]=!0}):n=!1:layui.each(a[t],function(e,t){if(t[i]||t[s])return a[s]=!0}),a[i]=n,l.push(O.extend({},a)),l=a[f]?l.concat(this.updateParentCheckStatus(Y.cache[e][a[f]],n)):l},function(e,t,a){var n=this,i=n.getOptions(),l=i.id,r=i.elem.next(),d=(e.length?e:r).find(".laytable-cell-radio, .laytable-cell-checkbox").children("input").last(),o="radio"===d.attr("type");if(a){a=function(){var e=function(e){layui.stope(e)};d.parent().on("click",e),d.next().click(),d.parent().off("click",e)};o?t&&!d.prop("checked")&&a():"boolean"===layui.type(t)&&d.prop("checked")===t||a()}else{var c,a=n.getNodeDataByIndex(e.attr("data-index")),u=Y.config.checkName;if(!o)return i.tree.customName.isParent,t="boolean"===layui.type(t)?t:!a[u],o=n.updateStatus(a?[a]:Y.cache[l],function(e){e[Y.config.disabledName]||(e[u]=t,e[s]=!1)}),y.render(r.find(o.map(function(e){return'tr[lay-data-index="'+e[B]+'"] input[name="layTableCheckbox"]:not(:disabled)'}).join(",")).prop({checked:t,indeterminate:!1})),a&&a[f]&&(c=n.getNodeDataByIndex(a[f])),n.updateCheckStatus(c,t);a&&(n.updateStatus(null,function(e){e[u]&&(e[u]=!1,y.render(r.find('tr[lay-data-index="'+e[B]+'"] input[type="radio"][lay-type="layTableRadio"]').prop("checked",!1)))}),a[u]=t,y.render(e.find('input[type="radio"][lay-type="layTableRadio"]').prop("checked",t)))}});p.on("checkbox",function(e){var t=e.config,a=t.elem.next(),t=t.id,t=E(t);a.hasClass("layui-table-tree")&&(n(e),a=e.checked,e.isAll=u.call(t,e.tr,a))}),p.setRowChecked=function(e,t){var a,n,i,l,r,d=E(e);d&&(a=d.getOptions().elem.next(),i=(t=t||{}).index,n=t.checked,t=t.callbackFlag,i="string"===layui.type(i)?i:i[B],(l=d.getNodeDataByIndex(i))&&((r=a.find('tr[lay-data-index="'+i+'"]')).length||(p.expandNode(e,{index:l[f],expandFlag:!0}),r=a.find('tr[lay-data-index="'+i+'"]')),u.call(d,r,n,t)))},p.checkAllNodes=function(e,t){var a,e=E(e);e&&(a=e.getOptions().elem.next(),u.call(e,a.find('tr[data-index="NONE"]'),!!t))},p.getData=function(e,t){var a=[];return layui.each(O.extend(!0,[],Y.cache[e]||[]),function(e,t){a.push(t)}),t?E(e).treeToFlat(a):a},o.that={},p.reload=function(e,t,a,n){if(a=!1!==a,E(e).config)return e=E(e),e.reload(t,a,n),o.call(e)},p.render=function(e){e=new t(e);return o.call(e)},e("treeTable",p)});layui.define("form",function(e){"use strict";var u=layui.$,i=layui.form,p=layui.layer,n="tree",a={config:{},index:layui[n]?layui[n].index+1e4:0,set:function(e){var i=this;return i.config=u.extend({},i.config,e),i},on:function(e,i){return layui.onevent.call(this,n,e,i)}},t=function(){var i=this,e=i.config,n=e.id||i.index;return t.that[n]=i,{config:t.config[n]=e,reload:function(e){i.reload.call(i,e)},getChecked:function(){return i.getChecked.call(i)},setChecked:function(e){return i.setChecked.call(i,e)}}},y="layui-hide",d="layui-disabled",f="layui-tree-set",C="layui-tree-iconClick",k="layui-icon-addition",v="layui-icon-subtraction",m="layui-tree-entry",x="layui-tree-main",b="layui-tree-txt",g="layui-tree-pack",w="layui-tree-spread",N="layui-tree-setLineShort",T="layui-tree-showLine",L="layui-tree-lineExtend",l=function(e){var i=this;i.index=++a.index,i.config=u.extend({},i.config,a.config,e),i.render()};l.prototype.config={data:[],showCheckbox:!1,showLine:!0,accordion:!1,onlyIconControl:!1,isJump:!1,edit:!1,text:{defaultNodeName:"\u672a\u547d\u540d",none:"\u65e0\u6570\u636e"}},l.prototype.reload=function(e){var n=this;layui.each(e,function(e,i){"array"===layui.type(i)&&delete n.config[e]}),n.config=u.extend(!0,{},n.config,e),n.render()},l.prototype.render=function(){var e=this,i=e.config,n=(e.checkids=[],u('
            ')),a=(e.tree(n),i.elem=u(i.elem));if(a[0]){if(e.key=i.id||e.index,e.elem=n,e.elemNone=u('
            '+i.text.none+"
            "),a.html(e.elem),0==e.elem.find(".layui-tree-set").length)return e.elem.append(e.elemNone);i.showCheckbox&&e.renderForm("checkbox"),e.elem.find(".layui-tree-set").each(function(){var e=u(this);e.parent(".layui-tree-pack")[0]||e.addClass("layui-tree-setHide"),!e.next()[0]&&e.parents(".layui-tree-pack").eq(1).hasClass("layui-tree-lineExtend")&&e.addClass(N),e.next()[0]||e.parents(".layui-tree-set").eq(0).next()[0]||e.addClass(N)}),e.events()}},l.prototype.renderForm=function(e){i.render(e,"LAY-tree-"+this.index)},l.prototype.tree=function(l,e){var r=this,c=r.config,e=e||c.data;layui.each(e,function(e,i){var n=i.children&&0"),t=u(['
            ','
            ','
            ',c.showLine?n?'':'':'',c.showCheckbox?'':"",c.isJump&&i.href?''+(i.title||i.label||c.text.defaultNodeName)+"":''+(i.title||i.label||c.text.defaultNodeName)+"","
            ",function(){if(!c.edit)return"";var n={add:'',update:'',del:''},a=['
            '];return!0===c.edit&&(c.edit=["update","del"]),"object"==typeof c.edit?(layui.each(c.edit,function(e,i){a.push(n[i]||"")}),a.join("")+"
            "):void 0}(),"
            "].join(""));n&&(t.append(a),r.tree(a,i.children)),l.append(t),t.prev("."+f)[0]&&t.prev().children(".layui-tree-pack").addClass("layui-tree-showLine"),n||t.parent(".layui-tree-pack").addClass("layui-tree-lineExtend"),r.spread(t,i),c.showCheckbox&&(i.checked&&r.checkids.push(i.id),r.checkClick(t,i)),c.edit&&r.operate(t,i)})},l.prototype.spread=function(a,e){var t=this.config,i=a.children("."+m),n=i.children("."+x),l=i.find("."+C),i=i.find("."+b),r=t.onlyIconControl?l:n,c="";r.on("click",function(e){var i=a.children("."+g),n=(r.children(".layui-icon")[0]?r:r.find(".layui-tree-icon")).children(".layui-icon");i[0]?a.hasClass(w)?(a.removeClass(w),i.slideUp(200),n.removeClass(v).addClass(k)):(a.addClass(w),i.slideDown(200),n.addClass(v).removeClass(k),t.accordion&&((i=a.siblings("."+f)).removeClass(w),i.children("."+g).slideUp(200),i.find(".layui-tree-icon").children(".layui-icon").removeClass(v).addClass(k))):c="normal"}),i.on("click",function(){u(this).hasClass(d)||(c=a.hasClass(w)?t.onlyIconControl?"open":"close":t.onlyIconControl?"close":"open",t.click&&t.click({elem:a,state:c,data:e}))})},l.prototype.setCheckbox=function(e,i,n){this.config;var t,l=n.prop("checked");n.prop("disabled")||("object"!=typeof i.children&&!e.find("."+g)[0]||e.find("."+g).find('input[same="layuiTreeCheck"]').each(function(){this.disabled||(this.checked=l)}),(t=function(e){var i,n,a;e.parents("."+f)[0]&&(n=(e=e.parent("."+g)).parent(),a=e.prev().find('input[same="layuiTreeCheck"]'),l?a.prop("checked",l):(e.find('input[same="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||a.prop("checked",!1)),t(n))})(e),this.renderForm("checkbox"))},l.prototype.checkClick=function(n,a){var t=this,l=t.config;n.children("."+m).children("."+x).on("click",'input[same="layuiTreeCheck"]+',function(e){layui.stope(e);var e=u(this).prev(),i=e.prop("checked");e.prop("disabled")||(t.setCheckbox(n,a,e),l.oncheck&&l.oncheck({elem:n,checked:i,data:a}))})},l.prototype.operate=function(c,d){var s=this,o=s.config,e=c.children("."+m),h=e.children("."+x);e.children(".layui-tree-btnGroup").on("click",".layui-icon",function(e){layui.stope(e);var i,e=u(this).data("type"),a=c.children("."+g),t={data:d,type:e,elem:c};if("add"==e){a[0]||(o.showLine?(h.find("."+C).addClass("layui-tree-icon"),h.find("."+C).children(".layui-icon").addClass(k).removeClass("layui-icon-file")):h.find(".layui-tree-iconArrow").removeClass(y),c.append('
            '));var n,l=o.operate&&o.operate(t),r={};if(r.title=o.text.defaultNodeName,r.id=l,s.tree(c.children("."+g),[r]),o.showLine&&(a[0]?(a.hasClass(L)||a.addClass(L),c.find("."+g).each(function(){u(this).children("."+f).last().addClass(N)}),(a.children("."+f).last().prev().hasClass(N)?a.children("."+f).last().prev():a.children("."+f).last()).removeClass(N),!c.parent("."+g)[0]&&c.next()[0]&&a.children("."+f).last().removeClass(N)):(l=c.siblings("."+f),n=1,r=c.parent("."+g),layui.each(l,function(e,i){u(i).children("."+g)[0]||(n=0)}),1==n?(l.children("."+g).addClass(T),l.children("."+g).children("."+f).removeClass(N),c.children("."+g).addClass(T),r.removeClass(L),r.children("."+f).last().children("."+g).children("."+f).last().addClass(N)):c.children("."+g).children("."+f).addClass(N))),!o.showCheckbox)return;h.find('input[same="layuiTreeCheck"]')[0].checked&&(c.children("."+g).children("."+f).last().find('input[same="layuiTreeCheck"]')[0].checked=!0),s.renderForm("checkbox")}else"update"==e?(l=h.children("."+b).html(),h.children("."+b).html(""),h.append(''),h.children(".layui-tree-editInput").val(l).focus(),i=function(e){var i=(i=e.val().trim())||o.text.defaultNodeName;e.remove(),h.children("."+b).html(i),t.data.title=i,o.operate&&o.operate(t)},h.children(".layui-tree-editInput").blur(function(){i(u(this))}),h.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),i(u(this)))})):p.confirm('\u786e\u8ba4\u5220\u9664\u8be5\u8282\u70b9 "'+(d.title||"")+'" \u5417\uff1f',function(e){if(o.operate&&o.operate(t),t.status="remove",p.close(e),!c.prev("."+f)[0]&&!c.next("."+f)[0]&&!c.parent("."+g)[0])return c.remove(),void s.elem.append(s.elemNone);var l,n,i;c.siblings("."+f).children("."+m)[0]?(o.showCheckbox&&(l=function(e){var i,n,a,t;e.parents("."+f)[0]&&(i=e.siblings("."+f).children("."+m),n=(e=e.parent("."+g).prev()).find('input[same="layuiTreeCheck"]')[0],a=1,(t=0)==n.checked&&(i.each(function(e,i){i=u(i).find('input[same="layuiTreeCheck"]')[0];0!=i.checked||i.disabled||(a=0),i.disabled||(t=1)}),1==a&&1==t&&(n.checked=!0,s.renderForm("checkbox"),l(e.parent("."+f)))))})(c),o.showLine&&(e=c.siblings("."+f),n=1,i=c.parent("."+g),layui.each(e,function(e,i){u(i).children("."+g)[0]||(n=0)}),1==n?(a[0]||(i.removeClass(L),e.children("."+g).addClass(T),e.children("."+g).children("."+f).removeClass(N)),(c.next()[0]?i.children("."+f).last():c.prev()).children("."+g).children("."+f).last().addClass(N),c.next()[0]||c.parents("."+f)[1]||c.parents("."+f).eq(0).next()[0]||c.prev("."+f).addClass(N)):!c.next()[0]&&c.hasClass(N)&&c.prev().addClass(N))):(e=c.parent("."+g).prev(),o.showLine?(e.find("."+C).removeClass("layui-tree-icon"),e.find("."+C).children(".layui-icon").removeClass(v).addClass("layui-icon-file"),(i=e.parents("."+g).eq(0)).addClass(L),i.children("."+f).each(function(){u(this).children("."+g).children("."+f).last().addClass(N)})):e.find(".layui-tree-iconArrow").addClass(y),c.parents("."+f).eq(0).removeClass(w),c.parent("."+g).remove()),c.remove()})})},l.prototype.events=function(){var i=this,t=i.config;i.elem.find(".layui-tree-checkedFirst");i.setChecked(i.checkids),i.elem.find(".layui-tree-search").on("keyup",function(){var e=u(this),n=e.val(),e=e.nextAll(),a=[];e.find("."+b).each(function(){var i,e=u(this).parents("."+m);-1!=u(this).html().indexOf(n)&&(a.push(u(this).parent()),(i=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+g)[0]&&i(e.parent("."+g).parent("."+f))})(e.parent("."+f)))}),e.find("."+m).each(function(){var e=u(this).parent("."+f);e.hasClass("layui-tree-searchShow")||e.addClass(y)}),0==e.find(".layui-tree-searchShow").length&&i.elem.append(i.elemNone),t.onsearch&&t.onsearch({elem:a})}),i.elem.find(".layui-tree-search").on("keydown",function(){u(this).nextAll().find("."+m).each(function(){u(this).parent("."+f).removeClass("layui-tree-searchShow "+y)}),u(".layui-tree-emptyText")[0]&&u(".layui-tree-emptyText").remove()})},l.prototype.getChecked=function(){var e=this.config,i=[],n=[],t=(this.elem.find(".layui-form-checked").each(function(){i.push(u(this).prev()[0].value)}),function(e,a){layui.each(e,function(e,n){layui.each(i,function(e,i){if(n.id==i)return delete(i=u.extend({},n)).children,a.push(i),n.children&&(i.children=[],t(n.children,i.children)),!0})})});return t(u.extend({},e.data),n),n},l.prototype.setChecked=function(l){this.config;this.elem.find("."+f).each(function(e,i){var n=u(this).data("id"),a=u(i).children("."+m).find('input[same="layuiTreeCheck"]'),t=a.next();if("number"==typeof l){if(n.toString()==l.toString())return a[0].checked||t.click(),!1}else"object"==typeof l&&layui.each(l,function(e,i){if(i.toString()==n.toString()&&!a[0].checked)return t.click(),!0})})},t.that={},t.config={},a.reload=function(e,i){e=t.that[e];return e.reload(i),t.call(e)},a.getChecked=function(e){return t.that[e].getChecked()},a.setChecked=function(e,i){return t.that[e].setChecked(i)},a.render=function(e){e=new l(e);return t.call(e)},e(n,a)});layui.define(["laytpl","form"],function(e){"use strict";var d=layui.$,n=layui.laytpl,t=layui.form,a="transfer",i={config:{},index:layui[a]?layui[a].index+1e4:0,set:function(e){var t=this;return t.config=d.extend({},t.config,e),t},on:function(e,t){return layui.onevent.call(this,a,e,t)}},l=function(){var t=this,e=t.config,a=e.id||t.index;return l.that[a]=t,{config:l.config[a]=e,reload:function(e){t.reload.call(t,e)},getData:function(){return t.getData.call(t)}}},s="layui-hide",h="layui-btn-disabled",r="layui-none",c="layui-transfer-box",u="layui-transfer-header",o="layui-transfer-search",f="layui-transfer-data",y=function(e){return['
            ','
            ','","
            ","{{# if(d.data.showSearch){ }}",'","{{# } }}",'
              ',"
              "].join("")},p=['
              ',y({index:0,checkAllName:"layTransferLeftCheckAll"}),'
              ','",'","
              ",y({index:1,checkAllName:"layTransferRightCheckAll"}),"
              "].join(""),v=function(e){var t=this;t.index=++i.index,t.config=d.extend({},t.config,i.config,e),t.render()};v.prototype.config={title:["\u5217\u8868\u4e00","\u5217\u8868\u4e8c"],width:200,height:360,data:[],value:[],showSearch:!1,id:"",text:{none:"\u65e0\u6570\u636e",searchNone:"\u65e0\u5339\u914d\u6570\u636e"}},v.prototype.reload=function(e){var t=this;t.config=d.extend({},t.config,e),t.render()},v.prototype.render=function(){var e=this,t=e.config,a=e.elem=d(n(p,{open:"{{",close:"}}"}).render({data:t,index:e.index})),i=t.elem=d(t.elem);i[0]&&(t.data=t.data||[],t.value=t.value||[],t.id="id"in t?t.id:elem.attr("id")||e.index,e.key=t.id,i.html(e.elem),e.layBox=e.elem.find("."+c),e.layHeader=e.elem.find("."+u),e.laySearch=e.elem.find("."+o),e.layData=a.find("."+f),e.layBtn=a.find(".layui-transfer-active .layui-btn"),e.layBox.css({width:t.width,height:t.height}),e.layData.css({height:(i=t.height-e.layHeader.outerHeight(),t.showSearch&&(i-=e.laySearch.outerHeight()),i-2)}),e.renderData(),e.events())},v.prototype.renderData=function(){var e=this,i=(e.config,[{checkName:"layTransferLeftCheck",views:[]},{checkName:"layTransferRightCheck",views:[]}]);e.parseData(function(e){var t=e.selected?1:0,a=["
            • ",'',"
            • "].join("");i[t].views.push(a),delete e.selected}),e.layData.eq(0).html(i[0].views.join("")),e.layData.eq(1).html(i[1].views.join("")),e.renderCheckBtn()},v.prototype.renderForm=function(e){t.render(e,"LAY-transfer-"+this.index)},v.prototype.renderCheckBtn=function(r){var c=this,o=c.config;r=r||{},c.layBox.each(function(e){var t=d(this),a=t.find("."+f),t=t.find("."+u).find('input[type="checkbox"]'),i=a.find('input[type="checkbox"]'),n=0,l=!1;i.each(function(){var e=d(this).data("hide");(this.checked||this.disabled||e)&&n++,this.checked&&!e&&(l=!0)}),t.prop("checked",l&&n===i.length),c.layBtn.eq(e)[l?"removeClass":"addClass"](h),r.stopNone||(i=a.children("li:not(."+s+")").length,c.noneView(a,i?"":o.text.none))}),c.renderForm("checkbox")},v.prototype.noneView=function(e,t){var a=d('

              '+(t||"")+"

              ");e.find("."+r)[0]&&e.find("."+r).remove(),t.replace(/\s/g,"")&&e.append(a)},v.prototype.setValue=function(){var e=this.config,t=[];return this.layBox.eq(1).find("."+f+' input[type="checkbox"]').each(function(){d(this).data("hide")||t.push(this.value)}),e.value=t,this},v.prototype.parseData=function(t){var i=this.config,n=[];return layui.each(i.data,function(e,a){a=("function"==typeof i.parseData?i.parseData(a):a)||a,n.push(a=d.extend({},a)),layui.each(i.value,function(e,t){t==a.value&&(a.selected=!0)}),t&&t(a)}),i.data=n,this},v.prototype.getData=function(e){var t=this.config,i=[];return this.setValue(),layui.each(e||t.value,function(e,a){layui.each(t.data,function(e,t){delete t.selected,a==t.value&&i.push(t)})}),i},v.prototype.transfer=function(e,t){var a,i=this,n=i.config,l=i.layBox.eq(e),r=[],t=(t?((a=(t=t).find('input[type="checkbox"]'))[0].checked=!1,l.siblings("."+c).find("."+f).append(t.clone()),t.remove(),r.push(a[0].value),i.setValue()):l.each(function(e){d(this).find("."+f).children("li").each(function(){var e=d(this),t=e.find('input[type="checkbox"]'),a=t.data("hide");t[0].checked&&!a&&(t[0].checked=!1,l.siblings("."+c).find("."+f).append(e.clone()),e.remove(),r.push(t[0].value)),i.setValue()})}),i.renderCheckBtn(),l.siblings("."+c).find("."+o+" input"));""!==t.val()&&t.trigger("keyup"),n.onchange&&n.onchange(i.getData(r),e)},v.prototype.events=function(){var n=this,l=n.config;n.elem.on("click",'input[lay-filter="layTransferCheckbox"]+',function(){var e=d(this).prev(),t=e[0].checked,a=e.parents("."+c).eq(0).find("."+f);e[0].disabled||("all"===e.attr("lay-type")&&a.find('input[type="checkbox"]').each(function(){this.disabled||(this.checked=t)}),setTimeout(function(){n.renderCheckBtn({stopNone:!0})},0))}),n.elem.on("dblclick","."+f+">li",function(e){var t=d(this),a=t.children('input[type="checkbox"]'),i=t.parent().parent();a[0].disabled||n.transfer(i.data("index"),t)}),n.layBtn.on("click",function(){var e=d(this),t=e.data("index");e.hasClass(h)||n.transfer(t)}),n.laySearch.find("input").on("keyup",function(){var i=this.value,e=d(this).parents("."+o).eq(0).siblings("."+f),t=e.children("li"),t=(t.each(function(){var e=d(this),t=e.find('input[type="checkbox"]'),a=t[0].title,a=("cs"!==l.showSearch&&(a=a.toLowerCase(),i=i.toLowerCase()),-1!==a.indexOf(i));e[a?"removeClass":"addClass"](s),t.data("hide",!a)}),n.renderCheckBtn(),t.length===e.children("li."+s).length);n.noneView(e,t?l.text.searchNone:"")})},l.that={},l.config={},i.reload=function(e,t){e=l.that[e];return e.reload(t),l.call(e)},i.getData=function(e){return l.that[e].getData()},i.render=function(e){e=new v(e);return l.call(e)},e(a,i)});layui.define(["jquery","lay"],function(e){"use strict";var a=layui.$,t=layui.lay,o=(layui.hint(),layui.device(),{config:{},set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,i){return layui.onevent.call(this,r,e,i)}}),r="carousel",d="layui-this",s="layui-carousel-left",u="layui-carousel-right",c="layui-carousel-prev",m="layui-carousel-next",l="layui-carousel-arrow",f="layui-carousel-ind",i=function(e){var i=this;i.config=a.extend({},i.config,o.config,e),i.render()};i.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},i.prototype.render=function(){var e=this,i=e.config,n=a(i.elem);if(1*[carousel-item]>*"),i.index<0&&(i.index=0),i.index>=e.elemItem.length&&(i.index=e.elemItem.length-1),i.interval<800&&(i.interval=800),i.full?i.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):i.elem.css({width:i.width,height:i.height}),i.elem.attr("lay-anim",i.anim),e.elemItem.eq(i.index).addClass(d),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},i.prototype.reload=function(e){var i=this;clearInterval(i.timer),i.config=a.extend({},i.config,e),i.render()},i.prototype.prevIndex=function(){var e=this.config.index-1;return e=e<0?this.elemItem.length-1:e},i.prototype.nextIndex=function(){var e=this.config.index+1;return e=e>=this.elemItem.length?0:e},i.prototype.addIndex=function(e){var i=this.config;i.index=i.index+(e=e||1),i.index>=this.elemItem.length&&(i.index=0)},i.prototype.subIndex=function(e){var i=this.config;i.index=i.index-(e=e||1),i.index<0&&(i.index=this.elemItem.length-1)},i.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(clearInterval(e.timer),e.timer=setInterval(function(){e.slide()},i.interval))},i.prototype.arrow=function(){var i=this,e=i.config,n=a(['",'"].join(""));e.elem.attr("lay-arrow",e.arrow),e.elem.find("."+l)[0]&&e.elem.find("."+l).remove(),e.elem.append(n),n.on("click",function(){var e=a(this).attr("lay-type");i.slide(e)})},i.prototype["goto"]=function(e){var i=this,n=i.config;e>n.index?i.slide("add",e-n.index):e
                ',(i=[],layui.each(e.elemItem,function(e){i.push("")}),i.join("")),"
              "].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+f)[0]&&n.elem.find("."+f).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-t.height()/2),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){e["goto"](a(this).index())})},i.prototype.slide=function(e,i){var n=this,t=n.elemItem,a=n.config,o=a.index,l=a.elem.attr("lay-filter");n.haveSlide||("sub"===e?(n.subIndex(i),t.eq(a.index).addClass(c),setTimeout(function(){t.eq(o).addClass(u),t.eq(a.index).addClass(u)},50)):(n.addIndex(i),t.eq(a.index).addClass(m),setTimeout(function(){t.eq(o).addClass(s),t.eq(a.index).addClass(s)},50)),setTimeout(function(){t.removeClass(d+" "+c+" "+m+" "+s+" "+u),t.eq(a.index).addClass(d),n.haveSlide=!1},300),n.elemInd.find("li").eq(a.index).addClass(d).siblings().removeClass(d),n.haveSlide=!0,e={index:a.index,prevIndex:o,item:t.eq(a.index)},"function"==typeof a.change&&a.change(e),layui.event.call(this,r,"change("+l+")",e))},i.prototype.events=function(){var e=this,i=e.config;i.elem.data("haveEvents")||(i.elem.on("mouseenter",function(){"always"!==e.config.autoplay&&clearInterval(e.timer)}).on("mouseleave",function(){"always"!==e.config.autoplay&&e.autoplay()}),i.elem.data("haveEvents",!0))},o.render=function(e){return new i(e)},e(r,o)});layui.define(["jquery","lay"],function(e){"use strict";var s=layui.jquery,r=layui.lay,c={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var a=this;return a.config=s.extend({},a.config,e),a},on:function(e,a){return layui.onevent.call(this,l,e,a)}},l="rate",f="layui-icon-rate",h="layui-icon-rate-solid",o="layui-icon-rate-half",u="layui-icon-rate-solid layui-icon-rate-half",v="layui-icon-rate layui-icon-rate-half",a=function(e){var a=this;a.index=++c.index,a.config=s.extend({},a.config,c.config,e),a.render()};a.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},a.prototype.render=function(){var e=this,a=e.config,l=s(a.elem);if(1a.length&&(a.value=a.length),parseInt(a.value)===a.value||a.half||(a.value=Math.ceil(a.value)-a.value<.5?Math.ceil(a.value):Math.floor(a.value)),'
                "),t=1;t<=a.length;t++){var o='
              • ";a.half&&parseInt(a.value)!==a.value&&t==Math.ceil(a.value)?n=n+'
              • ":n+=o}n+="
              "+(a.text?''+a.value+"\u661f":"")+"";var l=a.elem,u=l.next(".layui-rate");u[0]&&u.remove(),e.elemTemp=s(n),a.span=e.elemTemp.next("span"),a.setText&&a.setText(a.value),l.html(e.elemTemp),l.addClass("layui-inline"),a.readonly||e.action()},a.prototype.setvalue=function(e){this.config.value=e,this.render()},a.prototype.action=function(){var i=this.config,n=this.elemTemp,t=n.find("i").width();n.children("li").each(function(e){var a=e+1,l=s(this);l.on("click",function(e){i.value=a,i.half&&e.pageX-s(this).offset().left<=t/2&&(i.value=i.value-.5),i.text&&n.next("span").text(i.value+"\u661f"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),l.on("mousemove",function(e){n.find("i").each(function(){s(this).addClass(f).removeClass(u)}),n.find("i:lt("+a+")").each(function(){s(this).addClass(h).removeClass(v)}),i.half&&e.pageX-s(this).offset().left<=t/2&&l.children("i").addClass(o).removeClass(h)}),l.on("mouseleave",function(){n.find("i").each(function(){s(this).addClass(f).removeClass(u)}),n.find("i:lt("+Math.floor(i.value)+")").each(function(){s(this).addClass(h).removeClass(v)}),i.half&&parseInt(i.value)!==i.value&&n.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(o).removeClass("layui-icon-rate-solid layui-icon-rate")})})},a.prototype.events=function(){this.config},c.render=function(e){e=new a(e);return function(){var a=this;return{setvalue:function(e){a.setvalue.call(a,e)},config:a.config}}.call(e)},e(l,c)});layui.define("jquery",function(l){"use strict";var g=layui.$,e=function(l){};e.prototype.load=function(l){var t,i,n,e,r,o,a,c,m,s,u,f,y,d=this,p=0,h=g((l=l||{}).elem);if(h[0])return e=g(l.scrollElem||document),r=l.mb||50,o=!("isAuto"in l)||l.isAuto,a=l.end||"\u6ca1\u6709\u66f4\u591a\u4e86",c=l.scrollElem&&l.scrollElem!==document,m="\u52a0\u8f7d\u66f4\u591a",s=g('"),h.find(".layui-flow-more")[0]||h.append(s),u=function(l,e){l=g(l),s.before(l),(e=0==e||null)?s.html(a):s.find("a").html(m),i=e,t=null,y&&y()},f=function(){t=!0,s.find("a").html(''),"function"==typeof l.done&&l.done(++p,u)},f(),s.find("a").on("click",function(){g(this);i||t||f()}),l.isLazyimg&&(y=d.lazyimg({elem:l.elem+" img",scrollElem:l.scrollElem})),o&&e.on("scroll",function(){var e=g(this),o=e.scrollTop();n&&clearTimeout(n),!i&&h.width()&&(n=setTimeout(function(){var l=(c?e:g(window)).height();(c?e.prop("scrollHeight"):document.documentElement.scrollHeight)-o-l<=r&&(t||f())},100))}),d},e.prototype.lazyimg=function(l){var e,c=this,m=0,s=g((l=l||{}).scrollElem||document),u=l.elem||"img",f=l.scrollElem&&l.scrollElem!==document,y=function(e,l){var o,t=s.scrollTop(),l=t+l,i=f?e.offset().top-s.offset().top+t:e.offset().top;t<=i&&i<=l&&e.attr("lay-src")&&(o=e.attr("lay-src"),layui.img(o,function(){var l=c.lazyimg.elem.eq(m);e.attr("src",o).removeAttr("lay-src"),l[0]&&n(l),m++},function(){c.lazyimg.elem.eq(m);e.removeAttr("lay-src")}))},n=function(l,e){var o=(f?e||s:g(window)).height(),t=s.scrollTop(),i=t+o;if(c.lazyimg.elem=g(u),l)y(l,o);else for(var n=0;n"),preview:"Preview"}},I=function(e){return M.trim(e).replace(/^\n|\n$/,"")};e("code",function(e){var L=e=M.extend(!0,{},a,e);e.elem=M(e.elem),e.elem[0]&&layui.each(e.elem.get().reverse(),function(e,a){var i,l,t,s,o,n,d,c,r,u,E=M(a),y=M.extend(!0,{},L,lay.options(a),(i={},layui.each(["title","height","encode","skin","about"],function(e,a){var l=E.attr("lay-"+a);"string"==typeof l&&(i[a]=l)}),i)),v=E.data("code")||(l=[],E.children("textarea").each(function(){l.push(I(this.value))}),0===l.length&&l.push(I(E.html())),l),f=(E.data("code",v),y.preview&&(a="LAY-CODE-DF-"+e,t=y.layout||["code","preview"],s="iframe"===y.preview,h=M('
              '),u=M('
              '),o=M('
              '),n=M('
              '),d=M('
              '),m=E.parent("."+b.ELEM_PREVIEW),f=E.prev("."+b.ELEM_TAB),p=E.next("."+b.ELEM_ITEM+"-preview"),y.id&&h.attr("id",y.id),h.addClass(y.className),u.attr("lay-filter",a),layui.each(t,function(e,a){var l=M('
            • ');0===e&&l.addClass("layui-this"),l.html(y.text[a]),o.append(l)}),c={full:{className:"screen-full",title:["\u6700\u5927\u5316\u663e\u793a","\u8fd8\u539f\u663e\u793a"],event:function(e,a){var l=e.closest("."+b.ELEM_PREVIEW),i="layui-icon-"+this.className,t="layui-icon-screen-restore",s=this.title,o=M("html,body"),n="layui-scollbar-hide";e.hasClass(i)?(l.addClass(b.ELEM_FULL),e.removeClass(i).addClass(t),e.attr("title",s[1]),o.addClass(n)):(l.removeClass(b.ELEM_FULL),e.removeClass(t).addClass(i),e.attr("title",s[0]),o.removeClass(n))}},window:{className:"release",title:["\u5728\u65b0\u7a97\u53e3\u9884\u89c8"],event:function(e,a){_.openWin({content:v.join("")})}}},d.on("click",">i",function(){var e=M(this),a=e.data("type");"function"==typeof c[a].event&&c[a].event(e,a),"function"==typeof y.toolsEvent&&y.toolsEvent(e,a)}),layui.each(y.tools,function(e,a){var l=c[a]&&c[a].className||a,i=c[a].title||[""];d.append('')}),f[0]&&f.remove(),p[0]&&p.remove(),m[0]&&E.unwrap(),u.append(o),y.tools&&u.append(d),E.wrap(h).addClass(b.ELEM_ITEM).before(u),s&&n.html(""),r=function(e){var a=e.children("iframe")[0],l=(s&&a?a.srcdoc=v.join(""):e.html(v.join("")),{container:e,render:function(){C.render(e.find(".layui-form")),w.render()}});setTimeout(function(){"function"==typeof y.done&&y.done(l)},3)},"preview"===t[0]?(n.addClass(b.ELEM_SHOW),E.before(n),r(n)):E.addClass(b.ELEM_SHOW).after(n),y.codeStyle=[y.style,y.codeStyle].join(""),y.previewStyle=[y.style,y.previewStyle].join(""),n.attr("style",y.previewStyle),w.on("tab("+a+")",function(e){var a=M(this),l=M(e.elem).closest("."+b.ELEM_PREVIEW).find("."+b.ELEM_ITEM),e=l.eq(e.index);l.removeClass(b.ELEM_SHOW),e.addClass(b.ELEM_SHOW),"preview"===a.attr("lay-id")&&r(e)})),y.ln?"ol":"ul"),p=M("<"+f+' class="layui-code-'+f+'">'),m=M('
              '),h=(E.addClass("layui-code-view layui-box"),y.skin&&("notepad"===y.skin&&(y.skin="dark"),E.removeClass("layui-code-dark layui-code-light"),E.addClass("layui-code-"+y.skin)),_.escape(v.join(""))),h=(h=y.encode?_.escape(h):h).replace(/[\r\t\n]+/g,"
            • ");E.html(p.html("
            • "+h+"
            • ")),y.header&&!E.children("."+b.ELEM_TITLE)[0]&&(m.html(y.title+(y.about?'
              '+y.about+"
              ":"")),E.prepend(m)),y.elem.length===e+1&&"function"==typeof y.allDone&&y.allDone(),0<(u=Math.floor(p.find("li").length/100))&&p.css("margin-left",u+"px"),y.height&&p.css("max-height",y.height),p.attr("style",y.codeStyle)})})}),layui["layui.all"]||layui.addcss("modules/code.css?v=3","skincodecss"); \ No newline at end of file diff --git a/static/mdui/css/mdui.css b/static/mdui/css/mdui.css new file mode 100644 index 0000000..5151e30 --- /dev/null +++ b/static/mdui/css/mdui.css @@ -0,0 +1,13559 @@ +/*! + * mdui 1.0.1 (https://mdui.org) + * Copyright 2016-2020 zdhxiong + * Licensed under MIT + *//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + -webkit-box-sizing: border-box; + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} + +/** + * ============================================================================= + * ************ 公共样式 ************ + * ============================================================================= + */ +* { + -webkit-tap-highlight-color: transparent; +} +body { + color: rgba(0, 0, 0, 0.87); + font-size: 14px; + font-family: Roboto, Noto, Helvetica, Arial, sans-serif; + background-color: #fff; +} +@media (min-width: 600px) { + body { + font-size: 14.5px; + } +} +@media (min-width: 1024px) { + body { + font-size: 15px; + } +} +body *::-webkit-scrollbar { + width: 5px; + height: 5px; + background: transparent; +} +@media (min-width: 1024px) { + body *::-webkit-scrollbar { + width: 8px; + height: 8px; + } +} +body *::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0.2); +} +/* 锁定屏幕 */ +body.mdui-locked { + overflow: hidden; +} +/* 遮罩层 */ +.mdui-overlay { + position: fixed; + top: -5000px; + right: -5000px; + bottom: -5000px; + left: -5000px; + z-index: 2000; + background: rgba(0, 0, 0, 0.4); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + visibility: hidden; + opacity: 0; + -webkit-transition-duration: 0.3s; + transition-duration: 0.3s; + -webkit-transition-property: opacity, visibility; + transition-property: opacity, visibility; + will-change: opacity; +} +/* 显示遮罩层 */ +.mdui-overlay-show { + visibility: visible; + opacity: 1; +} +/* 取消 transition 过渡效果 */ +.mdui-no-transition { + -webkit-transition-property: none !important; + transition-property: none !important; +} +/** + * ============================================================================= + * ************ Global dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark { + color: #fff; + background-color: #303030; +} +.mdui-theme-layout-dark *::-webkit-scrollbar { + width: 5px; + height: 5px; + background: transparent; +} +@media (min-width: 1024px) { + .mdui-theme-layout-dark *::-webkit-scrollbar { + width: 8px; + height: 8px; + } +} +.mdui-theme-layout-dark *::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.3); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto { + color: #fff; + background-color: #303030; + } + .mdui-theme-layout-auto *::-webkit-scrollbar { + width: 5px; + height: 5px; + background: transparent; + } + .mdui-theme-layout-auto *::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.3); + } +} +@media (prefers-color-scheme: dark) and (min-width: 1024px) { + .mdui-theme-layout-auto *::-webkit-scrollbar { + width: 8px; + height: 8px; + } +} +/** + * ============================================================================= + * ************ Color 颜色 ************ + * ============================================================================= + */ +/** + * .mdui-theme-primary-[color] .mdui-color-theme + * .mdui-theme-primary-[color] .mdui-color-theme-[degree] + */ +.mdui-theme-primary-amber .mdui-color-theme { + background-color: #FFC107 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-50 { + background-color: #FFF8E1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-100 { + background-color: #FFECB3 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-200 { + background-color: #FFE082 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-300 { + background-color: #FFD54F !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-400 { + background-color: #FFCA28 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-500 { + background-color: #FFC107 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-600 { + background-color: #FFB300 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-700 { + background-color: #FFA000 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-800 { + background-color: #FF8F00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-amber .mdui-color-theme-900 { + background-color: #FF6F00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue .mdui-color-theme { + background-color: #2196F3 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue .mdui-color-theme-50 { + background-color: #E3F2FD !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue .mdui-color-theme-100 { + background-color: #BBDEFB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue .mdui-color-theme-200 { + background-color: #90CAF9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue .mdui-color-theme-300 { + background-color: #64B5F6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue .mdui-color-theme-400 { + background-color: #42A5F5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue .mdui-color-theme-500 { + background-color: #2196F3 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue .mdui-color-theme-600 { + background-color: #1E88E5 !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue .mdui-color-theme-700 { + background-color: #1976D2 !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue .mdui-color-theme-800 { + background-color: #1565C0 !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue .mdui-color-theme-900 { + background-color: #0D47A1 !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme { + background-color: #607D8B !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-50 { + background-color: #ECEFF1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-100 { + background-color: #CFD8DC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-200 { + background-color: #B0BEC5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-300 { + background-color: #90A4AE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-400 { + background-color: #78909C !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-500 { + background-color: #607D8B !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-600 { + background-color: #546E7A !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-700 { + background-color: #455A64 !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-800 { + background-color: #37474F !important; + color: #ffffff !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-900 { + background-color: #263238 !important; + color: #ffffff !important; +} +.mdui-theme-primary-brown .mdui-color-theme { + background-color: #795548 !important; + color: #ffffff !important; +} +.mdui-theme-primary-brown .mdui-color-theme-50 { + background-color: #EFEBE9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-brown .mdui-color-theme-100 { + background-color: #D7CCC8 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-brown .mdui-color-theme-200 { + background-color: #BCAAA4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-brown .mdui-color-theme-300 { + background-color: #A1887F !important; + color: #ffffff !important; +} +.mdui-theme-primary-brown .mdui-color-theme-400 { + background-color: #8D6E63 !important; + color: #ffffff !important; +} +.mdui-theme-primary-brown .mdui-color-theme-500 { + background-color: #795548 !important; + color: #ffffff !important; +} +.mdui-theme-primary-brown .mdui-color-theme-600 { + background-color: #6D4C41 !important; + color: #ffffff !important; +} +.mdui-theme-primary-brown .mdui-color-theme-700 { + background-color: #5D4037 !important; + color: #ffffff !important; +} +.mdui-theme-primary-brown .mdui-color-theme-800 { + background-color: #4E342E !important; + color: #ffffff !important; +} +.mdui-theme-primary-brown .mdui-color-theme-900 { + background-color: #3E2723 !important; + color: #ffffff !important; +} +.mdui-theme-primary-cyan .mdui-color-theme { + background-color: #00BCD4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-50 { + background-color: #E0F7FA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-100 { + background-color: #B2EBF2 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-200 { + background-color: #80DEEA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-300 { + background-color: #4DD0E1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-400 { + background-color: #26C6DA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-500 { + background-color: #00BCD4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-600 { + background-color: #00ACC1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-700 { + background-color: #0097A7 !important; + color: #ffffff !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-800 { + background-color: #00838F !important; + color: #ffffff !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-900 { + background-color: #006064 !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme { + background-color: #FF5722 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-50 { + background-color: #FBE9E7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-100 { + background-color: #FFCCBC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-200 { + background-color: #FFAB91 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-300 { + background-color: #FF8A65 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-400 { + background-color: #FF7043 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-500 { + background-color: #FF5722 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-600 { + background-color: #F4511E !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-700 { + background-color: #E64A19 !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-800 { + background-color: #D84315 !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-900 { + background-color: #BF360C !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme { + background-color: #673AB7 !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-50 { + background-color: #EDE7F6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-100 { + background-color: #D1C4E9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-200 { + background-color: #B39DDB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-300 { + background-color: #9575CD !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-400 { + background-color: #7E57C2 !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-500 { + background-color: #673AB7 !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-600 { + background-color: #5E35B1 !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-700 { + background-color: #512DA8 !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-800 { + background-color: #4527A0 !important; + color: #ffffff !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-900 { + background-color: #311B92 !important; + color: #ffffff !important; +} +.mdui-theme-primary-green .mdui-color-theme { + background-color: #4CAF50 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-green .mdui-color-theme-50 { + background-color: #E8F5E9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-green .mdui-color-theme-100 { + background-color: #C8E6C9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-green .mdui-color-theme-200 { + background-color: #A5D6A7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-green .mdui-color-theme-300 { + background-color: #81C784 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-green .mdui-color-theme-400 { + background-color: #66BB6A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-green .mdui-color-theme-500 { + background-color: #4CAF50 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-green .mdui-color-theme-600 { + background-color: #43A047 !important; + color: #ffffff !important; +} +.mdui-theme-primary-green .mdui-color-theme-700 { + background-color: #388E3C !important; + color: #ffffff !important; +} +.mdui-theme-primary-green .mdui-color-theme-800 { + background-color: #2E7D32 !important; + color: #ffffff !important; +} +.mdui-theme-primary-green .mdui-color-theme-900 { + background-color: #1B5E20 !important; + color: #ffffff !important; +} +.mdui-theme-primary-grey .mdui-color-theme { + background-color: #9E9E9E !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-grey .mdui-color-theme-50 { + background-color: #FAFAFA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-grey .mdui-color-theme-100 { + background-color: #F5F5F5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-grey .mdui-color-theme-200 { + background-color: #EEEEEE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-grey .mdui-color-theme-300 { + background-color: #E0E0E0 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-grey .mdui-color-theme-400 { + background-color: #BDBDBD !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-grey .mdui-color-theme-500 { + background-color: #9E9E9E !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-grey .mdui-color-theme-600 { + background-color: #757575 !important; + color: #ffffff !important; +} +.mdui-theme-primary-grey .mdui-color-theme-700 { + background-color: #616161 !important; + color: #ffffff !important; +} +.mdui-theme-primary-grey .mdui-color-theme-800 { + background-color: #424242 !important; + color: #ffffff !important; +} +.mdui-theme-primary-grey .mdui-color-theme-900 { + background-color: #212121 !important; + color: #ffffff !important; +} +.mdui-theme-primary-indigo .mdui-color-theme { + background-color: #3F51B5 !important; + color: #ffffff !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-50 { + background-color: #E8EAF6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-100 { + background-color: #C5CAE9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-200 { + background-color: #9FA8DA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-300 { + background-color: #7986CB !important; + color: #ffffff !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-400 { + background-color: #5C6BC0 !important; + color: #ffffff !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-500 { + background-color: #3F51B5 !important; + color: #ffffff !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-600 { + background-color: #3949AB !important; + color: #ffffff !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-700 { + background-color: #303F9F !important; + color: #ffffff !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-800 { + background-color: #283593 !important; + color: #ffffff !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-900 { + background-color: #1A237E !important; + color: #ffffff !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme { + background-color: #03A9F4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-50 { + background-color: #E1F5FE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-100 { + background-color: #B3E5FC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-200 { + background-color: #81D4FA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-300 { + background-color: #4FC3F7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-400 { + background-color: #29B6F6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-500 { + background-color: #03A9F4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-600 { + background-color: #039BE5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-700 { + background-color: #0288D1 !important; + color: #ffffff !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-800 { + background-color: #0277BD !important; + color: #ffffff !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-900 { + background-color: #01579B !important; + color: #ffffff !important; +} +.mdui-theme-primary-light-green .mdui-color-theme { + background-color: #8BC34A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-50 { + background-color: #F1F8E9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-100 { + background-color: #DCEDC8 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-200 { + background-color: #C5E1A5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-300 { + background-color: #AED581 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-400 { + background-color: #9CCC65 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-500 { + background-color: #8BC34A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-600 { + background-color: #7CB342 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-700 { + background-color: #689F38 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-800 { + background-color: #558B2F !important; + color: #ffffff !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-900 { + background-color: #33691E !important; + color: #ffffff !important; +} +.mdui-theme-primary-lime .mdui-color-theme { + background-color: #CDDC39 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-50 { + background-color: #F9FBE7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-100 { + background-color: #F0F4C3 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-200 { + background-color: #E6EE9C !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-300 { + background-color: #DCE775 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-400 { + background-color: #D4E157 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-500 { + background-color: #CDDC39 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-600 { + background-color: #C0CA33 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-700 { + background-color: #AFB42B !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-800 { + background-color: #9E9D24 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-lime .mdui-color-theme-900 { + background-color: #827717 !important; + color: #ffffff !important; +} +.mdui-theme-primary-orange .mdui-color-theme { + background-color: #FF9800 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-50 { + background-color: #FFF3E0 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-100 { + background-color: #FFE0B2 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-200 { + background-color: #FFCC80 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-300 { + background-color: #FFB74D !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-400 { + background-color: #FFA726 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-500 { + background-color: #FF9800 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-600 { + background-color: #FB8C00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-700 { + background-color: #F57C00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-800 { + background-color: #EF6C00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-orange .mdui-color-theme-900 { + background-color: #E65100 !important; + color: #ffffff !important; +} +.mdui-theme-primary-pink .mdui-color-theme { + background-color: #E91E63 !important; + color: #ffffff !important; +} +.mdui-theme-primary-pink .mdui-color-theme-50 { + background-color: #FCE4EC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-pink .mdui-color-theme-100 { + background-color: #F8BBD0 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-pink .mdui-color-theme-200 { + background-color: #F48FB1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-pink .mdui-color-theme-300 { + background-color: #F06292 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-pink .mdui-color-theme-400 { + background-color: #EC407A !important; + color: #ffffff !important; +} +.mdui-theme-primary-pink .mdui-color-theme-500 { + background-color: #E91E63 !important; + color: #ffffff !important; +} +.mdui-theme-primary-pink .mdui-color-theme-600 { + background-color: #D81B60 !important; + color: #ffffff !important; +} +.mdui-theme-primary-pink .mdui-color-theme-700 { + background-color: #C2185B !important; + color: #ffffff !important; +} +.mdui-theme-primary-pink .mdui-color-theme-800 { + background-color: #AD1457 !important; + color: #ffffff !important; +} +.mdui-theme-primary-pink .mdui-color-theme-900 { + background-color: #880E4F !important; + color: #ffffff !important; +} +.mdui-theme-primary-purple .mdui-color-theme { + background-color: #9C27B0 !important; + color: #ffffff !important; +} +.mdui-theme-primary-purple .mdui-color-theme-50 { + background-color: #F3E5F5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-purple .mdui-color-theme-100 { + background-color: #E1BEE7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-purple .mdui-color-theme-200 { + background-color: #CE93D8 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-purple .mdui-color-theme-300 { + background-color: #BA68C8 !important; + color: #ffffff !important; +} +.mdui-theme-primary-purple .mdui-color-theme-400 { + background-color: #AB47BC !important; + color: #ffffff !important; +} +.mdui-theme-primary-purple .mdui-color-theme-500 { + background-color: #9C27B0 !important; + color: #ffffff !important; +} +.mdui-theme-primary-purple .mdui-color-theme-600 { + background-color: #8E24AA !important; + color: #ffffff !important; +} +.mdui-theme-primary-purple .mdui-color-theme-700 { + background-color: #7B1FA2 !important; + color: #ffffff !important; +} +.mdui-theme-primary-purple .mdui-color-theme-800 { + background-color: #6A1B9A !important; + color: #ffffff !important; +} +.mdui-theme-primary-purple .mdui-color-theme-900 { + background-color: #4A148C !important; + color: #ffffff !important; +} +.mdui-theme-primary-red .mdui-color-theme { + background-color: #F44336 !important; + color: #ffffff !important; +} +.mdui-theme-primary-red .mdui-color-theme-50 { + background-color: #FFEBEE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-red .mdui-color-theme-100 { + background-color: #FFCDD2 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-red .mdui-color-theme-200 { + background-color: #EF9A9A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-red .mdui-color-theme-300 { + background-color: #E57373 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-red .mdui-color-theme-400 { + background-color: #EF5350 !important; + color: #ffffff !important; +} +.mdui-theme-primary-red .mdui-color-theme-500 { + background-color: #F44336 !important; + color: #ffffff !important; +} +.mdui-theme-primary-red .mdui-color-theme-600 { + background-color: #E53935 !important; + color: #ffffff !important; +} +.mdui-theme-primary-red .mdui-color-theme-700 { + background-color: #D32F2F !important; + color: #ffffff !important; +} +.mdui-theme-primary-red .mdui-color-theme-800 { + background-color: #C62828 !important; + color: #ffffff !important; +} +.mdui-theme-primary-red .mdui-color-theme-900 { + background-color: #B71C1C !important; + color: #ffffff !important; +} +.mdui-theme-primary-teal .mdui-color-theme { + background-color: #009688 !important; + color: #ffffff !important; +} +.mdui-theme-primary-teal .mdui-color-theme-50 { + background-color: #E0F2F1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-teal .mdui-color-theme-100 { + background-color: #B2DFDB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-teal .mdui-color-theme-200 { + background-color: #80CBC4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-teal .mdui-color-theme-300 { + background-color: #4DB6AC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-teal .mdui-color-theme-400 { + background-color: #26A69A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-teal .mdui-color-theme-500 { + background-color: #009688 !important; + color: #ffffff !important; +} +.mdui-theme-primary-teal .mdui-color-theme-600 { + background-color: #00897B !important; + color: #ffffff !important; +} +.mdui-theme-primary-teal .mdui-color-theme-700 { + background-color: #00796B !important; + color: #ffffff !important; +} +.mdui-theme-primary-teal .mdui-color-theme-800 { + background-color: #00695C !important; + color: #ffffff !important; +} +.mdui-theme-primary-teal .mdui-color-theme-900 { + background-color: #004D40 !important; + color: #ffffff !important; +} +.mdui-theme-primary-yellow .mdui-color-theme { + background-color: #FFEB3B !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-50 { + background-color: #FFFDE7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-100 { + background-color: #FFF9C4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-200 { + background-color: #FFF59D !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-300 { + background-color: #FFF176 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-400 { + background-color: #FFEE58 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-500 { + background-color: #FFEB3B !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-600 { + background-color: #FDD835 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-700 { + background-color: #FBC02D !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-800 { + background-color: #F9A825 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-900 { + background-color: #F57F17 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +/** + * .mdui-theme-accent-[color] .mdui-color-theme-accent + * .mdui-theme-accent-[color] .mdui-color-theme-[degree] + */ +.mdui-theme-accent-amber .mdui-color-theme-accent { + background-color: #FFD740 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-amber .mdui-color-theme-a100 { + background-color: #FFE57F !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-amber .mdui-color-theme-a200 { + background-color: #FFD740 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-amber .mdui-color-theme-a400 { + background-color: #FFC400 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-amber .mdui-color-theme-a700 { + background-color: #FFAB00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-blue .mdui-color-theme-accent { + background-color: #448AFF !important; + color: #ffffff !important; +} +.mdui-theme-accent-blue .mdui-color-theme-a100 { + background-color: #82B1FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-blue .mdui-color-theme-a200 { + background-color: #448AFF !important; + color: #ffffff !important; +} +.mdui-theme-accent-blue .mdui-color-theme-a400 { + background-color: #2979FF !important; + color: #ffffff !important; +} +.mdui-theme-accent-blue .mdui-color-theme-a700 { + background-color: #2962FF !important; + color: #ffffff !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-accent { + background-color: #18FFFF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-a100 { + background-color: #84FFFF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-a200 { + background-color: #18FFFF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-a400 { + background-color: #00E5FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-a700 { + background-color: #00B8D4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-accent { + background-color: #FF6E40 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-a100 { + background-color: #FF9E80 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-a200 { + background-color: #FF6E40 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-a400 { + background-color: #FF3D00 !important; + color: #ffffff !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-a700 { + background-color: #DD2C00 !important; + color: #ffffff !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-accent { + background-color: #7C4DFF !important; + color: #ffffff !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-a100 { + background-color: #B388FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-a200 { + background-color: #7C4DFF !important; + color: #ffffff !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-a400 { + background-color: #651FFF !important; + color: #ffffff !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-a700 { + background-color: #6200EA !important; + color: #ffffff !important; +} +.mdui-theme-accent-green .mdui-color-theme-accent { + background-color: #69F0AE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-green .mdui-color-theme-a100 { + background-color: #B9F6CA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-green .mdui-color-theme-a200 { + background-color: #69F0AE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-green .mdui-color-theme-a400 { + background-color: #00E676 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-green .mdui-color-theme-a700 { + background-color: #00C853 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-accent { + background-color: #536DFE !important; + color: #ffffff !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-a100 { + background-color: #8C9EFF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-a200 { + background-color: #536DFE !important; + color: #ffffff !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-a400 { + background-color: #3D5AFE !important; + color: #ffffff !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-a700 { + background-color: #304FFE !important; + color: #ffffff !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-accent { + background-color: #40C4FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-a100 { + background-color: #80D8FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-a200 { + background-color: #40C4FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-a400 { + background-color: #00B0FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-a700 { + background-color: #0091EA !important; + color: #ffffff !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-accent { + background-color: #B2FF59 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-a100 { + background-color: #CCFF90 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-a200 { + background-color: #B2FF59 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-a400 { + background-color: #76FF03 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-a700 { + background-color: #64DD17 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-lime .mdui-color-theme-accent { + background-color: #EEFF41 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-lime .mdui-color-theme-a100 { + background-color: #F4FF81 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-lime .mdui-color-theme-a200 { + background-color: #EEFF41 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-lime .mdui-color-theme-a400 { + background-color: #C6FF00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-lime .mdui-color-theme-a700 { + background-color: #AEEA00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-orange .mdui-color-theme-accent { + background-color: #FFAB40 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-orange .mdui-color-theme-a100 { + background-color: #FFD180 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-orange .mdui-color-theme-a200 { + background-color: #FFAB40 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-orange .mdui-color-theme-a400 { + background-color: #FF9100 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-orange .mdui-color-theme-a700 { + background-color: #FF6D00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-pink .mdui-color-theme-accent { + background-color: #FF4081 !important; + color: #ffffff !important; +} +.mdui-theme-accent-pink .mdui-color-theme-a100 { + background-color: #FF80AB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-pink .mdui-color-theme-a200 { + background-color: #FF4081 !important; + color: #ffffff !important; +} +.mdui-theme-accent-pink .mdui-color-theme-a400 { + background-color: #F50057 !important; + color: #ffffff !important; +} +.mdui-theme-accent-pink .mdui-color-theme-a700 { + background-color: #C51162 !important; + color: #ffffff !important; +} +.mdui-theme-accent-purple .mdui-color-theme-accent { + background-color: #E040FB !important; + color: #ffffff !important; +} +.mdui-theme-accent-purple .mdui-color-theme-a100 { + background-color: #EA80FC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-purple .mdui-color-theme-a200 { + background-color: #E040FB !important; + color: #ffffff !important; +} +.mdui-theme-accent-purple .mdui-color-theme-a400 { + background-color: #D500F9 !important; + color: #ffffff !important; +} +.mdui-theme-accent-purple .mdui-color-theme-a700 { + background-color: #AA00FF !important; + color: #ffffff !important; +} +.mdui-theme-accent-red .mdui-color-theme-accent { + background-color: #FF5252 !important; + color: #ffffff !important; +} +.mdui-theme-accent-red .mdui-color-theme-a100 { + background-color: #FF8A80 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-red .mdui-color-theme-a200 { + background-color: #FF5252 !important; + color: #ffffff !important; +} +.mdui-theme-accent-red .mdui-color-theme-a400 { + background-color: #FF1744 !important; + color: #ffffff !important; +} +.mdui-theme-accent-red .mdui-color-theme-a700 { + background-color: #D50000 !important; + color: #ffffff !important; +} +.mdui-theme-accent-teal .mdui-color-theme-accent { + background-color: #64FFDA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-teal .mdui-color-theme-a100 { + background-color: #A7FFEB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-teal .mdui-color-theme-a200 { + background-color: #64FFDA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-teal .mdui-color-theme-a400 { + background-color: #1DE9B6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-teal .mdui-color-theme-a700 { + background-color: #00BFA5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-accent { + background-color: #FFFF00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-a100 { + background-color: #FFFF8D !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-a200 { + background-color: #FFFF00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-a400 { + background-color: #FFEA00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-a700 { + background-color: #FFD600 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +/** + * .mdui-color-[color] + * .mdui-color-[color]-[degree] + */ +.mdui-color-amber { + background-color: #FFC107 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-50 { + background-color: #FFF8E1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-100 { + background-color: #FFECB3 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-200 { + background-color: #FFE082 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-300 { + background-color: #FFD54F !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-400 { + background-color: #FFCA28 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-500 { + background-color: #FFC107 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-600 { + background-color: #FFB300 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-700 { + background-color: #FFA000 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-800 { + background-color: #FF8F00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-900 { + background-color: #FF6F00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue { + background-color: #2196F3 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-50 { + background-color: #E3F2FD !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-100 { + background-color: #BBDEFB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-200 { + background-color: #90CAF9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-300 { + background-color: #64B5F6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-400 { + background-color: #42A5F5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-500 { + background-color: #2196F3 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-600 { + background-color: #1E88E5 !important; + color: #ffffff !important; +} +.mdui-color-blue-700 { + background-color: #1976D2 !important; + color: #ffffff !important; +} +.mdui-color-blue-800 { + background-color: #1565C0 !important; + color: #ffffff !important; +} +.mdui-color-blue-900 { + background-color: #0D47A1 !important; + color: #ffffff !important; +} +.mdui-color-blue-grey { + background-color: #607D8B !important; + color: #ffffff !important; +} +.mdui-color-blue-grey-50 { + background-color: #ECEFF1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-grey-100 { + background-color: #CFD8DC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-grey-200 { + background-color: #B0BEC5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-grey-300 { + background-color: #90A4AE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-grey-400 { + background-color: #78909C !important; + color: #ffffff !important; +} +.mdui-color-blue-grey-500 { + background-color: #607D8B !important; + color: #ffffff !important; +} +.mdui-color-blue-grey-600 { + background-color: #546E7A !important; + color: #ffffff !important; +} +.mdui-color-blue-grey-700 { + background-color: #455A64 !important; + color: #ffffff !important; +} +.mdui-color-blue-grey-800 { + background-color: #37474F !important; + color: #ffffff !important; +} +.mdui-color-blue-grey-900 { + background-color: #263238 !important; + color: #ffffff !important; +} +.mdui-color-brown { + background-color: #795548 !important; + color: #ffffff !important; +} +.mdui-color-brown-50 { + background-color: #EFEBE9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-brown-100 { + background-color: #D7CCC8 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-brown-200 { + background-color: #BCAAA4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-brown-300 { + background-color: #A1887F !important; + color: #ffffff !important; +} +.mdui-color-brown-400 { + background-color: #8D6E63 !important; + color: #ffffff !important; +} +.mdui-color-brown-500 { + background-color: #795548 !important; + color: #ffffff !important; +} +.mdui-color-brown-600 { + background-color: #6D4C41 !important; + color: #ffffff !important; +} +.mdui-color-brown-700 { + background-color: #5D4037 !important; + color: #ffffff !important; +} +.mdui-color-brown-800 { + background-color: #4E342E !important; + color: #ffffff !important; +} +.mdui-color-brown-900 { + background-color: #3E2723 !important; + color: #ffffff !important; +} +.mdui-color-cyan { + background-color: #00BCD4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-50 { + background-color: #E0F7FA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-100 { + background-color: #B2EBF2 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-200 { + background-color: #80DEEA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-300 { + background-color: #4DD0E1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-400 { + background-color: #26C6DA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-500 { + background-color: #00BCD4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-600 { + background-color: #00ACC1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-700 { + background-color: #0097A7 !important; + color: #ffffff !important; +} +.mdui-color-cyan-800 { + background-color: #00838F !important; + color: #ffffff !important; +} +.mdui-color-cyan-900 { + background-color: #006064 !important; + color: #ffffff !important; +} +.mdui-color-deep-orange { + background-color: #FF5722 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-50 { + background-color: #FBE9E7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-100 { + background-color: #FFCCBC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-200 { + background-color: #FFAB91 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-300 { + background-color: #FF8A65 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-400 { + background-color: #FF7043 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-500 { + background-color: #FF5722 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-600 { + background-color: #F4511E !important; + color: #ffffff !important; +} +.mdui-color-deep-orange-700 { + background-color: #E64A19 !important; + color: #ffffff !important; +} +.mdui-color-deep-orange-800 { + background-color: #D84315 !important; + color: #ffffff !important; +} +.mdui-color-deep-orange-900 { + background-color: #BF360C !important; + color: #ffffff !important; +} +.mdui-color-deep-purple { + background-color: #673AB7 !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-50 { + background-color: #EDE7F6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-purple-100 { + background-color: #D1C4E9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-purple-200 { + background-color: #B39DDB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-purple-300 { + background-color: #9575CD !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-400 { + background-color: #7E57C2 !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-500 { + background-color: #673AB7 !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-600 { + background-color: #5E35B1 !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-700 { + background-color: #512DA8 !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-800 { + background-color: #4527A0 !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-900 { + background-color: #311B92 !important; + color: #ffffff !important; +} +.mdui-color-green { + background-color: #4CAF50 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-50 { + background-color: #E8F5E9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-100 { + background-color: #C8E6C9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-200 { + background-color: #A5D6A7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-300 { + background-color: #81C784 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-400 { + background-color: #66BB6A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-500 { + background-color: #4CAF50 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-600 { + background-color: #43A047 !important; + color: #ffffff !important; +} +.mdui-color-green-700 { + background-color: #388E3C !important; + color: #ffffff !important; +} +.mdui-color-green-800 { + background-color: #2E7D32 !important; + color: #ffffff !important; +} +.mdui-color-green-900 { + background-color: #1B5E20 !important; + color: #ffffff !important; +} +.mdui-color-grey { + background-color: #9E9E9E !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-grey-50 { + background-color: #FAFAFA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-grey-100 { + background-color: #F5F5F5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-grey-200 { + background-color: #EEEEEE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-grey-300 { + background-color: #E0E0E0 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-grey-400 { + background-color: #BDBDBD !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-grey-500 { + background-color: #9E9E9E !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-grey-600 { + background-color: #757575 !important; + color: #ffffff !important; +} +.mdui-color-grey-700 { + background-color: #616161 !important; + color: #ffffff !important; +} +.mdui-color-grey-800 { + background-color: #424242 !important; + color: #ffffff !important; +} +.mdui-color-grey-900 { + background-color: #212121 !important; + color: #ffffff !important; +} +.mdui-color-indigo { + background-color: #3F51B5 !important; + color: #ffffff !important; +} +.mdui-color-indigo-50 { + background-color: #E8EAF6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-indigo-100 { + background-color: #C5CAE9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-indigo-200 { + background-color: #9FA8DA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-indigo-300 { + background-color: #7986CB !important; + color: #ffffff !important; +} +.mdui-color-indigo-400 { + background-color: #5C6BC0 !important; + color: #ffffff !important; +} +.mdui-color-indigo-500 { + background-color: #3F51B5 !important; + color: #ffffff !important; +} +.mdui-color-indigo-600 { + background-color: #3949AB !important; + color: #ffffff !important; +} +.mdui-color-indigo-700 { + background-color: #303F9F !important; + color: #ffffff !important; +} +.mdui-color-indigo-800 { + background-color: #283593 !important; + color: #ffffff !important; +} +.mdui-color-indigo-900 { + background-color: #1A237E !important; + color: #ffffff !important; +} +.mdui-color-light-blue { + background-color: #03A9F4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-50 { + background-color: #E1F5FE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-100 { + background-color: #B3E5FC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-200 { + background-color: #81D4FA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-300 { + background-color: #4FC3F7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-400 { + background-color: #29B6F6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-500 { + background-color: #03A9F4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-600 { + background-color: #039BE5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-700 { + background-color: #0288D1 !important; + color: #ffffff !important; +} +.mdui-color-light-blue-800 { + background-color: #0277BD !important; + color: #ffffff !important; +} +.mdui-color-light-blue-900 { + background-color: #01579B !important; + color: #ffffff !important; +} +.mdui-color-light-green { + background-color: #8BC34A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-50 { + background-color: #F1F8E9 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-100 { + background-color: #DCEDC8 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-200 { + background-color: #C5E1A5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-300 { + background-color: #AED581 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-400 { + background-color: #9CCC65 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-500 { + background-color: #8BC34A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-600 { + background-color: #7CB342 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-700 { + background-color: #689F38 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-800 { + background-color: #558B2F !important; + color: #ffffff !important; +} +.mdui-color-light-green-900 { + background-color: #33691E !important; + color: #ffffff !important; +} +.mdui-color-lime { + background-color: #CDDC39 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-50 { + background-color: #F9FBE7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-100 { + background-color: #F0F4C3 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-200 { + background-color: #E6EE9C !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-300 { + background-color: #DCE775 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-400 { + background-color: #D4E157 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-500 { + background-color: #CDDC39 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-600 { + background-color: #C0CA33 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-700 { + background-color: #AFB42B !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-800 { + background-color: #9E9D24 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-900 { + background-color: #827717 !important; + color: #ffffff !important; +} +.mdui-color-orange { + background-color: #FF9800 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-50 { + background-color: #FFF3E0 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-100 { + background-color: #FFE0B2 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-200 { + background-color: #FFCC80 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-300 { + background-color: #FFB74D !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-400 { + background-color: #FFA726 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-500 { + background-color: #FF9800 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-600 { + background-color: #FB8C00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-700 { + background-color: #F57C00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-800 { + background-color: #EF6C00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-900 { + background-color: #E65100 !important; + color: #ffffff !important; +} +.mdui-color-pink { + background-color: #E91E63 !important; + color: #ffffff !important; +} +.mdui-color-pink-50 { + background-color: #FCE4EC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-pink-100 { + background-color: #F8BBD0 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-pink-200 { + background-color: #F48FB1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-pink-300 { + background-color: #F06292 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-pink-400 { + background-color: #EC407A !important; + color: #ffffff !important; +} +.mdui-color-pink-500 { + background-color: #E91E63 !important; + color: #ffffff !important; +} +.mdui-color-pink-600 { + background-color: #D81B60 !important; + color: #ffffff !important; +} +.mdui-color-pink-700 { + background-color: #C2185B !important; + color: #ffffff !important; +} +.mdui-color-pink-800 { + background-color: #AD1457 !important; + color: #ffffff !important; +} +.mdui-color-pink-900 { + background-color: #880E4F !important; + color: #ffffff !important; +} +.mdui-color-purple { + background-color: #9C27B0 !important; + color: #ffffff !important; +} +.mdui-color-purple-50 { + background-color: #F3E5F5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-purple-100 { + background-color: #E1BEE7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-purple-200 { + background-color: #CE93D8 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-purple-300 { + background-color: #BA68C8 !important; + color: #ffffff !important; +} +.mdui-color-purple-400 { + background-color: #AB47BC !important; + color: #ffffff !important; +} +.mdui-color-purple-500 { + background-color: #9C27B0 !important; + color: #ffffff !important; +} +.mdui-color-purple-600 { + background-color: #8E24AA !important; + color: #ffffff !important; +} +.mdui-color-purple-700 { + background-color: #7B1FA2 !important; + color: #ffffff !important; +} +.mdui-color-purple-800 { + background-color: #6A1B9A !important; + color: #ffffff !important; +} +.mdui-color-purple-900 { + background-color: #4A148C !important; + color: #ffffff !important; +} +.mdui-color-red { + background-color: #F44336 !important; + color: #ffffff !important; +} +.mdui-color-red-50 { + background-color: #FFEBEE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-red-100 { + background-color: #FFCDD2 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-red-200 { + background-color: #EF9A9A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-red-300 { + background-color: #E57373 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-red-400 { + background-color: #EF5350 !important; + color: #ffffff !important; +} +.mdui-color-red-500 { + background-color: #F44336 !important; + color: #ffffff !important; +} +.mdui-color-red-600 { + background-color: #E53935 !important; + color: #ffffff !important; +} +.mdui-color-red-700 { + background-color: #D32F2F !important; + color: #ffffff !important; +} +.mdui-color-red-800 { + background-color: #C62828 !important; + color: #ffffff !important; +} +.mdui-color-red-900 { + background-color: #B71C1C !important; + color: #ffffff !important; +} +.mdui-color-teal { + background-color: #009688 !important; + color: #ffffff !important; +} +.mdui-color-teal-50 { + background-color: #E0F2F1 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-teal-100 { + background-color: #B2DFDB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-teal-200 { + background-color: #80CBC4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-teal-300 { + background-color: #4DB6AC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-teal-400 { + background-color: #26A69A !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-teal-500 { + background-color: #009688 !important; + color: #ffffff !important; +} +.mdui-color-teal-600 { + background-color: #00897B !important; + color: #ffffff !important; +} +.mdui-color-teal-700 { + background-color: #00796B !important; + color: #ffffff !important; +} +.mdui-color-teal-800 { + background-color: #00695C !important; + color: #ffffff !important; +} +.mdui-color-teal-900 { + background-color: #004D40 !important; + color: #ffffff !important; +} +.mdui-color-yellow { + background-color: #FFEB3B !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-50 { + background-color: #FFFDE7 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-100 { + background-color: #FFF9C4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-200 { + background-color: #FFF59D !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-300 { + background-color: #FFF176 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-400 { + background-color: #FFEE58 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-500 { + background-color: #FFEB3B !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-600 { + background-color: #FDD835 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-700 { + background-color: #FBC02D !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-800 { + background-color: #F9A825 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-900 { + background-color: #F57F17 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +/** + * .mdui-color-[color]-accent + * .mdui-color-[color]-[degree] + */ +.mdui-color-amber-accent { + background-color: #FFD740 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-a100 { + background-color: #FFE57F !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-a200 { + background-color: #FFD740 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-a400 { + background-color: #FFC400 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-amber-a700 { + background-color: #FFAB00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-accent { + background-color: #448AFF !important; + color: #ffffff !important; +} +.mdui-color-blue-a100 { + background-color: #82B1FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-blue-a200 { + background-color: #448AFF !important; + color: #ffffff !important; +} +.mdui-color-blue-a400 { + background-color: #2979FF !important; + color: #ffffff !important; +} +.mdui-color-blue-a700 { + background-color: #2962FF !important; + color: #ffffff !important; +} +.mdui-color-cyan-accent { + background-color: #18FFFF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-a100 { + background-color: #84FFFF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-a200 { + background-color: #18FFFF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-a400 { + background-color: #00E5FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-cyan-a700 { + background-color: #00B8D4 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-accent { + background-color: #FF6E40 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-a100 { + background-color: #FF9E80 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-a200 { + background-color: #FF6E40 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-orange-a400 { + background-color: #FF3D00 !important; + color: #ffffff !important; +} +.mdui-color-deep-orange-a700 { + background-color: #DD2C00 !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-accent { + background-color: #7C4DFF !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-a100 { + background-color: #B388FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-deep-purple-a200 { + background-color: #7C4DFF !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-a400 { + background-color: #651FFF !important; + color: #ffffff !important; +} +.mdui-color-deep-purple-a700 { + background-color: #6200EA !important; + color: #ffffff !important; +} +.mdui-color-green-accent { + background-color: #69F0AE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-a100 { + background-color: #B9F6CA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-a200 { + background-color: #69F0AE !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-a400 { + background-color: #00E676 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-green-a700 { + background-color: #00C853 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-indigo-accent { + background-color: #536DFE !important; + color: #ffffff !important; +} +.mdui-color-indigo-a100 { + background-color: #8C9EFF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-indigo-a200 { + background-color: #536DFE !important; + color: #ffffff !important; +} +.mdui-color-indigo-a400 { + background-color: #3D5AFE !important; + color: #ffffff !important; +} +.mdui-color-indigo-a700 { + background-color: #304FFE !important; + color: #ffffff !important; +} +.mdui-color-light-blue-accent { + background-color: #40C4FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-a100 { + background-color: #80D8FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-a200 { + background-color: #40C4FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-a400 { + background-color: #00B0FF !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-blue-a700 { + background-color: #0091EA !important; + color: #ffffff !important; +} +.mdui-color-light-green-accent { + background-color: #B2FF59 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-a100 { + background-color: #CCFF90 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-a200 { + background-color: #B2FF59 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-a400 { + background-color: #76FF03 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-light-green-a700 { + background-color: #64DD17 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-accent { + background-color: #EEFF41 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-a100 { + background-color: #F4FF81 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-a200 { + background-color: #EEFF41 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-a400 { + background-color: #C6FF00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-lime-a700 { + background-color: #AEEA00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-accent { + background-color: #FFAB40 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-a100 { + background-color: #FFD180 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-a200 { + background-color: #FFAB40 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-a400 { + background-color: #FF9100 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-orange-a700 { + background-color: #FF6D00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-pink-accent { + background-color: #FF4081 !important; + color: #ffffff !important; +} +.mdui-color-pink-a100 { + background-color: #FF80AB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-pink-a200 { + background-color: #FF4081 !important; + color: #ffffff !important; +} +.mdui-color-pink-a400 { + background-color: #F50057 !important; + color: #ffffff !important; +} +.mdui-color-pink-a700 { + background-color: #C51162 !important; + color: #ffffff !important; +} +.mdui-color-purple-accent { + background-color: #E040FB !important; + color: #ffffff !important; +} +.mdui-color-purple-a100 { + background-color: #EA80FC !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-purple-a200 { + background-color: #E040FB !important; + color: #ffffff !important; +} +.mdui-color-purple-a400 { + background-color: #D500F9 !important; + color: #ffffff !important; +} +.mdui-color-purple-a700 { + background-color: #AA00FF !important; + color: #ffffff !important; +} +.mdui-color-red-accent { + background-color: #FF5252 !important; + color: #ffffff !important; +} +.mdui-color-red-a100 { + background-color: #FF8A80 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-red-a200 { + background-color: #FF5252 !important; + color: #ffffff !important; +} +.mdui-color-red-a400 { + background-color: #FF1744 !important; + color: #ffffff !important; +} +.mdui-color-red-a700 { + background-color: #D50000 !important; + color: #ffffff !important; +} +.mdui-color-teal-accent { + background-color: #64FFDA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-teal-a100 { + background-color: #A7FFEB !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-teal-a200 { + background-color: #64FFDA !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-teal-a400 { + background-color: #1DE9B6 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-teal-a700 { + background-color: #00BFA5 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-accent { + background-color: #FFFF00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-a100 { + background-color: #FFFF8D !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-a200 { + background-color: #FFFF00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-a400 { + background-color: #FFEA00 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-color-yellow-a700 { + background-color: #FFD600 !important; + color: rgba(0, 0, 0, 0.87) !important; +} +/** + * .mdui-color-black + * .mdui-color-white + * .mdui-color-transparent + */ +.mdui-color-black { + color: #ffffff !important; + background-color: #000000 !important; +} +.mdui-color-white { + color: rgba(0, 0, 0, 0.87) !important; + background-color: #FFFFFF !important; +} +.mdui-color-transparent { + background-color: transparent !important; +} +/** + * .mdui-theme-primary-[color] .mdui-text-color-theme + * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree] + */ +.mdui-theme-primary-amber .mdui-text-color-theme { + color: #FFC107 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-50 { + color: #FFF8E1 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-100 { + color: #FFECB3 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-200 { + color: #FFE082 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-300 { + color: #FFD54F !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-400 { + color: #FFCA28 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-500 { + color: #FFC107 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-600 { + color: #FFB300 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-700 { + color: #FFA000 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-800 { + color: #FF8F00 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-900 { + color: #FF6F00 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme { + color: #2196F3 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-50 { + color: #E3F2FD !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-100 { + color: #BBDEFB !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-200 { + color: #90CAF9 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-300 { + color: #64B5F6 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-400 { + color: #42A5F5 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-500 { + color: #2196F3 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-600 { + color: #1E88E5 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-700 { + color: #1976D2 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-800 { + color: #1565C0 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-900 { + color: #0D47A1 !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme { + color: #607D8B !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-50 { + color: #ECEFF1 !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-100 { + color: #CFD8DC !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-200 { + color: #B0BEC5 !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-300 { + color: #90A4AE !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-400 { + color: #78909C !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-500 { + color: #607D8B !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-600 { + color: #546E7A !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-700 { + color: #455A64 !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-800 { + color: #37474F !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-900 { + color: #263238 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme { + color: #795548 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-50 { + color: #EFEBE9 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-100 { + color: #D7CCC8 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-200 { + color: #BCAAA4 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-300 { + color: #A1887F !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-400 { + color: #8D6E63 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-500 { + color: #795548 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-600 { + color: #6D4C41 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-700 { + color: #5D4037 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-800 { + color: #4E342E !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-900 { + color: #3E2723 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme { + color: #00BCD4 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-50 { + color: #E0F7FA !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-100 { + color: #B2EBF2 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-200 { + color: #80DEEA !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-300 { + color: #4DD0E1 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-400 { + color: #26C6DA !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-500 { + color: #00BCD4 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-600 { + color: #00ACC1 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-700 { + color: #0097A7 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-800 { + color: #00838F !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-900 { + color: #006064 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme { + color: #FF5722 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-50 { + color: #FBE9E7 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-100 { + color: #FFCCBC !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-200 { + color: #FFAB91 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-300 { + color: #FF8A65 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-400 { + color: #FF7043 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-500 { + color: #FF5722 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-600 { + color: #F4511E !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-700 { + color: #E64A19 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-800 { + color: #D84315 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-900 { + color: #BF360C !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme { + color: #673AB7 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-50 { + color: #EDE7F6 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-100 { + color: #D1C4E9 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-200 { + color: #B39DDB !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-300 { + color: #9575CD !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-400 { + color: #7E57C2 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-500 { + color: #673AB7 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-600 { + color: #5E35B1 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-700 { + color: #512DA8 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-800 { + color: #4527A0 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-900 { + color: #311B92 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme { + color: #4CAF50 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-50 { + color: #E8F5E9 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-100 { + color: #C8E6C9 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-200 { + color: #A5D6A7 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-300 { + color: #81C784 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-400 { + color: #66BB6A !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-500 { + color: #4CAF50 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-600 { + color: #43A047 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-700 { + color: #388E3C !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-800 { + color: #2E7D32 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-900 { + color: #1B5E20 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme { + color: #9E9E9E !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-50 { + color: #FAFAFA !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-100 { + color: #F5F5F5 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-200 { + color: #EEEEEE !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-300 { + color: #E0E0E0 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-400 { + color: #BDBDBD !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-500 { + color: #9E9E9E !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-600 { + color: #757575 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-700 { + color: #616161 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-800 { + color: #424242 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-900 { + color: #212121 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme { + color: #3F51B5 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-50 { + color: #E8EAF6 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-100 { + color: #C5CAE9 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-200 { + color: #9FA8DA !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-300 { + color: #7986CB !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-400 { + color: #5C6BC0 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-500 { + color: #3F51B5 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-600 { + color: #3949AB !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-700 { + color: #303F9F !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-800 { + color: #283593 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-900 { + color: #1A237E !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme { + color: #03A9F4 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-50 { + color: #E1F5FE !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-100 { + color: #B3E5FC !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-200 { + color: #81D4FA !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-300 { + color: #4FC3F7 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-400 { + color: #29B6F6 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-500 { + color: #03A9F4 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-600 { + color: #039BE5 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-700 { + color: #0288D1 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-800 { + color: #0277BD !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-900 { + color: #01579B !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme { + color: #8BC34A !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-50 { + color: #F1F8E9 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-100 { + color: #DCEDC8 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-200 { + color: #C5E1A5 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-300 { + color: #AED581 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-400 { + color: #9CCC65 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-500 { + color: #8BC34A !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-600 { + color: #7CB342 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-700 { + color: #689F38 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-800 { + color: #558B2F !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-900 { + color: #33691E !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme { + color: #CDDC39 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-50 { + color: #F9FBE7 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-100 { + color: #F0F4C3 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-200 { + color: #E6EE9C !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-300 { + color: #DCE775 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-400 { + color: #D4E157 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-500 { + color: #CDDC39 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-600 { + color: #C0CA33 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-700 { + color: #AFB42B !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-800 { + color: #9E9D24 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-900 { + color: #827717 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme { + color: #FF9800 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-50 { + color: #FFF3E0 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-100 { + color: #FFE0B2 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-200 { + color: #FFCC80 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-300 { + color: #FFB74D !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-400 { + color: #FFA726 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-500 { + color: #FF9800 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-600 { + color: #FB8C00 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-700 { + color: #F57C00 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-800 { + color: #EF6C00 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-900 { + color: #E65100 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme { + color: #E91E63 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-50 { + color: #FCE4EC !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-100 { + color: #F8BBD0 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-200 { + color: #F48FB1 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-300 { + color: #F06292 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-400 { + color: #EC407A !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-500 { + color: #E91E63 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-600 { + color: #D81B60 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-700 { + color: #C2185B !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-800 { + color: #AD1457 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-900 { + color: #880E4F !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme { + color: #9C27B0 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-50 { + color: #F3E5F5 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-100 { + color: #E1BEE7 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-200 { + color: #CE93D8 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-300 { + color: #BA68C8 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-400 { + color: #AB47BC !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-500 { + color: #9C27B0 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-600 { + color: #8E24AA !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-700 { + color: #7B1FA2 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-800 { + color: #6A1B9A !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-900 { + color: #4A148C !important; +} +.mdui-theme-primary-red .mdui-text-color-theme { + color: #F44336 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-50 { + color: #FFEBEE !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-100 { + color: #FFCDD2 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-200 { + color: #EF9A9A !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-300 { + color: #E57373 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-400 { + color: #EF5350 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-500 { + color: #F44336 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-600 { + color: #E53935 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-700 { + color: #D32F2F !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-800 { + color: #C62828 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-900 { + color: #B71C1C !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme { + color: #009688 !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-50 { + color: #E0F2F1 !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-100 { + color: #B2DFDB !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-200 { + color: #80CBC4 !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-300 { + color: #4DB6AC !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-400 { + color: #26A69A !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-500 { + color: #009688 !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-600 { + color: #00897B !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-700 { + color: #00796B !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-800 { + color: #00695C !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-900 { + color: #004D40 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme { + color: #FFEB3B !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-50 { + color: #FFFDE7 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-100 { + color: #FFF9C4 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-200 { + color: #FFF59D !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-300 { + color: #FFF176 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-400 { + color: #FFEE58 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-500 { + color: #FFEB3B !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-600 { + color: #FDD835 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-700 { + color: #FBC02D !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-800 { + color: #F9A825 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-900 { + color: #F57F17 !important; +} +/** + * .mdui-theme-accent-[color] .mdui-text-color-theme-accent + * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree] + */ +.mdui-theme-accent-amber .mdui-text-color-theme-accent { + color: #FFD740 !important; +} +.mdui-theme-accent-amber .mdui-text-color-theme-a100 { + color: #FFE57F !important; +} +.mdui-theme-accent-amber .mdui-text-color-theme-a200 { + color: #FFD740 !important; +} +.mdui-theme-accent-amber .mdui-text-color-theme-a400 { + color: #FFC400 !important; +} +.mdui-theme-accent-amber .mdui-text-color-theme-a700 { + color: #FFAB00 !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-accent { + color: #448AFF !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-a100 { + color: #82B1FF !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-a200 { + color: #448AFF !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-a400 { + color: #2979FF !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-a700 { + color: #2962FF !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-accent { + color: #18FFFF !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-a100 { + color: #84FFFF !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-a200 { + color: #18FFFF !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-a400 { + color: #00E5FF !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-a700 { + color: #00B8D4 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent { + color: #FF6E40 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100 { + color: #FF9E80 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200 { + color: #FF6E40 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400 { + color: #FF3D00 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700 { + color: #DD2C00 !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent { + color: #7C4DFF !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100 { + color: #B388FF !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200 { + color: #7C4DFF !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400 { + color: #651FFF !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700 { + color: #6200EA !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-accent { + color: #69F0AE !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-a100 { + color: #B9F6CA !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-a200 { + color: #69F0AE !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-a400 { + color: #00E676 !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-a700 { + color: #00C853 !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-accent { + color: #536DFE !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-a100 { + color: #8C9EFF !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-a200 { + color: #536DFE !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-a400 { + color: #3D5AFE !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-a700 { + color: #304FFE !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-accent { + color: #40C4FF !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-a100 { + color: #80D8FF !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-a200 { + color: #40C4FF !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-a400 { + color: #00B0FF !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-a700 { + color: #0091EA !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-accent { + color: #B2FF59 !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-a100 { + color: #CCFF90 !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-a200 { + color: #B2FF59 !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-a400 { + color: #76FF03 !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-a700 { + color: #64DD17 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-accent { + color: #EEFF41 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-a100 { + color: #F4FF81 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-a200 { + color: #EEFF41 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-a400 { + color: #C6FF00 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-a700 { + color: #AEEA00 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-accent { + color: #FFAB40 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-a100 { + color: #FFD180 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-a200 { + color: #FFAB40 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-a400 { + color: #FF9100 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-a700 { + color: #FF6D00 !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-accent { + color: #FF4081 !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-a100 { + color: #FF80AB !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-a200 { + color: #FF4081 !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-a400 { + color: #F50057 !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-a700 { + color: #C51162 !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-accent { + color: #E040FB !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-a100 { + color: #EA80FC !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-a200 { + color: #E040FB !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-a400 { + color: #D500F9 !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-a700 { + color: #AA00FF !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-accent { + color: #FF5252 !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-a100 { + color: #FF8A80 !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-a200 { + color: #FF5252 !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-a400 { + color: #FF1744 !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-a700 { + color: #D50000 !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-accent { + color: #64FFDA !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-a100 { + color: #A7FFEB !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-a200 { + color: #64FFDA !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-a400 { + color: #1DE9B6 !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-a700 { + color: #00BFA5 !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-accent { + color: #FFFF00 !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-a100 { + color: #FFFF8D !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-a200 { + color: #FFFF00 !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-a400 { + color: #FFEA00 !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-a700 { + color: #FFD600 !important; +} +/** + * .mdui-text-color-[color] + * .mdui-text-color-[color]-[degree] + */ +.mdui-text-color-amber { + color: #FFC107 !important; +} +.mdui-text-color-amber-50 { + color: #FFF8E1 !important; +} +.mdui-text-color-amber-100 { + color: #FFECB3 !important; +} +.mdui-text-color-amber-200 { + color: #FFE082 !important; +} +.mdui-text-color-amber-300 { + color: #FFD54F !important; +} +.mdui-text-color-amber-400 { + color: #FFCA28 !important; +} +.mdui-text-color-amber-500 { + color: #FFC107 !important; +} +.mdui-text-color-amber-600 { + color: #FFB300 !important; +} +.mdui-text-color-amber-700 { + color: #FFA000 !important; +} +.mdui-text-color-amber-800 { + color: #FF8F00 !important; +} +.mdui-text-color-amber-900 { + color: #FF6F00 !important; +} +.mdui-text-color-blue { + color: #2196F3 !important; +} +.mdui-text-color-blue-50 { + color: #E3F2FD !important; +} +.mdui-text-color-blue-100 { + color: #BBDEFB !important; +} +.mdui-text-color-blue-200 { + color: #90CAF9 !important; +} +.mdui-text-color-blue-300 { + color: #64B5F6 !important; +} +.mdui-text-color-blue-400 { + color: #42A5F5 !important; +} +.mdui-text-color-blue-500 { + color: #2196F3 !important; +} +.mdui-text-color-blue-600 { + color: #1E88E5 !important; +} +.mdui-text-color-blue-700 { + color: #1976D2 !important; +} +.mdui-text-color-blue-800 { + color: #1565C0 !important; +} +.mdui-text-color-blue-900 { + color: #0D47A1 !important; +} +.mdui-text-color-blue-grey { + color: #607D8B !important; +} +.mdui-text-color-blue-grey-50 { + color: #ECEFF1 !important; +} +.mdui-text-color-blue-grey-100 { + color: #CFD8DC !important; +} +.mdui-text-color-blue-grey-200 { + color: #B0BEC5 !important; +} +.mdui-text-color-blue-grey-300 { + color: #90A4AE !important; +} +.mdui-text-color-blue-grey-400 { + color: #78909C !important; +} +.mdui-text-color-blue-grey-500 { + color: #607D8B !important; +} +.mdui-text-color-blue-grey-600 { + color: #546E7A !important; +} +.mdui-text-color-blue-grey-700 { + color: #455A64 !important; +} +.mdui-text-color-blue-grey-800 { + color: #37474F !important; +} +.mdui-text-color-blue-grey-900 { + color: #263238 !important; +} +.mdui-text-color-brown { + color: #795548 !important; +} +.mdui-text-color-brown-50 { + color: #EFEBE9 !important; +} +.mdui-text-color-brown-100 { + color: #D7CCC8 !important; +} +.mdui-text-color-brown-200 { + color: #BCAAA4 !important; +} +.mdui-text-color-brown-300 { + color: #A1887F !important; +} +.mdui-text-color-brown-400 { + color: #8D6E63 !important; +} +.mdui-text-color-brown-500 { + color: #795548 !important; +} +.mdui-text-color-brown-600 { + color: #6D4C41 !important; +} +.mdui-text-color-brown-700 { + color: #5D4037 !important; +} +.mdui-text-color-brown-800 { + color: #4E342E !important; +} +.mdui-text-color-brown-900 { + color: #3E2723 !important; +} +.mdui-text-color-cyan { + color: #00BCD4 !important; +} +.mdui-text-color-cyan-50 { + color: #E0F7FA !important; +} +.mdui-text-color-cyan-100 { + color: #B2EBF2 !important; +} +.mdui-text-color-cyan-200 { + color: #80DEEA !important; +} +.mdui-text-color-cyan-300 { + color: #4DD0E1 !important; +} +.mdui-text-color-cyan-400 { + color: #26C6DA !important; +} +.mdui-text-color-cyan-500 { + color: #00BCD4 !important; +} +.mdui-text-color-cyan-600 { + color: #00ACC1 !important; +} +.mdui-text-color-cyan-700 { + color: #0097A7 !important; +} +.mdui-text-color-cyan-800 { + color: #00838F !important; +} +.mdui-text-color-cyan-900 { + color: #006064 !important; +} +.mdui-text-color-deep-orange { + color: #FF5722 !important; +} +.mdui-text-color-deep-orange-50 { + color: #FBE9E7 !important; +} +.mdui-text-color-deep-orange-100 { + color: #FFCCBC !important; +} +.mdui-text-color-deep-orange-200 { + color: #FFAB91 !important; +} +.mdui-text-color-deep-orange-300 { + color: #FF8A65 !important; +} +.mdui-text-color-deep-orange-400 { + color: #FF7043 !important; +} +.mdui-text-color-deep-orange-500 { + color: #FF5722 !important; +} +.mdui-text-color-deep-orange-600 { + color: #F4511E !important; +} +.mdui-text-color-deep-orange-700 { + color: #E64A19 !important; +} +.mdui-text-color-deep-orange-800 { + color: #D84315 !important; +} +.mdui-text-color-deep-orange-900 { + color: #BF360C !important; +} +.mdui-text-color-deep-purple { + color: #673AB7 !important; +} +.mdui-text-color-deep-purple-50 { + color: #EDE7F6 !important; +} +.mdui-text-color-deep-purple-100 { + color: #D1C4E9 !important; +} +.mdui-text-color-deep-purple-200 { + color: #B39DDB !important; +} +.mdui-text-color-deep-purple-300 { + color: #9575CD !important; +} +.mdui-text-color-deep-purple-400 { + color: #7E57C2 !important; +} +.mdui-text-color-deep-purple-500 { + color: #673AB7 !important; +} +.mdui-text-color-deep-purple-600 { + color: #5E35B1 !important; +} +.mdui-text-color-deep-purple-700 { + color: #512DA8 !important; +} +.mdui-text-color-deep-purple-800 { + color: #4527A0 !important; +} +.mdui-text-color-deep-purple-900 { + color: #311B92 !important; +} +.mdui-text-color-green { + color: #4CAF50 !important; +} +.mdui-text-color-green-50 { + color: #E8F5E9 !important; +} +.mdui-text-color-green-100 { + color: #C8E6C9 !important; +} +.mdui-text-color-green-200 { + color: #A5D6A7 !important; +} +.mdui-text-color-green-300 { + color: #81C784 !important; +} +.mdui-text-color-green-400 { + color: #66BB6A !important; +} +.mdui-text-color-green-500 { + color: #4CAF50 !important; +} +.mdui-text-color-green-600 { + color: #43A047 !important; +} +.mdui-text-color-green-700 { + color: #388E3C !important; +} +.mdui-text-color-green-800 { + color: #2E7D32 !important; +} +.mdui-text-color-green-900 { + color: #1B5E20 !important; +} +.mdui-text-color-grey { + color: #9E9E9E !important; +} +.mdui-text-color-grey-50 { + color: #FAFAFA !important; +} +.mdui-text-color-grey-100 { + color: #F5F5F5 !important; +} +.mdui-text-color-grey-200 { + color: #EEEEEE !important; +} +.mdui-text-color-grey-300 { + color: #E0E0E0 !important; +} +.mdui-text-color-grey-400 { + color: #BDBDBD !important; +} +.mdui-text-color-grey-500 { + color: #9E9E9E !important; +} +.mdui-text-color-grey-600 { + color: #757575 !important; +} +.mdui-text-color-grey-700 { + color: #616161 !important; +} +.mdui-text-color-grey-800 { + color: #424242 !important; +} +.mdui-text-color-grey-900 { + color: #212121 !important; +} +.mdui-text-color-indigo { + color: #3F51B5 !important; +} +.mdui-text-color-indigo-50 { + color: #E8EAF6 !important; +} +.mdui-text-color-indigo-100 { + color: #C5CAE9 !important; +} +.mdui-text-color-indigo-200 { + color: #9FA8DA !important; +} +.mdui-text-color-indigo-300 { + color: #7986CB !important; +} +.mdui-text-color-indigo-400 { + color: #5C6BC0 !important; +} +.mdui-text-color-indigo-500 { + color: #3F51B5 !important; +} +.mdui-text-color-indigo-600 { + color: #3949AB !important; +} +.mdui-text-color-indigo-700 { + color: #303F9F !important; +} +.mdui-text-color-indigo-800 { + color: #283593 !important; +} +.mdui-text-color-indigo-900 { + color: #1A237E !important; +} +.mdui-text-color-light-blue { + color: #03A9F4 !important; +} +.mdui-text-color-light-blue-50 { + color: #E1F5FE !important; +} +.mdui-text-color-light-blue-100 { + color: #B3E5FC !important; +} +.mdui-text-color-light-blue-200 { + color: #81D4FA !important; +} +.mdui-text-color-light-blue-300 { + color: #4FC3F7 !important; +} +.mdui-text-color-light-blue-400 { + color: #29B6F6 !important; +} +.mdui-text-color-light-blue-500 { + color: #03A9F4 !important; +} +.mdui-text-color-light-blue-600 { + color: #039BE5 !important; +} +.mdui-text-color-light-blue-700 { + color: #0288D1 !important; +} +.mdui-text-color-light-blue-800 { + color: #0277BD !important; +} +.mdui-text-color-light-blue-900 { + color: #01579B !important; +} +.mdui-text-color-light-green { + color: #8BC34A !important; +} +.mdui-text-color-light-green-50 { + color: #F1F8E9 !important; +} +.mdui-text-color-light-green-100 { + color: #DCEDC8 !important; +} +.mdui-text-color-light-green-200 { + color: #C5E1A5 !important; +} +.mdui-text-color-light-green-300 { + color: #AED581 !important; +} +.mdui-text-color-light-green-400 { + color: #9CCC65 !important; +} +.mdui-text-color-light-green-500 { + color: #8BC34A !important; +} +.mdui-text-color-light-green-600 { + color: #7CB342 !important; +} +.mdui-text-color-light-green-700 { + color: #689F38 !important; +} +.mdui-text-color-light-green-800 { + color: #558B2F !important; +} +.mdui-text-color-light-green-900 { + color: #33691E !important; +} +.mdui-text-color-lime { + color: #CDDC39 !important; +} +.mdui-text-color-lime-50 { + color: #F9FBE7 !important; +} +.mdui-text-color-lime-100 { + color: #F0F4C3 !important; +} +.mdui-text-color-lime-200 { + color: #E6EE9C !important; +} +.mdui-text-color-lime-300 { + color: #DCE775 !important; +} +.mdui-text-color-lime-400 { + color: #D4E157 !important; +} +.mdui-text-color-lime-500 { + color: #CDDC39 !important; +} +.mdui-text-color-lime-600 { + color: #C0CA33 !important; +} +.mdui-text-color-lime-700 { + color: #AFB42B !important; +} +.mdui-text-color-lime-800 { + color: #9E9D24 !important; +} +.mdui-text-color-lime-900 { + color: #827717 !important; +} +.mdui-text-color-orange { + color: #FF9800 !important; +} +.mdui-text-color-orange-50 { + color: #FFF3E0 !important; +} +.mdui-text-color-orange-100 { + color: #FFE0B2 !important; +} +.mdui-text-color-orange-200 { + color: #FFCC80 !important; +} +.mdui-text-color-orange-300 { + color: #FFB74D !important; +} +.mdui-text-color-orange-400 { + color: #FFA726 !important; +} +.mdui-text-color-orange-500 { + color: #FF9800 !important; +} +.mdui-text-color-orange-600 { + color: #FB8C00 !important; +} +.mdui-text-color-orange-700 { + color: #F57C00 !important; +} +.mdui-text-color-orange-800 { + color: #EF6C00 !important; +} +.mdui-text-color-orange-900 { + color: #E65100 !important; +} +.mdui-text-color-pink { + color: #E91E63 !important; +} +.mdui-text-color-pink-50 { + color: #FCE4EC !important; +} +.mdui-text-color-pink-100 { + color: #F8BBD0 !important; +} +.mdui-text-color-pink-200 { + color: #F48FB1 !important; +} +.mdui-text-color-pink-300 { + color: #F06292 !important; +} +.mdui-text-color-pink-400 { + color: #EC407A !important; +} +.mdui-text-color-pink-500 { + color: #E91E63 !important; +} +.mdui-text-color-pink-600 { + color: #D81B60 !important; +} +.mdui-text-color-pink-700 { + color: #C2185B !important; +} +.mdui-text-color-pink-800 { + color: #AD1457 !important; +} +.mdui-text-color-pink-900 { + color: #880E4F !important; +} +.mdui-text-color-purple { + color: #9C27B0 !important; +} +.mdui-text-color-purple-50 { + color: #F3E5F5 !important; +} +.mdui-text-color-purple-100 { + color: #E1BEE7 !important; +} +.mdui-text-color-purple-200 { + color: #CE93D8 !important; +} +.mdui-text-color-purple-300 { + color: #BA68C8 !important; +} +.mdui-text-color-purple-400 { + color: #AB47BC !important; +} +.mdui-text-color-purple-500 { + color: #9C27B0 !important; +} +.mdui-text-color-purple-600 { + color: #8E24AA !important; +} +.mdui-text-color-purple-700 { + color: #7B1FA2 !important; +} +.mdui-text-color-purple-800 { + color: #6A1B9A !important; +} +.mdui-text-color-purple-900 { + color: #4A148C !important; +} +.mdui-text-color-red { + color: #F44336 !important; +} +.mdui-text-color-red-50 { + color: #FFEBEE !important; +} +.mdui-text-color-red-100 { + color: #FFCDD2 !important; +} +.mdui-text-color-red-200 { + color: #EF9A9A !important; +} +.mdui-text-color-red-300 { + color: #E57373 !important; +} +.mdui-text-color-red-400 { + color: #EF5350 !important; +} +.mdui-text-color-red-500 { + color: #F44336 !important; +} +.mdui-text-color-red-600 { + color: #E53935 !important; +} +.mdui-text-color-red-700 { + color: #D32F2F !important; +} +.mdui-text-color-red-800 { + color: #C62828 !important; +} +.mdui-text-color-red-900 { + color: #B71C1C !important; +} +.mdui-text-color-teal { + color: #009688 !important; +} +.mdui-text-color-teal-50 { + color: #E0F2F1 !important; +} +.mdui-text-color-teal-100 { + color: #B2DFDB !important; +} +.mdui-text-color-teal-200 { + color: #80CBC4 !important; +} +.mdui-text-color-teal-300 { + color: #4DB6AC !important; +} +.mdui-text-color-teal-400 { + color: #26A69A !important; +} +.mdui-text-color-teal-500 { + color: #009688 !important; +} +.mdui-text-color-teal-600 { + color: #00897B !important; +} +.mdui-text-color-teal-700 { + color: #00796B !important; +} +.mdui-text-color-teal-800 { + color: #00695C !important; +} +.mdui-text-color-teal-900 { + color: #004D40 !important; +} +.mdui-text-color-yellow { + color: #FFEB3B !important; +} +.mdui-text-color-yellow-50 { + color: #FFFDE7 !important; +} +.mdui-text-color-yellow-100 { + color: #FFF9C4 !important; +} +.mdui-text-color-yellow-200 { + color: #FFF59D !important; +} +.mdui-text-color-yellow-300 { + color: #FFF176 !important; +} +.mdui-text-color-yellow-400 { + color: #FFEE58 !important; +} +.mdui-text-color-yellow-500 { + color: #FFEB3B !important; +} +.mdui-text-color-yellow-600 { + color: #FDD835 !important; +} +.mdui-text-color-yellow-700 { + color: #FBC02D !important; +} +.mdui-text-color-yellow-800 { + color: #F9A825 !important; +} +.mdui-text-color-yellow-900 { + color: #F57F17 !important; +} +/** + * .mdui-text-color-[color]-accent + * .mdui-text-color-[color]-[degree] + */ +.mdui-text-color-amber-accent { + color: #FFD740 !important; +} +.mdui-text-color-amber-a100 { + color: #FFE57F !important; +} +.mdui-text-color-amber-a200 { + color: #FFD740 !important; +} +.mdui-text-color-amber-a400 { + color: #FFC400 !important; +} +.mdui-text-color-amber-a700 { + color: #FFAB00 !important; +} +.mdui-text-color-blue-accent { + color: #448AFF !important; +} +.mdui-text-color-blue-a100 { + color: #82B1FF !important; +} +.mdui-text-color-blue-a200 { + color: #448AFF !important; +} +.mdui-text-color-blue-a400 { + color: #2979FF !important; +} +.mdui-text-color-blue-a700 { + color: #2962FF !important; +} +.mdui-text-color-cyan-accent { + color: #18FFFF !important; +} +.mdui-text-color-cyan-a100 { + color: #84FFFF !important; +} +.mdui-text-color-cyan-a200 { + color: #18FFFF !important; +} +.mdui-text-color-cyan-a400 { + color: #00E5FF !important; +} +.mdui-text-color-cyan-a700 { + color: #00B8D4 !important; +} +.mdui-text-color-deep-orange-accent { + color: #FF6E40 !important; +} +.mdui-text-color-deep-orange-a100 { + color: #FF9E80 !important; +} +.mdui-text-color-deep-orange-a200 { + color: #FF6E40 !important; +} +.mdui-text-color-deep-orange-a400 { + color: #FF3D00 !important; +} +.mdui-text-color-deep-orange-a700 { + color: #DD2C00 !important; +} +.mdui-text-color-deep-purple-accent { + color: #7C4DFF !important; +} +.mdui-text-color-deep-purple-a100 { + color: #B388FF !important; +} +.mdui-text-color-deep-purple-a200 { + color: #7C4DFF !important; +} +.mdui-text-color-deep-purple-a400 { + color: #651FFF !important; +} +.mdui-text-color-deep-purple-a700 { + color: #6200EA !important; +} +.mdui-text-color-green-accent { + color: #69F0AE !important; +} +.mdui-text-color-green-a100 { + color: #B9F6CA !important; +} +.mdui-text-color-green-a200 { + color: #69F0AE !important; +} +.mdui-text-color-green-a400 { + color: #00E676 !important; +} +.mdui-text-color-green-a700 { + color: #00C853 !important; +} +.mdui-text-color-indigo-accent { + color: #536DFE !important; +} +.mdui-text-color-indigo-a100 { + color: #8C9EFF !important; +} +.mdui-text-color-indigo-a200 { + color: #536DFE !important; +} +.mdui-text-color-indigo-a400 { + color: #3D5AFE !important; +} +.mdui-text-color-indigo-a700 { + color: #304FFE !important; +} +.mdui-text-color-light-blue-accent { + color: #40C4FF !important; +} +.mdui-text-color-light-blue-a100 { + color: #80D8FF !important; +} +.mdui-text-color-light-blue-a200 { + color: #40C4FF !important; +} +.mdui-text-color-light-blue-a400 { + color: #00B0FF !important; +} +.mdui-text-color-light-blue-a700 { + color: #0091EA !important; +} +.mdui-text-color-light-green-accent { + color: #B2FF59 !important; +} +.mdui-text-color-light-green-a100 { + color: #CCFF90 !important; +} +.mdui-text-color-light-green-a200 { + color: #B2FF59 !important; +} +.mdui-text-color-light-green-a400 { + color: #76FF03 !important; +} +.mdui-text-color-light-green-a700 { + color: #64DD17 !important; +} +.mdui-text-color-lime-accent { + color: #EEFF41 !important; +} +.mdui-text-color-lime-a100 { + color: #F4FF81 !important; +} +.mdui-text-color-lime-a200 { + color: #EEFF41 !important; +} +.mdui-text-color-lime-a400 { + color: #C6FF00 !important; +} +.mdui-text-color-lime-a700 { + color: #AEEA00 !important; +} +.mdui-text-color-orange-accent { + color: #FFAB40 !important; +} +.mdui-text-color-orange-a100 { + color: #FFD180 !important; +} +.mdui-text-color-orange-a200 { + color: #FFAB40 !important; +} +.mdui-text-color-orange-a400 { + color: #FF9100 !important; +} +.mdui-text-color-orange-a700 { + color: #FF6D00 !important; +} +.mdui-text-color-pink-accent { + color: #FF4081 !important; +} +.mdui-text-color-pink-a100 { + color: #FF80AB !important; +} +.mdui-text-color-pink-a200 { + color: #FF4081 !important; +} +.mdui-text-color-pink-a400 { + color: #F50057 !important; +} +.mdui-text-color-pink-a700 { + color: #C51162 !important; +} +.mdui-text-color-purple-accent { + color: #E040FB !important; +} +.mdui-text-color-purple-a100 { + color: #EA80FC !important; +} +.mdui-text-color-purple-a200 { + color: #E040FB !important; +} +.mdui-text-color-purple-a400 { + color: #D500F9 !important; +} +.mdui-text-color-purple-a700 { + color: #AA00FF !important; +} +.mdui-text-color-red-accent { + color: #FF5252 !important; +} +.mdui-text-color-red-a100 { + color: #FF8A80 !important; +} +.mdui-text-color-red-a200 { + color: #FF5252 !important; +} +.mdui-text-color-red-a400 { + color: #FF1744 !important; +} +.mdui-text-color-red-a700 { + color: #D50000 !important; +} +.mdui-text-color-teal-accent { + color: #64FFDA !important; +} +.mdui-text-color-teal-a100 { + color: #A7FFEB !important; +} +.mdui-text-color-teal-a200 { + color: #64FFDA !important; +} +.mdui-text-color-teal-a400 { + color: #1DE9B6 !important; +} +.mdui-text-color-teal-a700 { + color: #00BFA5 !important; +} +.mdui-text-color-yellow-accent { + color: #FFFF00 !important; +} +.mdui-text-color-yellow-a100 { + color: #FFFF8D !important; +} +.mdui-text-color-yellow-a200 { + color: #FFFF00 !important; +} +.mdui-text-color-yellow-a400 { + color: #FFEA00 !important; +} +.mdui-text-color-yellow-a700 { + color: #FFD600 !important; +} +/** + * .mdui-text-color-black + * .mdui-text-color-black-[] + * .mdui-text-color-theme-[] + */ +.mdui-text-color-black { + color: #000000 !important; +} +.mdui-text-color-black-text, +.mdui-text-color-theme-text { + color: rgba(0, 0, 0, 0.87) !important; +} +.mdui-text-color-black-secondary, +.mdui-text-color-theme-secondary { + color: rgba(0, 0, 0, 0.54) !important; +} +.mdui-text-color-black-disabled, +.mdui-text-color-theme-disabled { + color: rgba(0, 0, 0, 0.38) !important; +} +.mdui-text-color-black-divider, +.mdui-text-color-theme-divider { + color: rgba(0, 0, 0, 0.12) !important; +} +.mdui-text-color-black-icon, +.mdui-text-color-theme-icon { + color: rgba(0, 0, 0, 0.54) !important; +} +.mdui-text-color-black-icon-disabled, +.mdui-text-color-theme-icon-disabled { + color: rgba(0, 0, 0, 0.26) !important; +} +/** + * .mdui-text-color-white + * .mdui-text-color-white-[] + */ +.mdui-text-color-white { + color: #FFFFFF !important; +} +.mdui-text-color-white-text { + color: #ffffff !important; +} +.mdui-text-color-white-secondary { + color: rgba(255, 255, 255, 0.7) !important; +} +.mdui-text-color-white-disabled { + color: rgba(255, 255, 255, 0.5) !important; +} +.mdui-text-color-white-divider { + color: rgba(255, 255, 255, 0.12) !important; +} +.mdui-text-color-white-icon { + color: #ffffff !important; +} +.mdui-text-color-white-icon-disabled { + color: rgba(255, 255, 255, 0.3) !important; +} +/** + * .mdui-text-color-theme-[] 深色主题 + */ +.mdui-theme-layout-dark .mdui-text-color-theme-text { + color: #ffffff !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-secondary { + color: rgba(255, 255, 255, 0.7) !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-disabled { + color: rgba(255, 255, 255, 0.5) !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-divider { + color: rgba(255, 255, 255, 0.12) !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-icon { + color: #ffffff !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled { + color: rgba(255, 255, 255, 0.3) !important; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-text-color-theme-text { + color: #ffffff !important; + } + .mdui-theme-layout-auto .mdui-text-color-theme-secondary { + color: rgba(255, 255, 255, 0.7) !important; + } + .mdui-theme-layout-auto .mdui-text-color-theme-disabled { + color: rgba(255, 255, 255, 0.5) !important; + } + .mdui-theme-layout-auto .mdui-text-color-theme-divider { + color: rgba(255, 255, 255, 0.12) !important; + } + .mdui-theme-layout-auto .mdui-text-color-theme-icon { + color: #ffffff !important; + } + .mdui-theme-layout-auto .mdui-text-color-theme-icon-disabled { + color: rgba(255, 255, 255, 0.3) !important; + } +} +/** + * ============================================================================= + * ************ Helper 辅助类 ************ + * ============================================================================= + */ +/** + * =================== 边距 + */ +.mdui-m-a-0 { + margin: 0px !important; +} +.mdui-m-t-0 { + margin-top: 0px !important; +} +.mdui-m-r-0 { + margin-right: 0px !important; +} +.mdui-m-b-0 { + margin-bottom: 0px !important; +} +.mdui-m-l-0 { + margin-left: 0px !important; +} +.mdui-m-x-0 { + margin-right: 0px !important; + margin-left: 0px !important; +} +.mdui-m-y-0 { + margin-top: 0px !important; + margin-bottom: 0px !important; +} +.mdui-p-a-0 { + padding: 0px !important; +} +.mdui-p-t-0 { + padding-top: 0px !important; +} +.mdui-p-r-0 { + padding-right: 0px !important; +} +.mdui-p-b-0 { + padding-bottom: 0px !important; +} +.mdui-p-l-0 { + padding-left: 0px !important; +} +.mdui-p-x-0 { + padding-right: 0px !important; + padding-left: 0px !important; +} +.mdui-p-y-0 { + padding-top: 0px !important; + padding-bottom: 0px !important; +} +.mdui-m-a-1 { + margin: 8px !important; +} +.mdui-m-t-1 { + margin-top: 8px !important; +} +.mdui-m-r-1 { + margin-right: 8px !important; +} +.mdui-m-b-1 { + margin-bottom: 8px !important; +} +.mdui-m-l-1 { + margin-left: 8px !important; +} +.mdui-m-x-1 { + margin-right: 8px !important; + margin-left: 8px !important; +} +.mdui-m-y-1 { + margin-top: 8px !important; + margin-bottom: 8px !important; +} +.mdui-p-a-1 { + padding: 8px !important; +} +.mdui-p-t-1 { + padding-top: 8px !important; +} +.mdui-p-r-1 { + padding-right: 8px !important; +} +.mdui-p-b-1 { + padding-bottom: 8px !important; +} +.mdui-p-l-1 { + padding-left: 8px !important; +} +.mdui-p-x-1 { + padding-right: 8px !important; + padding-left: 8px !important; +} +.mdui-p-y-1 { + padding-top: 8px !important; + padding-bottom: 8px !important; +} +.mdui-m-a-2 { + margin: 16px !important; +} +.mdui-m-t-2 { + margin-top: 16px !important; +} +.mdui-m-r-2 { + margin-right: 16px !important; +} +.mdui-m-b-2 { + margin-bottom: 16px !important; +} +.mdui-m-l-2 { + margin-left: 16px !important; +} +.mdui-m-x-2 { + margin-right: 16px !important; + margin-left: 16px !important; +} +.mdui-m-y-2 { + margin-top: 16px !important; + margin-bottom: 16px !important; +} +.mdui-p-a-2 { + padding: 16px !important; +} +.mdui-p-t-2 { + padding-top: 16px !important; +} +.mdui-p-r-2 { + padding-right: 16px !important; +} +.mdui-p-b-2 { + padding-bottom: 16px !important; +} +.mdui-p-l-2 { + padding-left: 16px !important; +} +.mdui-p-x-2 { + padding-right: 16px !important; + padding-left: 16px !important; +} +.mdui-p-y-2 { + padding-top: 16px !important; + padding-bottom: 16px !important; +} +.mdui-m-a-3 { + margin: 24px !important; +} +.mdui-m-t-3 { + margin-top: 24px !important; +} +.mdui-m-r-3 { + margin-right: 24px !important; +} +.mdui-m-b-3 { + margin-bottom: 24px !important; +} +.mdui-m-l-3 { + margin-left: 24px !important; +} +.mdui-m-x-3 { + margin-right: 24px !important; + margin-left: 24px !important; +} +.mdui-m-y-3 { + margin-top: 24px !important; + margin-bottom: 24px !important; +} +.mdui-p-a-3 { + padding: 24px !important; +} +.mdui-p-t-3 { + padding-top: 24px !important; +} +.mdui-p-r-3 { + padding-right: 24px !important; +} +.mdui-p-b-3 { + padding-bottom: 24px !important; +} +.mdui-p-l-3 { + padding-left: 24px !important; +} +.mdui-p-x-3 { + padding-right: 24px !important; + padding-left: 24px !important; +} +.mdui-p-y-3 { + padding-top: 24px !important; + padding-bottom: 24px !important; +} +.mdui-m-a-4 { + margin: 32px !important; +} +.mdui-m-t-4 { + margin-top: 32px !important; +} +.mdui-m-r-4 { + margin-right: 32px !important; +} +.mdui-m-b-4 { + margin-bottom: 32px !important; +} +.mdui-m-l-4 { + margin-left: 32px !important; +} +.mdui-m-x-4 { + margin-right: 32px !important; + margin-left: 32px !important; +} +.mdui-m-y-4 { + margin-top: 32px !important; + margin-bottom: 32px !important; +} +.mdui-p-a-4 { + padding: 32px !important; +} +.mdui-p-t-4 { + padding-top: 32px !important; +} +.mdui-p-r-4 { + padding-right: 32px !important; +} +.mdui-p-b-4 { + padding-bottom: 32px !important; +} +.mdui-p-l-4 { + padding-left: 32px !important; +} +.mdui-p-x-4 { + padding-right: 32px !important; + padding-left: 32px !important; +} +.mdui-p-y-4 { + padding-top: 32px !important; + padding-bottom: 32px !important; +} +.mdui-m-a-5 { + margin: 40px !important; +} +.mdui-m-t-5 { + margin-top: 40px !important; +} +.mdui-m-r-5 { + margin-right: 40px !important; +} +.mdui-m-b-5 { + margin-bottom: 40px !important; +} +.mdui-m-l-5 { + margin-left: 40px !important; +} +.mdui-m-x-5 { + margin-right: 40px !important; + margin-left: 40px !important; +} +.mdui-m-y-5 { + margin-top: 40px !important; + margin-bottom: 40px !important; +} +.mdui-p-a-5 { + padding: 40px !important; +} +.mdui-p-t-5 { + padding-top: 40px !important; +} +.mdui-p-r-5 { + padding-right: 40px !important; +} +.mdui-p-b-5 { + padding-bottom: 40px !important; +} +.mdui-p-l-5 { + padding-left: 40px !important; +} +.mdui-p-x-5 { + padding-right: 40px !important; + padding-left: 40px !important; +} +.mdui-p-y-5 { + padding-top: 40px !important; + padding-bottom: 40px !important; +} +/** + * ======================== 快速浮动 + */ +/* 向左浮动 */ +.mdui-float-left { + float: left !important; +} +/* 向右浮动 */ +.mdui-float-right { + float: right !important; +} +/** + * ========================= 水平居中 + */ +/* 水平居中 */ +.mdui-center { + display: block !important; + margin-right: auto !important; + margin-left: auto !important; +} +/** + * ========================= 垂直居中 + */ +/* 垂直居中 */ +.mdui-valign { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; +} +/** + * ========================= 文本对齐方式 + */ +/* 文本左对齐 */ +.mdui-text-left { + text-align: left !important; +} +/* 文本居中对齐 */ +.mdui-text-center { + text-align: center !important; +} +/* 文本向右对齐 */ +.mdui-text-right { + text-align: right !important; +} +/** + * ========================= 文本大小写转换 + */ +/* 文本转为小写 */ +.mdui-text-lowercase { + text-transform: lowercase !important; +} +/* 文本转为大写 */ +.mdui-text-uppercase { + text-transform: uppercase !important; +} +/* 文本转为单词的首字母大写 */ +.mdui-text-capitalize { + text-transform: capitalize !important; +} +/** + * ======================== 文本截断 + */ +/* 文本截断 */ +.mdui-text-truncate { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +/** + * ========================= 清除浮动 + */ +/* 清除浮动 */ +.mdui-clearfix::before, +.mdui-clearfix::after { + display: table; + content: ' '; +} +.mdui-clearfix::after { + clear: both; +} +/** + * ========================= 隐藏内容 + */ +/* 隐藏元素 */ +.mdui-hidden, +[hidden] { + display: none !important; +} +/* 使元素不可见 */ +.mdui-invisible { + visibility: hidden; +} +/* Responsive utilities 响应式工具 + ========================================================================== */ +/* 在特定屏幕的特备上隐藏 */ +@media (max-width: 599.9px) { + .mdui-hidden-xs { + display: none !important; + } +} +@media (min-width: 600px) and (max-width: 1023.9px) { + .mdui-hidden-sm { + display: none !important; + } +} +@media (min-width: 1024px) and (max-width: 1439.9px) { + .mdui-hidden-md { + display: none !important; + } +} +@media (min-width: 1440px) and (max-width: 1919.9px) { + .mdui-hidden-lg { + display: none !important; + } +} +@media (min-width: 1920px) { + .mdui-hidden-xl { + display: none !important; + } +} +/* 在比特定屏幕小的设备上隐藏 */ +@media (max-width: 599.9px) { + .mdui-hidden-xs-down { + display: none !important; + } +} +@media (max-width: 1023.9px) { + .mdui-hidden-sm-down { + display: none !important; + } +} +@media (max-width: 1439.9px) { + .mdui-hidden-md-down { + display: none !important; + } +} +@media (max-width: 1919.9px) { + .mdui-hidden-lg-down { + display: none !important; + } +} +.mdui-hidden-xl-down { + display: none !important; +} +/* 在比特定屏幕大的设备上隐藏 */ +.mdui-hidden-xs-up { + display: none !important; +} +@media (min-width: 600px) { + .mdui-hidden-sm-up { + display: none !important; + } +} +@media (min-width: 1024px) { + .mdui-hidden-md-up { + display: none !important; + } +} +@media (min-width: 1440px) { + .mdui-hidden-lg-up { + display: none !important; + } +} +@media (min-width: 1920px) { + .mdui-hidden-xl-up { + display: none !important; + } +} +/** + * ============================================================================= + * ************ Icon 图标 ************ + * ============================================================================= + */ +.mdui-icon, +.mdui-icon::before { + color: inherit; + font-weight: normal; + font-size: 24px; + /* Preferred icon size */ + font-style: normal; + line-height: 1; + direction: ltr; + letter-spacing: normal; + white-space: nowrap; + text-transform: none; + vertical-align: middle; + word-wrap: normal; +} +.mdui-icon { + display: inline-block; + text-align: center; +} +.mdui-icon::before { + display: block !important; + width: 24px; + height: 24px; +} +/** + * ============================================================================= + * ************ Material Icons ************ + * ============================================================================= + * + * https://github.com/google/material-design-icons/ + * v3.0.1 + */ +@font-face { + font-weight: 400; + font-family: 'Material Icons'; + font-style: normal; + src: local('Material Icons'), local('MaterialIcons-Regular'), url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'), url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff'); +} +.material-icons { + /* stylelint-disable-next-line */ + font-family: 'Material Icons'; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + -webkit-font-feature-settings: 'liga'; + font-feature-settings: 'liga'; +} +/** + * ============================================================================= + * ************ Media 媒体工具 ************ + * ============================================================================= + */ +/* 响应式图片和视频 */ +.mdui-img-fluid, +.mdui-video-fluid { + display: block; + max-width: 100%; + height: auto; +} +/* 圆角图片 */ +.mdui-img-rounded { + border-radius: 2px; +} +/* 圆形图片 */ +.mdui-img-circle { + border-radius: 50%; +} +.mdui-video-container { + position: relative; + height: 0; + padding-bottom: 56.25%; + overflow: hidden; +} +.mdui-video-container iframe, +.mdui-video-container object, +.mdui-video-container embed { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +/** + * ============================================================================= + * ************ Roboto 字体 ************ + * ============================================================================= + */ +@font-face { + font-weight: 100; + font-family: 'Roboto'; + font-style: normal; + font-display: swap; + src: local('Roboto Thin'), local('Roboto-Thin'), url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'), url('../fonts/roboto/Roboto-Thin.woff') format('woff'); +} +@font-face { + font-weight: 100; + font-family: 'Roboto'; + font-style: italic; + font-display: swap; + src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'), url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff'); +} +@font-face { + font-weight: 300; + font-family: 'Roboto'; + font-style: normal; + font-display: swap; + src: local('Roboto Light'), local('Roboto-Light'), url('../fonts/roboto/Roboto-Light.woff2') format('woff2'), url('../fonts/roboto/Roboto-Light.woff') format('woff'); +} +@font-face { + font-weight: 300; + font-family: 'Roboto'; + font-style: italic; + font-display: swap; + src: local('Roboto LightItalic'), local('Roboto-LightItalic'), url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-LightItalic.woff') format('woff'); +} +@font-face { + font-weight: 400; + font-family: 'Roboto'; + font-style: normal; + font-display: swap; + src: local('Roboto Regular'), local('Roboto-Regular'), url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'), url('../fonts/roboto/Roboto-Regular.woff') format('woff'); +} +@font-face { + font-weight: 400; + font-family: 'Roboto'; + font-style: italic; + font-display: swap; + src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'), url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff'); +} +@font-face { + font-weight: 500; + font-family: 'Roboto'; + font-style: normal; + font-display: swap; + src: local('Roboto Medium'), local('Roboto-Medium'), url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'), url('../fonts/roboto/Roboto-Medium.woff') format('woff'); +} +@font-face { + font-weight: 500; + font-family: 'Roboto'; + font-style: italic; + font-display: swap; + src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'), url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff'); +} +@font-face { + font-weight: 700; + font-family: 'Roboto'; + font-style: normal; + font-display: swap; + src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'), url('../fonts/roboto/Roboto-Bold.woff') format('woff'); +} +@font-face { + font-weight: 700; + font-family: 'Roboto'; + font-style: italic; + font-display: swap; + src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'), url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff'); +} +@font-face { + font-weight: 900; + font-family: 'Roboto'; + font-style: normal; + font-display: swap; + src: local('Roboto Black'), local('Roboto-Black'), url('../fonts/roboto/Roboto-Black.woff2') format('woff2'), url('../fonts/roboto/Roboto-Black.woff') format('woff'); +} +@font-face { + font-weight: 900; + font-family: 'Roboto'; + font-style: italic; + font-display: swap; + src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'), url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff'); +} +/** + * ============================================================================= + * ************ Typography 样式排版 ************ + * ============================================================================= + */ +/* .mdui-typo-display-4 */ +.mdui-typo-display-4, +.mdui-typo-display-4-opacity { + font-weight: 300; + font-size: 112px; + letter-spacing: -0.04em; +} +.mdui-typo-display-4-opacity { + opacity: 0.54; +} +/* .mdui-typo-display-3 */ +.mdui-typo-display-3, +.mdui-typo-display-3-opacity { + font-weight: 400; + font-size: 56px; + letter-spacing: -0.02em; +} +.mdui-typo-display-3-opacity { + opacity: 0.54; +} +/* .mdui-typo-display-2 */ +.mdui-typo-display-2, +.mdui-typo-display-2-opacity { + font-weight: 400; + font-size: 45px; + letter-spacing: 0; +} +.mdui-typo-display-2-opacity { + opacity: 0.54; +} +/* .mdui-typo-display-1 */ +.mdui-typo-display-1, +.mdui-typo-display-1-opacity { + font-weight: 400; + font-size: 34px; + letter-spacing: 0; +} +.mdui-typo-display-1-opacity { + opacity: 0.54; +} +/* .mdui-typo-headline */ +.mdui-typo-headline, +.mdui-typo-headline-opacity { + font-weight: 400; + font-size: 24px; + -moz-osx-font-smoothing: grayscale; +} +.mdui-typo-headline-opacity { + opacity: 0.87; +} +/* .mdui-typo-title */ +.mdui-typo-title, +.mdui-typo-title-opacity { + font-weight: 500; + font-size: 20px; + letter-spacing: 0.02em; +} +.mdui-typo-title-opacity { + opacity: 0.87; +} +.mdui-typo-subheading, +.mdui-typo-subheading-opacity { + font-weight: 400; + font-size: 16px; + letter-spacing: 0.04em; +} +.mdui-typo-subheading-opacity { + opacity: 0.87; +} +.mdui-typo-body-2, +.mdui-typo-body-2-opacity { + font-weight: 500; + font-size: 14px; + letter-spacing: 0.04em; +} +.mdui-typo-body-2-opacity { + opacity: 0.87; +} +.mdui-typo-body-1, +.mdui-typo-body-1-opacity { + font-weight: 400; + font-size: 14px; + letter-spacing: 0.04em; +} +.mdui-typo-body-1-opacity { + opacity: 0.87; +} +.mdui-typo-caption, +.mdui-typo-caption-opacity { + font-weight: 400; + font-size: 12px; + letter-spacing: 0.08em; +} +.mdui-typo-caption-opacity { + opacity: 0.54; +} +/** + * ============================================================================= + * ************ Typography 文章排版 ************ + * ============================================================================= + */ +.mdui-typo { + line-height: 1.8; + word-wrap: break-word; + /* a */ + /* small */ + /* blockquote */ + /* mark */ + /* h1 - h6 */ + /* code */ + /* pre code */ + /* abbr */ + /* ins */ + /* u */ + /* del */ + /* hr */ + /* pre */ + /* kbd */ + /* ul / ol */ + /* img, video */ +} +.mdui-typo address, +.mdui-typo caption, +.mdui-typo cite, +.mdui-typo code, +.mdui-typo dfn, +.mdui-typo th { + font-weight: 400; + font-style: normal; +} +.mdui-typo caption, +.mdui-typo th { + text-align: left; +} +.mdui-typo q::before, +.mdui-typo q::after { + content: ''; +} +.mdui-typo pre, +.mdui-typo code, +.mdui-typo kbd, +.mdui-typo samp, +.mdui-typo pre tt { + font-family: Consolas, Courier, 'Courier New', monospace; +} +.mdui-typo figcaption { + color: rgba(0, 0, 0, 0.54); + font-size: 80%; +} +.mdui-typo [draggable], +.mdui-typo [draggable="true"] { + cursor: move; +} +.mdui-typo [draggable="false"] { + cursor: inherit; +} +.mdui-typo p, +.mdui-typo pre, +.mdui-typo ul, +.mdui-typo ol, +.mdui-typo dl, +.mdui-typo form, +.mdui-typo hr, +.mdui-typo figure, +.mdui-typo table, +.mdui-typo .mdui-table, +.mdui-typo .mdui-table-fluid { + margin: 0 0 1.2em 0; +} +.mdui-typo p:last-child, +.mdui-typo pre:last-child, +.mdui-typo ul:last-child, +.mdui-typo ol:last-child, +.mdui-typo dl:last-child, +.mdui-typo form:last-child, +.mdui-typo hr:last-child, +.mdui-typo figure:last-child, +.mdui-typo table:last-child, +.mdui-typo .mdui-table:last-child, +.mdui-typo .mdui-table-fluid:last-child { + margin-bottom: 0; +} +.mdui-typo a { + color: #FF4081; + position: relative; + display: inline-block; + overflow: hidden; + text-decoration: none; + vertical-align: top; + outline: none; +} +.mdui-typo a::before { + position: absolute; + top: auto; + bottom: 1px; + left: 0; + width: 100%; + height: 1px; + background-color: #FF4081; + -webkit-transform: scaleX(0); + transform: scaleX(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: all 0.2s; + transition: all 0.2s; + content: ' '; +} +.mdui-typo a:hover::before, +.mdui-typo a:focus::before { + -webkit-transform: scaleX(1); + transform: scaleX(1); +} +.mdui-typo small { + font-size: 80%; +} +.mdui-typo blockquote { + margin: 1em 3em 1em 2em; + padding-left: 1em; + font-weight: 400; + border-left: 4px solid rgba(0, 0, 0, 0.12); +} +@media only screen and (max-width: 599.9px) { + .mdui-typo blockquote { + margin: 1em 0; + } +} +.mdui-typo blockquote:last-child { + margin-bottom: 0; +} +.mdui-typo blockquote footer { + color: rgba(0, 0, 0, 0.54); + font-size: 86%; +} +.mdui-typo mark { + margin: 0 5px; + padding: 2px; + background: #fffdd1; + border-bottom: 1px solid #ffedce; +} +.mdui-typo h1, +.mdui-typo h2, +.mdui-typo h3, +.mdui-typo h4, +.mdui-typo h5, +.mdui-typo h6 { + margin-top: 1.2em; + margin-bottom: 0.6em; + color: inherit; + font-weight: 400; + font-family: inherit; + line-height: 1.35; +} +.mdui-typo h1:last-child, +.mdui-typo h2:last-child, +.mdui-typo h3:last-child, +.mdui-typo h4:last-child, +.mdui-typo h5:last-child, +.mdui-typo h6:last-child { + margin-bottom: 0; +} +.mdui-typo h1 small, +.mdui-typo h2 small, +.mdui-typo h3 small, +.mdui-typo h4 small, +.mdui-typo h5 small, +.mdui-typo h6 small { + color: rgba(0, 0, 0, 0.54); + font-weight: 400; + font-size: 65%; + line-height: 1; +} +.mdui-typo h1 { + font-size: 2em; +} +.mdui-typo h2 { + font-size: 1.8em; +} +.mdui-typo h3 { + font-size: 1.6em; +} +.mdui-typo h4 { + font-size: 1.4em; +} +.mdui-typo h5 { + font-size: 1.2em; +} +.mdui-typo h6 { + font-size: 1.1em; +} +.mdui-typo code { + padding: 2px 6px; + color: #c7254e; + background-color: #f7f7f9; + border-radius: 2px; +} +.mdui-typo pre code { + padding: 0; + color: inherit; + font-size: inherit; + line-height: 1.7; + background-color: transparent; + border-radius: 0; +} +.mdui-typo abbr[title] { + text-decoration: none; + border-bottom: 1px dotted; + cursor: help; +} +.mdui-typo ins { + text-decoration: none; + border-bottom: 1px solid ; +} +.mdui-typo u { + text-decoration: none; + border-bottom: 1px solid; +} +.mdui-typo del { + text-decoration: line-through; +} +.mdui-typo hr { + height: 10px; + margin-bottom: 0.8em; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} +.mdui-typo pre { + padding: 12px 16px; + overflow-x: auto; + border: 1px solid rgba(0, 0, 0, 0.12); + border-radius: 2px; + -webkit-overflow-scrolling: touch; +} +.mdui-typo kbd { + padding: 2px 6px; + color: #fff; + font-size: 90%; + background-color: #333; + border-radius: 2px; +} +.mdui-typo ul { + padding-left: 2em; + list-style: disc; +} +.mdui-typo ol { + padding-left: 2em; + list-style: decimal; +} +.mdui-typo li ul, +.mdui-typo li ol { + margin: 0.8em 0; +} +.mdui-typo li ul { + list-style: circle; +} +.mdui-typo img, +.mdui-typo video { + max-width: 100%; +} +.mdui-typo figure { + text-align: center; +} +.mdui-typo figure figcaption { + margin-top: 8px; + color: #999; + font-size: 14px; +} +.mdui-typo figure figcaption:empty::before { + z-index: -1; + color: #bfbfbf; + cursor: text; + content: attr(placeholder); +} +/** + * ============================================================================= + * ************ Typo 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-typo a { + color: #FFD740; +} +.mdui-theme-accent-amber .mdui-typo a::before { + background-color: #FFD740; +} +.mdui-theme-accent-blue .mdui-typo a { + color: #448AFF; +} +.mdui-theme-accent-blue .mdui-typo a::before { + background-color: #448AFF; +} +.mdui-theme-accent-cyan .mdui-typo a { + color: #18FFFF; +} +.mdui-theme-accent-cyan .mdui-typo a::before { + background-color: #18FFFF; +} +.mdui-theme-accent-deep-orange .mdui-typo a { + color: #FF6E40; +} +.mdui-theme-accent-deep-orange .mdui-typo a::before { + background-color: #FF6E40; +} +.mdui-theme-accent-deep-purple .mdui-typo a { + color: #7C4DFF; +} +.mdui-theme-accent-deep-purple .mdui-typo a::before { + background-color: #7C4DFF; +} +.mdui-theme-accent-green .mdui-typo a { + color: #69F0AE; +} +.mdui-theme-accent-green .mdui-typo a::before { + background-color: #69F0AE; +} +.mdui-theme-accent-indigo .mdui-typo a { + color: #536DFE; +} +.mdui-theme-accent-indigo .mdui-typo a::before { + background-color: #536DFE; +} +.mdui-theme-accent-light-blue .mdui-typo a { + color: #40C4FF; +} +.mdui-theme-accent-light-blue .mdui-typo a::before { + background-color: #40C4FF; +} +.mdui-theme-accent-light-green .mdui-typo a { + color: #B2FF59; +} +.mdui-theme-accent-light-green .mdui-typo a::before { + background-color: #B2FF59; +} +.mdui-theme-accent-lime .mdui-typo a { + color: #EEFF41; +} +.mdui-theme-accent-lime .mdui-typo a::before { + background-color: #EEFF41; +} +.mdui-theme-accent-orange .mdui-typo a { + color: #FFAB40; +} +.mdui-theme-accent-orange .mdui-typo a::before { + background-color: #FFAB40; +} +.mdui-theme-accent-pink .mdui-typo a { + color: #FF4081; +} +.mdui-theme-accent-pink .mdui-typo a::before { + background-color: #FF4081; +} +.mdui-theme-accent-purple .mdui-typo a { + color: #E040FB; +} +.mdui-theme-accent-purple .mdui-typo a::before { + background-color: #E040FB; +} +.mdui-theme-accent-red .mdui-typo a { + color: #FF5252; +} +.mdui-theme-accent-red .mdui-typo a::before { + background-color: #FF5252; +} +.mdui-theme-accent-teal .mdui-typo a { + color: #64FFDA; +} +.mdui-theme-accent-teal .mdui-typo a::before { + background-color: #64FFDA; +} +.mdui-theme-accent-yellow .mdui-typo a { + color: #FFFF00; +} +.mdui-theme-accent-yellow .mdui-typo a::before { + background-color: #FFFF00; +} +/** + * ============================================================================= + * ************ Typo dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-typo blockquote { + border-left-color: rgba(255, 255, 255, 0.12); +} +.mdui-theme-layout-dark .mdui-typo blockquote footer { + color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-typo figcaption { + color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-typo mark { + background: #aaa; + border-bottom-color: #bbb; +} +.mdui-theme-layout-dark .mdui-typo h1 small, +.mdui-theme-layout-dark .mdui-typo h2 small, +.mdui-theme-layout-dark .mdui-typo h3 small, +.mdui-theme-layout-dark .mdui-typo h4 small, +.mdui-theme-layout-dark .mdui-typo h5 small, +.mdui-theme-layout-dark .mdui-typo h6 small { + color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-typo code { + color: #FFCDD2; + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-typo pre { + background: #424242; + border-color: rgba(255, 255, 255, 0.12); +} +.mdui-theme-layout-dark .mdui-typo kbd { + background: #424242; +} +.mdui-theme-layout-dark .mdui-typo hr { + border-color: rgba(255, 255, 255, 0.12); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-typo blockquote { + border-left-color: rgba(255, 255, 255, 0.12); + } + .mdui-theme-layout-auto .mdui-typo blockquote footer { + color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-typo figcaption { + color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-typo mark { + background: #aaa; + border-bottom-color: #bbb; + } + .mdui-theme-layout-auto .mdui-typo h1 small, + .mdui-theme-layout-auto .mdui-typo h2 small, + .mdui-theme-layout-auto .mdui-typo h3 small, + .mdui-theme-layout-auto .mdui-typo h4 small, + .mdui-theme-layout-auto .mdui-typo h5 small, + .mdui-theme-layout-auto .mdui-typo h6 small { + color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-typo code { + color: #FFCDD2; + background-color: #424242; + } + .mdui-theme-layout-auto .mdui-typo pre { + background: #424242; + border-color: rgba(255, 255, 255, 0.12); + } + .mdui-theme-layout-auto .mdui-typo kbd { + background: #424242; + } + .mdui-theme-layout-auto .mdui-typo hr { + border-color: rgba(255, 255, 255, 0.12); + } +} +/** + * ============================================================================= + * ************ Grid 网格系统 ************ + * ============================================================================= + */ +.mdui-container, +.mdui-container-fluid { + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin-right: auto; + margin-left: auto; + padding-right: 8px; + padding-left: 8px; +} +.mdui-container::after, +.mdui-container-fluid::after { + display: table; + clear: both; + content: ''; +} +.mdui-container { + width: 96%; + max-width: 1280px; +} +@media (min-width: 600px) { + .mdui-container { + width: 94%; + } +} +@media (min-width: 1024px) { + .mdui-container { + width: 92%; + } +} +.mdui-row, +[class*="mdui-row-"] { + margin-right: -8px; + margin-left: -8px; +} +.mdui-row::after, +[class*="mdui-row-"]::after { + display: table; + clear: both; + content: ''; +} +[class*="mdui-col-xs-"], +[class*="mdui-col-sm-"], +[class*="mdui-col-md-"], +[class*="mdui-col-lg-"], +[class*="mdui-col-xl-"], +.mdui-col { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + min-height: 1px; + padding-right: 8px; + padding-left: 8px; +} +/* 取消列间距 */ +.mdui-row-gapless .mdui-col, +.mdui-row-gapless [class*="mdui-col-xs-"], +.mdui-row-gapless [class*="mdui-col-sm-"], +.mdui-row-gapless [class*="mdui-col-md-"], +.mdui-row-gapless [class*="mdui-col-lg-"], +.mdui-row-gapless [class*="mdui-col-xl-"] { + padding-right: 0; + padding-left: 0; +} +.mdui-row-gapless .mdui-row, +.mdui-row-gapless [class*="mdui-row-"] { + margin-right: 0; + margin-left: 0; +} +.mdui-col-xs-1 { + float: left; + width: 8.333333%; +} +.mdui-col-offset-xs-1 { + margin-left: 8.333333%; +} +.mdui-row-xs-1 .mdui-col { + float: left; + width: 100%; +} +.mdui-col-xs-2 { + float: left; + width: 16.666667%; +} +.mdui-col-offset-xs-2 { + margin-left: 16.666667%; +} +.mdui-row-xs-2 .mdui-col { + float: left; + width: 50%; +} +.mdui-col-xs-3 { + float: left; + width: 25%; +} +.mdui-col-offset-xs-3 { + margin-left: 25%; +} +.mdui-row-xs-3 .mdui-col { + float: left; + width: 33.333333%; +} +.mdui-col-xs-4 { + float: left; + width: 33.333333%; +} +.mdui-col-offset-xs-4 { + margin-left: 33.333333%; +} +.mdui-row-xs-4 .mdui-col { + float: left; + width: 25%; +} +.mdui-col-xs-5 { + float: left; + width: 41.666667%; +} +.mdui-col-offset-xs-5 { + margin-left: 41.666667%; +} +.mdui-row-xs-5 .mdui-col { + float: left; + width: 20%; +} +.mdui-col-xs-6 { + float: left; + width: 50%; +} +.mdui-col-offset-xs-6 { + margin-left: 50%; +} +.mdui-row-xs-6 .mdui-col { + float: left; + width: 16.666667%; +} +.mdui-col-xs-7 { + float: left; + width: 58.333333%; +} +.mdui-col-offset-xs-7 { + margin-left: 58.333333%; +} +.mdui-row-xs-7 .mdui-col { + float: left; + width: 14.285714%; +} +.mdui-col-xs-8 { + float: left; + width: 66.666667%; +} +.mdui-col-offset-xs-8 { + margin-left: 66.666667%; +} +.mdui-row-xs-8 .mdui-col { + float: left; + width: 12.5%; +} +.mdui-col-xs-9 { + float: left; + width: 75%; +} +.mdui-col-offset-xs-9 { + margin-left: 75%; +} +.mdui-row-xs-9 .mdui-col { + float: left; + width: 11.111111%; +} +.mdui-col-xs-10 { + float: left; + width: 83.333333%; +} +.mdui-col-offset-xs-10 { + margin-left: 83.333333%; +} +.mdui-row-xs-10 .mdui-col { + float: left; + width: 10%; +} +.mdui-col-xs-11 { + float: left; + width: 91.666667%; +} +.mdui-col-offset-xs-11 { + margin-left: 91.666667%; +} +.mdui-row-xs-11 .mdui-col { + float: left; + width: 9.090909%; +} +.mdui-col-xs-12 { + float: left; + width: 100%; +} +.mdui-col-offset-xs-12 { + margin-left: 100%; +} +.mdui-row-xs-12 .mdui-col { + float: left; + width: 8.333333%; +} +@media (min-width: 600px) { + .mdui-col-sm-1 { + float: left; + width: 8.333333%; + } + .mdui-col-offset-sm-1 { + margin-left: 8.333333%; + } + .mdui-row-sm-1 .mdui-col { + float: left; + width: 100%; + } + .mdui-col-sm-2 { + float: left; + width: 16.666667%; + } + .mdui-col-offset-sm-2 { + margin-left: 16.666667%; + } + .mdui-row-sm-2 .mdui-col { + float: left; + width: 50%; + } + .mdui-col-sm-3 { + float: left; + width: 25%; + } + .mdui-col-offset-sm-3 { + margin-left: 25%; + } + .mdui-row-sm-3 .mdui-col { + float: left; + width: 33.333333%; + } + .mdui-col-sm-4 { + float: left; + width: 33.333333%; + } + .mdui-col-offset-sm-4 { + margin-left: 33.333333%; + } + .mdui-row-sm-4 .mdui-col { + float: left; + width: 25%; + } + .mdui-col-sm-5 { + float: left; + width: 41.666667%; + } + .mdui-col-offset-sm-5 { + margin-left: 41.666667%; + } + .mdui-row-sm-5 .mdui-col { + float: left; + width: 20%; + } + .mdui-col-sm-6 { + float: left; + width: 50%; + } + .mdui-col-offset-sm-6 { + margin-left: 50%; + } + .mdui-row-sm-6 .mdui-col { + float: left; + width: 16.666667%; + } + .mdui-col-sm-7 { + float: left; + width: 58.333333%; + } + .mdui-col-offset-sm-7 { + margin-left: 58.333333%; + } + .mdui-row-sm-7 .mdui-col { + float: left; + width: 14.285714%; + } + .mdui-col-sm-8 { + float: left; + width: 66.666667%; + } + .mdui-col-offset-sm-8 { + margin-left: 66.666667%; + } + .mdui-row-sm-8 .mdui-col { + float: left; + width: 12.5%; + } + .mdui-col-sm-9 { + float: left; + width: 75%; + } + .mdui-col-offset-sm-9 { + margin-left: 75%; + } + .mdui-row-sm-9 .mdui-col { + float: left; + width: 11.111111%; + } + .mdui-col-sm-10 { + float: left; + width: 83.333333%; + } + .mdui-col-offset-sm-10 { + margin-left: 83.333333%; + } + .mdui-row-sm-10 .mdui-col { + float: left; + width: 10%; + } + .mdui-col-sm-11 { + float: left; + width: 91.666667%; + } + .mdui-col-offset-sm-11 { + margin-left: 91.666667%; + } + .mdui-row-sm-11 .mdui-col { + float: left; + width: 9.090909%; + } + .mdui-col-sm-12 { + float: left; + width: 100%; + } + .mdui-col-offset-sm-12 { + margin-left: 100%; + } + .mdui-row-sm-12 .mdui-col { + float: left; + width: 8.333333%; + } +} +@media (min-width: 1024px) { + .mdui-col-md-1 { + float: left; + width: 8.333333%; + } + .mdui-col-offset-md-1 { + margin-left: 8.333333%; + } + .mdui-row-md-1 .mdui-col { + float: left; + width: 100%; + } + .mdui-col-md-2 { + float: left; + width: 16.666667%; + } + .mdui-col-offset-md-2 { + margin-left: 16.666667%; + } + .mdui-row-md-2 .mdui-col { + float: left; + width: 50%; + } + .mdui-col-md-3 { + float: left; + width: 25%; + } + .mdui-col-offset-md-3 { + margin-left: 25%; + } + .mdui-row-md-3 .mdui-col { + float: left; + width: 33.333333%; + } + .mdui-col-md-4 { + float: left; + width: 33.333333%; + } + .mdui-col-offset-md-4 { + margin-left: 33.333333%; + } + .mdui-row-md-4 .mdui-col { + float: left; + width: 25%; + } + .mdui-col-md-5 { + float: left; + width: 41.666667%; + } + .mdui-col-offset-md-5 { + margin-left: 41.666667%; + } + .mdui-row-md-5 .mdui-col { + float: left; + width: 20%; + } + .mdui-col-md-6 { + float: left; + width: 50%; + } + .mdui-col-offset-md-6 { + margin-left: 50%; + } + .mdui-row-md-6 .mdui-col { + float: left; + width: 16.666667%; + } + .mdui-col-md-7 { + float: left; + width: 58.333333%; + } + .mdui-col-offset-md-7 { + margin-left: 58.333333%; + } + .mdui-row-md-7 .mdui-col { + float: left; + width: 14.285714%; + } + .mdui-col-md-8 { + float: left; + width: 66.666667%; + } + .mdui-col-offset-md-8 { + margin-left: 66.666667%; + } + .mdui-row-md-8 .mdui-col { + float: left; + width: 12.5%; + } + .mdui-col-md-9 { + float: left; + width: 75%; + } + .mdui-col-offset-md-9 { + margin-left: 75%; + } + .mdui-row-md-9 .mdui-col { + float: left; + width: 11.111111%; + } + .mdui-col-md-10 { + float: left; + width: 83.333333%; + } + .mdui-col-offset-md-10 { + margin-left: 83.333333%; + } + .mdui-row-md-10 .mdui-col { + float: left; + width: 10%; + } + .mdui-col-md-11 { + float: left; + width: 91.666667%; + } + .mdui-col-offset-md-11 { + margin-left: 91.666667%; + } + .mdui-row-md-11 .mdui-col { + float: left; + width: 9.090909%; + } + .mdui-col-md-12 { + float: left; + width: 100%; + } + .mdui-col-offset-md-12 { + margin-left: 100%; + } + .mdui-row-md-12 .mdui-col { + float: left; + width: 8.333333%; + } +} +@media (min-width: 1440px) { + .mdui-col-lg-1 { + float: left; + width: 8.333333%; + } + .mdui-col-offset-lg-1 { + margin-left: 8.333333%; + } + .mdui-row-lg-1 .mdui-col { + float: left; + width: 100%; + } + .mdui-col-lg-2 { + float: left; + width: 16.666667%; + } + .mdui-col-offset-lg-2 { + margin-left: 16.666667%; + } + .mdui-row-lg-2 .mdui-col { + float: left; + width: 50%; + } + .mdui-col-lg-3 { + float: left; + width: 25%; + } + .mdui-col-offset-lg-3 { + margin-left: 25%; + } + .mdui-row-lg-3 .mdui-col { + float: left; + width: 33.333333%; + } + .mdui-col-lg-4 { + float: left; + width: 33.333333%; + } + .mdui-col-offset-lg-4 { + margin-left: 33.333333%; + } + .mdui-row-lg-4 .mdui-col { + float: left; + width: 25%; + } + .mdui-col-lg-5 { + float: left; + width: 41.666667%; + } + .mdui-col-offset-lg-5 { + margin-left: 41.666667%; + } + .mdui-row-lg-5 .mdui-col { + float: left; + width: 20%; + } + .mdui-col-lg-6 { + float: left; + width: 50%; + } + .mdui-col-offset-lg-6 { + margin-left: 50%; + } + .mdui-row-lg-6 .mdui-col { + float: left; + width: 16.666667%; + } + .mdui-col-lg-7 { + float: left; + width: 58.333333%; + } + .mdui-col-offset-lg-7 { + margin-left: 58.333333%; + } + .mdui-row-lg-7 .mdui-col { + float: left; + width: 14.285714%; + } + .mdui-col-lg-8 { + float: left; + width: 66.666667%; + } + .mdui-col-offset-lg-8 { + margin-left: 66.666667%; + } + .mdui-row-lg-8 .mdui-col { + float: left; + width: 12.5%; + } + .mdui-col-lg-9 { + float: left; + width: 75%; + } + .mdui-col-offset-lg-9 { + margin-left: 75%; + } + .mdui-row-lg-9 .mdui-col { + float: left; + width: 11.111111%; + } + .mdui-col-lg-10 { + float: left; + width: 83.333333%; + } + .mdui-col-offset-lg-10 { + margin-left: 83.333333%; + } + .mdui-row-lg-10 .mdui-col { + float: left; + width: 10%; + } + .mdui-col-lg-11 { + float: left; + width: 91.666667%; + } + .mdui-col-offset-lg-11 { + margin-left: 91.666667%; + } + .mdui-row-lg-11 .mdui-col { + float: left; + width: 9.090909%; + } + .mdui-col-lg-12 { + float: left; + width: 100%; + } + .mdui-col-offset-lg-12 { + margin-left: 100%; + } + .mdui-row-lg-12 .mdui-col { + float: left; + width: 8.333333%; + } +} +@media (min-width: 1920px) { + .mdui-col-xl-1 { + float: left; + width: 8.333333%; + } + .mdui-col-offset-xl-1 { + margin-left: 8.333333%; + } + .mdui-row-xl-1 .mdui-col { + float: left; + width: 100%; + } + .mdui-col-xl-2 { + float: left; + width: 16.666667%; + } + .mdui-col-offset-xl-2 { + margin-left: 16.666667%; + } + .mdui-row-xl-2 .mdui-col { + float: left; + width: 50%; + } + .mdui-col-xl-3 { + float: left; + width: 25%; + } + .mdui-col-offset-xl-3 { + margin-left: 25%; + } + .mdui-row-xl-3 .mdui-col { + float: left; + width: 33.333333%; + } + .mdui-col-xl-4 { + float: left; + width: 33.333333%; + } + .mdui-col-offset-xl-4 { + margin-left: 33.333333%; + } + .mdui-row-xl-4 .mdui-col { + float: left; + width: 25%; + } + .mdui-col-xl-5 { + float: left; + width: 41.666667%; + } + .mdui-col-offset-xl-5 { + margin-left: 41.666667%; + } + .mdui-row-xl-5 .mdui-col { + float: left; + width: 20%; + } + .mdui-col-xl-6 { + float: left; + width: 50%; + } + .mdui-col-offset-xl-6 { + margin-left: 50%; + } + .mdui-row-xl-6 .mdui-col { + float: left; + width: 16.666667%; + } + .mdui-col-xl-7 { + float: left; + width: 58.333333%; + } + .mdui-col-offset-xl-7 { + margin-left: 58.333333%; + } + .mdui-row-xl-7 .mdui-col { + float: left; + width: 14.285714%; + } + .mdui-col-xl-8 { + float: left; + width: 66.666667%; + } + .mdui-col-offset-xl-8 { + margin-left: 66.666667%; + } + .mdui-row-xl-8 .mdui-col { + float: left; + width: 12.5%; + } + .mdui-col-xl-9 { + float: left; + width: 75%; + } + .mdui-col-offset-xl-9 { + margin-left: 75%; + } + .mdui-row-xl-9 .mdui-col { + float: left; + width: 11.111111%; + } + .mdui-col-xl-10 { + float: left; + width: 83.333333%; + } + .mdui-col-offset-xl-10 { + margin-left: 83.333333%; + } + .mdui-row-xl-10 .mdui-col { + float: left; + width: 10%; + } + .mdui-col-xl-11 { + float: left; + width: 91.666667%; + } + .mdui-col-offset-xl-11 { + margin-left: 91.666667%; + } + .mdui-row-xl-11 .mdui-col { + float: left; + width: 9.090909%; + } + .mdui-col-xl-12 { + float: left; + width: 100%; + } + .mdui-col-offset-xl-12 { + margin-left: 100%; + } + .mdui-row-xl-12 .mdui-col { + float: left; + width: 8.333333%; + } +} +/** + * ============================================================================= + * ************ Shadow 阴影 ************ + * ============================================================================= + */ +.mdui-shadow-0 { + -webkit-box-shadow: none !important; + box-shadow: none !important; +} +.mdui-shadow-1 { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-2 { + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-3 { + -webkit-box-shadow: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-4 { + -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-5 { + -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 5px 8px 0 rgba(0, 0, 0, 0.14), 0 1px 14px 0 rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 5px 8px 0 rgba(0, 0, 0, 0.14), 0 1px 14px 0 rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-6 { + -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-7 { + -webkit-box-shadow: 0 4px 5px -2px rgba(0, 0, 0, 0.2), 0 7px 10px 1px rgba(0, 0, 0, 0.14), 0 2px 16px 1px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 4px 5px -2px rgba(0, 0, 0, 0.2), 0 7px 10px 1px rgba(0, 0, 0, 0.14), 0 2px 16px 1px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-8 { + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-9 { + -webkit-box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-10 { + -webkit-box-shadow: 0 6px 6px -3px rgba(0, 0, 0, 0.2), 0 10px 14px 1px rgba(0, 0, 0, 0.14), 0 4px 18px 3px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 6px 6px -3px rgba(0, 0, 0, 0.2), 0 10px 14px 1px rgba(0, 0, 0, 0.14), 0 4px 18px 3px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-11 { + -webkit-box-shadow: 0 6px 7px -4px rgba(0, 0, 0, 0.2), 0 11px 15px 1px rgba(0, 0, 0, 0.14), 0 4px 20px 3px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 6px 7px -4px rgba(0, 0, 0, 0.2), 0 11px 15px 1px rgba(0, 0, 0, 0.14), 0 4px 20px 3px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-12 { + -webkit-box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-13 { + -webkit-box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 13px 19px 2px rgba(0, 0, 0, 0.14), 0 5px 24px 4px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 13px 19px 2px rgba(0, 0, 0, 0.14), 0 5px 24px 4px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-14 { + -webkit-box-shadow: 0 7px 9px -4px rgba(0, 0, 0, 0.2), 0 14px 21px 2px rgba(0, 0, 0, 0.14), 0 5px 26px 4px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 7px 9px -4px rgba(0, 0, 0, 0.2), 0 14px 21px 2px rgba(0, 0, 0, 0.14), 0 5px 26px 4px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-15 { + -webkit-box-shadow: 0 8px 9px -5px rgba(0, 0, 0, 0.2), 0 15px 22px 2px rgba(0, 0, 0, 0.14), 0 6px 28px 5px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 8px 9px -5px rgba(0, 0, 0, 0.2), 0 15px 22px 2px rgba(0, 0, 0, 0.14), 0 6px 28px 5px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-16 { + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-17 { + -webkit-box-shadow: 0 8px 11px -5px rgba(0, 0, 0, 0.2), 0 17px 26px 2px rgba(0, 0, 0, 0.14), 0 6px 32px 5px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 8px 11px -5px rgba(0, 0, 0, 0.2), 0 17px 26px 2px rgba(0, 0, 0, 0.14), 0 6px 32px 5px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-18 { + -webkit-box-shadow: 0 9px 11px -5px rgba(0, 0, 0, 0.2), 0 18px 28px 2px rgba(0, 0, 0, 0.14), 0 7px 34px 6px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 9px 11px -5px rgba(0, 0, 0, 0.2), 0 18px 28px 2px rgba(0, 0, 0, 0.14), 0 7px 34px 6px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-19 { + -webkit-box-shadow: 0 9px 12px -6px rgba(0, 0, 0, 0.2), 0 19px 29px 2px rgba(0, 0, 0, 0.14), 0 7px 36px 6px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 9px 12px -6px rgba(0, 0, 0, 0.2), 0 19px 29px 2px rgba(0, 0, 0, 0.14), 0 7px 36px 6px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-20 { + -webkit-box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 20px 31px 3px rgba(0, 0, 0, 0.14), 0 8px 38px 7px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 20px 31px 3px rgba(0, 0, 0, 0.14), 0 8px 38px 7px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-21 { + -webkit-box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 21px 33px 3px rgba(0, 0, 0, 0.14), 0 8px 40px 7px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 21px 33px 3px rgba(0, 0, 0, 0.14), 0 8px 40px 7px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-22 { + -webkit-box-shadow: 0 10px 14px -6px rgba(0, 0, 0, 0.2), 0 22px 35px 3px rgba(0, 0, 0, 0.14), 0 8px 42px 7px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 10px 14px -6px rgba(0, 0, 0, 0.2), 0 22px 35px 3px rgba(0, 0, 0, 0.14), 0 8px 42px 7px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-23 { + -webkit-box-shadow: 0 11px 14px -7px rgba(0, 0, 0, 0.2), 0 23px 36px 3px rgba(0, 0, 0, 0.14), 0 9px 44px 8px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 11px 14px -7px rgba(0, 0, 0, 0.2), 0 23px 36px 3px rgba(0, 0, 0, 0.14), 0 9px 44px 8px rgba(0, 0, 0, 0.12) !important; +} +.mdui-shadow-24 { + -webkit-box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12) !important; +} +/* 鼠标悬浮时加深阴影 */ +.mdui-hoverable { + -webkit-transition: -webkit-box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: -webkit-box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1); + will-change: box-shadow; +} +.mdui-hoverable:hover, +.mdui-hoverable:focus { + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); +} +/** + * ============================================================================= + * ************ Headroom ************ + * ============================================================================= + */ +.mdui-headroom { + -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important; +} +/* 固定在顶部时 */ +.mdui-headroom-pinned-top { + -webkit-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; +} +/* 在顶部隐藏时 */ +.mdui-headroom-unpinned-top { + -webkit-transform: translate3d(0, -100%, 0) !important; + transform: translate3d(0, -100%, 0) !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} +/* 固定在底部时 */ +.mdui-headroom-pinned-down { + -webkit-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; +} +/* 在底部隐藏时 */ +.mdui-headroom-unpinned-down { + -webkit-transform: translate3d(0, 100%, 0) !important; + transform: translate3d(0, 100%, 0) !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} +/* 固定应用栏中的工具栏 */ +.mdui-headroom-pinned-toolbar { + -webkit-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; +} +/* 隐藏应用栏中的工具栏 */ +.mdui-headroom-unpinned-toolbar { + -webkit-transform: translate3d(0, -56px, 0) !important; + transform: translate3d(0, -56px, 0) !important; +} +@media (min-width: 600px) { + .mdui-headroom-unpinned-toolbar { + -webkit-transform: translate3d(0, -64px, 0) !important; + transform: translate3d(0, -64px, 0) !important; + } +} +@media (orientation: landscape) and (max-width: 959.9px) { + .mdui-headroom-unpinned-toolbar { + -webkit-transform: translate3d(0, -48px, 0) !important; + transform: translate3d(0, -48px, 0) !important; + } +} +/** + * ============================================================================= + * ************ Collapse 折叠插件 ************ + * ============================================================================= + */ +.mdui-collapse-item-header .mdui-collapse-item-arrow, +.mdui-collapse-item-header.mdui-collapse-item-arrow { + -webkit-transform: rotate(0); + transform: rotate(0); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + will-change: transform; +} +.mdui-collapse-item-body { + height: 0; + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; + overflow: hidden; + -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + will-change: height; +} +.mdui-collapse-item-body .mdui-list-item { + padding-left: 72px; +} +.mdui-collapse-item-open > .mdui-collapse-item-header .mdui-collapse-item-arrow, +.mdui-collapse-item-open > .mdui-collapse-item-header.mdui-collapse-item-arrow { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} +.mdui-collapse-item-open > .mdui-collapse-item-body { + height: auto; +} +/** + * ============================================================================= + * ************ Expansion panel 可扩展面板 ************ + * ============================================================================= + */ +/* 可扩展面板 */ +.mdui-panel { + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; +} +/* 面板项 */ +.mdui-panel-item { + color: rgba(0, 0, 0, 0.87); + background-color: #fff; + -webkit-transition: margin 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: margin 0.3s cubic-bezier(0.4, 0, 0.2, 1); + will-change: margin; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} +.mdui-panel-item:last-child { + border-bottom: none; +} +/* 面板头部 */ +.mdui-panel-item-header { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + height: 48px; + padding: 0 24px; + font-size: 15px; + cursor: pointer; + -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + will-change: height, background-color; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-panel-item-header:active { + background-color: #EEEEEE; +} +/* 面板项标题 */ +.mdui-panel-item-title { + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 36%; + min-width: 36%; + padding-right: 16px; + font-weight: 500; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +/* 面板项内容 */ +.mdui-panel-item-summary { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-right: 16px; + color: rgba(0, 0, 0, 0.54); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +/* 展开收起的图标 */ +.mdui-panel-item-arrow { + position: absolute; + top: 12px; + right: 24px; + color: rgba(0, 0, 0, 0.54); + -webkit-transform: rotate(0); + transform: rotate(0); + -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + will-change: transform, top; +} +.mdui-panel-item-summary + .mdui-panel-item-arrow { + position: relative; + top: 0 !important; + right: 0; +} +/* 面板项内容 */ +.mdui-panel-item-body { + height: 0; + padding: 0 24px; + overflow: hidden; + -webkit-transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1); + will-change: height; +} +.mdui-panel-item-body::before, +.mdui-panel-item-body::after { + display: table; + content: ' '; +} +.mdui-panel-item-body::after { + clear: both; +} +.mdui-panel-item-body::before, +.mdui-panel-item-body::after { + display: table; + content: ' '; +} +.mdui-panel-item-body::after { + clear: both; +} +.mdui-panel-item-body::after { + height: 16px; +} +/* 面板项操作栏 */ +.mdui-panel-item-actions { + display: block; + width: 100%; + margin: 16px -24px 0 -24px; + padding: 16px 24px 0 24px; + text-align: right; + border-top: 1px solid rgba(0, 0, 0, 0.12); +} +.mdui-panel-item-actions .mdui-btn { + margin-left: 8px; +} +.mdui-panel-item-actions .mdui-btn:first-child { + margin-left: 0; +} +/* 打开状态的面板项 */ +.mdui-panel-item-open { + height: auto; + margin-top: 16px; + margin-bottom: 16px; +} +.mdui-panel-item-open > .mdui-panel-item-header { + height: 64px; +} +.mdui-panel-item-open > .mdui-panel-item-header .mdui-panel-item-arrow { + top: 20px; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} +.mdui-panel-item-open > .mdui-panel-item-body { + height: auto; +} +/* 使打开项上下没有边距 */ +.mdui-panel-gapless { + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} +.mdui-panel-gapless .mdui-panel-item { + -webkit-box-shadow: none; + box-shadow: none; +} +.mdui-panel-gapless .mdui-panel-item-open { + margin-top: 0; + margin-bottom: 0; +} +/* 弹出面板 */ +.mdui-panel-popout .mdui-panel-item-open { + margin-right: -16px; + margin-left: -16px; +} +/** + * ============================================================================= + * ************ Expansion panel dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark { + /* stylelint-disable-next-line */ +} +.mdui-theme-layout-dark .mdui-panel-item { + color: #fff; + background-color: #303030; + border-bottom: 1px solid rgba(255, 255, 255, 0.12); +} +.mdui-theme-layout-dark .mdui-panel-item:last-child { + border-bottom: none; +} +.mdui-theme-layout-dark .mdui-panel-item-header:active { + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-panel-item-summary { + color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-panel-item-arrow { + color: #ffffff; +} +.mdui-theme-layout-dark .mdui-panel-item-actions { + border-top: 1px solid rgba(255, 255, 255, 0.12); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto { + /* stylelint-disable-next-line */ + } + .mdui-theme-layout-auto .mdui-panel-item { + color: #fff; + background-color: #303030; + border-bottom: 1px solid rgba(255, 255, 255, 0.12); + } + .mdui-theme-layout-auto .mdui-panel-item:last-child { + border-bottom: none; + } + .mdui-theme-layout-auto .mdui-panel-item-header:active { + background-color: #424242; + } + .mdui-theme-layout-auto .mdui-panel-item-summary { + color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-panel-item-arrow { + color: #ffffff; + } + .mdui-theme-layout-auto .mdui-panel-item-actions { + border-top: 1px solid rgba(255, 255, 255, 0.12); + } +} +/** + * ============================================================================= + * ************ Table 表格 ************ + * ============================================================================= + */ +.mdui-table { + position: relative; + width: 100%; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.12); + border-bottom: none; + border-collapse: separate; + border-spacing: 0; + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} +.mdui-table tbody tr { + position: relative; + -webkit-transition: background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1); + transition: background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1); +} +.mdui-table th, +.mdui-table td { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 12px 28px; + text-align: left; + vertical-align: middle; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} +.mdui-table th { + color: rgba(0, 0, 0, 0.54); + font-weight: 700; + font-size: 13px; + line-height: 32px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-table td { + color: rgba(0, 0, 0, 0.87); + font-size: 14px; + line-height: 24px; +} +/* 每一行前面的复选框 */ +.mdui-table-cell-checkbox { + padding-top: 0 !important; + padding-bottom: 0 !important; + padding-left: 24px !important; +} +.mdui-table-cell-checkbox .mdui-checkbox { + margin-top: 7px; +} +.mdui-table-cell-checkbox + td, +.mdui-table-cell-checkbox + th { + padding-left: 6px !important; +} +th.mdui-table-cell-checkbox .mdui-checkbox { + margin-top: 11px; +} +.mdui-table th:last-child, +.mdui-table td:last-child { + padding-right: 24px; +} +.mdui-table th:first-child, +.mdui-table td:first-child { + padding-right: 0; + padding-left: 24px; +} +.mdui-table th:nth-child(2), +.mdui-table td:nth-child(2) { + padding-left: 24px; +} +/* 鼠标悬浮时行背景加深 */ +.mdui-table-hoverable tbody tr:hover { + background-color: #EEEEEE; +} +/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */ +.mdui-table-fluid { + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + border: 1px solid rgba(0, 0, 0, 0.12); + border-bottom: none; + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} +.mdui-table-fluid .mdui-table { + -webkit-box-shadow: none; + box-shadow: none; + margin: 0; + border: none; +} +/* 数字列,右对齐 */ +.mdui-table-col-numeric { + text-align: right !important; +} +/* 行处于选中状态 */ +.mdui-table-row-selected { + background-color: #F5F5F5; +} +/** + * ============================================================================= + * ************ Table dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-table { + background-color: #303030; + border: 1px solid rgba(255, 255, 255, 0.12); + border-bottom: none; +} +.mdui-theme-layout-dark .mdui-table th, +.mdui-theme-layout-dark .mdui-table td { + border-bottom: 1px solid rgba(255, 255, 255, 0.12); +} +.mdui-theme-layout-dark .mdui-table th { + color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-table td { + color: #ffffff; +} +.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover { + background-color: #616161; +} +.mdui-theme-layout-dark .mdui-table-fluid { + border: 1px solid rgba(255, 255, 255, 0.12); + border-bottom: none; +} +.mdui-theme-layout-dark .mdui-table-fluid .mdui-table { + -webkit-box-shadow: none; + box-shadow: none; + border: none; +} +.mdui-theme-layout-dark .mdui-table-row-selected { + background-color: #424242; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-table { + background-color: #303030; + border: 1px solid rgba(255, 255, 255, 0.12); + border-bottom: none; + } + .mdui-theme-layout-auto .mdui-table th, + .mdui-theme-layout-auto .mdui-table td { + border-bottom: 1px solid rgba(255, 255, 255, 0.12); + } + .mdui-theme-layout-auto .mdui-table th { + color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-table td { + color: #ffffff; + } + .mdui-theme-layout-auto .mdui-table-hoverable tbody tr:hover { + background-color: #616161; + } + .mdui-theme-layout-auto .mdui-table-fluid { + border: 1px solid rgba(255, 255, 255, 0.12); + border-bottom: none; + } + .mdui-theme-layout-auto .mdui-table-fluid .mdui-table { + -webkit-box-shadow: none; + box-shadow: none; + border: none; + } + .mdui-theme-layout-auto .mdui-table-row-selected { + background-color: #424242; + } +} +/** + * ============================================================================= + * ************ Divider 分割线 ************ + * ============================================================================= + */ +.mdui-divider, +.mdui-divider-light, +.mdui-divider-dark, +.mdui-divider-inset, +.mdui-divider-inset-light, +.mdui-divider-inset-dark { + height: 1px; + margin: -1px 0 0 0; + border: none; +} +.mdui-divider-inset, +.mdui-divider-inset-light, +.mdui-divider-inset-dark { + margin-left: 72px; +} +.mdui-divider, +.mdui-divider-inset { + background-color: rgba(0, 0, 0, 0.12); +} +.mdui-divider-light, +.mdui-divider-inset-light { + background-color: rgba(255, 255, 255, 0.12); +} +.mdui-divider-dark, +.mdui-divider-inset-dark { + background-color: rgba(0, 0, 0, 0.12); +} +/** + * ============================================================================= + * ************ Divider dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-divider, +.mdui-theme-layout-dark .mdui-divider-inset { + background-color: rgba(255, 255, 255, 0.12); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-divider, + .mdui-theme-layout-auto .mdui-divider-inset { + background-color: rgba(255, 255, 255, 0.12); + } +} +/** + * ============================================================================= + * ************ 涟漪动画 ************ + * ============================================================================= + */ +.mdui-ripple { + position: relative; + overflow: hidden; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* Ripple */ +.mdui-ripple-wave { + position: absolute !important; + top: 0; + left: 0; + z-index: 1; + margin: 0; + padding: 0; + font-size: 0; + background-color: rgba(0, 0, 0, 0.1); + border-radius: 50%; + -webkit-transform: translate3d(0, 0, 0) scale(0); + transform: translate3d(0, 0, 0) scale(0); + -webkit-transition-duration: 1400ms; + transition-duration: 1400ms; + pointer-events: none; +} +/* 有背景色的默认使用白色涟漪 */ +.mdui-ripple[class*="mdui-color-"] .mdui-ripple-wave { + background-color: rgba(255, 255, 255, 0.3); +} +/* 白色涟漪 */ +.mdui-ripple-white .mdui-ripple-wave { + background-color: rgba(255, 255, 255, 0.3) !important; +} +/* 黑色涟漪 */ +.mdui-ripple-black .mdui-ripple-wave { + background-color: rgba(0, 0, 0, 0.1) !important; +} +.mdui-ripple-wave-fill { + opacity: 0.35; + -webkit-transition-duration: 300ms; + transition-duration: 300ms; +} +.mdui-ripple-wave-out { + opacity: 0; + -webkit-transition-duration: 600ms; + transition-duration: 600ms; +} +/** + * ============================================================================= + * ************ Ripple 颜色 ************ + * ============================================================================= + */ +.mdui-ripple-amber .mdui-ripple-wave { + background-color: rgba(255, 193, 7, 0.3) !important; +} +.mdui-ripple-blue .mdui-ripple-wave { + background-color: rgba(33, 150, 243, 0.3) !important; +} +.mdui-ripple-blue-grey .mdui-ripple-wave { + background-color: rgba(96, 125, 139, 0.3) !important; +} +.mdui-ripple-brown .mdui-ripple-wave { + background-color: rgba(121, 85, 72, 0.3) !important; +} +.mdui-ripple-cyan .mdui-ripple-wave { + background-color: rgba(0, 188, 212, 0.3) !important; +} +.mdui-ripple-deep-orange .mdui-ripple-wave { + background-color: rgba(255, 87, 34, 0.3) !important; +} +.mdui-ripple-deep-purple .mdui-ripple-wave { + background-color: rgba(103, 58, 183, 0.3) !important; +} +.mdui-ripple-green .mdui-ripple-wave { + background-color: rgba(76, 175, 80, 0.3) !important; +} +.mdui-ripple-grey .mdui-ripple-wave { + background-color: rgba(158, 158, 158, 0.3) !important; +} +.mdui-ripple-indigo .mdui-ripple-wave { + background-color: rgba(63, 81, 181, 0.3) !important; +} +.mdui-ripple-light-blue .mdui-ripple-wave { + background-color: rgba(3, 169, 244, 0.3) !important; +} +.mdui-ripple-light-green .mdui-ripple-wave { + background-color: rgba(139, 195, 74, 0.3) !important; +} +.mdui-ripple-lime .mdui-ripple-wave { + background-color: rgba(205, 220, 57, 0.3) !important; +} +.mdui-ripple-orange .mdui-ripple-wave { + background-color: rgba(255, 152, 0, 0.3) !important; +} +.mdui-ripple-pink .mdui-ripple-wave { + background-color: rgba(233, 30, 99, 0.3) !important; +} +.mdui-ripple-purple .mdui-ripple-wave { + background-color: rgba(156, 39, 176, 0.3) !important; +} +.mdui-ripple-red .mdui-ripple-wave { + background-color: rgba(244, 67, 54, 0.3) !important; +} +.mdui-ripple-teal .mdui-ripple-wave { + background-color: rgba(0, 150, 136, 0.3) !important; +} +.mdui-ripple-yellow .mdui-ripple-wave { + background-color: rgba(255, 235, 59, 0.3) !important; +} +/** + * ============================================================================= + * ************ Ripple dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-ripple-wave { + background-color: rgba(255, 255, 255, 0.3); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-ripple-wave { + background-color: rgba(255, 255, 255, 0.3); + } +} +/** + * ============================================================================= + * ************ Text Field 文本框 ************ + * ============================================================================= + */ +/* 文本框外层 */ +.mdui-textfield { + position: relative; + padding-top: 16px; + padding-bottom: 8px; + overflow: hidden; +} +.mdui-textfield-has-bottom { + padding-bottom: 28px; +} +/* 输入框 */ +.mdui-textfield-input { + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + height: 36px; + margin: 0; + padding: 8px 0; + overflow: hidden; + color: rgba(0, 0, 0, 0.87); + font-size: 16px; + font-family: inherit; + line-height: 20px; + background: none; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.42); + border-radius: 0; + outline: none; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-property: border-bottom-color, padding-right, -webkit-box-shadow; + transition-property: border-bottom-color, padding-right, -webkit-box-shadow; + transition-property: border-bottom-color, padding-right, box-shadow; + transition-property: border-bottom-color, padding-right, box-shadow, -webkit-box-shadow; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + resize: none; +} +.mdui-textfield-input::-webkit-input-placeholder { + color: inherit; + opacity: 0.42; +} +.mdui-textfield-input:not([disabled]):hover { + border-bottom: 1px solid rgba(0, 0, 0, 0.87); + -webkit-box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.87); + box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.87); + cursor: pointer; +} +.mdui-textfield-input[rows] { + height: auto !important; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +/* 文本框 label */ +.mdui-textfield-label { + display: block; + width: 100%; + color: rgba(0, 0, 0, 0.54); + font-size: 16px; + -webkit-transform: scale(0.75) translateY(0); + transform: scale(0.75) translateY(0); + -webkit-transform-origin: left; + transform-origin: left; + -webkit-transition: all 0.2s; + transition: all 0.2s; + pointer-events: none; +} +/* 表单验证错误提示、帮助文本提示 */ +.mdui-textfield-error, +.mdui-textfield-helper { + position: absolute; + bottom: 8px; + height: 12px; + font-size: 12px; + line-height: 12px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-textfield-error { + color: rgba(255, 23, 68, 0.87); + visibility: hidden; +} +.mdui-textfield-helper { + color: rgba(0, 0, 0, 0.54); +} +/* 表单中的图标 + ========== */ +.mdui-textfield .mdui-icon { + position: absolute; + bottom: 8px; + padding: 6px; + color: rgba(0, 0, 0, 0.54); +} +.mdui-textfield .mdui-icon ~ .mdui-textfield-label, +.mdui-textfield .mdui-icon ~ .mdui-textfield-input, +.mdui-textfield .mdui-icon ~ .mdui-textfield-error, +.mdui-textfield .mdui-icon ~ .mdui-textfield-helper, +.mdui-textfield .mdui-icon ~ .mdui-textfield-flex-wrap { + /* stylelint-disable-next-line */ + width: calc(100% - 56px); + margin-left: 56px; +} +.mdui-textfield-has-bottom .mdui-icon { + bottom: 28px; +} +/* 聚焦状态的文本框 + ============= */ +.mdui-textfield-focus .mdui-textfield-input, +.mdui-textfield-focus .mdui-textfield-input:hover { + border-bottom-color: #C51162; + -webkit-box-shadow: 0 1px 0 0 #C51162; + box-shadow: 0 1px 0 0 #C51162; +} +.mdui-textfield-focus .mdui-textfield-label, +.mdui-textfield-focus .mdui-icon { + color: rgba(197, 17, 98, 0.87); +} +/* 含有浮动标签的文本框 + ================ */ +.mdui-textfield-floating-label .mdui-textfield-label { + color: rgba(0, 0, 0, 0.35); + -webkit-transform: scale(1) translateY(27px); + transform: scale(1) translateY(27px); +} +.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label { + color: rgba(0, 0, 0, 0.65); + -webkit-transform: scale(0.75) translateY(0); + transform: scale(0.75) translateY(0); +} +.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label { + color: #E91E63; +} +/* 可展开文本框,默认向右展开 + ========== */ +.mdui-textfield-expandable { + width: 36px; + min-height: 36px; + padding: 1px 0; + -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} +.mdui-textfield-expandable .mdui-icon { + bottom: 0; + padding: 0; +} +.mdui-textfield-expandable .mdui-textfield-input { + /* stylelint-disable-next-line */ + width: calc(100% - 36px); + margin-left: 36px; + padding-right: 0; +} +.mdui-textfield-expandable .mdui-textfield-icon { + position: absolute; + top: 0; + left: 0; +} +.mdui-textfield-expandable .mdui-textfield-close { + position: absolute; + top: 0; + right: 0; + -webkit-transform: scale(0); + transform: scale(0); +} +.mdui-textfield-expandable.mdui-textfield-expanded { + width: 100%; +} +.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input { + padding-right: 36px; +} +.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close { + -webkit-transform: scale(1); + transform: scale(1); +} +/* 表单验证不通过 + =========== */ +.mdui-textfield-invalid .mdui-textfield-input, +.mdui-textfield-invalid-html5 .mdui-textfield-input, +.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input, +.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FF1744 !important; + -webkit-box-shadow: 0 1px 0 0 #FF1744 !important; + box-shadow: 0 1px 0 0 #FF1744 !important; +} +.mdui-textfield-invalid .mdui-textfield-label, +.mdui-textfield-invalid-html5 .mdui-textfield-label { + color: #FF1744 !important; +} +.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label, +.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label { + color: rgba(255, 23, 68, 0.35) !important; +} +.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label, +.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label { + color: #FF1744 !important; +} +.mdui-textfield-invalid .mdui-textfield-error, +.mdui-textfield-invalid-html5 .mdui-textfield-error { + visibility: visible; +} +.mdui-textfield-invalid .mdui-textfield-error + .mdui-textfield-helper, +.mdui-textfield-invalid-html5 .mdui-textfield-error + .mdui-textfield-helper { + visibility: hidden; +} +/* 禁用表单 + ====== */ +.mdui-textfield-disabled .mdui-textfield-label, +.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder { + color: rgba(0, 0, 0, 0.38); +} +.mdui-textfield-disabled .mdui-textfield-input { + color: rgba(0, 0, 0, 0.42); + cursor: default; +} +.mdui-textfield-disabled .mdui-textfield-input { + border-bottom: 1px dashed rgba(0, 0, 0, 0.42); +} +/* 字数统计 + ====== */ +.mdui-textfield-counter { + position: absolute; + right: 8px; + bottom: 8px; + height: 12px; + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + line-height: 12px; +} +/** + * ============================================================================= + * ************ Textfield dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-textfield-input { + color: #fff; + border-bottom-color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5); +} +.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover { + border-bottom-color: #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; + box-shadow: 0 1px 0 0 #ffffff; +} +.mdui-theme-layout-dark .mdui-textfield .mdui-icon { + color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-textfield-label { + color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label { + color: rgba(255, 255, 255, 0.35); +} +.mdui-theme-layout-dark .mdui-textfield-error { + color: #FF1744; +} +.mdui-theme-layout-dark .mdui-textfield-helper { + color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-textfield-counter { + color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input, +.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover { + border-bottom-color: #FF4081; + -webkit-box-shadow: 0 1px 0 0 #FF4081; + box-shadow: 0 1px 0 0 #FF4081; +} +.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label { + color: #FF4081; +} +.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label, +.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5); +} +.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input { + color: rgba(255, 255, 255, 0.5); +} +.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input { + border-bottom-color: rgba(255, 255, 255, 0.7); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-textfield-input { + color: #fff; + border-bottom-color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-textfield-input::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5); + } + .mdui-theme-layout-auto .mdui-textfield-input:not([disabled]):hover { + border-bottom-color: #ffffff; + -webkit-box-shadow: 0 1px 0 0 #ffffff; + box-shadow: 0 1px 0 0 #ffffff; + } + .mdui-theme-layout-auto .mdui-textfield .mdui-icon { + color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-textfield-label { + color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-textfield-floating-label .mdui-textfield-label { + color: rgba(255, 255, 255, 0.35); + } + .mdui-theme-layout-auto .mdui-textfield-error { + color: #FF1744; + } + .mdui-theme-layout-auto .mdui-textfield-helper { + color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-textfield-counter { + color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input, + .mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input:hover { + border-bottom-color: #FF4081; + -webkit-box-shadow: 0 1px 0 0 #FF4081; + box-shadow: 0 1px 0 0 #FF4081; + } + .mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label { + color: #FF4081; + } + .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-label, + .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5); + } + .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input { + color: rgba(255, 255, 255, 0.5); + } + .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input { + border-bottom-color: rgba(255, 255, 255, 0.7); + } +} +/** + * ============================================================================= + * ************ Textfield 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FFAB00; + -webkit-box-shadow: 0 1px 0 0 #FFAB00; + box-shadow: 0 1px 0 0 #FFAB00; +} +.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon { + color: rgba(255, 171, 0, 0.87); +} +.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FFD740; + -webkit-box-shadow: 0 1px 0 0 #FFD740; + box-shadow: 0 1px 0 0 #FFD740; +} +.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #FFD740; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FFD740; + -webkit-box-shadow: 0 1px 0 0 #FFD740; + box-shadow: 0 1px 0 0 #FFD740; + } + .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #FFD740; + } +} +.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #2962FF; + -webkit-box-shadow: 0 1px 0 0 #2962FF; + box-shadow: 0 1px 0 0 #2962FF; +} +.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon { + color: rgba(41, 98, 255, 0.87); +} +.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #448AFF; + -webkit-box-shadow: 0 1px 0 0 #448AFF; + box-shadow: 0 1px 0 0 #448AFF; +} +.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #448AFF; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #448AFF; + -webkit-box-shadow: 0 1px 0 0 #448AFF; + box-shadow: 0 1px 0 0 #448AFF; + } + .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #448AFF; + } +} +.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #00B8D4; + -webkit-box-shadow: 0 1px 0 0 #00B8D4; + box-shadow: 0 1px 0 0 #00B8D4; +} +.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon { + color: rgba(0, 184, 212, 0.87); +} +.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #18FFFF; + -webkit-box-shadow: 0 1px 0 0 #18FFFF; + box-shadow: 0 1px 0 0 #18FFFF; +} +.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #18FFFF; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #18FFFF; + -webkit-box-shadow: 0 1px 0 0 #18FFFF; + box-shadow: 0 1px 0 0 #18FFFF; + } + .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #18FFFF; + } +} +.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #DD2C00; + -webkit-box-shadow: 0 1px 0 0 #DD2C00; + box-shadow: 0 1px 0 0 #DD2C00; +} +.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon { + color: rgba(221, 44, 0, 0.87); +} +.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FF6E40; + -webkit-box-shadow: 0 1px 0 0 #FF6E40; + box-shadow: 0 1px 0 0 #FF6E40; +} +.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #FF6E40; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FF6E40; + -webkit-box-shadow: 0 1px 0 0 #FF6E40; + box-shadow: 0 1px 0 0 #FF6E40; + } + .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #FF6E40; + } +} +.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #6200EA; + -webkit-box-shadow: 0 1px 0 0 #6200EA; + box-shadow: 0 1px 0 0 #6200EA; +} +.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon { + color: rgba(98, 0, 234, 0.87); +} +.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #7C4DFF; + -webkit-box-shadow: 0 1px 0 0 #7C4DFF; + box-shadow: 0 1px 0 0 #7C4DFF; +} +.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #7C4DFF; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #7C4DFF; + -webkit-box-shadow: 0 1px 0 0 #7C4DFF; + box-shadow: 0 1px 0 0 #7C4DFF; + } + .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #7C4DFF; + } +} +.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #00C853; + -webkit-box-shadow: 0 1px 0 0 #00C853; + box-shadow: 0 1px 0 0 #00C853; +} +.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon { + color: rgba(0, 200, 83, 0.87); +} +.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #69F0AE; + -webkit-box-shadow: 0 1px 0 0 #69F0AE; + box-shadow: 0 1px 0 0 #69F0AE; +} +.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #69F0AE; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #69F0AE; + -webkit-box-shadow: 0 1px 0 0 #69F0AE; + box-shadow: 0 1px 0 0 #69F0AE; + } + .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #69F0AE; + } +} +.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #304FFE; + -webkit-box-shadow: 0 1px 0 0 #304FFE; + box-shadow: 0 1px 0 0 #304FFE; +} +.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon { + color: rgba(48, 79, 254, 0.87); +} +.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #536DFE; + -webkit-box-shadow: 0 1px 0 0 #536DFE; + box-shadow: 0 1px 0 0 #536DFE; +} +.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #536DFE; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #536DFE; + -webkit-box-shadow: 0 1px 0 0 #536DFE; + box-shadow: 0 1px 0 0 #536DFE; + } + .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #536DFE; + } +} +.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #0091EA; + -webkit-box-shadow: 0 1px 0 0 #0091EA; + box-shadow: 0 1px 0 0 #0091EA; +} +.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon { + color: rgba(0, 145, 234, 0.87); +} +.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #40C4FF; + -webkit-box-shadow: 0 1px 0 0 #40C4FF; + box-shadow: 0 1px 0 0 #40C4FF; +} +.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #40C4FF; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #40C4FF; + -webkit-box-shadow: 0 1px 0 0 #40C4FF; + box-shadow: 0 1px 0 0 #40C4FF; + } + .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #40C4FF; + } +} +.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #64DD17; + -webkit-box-shadow: 0 1px 0 0 #64DD17; + box-shadow: 0 1px 0 0 #64DD17; +} +.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon { + color: rgba(100, 221, 23, 0.87); +} +.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #B2FF59; + -webkit-box-shadow: 0 1px 0 0 #B2FF59; + box-shadow: 0 1px 0 0 #B2FF59; +} +.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #B2FF59; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #B2FF59; + -webkit-box-shadow: 0 1px 0 0 #B2FF59; + box-shadow: 0 1px 0 0 #B2FF59; + } + .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #B2FF59; + } +} +.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #AEEA00; + -webkit-box-shadow: 0 1px 0 0 #AEEA00; + box-shadow: 0 1px 0 0 #AEEA00; +} +.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon { + color: rgba(174, 234, 0, 0.87); +} +.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #EEFF41; + -webkit-box-shadow: 0 1px 0 0 #EEFF41; + box-shadow: 0 1px 0 0 #EEFF41; +} +.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #EEFF41; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #EEFF41; + -webkit-box-shadow: 0 1px 0 0 #EEFF41; + box-shadow: 0 1px 0 0 #EEFF41; + } + .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #EEFF41; + } +} +.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FF6D00; + -webkit-box-shadow: 0 1px 0 0 #FF6D00; + box-shadow: 0 1px 0 0 #FF6D00; +} +.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon { + color: rgba(255, 109, 0, 0.87); +} +.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FFAB40; + -webkit-box-shadow: 0 1px 0 0 #FFAB40; + box-shadow: 0 1px 0 0 #FFAB40; +} +.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #FFAB40; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FFAB40; + -webkit-box-shadow: 0 1px 0 0 #FFAB40; + box-shadow: 0 1px 0 0 #FFAB40; + } + .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #FFAB40; + } +} +.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #C51162; + -webkit-box-shadow: 0 1px 0 0 #C51162; + box-shadow: 0 1px 0 0 #C51162; +} +.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon { + color: rgba(197, 17, 98, 0.87); +} +.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FF4081; + -webkit-box-shadow: 0 1px 0 0 #FF4081; + box-shadow: 0 1px 0 0 #FF4081; +} +.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #FF4081; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FF4081; + -webkit-box-shadow: 0 1px 0 0 #FF4081; + box-shadow: 0 1px 0 0 #FF4081; + } + .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #FF4081; + } +} +.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #AA00FF; + -webkit-box-shadow: 0 1px 0 0 #AA00FF; + box-shadow: 0 1px 0 0 #AA00FF; +} +.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon { + color: rgba(170, 0, 255, 0.87); +} +.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #E040FB; + -webkit-box-shadow: 0 1px 0 0 #E040FB; + box-shadow: 0 1px 0 0 #E040FB; +} +.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #E040FB; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #E040FB; + -webkit-box-shadow: 0 1px 0 0 #E040FB; + box-shadow: 0 1px 0 0 #E040FB; + } + .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #E040FB; + } +} +.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #D50000; + -webkit-box-shadow: 0 1px 0 0 #D50000; + box-shadow: 0 1px 0 0 #D50000; +} +.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon { + color: rgba(213, 0, 0, 0.87); +} +.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FF5252; + -webkit-box-shadow: 0 1px 0 0 #FF5252; + box-shadow: 0 1px 0 0 #FF5252; +} +.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #FF5252; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FF5252; + -webkit-box-shadow: 0 1px 0 0 #FF5252; + box-shadow: 0 1px 0 0 #FF5252; + } + .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #FF5252; + } +} +.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #00BFA5; + -webkit-box-shadow: 0 1px 0 0 #00BFA5; + box-shadow: 0 1px 0 0 #00BFA5; +} +.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon { + color: rgba(0, 191, 165, 0.87); +} +.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #64FFDA; + -webkit-box-shadow: 0 1px 0 0 #64FFDA; + box-shadow: 0 1px 0 0 #64FFDA; +} +.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #64FFDA; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #64FFDA; + -webkit-box-shadow: 0 1px 0 0 #64FFDA; + box-shadow: 0 1px 0 0 #64FFDA; + } + .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #64FFDA; + } +} +.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FFD600; + -webkit-box-shadow: 0 1px 0 0 #FFD600; + box-shadow: 0 1px 0 0 #FFD600; +} +.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon { + color: rgba(255, 214, 0, 0.87); +} +.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FFFF00; + -webkit-box-shadow: 0 1px 0 0 #FFFF00; + box-shadow: 0 1px 0 0 #FFFF00; +} +.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #FFFF00; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #FFFF00; + -webkit-box-shadow: 0 1px 0 0 #FFFF00; + box-shadow: 0 1px 0 0 #FFFF00; + } + .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, + .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon { + color: #FFFF00; + } +} +/** + * ============================================================================= + * ************ Checkbox 复选框 ************ + * ============================================================================= + */ +.mdui-checkbox { + position: relative; + display: inline-block; + height: 36px; + padding-left: 36px; + line-height: 36px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-checkbox input[type="checkbox"] { + position: absolute; + width: 0; + height: 0; + overflow: hidden; + opacity: 0; +} +/* 透明的圆形,用于生成圆形阴影 */ +.mdui-checkbox-icon { + position: absolute; + top: 9px; + left: 0; + display: inline-block; + width: 18px; + height: 18px; + vertical-align: middle; + background-color: transparent; + border: none; + border-radius: 18px; + -webkit-transition: -webkit-box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); + transition: -webkit-box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); +} +.mdui-checkbox-icon::after { + position: absolute; + top: 0; + left: 0; + z-index: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 18px; + height: 18px; + border: 2px solid rgba(0, 0, 0, 0.54); + border-radius: 2px; + -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + content: ' '; +} +.mdui-checkbox-icon::before { + position: absolute; + top: 2px; + left: 0; + z-index: 1; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 8px; + height: 13px; + border-right: 2px solid #fff; + border-bottom: 2px solid #fff; + -webkit-transform: rotateZ(37deg) scale(0); + transform: rotateZ(37deg) scale(0); + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; + opacity: 0; + -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + content: ' '; +} +/* 各种状态的图标 */ +.mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after { + background-color: #FF4081; + border-color: #FF4081; +} +.mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::before { + -webkit-transform: rotateZ(37deg) scale(1); + transform: rotateZ(37deg) scale(1); + opacity: 1; +} +.mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #FF4081; + border-color: #FF4081; +} +.mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::before { + top: 8px; + left: 3px; + width: 12px; + height: 0; + border-right: none; + border-bottom: 2px solid #fff; + border-radius: 1px; + -webkit-transform: rotateZ(0) scale(1); + transform: rotateZ(0) scale(1); + opacity: 1; +} +.mdui-checkbox input[type="checkbox"]:disabled + .mdui-checkbox-icon::after { + border-color: rgba(0, 0, 0, 0.26); +} +.mdui-checkbox input[type="checkbox"]:disabled:checked + .mdui-checkbox-icon::after, +.mdui-checkbox input[type="checkbox"]:disabled:indeterminate + .mdui-checkbox-icon::after { + background-color: rgba(0, 0, 0, 0.26) !important; + border-color: transparent !important; +} +/* 阴影 */ +.mdui-checkbox:active input[type="checkbox"] + .mdui-checkbox-icon, +.mdui-checkbox input[type="checkbox"]:focus + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1); + box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1); +} +.mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16); + box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16); +} +/** + * ============================================================================= + * ************ Checkbox 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #FFD740; + border-color: #FFD740; +} +.mdui-theme-accent-amber .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-amber .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16); + box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16); +} +.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #448AFF; + border-color: #448AFF; +} +.mdui-theme-accent-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16); + box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16); +} +.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #18FFFF; + border-color: #18FFFF; +} +.mdui-theme-accent-cyan .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-cyan .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16); + box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16); +} +.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #FF6E40; + border-color: #FF6E40; +} +.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16); + box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16); +} +.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #7C4DFF; + border-color: #7C4DFF; +} +.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16); + box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16); +} +.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #69F0AE; + border-color: #69F0AE; +} +.mdui-theme-accent-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16); + box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16); +} +.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #536DFE; + border-color: #536DFE; +} +.mdui-theme-accent-indigo .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-indigo .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16); + box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16); +} +.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #40C4FF; + border-color: #40C4FF; +} +.mdui-theme-accent-light-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-light-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16); + box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16); +} +.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #B2FF59; + border-color: #B2FF59; +} +.mdui-theme-accent-light-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-light-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16); + box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16); +} +.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #EEFF41; + border-color: #EEFF41; +} +.mdui-theme-accent-lime .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-lime .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16); + box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16); +} +.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #FFAB40; + border-color: #FFAB40; +} +.mdui-theme-accent-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16); + box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16); +} +.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #FF4081; + border-color: #FF4081; +} +.mdui-theme-accent-pink .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-pink .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16); + box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16); +} +.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #E040FB; + border-color: #E040FB; +} +.mdui-theme-accent-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16); + box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16); +} +.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #FF5252; + border-color: #FF5252; +} +.mdui-theme-accent-red .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-red .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16); + box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16); +} +.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #64FFDA; + border-color: #64FFDA; +} +.mdui-theme-accent-teal .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-teal .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16); + box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16); +} +.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon::after, +.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon::after { + background-color: #FFFF00; + border-color: #FFFF00; +} +.mdui-theme-accent-yellow .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-yellow .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16); + box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16); +} +/** + * ============================================================================= + * ************ Checkbox dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-checkbox-icon::after { + border-color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-checkbox-icon::before { + border-right-color: #303030 !important; + border-bottom-color: #303030 !important; +} +.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:disabled + .mdui-checkbox-icon::after { + border-color: rgba(255, 255, 255, 0.3); +} +.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:disabled:checked + .mdui-checkbox-icon::after, +.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:disabled:indeterminate + .mdui-checkbox-icon::after { + background-color: rgba(255, 255, 255, 0.3) !important; + border-color: transparent !important; +} +.mdui-theme-layout-dark .mdui-checkbox:active input[type="checkbox"] + .mdui-checkbox-icon, +.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:focus + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1); + box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-checkbox-icon::after { + border-color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-checkbox-icon::before { + border-right-color: #303030 !important; + border-bottom-color: #303030 !important; + } + .mdui-theme-layout-auto .mdui-checkbox input[type="checkbox"]:disabled + .mdui-checkbox-icon::after { + border-color: rgba(255, 255, 255, 0.3); + } + .mdui-theme-layout-auto .mdui-checkbox input[type="checkbox"]:disabled:checked + .mdui-checkbox-icon::after, + .mdui-theme-layout-auto .mdui-checkbox input[type="checkbox"]:disabled:indeterminate + .mdui-checkbox-icon::after { + background-color: rgba(255, 255, 255, 0.3) !important; + border-color: transparent !important; + } + .mdui-theme-layout-auto .mdui-checkbox:active input[type="checkbox"] + .mdui-checkbox-icon, + .mdui-theme-layout-auto .mdui-checkbox input[type="checkbox"]:focus + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1); + box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1); + } +} +/** + * ============================================================================= + * ************ Radio 单选框 ************ + * ============================================================================= + */ +.mdui-radio { + position: relative; + display: inline-block; + height: 36px; + padding-left: 36px; + line-height: 36px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-radio input { + position: absolute; + width: 0; + height: 0; + overflow: hidden; + opacity: 0; +} +/* 图标外圈 */ +.mdui-radio-icon { + position: absolute; + top: 9px; + left: 0; + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 18px; + height: 18px; + vertical-align: middle; + border: 2px solid rgba(0, 0, 0, 0.54); + border-radius: 18px; + -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); +} +.mdui-radio-icon::before { + position: absolute; + top: 0; + left: 0; + width: 14px; + height: 14px; + background-color: #FF4081; + border-radius: 14px; + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; + -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + content: ' '; +} +/* 选中状态的图标 */ +.mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #FF4081; +} +.mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + -webkit-transform: scale(0.68); + transform: scale(0.68); + opacity: 1; +} +/* 禁用状态的图标 */ +.mdui-radio input[type="radio"]:disabled + .mdui-radio-icon { + border-color: rgba(0, 0, 0, 0.26) !important; +} +/* 禁用且选中状态的图标 */ +.mdui-radio input[type="radio"]:disabled:checked + .mdui-radio-icon::before { + background-color: rgba(0, 0, 0, 0.26) !important; +} +/* 未选中、禁用时 按下的阴影 */ +.mdui-radio:active input[type="radio"] + .mdui-radio-icon, +.mdui-radio input[type="radio"]:focus + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1); + box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1); +} +/* 已选中时按下的阴影 */ +.mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16); + box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16); +} +/** + * ============================================================================= + * ************ Radio 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #FFD740; +} +.mdui-theme-accent-amber .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #FFD740; +} +.mdui-theme-accent-amber .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-amber .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16); + box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16); +} +.mdui-theme-accent-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #448AFF; +} +.mdui-theme-accent-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #448AFF; +} +.mdui-theme-accent-blue .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-blue .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16); + box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16); +} +.mdui-theme-accent-cyan .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #18FFFF; +} +.mdui-theme-accent-cyan .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #18FFFF; +} +.mdui-theme-accent-cyan .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-cyan .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16); + box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16); +} +.mdui-theme-accent-deep-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #FF6E40; +} +.mdui-theme-accent-deep-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #FF6E40; +} +.mdui-theme-accent-deep-orange .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-deep-orange .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16); + box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16); +} +.mdui-theme-accent-deep-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #7C4DFF; +} +.mdui-theme-accent-deep-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #7C4DFF; +} +.mdui-theme-accent-deep-purple .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-deep-purple .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16); + box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16); +} +.mdui-theme-accent-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #69F0AE; +} +.mdui-theme-accent-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #69F0AE; +} +.mdui-theme-accent-green .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-green .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16); + box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16); +} +.mdui-theme-accent-indigo .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #536DFE; +} +.mdui-theme-accent-indigo .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #536DFE; +} +.mdui-theme-accent-indigo .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-indigo .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16); + box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16); +} +.mdui-theme-accent-light-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #40C4FF; +} +.mdui-theme-accent-light-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #40C4FF; +} +.mdui-theme-accent-light-blue .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-light-blue .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16); + box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16); +} +.mdui-theme-accent-light-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #B2FF59; +} +.mdui-theme-accent-light-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #B2FF59; +} +.mdui-theme-accent-light-green .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-light-green .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16); + box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16); +} +.mdui-theme-accent-lime .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #EEFF41; +} +.mdui-theme-accent-lime .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #EEFF41; +} +.mdui-theme-accent-lime .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-lime .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16); + box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16); +} +.mdui-theme-accent-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #FFAB40; +} +.mdui-theme-accent-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #FFAB40; +} +.mdui-theme-accent-orange .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-orange .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16); + box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16); +} +.mdui-theme-accent-pink .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #FF4081; +} +.mdui-theme-accent-pink .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #FF4081; +} +.mdui-theme-accent-pink .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-pink .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16); + box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16); +} +.mdui-theme-accent-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #E040FB; +} +.mdui-theme-accent-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #E040FB; +} +.mdui-theme-accent-purple .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-purple .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16); + box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16); +} +.mdui-theme-accent-red .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #FF5252; +} +.mdui-theme-accent-red .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #FF5252; +} +.mdui-theme-accent-red .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-red .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16); + box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16); +} +.mdui-theme-accent-teal .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #64FFDA; +} +.mdui-theme-accent-teal .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #64FFDA; +} +.mdui-theme-accent-teal .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-teal .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16); + box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16); +} +.mdui-theme-accent-yellow .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #FFFF00; +} +.mdui-theme-accent-yellow .mdui-radio input[type="radio"]:checked + .mdui-radio-icon::before { + background-color: #FFFF00; +} +.mdui-theme-accent-yellow .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-yellow .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16); + box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16); +} +/** + * ============================================================================= + * ************ Radio dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-radio-icon { + border-color: rgba(255, 255, 255, 0.7); +} +.mdui-theme-layout-dark .mdui-radio input[type="radio"]:disabled + .mdui-radio-icon { + border-color: rgba(255, 255, 255, 0.3) !important; +} +.mdui-theme-layout-dark .mdui-radio input[type="radio"]:disabled:checked + .mdui-radio-icon::before { + background-color: rgba(255, 255, 255, 0.3) !important; +} +.mdui-theme-layout-dark .mdui-radio:active input[type="radio"] + .mdui-radio-icon, +.mdui-theme-layout-dark .mdui-radio input[type="radio"]:focus + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1); + box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-radio-icon { + border-color: rgba(255, 255, 255, 0.7); + } + .mdui-theme-layout-auto .mdui-radio input[type="radio"]:disabled + .mdui-radio-icon { + border-color: rgba(255, 255, 255, 0.3) !important; + } + .mdui-theme-layout-auto .mdui-radio input[type="radio"]:disabled:checked + .mdui-radio-icon::before { + background-color: rgba(255, 255, 255, 0.3) !important; + } + .mdui-theme-layout-auto .mdui-radio:active input[type="radio"] + .mdui-radio-icon, + .mdui-theme-layout-auto .mdui-radio input[type="radio"]:focus + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1); + box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1); + } +} +/** + * ============================================================================= + * ************ Switch 单选框 ************ + * ============================================================================= + */ +.mdui-switch { + display: inline-block; + height: 36px; + line-height: 36px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-switch input { + position: absolute; + width: 0; + height: 0; + overflow: hidden; + opacity: 0; +} +/* 图标轨道 */ +.mdui-switch-icon { + position: relative; + display: inline-block; + width: 36px; + height: 14px; + vertical-align: middle; + background-color: rgba(0, 0, 0, 0.38); + border-radius: 14px; + -webkit-transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} +.mdui-switch-icon::before { + position: absolute; + top: -3px; + left: -3px; + display: inline-block; + width: 20px; + height: 20px; + background-color: #FAFAFA; + border-radius: 20px; + -webkit-transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); + transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1); + content: ' '; + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); +} +/* 选中状态的图标 */ +.mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 64, 129, 0.5); +} +.mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + left: 20px; + background-color: #FF4081; +} +/* 未选中时或禁用时 按下的阴影 */ +.mdui-switch:active input[type="checkbox"] + .mdui-switch-icon::before, +.mdui-switch input[type="checkbox"]:focus + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(0, 0, 0, 0.1); +} +/* 已选中时按下的阴影 */ +.mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16); +} +/* 禁用状态 */ +.mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon { + background-color: rgba(0, 0, 0, 0.12) !important; +} +.mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon::before { + background-color: #BDBDBD !important; +} +/** + * ============================================================================= + * ************ Switch 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 215, 64, 0.5); +} +.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FFD740; +} +.mdui-theme-accent-amber .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 215, 64, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 215, 64, 0.16); +} +.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(68, 138, 255, 0.5); +} +.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #448AFF; +} +.mdui-theme-accent-blue .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(68, 138, 255, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(68, 138, 255, 0.16); +} +.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(24, 255, 255, 0.5); +} +.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #18FFFF; +} +.mdui-theme-accent-cyan .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(24, 255, 255, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(24, 255, 255, 0.16); +} +.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 110, 64, 0.5); +} +.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FF6E40; +} +.mdui-theme-accent-deep-orange .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 110, 64, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 110, 64, 0.16); +} +.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(124, 77, 255, 0.5); +} +.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #7C4DFF; +} +.mdui-theme-accent-deep-purple .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(124, 77, 255, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(124, 77, 255, 0.16); +} +.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(105, 240, 174, 0.5); +} +.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #69F0AE; +} +.mdui-theme-accent-green .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(105, 240, 174, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(105, 240, 174, 0.16); +} +.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(83, 109, 254, 0.5); +} +.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #536DFE; +} +.mdui-theme-accent-indigo .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(83, 109, 254, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(83, 109, 254, 0.16); +} +.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(64, 196, 255, 0.5); +} +.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #40C4FF; +} +.mdui-theme-accent-light-blue .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(64, 196, 255, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(64, 196, 255, 0.16); +} +.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(178, 255, 89, 0.5); +} +.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #B2FF59; +} +.mdui-theme-accent-light-green .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(178, 255, 89, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(178, 255, 89, 0.16); +} +.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(238, 255, 65, 0.5); +} +.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #EEFF41; +} +.mdui-theme-accent-lime .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(238, 255, 65, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(238, 255, 65, 0.16); +} +.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 171, 64, 0.5); +} +.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FFAB40; +} +.mdui-theme-accent-orange .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 171, 64, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 171, 64, 0.16); +} +.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 64, 129, 0.5); +} +.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FF4081; +} +.mdui-theme-accent-pink .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16); +} +.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(224, 64, 251, 0.5); +} +.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #E040FB; +} +.mdui-theme-accent-purple .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(224, 64, 251, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(224, 64, 251, 0.16); +} +.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 82, 82, 0.5); +} +.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FF5252; +} +.mdui-theme-accent-red .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 82, 82, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 82, 82, 0.16); +} +.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(100, 255, 218, 0.5); +} +.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #64FFDA; +} +.mdui-theme-accent-teal .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(100, 255, 218, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(100, 255, 218, 0.16); +} +.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 255, 0, 0.5); +} +.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FFFF00; +} +.mdui-theme-accent-yellow .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon::before, +.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 0, 0.16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 0, 0.16); +} +/** + * ============================================================================= + * ************ Radio dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-switch-icon { + background-color: rgba(255, 255, 255, 0.3); +} +.mdui-theme-layout-dark .mdui-switch-icon::before { + background-color: #BDBDBD; +} +.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 229, 127, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FFE57F; +} +.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(130, 177, 255, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #82B1FF; +} +.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(132, 255, 255, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #84FFFF; +} +.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 158, 128, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FF9E80; +} +.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(179, 136, 255, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #B388FF; +} +.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(185, 246, 202, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #B9F6CA; +} +.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(140, 158, 255, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #8C9EFF; +} +.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(128, 216, 255, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #80D8FF; +} +.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(204, 255, 144, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #CCFF90; +} +.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(244, 255, 129, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #F4FF81; +} +.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 209, 128, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FFD180; +} +.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 128, 171, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FF80AB; +} +.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(234, 128, 252, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #EA80FC; +} +.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 138, 128, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FF8A80; +} +.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(167, 255, 235, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #A7FFEB; +} +.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 255, 141, 0.5); +} +.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FFFF8D; +} +.mdui-theme-layout-dark .mdui-switch:active input[type="checkbox"] + .mdui-switch-icon::before, +.mdui-theme-layout-dark .mdui-switch input[type="checkbox"]:focus + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1); +} +.mdui-theme-layout-dark .mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon { + background-color: rgba(255, 255, 255, 0.1) !important; +} +.mdui-theme-layout-dark .mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon::before { + background-color: #424242 !important; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-switch-icon { + background-color: rgba(255, 255, 255, 0.3); + } + .mdui-theme-layout-auto .mdui-switch-icon::before { + background-color: #BDBDBD; + } + .mdui-theme-layout-auto.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 229, 127, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FFE57F; + } + .mdui-theme-layout-auto.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(130, 177, 255, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #82B1FF; + } + .mdui-theme-layout-auto.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(132, 255, 255, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #84FFFF; + } + .mdui-theme-layout-auto.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 158, 128, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FF9E80; + } + .mdui-theme-layout-auto.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(179, 136, 255, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #B388FF; + } + .mdui-theme-layout-auto.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(185, 246, 202, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #B9F6CA; + } + .mdui-theme-layout-auto.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(140, 158, 255, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #8C9EFF; + } + .mdui-theme-layout-auto.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(128, 216, 255, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #80D8FF; + } + .mdui-theme-layout-auto.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(204, 255, 144, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #CCFF90; + } + .mdui-theme-layout-auto.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(244, 255, 129, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #F4FF81; + } + .mdui-theme-layout-auto.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 209, 128, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FFD180; + } + .mdui-theme-layout-auto.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 128, 171, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FF80AB; + } + .mdui-theme-layout-auto.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(234, 128, 252, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #EA80FC; + } + .mdui-theme-layout-auto.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 138, 128, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FF8A80; + } + .mdui-theme-layout-auto.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(167, 255, 235, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #A7FFEB; + } + .mdui-theme-layout-auto.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 255, 141, 0.5); + } + .mdui-theme-layout-auto.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon::before { + background-color: #FFFF8D; + } + .mdui-theme-layout-auto .mdui-switch:active input[type="checkbox"] + .mdui-switch-icon::before, + .mdui-theme-layout-auto .mdui-switch input[type="checkbox"]:focus + .mdui-switch-icon::before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1); + } + .mdui-theme-layout-auto .mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon { + background-color: rgba(255, 255, 255, 0.1) !important; + } + .mdui-theme-layout-auto .mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon::before { + background-color: #424242 !important; + } +} +/** + * ============================================================================= + * ************ Slider 滑块 ************ + * ============================================================================= + */ +.mdui-slider { + position: relative; + display: block; + width: 100%; + height: 36px; +} +.mdui-slider input[type="range"] { + position: absolute; + top: 50%; + left: 0; + z-index: 2; + width: 100%; + height: 20px; + margin-top: -10px; + cursor: pointer; + opacity: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.mdui-slider-track, +.mdui-slider-fill { + position: absolute; + top: 50%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 2px; + margin-top: -1px; +} +.mdui-slider-track::before, +.mdui-slider-fill::before { + display: block; + width: 100%; + height: 100%; + content: ' '; +} +/* 轨道 */ +.mdui-slider-track { + right: 0; +} +.mdui-slider-track::before { + background-color: #bdbdbd; + -webkit-transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} +/* 已滑动部分 */ +.mdui-slider-fill { + left: 0; +} +.mdui-slider-fill::before { + background-color: #FF4081; +} +/* 滑块 */ +.mdui-slider-thumb { + position: absolute; + top: 50%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 12px; + height: 12px; + margin-top: -6px; + background-color: #FF4081; + border: 2px solid #FF4081; + border-radius: 50%; + -webkit-transform: translate(-50%); + transform: translate(-50%); + -webkit-transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); + will-change: background, border-color, transform, border-radius; +} +/** + * ============================================================================= + * ************ Slider 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-slider-fill::before { + background-color: #FFD740; +} +.mdui-theme-accent-amber .mdui-slider-thumb { + background-color: #FFD740; + border: 2px solid #FFD740; +} +.mdui-theme-accent-blue .mdui-slider-fill::before { + background-color: #448AFF; +} +.mdui-theme-accent-blue .mdui-slider-thumb { + background-color: #448AFF; + border: 2px solid #448AFF; +} +.mdui-theme-accent-cyan .mdui-slider-fill::before { + background-color: #18FFFF; +} +.mdui-theme-accent-cyan .mdui-slider-thumb { + background-color: #18FFFF; + border: 2px solid #18FFFF; +} +.mdui-theme-accent-deep-orange .mdui-slider-fill::before { + background-color: #FF6E40; +} +.mdui-theme-accent-deep-orange .mdui-slider-thumb { + background-color: #FF6E40; + border: 2px solid #FF6E40; +} +.mdui-theme-accent-deep-purple .mdui-slider-fill::before { + background-color: #7C4DFF; +} +.mdui-theme-accent-deep-purple .mdui-slider-thumb { + background-color: #7C4DFF; + border: 2px solid #7C4DFF; +} +.mdui-theme-accent-green .mdui-slider-fill::before { + background-color: #69F0AE; +} +.mdui-theme-accent-green .mdui-slider-thumb { + background-color: #69F0AE; + border: 2px solid #69F0AE; +} +.mdui-theme-accent-indigo .mdui-slider-fill::before { + background-color: #536DFE; +} +.mdui-theme-accent-indigo .mdui-slider-thumb { + background-color: #536DFE; + border: 2px solid #536DFE; +} +.mdui-theme-accent-light-blue .mdui-slider-fill::before { + background-color: #40C4FF; +} +.mdui-theme-accent-light-blue .mdui-slider-thumb { + background-color: #40C4FF; + border: 2px solid #40C4FF; +} +.mdui-theme-accent-light-green .mdui-slider-fill::before { + background-color: #B2FF59; +} +.mdui-theme-accent-light-green .mdui-slider-thumb { + background-color: #B2FF59; + border: 2px solid #B2FF59; +} +.mdui-theme-accent-lime .mdui-slider-fill::before { + background-color: #EEFF41; +} +.mdui-theme-accent-lime .mdui-slider-thumb { + background-color: #EEFF41; + border: 2px solid #EEFF41; +} +.mdui-theme-accent-orange .mdui-slider-fill::before { + background-color: #FFAB40; +} +.mdui-theme-accent-orange .mdui-slider-thumb { + background-color: #FFAB40; + border: 2px solid #FFAB40; +} +.mdui-theme-accent-pink .mdui-slider-fill::before { + background-color: #FF4081; +} +.mdui-theme-accent-pink .mdui-slider-thumb { + background-color: #FF4081; + border: 2px solid #FF4081; +} +.mdui-theme-accent-purple .mdui-slider-fill::before { + background-color: #E040FB; +} +.mdui-theme-accent-purple .mdui-slider-thumb { + background-color: #E040FB; + border: 2px solid #E040FB; +} +.mdui-theme-accent-red .mdui-slider-fill::before { + background-color: #FF5252; +} +.mdui-theme-accent-red .mdui-slider-thumb { + background-color: #FF5252; + border: 2px solid #FF5252; +} +.mdui-theme-accent-teal .mdui-slider-fill::before { + background-color: #64FFDA; +} +.mdui-theme-accent-teal .mdui-slider-thumb { + background-color: #64FFDA; + border: 2px solid #64FFDA; +} +.mdui-theme-accent-yellow .mdui-slider-fill::before { + background-color: #FFFF00; +} +.mdui-theme-accent-yellow .mdui-slider-thumb { + background-color: #FFFF00; + border: 2px solid #FFFF00; +} +/** + * ============================================================================= + * ============ Slider 的不同状态 ============ + * ============================================================================= + */ +/* 鼠标按下状态 */ +.mdui-slider-focus .mdui-slider-track::before { + background-color: #9e9e9e; +} +.mdui-slider-focus .mdui-slider-thumb { + -webkit-transform: translate(-50%) scale(1.6); + transform: translate(-50%) scale(1.6); +} +/* 滑块值为 0 */ +.mdui-slider-zero .mdui-slider-thumb { + background-color: #fff; + border-color: #bdbdbd; +} +/* 滑块值为 0,且鼠标按下 */ +.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + border-color: #9e9e9e; +} +/* 禁用状态 */ +.mdui-slider-disabled input[type="range"] { + cursor: default; +} +.mdui-slider-disabled .mdui-slider-track::before { + background-color: #bdbdbd; +} +.mdui-slider-disabled .mdui-slider-fill::before { + background-color: #bdbdbd; +} +.mdui-slider-disabled .mdui-slider-thumb { + background-color: #bdbdbd; + border-color: transparent !important; + -webkit-transform: translate(-50%) scale(0.72); + transform: translate(-50%) scale(0.72); +} +/** + * ============================================================================= + * ============ 间续型滑块 ============ + * ============================================================================= + */ +.mdui-slider-discrete .mdui-slider-thumb { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + border: none; + -webkit-transform: rotate(-45deg) scale(0.4); + transform: rotate(-45deg) scale(0.4); +} +.mdui-slider-discrete .mdui-slider-thumb span { + position: absolute; + top: 9px; + left: -1px; + width: 100%; + color: #fff; + font-size: 12px; + text-align: center; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + opacity: 0; + -webkit-transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1); +} +.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb { + border-radius: 15px 15px 15px 0; + -webkit-transform: rotate(-45deg) scale(1) translate(22px, -22px); + transform: rotate(-45deg) scale(1) translate(22px, -22px); +} +.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span { + opacity: 1; +} +.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb { + background-color: #323232; +} +.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + background-color: #bdbdbd; +} +.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb { + -webkit-transform: rotate(-45deg) scale(0.288); + transform: rotate(-45deg) scale(0.288); +} +.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb { + background-color: #bdbdbd; +} +/** + * ============================================================================= + * ************ Slider dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-slider-track::before { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track::before { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb { + background-color: #303030; + border-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + border-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track::before { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill::before { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb { + background-color: #fefefe; +} +.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + background-color: #5c5c5c; +} +.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb { + background-color: #4c4c4c; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-slider-track::before { + background-color: #4c4c4c; + } + .mdui-theme-layout-auto .mdui-slider-focus .mdui-slider-track::before { + background-color: #4c4c4c; + } + .mdui-theme-layout-auto .mdui-slider-zero .mdui-slider-thumb { + background-color: #303030; + border-color: #4c4c4c; + } + .mdui-theme-layout-auto .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + border-color: #4c4c4c; + } + .mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-track::before { + background-color: #4c4c4c; + } + .mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-fill::before { + background-color: #4c4c4c; + } + .mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-thumb { + background-color: #4c4c4c; + } + .mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb { + background-color: #fefefe; + } + .mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + background-color: #5c5c5c; + } + .mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb { + background-color: #4c4c4c; + } +} +/** + * ============================================================================= + * ************ Button 按钮 ************ + * ============================================================================= + */ +/* 默认为 Flat 扁平按钮 */ +.mdui-btn, +.mdui-fab { + position: relative; + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + min-width: 88px; + height: 36px; + margin: 0; + padding: 0 16px; + overflow: hidden; + color: inherit; + font-weight: 500; + font-size: 14px; + line-height: 36px; + letter-spacing: 0.04em; + white-space: nowrap; + text-align: center; + text-transform: uppercase; + text-decoration: none; + vertical-align: middle; + background: transparent; + border: none; + border-radius: 2px; + outline: none; + cursor: pointer; + -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1); + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1); + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1); + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -ms-touch-action: manipulation; + touch-action: manipulation; + will-change: box-shadow; + zoom: 1; + -webkit-user-drag: none; +} +.mdui-btn:hover, +.mdui-fab:hover { + background-color: rgba(0, 0, 0, 0.1); +} +.mdui-btn:not(.mdui-ripple):active, +.mdui-fab:not(.mdui-ripple):active { + background-color: rgba(0, 0, 0, 0.165); +} +.mdui-btn[class*="mdui-color-"]:hover, +.mdui-fab[class*="mdui-color-"]:hover { + opacity: 0.87; +} +.mdui-btn:not(.mdui-ripple)[class*="mdui-color-"]:active, +.mdui-fab:not(.mdui-ripple)[class*="mdui-color-"]:active { + opacity: 0.76; +} +/* 按钮内的图标 */ +.mdui-btn .mdui-icon-left, +.mdui-btn .mdui-icon-right, +.mdui-btn .mdui-icon-left::before, +.mdui-btn .mdui-icon-right::before { + height: inherit; + font-size: 1.3em; + line-height: inherit; +} +.mdui-btn .mdui-icon-left { + float: left; + margin-right: 0.4em; +} +.mdui-btn .mdui-icon-right { + float: right; + margin-left: 0.4em; +} +input.mdui-btn[type="submit"] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +/* Raised button 浮动按钮 */ +.mdui-btn-raised { + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} +.mdui-btn-raised:hover { + -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); +} +.mdui-btn-raised:active { + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); +} +/* 禁用按钮 */ +.mdui-btn[disabled], +.mdui-fab[disabled], +.mdui-btn[disabled]:hover, +.mdui-fab[disabled]:hover, +.mdui-btn[disabled]:active, +.mdui-fab[disabled]:active, +.mdui-btn[disabled]:focus, +.mdui-fab[disabled]:focus { + color: rgba(0, 0, 0, 0.26) !important; + background-color: transparent !important; + cursor: default !important; + opacity: 1 !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} +.mdui-btn[disabled] .mdui-icon, +.mdui-fab[disabled] .mdui-icon, +.mdui-btn[disabled]:hover .mdui-icon, +.mdui-fab[disabled]:hover .mdui-icon, +.mdui-btn[disabled]:active .mdui-icon, +.mdui-fab[disabled]:active .mdui-icon, +.mdui-btn[disabled]:focus .mdui-icon, +.mdui-fab[disabled]:focus .mdui-icon { + color: rgba(0, 0, 0, 0.26) !important; +} +/* 禁用状态浮动按钮和浮动操作按钮 */ +.mdui-btn-raised[disabled], +.mdui-fab[disabled], +.mdui-btn-raised[disabled]:hover, +.mdui-fab[disabled]:hover, +.mdui-btn-raised[disabled]:active, +.mdui-fab[disabled]:active, +.mdui-btn-raised[disabled]:focus, +.mdui-fab[disabled]:focus { + background-color: rgba(0, 0, 0, 0.12) !important; + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important; +} +/* 加粗按钮文本 */ +.mdui-btn-bold { + font-weight: bold; +} +/* 图标按钮 */ +.mdui-btn-icon { + width: 36px; + min-width: 36px; + height: 36px; + margin-right: 0; + margin-left: 0; + padding: 0; + overflow: hidden; + font-size: 24px; + line-height: normal; + border-radius: 50%; +} +.mdui-btn-icon .mdui-icon { + position: absolute; + top: 50%; + left: 50%; + width: 24px; + line-height: 24px; + -webkit-transform: translate(-12px, -12px); + transform: translate(-12px, -12px); +} +.mdui-btn-icon.mdui-ripple { + -webkit-transform: translateZ(0); + transform: translateZ(0); +} +/* 按钮 100% 宽度 */ +.mdui-btn-block { + display: block; + width: 100%; +} +/* 密集型按钮 */ +.mdui-btn-dense { + height: 32px; + font-size: 13px; + line-height: 32px; +} +.mdui-btn-dense.mdui-btn-icon { + width: 32px; + min-width: 32px; +} +/* 按钮组 */ +.mdui-btn-group { + position: relative; + display: inline-block; + vertical-align: middle; +} +.mdui-btn-group .mdui-btn { + float: left; + min-width: inherit; + padding: 0 12px; + color: rgba(0, 0, 0, 0.54); + border-radius: 0; +} +.mdui-btn-group .mdui-btn::before { + position: absolute; + top: 0; + bottom: 0; + left: 0; + border-left: 1px solid transparent; + content: ' '; +} +.mdui-btn-group .mdui-btn:first-child { + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} +.mdui-btn-group .mdui-btn:first-child::before { + border-left: none; +} +.mdui-btn-group .mdui-btn:last-child { + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} +.mdui-btn-group .mdui-btn.mdui-btn-active { + color: rgba(0, 0, 0, 0.87); + background-color: rgba(0, 0, 0, 0.215); +} +.mdui-btn-group .mdui-btn.mdui-btn-active + .mdui-btn-active::before { + border-left: 1px solid rgba(0, 0, 0, 0.145); +} +/** + * ============================================================================= + * ************ Button dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-btn:hover, +.mdui-theme-layout-dark .mdui-fab:hover { + background-color: rgba(255, 255, 255, 0.1); +} +.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active, +.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active { + background-color: rgba(255, 255, 255, 0.165); +} +.mdui-theme-layout-dark .mdui-btn[class*="mdui-color-"]:hover, +.mdui-theme-layout-dark .mdui-fab[class*="mdui-color-"]:hover { + opacity: 0.87; +} +.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*="mdui-color-"]:active, +.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*="mdui-color-"]:active { + opacity: 0.76; +} +.mdui-theme-layout-dark .mdui-btn[disabled], +.mdui-theme-layout-dark .mdui-fab[disabled], +.mdui-theme-layout-dark .mdui-btn[disabled]:hover, +.mdui-theme-layout-dark .mdui-fab[disabled]:hover, +.mdui-theme-layout-dark .mdui-btn[disabled]:active, +.mdui-theme-layout-dark .mdui-fab[disabled]:active, +.mdui-theme-layout-dark .mdui-btn[disabled]:focus, +.mdui-theme-layout-dark .mdui-fab[disabled]:focus { + color: rgba(255, 255, 255, 0.3) !important; + background-color: transparent !important; +} +.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon, +.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon, +.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon, +.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon, +.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon, +.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon, +.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon, +.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon { + color: rgba(255, 255, 255, 0.3) !important; +} +.mdui-theme-layout-dark .mdui-btn-raised[disabled], +.mdui-theme-layout-dark .mdui-fab[disabled], +.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover, +.mdui-theme-layout-dark .mdui-fab[disabled]:hover, +.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active, +.mdui-theme-layout-dark .mdui-fab[disabled]:active, +.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus, +.mdui-theme-layout-dark .mdui-fab[disabled]:focus { + background-color: rgba(255, 255, 255, 0.12) !important; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-btn:hover, + .mdui-theme-layout-auto .mdui-fab:hover { + background-color: rgba(255, 255, 255, 0.1); + } + .mdui-theme-layout-auto .mdui-btn:not(.mdui-ripple):active, + .mdui-theme-layout-auto .mdui-fab:not(.mdui-ripple):active { + background-color: rgba(255, 255, 255, 0.165); + } + .mdui-theme-layout-auto .mdui-btn[class*="mdui-color-"]:hover, + .mdui-theme-layout-auto .mdui-fab[class*="mdui-color-"]:hover { + opacity: 0.87; + } + .mdui-theme-layout-auto .mdui-btn:not(.mdui-ripple)[class*="mdui-color-"]:active, + .mdui-theme-layout-auto .mdui-fab:not(.mdui-ripple)[class*="mdui-color-"]:active { + opacity: 0.76; + } + .mdui-theme-layout-auto .mdui-btn[disabled], + .mdui-theme-layout-auto .mdui-fab[disabled], + .mdui-theme-layout-auto .mdui-btn[disabled]:hover, + .mdui-theme-layout-auto .mdui-fab[disabled]:hover, + .mdui-theme-layout-auto .mdui-btn[disabled]:active, + .mdui-theme-layout-auto .mdui-fab[disabled]:active, + .mdui-theme-layout-auto .mdui-btn[disabled]:focus, + .mdui-theme-layout-auto .mdui-fab[disabled]:focus { + color: rgba(255, 255, 255, 0.3) !important; + background-color: transparent !important; + } + .mdui-theme-layout-auto .mdui-btn[disabled] .mdui-icon, + .mdui-theme-layout-auto .mdui-fab[disabled] .mdui-icon, + .mdui-theme-layout-auto .mdui-btn[disabled]:hover .mdui-icon, + .mdui-theme-layout-auto .mdui-fab[disabled]:hover .mdui-icon, + .mdui-theme-layout-auto .mdui-btn[disabled]:active .mdui-icon, + .mdui-theme-layout-auto .mdui-fab[disabled]:active .mdui-icon, + .mdui-theme-layout-auto .mdui-btn[disabled]:focus .mdui-icon, + .mdui-theme-layout-auto .mdui-fab[disabled]:focus .mdui-icon { + color: rgba(255, 255, 255, 0.3) !important; + } + .mdui-theme-layout-auto .mdui-btn-raised[disabled], + .mdui-theme-layout-auto .mdui-fab[disabled], + .mdui-theme-layout-auto .mdui-btn-raised[disabled]:hover, + .mdui-theme-layout-auto .mdui-fab[disabled]:hover, + .mdui-theme-layout-auto .mdui-btn-raised[disabled]:active, + .mdui-theme-layout-auto .mdui-fab[disabled]:active, + .mdui-theme-layout-auto .mdui-btn-raised[disabled]:focus, + .mdui-theme-layout-auto .mdui-fab[disabled]:focus { + background-color: rgba(255, 255, 255, 0.12) !important; + } +} +/** + * ============================================================================= + * ************ Fab 浮动操作按钮 ************ + * ============================================================================= + */ +/* 浮动操作按钮 */ +.mdui-fab { + width: 56px; + min-width: 56px; + height: 56px; + margin: auto; + padding: 0 !important; + overflow: hidden; + font-size: 24px; + line-height: normal !important; + border-radius: 50%; + -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12); +} +.mdui-fab:hover { + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); +} +.mdui-fab:active { + -webkit-box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12); + box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12); +} +.mdui-fab .mdui-icon { + position: absolute; + top: 0; + left: 0; + width: 24px; + margin-top: 16px; + margin-left: 16px; + line-height: 24px; +} +/* mini 型浮动操作按钮 */ +.mdui-fab-mini { + width: 40px; + min-width: 40px; + height: 40px; +} +.mdui-fab-mini .mdui-icon { + margin-top: 8px; + margin-left: 8px; +} +/* 固定到右下角的 FAB 按钮 */ +.mdui-fab-fixed, +.mdui-fab-wrapper { + position: fixed !important; + /* 手机平板上距离屏幕右下角 16px */ + right: 16px; + bottom: 16px; +} +@media (min-width: 1024px) { + .mdui-fab-fixed, + .mdui-fab-wrapper { + /* 电脑上距离屏幕右下角 24px */ + right: 24px; + bottom: 24px; + } +} +/* 含菜单的浮动操作按钮 */ +.mdui-fab-wrapper { + position: relative; + z-index: 4000; + width: 56px; + height: 56px; + padding-top: 8px; + text-align: center; +} +.mdui-fab-wrapper > .mdui-fab .mdui-icon:not(.mdui-fab-opened) { + opacity: 1; + -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + will-change: opacity, transform; +} +.mdui-fab-wrapper > .mdui-fab .mdui-icon.mdui-fab-opened { + -webkit-transform: rotate(225deg); + transform: rotate(225deg); + opacity: 0; + -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + will-change: opacity, transform; +} +.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened) { + -webkit-transform: rotate(225deg); + transform: rotate(225deg); + opacity: 0; +} +.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + opacity: 1; +} +.mdui-fab-wrapper > .mdui-fab-mini { + margin-top: 8px; +} +.mdui-fab-wrapper .mdui-fab-dial { + position: absolute; + right: 0; + bottom: 64px; + left: 0; + height: 0; + text-align: center; + visibility: visible; +} +.mdui-fab-wrapper .mdui-fab-dial .mdui-fab { + margin: 8px 0; + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; + -webkit-transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1); + transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1); +} +.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; +} +/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */ +.mdui-fab, +.mdui-fab-mini, +.mdui-fab-wrapper { + -webkit-transform: scale(1) translateZ(0); + transform: scale(1) translateZ(0); + -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 0.2s; + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 0.2s; + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), transform 0.2s; + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), transform 0.2s, -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 0.2s; + will-change: transform; +} +.mdui-fab.mdui-fab-hide, +.mdui-fab-mini.mdui-fab-hide, +.mdui-fab-wrapper.mdui-fab-hide { + -webkit-transform: scale(0) translateZ(0); + transform: scale(0) translateZ(0); +} +/** + * ============================================================================= + * ************ Select 下拉选择 ************ + * ============================================================================= + */ +.mdui-select { + position: relative; + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + max-width: 100%; + height: 36px; + padding-right: 24px; + padding-left: 0; + font-size: 16px; + font-family: Roboto, Noto, Helvetica, Arial, sans-serif; + vertical-align: middle; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' opacity='.54'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right center; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + outline: none; + cursor: pointer; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-property: background-color, background-position-x, -webkit-box-shadow; + transition-property: background-color, background-position-x, -webkit-box-shadow; + transition-property: background-color, box-shadow, background-position-x; + transition-property: background-color, box-shadow, background-position-x, -webkit-box-shadow; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + will-change: background-color, box-shadow, background-position-x; +} +.mdui-select.mdui-select-open { + border-bottom: none; +} +.mdui-select-position-top { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' opacity='.54'/%3E%3C/svg%3E"); +} +/* 底部和顶部菜单的样式 */ +.mdui-select-open.mdui-select-position-top, +.mdui-select-open.mdui-select-position-bottom { + z-index: 99999; + background-color: #fff; + /* stylelint-disable-next-line */ + background-position-x: calc(100% - 12px); + border-radius: 2px; +} +.mdui-select-open.mdui-select-position-top { + border-top: 1px solid rgba(0, 0, 0, 0.12); + border-bottom: 2px solid transparent; + border-top-left-radius: 0; + border-top-right-radius: 0; + -webkit-box-shadow: 0 10px 10px -3px rgba(0, 0, 0, 0.2), 0 0 14px 1px rgba(0, 0, 0, 0.14), 0 -7px 24px 2px rgba(0, 0, 0, 0.12); + box-shadow: 0 10px 10px -3px rgba(0, 0, 0, 0.2), 0 0 14px 1px rgba(0, 0, 0, 0.14), 0 -7px 24px 2px rgba(0, 0, 0, 0.12); +} +.mdui-select-open.mdui-select-position-top .mdui-select-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + -webkit-box-shadow: 0 -4px 4px -2px rgba(0, 0, 0, 0.06), 8px 0 8px -4px rgba(0, 0, 0, 0.12), -8px 0 8px -4px rgba(0, 0, 0, 0.12); + box-shadow: 0 -4px 4px -2px rgba(0, 0, 0, 0.06), 8px 0 8px -4px rgba(0, 0, 0, 0.12), -8px 0 8px -4px rgba(0, 0, 0, 0.12); +} +.mdui-select-open.mdui-select-position-bottom { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); +} +.mdui-select-open.mdui-select-position-bottom .mdui-select-menu { + border-top-left-radius: 0; + border-top-right-radius: 0; + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 1px rgba(0, 0, 0, 0.14), 0 8px 8px 2px rgba(0, 0, 0, 0.06); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 1px rgba(0, 0, 0, 0.14), 0 8px 8px 2px rgba(0, 0, 0, 0.06); +} +/* 当前选中项文本 */ +.mdui-select-selected { + position: absolute; + top: 50%; + right: 24px; + left: 0; + display: block; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + -webkit-transition: left 0.2s cubic-bezier(0, 0, 0.2, 1); + transition: left 0.2s cubic-bezier(0, 0, 0.2, 1); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-select-open .mdui-select-selected { + right: 32px; + left: 16px; +} +.mdui-select-open.mdui-select-position-auto .mdui-select-selected { + visibility: hidden; +} +/* 菜单 */ +.mdui-select-menu { + position: relative; + z-index: 99999; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 36px; + margin: 0 -24px 0 0; + overflow-y: scroll; + color: rgba(0, 0, 0, 0.87); + background-color: #fff; + border-radius: 2px; + -webkit-transform: scale(1, 0); + transform: scale(1, 0); + visibility: hidden; + cursor: default; + opacity: 0; + -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-property: opacity, visibility, -webkit-transform; + transition-property: opacity, visibility, -webkit-transform; + transition-property: transform, opacity, visibility; + transition-property: transform, opacity, visibility, -webkit-transform; + will-change: transform, opacity, visibility; + -webkit-overflow-scrolling: touch; + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); +} +.mdui-select-open .mdui-select-menu { + overflow-y: hidden; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); + visibility: visible; + opacity: 1; +} +.mdui-select-closing .mdui-select-menu { + overflow-y: hidden; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); + visibility: visible; + opacity: 0; +} +/* 菜单项 */ +.mdui-select-menu-item { + height: 48px; + padding: 0 16px; + line-height: 48px; + cursor: pointer; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-select-menu-item:hover { + background-color: #EEEEEE; +} +.mdui-select-menu-item:first-child { + margin-top: 8px; +} +.mdui-select-menu-item:last-child { + margin-bottom: 8px; +} +.mdui-select-menu-item[disabled] { + color: rgba(0, 0, 0, 0.38) !important; + cursor: default; +} +.mdui-select-menu-item[disabled]:hover { + background-color: inherit !important; +} +.mdui-select-menu-item[selected] { + color: #FF4081; +} +/* 原生 select 组件 */ +select.mdui-select { + background-color: transparent; +} +select.mdui-select option { + color: rgba(0, 0, 0, 0.87); +} +select.mdui-select::-ms-expand { + display: none; +} +/* 原生多选 select 组件 */ +select.mdui-select[multiple] { + height: auto; + padding: 0; + font-size: 15px; + background-color: #FFF; + background-image: none; + border: 1px solid rgba(0, 0, 0, 0.38); + cursor: default; +} +select.mdui-select[multiple] optgroup { + margin: 8px 0 0 0; + padding: 0 0 0 16px; + color: rgba(0, 0, 0, 0.38); +} +select.mdui-select[multiple] optgroup:last-child { + margin-bottom: 8px; +} +select.mdui-select[multiple] optgroup:not(:first-child) { + padding-top: 8px; + border-top: 1px solid rgba(0, 0, 0, 0.12); +} +select.mdui-select[multiple] option { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 32px; + margin: 0 0 0 -16px; + padding: 0 16px; + color: rgba(0, 0, 0, 0.87); +} +select.mdui-select[multiple] option:first-child { + margin-top: 8px; +} +select.mdui-select[multiple] option:last-child { + margin-bottom: 8px; +} +/** + * ============================================================================= + * ************ Select 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-select-menu-item[selected] { + color: #FFC107; +} +.mdui-theme-accent-blue .mdui-select-menu-item[selected] { + color: #2196F3; +} +.mdui-theme-accent-cyan .mdui-select-menu-item[selected] { + color: #00BCD4; +} +.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected] { + color: #FF5722; +} +.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected] { + color: #673AB7; +} +.mdui-theme-accent-green .mdui-select-menu-item[selected] { + color: #4CAF50; +} +.mdui-theme-accent-indigo .mdui-select-menu-item[selected] { + color: #3F51B5; +} +.mdui-theme-accent-light-blue .mdui-select-menu-item[selected] { + color: #03A9F4; +} +.mdui-theme-accent-light-green .mdui-select-menu-item[selected] { + color: #8BC34A; +} +.mdui-theme-accent-lime .mdui-select-menu-item[selected] { + color: #CDDC39; +} +.mdui-theme-accent-orange .mdui-select-menu-item[selected] { + color: #FF9800; +} +.mdui-theme-accent-pink .mdui-select-menu-item[selected] { + color: #E91E63; +} +.mdui-theme-accent-purple .mdui-select-menu-item[selected] { + color: #9C27B0; +} +.mdui-theme-accent-red .mdui-select-menu-item[selected] { + color: #F44336; +} +.mdui-theme-accent-teal .mdui-select-menu-item[selected] { + color: #009688; +} +.mdui-theme-accent-yellow .mdui-select-menu-item[selected] { + color: #FFEB3B; +} +/** + * ============================================================================= + * ************ Select dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-select { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E"); + border-bottom: 1px solid rgba(255, 255, 255, 0.12); +} +.mdui-theme-layout-dark .mdui-select-position-top { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E"); +} +.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top, +.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom { + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top { + border-top: 1px solid rgba(255, 255, 255, 0.12); +} +.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom { + border-bottom: 1px solid rgba(255, 255, 255, 0.12); +} +.mdui-theme-layout-dark .mdui-select-menu { + color: #fff; + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-select-menu-item:hover { + background-color: #616161; +} +.mdui-theme-layout-dark .mdui-select-menu-item[disabled] { + color: rgba(255, 255, 255, 0.5) !important; +} +.mdui-theme-layout-dark select.mdui-select { + color: #FFF; + background-color: #303030; +} +.mdui-theme-layout-dark select.mdui-select option { + color: #FFF; + background-color: #303030; +} +.mdui-theme-layout-dark select.mdui-select[multiple] { + border: 1px solid rgba(255, 255, 255, 0.5); +} +.mdui-theme-layout-dark select.mdui-select[multiple] optgroup { + color: rgba(255, 255, 255, 0.5); +} +.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child) { + border-top: 1px solid rgba(255, 255, 255, 0.12); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-select { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E"); + border-bottom: 1px solid rgba(255, 255, 255, 0.12); + } + .mdui-theme-layout-auto .mdui-select-position-top { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E"); + } + .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-top, + .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-bottom { + background-color: #424242; + } + .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-top { + border-top: 1px solid rgba(255, 255, 255, 0.12); + } + .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-bottom { + border-bottom: 1px solid rgba(255, 255, 255, 0.12); + } + .mdui-theme-layout-auto .mdui-select-menu { + color: #fff; + background-color: #424242; + } + .mdui-theme-layout-auto .mdui-select-menu-item:hover { + background-color: #616161; + } + .mdui-theme-layout-auto .mdui-select-menu-item[disabled] { + color: rgba(255, 255, 255, 0.5) !important; + } + .mdui-theme-layout-auto select.mdui-select { + color: #FFF; + background-color: #303030; + } + .mdui-theme-layout-auto select.mdui-select option { + color: #FFF; + background-color: #303030; + } + .mdui-theme-layout-auto select.mdui-select[multiple] { + border: 1px solid rgba(255, 255, 255, 0.5); + } + .mdui-theme-layout-auto select.mdui-select[multiple] optgroup { + color: rgba(255, 255, 255, 0.5); + } + .mdui-theme-layout-auto select.mdui-select[multiple] optgroup:not(:first-child) { + border-top: 1px solid rgba(255, 255, 255, 0.12); + } +} +/** + * ============================================================================= + * ************ Toolbar 工具栏 ************ + * ============================================================================= + */ +.mdui-toolbar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; +} +.mdui-toolbar > * { + margin: 0 16px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-toolbar[class*="mdui-color-"]:not(.mdui-color-transparent) .mdui-btn:hover { + background-color: rgba(255, 255, 255, 0.1); +} +.mdui-toolbar[class*="mdui-color-"]:not(.mdui-color-transparent) .mdui-btn:active { + background-color: rgba(255, 255, 255, 0.165); +} +.mdui-toolbar > a { + color: inherit; + text-decoration: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-toolbar > .mdui-btn-icon { + width: 48px; + min-width: 48px; + height: 48px; +} +@media (orientation: landscape) and (max-width: 959.9px) { + .mdui-toolbar > .mdui-btn-icon { + width: 40px; + min-width: 40px; + height: 40px; + } +} +.mdui-toolbar > .mdui-btn-icon .mdui-icon { + height: 24px; + line-height: 24px; +} +.mdui-toolbar .mdui-icon { + color: inherit; +} +.mdui-toolbar-spacer { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + margin: 0; +} +/* 手机 */ +.mdui-toolbar { + height: 56px; + line-height: 56px; +} +.mdui-toolbar > .mdui-btn { + margin: 0 4px; +} +.mdui-toolbar > .mdui-btn + .mdui-btn { + margin-left: 0; +} +@media (min-width: 600px) { + .mdui-appbar .mdui-toolbar { + height: 64px; + line-height: 64px; + } + .mdui-appbar .mdui-toolbar > .mdui-btn { + margin: 0 8px; + } + .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn { + margin-left: 0; + } +} +@media (orientation: landscape) and (max-width: 959.9px) { + .mdui-appbar .mdui-toolbar { + height: 48px; + line-height: 48px; + } + .mdui-appbar .mdui-toolbar > .mdui-btn { + margin: 0 4px; + } + .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn { + margin-left: 0; + } +} +/** + * ============================================================================= + * ************ Appbar 应用栏 ************ + * ============================================================================= + */ +.mdui-appbar { + z-index: 1000; + -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); +} +/* appbar 固定在顶部 */ +.mdui-appbar-fixed { + position: fixed; + top: 0; + right: 0; + left: 0; + -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + -webkit-transition-duration: 0.3s; + transition-duration: 0.3s; + -webkit-transition-property: left, right; + transition-property: left, right; + will-change: left, right; +} +/* 左侧留出抽屉栏的距离 */ +@media (min-width: 1024px) { + .mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed { + left: 240px; + } +} +@media (min-width: 1024px) { + .mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed { + right: 240px; + } +} +/* 含工具栏 */ +.mdui-appbar-with-toolbar { + padding-top: 56px; +} +@media (min-width: 600px) { + .mdui-appbar-with-toolbar { + padding-top: 64px; + } +} +@media (orientation: landscape) and (max-width: 959.9px) { + .mdui-appbar-with-toolbar { + padding-top: 48px; + } +} +/* 含 Tab */ +.mdui-appbar-with-tab { + padding-top: 48px; +} +/* 含大 Tab */ +.mdui-appbar-with-tab-larger { + padding-top: 72px; +} +/* 含工具栏和 Tab */ +.mdui-appbar-with-toolbar.mdui-appbar-with-tab { + padding-top: 104px; +} +@media (min-width: 600px) { + .mdui-appbar-with-toolbar.mdui-appbar-with-tab { + padding-top: 112px; + } +} +@media (orientation: landscape) and (max-width: 959.9px) { + .mdui-appbar-with-toolbar.mdui-appbar-with-tab { + padding-top: 96px; + } +} +/* 含工具栏和大 Tab */ +.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger { + padding-top: 128px; +} +@media (min-width: 600px) { + .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger { + padding-top: 136px; + } +} +@media (orientation: landscape) and (max-width: 959.9px) { + .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger { + padding-top: 120px; + } +} +/** + * ============================================================================= + * ************ Appbar dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-appbar > [class*="mdui-color-"]:not(.mdui-color-transparent) { + color: #fff !important; + background-color: #212121 !important; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-appbar > [class*="mdui-color-"]:not(.mdui-color-transparent) { + color: #fff !important; + background-color: #212121 !important; + } +} +/** + * ============================================================================= + * ************ Card 卡片 ************ + * ============================================================================= + */ +/* 卡片 */ +.mdui-card { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + color: #000; + background-color: #fff; + border-radius: 2px; + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} +/** + * ===================== 头部,包含头像、标题、副标题 + */ +.mdui-card-header { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 72px; + padding: 16px; +} +/* 卡片头部头像 */ +.mdui-card-header-avatar { + float: left; + width: 40px; + height: 40px; + border-radius: 50%; +} +/* 卡片头部标题 */ +.mdui-card-header-title { + display: block; + margin-left: 52px; + font-weight: 500; + font-size: 16px; + line-height: 20px; + opacity: 0.87; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +/* 卡片头部副标题 */ +.mdui-card-header-subtitle { + display: block; + margin-left: 52px; + font-weight: 400; + font-size: 14px; + line-height: 20px; + opacity: 0.54; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +/** + * =========================== 主标题区域 + */ +.mdui-card-primary { + position: relative; + padding: 24px 16px 16px 16px; +} +/* 主标题区域标题 */ +.mdui-card-primary-title { + display: block; + font-size: 24px; + line-height: 36px; + opacity: 0.87; +} +/* 主标题区域副标题 */ +.mdui-card-primary-subtitle { + display: block; + font-size: 14px; + line-height: 24px; + opacity: 0.54; +} +/** + * ============================ 内容区域 + */ +.mdui-card-content { + position: relative; + padding: 16px; + font-size: 14px; + line-height: 24px; +} +/** + * ============================ 卡片菜单 + */ +.mdui-card-menu { + position: absolute; + top: 16px; + right: 16px; + z-index: 1; +} +.mdui-card-menu .mdui-btn { + margin-left: 8px; +} +/** + * =========================== 按钮区域 + */ +.mdui-card-actions { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 8px; +} +.mdui-card-actions::before, +.mdui-card-actions::after { + display: table; + content: ' '; +} +.mdui-card-actions::after { + clear: both; +} +.mdui-card-actions::before, +.mdui-card-actions::after { + display: table; + content: ' '; +} +.mdui-card-actions::after { + clear: both; +} +.mdui-card-actions .mdui-btn { + max-width: 100%; + margin: 0 8px 0 0; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-card-actions .mdui-btn-icon { + width: 36px; + height: 36px; + margin: 0 8px; +} +/* 使按钮竖向排列 */ +.mdui-card-actions-stacked .mdui-btn { + display: block; + margin: 0 0 4px 0; +} +.mdui-card-actions-stacked .mdui-btn:last-child { + margin: 0; +} +/** + * ============================= 媒体元素区域 + */ +.mdui-card-media { + position: relative; +} +.mdui-card-media img, +.mdui-card-media video { + display: block; + width: 100%; +} +/* 覆盖在媒体元素上的内容 */ +.mdui-card-media-covered { + position: absolute; + right: 0; + bottom: 0; + left: 0; + color: #fff; + background: rgba(0, 0, 0, 0.2); + /* 覆盖在媒体元素上的标题 */ +} +.mdui-card-media-covered .mdui-card-primary-title { + opacity: 1; +} +.mdui-card-media-covered .mdui-card-primary-subtitle { + opacity: 0.7; +} +/* 覆盖在媒体元素顶部 */ +.mdui-card-media-covered-top { + top: 0; + bottom: auto; +} +/* 覆盖层透明 */ +.mdui-card-media-covered-transparent { + background: transparent; +} +/* 覆盖层渐变 */ +.mdui-card-media-covered-gradient { + background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.26)), to(rgba(0, 0, 0, 0))); + background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0)); +} +.mdui-card-media-covered-gradient.mdui-card-media-covered-top { + background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.26)), to(rgba(0, 0, 0, 0))); + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0)); +} +/** + * ============================================================================= + * ************ Card dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-card { + color: #fff; + background-color: #424242; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-card { + color: #fff; + background-color: #424242; + } +} +/** + * ============================================================================= + * ************ Tab ************ + * ============================================================================= + * + * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分 + */ +/* 选项卡,默认的选项卡为全宽 */ +.mdui-tab { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + min-height: 48px; + max-height: 72px; + margin: 0 auto; + padding: 0; + overflow-x: auto; + overflow-y: hidden; + white-space: nowrap; + -webkit-overflow-scrolling: touch; +} +.mdui-tab a { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + min-width: 72px; + min-height: 48px; + max-height: 72px; + padding: 12px; + overflow: hidden; + color: inherit; + font-size: 14px; + text-align: center; + text-transform: uppercase; + text-decoration: none; + text-overflow: ellipsis; + outline: none; + cursor: pointer; + opacity: 0.7; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-tab a .mdui-icon { + opacity: 0.7; +} +@media (min-width: 600px) { + .mdui-tab a { + -webkit-box-flex: 0; + -ms-flex: none; + flex: none; + min-width: 99px; + max-width: 264px; + padding: 12px 24px; + } +} +@media (min-width: 1024px) { + .mdui-tab a { + min-width: 112px; + } +} +@media (min-width: 1440px) { + .mdui-tab a { + min-width: 136px; + } +} +@media (min-width: 1920px) { + .mdui-tab a { + min-width: 160px; + } +} +.mdui-tab a label { + display: block; + width: 100%; + cursor: pointer; +} +.mdui-tab a .mdui-icon + label { + margin-top: 8px; +} +.mdui-tab a[disabled] { + cursor: default; + opacity: 0.38; +} +.mdui-tab a[disabled] label { + cursor: default; +} +.mdui-tab .mdui-tab-active { + color: #3F51B5; + opacity: 1; +} +.mdui-tab .mdui-tab-active .mdui-icon { + opacity: 1; +} +/* 选项卡居中 */ +@media (min-width: 600px) { + .mdui-tab-centered::before { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + content: ' '; + } + .mdui-tab-centered::after { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + content: ' '; + } + .mdui-tab-centered a { + -webkit-box-flex: 0; + -ms-flex: none; + flex: none; + } +} +/* 选项卡始终全宽等分 */ +.mdui-tab-full-width a { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + max-width: none; +} +/* 可横向滚动的选项卡 */ +.mdui-tab-scrollable { + padding-left: 56px; +} +.mdui-tab-scrollable a { + -webkit-box-flex: 0; + -ms-flex: none; + flex: none; +} +@media (max-width: 599.9px) { + .mdui-tab-scrollable { + padding-left: 60px; + } +} +/* 下划线指示器 */ +.mdui-tab-indicator { + position: absolute; + bottom: 0; + height: 2px; + background-color: #3F51B5; + -webkit-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1); + will-change: left, width; +} +/** + * ============================================================================= + * ************ Tab 主色 ************ + * ============================================================================= + */ +.mdui-theme-primary-amber .mdui-tab .mdui-tab-active { + color: #FFC107; +} +.mdui-theme-primary-amber .mdui-tab-indicator { + background-color: #FFC107; +} +.mdui-theme-primary-blue .mdui-tab .mdui-tab-active { + color: #2196F3; +} +.mdui-theme-primary-blue .mdui-tab-indicator { + background-color: #2196F3; +} +.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active { + color: #607D8B; +} +.mdui-theme-primary-blue-grey .mdui-tab-indicator { + background-color: #607D8B; +} +.mdui-theme-primary-brown .mdui-tab .mdui-tab-active { + color: #795548; +} +.mdui-theme-primary-brown .mdui-tab-indicator { + background-color: #795548; +} +.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active { + color: #00BCD4; +} +.mdui-theme-primary-cyan .mdui-tab-indicator { + background-color: #00BCD4; +} +.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active { + color: #FF5722; +} +.mdui-theme-primary-deep-orange .mdui-tab-indicator { + background-color: #FF5722; +} +.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active { + color: #673AB7; +} +.mdui-theme-primary-deep-purple .mdui-tab-indicator { + background-color: #673AB7; +} +.mdui-theme-primary-green .mdui-tab .mdui-tab-active { + color: #4CAF50; +} +.mdui-theme-primary-green .mdui-tab-indicator { + background-color: #4CAF50; +} +.mdui-theme-primary-grey .mdui-tab .mdui-tab-active { + color: #9E9E9E; +} +.mdui-theme-primary-grey .mdui-tab-indicator { + background-color: #9E9E9E; +} +.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active { + color: #3F51B5; +} +.mdui-theme-primary-indigo .mdui-tab-indicator { + background-color: #3F51B5; +} +.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active { + color: #03A9F4; +} +.mdui-theme-primary-light-blue .mdui-tab-indicator { + background-color: #03A9F4; +} +.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active { + color: #8BC34A; +} +.mdui-theme-primary-light-green .mdui-tab-indicator { + background-color: #8BC34A; +} +.mdui-theme-primary-lime .mdui-tab .mdui-tab-active { + color: #CDDC39; +} +.mdui-theme-primary-lime .mdui-tab-indicator { + background-color: #CDDC39; +} +.mdui-theme-primary-orange .mdui-tab .mdui-tab-active { + color: #FF9800; +} +.mdui-theme-primary-orange .mdui-tab-indicator { + background-color: #FF9800; +} +.mdui-theme-primary-pink .mdui-tab .mdui-tab-active { + color: #E91E63; +} +.mdui-theme-primary-pink .mdui-tab-indicator { + background-color: #E91E63; +} +.mdui-theme-primary-purple .mdui-tab .mdui-tab-active { + color: #9C27B0; +} +.mdui-theme-primary-purple .mdui-tab-indicator { + background-color: #9C27B0; +} +.mdui-theme-primary-red .mdui-tab .mdui-tab-active { + color: #F44336; +} +.mdui-theme-primary-red .mdui-tab-indicator { + background-color: #F44336; +} +.mdui-theme-primary-teal .mdui-tab .mdui-tab-active { + color: #009688; +} +.mdui-theme-primary-teal .mdui-tab-indicator { + background-color: #009688; +} +.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active { + color: #FFEB3B; +} +.mdui-theme-primary-yellow .mdui-tab-indicator { + background-color: #FFEB3B; +} +/* 带背景色的选项卡 */ +.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white) .mdui-tab-active { + color: inherit; +} +.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white) .mdui-tab-indicator { + background-color: #FFFFFF; +} +.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white)::-webkit-scrollbar { + width: 5px; + height: 5px; + background: transparent; +} +@media (min-width: 1024px) { + .mdui-tab[class*="mdui-color-"]:not(.mdui-color-white)::-webkit-scrollbar { + width: 8px; + height: 8px; + } +} +.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white)::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.3); +} +/** + * ============================================================================= + * ************ Subheader 副标题 ************ + * ============================================================================= + * + * 用于 List 和 Grid list 组件 + */ +.mdui-subheader, +.mdui-subheader-inset { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 48px; + padding-right: 16px; + padding-left: 16px; + color: rgba(0, 0, 0, 0.54); + font-weight: 500; + font-size: 14px; + line-height: 48px; + cursor: default; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-subheader-inset { + padding-left: 72px; +} +/** + * ============================================================================= + * ************ Subheader dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-subheader, +.mdui-theme-layout-dark .mdui-subheader-inset { + color: rgba(255, 255, 255, 0.7); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-subheader, + .mdui-theme-layout-auto .mdui-subheader-inset { + color: rgba(255, 255, 255, 0.7); + } +} +/** + * ============================================================================= + * ************ Grid List 网格列表 ************ + * ============================================================================= + */ +/* 调整网格边距 */ +.mdui-grid-list { + margin: 0 -2px; +} +.mdui-grid-list .mdui-col, +.mdui-grid-list [class*="mdui-col-xs-"], +.mdui-grid-list [class*="mdui-col-sm-"], +.mdui-grid-list [class*="mdui-col-md-"], +.mdui-grid-list [class*="mdui-col-lg-"], +.mdui-grid-list [class*="mdui-col-xl-"] { + padding-right: 2px; + padding-left: 2px; +} +/* 单元格 */ +.mdui-grid-tile { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 4px; + overflow: hidden; +} +.mdui-grid-tile img { + display: block; + width: 100%; +} +/* 操作栏 */ +.mdui-grid-tile-actions { + position: absolute; + right: 0; + bottom: 0; + left: 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + min-height: 48px; + max-height: 68px; + padding: 16px; + color: #fff; + background: rgba(0, 0, 0, 0.2); +} +.mdui-grid-tile-actions .mdui-icon { + color: #fff; +} +/* 操作栏内的文本 */ +.mdui-grid-tile-text { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + overflow: hidden; +} +/* 标题 */ +.mdui-grid-tile-title { + height: 16px; + font-size: 16px; + line-height: 16px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-grid-tile-title .mdui-icon { + margin-right: 8px; +} +/* 副标题 */ +.mdui-grid-tile-subtitle { + height: 18px; + margin-top: 4px; + font-size: 12px; + line-height: 18px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-grid-tile-subtitle .mdui-icon { + margin-right: 8px; + font-size: 18px; +} +/* 操作栏内的按钮 */ +.mdui-grid-tile-buttons { + -webkit-box-flex: 0; + -ms-flex: none; + flex: none; + margin: -8px; + white-space: nowrap; +} +.mdui-grid-tile-buttons .mdui-btn { + margin-left: 8px; +} +.mdui-grid-tile-buttons .mdui-btn:first-child { + margin-left: 0; +} +.mdui-grid-tile-text + .mdui-grid-tile-buttons { + margin-left: 8px; +} +.mdui-grid-tile-buttons + .mdui-grid-tile-text { + margin-left: 16px; +} +/* 操作栏位于顶部 */ +.mdui-grid-tile-actions-top { + top: 0; + bottom: auto; +} +/* 操作栏背景透明 */ +.mdui-grid-tile-actions-transparent { + background: transparent; +} +/* 操作栏背景渐变 */ +.mdui-grid-tile-actions-gradient { + background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.26)), to(rgba(0, 0, 0, 0))); + background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0)); +} +.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top { + background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.26)), to(rgba(0, 0, 0, 0))); + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0)); +} +/** + * ============================================================================= + * ************ List 列表 ************ + * ============================================================================= + */ +/* 列表 */ +.mdui-list { + margin: 0; + padding: 8px 0; + list-style: none; + background-color: transparent; +} +.mdui-list .mdui-list { + padding: 0; +} +.mdui-list > .mdui-divider, +.mdui-list > .mdui-divider-light, +.mdui-list > .mdui-divider-dark, +.mdui-list > .mdui-divider-inset, +.mdui-list > .mdui-divider-inset-light, +.mdui-list > .mdui-divider-inset-dark { + margin-top: 8px; + margin-bottom: 8px; +} +.mdui-list a { + color: inherit; + text-decoration: none; +} +.mdui-list .mdui-subheader, +.mdui-list .mdui-subheader-inset { + margin-top: 8px; +} +.mdui-list .mdui-subheader::before, +.mdui-list .mdui-subheader-inset::before { + position: absolute; + right: 0; + left: 0; + display: block; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); + content: ' '; +} +.mdui-list .mdui-subheader:first-child, +.mdui-list .mdui-subheader-inset:first-child { + margin-top: -8px; +} +.mdui-list .mdui-subheader:first-child::before, +.mdui-list .mdui-subheader-inset:first-child::before { + background-color: transparent; +} +.mdui-list .mdui-subheader-inset::before { + left: 72px; +} +/* 列表项 */ +.mdui-list-item { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + min-height: 48px; + padding: 0 16px; + text-decoration: none; + cursor: pointer; + -webkit-transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} +.mdui-list-item:hover { + background-color: rgba(0, 0, 0, 0.08); +} +.mdui-list-item::after { + height: 48px; + visibility: hidden; + content: ' '; +} +/* 列表项图标 */ +.mdui-list-item-icon { + width: 24px; + min-width: 24px; + height: 24px; + color: rgba(0, 0, 0, 0.54); +} +/* 列表项头像 */ +.mdui-list-item-avatar { + min-width: 40px; + max-width: 40px; + height: 40px; + margin-top: 8px; + margin-bottom: 8px; + color: #FFFFFF; + line-height: 40px; + text-align: center; + background-color: #BDBDBD; + border-radius: 50%; +} +.mdui-list-item-avatar img { + width: 100%; + height: 100%; + border-radius: 50%; +} +/* 列表项内容 */ +.mdui-list-item-content { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + padding-top: 14px; + padding-bottom: 14px; + font-weight: 400; + font-size: 16px; + line-height: 20px; +} +/* 列表项内容的副内容 */ +.mdui-list-item-text { + font-size: 14px; + opacity: 0.54; +} +.mdui-list-item-title ~ .mdui-list-item-text { + margin-top: 4px; +} +/* 激活状态的列表项 */ +.mdui-list-item-active { + font-weight: 700; + background-color: rgba(0, 0, 0, 0.08); +} +.mdui-list-item-active .mdui-list-item-content { + font-weight: 700; +} +.mdui-list-item-active .mdui-list-item-text { + font-weight: 400; +} +/* 限制文本高度 */ +.mdui-list-item-one-line, +.mdui-list-item-two-line, +.mdui-list-item-three-line { + display: -webkit-box; + overflow: hidden; + text-overflow: ellipsis; + -webkit-box-orient: vertical; +} +.mdui-list-item-one-line { + -webkit-line-clamp: 1; + height: 20px; +} +.mdui-list-item-two-line { + -webkit-line-clamp: 2; + height: 40px; +} +.mdui-list-item-three-line { + -webkit-line-clamp: 3; + height: 60px; +} +/* 列表项内的元素间添加间距 */ +.mdui-list-item-icon ~ .mdui-list-item-content { + margin-left: 32px; +} +.mdui-checkbox ~ .mdui-list-item-content, +.mdui-radio ~ .mdui-list-item-content, +.mdui-switch ~ .mdui-list-item-content { + margin-left: 20px; +} +.mdui-list-item-avatar ~ .mdui-list-item-content { + margin-left: 16px; +} +.mdui-list-item-content ~ .mdui-list-item-icon, +.mdui-list-item-content ~ .mdui-list-item-avatar, +.mdui-list-item-content ~ .mdui-checkbox, +.mdui-list-item-content ~ .mdui-radio, +.mdui-list-item-content ~ .mdui-switch { + margin-left: 16px; +} +.mdui-list-item-content ~ .mdui-checkbox, +.mdui-list-item-content ~ .mdui-radio { + padding-left: 24px; +} +/* 密集型列表 */ +.mdui-list-dense { + padding: 4px 0; + font-size: 13px; +} +.mdui-list-dense > .mdui-divider, +.mdui-list-dense > .mdui-divider-light, +.mdui-list-dense > .mdui-divider-dark, +.mdui-list-dense > .mdui-divider-inset, +.mdui-list-dense > .mdui-divider-inset-light, +.mdui-list-dense > .mdui-divider-inset-dark { + margin-top: 4px; + margin-bottom: 4px; +} +.mdui-list-dense .mdui-subheader, +.mdui-list-dense .mdui-subheader-inset { + height: 40px; + margin-top: 4px; + font-size: 12px; + line-height: 40px; +} +.mdui-list-dense .mdui-subheader:first-child, +.mdui-list-dense .mdui-subheader-inset:first-child { + margin-top: -4px; +} +.mdui-list-dense .mdui-list-item { + min-height: 40px; +} +.mdui-list-dense .mdui-list-item::after { + height: 40px; +} +.mdui-list-dense .mdui-list-item-icon { + width: 20px; + height: 20px; + font-size: 20px; +} +.mdui-list-dense .mdui-list-item-avatar { + width: 36px; + min-width: 36px; + height: 36px; + min-height: 36px; +} +.mdui-list-dense .mdui-list-item-content { + padding-top: 11px; + padding-bottom: 11px; + font-size: 13px; + line-height: 18px; +} +.mdui-list-dense .mdui-list-item-text { + font-size: 13px; +} +.mdui-list-dense .mdui-list-item-title ~ .mdui-list-item-text { + margin-top: 2px; +} +.mdui-list-dense .mdui-list-item-one-line { + height: 18px; +} +.mdui-list-dense .mdui-list-item-two-line { + height: 36px; +} +.mdui-list-dense .mdui-list-item-three-line { + height: 54px; +} +/** + * ============================================================================= + * ************ List dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-list .mdui-subheader::before, +.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset::before { + background-color: rgba(255, 255, 255, 0.12); +} +.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child::before, +.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child::before { + background-color: transparent; +} +.mdui-theme-layout-dark .mdui-list-item { + color: #ffffff; +} +.mdui-theme-layout-dark .mdui-list-item:hover { + background-color: rgba(255, 255, 255, 0.08); +} +.mdui-theme-layout-dark .mdui-list-item-icon { + color: #ffffff; +} +.mdui-theme-layout-dark .mdui-list-item-text { + opacity: 0.7; +} +.mdui-theme-layout-dark .mdui-list-item-active { + background-color: rgba(255, 255, 255, 0.08); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-list .mdui-subheader::before, + .mdui-theme-layout-auto .mdui-list .mdui-subheader-inset::before { + background-color: rgba(255, 255, 255, 0.12); + } + .mdui-theme-layout-auto .mdui-list .mdui-subheader:first-child::before, + .mdui-theme-layout-auto .mdui-list .mdui-subheader-inset:first-child::before { + background-color: transparent; + } + .mdui-theme-layout-auto .mdui-list-item { + color: #ffffff; + } + .mdui-theme-layout-auto .mdui-list-item:hover { + background-color: rgba(255, 255, 255, 0.08); + } + .mdui-theme-layout-auto .mdui-list-item-icon { + color: #ffffff; + } + .mdui-theme-layout-auto .mdui-list-item-text { + opacity: 0.7; + } + .mdui-theme-layout-auto .mdui-list-item-active { + background-color: rgba(255, 255, 255, 0.08); + } +} +/** + * ============================================================================== + * ************ List inner theme ************ + * ============================================================================== + */ +[class*="mdui-color-"] .mdui-list-item { + color: inherit; +} +[class*="mdui-color-"] .mdui-list-item-icon { + color: inherit; +} +/** + * ============================================================================= + * ************ Drawer 抽屉栏导航 ************ + * ============================================================================= + */ +/* DOM 加载完后再添加 transition */ +body.mdui-loaded { + -webkit-transition: padding 0.3s cubic-bezier(0, 0, 0.2, 1); + transition: padding 0.3s cubic-bezier(0, 0, 0.2, 1); +} +body.mdui-loaded .mdui-drawer { + -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0, 0, 0.2, 1); +} +/* 抽屉栏外层,默认出现在左侧且隐藏 */ +.mdui-drawer { + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 5000; + -webkit-box-sizing: border-box; + box-sizing: border-box; + /* stylelint-disable-next-line */ + width: calc(100% - 56px); + max-width: 280px; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + white-space: nowrap; + will-change: transform; + -webkit-overflow-scrolling: touch; +} +@media (max-width: 1023.9px) { + .mdui-drawer:not(.mdui-drawer-open) { + -webkit-box-shadow: none !important; + box-shadow: none !important; + } +} +@media (min-width: 600px) { + .mdui-drawer { + /* stylelint-disable-next-line */ + width: calc(100% - 64px); + max-width: 320px; + } +} +@media (min-width: 1024px) { + .mdui-drawer { + width: 240px; + max-width: none; + } + .mdui-drawer.mdui-drawer-close { + -webkit-box-shadow: none !important; + box-shadow: none !important; + } +} +/* 出现在右侧的抽屉栏 */ +.mdui-drawer-right { + right: 0; + left: auto; +} +/* 平板上的样式 */ +@media (max-width: 1023.9px) { + .mdui-drawer { + /* 始终有背景和阴影 */ + background-color: #fff; + /* 默认隐藏 */ + -webkit-transform: translateX(-330px); + transform: translateX(-330px); + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12); + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12); + } + .mdui-drawer-right { + /* 右侧 drawer 也默认隐藏 */ + -webkit-transform: translateX(330px); + transform: translateX(330px); + } +} +/* 手机上的样式 */ +@media (max-width: 599.9px) { + .mdui-drawer { + -webkit-transform: translateX(-290px); + transform: translateX(-290px); + } + .mdui-drawer-right { + -webkit-transform: translateX(290px); + transform: translateX(290px); + } +} +/* 强制隐藏抽屉栏 */ +.mdui-drawer-close { + -webkit-transform: translateX(-290px); + transform: translateX(-290px); +} +.mdui-drawer-close.mdui-drawer-right { + -webkit-transform: translateX(290px); + transform: translateX(290px); +} +@media (min-width: 600px) { + .mdui-drawer-close { + -webkit-transform: translateX(-330px); + transform: translateX(-330px); + } + .mdui-drawer-close.mdui-drawer-right { + -webkit-transform: translateX(330px); + transform: translateX(330px); + } +} +@media (min-width: 1024px) { + .mdui-drawer-close { + -webkit-transform: translateX(-250px); + transform: translateX(-250px); + } + .mdui-drawer-close.mdui-drawer-right { + -webkit-transform: translateX(250px); + transform: translateX(250px); + } +} +/* 强制显示抽屉栏 */ +.mdui-drawer-open { + -webkit-transform: translateX(0) !important; + transform: translateX(0) !important; +} +/* PC 上的样式 */ +@media (min-width: 1024px) { + /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */ + .mdui-drawer-body-left { + padding-left: 240px; + } + .mdui-drawer-body-right { + padding-right: 240px; + } + /* PC 上默认有上边距 */ + .mdui-appbar-with-toolbar .mdui-drawer { + top: 64px; + } + .mdui-appbar-with-tab .mdui-drawer { + top: 48px; + } + .mdui-appbar-with-tab-larger .mdui-drawer { + top: 72px; + } + .mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer { + top: 112px; + } + .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer { + top: 136px; + } +} +/* 抽屉栏不是透明时添加阴影 */ +.mdui-drawer[class*="mdui-color-"]:not(.mdui-color-transparent) { + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12); + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12); +} +/* 抽屉栏 100% 高度,覆盖在导航栏上面 */ +.mdui-drawer-full-height { + top: 0 !important; +} +/** + * ============================================================================= + * ************ Drawer dark ************ + * ============================================================================= + */ +@media (max-width: 1023.9px) { + .mdui-theme-layout-dark .mdui-drawer { + background-color: #424242; + } +} +@media (prefers-color-scheme: dark) and (max-width: 1023.9px) { + .mdui-theme-layout-auto .mdui-drawer { + background-color: #424242; + } +} +/** + * ============================================================================= + * ************ Dialog 提示框 ************ + * ============================================================================= + */ +.mdui-dialog { + position: fixed; + right: 0; + left: 0; + z-index: 6000; + display: none; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 92%; + min-width: 180px; + max-width: 728px; + max-height: 90%; + margin: auto; + overflow: hidden; + color: #000; + background-color: #fff; + border-radius: 2px; + -webkit-transform: scale(0.95); + transform: scale(0.95); + opacity: 0; + -webkit-transition-duration: 0.3s; + transition-duration: 0.3s; + -webkit-transition-property: opacity, visibility, -webkit-transform; + transition-property: opacity, visibility, -webkit-transform; + transition-property: transform, opacity, visibility; + transition-property: transform, opacity, visibility, -webkit-transform; + will-change: top, opacity, transform; + -webkit-box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); + box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); +} +@media (min-width: 600px) { + .mdui-dialog { + width: 85%; + max-height: 85%; + } +} +@media (min-width: 1024px) { + .mdui-dialog { + width: 80%; + max-height: 80%; + } +} +/* 打开提示框 */ +.mdui-dialog-open { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; +} +/* 提示框标题 */ +.mdui-dialog-title { + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-weight: 500; + font-size: 20px; + line-height: 24px; + text-align: left; +} +/* 标题固定在顶部 */ +.mdui-dialog > .mdui-dialog-title { + padding: 24px 24px 20px 24px; +} +/* 提示框内容 */ +.mdui-dialog-content { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 24px; + overflow-y: auto; + color: rgba(0, 0, 0, 0.7); + font-size: 15px; + line-height: 1.5; + -webkit-overflow-scrolling: touch; +} +/* 标题随内容滚动 */ +.mdui-dialog-content > .mdui-dialog-title { + padding-bottom: 20px; +} +.mdui-dialog-title + .mdui-dialog-content { + padding-top: 0; +} +/* 提示框底部按钮 */ +.mdui-dialog-actions { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 8px; + text-align: right; +} +.mdui-dialog-actions .mdui-btn { + min-width: 64px; + margin-left: 8px; + color: #E91E63; +} +.mdui-dialog-actions .mdui-btn:first-child { + margin-left: 0; +} +/* 底部按钮滚随内容动 */ +.mdui-dialog-content > .mdui-dialog-actions { + margin: 0 -24px -24px -24px; + padding-top: 32px; +} +/* 使提示框底部按钮竖排 */ +.mdui-dialog-actions-stacked { + padding: 8px 0 8px 0; +} +.mdui-dialog-actions-stacked .mdui-btn { + width: 100%; + height: 48px; + margin: 0; + line-height: 48px !important; + text-align: right; + border-radius: 0; +} +/** + * ============================================================================= + * ************ Dialog 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn { + color: #FFC107; +} +.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn { + color: #2196F3; +} +.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn { + color: #00BCD4; +} +.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn { + color: #FF5722; +} +.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn { + color: #673AB7; +} +.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn { + color: #4CAF50; +} +.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn { + color: #3F51B5; +} +.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn { + color: #03A9F4; +} +.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn { + color: #8BC34A; +} +.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn { + color: #CDDC39; +} +.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn { + color: #FF9800; +} +.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn { + color: #E91E63; +} +.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn { + color: #9C27B0; +} +.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn { + color: #F44336; +} +.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn { + color: #009688; +} +.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn { + color: #FFEB3B; +} +/** + * ============================================================================= + * ************ Dialog dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-dialog { + color: #fff; + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-dialog-content { + color: rgba(255, 255, 255, 0.7); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-dialog { + color: #fff; + background-color: #424242; + } + .mdui-theme-layout-auto .mdui-dialog-content { + color: rgba(255, 255, 255, 0.7); + } +} +/** + * ============================================================================= + * ************ Dialog alert ************ + * ============================================================================= + */ +.mdui-dialog-alert { + max-width: 448px; +} +/** + * ============================================================================= + * ************ Dialog confirm ************ + * ============================================================================= + */ +.mdui-dialog-confirm { + max-width: 448px; +} +/** + * ============================================================================= + * ************ Dialog prompt ************ + * ============================================================================= + */ +.mdui-dialog-prompt { + max-width: 448px; +} +.mdui-dialog-prompt .mdui-textfield { + padding-top: 0; +} +/** + * ============================================================================= + * ************ Tooltip 工具提示 ************ + * ============================================================================= + */ +.mdui-tooltip { + position: absolute; + z-index: 9000; + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + max-width: 180px; + min-height: 32px; + padding: 8px 16px; + color: #fff; + font-weight: 500; + font-size: 14px; + line-height: 22px; + text-align: left; + background-color: rgba(97, 97, 97, 0.9); + border-radius: 2px; + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-duration: 0.15s; + transition-duration: 0.15s; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: opacity, transform; + transition-property: opacity, transform, -webkit-transform; + will-change: opacity, transform; +} +@media (min-width: 1024px) { + .mdui-tooltip { + max-width: 200px; + min-height: 24px; + padding: 4px 8px; + font-size: 12px; + line-height: 18px; + } +} +/* 显示工具提示 */ +.mdui-tooltip-open { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; +} +/** + * ============================================================================= + * ************ Snackbar ************ + * ============================================================================= + */ +.mdui-snackbar { + position: fixed; + z-index: 7000; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + min-height: 48px; + padding: 0 24px 0 24px; + color: #fff; + font-size: 14px; + line-height: 20px; + background-color: #323232; + will-change: transform; +} +@media (min-width: 600px) { + .mdui-snackbar { + width: auto; + min-width: 288px; + max-width: 568px; + border-radius: 2px; + } +} +.mdui-snackbar-bottom, +.mdui-snackbar-top, +.mdui-snackbar-left-top, +.mdui-snackbar-left-bottom, +.mdui-snackbar-right-top, +.mdui-snackbar-right-bottom { + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} +/* 位置 */ +.mdui-snackbar-bottom, +.mdui-snackbar-left-bottom, +.mdui-snackbar-right-bottom { + bottom: 0; +} +.mdui-snackbar-top, +.mdui-snackbar-left-top, +.mdui-snackbar-right-top { + top: 0; +} +.mdui-snackbar-top, +.mdui-snackbar-bottom { + left: 50%; +} +@media (min-width: 600px) { + .mdui-snackbar-left-top { + top: 24px; + left: 24px; + } + .mdui-snackbar-left-bottom { + bottom: 24px; + left: 24px; + } + .mdui-snackbar-right-top { + top: 24px; + right: 24px; + } + .mdui-snackbar-right-bottom { + right: 24px; + bottom: 24px; + } +} +/* 文本 */ +.mdui-snackbar-text { + position: relative; + max-width: 100%; + padding: 14px 0 14px 0; + overflow: hidden; + text-overflow: ellipsis; +} +/* 按钮 */ +.mdui-snackbar-action { + margin-right: -16px; + white-space: nowrap; + color: #FF80AB; +} +/** + * ============================================================================= + * ************ Snackbar 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-snackbar-action { + color: #FFE57F; +} +.mdui-theme-accent-blue .mdui-snackbar-action { + color: #82B1FF; +} +.mdui-theme-accent-cyan .mdui-snackbar-action { + color: #84FFFF; +} +.mdui-theme-accent-deep-orange .mdui-snackbar-action { + color: #FF9E80; +} +.mdui-theme-accent-deep-purple .mdui-snackbar-action { + color: #B388FF; +} +.mdui-theme-accent-green .mdui-snackbar-action { + color: #B9F6CA; +} +.mdui-theme-accent-indigo .mdui-snackbar-action { + color: #8C9EFF; +} +.mdui-theme-accent-light-blue .mdui-snackbar-action { + color: #80D8FF; +} +.mdui-theme-accent-light-green .mdui-snackbar-action { + color: #CCFF90; +} +.mdui-theme-accent-lime .mdui-snackbar-action { + color: #F4FF81; +} +.mdui-theme-accent-orange .mdui-snackbar-action { + color: #FFD180; +} +.mdui-theme-accent-pink .mdui-snackbar-action { + color: #FF80AB; +} +.mdui-theme-accent-purple .mdui-snackbar-action { + color: #EA80FC; +} +.mdui-theme-accent-red .mdui-snackbar-action { + color: #FF8A80; +} +.mdui-theme-accent-teal .mdui-snackbar-action { + color: #A7FFEB; +} +.mdui-theme-accent-yellow .mdui-snackbar-action { + color: #FFFF8D; +} +/** + * ============================================================================= + * ************ Snackbar dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-snackbar { + background-color: #5d5d5d; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-snackbar { + background-color: #5d5d5d; + } +} +/** + * ============================================================================= + * ************ Chip 纸片 ************ + * ============================================================================= + */ +.mdui-chip { + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 32px; + margin: 2px 0; + color: inherit; + white-space: nowrap; + background-color: #e0e0e0; + border-radius: 16px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transition: -webkit-box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: -webkit-box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1); + will-change: box-shadow; +} +.mdui-chip:hover, +.mdui-chip:focus { + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} +.mdui-chip:active { + background-color: #d6d6d6; +} +/* 左侧的图标 */ +.mdui-chip-icon { + position: relative; + display: inline-block; + width: 32px; + height: 32px; + margin-right: -4px; + overflow: hidden; + color: #fff; + font-size: 18px; + line-height: 32px; + text-align: center; + vertical-align: middle; + background-color: #989898; + border-radius: 50%; +} +.mdui-chip-icon .mdui-icon { + position: absolute; + top: 4px; + left: 4px; + color: #fff; +} +/* 文本 */ +.mdui-chip-title { + display: inline-block; + height: 32px; + padding-right: 12px; + padding-left: 12px; + font-size: 14px; + line-height: 32px; + vertical-align: middle; +} +/* 删除按钮 */ +.mdui-chip-delete { + display: inline-block; + width: 24px; + height: 24px; + margin-right: 4px; + margin-left: -8px; + overflow: hidden; + text-align: center; + text-decoration: none; + vertical-align: middle; + border-radius: 50%; + cursor: pointer; + opacity: 0.54; + -webkit-transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1); + transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1); + will-change: opacity; +} +.mdui-chip-delete:hover, +.mdui-chip-delete:focus { + opacity: 0.87; +} +/** + * ============================================================================= + * ************ Chip dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-chip { + background-color: #484848; +} +.mdui-theme-layout-dark .mdui-chip:active { + background-color: #5d5d5d; +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-chip { + background-color: #484848; + } + .mdui-theme-layout-auto .mdui-chip:active { + background-color: #5d5d5d; + } +} +/** + * ============================================================================= + * ************ Bottom navigation 底部导航栏 ************ + * ============================================================================= + */ +.mdui-bottom-nav { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 56px; + margin: 0 auto; + padding: 0; + overflow: hidden; + white-space: nowrap; +} +@media (min-width: 600px) { + .mdui-bottom-nav::before { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + content: ' '; + } + .mdui-bottom-nav::after { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + content: ' '; + } +} +.mdui-bottom-nav a { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + min-width: 32px; + max-width: none; + padding: 8px 12px 10px 12px; + overflow: hidden; + color: inherit; + font-size: 12px; + text-align: center; + text-decoration: none; + text-overflow: ellipsis; + cursor: pointer; + opacity: 0.7; + -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + will-change: padding; +} +@media (min-width: 600px) { + .mdui-bottom-nav a { + max-width: 144px; + } +} +.mdui-bottom-nav a .mdui-icon { + opacity: 0.7; +} +.mdui-bottom-nav a label { + display: block; + width: 100%; + cursor: pointer; + -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); + will-change: font-size; +} +.mdui-bottom-nav a .mdui-icon + label { + margin-top: 6px; +} +.mdui-bottom-nav a.mdui-bottom-nav-active { + color: #3F51B5; + font-size: 14px; + opacity: 1; +} +.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon { + opacity: 1; +} +/* 只在激活时显示文本 */ +.mdui-bottom-nav-text-auto a { + min-width: 32px; + padding-right: 0; + padding-left: 0; +} +@media (min-width: 600px) { + .mdui-bottom-nav-text-auto a { + max-width: 156px; + } +} +.mdui-bottom-nav-text-auto a .mdui-icon { + padding-top: 16px; + -webkit-transition: padding-top 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: padding-top 0.2s cubic-bezier(0.4, 0, 0.2, 1); + will-change: padding-top; +} +.mdui-bottom-nav-text-auto a label { + -webkit-transform: scale(0); + transform: scale(0); +} +.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active { + padding-right: 18px; + padding-left: 18px; +} +.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon { + padding-top: 0; +} +.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label { + -webkit-transform: scale(1); + transform: scale(1); +} +/* 固定到页面底部 */ +.mdui-bottom-nav-fixed { + padding-bottom: 56px; +} +.mdui-bottom-nav-fixed .mdui-bottom-nav { + position: fixed; + right: 0; + bottom: 0; + left: 0; +} +/** + * ============================================================================= + * ************ Bottom Nav 主色 ************ + * ============================================================================= + */ +.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #FFC107; +} +.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #2196F3; +} +.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #607D8B; +} +.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #795548; +} +.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #00BCD4; +} +.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #FF5722; +} +.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #673AB7; +} +.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #4CAF50; +} +.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #9E9E9E; +} +.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #3F51B5; +} +.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #03A9F4; +} +.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #8BC34A; +} +.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #CDDC39; +} +.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #FF9800; +} +.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #E91E63; +} +.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #9C27B0; +} +.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #F44336; +} +.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #009688; +} +.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #FFEB3B; +} +/* 带背景色的底部导航栏 */ +.mdui-bottom-nav[class*="mdui-color-"] .mdui-bottom-nav-active { + color: inherit !important; +} +/** + * ============================================================================= + * ************ Progress Linear 线性进度条 ************ + * ============================================================================= + */ +/* 线性进度条 */ +.mdui-progress { + position: relative; + display: block; + width: 100%; + height: 4px; + overflow: hidden; + background-color: rgba(63, 81, 181, 0.2); + border-radius: 2px; +} +/* 确定进度的线性进度条 */ +.mdui-progress-determinate { + position: absolute; + top: 0; + bottom: 0; + left: 0; + background-color: #3F51B5; + -webkit-transition: width 0.3s linear; + transition: width 0.3s linear; +} +/* 不确定进度的线性进度条 */ +.mdui-progress-indeterminate { + background-color: #3F51B5; +} +.mdui-progress-indeterminate::before { + position: absolute; + top: 0; + bottom: 0; + left: 0; + background-color: inherit; + -webkit-animation: mdui-progress-indeterminate 2s linear infinite; + animation: mdui-progress-indeterminate 2s linear infinite; + content: ' '; + will-change: left, width; +} +.mdui-progress-indeterminate::after { + position: absolute; + top: 0; + bottom: 0; + left: 0; + background-color: inherit; + -webkit-animation: mdui-progress-indeterminate-short 2s linear infinite; + animation: mdui-progress-indeterminate-short 2s linear infinite; + content: ' '; + will-change: left, width; +} +@-webkit-keyframes mdui-progress-indeterminate { + 0% { + left: 0; + width: 0; + } + 50% { + left: 30%; + width: 70%; + } + 75% { + left: 100%; + width: 0; + } +} +@keyframes mdui-progress-indeterminate { + 0% { + left: 0; + width: 0; + } + 50% { + left: 30%; + width: 70%; + } + 75% { + left: 100%; + width: 0; + } +} +@-webkit-keyframes mdui-progress-indeterminate-short { + 0% { + left: 0; + width: 0; + } + 50% { + left: 0; + width: 0; + } + 75% { + left: 0; + width: 25%; + } + 100% { + left: 100%; + width: 0; + } +} +@keyframes mdui-progress-indeterminate-short { + 0% { + left: 0; + width: 0; + } + 50% { + left: 0; + width: 0; + } + 75% { + left: 0; + width: 25%; + } + 100% { + left: 100%; + width: 0; + } +} +/** + * ============================================================================= + * ************ Progress linear 主色 ************ + * ============================================================================= + */ +.mdui-theme-primary-amber .mdui-progress { + background-color: rgba(255, 193, 7, 0.2); +} +.mdui-theme-primary-amber .mdui-progress-determinate, +.mdui-theme-primary-amber .mdui-progress-indeterminate { + background-color: #FFC107; +} +.mdui-theme-primary-blue .mdui-progress { + background-color: rgba(33, 150, 243, 0.2); +} +.mdui-theme-primary-blue .mdui-progress-determinate, +.mdui-theme-primary-blue .mdui-progress-indeterminate { + background-color: #2196F3; +} +.mdui-theme-primary-blue-grey .mdui-progress { + background-color: rgba(96, 125, 139, 0.2); +} +.mdui-theme-primary-blue-grey .mdui-progress-determinate, +.mdui-theme-primary-blue-grey .mdui-progress-indeterminate { + background-color: #607D8B; +} +.mdui-theme-primary-brown .mdui-progress { + background-color: rgba(121, 85, 72, 0.2); +} +.mdui-theme-primary-brown .mdui-progress-determinate, +.mdui-theme-primary-brown .mdui-progress-indeterminate { + background-color: #795548; +} +.mdui-theme-primary-cyan .mdui-progress { + background-color: rgba(0, 188, 212, 0.2); +} +.mdui-theme-primary-cyan .mdui-progress-determinate, +.mdui-theme-primary-cyan .mdui-progress-indeterminate { + background-color: #00BCD4; +} +.mdui-theme-primary-deep-orange .mdui-progress { + background-color: rgba(255, 87, 34, 0.2); +} +.mdui-theme-primary-deep-orange .mdui-progress-determinate, +.mdui-theme-primary-deep-orange .mdui-progress-indeterminate { + background-color: #FF5722; +} +.mdui-theme-primary-deep-purple .mdui-progress { + background-color: rgba(103, 58, 183, 0.2); +} +.mdui-theme-primary-deep-purple .mdui-progress-determinate, +.mdui-theme-primary-deep-purple .mdui-progress-indeterminate { + background-color: #673AB7; +} +.mdui-theme-primary-green .mdui-progress { + background-color: rgba(76, 175, 80, 0.2); +} +.mdui-theme-primary-green .mdui-progress-determinate, +.mdui-theme-primary-green .mdui-progress-indeterminate { + background-color: #4CAF50; +} +.mdui-theme-primary-grey .mdui-progress { + background-color: rgba(158, 158, 158, 0.2); +} +.mdui-theme-primary-grey .mdui-progress-determinate, +.mdui-theme-primary-grey .mdui-progress-indeterminate { + background-color: #9E9E9E; +} +.mdui-theme-primary-indigo .mdui-progress { + background-color: rgba(63, 81, 181, 0.2); +} +.mdui-theme-primary-indigo .mdui-progress-determinate, +.mdui-theme-primary-indigo .mdui-progress-indeterminate { + background-color: #3F51B5; +} +.mdui-theme-primary-light-blue .mdui-progress { + background-color: rgba(3, 169, 244, 0.2); +} +.mdui-theme-primary-light-blue .mdui-progress-determinate, +.mdui-theme-primary-light-blue .mdui-progress-indeterminate { + background-color: #03A9F4; +} +.mdui-theme-primary-light-green .mdui-progress { + background-color: rgba(139, 195, 74, 0.2); +} +.mdui-theme-primary-light-green .mdui-progress-determinate, +.mdui-theme-primary-light-green .mdui-progress-indeterminate { + background-color: #8BC34A; +} +.mdui-theme-primary-lime .mdui-progress { + background-color: rgba(205, 220, 57, 0.2); +} +.mdui-theme-primary-lime .mdui-progress-determinate, +.mdui-theme-primary-lime .mdui-progress-indeterminate { + background-color: #CDDC39; +} +.mdui-theme-primary-orange .mdui-progress { + background-color: rgba(255, 152, 0, 0.2); +} +.mdui-theme-primary-orange .mdui-progress-determinate, +.mdui-theme-primary-orange .mdui-progress-indeterminate { + background-color: #FF9800; +} +.mdui-theme-primary-pink .mdui-progress { + background-color: rgba(233, 30, 99, 0.2); +} +.mdui-theme-primary-pink .mdui-progress-determinate, +.mdui-theme-primary-pink .mdui-progress-indeterminate { + background-color: #E91E63; +} +.mdui-theme-primary-purple .mdui-progress { + background-color: rgba(156, 39, 176, 0.2); +} +.mdui-theme-primary-purple .mdui-progress-determinate, +.mdui-theme-primary-purple .mdui-progress-indeterminate { + background-color: #9C27B0; +} +.mdui-theme-primary-red .mdui-progress { + background-color: rgba(244, 67, 54, 0.2); +} +.mdui-theme-primary-red .mdui-progress-determinate, +.mdui-theme-primary-red .mdui-progress-indeterminate { + background-color: #F44336; +} +.mdui-theme-primary-teal .mdui-progress { + background-color: rgba(0, 150, 136, 0.2); +} +.mdui-theme-primary-teal .mdui-progress-determinate, +.mdui-theme-primary-teal .mdui-progress-indeterminate { + background-color: #009688; +} +.mdui-theme-primary-yellow .mdui-progress { + background-color: rgba(255, 235, 59, 0.2); +} +.mdui-theme-primary-yellow .mdui-progress-determinate, +.mdui-theme-primary-yellow .mdui-progress-indeterminate { + background-color: #FFEB3B; +} +/** + * ============================================================================= + * ************ Progress Circular 圆形进度条 ************ + * ============================================================================= + */ +.mdui-spinner { + position: relative; + display: inline-block; + width: 28px; + height: 28px; + -webkit-animation: mdui-spinner 1568ms linear infinite; + animation: mdui-spinner 1568ms linear infinite; +} +@-webkit-keyframes mdui-spinner { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes mdui-spinner { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.mdui-spinner-layer { + position: absolute; + width: 100%; + height: 100%; + border-color: #3F51B5; + opacity: 0; + opacity: 1; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} +.mdui-spinner-layer-1 { + border-color: #42A5F5 !important; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} +.mdui-spinner-layer-2 { + border-color: #F44336 !important; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} +.mdui-spinner-layer-3 { + border-color: #FDD835 !important; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} +.mdui-spinner-layer-4 { + border-color: #4CAF50 !important; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} +@-webkit-keyframes mdui-spinner-layer-fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); + } + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); + } + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); + } + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); + } + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); + } + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); + } + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); + } + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); + } +} +@keyframes mdui-spinner-layer-fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); + } + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); + } + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); + } + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); + } + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); + } + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); + } + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); + } + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); + } +} +@-webkit-keyframes mdui-spinner-layer-1-fade-in-out { + from { + opacity: 1; + } + 25% { + opacity: 1; + } + 26% { + opacity: 0; + } + 89% { + opacity: 0; + } + 90% { + opacity: 1; + } + 100% { + opacity: 1; + } +} +@keyframes mdui-spinner-layer-1-fade-in-out { + from { + opacity: 1; + } + 25% { + opacity: 1; + } + 26% { + opacity: 0; + } + 89% { + opacity: 0; + } + 90% { + opacity: 1; + } + 100% { + opacity: 1; + } +} +@-webkit-keyframes mdui-spinner-layer-2-fade-in-out { + from { + opacity: 0; + } + 15% { + opacity: 0; + } + 25% { + opacity: 1; + } + 50% { + opacity: 1; + } + 51% { + opacity: 0; + } +} +@keyframes mdui-spinner-layer-2-fade-in-out { + from { + opacity: 0; + } + 15% { + opacity: 0; + } + 25% { + opacity: 1; + } + 50% { + opacity: 1; + } + 51% { + opacity: 0; + } +} +@-webkit-keyframes mdui-spinner-layer-3-fade-in-out { + from { + opacity: 0; + } + 40% { + opacity: 0; + } + 50% { + opacity: 1; + } + 75% { + opacity: 1; + } + 76% { + opacity: 0; + } +} +@keyframes mdui-spinner-layer-3-fade-in-out { + from { + opacity: 0; + } + 40% { + opacity: 0; + } + 50% { + opacity: 1; + } + 75% { + opacity: 1; + } + 76% { + opacity: 0; + } +} +@-webkit-keyframes mdui-spinner-layer-4-fade-in-out { + from { + opacity: 0; + } + 65% { + opacity: 0; + } + 75% { + opacity: 1; + } + 90% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +@keyframes mdui-spinner-layer-4-fade-in-out { + from { + opacity: 0; + } + 65% { + opacity: 0; + } + 75% { + opacity: 1; + } + 90% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +.mdui-spinner-gap-patch { + position: absolute; + top: 0; + left: 45%; + width: 10%; + height: 100%; + overflow: hidden; + border-color: inherit; +} +.mdui-spinner-gap-patch .mdui-spinner-circle { + left: -450%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 1000%; +} +.mdui-spinner-circle-clipper { + position: relative; + display: inline-block; + width: 50%; + height: 100%; + overflow: hidden; + border-color: inherit; +} +.mdui-spinner-circle-clipper .mdui-spinner-circle { + position: absolute; + top: 0; + right: 0; + bottom: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 200%; + height: 100%; + border-color: inherit; + border-style: solid; + border-width: 3px; + border-bottom-color: transparent !important; + border-radius: 50%; + -webkit-animation: none; + animation: none; +} +.mdui-spinner-circle-clipper.mdui-spinner-left { + float: left; +} +.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle { + left: 0; + border-right-color: transparent !important; + -webkit-transform: rotate(129deg); + transform: rotate(129deg); + -webkit-animation: mdui-spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdui-spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} +.mdui-spinner-circle-clipper.mdui-spinner-right { + float: right; +} +.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle { + left: -100%; + border-left-color: transparent !important; + -webkit-transform: rotate(-129deg); + transform: rotate(-129deg); + -webkit-animation: mdui-spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdui-spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} +@-webkit-keyframes mdui-spinner-left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); + } + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } +} +@keyframes mdui-spinner-left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); + } + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } +} +@-webkit-keyframes mdui-spinner-right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); + } + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } +} +@keyframes mdui-spinner-right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); + } + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } +} +/** + * ============================================================================= + * ************ Spinner linear 主色 ************ + * ============================================================================= + */ +.mdui-theme-primary-amber .mdui-spinner-layer { + border-color: #FFC107; +} +.mdui-theme-primary-blue .mdui-spinner-layer { + border-color: #2196F3; +} +.mdui-theme-primary-blue-grey .mdui-spinner-layer { + border-color: #607D8B; +} +.mdui-theme-primary-brown .mdui-spinner-layer { + border-color: #795548; +} +.mdui-theme-primary-cyan .mdui-spinner-layer { + border-color: #00BCD4; +} +.mdui-theme-primary-deep-orange .mdui-spinner-layer { + border-color: #FF5722; +} +.mdui-theme-primary-deep-purple .mdui-spinner-layer { + border-color: #673AB7; +} +.mdui-theme-primary-green .mdui-spinner-layer { + border-color: #4CAF50; +} +.mdui-theme-primary-grey .mdui-spinner-layer { + border-color: #9E9E9E; +} +.mdui-theme-primary-indigo .mdui-spinner-layer { + border-color: #3F51B5; +} +.mdui-theme-primary-light-blue .mdui-spinner-layer { + border-color: #03A9F4; +} +.mdui-theme-primary-light-green .mdui-spinner-layer { + border-color: #8BC34A; +} +.mdui-theme-primary-lime .mdui-spinner-layer { + border-color: #CDDC39; +} +.mdui-theme-primary-orange .mdui-spinner-layer { + border-color: #FF9800; +} +.mdui-theme-primary-pink .mdui-spinner-layer { + border-color: #E91E63; +} +.mdui-theme-primary-purple .mdui-spinner-layer { + border-color: #9C27B0; +} +.mdui-theme-primary-red .mdui-spinner-layer { + border-color: #F44336; +} +.mdui-theme-primary-teal .mdui-spinner-layer { + border-color: #009688; +} +.mdui-theme-primary-yellow .mdui-spinner-layer { + border-color: #FFEB3B; +} +/** + * ============================================================================= + * ************ Menu 菜单 ************ + * ============================================================================= + */ +/* 菜单 */ +.mdui-menu { + position: fixed; + z-index: 99999; + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 168px; + margin: 0; + padding: 8px 0; + overflow-y: auto; + color: rgba(0, 0, 0, 0.87); + font-size: 16px; + list-style: none; + background-color: #fff; + border-radius: 2px; + -webkit-transform: scale(0); + transform: scale(0); + visibility: hidden; + opacity: 0; + -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + -webkit-transition-duration: 0.3s; + transition-duration: 0.3s; + -webkit-transition-property: opacity, visibility, -webkit-transform; + transition-property: opacity, visibility, -webkit-transform; + transition-property: transform, opacity, visibility; + transition-property: transform, opacity, visibility, -webkit-transform; + will-change: transform, opacity, visibility; + -webkit-overflow-scrolling: touch; + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); +} +.mdui-menu .mdui-divider { + margin-top: 8px; + margin-bottom: 8px; +} +/* 打开状态的菜单 */ +.mdui-menu-open { + -webkit-transform: scale(1); + transform: scale(1); + visibility: visible; + opacity: 1; +} +/* 关闭中的菜单 */ +.mdui-menu-closing { + -webkit-transform: scale(1); + transform: scale(1); + visibility: visible; + opacity: 0; +} +/* 菜单项 */ +.mdui-menu-item { + position: relative; +} +.mdui-menu-item > a { + position: relative; + display: block; + height: 48px; + padding: 0 16px; + color: inherit; + line-height: 48px; + text-decoration: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.mdui-menu-item > a:hover { + background-color: #EEEEEE; +} +.mdui-menu-item > .mdui-menu { + position: absolute; + -webkit-box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12); + box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12); +} +.mdui-menu-item[disabled] > a { + color: rgba(0, 0, 0, 0.38) !important; + cursor: default; +} +.mdui-menu-item[disabled] > a:hover { + background-color: inherit !important; +} +.mdui-menu-item[disabled] > a .mdui-icon { + color: rgba(0, 0, 0, 0.26); +} +/* 激活状态的菜单项 */ +.mdui-menu-item-active { + background-color: #EEEEEE; +} +/* 菜单中的图标 */ +.mdui-menu-item-icon { + display: inline-block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 40px; + padding-right: 16px; + color: rgba(0, 0, 0, 0.54); +} +/* 菜单中的辅助文本或图标 */ +.mdui-menu-item-helper { + float: right; +} +/* 有子菜单的条目的图标 */ +.mdui-menu-item-more { + float: right; + width: 24px; + height: 24px; + margin: 4px 0; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' opacity='.54'/%3E%3C/svg%3E"); +} +/* 级联菜单 */ +.mdui-menu-cascade { + width: 320px; + padding: 16px 0; + overflow: visible; + font-size: 15px; +} +.mdui-menu-cascade > .mdui-menu-item > a { + height: 32px; + padding: 0 24px; + line-height: 32px; +} +/** + * ============================================================================= + * ************ Menu dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-menu { + color: #fff; + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-menu-item > a:hover { + background-color: #616161; +} +.mdui-theme-layout-dark .mdui-menu-item[disabled] > a { + color: rgba(255, 255, 255, 0.5) !important; +} +.mdui-theme-layout-dark .mdui-menu-item[disabled] > a .mdui-icon { + color: rgba(255, 255, 255, 0.3); +} +.mdui-theme-layout-dark .mdui-menu-item-active { + background-color: #616161; +} +.mdui-theme-layout-dark .mdui-menu-item-icon { + color: #ffffff; +} +.mdui-theme-layout-dark .mdui-menu-item-more { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E"); +} +@media (prefers-color-scheme: dark) { + .mdui-theme-layout-auto .mdui-menu { + color: #fff; + background-color: #424242; + } + .mdui-theme-layout-auto .mdui-menu-item > a:hover { + background-color: #616161; + } + .mdui-theme-layout-auto .mdui-menu-item[disabled] > a { + color: rgba(255, 255, 255, 0.5) !important; + } + .mdui-theme-layout-auto .mdui-menu-item[disabled] > a .mdui-icon { + color: rgba(255, 255, 255, 0.3); + } + .mdui-theme-layout-auto .mdui-menu-item-active { + background-color: #616161; + } + .mdui-theme-layout-auto .mdui-menu-item-icon { + color: #ffffff; + } + .mdui-theme-layout-auto .mdui-menu-item-more { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E"); + } +} + +/*# sourceMappingURL=mdui.css.map */ diff --git a/static/mdui/css/mdui.css.map b/static/mdui/css/mdui.css.map new file mode 100644 index 0000000..62f2cad --- /dev/null +++ b/static/mdui/css/mdui.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.css","../node_modules/normalize.css/normalize.css","styles/global.less","styles/mixin/helper.less","styles/mixin/layout-theme.less","styles/variable/shadow.less","styles/mixin/color.less","styles/color.less","styles/helper.less","styles/icon.less","styles/material-icons.less","styles/media.less","styles/mixin/media.less","styles/roboto.less","styles/typo-styles.less","styles/mixin/typo.less","styles/typo.less","styles/grid.less","styles/mixin/shadow.less","styles/shadow.less","components/headroom/index.less","components/collapse/index.less","components/panel/index.less","styles/mixin/divider.less","components/table/index.less","components/divider/index.less","components/ripple/index.less","components/textfield/index.less","components/selection_control/checkbox.less","components/selection_control/radio.less","components/selection_control/switch.less","components/slider/index.less","components/button/index.less","components/fab/index.less","components/select/index.less","components/toolbar/index.less","components/appbar/index.less","components/card/index.less","components/tab/index.less","components/subheader/index.less","components/grid_list/index.less","components/list/index.less","components/drawer/index.less","components/dialog/index.less","components/dialog/alert.less","components/dialog/confirm.less","components/dialog/prompt.less","components/tooltip/index.less","components/snackbar/index.less","components/chip/index.less","components/bottom_nav/index.less","components/progress/progress.less","components/progress/spinner.less","components/menu/index.less"],"names":[],"mappings":"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AAA;EAzCE,yBAAA;ANijBJ;AKpjBC;EC4CC,oCAAA;EAtCE,qCAAA;ANkjBJ;AKxjBC;EC4CC,oCAAA;EAtCE,qCAAA;ANsjBJ;AK5jBC;EC4CC,oCAAA;EAtCE,qCAAA;AN0jBJ;AKhkBC;EC4CC,oCAAA;EAtCE,qCAAA;AN8jBJ;AKpkBC;EC4CC,oCAAA;EAzCE,yBAAA;ANqkBJ;AKxkBC;EC4CC,oCAAA;EAzCE,yBAAA;ANykBJ;AK5kBC;EC4CC,oCAAA;EAzCE,yBAAA;AN6kBJ;AKhlBC;EC4CC,oCAAA;EAzCE,yBAAA;ANilBJ;AKplBC;EC4CC,oCAAA;EAzCE,yBAAA;ANqlBJ;AKxlBC;EC4CC,oCAAA;EAzCE,yBAAA;ANylBJ;AK5lBC;EC4CC,oCAAA;EAzCE,yBAAA;AN6lBJ;AKhmBC;EC4CC,oCAAA;EAtCE,qCAAA;AN8lBJ;AKpmBC;EC4CC,oCAAA;EAtCE,qCAAA;ANkmBJ;AKxmBC;EC4CC,oCAAA;EAtCE,qCAAA;ANsmBJ;AK5mBC;EC4CC,oCAAA;EAzCE,yBAAA;AN6mBJ;AKhnBC;EC4CC,oCAAA;EAzCE,yBAAA;ANinBJ;AKpnBC;EC4CC,oCAAA;EAzCE,yBAAA;ANqnBJ;AKxnBC;EC4CC,oCAAA;EAzCE,yBAAA;ANynBJ;AK5nBC;EC4CC,oCAAA;EAzCE,yBAAA;AN6nBJ;AKhoBC;EC4CC,oCAAA;EAzCE,yBAAA;ANioBJ;AKpoBC;EC4CC,oCAAA;EAzCE,yBAAA;ANqoBJ;AKxoBC;EC4CC,oCAAA;EAtCE,qCAAA;ANsoBJ;AK5oBC;EC4CC,oCAAA;EAtCE,qCAAA;AN0oBJ;AKhpBC;EC4CC,oCAAA;EAtCE,qCAAA;AN8oBJ;AKppBC;EC4CC,oCAAA;EAtCE,qCAAA;ANkpBJ;AKxpBC;EC4CC,oCAAA;EAtCE,qCAAA;ANspBJ;AK5pBC;EC4CC,oCAAA;EAtCE,qCAAA;AN0pBJ;AKhqBC;EC4CC,oCAAA;EAtCE,qCAAA;AN8pBJ;AKpqBC;EC4CC,oCAAA;EAtCE,qCAAA;ANkqBJ;AKxqBC;EC4CC,oCAAA;EAzCE,yBAAA;ANyqBJ;AK5qBC;EC4CC,oCAAA;EAzCE,yBAAA;AN6qBJ;AKhrBC;EC4CC,oCAAA;EAzCE,yBAAA;ANirBJ;AKprBC;EC4CC,oCAAA;EAtCE,qCAAA;ANkrBJ;AKxrBC;EC4CC,oCAAA;EAtCE,qCAAA;ANsrBJ;AK5rBC;EC4CC,oCAAA;EAtCE,qCAAA;AN0rBJ;AKhsBC;EC4CC,oCAAA;EAtCE,qCAAA;AN8rBJ;AKpsBC;EC4CC,oCAAA;EAtCE,qCAAA;ANksBJ;AKxsBC;EC4CC,oCAAA;EAtCE,qCAAA;ANssBJ;AK5sBC;EC4CC,oCAAA;EAtCE,qCAAA;AN0sBJ;AKhtBC;EC4CC,oCAAA;EAzCE,yBAAA;ANitBJ;AKptBC;EC4CC,oCAAA;EAzCE,yBAAA;ANqtBJ;AKxtBC;EC4CC,oCAAA;EAzCE,yBAAA;ANytBJ;AK5tBC;EC4CC,oCAAA;EAzCE,yBAAA;AN6tBJ;AKhuBC;EC4CC,oCAAA;EAzCE,yBAAA;ANiuBJ;AKpuBC;EC4CC,oCAAA;EAtCE,qCAAA;ANkuBJ;AKxuBC;EC4CC,oCAAA;EAtCE,qCAAA;ANsuBJ;AK5uBC;EC4CC,oCAAA;EAtCE,qCAAA;AN0uBJ;AKhvBC;EC4CC,oCAAA;EAzCE,yBAAA;ANivBJ;AKpvBC;EC4CC,oCAAA;EAzCE,yBAAA;ANqvBJ;AKxvBC;EC4CC,oCAAA;EAzCE,yBAAA;ANyvBJ;AK5vBC;EC4CC,oCAAA;EAzCE,yBAAA;AN6vBJ;AKhwBC;EC4CC,oCAAA;EAzCE,yBAAA;ANiwBJ;AKpwBC;EC4CC,oCAAA;EAzCE,yBAAA;ANqwBJ;AKxwBC;EC4CC,oCAAA;EAzCE,yBAAA;ANywBJ;AK5wBC;EC4CC,oCAAA;EAtCE,qCAAA;AN0wBJ;AKhxBC;EC4CC,oCAAA;EAtCE,qCAAA;AN8wBJ;AKpxBC;EC4CC,oCAAA;EAtCE,qCAAA;ANkxBJ;AKxxBC;EC4CC,oCAAA;EAtCE,qCAAA;ANsxBJ;AK5xBC;EC4CC,oCAAA;EAtCE,qCAAA;AN0xBJ;AKhyBC;EC4CC,oCAAA;EAtCE,qCAAA;AN8xBJ;AKpyBC;EC4CC,oCAAA;EAtCE,qCAAA;ANkyBJ;AKxyBC;EC4CC,oCAAA;EAzCE,yBAAA;ANyyBJ;AK5yBC;EC4CC,oCAAA;EAzCE,yBAAA;AN6yBJ;AKhzBC;EC4CC,oCAAA;EAzCE,yBAAA;ANizBJ;AKpzBC;EC4CC,oCAAA;EAzCE,yBAAA;ANqzBJ;AKxzBC;EC4CC,oCAAA;EAtCE,qCAAA;ANszBJ;AK5zBC;EC4CC,oCAAA;EAtCE,qCAAA;AN0zBJ;AKh0BC;EC4CC,oCAAA;EAtCE,qCAAA;AN8zBJ;AKp0BC;EC4CC,oCAAA;EAtCE,qCAAA;ANk0BJ;AKx0BC;EC4CC,oCAAA;EAtCE,qCAAA;ANs0BJ;AK50BC;EC4CC,oCAAA;EAtCE,qCAAA;AN00BJ;AKh1BC;EC4CC,oCAAA;EAtCE,qCAAA;AN80BJ;AKp1BC;EC4CC,oCAAA;EAzCE,yBAAA;ANq1BJ;AKx1BC;EC4CC,oCAAA;EAzCE,yBAAA;ANy1BJ;AK51BC;EC4CC,oCAAA;EAzCE,yBAAA;AN61BJ;AKh2BC;EC4CC,oCAAA;EAzCE,yBAAA;ANi2BJ;AKp2BC;EC4CC,oCAAA;EAzCE,yBAAA;ANq2BJ;AKx2BC;EC4CC,oCAAA;EAtCE,qCAAA;ANs2BJ;AK52BC;EC4CC,oCAAA;EAtCE,qCAAA;AN02BJ;AKh3BC;EC4CC,oCAAA;EAtCE,qCAAA;AN82BJ;AKp3BC;EC4CC,oCAAA;EAzCE,yBAAA;ANq3BJ;AKx3BC;EC4CC,oCAAA;EAzCE,yBAAA;ANy3BJ;AK53BC;EC4CC,oCAAA;EAzCE,yBAAA;AN63BJ;AKh4BC;EC4CC,oCAAA;EAzCE,yBAAA;ANi4BJ;AKp4BC;EC4CC,oCAAA;EAzCE,yBAAA;ANq4BJ;AKx4BC;EC4CC,oCAAA;EAzCE,yBAAA;ANy4BJ;AK54BC;EC4CC,oCAAA;EAzCE,yBAAA;AN64BJ;AKh5BC;EC4CC,oCAAA;EAtCE,qCAAA;AN84BJ;AKp5BC;EC4CC,oCAAA;EAtCE,qCAAA;ANk5BJ;AKx5BC;EC4CC,oCAAA;EAtCE,qCAAA;ANs5BJ;AK55BC;EC4CC,oCAAA;EAtCE,qCAAA;AN05BJ;AKh6BC;EC4CC,oCAAA;EAtCE,qCAAA;AN85BJ;AKp6BC;EC4CC,oCAAA;EAtCE,qCAAA;ANk6BJ;AKx6BC;EC4CC,oCAAA;EAtCE,qCAAA;ANs6BJ;AK56BC;EC4CC,oCAAA;EAtCE,qCAAA;AN06BJ;AKh7BC;EC4CC,oCAAA;EAzCE,yBAAA;ANi7BJ;AKp7BC;EC4CC,oCAAA;EAzCE,yBAAA;ANq7BJ;AKx7BC;EC4CC,oCAAA;EAzCE,yBAAA;ANy7BJ;AK57BC;EC4CC,oCAAA;EAtCE,qCAAA;AN07BJ;AKh8BC;EC4CC,oCAAA;EAtCE,qCAAA;AN87BJ;AKp8BC;EC4CC,oCAAA;EAtCE,qCAAA;ANk8BJ;AKx8BC;EC4CC,oCAAA;EAtCE,qCAAA;ANs8BJ;AK58BC;EC4CC,oCAAA;EAtCE,qCAAA;AN08BJ;AKh9BC;EC4CC,oCAAA;EAtCE,qCAAA;AN88BJ;AKp9BC;EC4CC,oCAAA;EAtCE,qCAAA;ANk9BJ;AKx9BC;EC4CC,oCAAA;EAtCE,qCAAA;ANs9BJ;AK59BC;EC4CC,oCAAA;EAtCE,qCAAA;AN09BJ;AKh+BC;EC4CC,oCAAA;EAzCE,yBAAA;ANi+BJ;AKp+BC;EC4CC,oCAAA;EAzCE,yBAAA;ANq+BJ;AKx+BC;EC4CC,oCAAA;EAtCE,qCAAA;ANs+BJ;AK5+BC;EC4CC,oCAAA;EAtCE,qCAAA;AN0+BJ;AKh/BC;EC4CC,oCAAA;EAtCE,qCAAA;AN8+BJ;AKp/BC;EC4CC,oCAAA;EAtCE,qCAAA;ANk/BJ;AKx/BC;EC4CC,oCAAA;EAtCE,qCAAA;ANs/BJ;AK5/BC;EC4CC,oCAAA;EAtCE,qCAAA;AN0/BJ;AKhgCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8/BJ;AKpgCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkgCJ;AKxgCC;EC4CC,oCAAA;EAtCE,qCAAA;ANsgCJ;AK5gCC;EC4CC,oCAAA;EAtCE,qCAAA;AN0gCJ;AKhhCC;EC4CC,oCAAA;EAzCE,yBAAA;ANihCJ;AKphCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkhCJ;AKxhCC;EC4CC,oCAAA;EAtCE,qCAAA;ANshCJ;AK5hCC;EC4CC,oCAAA;EAtCE,qCAAA;AN0hCJ;AKhiCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8hCJ;AKpiCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkiCJ;AKxiCC;EC4CC,oCAAA;EAtCE,qCAAA;ANsiCJ;AK5iCC;EC4CC,oCAAA;EAtCE,qCAAA;AN0iCJ;AKhjCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8iCJ;AKpjCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkjCJ;AKxjCC;EC4CC,oCAAA;EAtCE,qCAAA;ANsjCJ;AK5jCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6jCJ;AKhkCC;EC4CC,oCAAA;EAzCE,yBAAA;ANikCJ;AKpkCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkkCJ;AKxkCC;EC4CC,oCAAA;EAtCE,qCAAA;ANskCJ;AK5kCC;EC4CC,oCAAA;EAtCE,qCAAA;AN0kCJ;AKhlCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8kCJ;AKplCC;EC4CC,oCAAA;EAzCE,yBAAA;ANqlCJ;AKxlCC;EC4CC,oCAAA;EAzCE,yBAAA;ANylCJ;AK5lCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6lCJ;AKhmCC;EC4CC,oCAAA;EAzCE,yBAAA;ANimCJ;AKpmCC;EC4CC,oCAAA;EAzCE,yBAAA;ANqmCJ;AKxmCC;EC4CC,oCAAA;EAzCE,yBAAA;ANymCJ;AK5mCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6mCJ;AKhnCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8mCJ;AKpnCC;EC4CC,oCAAA;EAtCE,qCAAA;ANknCJ;AKxnCC;EC4CC,oCAAA;EAtCE,qCAAA;ANsnCJ;AK5nCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6nCJ;AKhoCC;EC4CC,oCAAA;EAzCE,yBAAA;ANioCJ;AKpoCC;EC4CC,oCAAA;EAzCE,yBAAA;ANqoCJ;AKxoCC;EC4CC,oCAAA;EAzCE,yBAAA;ANyoCJ;AK5oCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6oCJ;AKhpCC;EC4CC,oCAAA;EAzCE,yBAAA;ANipCJ;AKppCC;EC4CC,oCAAA;EAzCE,yBAAA;ANqpCJ;AKxpCC;EC4CC,oCAAA;EAzCE,yBAAA;ANypCJ;AK5pCC;EC4CC,oCAAA;EAtCE,qCAAA;AN0pCJ;AKhqCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8pCJ;AKpqCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkqCJ;AKxqCC;EC4CC,oCAAA;EAtCE,qCAAA;ANsqCJ;AK5qCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6qCJ;AKhrCC;EC4CC,oCAAA;EAzCE,yBAAA;ANirCJ;AKprCC;EC4CC,oCAAA;EAzCE,yBAAA;ANqrCJ;AKxrCC;EC4CC,oCAAA;EAzCE,yBAAA;ANyrCJ;AK5rCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6rCJ;AKhsCC;EC4CC,oCAAA;EAzCE,yBAAA;ANisCJ;AKpsCC;EC4CC,oCAAA;EAzCE,yBAAA;ANqsCJ;AKxsCC;EC4CC,oCAAA;EAtCE,qCAAA;ANssCJ;AK5sCC;EC4CC,oCAAA;EAtCE,qCAAA;AN0sCJ;AKhtCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8sCJ;AKptCC;EC4CC,oCAAA;EAtCE,qCAAA;ANktCJ;AKxtCC;EC4CC,oCAAA;EAtCE,qCAAA;ANstCJ;AK5tCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6tCJ;AKhuCC;EC4CC,oCAAA;EAzCE,yBAAA;ANiuCJ;AKpuCC;EC4CC,oCAAA;EAzCE,yBAAA;ANquCJ;AKxuCC;EC4CC,oCAAA;EAzCE,yBAAA;ANyuCJ;AK5uCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6uCJ;AKhvCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8uCJ;AKpvCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkvCJ;AKxvCC;EC4CC,oCAAA;EAtCE,qCAAA;ANsvCJ;AK5vCC;EC4CC,oCAAA;EAtCE,qCAAA;AN0vCJ;AKhwCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8vCJ;AKpwCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkwCJ;AKxwCC;EC4CC,oCAAA;EAtCE,qCAAA;ANswCJ;AK5wCC;EC4CC,oCAAA;EAtCE,qCAAA;AN0wCJ;AKhxCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8wCJ;AKpxCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkxCJ;AKxxCC;EC4CC,oCAAA;EAtCE,qCAAA;ANsxCJ;AACA;;;EAGE;AKhyCD;EC4CC,oCAAA;EAtCE,qCAAA;AN8xCJ;AKpyCC;EC4CC,oCAAA;EAtCE,qCAAA;ANkyCJ;AKxyCC;EC4CC,oCAAA;EAtCE,qCAAA;ANsyCJ;AK5yCC;EC4CC,oCAAA;EAtCE,qCAAA;AN0yCJ;AKhzCC;EC4CC,oCAAA;EAtCE,qCAAA;AN8yCJ;AKpzCC;EC4CC,oCAAA;EAzCE,yBAAA;ANqzCJ;AKxzCC;EC4CC,oCAAA;EAtCE,qCAAA;ANszCJ;AK5zCC;EC4CC,oCAAA;EAzCE,yBAAA;AN6zCJ;AKh0CC;EC4CC,oCAAA;EAzCE,yBAAA;ANi0CJ;AKp0CC;EC4CC,oCAAA;EAzCE,yBAAA;ANq0CJ;AKx0CC;EC4CC,oCAAA;EAtCE,qCAAA;ANs0CJ;AK50CC;EC4CC,oCAAA;EAtCE,qCAAA;AN00CJ;AKh1CC;EC4CC,oCAAA;EAtCE,qCAAA;AN80CJ;AKp1CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk1CJ;AKx1CC;EC4CC,oCAAA;EAtCE,qCAAA;ANs1CJ;AK51CC;EC4CC,oCAAA;EAtCE,qCAAA;AN01CJ;AKh2CC;EC4CC,oCAAA;EAtCE,qCAAA;AN81CJ;AKp2CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk2CJ;AKx2CC;EC4CC,oCAAA;EAzCE,yBAAA;ANy2CJ;AK52CC;EC4CC,oCAAA;EAzCE,yBAAA;AN62CJ;AKh3CC;EC4CC,oCAAA;EAzCE,yBAAA;ANi3CJ;AKp3CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk3CJ;AKx3CC;EC4CC,oCAAA;EAzCE,yBAAA;ANy3CJ;AK53CC;EC4CC,oCAAA;EAzCE,yBAAA;AN63CJ;AKh4CC;EC4CC,oCAAA;EAzCE,yBAAA;ANi4CJ;AKp4CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk4CJ;AKx4CC;EC4CC,oCAAA;EAtCE,qCAAA;ANs4CJ;AK54CC;EC4CC,oCAAA;EAtCE,qCAAA;AN04CJ;AKh5CC;EC4CC,oCAAA;EAtCE,qCAAA;AN84CJ;AKp5CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk5CJ;AKx5CC;EC4CC,oCAAA;EAzCE,yBAAA;ANy5CJ;AK55CC;EC4CC,oCAAA;EAtCE,qCAAA;AN05CJ;AKh6CC;EC4CC,oCAAA;EAzCE,yBAAA;ANi6CJ;AKp6CC;EC4CC,oCAAA;EAzCE,yBAAA;ANq6CJ;AKx6CC;EC4CC,oCAAA;EAzCE,yBAAA;ANy6CJ;AK56CC;EC4CC,oCAAA;EAtCE,qCAAA;AN06CJ;AKh7CC;EC4CC,oCAAA;EAtCE,qCAAA;AN86CJ;AKp7CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk7CJ;AKx7CC;EC4CC,oCAAA;EAtCE,qCAAA;ANs7CJ;AK57CC;EC4CC,oCAAA;EAzCE,yBAAA;AN67CJ;AKh8CC;EC4CC,oCAAA;EAtCE,qCAAA;AN87CJ;AKp8CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk8CJ;AKx8CC;EC4CC,oCAAA;EAtCE,qCAAA;ANs8CJ;AK58CC;EC4CC,oCAAA;EAtCE,qCAAA;AN08CJ;AKh9CC;EC4CC,oCAAA;EAtCE,qCAAA;AN88CJ;AKp9CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk9CJ;AKx9CC;EC4CC,oCAAA;EAtCE,qCAAA;ANs9CJ;AK59CC;EC4CC,oCAAA;EAtCE,qCAAA;AN09CJ;AKh+CC;EC4CC,oCAAA;EAtCE,qCAAA;AN89CJ;AKp+CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk+CJ;AKx+CC;EC4CC,oCAAA;EAtCE,qCAAA;ANs+CJ;AK5+CC;EC4CC,oCAAA;EAtCE,qCAAA;AN0+CJ;AKh/CC;EC4CC,oCAAA;EAtCE,qCAAA;AN8+CJ;AKp/CC;EC4CC,oCAAA;EAtCE,qCAAA;ANk/CJ;AKx/CC;EC4CC,oCAAA;EAtCE,qCAAA;ANs/CJ;AK5/CC;EC4CC,oCAAA;EAzCE,yBAAA;AN6/CJ;AKhgDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8/CJ;AKpgDC;EC4CC,oCAAA;EAzCE,yBAAA;ANqgDJ;AKxgDC;EC4CC,oCAAA;EAzCE,yBAAA;ANygDJ;AK5gDC;EC4CC,oCAAA;EAzCE,yBAAA;AN6gDJ;AKhhDC;EC4CC,oCAAA;EAzCE,yBAAA;ANihDJ;AKphDC;EC4CC,oCAAA;EAtCE,qCAAA;ANkhDJ;AKxhDC;EC4CC,oCAAA;EAzCE,yBAAA;ANyhDJ;AK5hDC;EC4CC,oCAAA;EAzCE,yBAAA;AN6hDJ;AKhiDC;EC4CC,oCAAA;EAzCE,yBAAA;ANiiDJ;AKpiDC;EC4CC,oCAAA;EAzCE,yBAAA;ANqiDJ;AKxiDC;EC4CC,oCAAA;EAtCE,qCAAA;ANsiDJ;AK5iDC;EC4CC,oCAAA;EAzCE,yBAAA;AN6iDJ;AKhjDC;EC4CC,oCAAA;EAzCE,yBAAA;ANijDJ;AKpjDC;EC4CC,oCAAA;EAzCE,yBAAA;ANqjDJ;AKxjDC;EC4CC,oCAAA;EAtCE,qCAAA;ANsjDJ;AK5jDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0jDJ;AKhkDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8jDJ;AKpkDC;EC4CC,oCAAA;EAtCE,qCAAA;ANkkDJ;AKxkDC;EC4CC,oCAAA;EAtCE,qCAAA;ANskDJ;AK5kDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0kDJ;AKhlDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8kDJ;AKplDC;EC4CC,oCAAA;EAtCE,qCAAA;ANklDJ;AKxlDC;EC4CC,oCAAA;EAtCE,qCAAA;ANslDJ;AK5lDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0lDJ;AACA;;;EAGE;AKpmDD;EC4CC,oCAAA;EAtCE,qCAAA;ANkmDJ;AKxmDC;EC4CC,oCAAA;EAtCE,qCAAA;ANsmDJ;AK5mDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0mDJ;AKhnDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8mDJ;AKpnDC;EC4CC,oCAAA;EAtCE,qCAAA;ANknDJ;AKxnDC;EC4CC,oCAAA;EAtCE,qCAAA;ANsnDJ;AK5nDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0nDJ;AKhoDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8nDJ;AKpoDC;EC4CC,oCAAA;EAtCE,qCAAA;ANkoDJ;AKxoDC;EC4CC,oCAAA;EAtCE,qCAAA;ANsoDJ;AK5oDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0oDJ;AKhpDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8oDJ;AKppDC;EC4CC,oCAAA;EAtCE,qCAAA;ANkpDJ;AKxpDC;EC4CC,oCAAA;EAtCE,qCAAA;ANspDJ;AK5pDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0pDJ;AKhqDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8pDJ;AKpqDC;EC4CC,oCAAA;EAtCE,qCAAA;ANkqDJ;AKxqDC;EC4CC,oCAAA;EAtCE,qCAAA;ANsqDJ;AK5qDC;EC4CC,oCAAA;EAzCE,yBAAA;AN6qDJ;AKhrDC;EC4CC,oCAAA;EAzCE,yBAAA;ANirDJ;AKprDC;EC4CC,oCAAA;EAzCE,yBAAA;ANqrDJ;AKxrDC;EC4CC,oCAAA;EAzCE,yBAAA;ANyrDJ;AK5rDC;EC4CC,oCAAA;EAzCE,yBAAA;AN6rDJ;AKhsDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8rDJ;AKpsDC;EC4CC,oCAAA;EAtCE,qCAAA;ANksDJ;AKxsDC;EC4CC,oCAAA;EAtCE,qCAAA;ANssDJ;AK5sDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0sDJ;AKhtDC;EC4CC,oCAAA;EAzCE,yBAAA;ANitDJ;AKptDC;EC4CC,oCAAA;EAzCE,yBAAA;ANqtDJ;AKxtDC;EC4CC,oCAAA;EAzCE,yBAAA;ANytDJ;AK5tDC;EC4CC,oCAAA;EAzCE,yBAAA;AN6tDJ;AKhuDC;EC4CC,oCAAA;EAzCE,yBAAA;ANiuDJ;AKpuDC;EC4CC,oCAAA;EAzCE,yBAAA;ANquDJ;AKxuDC;EC4CC,oCAAA;EAzCE,yBAAA;ANyuDJ;AK5uDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0uDJ;AKhvDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8uDJ;AKpvDC;EC4CC,oCAAA;EAtCE,qCAAA;ANkvDJ;AKxvDC;EC4CC,oCAAA;EAzCE,yBAAA;ANyvDJ;AK5vDC;EC4CC,oCAAA;EAzCE,yBAAA;AN6vDJ;AKhwDC;EC4CC,oCAAA;EAzCE,yBAAA;ANiwDJ;AKpwDC;EC4CC,oCAAA;EAzCE,yBAAA;ANqwDJ;AKxwDC;EC4CC,oCAAA;EAzCE,yBAAA;ANywDJ;AK5wDC;EC4CC,oCAAA;EAzCE,yBAAA;AN6wDJ;AKhxDC;EC4CC,oCAAA;EAzCE,yBAAA;ANixDJ;AKpxDC;EC4CC,oCAAA;EAtCE,qCAAA;ANkxDJ;AKxxDC;EC4CC,oCAAA;EAtCE,qCAAA;ANsxDJ;AK5xDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0xDJ;AKhyDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8xDJ;AKpyDC;EC4CC,oCAAA;EAtCE,qCAAA;ANkyDJ;AKxyDC;EC4CC,oCAAA;EAtCE,qCAAA;ANsyDJ;AK5yDC;EC4CC,oCAAA;EAtCE,qCAAA;AN0yDJ;AKhzDC;EC4CC,oCAAA;EAtCE,qCAAA;AN8yDJ;AKpzDC;EC4CC,oCAAA;EAzCE,yBAAA;ANqzDJ;AKxzDC;EC4CC,oCAAA;EAzCE,yBAAA;ANyzDJ;AK5zDC;EC4CC,oCAAA;EAzCE,yBAAA;AN6zDJ;AKh0DC;EC4CC,oCAAA;EAtCE,qCAAA;AN8zDJ;AKp0DC;EC4CC,oCAAA;EAtCE,qCAAA;ANk0DJ;AKx0DC;EC4CC,oCAAA;EAtCE,qCAAA;ANs0DJ;AK50DC;EC4CC,oCAAA;EAtCE,qCAAA;AN00DJ;AKh1DC;EC4CC,oCAAA;EAtCE,qCAAA;AN80DJ;AKp1DC;EC4CC,oCAAA;EAtCE,qCAAA;ANk1DJ;AKx1DC;EC4CC,oCAAA;EAtCE,qCAAA;ANs1DJ;AK51DC;EC4CC,oCAAA;EAzCE,yBAAA;AN61DJ;AKh2DC;EC4CC,oCAAA;EAzCE,yBAAA;ANi2DJ;AKp2DC;EC4CC,oCAAA;EAzCE,yBAAA;ANq2DJ;AKx2DC;EC4CC,oCAAA;EAzCE,yBAAA;ANy2DJ;AK52DC;EC4CC,oCAAA;EAzCE,yBAAA;AN62DJ;AKh3DC;EC4CC,oCAAA;EAtCE,qCAAA;AN82DJ;AKp3DC;EC4CC,oCAAA;EAtCE,qCAAA;ANk3DJ;AKx3DC;EC4CC,oCAAA;EAtCE,qCAAA;ANs3DJ;AK53DC;EC4CC,oCAAA;EAzCE,yBAAA;AN63DJ;AKh4DC;EC4CC,oCAAA;EAzCE,yBAAA;ANi4DJ;AKp4DC;EC4CC,oCAAA;EAzCE,yBAAA;ANq4DJ;AKx4DC;EC4CC,oCAAA;EAzCE,yBAAA;ANy4DJ;AK54DC;EC4CC,oCAAA;EAzCE,yBAAA;AN64DJ;AKh5DC;EC4CC,oCAAA;EAzCE,yBAAA;ANi5DJ;AKp5DC;EC4CC,oCAAA;EAzCE,yBAAA;ANq5DJ;AKx5DC;EC4CC,oCAAA;EAtCE,qCAAA;ANs5DJ;AK55DC;EC4CC,oCAAA;EAtCE,qCAAA;AN05DJ;AKh6DC;EC4CC,oCAAA;EAtCE,qCAAA;AN85DJ;AKp6DC;EC4CC,oCAAA;EAtCE,qCAAA;ANk6DJ;AKx6DC;EC4CC,oCAAA;EAtCE,qCAAA;ANs6DJ;AK56DC;EC4CC,oCAAA;EAtCE,qCAAA;AN06DJ;AKh7DC;EC4CC,oCAAA;EAtCE,qCAAA;AN86DJ;AKp7DC;EC4CC,oCAAA;EAzCE,yBAAA;ANq7DJ;AKx7DC;EC4CC,oCAAA;EAzCE,yBAAA;ANy7DJ;AK57DC;EC4CC,oCAAA;EAzCE,yBAAA;AN67DJ;AKh8DC;EC4CC,oCAAA;EAzCE,yBAAA;ANi8DJ;AKp8DC;EC4CC,oCAAA;EAtCE,qCAAA;ANk8DJ;AKx8DC;EC4CC,oCAAA;EAtCE,qCAAA;ANs8DJ;AK58DC;EC4CC,oCAAA;EAtCE,qCAAA;AN08DJ;AKh9DC;EC4CC,oCAAA;EAtCE,qCAAA;AN88DJ;AKp9DC;EC4CC,oCAAA;EAtCE,qCAAA;ANk9DJ;AKx9DC;EC4CC,oCAAA;EAtCE,qCAAA;ANs9DJ;AK59DC;EC4CC,oCAAA;EAtCE,qCAAA;AN09DJ;AKh+DC;EC4CC,oCAAA;EAzCE,yBAAA;ANi+DJ;AKp+DC;EC4CC,oCAAA;EAzCE,yBAAA;ANq+DJ;AKx+DC;EC4CC,oCAAA;EAzCE,yBAAA;ANy+DJ;AK5+DC;EC4CC,oCAAA;EAzCE,yBAAA;AN6+DJ;AKh/DC;EC4CC,oCAAA;EAzCE,yBAAA;ANi/DJ;AKp/DC;EC4CC,oCAAA;EAtCE,qCAAA;ANk/DJ;AKx/DC;EC4CC,oCAAA;EAtCE,qCAAA;ANs/DJ;AK5/DC;EC4CC,oCAAA;EAtCE,qCAAA;AN0/DJ;AKhgEC;EC4CC,oCAAA;EAzCE,yBAAA;ANigEJ;AKpgEC;EC4CC,oCAAA;EAzCE,yBAAA;ANqgEJ;AKxgEC;EC4CC,oCAAA;EAzCE,yBAAA;ANygEJ;AK5gEC;EC4CC,oCAAA;EAzCE,yBAAA;AN6gEJ;AKhhEC;EC4CC,oCAAA;EAzCE,yBAAA;ANihEJ;AKphEC;EC4CC,oCAAA;EAzCE,yBAAA;ANqhEJ;AKxhEC;EC4CC,oCAAA;EAzCE,yBAAA;ANyhEJ;AK5hEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0hEJ;AKhiEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8hEJ;AKpiEC;EC4CC,oCAAA;EAtCE,qCAAA;ANkiEJ;AKxiEC;EC4CC,oCAAA;EAtCE,qCAAA;ANsiEJ;AK5iEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0iEJ;AKhjEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8iEJ;AKpjEC;EC4CC,oCAAA;EAtCE,qCAAA;ANkjEJ;AKxjEC;EC4CC,oCAAA;EAtCE,qCAAA;ANsjEJ;AK5jEC;EC4CC,oCAAA;EAzCE,yBAAA;AN6jEJ;AKhkEC;EC4CC,oCAAA;EAzCE,yBAAA;ANikEJ;AKpkEC;EC4CC,oCAAA;EAzCE,yBAAA;ANqkEJ;AKxkEC;EC4CC,oCAAA;EAtCE,qCAAA;ANskEJ;AK5kEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0kEJ;AKhlEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8kEJ;AKplEC;EC4CC,oCAAA;EAtCE,qCAAA;ANklEJ;AKxlEC;EC4CC,oCAAA;EAtCE,qCAAA;ANslEJ;AK5lEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0lEJ;AKhmEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8lEJ;AKpmEC;EC4CC,oCAAA;EAtCE,qCAAA;ANkmEJ;AKxmEC;EC4CC,oCAAA;EAtCE,qCAAA;ANsmEJ;AK5mEC;EC4CC,oCAAA;EAzCE,yBAAA;AN6mEJ;AKhnEC;EC4CC,oCAAA;EAzCE,yBAAA;ANinEJ;AKpnEC;EC4CC,oCAAA;EAtCE,qCAAA;ANknEJ;AKxnEC;EC4CC,oCAAA;EAtCE,qCAAA;ANsnEJ;AK5nEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0nEJ;AKhoEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8nEJ;AKpoEC;EC4CC,oCAAA;EAtCE,qCAAA;ANkoEJ;AKxoEC;EC4CC,oCAAA;EAtCE,qCAAA;ANsoEJ;AK5oEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0oEJ;AKhpEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8oEJ;AKppEC;EC4CC,oCAAA;EAtCE,qCAAA;ANkpEJ;AKxpEC;EC4CC,oCAAA;EAtCE,qCAAA;ANspEJ;AK5pEC;EC4CC,oCAAA;EAzCE,yBAAA;AN6pEJ;AKhqEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8pEJ;AKpqEC;EC4CC,oCAAA;EAtCE,qCAAA;ANkqEJ;AKxqEC;EC4CC,oCAAA;EAtCE,qCAAA;ANsqEJ;AK5qEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0qEJ;AKhrEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8qEJ;AKprEC;EC4CC,oCAAA;EAtCE,qCAAA;ANkrEJ;AKxrEC;EC4CC,oCAAA;EAtCE,qCAAA;ANsrEJ;AK5rEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0rEJ;AKhsEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8rEJ;AKpsEC;EC4CC,oCAAA;EAtCE,qCAAA;ANksEJ;AKxsEC;EC4CC,oCAAA;EAzCE,yBAAA;ANysEJ;AK5sEC;EC4CC,oCAAA;EAzCE,yBAAA;AN6sEJ;AKhtEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8sEJ;AKptEC;EC4CC,oCAAA;EAtCE,qCAAA;ANktEJ;AKxtEC;EC4CC,oCAAA;EAtCE,qCAAA;ANstEJ;AK5tEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0tEJ;AKhuEC;EC4CC,oCAAA;EAzCE,yBAAA;ANiuEJ;AKpuEC;EC4CC,oCAAA;EAzCE,yBAAA;ANquEJ;AKxuEC;EC4CC,oCAAA;EAzCE,yBAAA;ANyuEJ;AK5uEC;EC4CC,oCAAA;EAzCE,yBAAA;AN6uEJ;AKhvEC;EC4CC,oCAAA;EAzCE,yBAAA;ANivEJ;AKpvEC;EC4CC,oCAAA;EAzCE,yBAAA;ANqvEJ;AKxvEC;EC4CC,oCAAA;EAzCE,yBAAA;ANyvEJ;AK5vEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0vEJ;AKhwEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8vEJ;AKpwEC;EC4CC,oCAAA;EAtCE,qCAAA;ANkwEJ;AKxwEC;EC4CC,oCAAA;EAzCE,yBAAA;ANywEJ;AK5wEC;EC4CC,oCAAA;EAzCE,yBAAA;AN6wEJ;AKhxEC;EC4CC,oCAAA;EAzCE,yBAAA;ANixEJ;AKpxEC;EC4CC,oCAAA;EAzCE,yBAAA;ANqxEJ;AKxxEC;EC4CC,oCAAA;EAzCE,yBAAA;ANyxEJ;AK5xEC;EC4CC,oCAAA;EAzCE,yBAAA;AN6xEJ;AKhyEC;EC4CC,oCAAA;EAzCE,yBAAA;ANiyEJ;AKpyEC;EC4CC,oCAAA;EAzCE,yBAAA;ANqyEJ;AKxyEC;EC4CC,oCAAA;EAtCE,qCAAA;ANsyEJ;AK5yEC;EC4CC,oCAAA;EAtCE,qCAAA;AN0yEJ;AKhzEC;EC4CC,oCAAA;EAtCE,qCAAA;AN8yEJ;AKpzEC;EC4CC,oCAAA;EAtCE,qCAAA;ANkzEJ;AKxzEC;EC4CC,oCAAA;EAzCE,yBAAA;ANyzEJ;AK5zEC;EC4CC,oCAAA;EAzCE,yBAAA;AN6zEJ;AKh0EC;EC4CC,oCAAA;EAzCE,yBAAA;ANi0EJ;AKp0EC;EC4CC,oCAAA;EAzCE,yBAAA;ANq0EJ;AKx0EC;EC4CC,oCAAA;EAzCE,yBAAA;ANy0EJ;AK50EC;EC4CC,oCAAA;EAzCE,yBAAA;AN60EJ;AKh1EC;EC4CC,oCAAA;EAzCE,yBAAA;ANi1EJ;AKp1EC;EC4CC,oCAAA;EAtCE,qCAAA;ANk1EJ;AKx1EC;EC4CC,oCAAA;EAtCE,qCAAA;ANs1EJ;AK51EC;EC4CC,oCAAA;EAtCE,qCAAA;AN01EJ;AKh2EC;EC4CC,oCAAA;EAtCE,qCAAA;AN81EJ;AKp2EC;EC4CC,oCAAA;EAtCE,qCAAA;ANk2EJ;AKx2EC;EC4CC,oCAAA;EAzCE,yBAAA;ANy2EJ;AK52EC;EC4CC,oCAAA;EAzCE,yBAAA;AN62EJ;AKh3EC;EC4CC,oCAAA;EAzCE,yBAAA;ANi3EJ;AKp3EC;EC4CC,oCAAA;EAzCE,yBAAA;ANq3EJ;AKx3EC;EC4CC,oCAAA;EAzCE,yBAAA;ANy3EJ;AK53EC;EC4CC,oCAAA;EAtCE,qCAAA;AN03EJ;AKh4EC;EC4CC,oCAAA;EAtCE,qCAAA;AN83EJ;AKp4EC;EC4CC,oCAAA;EAtCE,qCAAA;ANk4EJ;AKx4EC;EC4CC,oCAAA;EAtCE,qCAAA;ANs4EJ;AK54EC;EC4CC,oCAAA;EAtCE,qCAAA;AN04EJ;AKh5EC;EC4CC,oCAAA;EAtCE,qCAAA;AN84EJ;AKp5EC;EC4CC,oCAAA;EAtCE,qCAAA;ANk5EJ;AKx5EC;EC4CC,oCAAA;EAtCE,qCAAA;ANs5EJ;AK55EC;EC4CC,oCAAA;EAtCE,qCAAA;AN05EJ;AKh6EC;EC4CC,oCAAA;EAtCE,qCAAA;AN85EJ;AKp6EC;EC4CC,oCAAA;EAtCE,qCAAA;ANk6EJ;AACA;;;EAGE;AK56ED;EC4CC,oCAAA;EAtCE,qCAAA;AN06EJ;AKh7EC;EC4CC,oCAAA;EAtCE,qCAAA;AN86EJ;AKp7EC;EC4CC,oCAAA;EAtCE,qCAAA;ANk7EJ;AKx7EC;EC4CC,oCAAA;EAtCE,qCAAA;ANs7EJ;AK57EC;EC4CC,oCAAA;EAtCE,qCAAA;AN07EJ;AKh8EC;EC4CC,oCAAA;EAzCE,yBAAA;ANi8EJ;AKp8EC;EC4CC,oCAAA;EAtCE,qCAAA;ANk8EJ;AKx8EC;EC4CC,oCAAA;EAzCE,yBAAA;ANy8EJ;AK58EC;EC4CC,oCAAA;EAzCE,yBAAA;AN68EJ;AKh9EC;EC4CC,oCAAA;EAzCE,yBAAA;ANi9EJ;AKp9EC;EC4CC,oCAAA;EAtCE,qCAAA;ANk9EJ;AKx9EC;EC4CC,oCAAA;EAtCE,qCAAA;ANs9EJ;AK59EC;EC4CC,oCAAA;EAtCE,qCAAA;AN09EJ;AKh+EC;EC4CC,oCAAA;EAtCE,qCAAA;AN89EJ;AKp+EC;EC4CC,oCAAA;EAtCE,qCAAA;ANk+EJ;AKx+EC;EC4CC,oCAAA;EAtCE,qCAAA;ANs+EJ;AK5+EC;EC4CC,oCAAA;EAtCE,qCAAA;AN0+EJ;AKh/EC;EC4CC,oCAAA;EAtCE,qCAAA;AN8+EJ;AKp/EC;EC4CC,oCAAA;EAzCE,yBAAA;ANq/EJ;AKx/EC;EC4CC,oCAAA;EAzCE,yBAAA;ANy/EJ;AK5/EC;EC4CC,oCAAA;EAzCE,yBAAA;AN6/EJ;AKhgFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8/EJ;AKpgFC;EC4CC,oCAAA;EAzCE,yBAAA;ANqgFJ;AKxgFC;EC4CC,oCAAA;EAzCE,yBAAA;ANygFJ;AK5gFC;EC4CC,oCAAA;EAzCE,yBAAA;AN6gFJ;AKhhFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8gFJ;AKphFC;EC4CC,oCAAA;EAtCE,qCAAA;ANkhFJ;AKxhFC;EC4CC,oCAAA;EAtCE,qCAAA;ANshFJ;AK5hFC;EC4CC,oCAAA;EAtCE,qCAAA;AN0hFJ;AKhiFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8hFJ;AKpiFC;EC4CC,oCAAA;EAzCE,yBAAA;ANqiFJ;AKxiFC;EC4CC,oCAAA;EAtCE,qCAAA;ANsiFJ;AK5iFC;EC4CC,oCAAA;EAzCE,yBAAA;AN6iFJ;AKhjFC;EC4CC,oCAAA;EAzCE,yBAAA;ANijFJ;AKpjFC;EC4CC,oCAAA;EAzCE,yBAAA;ANqjFJ;AKxjFC;EC4CC,oCAAA;EAtCE,qCAAA;ANsjFJ;AK5jFC;EC4CC,oCAAA;EAtCE,qCAAA;AN0jFJ;AKhkFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8jFJ;AKpkFC;EC4CC,oCAAA;EAtCE,qCAAA;ANkkFJ;AKxkFC;EC4CC,oCAAA;EAzCE,yBAAA;ANykFJ;AK5kFC;EC4CC,oCAAA;EAtCE,qCAAA;AN0kFJ;AKhlFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8kFJ;AKplFC;EC4CC,oCAAA;EAtCE,qCAAA;ANklFJ;AKxlFC;EC4CC,oCAAA;EAtCE,qCAAA;ANslFJ;AK5lFC;EC4CC,oCAAA;EAtCE,qCAAA;AN0lFJ;AKhmFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8lFJ;AKpmFC;EC4CC,oCAAA;EAtCE,qCAAA;ANkmFJ;AKxmFC;EC4CC,oCAAA;EAtCE,qCAAA;ANsmFJ;AK5mFC;EC4CC,oCAAA;EAtCE,qCAAA;AN0mFJ;AKhnFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8mFJ;AKpnFC;EC4CC,oCAAA;EAtCE,qCAAA;ANknFJ;AKxnFC;EC4CC,oCAAA;EAtCE,qCAAA;ANsnFJ;AK5nFC;EC4CC,oCAAA;EAtCE,qCAAA;AN0nFJ;AKhoFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8nFJ;AKpoFC;EC4CC,oCAAA;EAtCE,qCAAA;ANkoFJ;AKxoFC;EC4CC,oCAAA;EAzCE,yBAAA;ANyoFJ;AK5oFC;EC4CC,oCAAA;EAtCE,qCAAA;AN0oFJ;AKhpFC;EC4CC,oCAAA;EAzCE,yBAAA;ANipFJ;AKppFC;EC4CC,oCAAA;EAzCE,yBAAA;ANqpFJ;AKxpFC;EC4CC,oCAAA;EAzCE,yBAAA;ANypFJ;AK5pFC;EC4CC,oCAAA;EAzCE,yBAAA;AN6pFJ;AKhqFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8pFJ;AKpqFC;EC4CC,oCAAA;EAzCE,yBAAA;ANqqFJ;AKxqFC;EC4CC,oCAAA;EAzCE,yBAAA;ANyqFJ;AK5qFC;EC4CC,oCAAA;EAzCE,yBAAA;AN6qFJ;AKhrFC;EC4CC,oCAAA;EAzCE,yBAAA;ANirFJ;AKprFC;EC4CC,oCAAA;EAtCE,qCAAA;ANkrFJ;AKxrFC;EC4CC,oCAAA;EAzCE,yBAAA;ANyrFJ;AK5rFC;EC4CC,oCAAA;EAzCE,yBAAA;AN6rFJ;AKhsFC;EC4CC,oCAAA;EAzCE,yBAAA;ANisFJ;AKpsFC;EC4CC,oCAAA;EAtCE,qCAAA;ANksFJ;AKxsFC;EC4CC,oCAAA;EAtCE,qCAAA;ANssFJ;AK5sFC;EC4CC,oCAAA;EAtCE,qCAAA;AN0sFJ;AKhtFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8sFJ;AKptFC;EC4CC,oCAAA;EAtCE,qCAAA;ANktFJ;AKxtFC;EC4CC,oCAAA;EAtCE,qCAAA;ANstFJ;AK5tFC;EC4CC,oCAAA;EAtCE,qCAAA;AN0tFJ;AKhuFC;EC4CC,oCAAA;EAtCE,qCAAA;AN8tFJ;AKpuFC;EC4CC,oCAAA;EAtCE,qCAAA;ANkuFJ;AKxuFC;EC4CC,oCAAA;EAtCE,qCAAA;ANsuFJ;AACA;;;;EAIE;AOrlFF;EACE,yBAAA;EACA,oCAAA;APulFF;AOplFA;EACE,qCAAA;EACA,oCAAA;APslFF;AOnlFA;EACE,wCAAA;APqlFF;AACA;;;EAGE;AKhwFD;EC4DG,yBAAA;ANusFJ;AKnwFC;EC4DG,yBAAA;AN0sFJ;AKtwFC;EC4DG,yBAAA;AN6sFJ;AKzwFC;EC4DG,yBAAA;ANgtFJ;AK5wFC;EC4DG,yBAAA;ANmtFJ;AK/wFC;EC4DG,yBAAA;ANstFJ;AKlxFC;EC4DG,yBAAA;ANytFJ;AKrxFC;EC4DG,yBAAA;AN4tFJ;AKxxFC;EC4DG,yBAAA;AN+tFJ;AK3xFC;EC4DG,yBAAA;ANkuFJ;AK9xFC;EC4DG,yBAAA;ANquFJ;AKjyFC;EC4DG,yBAAA;ANwuFJ;AKpyFC;EC4DG,yBAAA;AN2uFJ;AKvyFC;EC4DG,yBAAA;AN8uFJ;AK1yFC;EC4DG,yBAAA;ANivFJ;AK7yFC;EC4DG,yBAAA;ANovFJ;AKhzFC;EC4DG,yBAAA;ANuvFJ;AKnzFC;EC4DG,yBAAA;AN0vFJ;AKtzFC;EC4DG,yBAAA;AN6vFJ;AKzzFC;EC4DG,yBAAA;ANgwFJ;AK5zFC;EC4DG,yBAAA;ANmwFJ;AK/zFC;EC4DG,yBAAA;ANswFJ;AKl0FC;EC4DG,yBAAA;ANywFJ;AKr0FC;EC4DG,yBAAA;AN4wFJ;AKx0FC;EC4DG,yBAAA;AN+wFJ;AK30FC;EC4DG,yBAAA;ANkxFJ;AK90FC;EC4DG,yBAAA;ANqxFJ;AKj1FC;EC4DG,yBAAA;ANwxFJ;AKp1FC;EC4DG,yBAAA;AN2xFJ;AKv1FC;EC4DG,yBAAA;AN8xFJ;AK11FC;EC4DG,yBAAA;ANiyFJ;AK71FC;EC4DG,yBAAA;ANoyFJ;AKh2FC;EC4DG,yBAAA;ANuyFJ;AKn2FC;EC4DG,yBAAA;AN0yFJ;AKt2FC;EC4DG,yBAAA;AN6yFJ;AKz2FC;EC4DG,yBAAA;ANgzFJ;AK52FC;EC4DG,yBAAA;ANmzFJ;AK/2FC;EC4DG,yBAAA;ANszFJ;AKl3FC;EC4DG,yBAAA;ANyzFJ;AKr3FC;EC4DG,yBAAA;AN4zFJ;AKx3FC;EC4DG,yBAAA;AN+zFJ;AK33FC;EC4DG,yBAAA;ANk0FJ;AK93FC;EC4DG,yBAAA;ANq0FJ;AKj4FC;EC4DG,yBAAA;ANw0FJ;AKp4FC;EC4DG,yBAAA;AN20FJ;AKv4FC;EC4DG,yBAAA;AN80FJ;AK14FC;EC4DG,yBAAA;ANi1FJ;AK74FC;EC4DG,yBAAA;ANo1FJ;AKh5FC;EC4DG,yBAAA;ANu1FJ;AKn5FC;EC4DG,yBAAA;AN01FJ;AKt5FC;EC4DG,yBAAA;AN61FJ;AKz5FC;EC4DG,yBAAA;ANg2FJ;AK55FC;EC4DG,yBAAA;ANm2FJ;AK/5FC;EC4DG,yBAAA;ANs2FJ;AKl6FC;EC4DG,yBAAA;ANy2FJ;AKr6FC;EC4DG,yBAAA;AN42FJ;AKx6FC;EC4DG,yBAAA;AN+2FJ;AK36FC;EC4DG,yBAAA;ANk3FJ;AK96FC;EC4DG,yBAAA;ANq3FJ;AKj7FC;EC4DG,yBAAA;ANw3FJ;AKp7FC;EC4DG,yBAAA;AN23FJ;AKv7FC;EC4DG,yBAAA;AN83FJ;AK17FC;EC4DG,yBAAA;ANi4FJ;AK77FC;EC4DG,yBAAA;ANo4FJ;AKh8FC;EC4DG,yBAAA;ANu4FJ;AKn8FC;EC4DG,yBAAA;AN04FJ;AKt8FC;EC4DG,yBAAA;AN64FJ;AKz8FC;EC4DG,yBAAA;ANg5FJ;AK58FC;EC4DG,yBAAA;ANm5FJ;AK/8FC;EC4DG,yBAAA;ANs5FJ;AKl9FC;EC4DG,yBAAA;ANy5FJ;AKr9FC;EC4DG,yBAAA;AN45FJ;AKx9FC;EC4DG,yBAAA;AN+5FJ;AK39FC;EC4DG,yBAAA;ANk6FJ;AK99FC;EC4DG,yBAAA;ANq6FJ;AKj+FC;EC4DG,yBAAA;ANw6FJ;AKp+FC;EC4DG,yBAAA;AN26FJ;AKv+FC;EC4DG,yBAAA;AN86FJ;AK1+FC;EC4DG,yBAAA;ANi7FJ;AK7+FC;EC4DG,yBAAA;ANo7FJ;AKh/FC;EC4DG,yBAAA;ANu7FJ;AKn/FC;EC4DG,yBAAA;AN07FJ;AKt/FC;EC4DG,yBAAA;AN67FJ;AKz/FC;EC4DG,yBAAA;ANg8FJ;AK5/FC;EC4DG,yBAAA;ANm8FJ;AK//FC;EC4DG,yBAAA;ANs8FJ;AKlgGC;EC4DG,yBAAA;ANy8FJ;AKrgGC;EC4DG,yBAAA;AN48FJ;AKxgGC;EC4DG,yBAAA;AN+8FJ;AK3gGC;EC4DG,yBAAA;ANk9FJ;AK9gGC;EC4DG,yBAAA;ANq9FJ;AKjhGC;EC4DG,yBAAA;ANw9FJ;AKphGC;EC4DG,yBAAA;AN29FJ;AKvhGC;EC4DG,yBAAA;AN89FJ;AK1hGC;EC4DG,yBAAA;ANi+FJ;AK7hGC;EC4DG,yBAAA;ANo+FJ;AKhiGC;EC4DG,yBAAA;ANu+FJ;AKniGC;EC4DG,yBAAA;AN0+FJ;AKtiGC;EC4DG,yBAAA;AN6+FJ;AKziGC;EC4DG,yBAAA;ANg/FJ;AK5iGC;EC4DG,yBAAA;ANm/FJ;AK/iGC;EC4DG,yBAAA;ANs/FJ;AKljGC;EC4DG,yBAAA;ANy/FJ;AKrjGC;EC4DG,yBAAA;AN4/FJ;AKxjGC;EC4DG,yBAAA;AN+/FJ;AK3jGC;EC4DG,yBAAA;ANkgGJ;AK9jGC;EC4DG,yBAAA;ANqgGJ;AKjkGC;EC4DG,yBAAA;ANwgGJ;AKpkGC;EC4DG,yBAAA;AN2gGJ;AKvkGC;EC4DG,yBAAA;AN8gGJ;AK1kGC;EC4DG,yBAAA;ANihGJ;AK7kGC;EC4DG,yBAAA;ANohGJ;AKhlGC;EC4DG,yBAAA;ANuhGJ;AKnlGC;EC4DG,yBAAA;AN0hGJ;AKtlGC;EC4DG,yBAAA;AN6hGJ;AKzlGC;EC4DG,yBAAA;ANgiGJ;AK5lGC;EC4DG,yBAAA;ANmiGJ;AK/lGC;EC4DG,yBAAA;ANsiGJ;AKlmGC;EC4DG,yBAAA;ANyiGJ;AKrmGC;EC4DG,yBAAA;AN4iGJ;AKxmGC;EC4DG,yBAAA;AN+iGJ;AK3mGC;EC4DG,yBAAA;ANkjGJ;AK9mGC;EC4DG,yBAAA;ANqjGJ;AKjnGC;EC4DG,yBAAA;ANwjGJ;AKpnGC;EC4DG,yBAAA;AN2jGJ;AKvnGC;EC4DG,yBAAA;AN8jGJ;AK1nGC;EC4DG,yBAAA;ANikGJ;AK7nGC;EC4DG,yBAAA;ANokGJ;AKhoGC;EC4DG,yBAAA;ANukGJ;AKnoGC;EC4DG,yBAAA;AN0kGJ;AKtoGC;EC4DG,yBAAA;AN6kGJ;AKzoGC;EC4DG,yBAAA;ANglGJ;AK5oGC;EC4DG,yBAAA;ANmlGJ;AK/oGC;EC4DG,yBAAA;ANslGJ;AKlpGC;EC4DG,yBAAA;ANylGJ;AKrpGC;EC4DG,yBAAA;AN4lGJ;AKxpGC;EC4DG,yBAAA;AN+lGJ;AK3pGC;EC4DG,yBAAA;ANkmGJ;AK9pGC;EC4DG,yBAAA;ANqmGJ;AKjqGC;EC4DG,yBAAA;ANwmGJ;AKpqGC;EC4DG,yBAAA;AN2mGJ;AKvqGC;EC4DG,yBAAA;AN8mGJ;AK1qGC;EC4DG,yBAAA;ANinGJ;AK7qGC;EC4DG,yBAAA;ANonGJ;AKhrGC;EC4DG,yBAAA;ANunGJ;AKnrGC;EC4DG,yBAAA;AN0nGJ;AKtrGC;EC4DG,yBAAA;AN6nGJ;AKzrGC;EC4DG,yBAAA;ANgoGJ;AK5rGC;EC4DG,yBAAA;ANmoGJ;AK/rGC;EC4DG,yBAAA;ANsoGJ;AKlsGC;EC4DG,yBAAA;ANyoGJ;AKrsGC;EC4DG,yBAAA;AN4oGJ;AKxsGC;EC4DG,yBAAA;AN+oGJ;AK3sGC;EC4DG,yBAAA;ANkpGJ;AK9sGC;EC4DG,yBAAA;ANqpGJ;AKjtGC;EC4DG,yBAAA;ANwpGJ;AKptGC;EC4DG,yBAAA;AN2pGJ;AKvtGC;EC4DG,yBAAA;AN8pGJ;AK1tGC;EC4DG,yBAAA;ANiqGJ;AK7tGC;EC4DG,yBAAA;ANoqGJ;AKhuGC;EC4DG,yBAAA;ANuqGJ;AKnuGC;EC4DG,yBAAA;AN0qGJ;AKtuGC;EC4DG,yBAAA;AN6qGJ;AKzuGC;EC4DG,yBAAA;ANgrGJ;AK5uGC;EC4DG,yBAAA;ANmrGJ;AK/uGC;EC4DG,yBAAA;ANsrGJ;AKlvGC;EC4DG,yBAAA;ANyrGJ;AKrvGC;EC4DG,yBAAA;AN4rGJ;AKxvGC;EC4DG,yBAAA;AN+rGJ;AK3vGC;EC4DG,yBAAA;ANksGJ;AK9vGC;EC4DG,yBAAA;ANqsGJ;AKjwGC;EC4DG,yBAAA;ANwsGJ;AKpwGC;EC4DG,yBAAA;AN2sGJ;AKvwGC;EC4DG,yBAAA;AN8sGJ;AK1wGC;EC4DG,yBAAA;ANitGJ;AK7wGC;EC4DG,yBAAA;ANotGJ;AKhxGC;EC4DG,yBAAA;ANutGJ;AKnxGC;EC4DG,yBAAA;AN0tGJ;AKtxGC;EC4DG,yBAAA;AN6tGJ;AKzxGC;EC4DG,yBAAA;ANguGJ;AK5xGC;EC4DG,yBAAA;ANmuGJ;AK/xGC;EC4DG,yBAAA;ANsuGJ;AKlyGC;EC4DG,yBAAA;ANyuGJ;AKryGC;EC4DG,yBAAA;AN4uGJ;AKxyGC;EC4DG,yBAAA;AN+uGJ;AK3yGC;EC4DG,yBAAA;ANkvGJ;AK9yGC;EC4DG,yBAAA;ANqvGJ;AKjzGC;EC4DG,yBAAA;ANwvGJ;AKpzGC;EC4DG,yBAAA;AN2vGJ;AKvzGC;EC4DG,yBAAA;AN8vGJ;AK1zGC;EC4DG,yBAAA;ANiwGJ;AK7zGC;EC4DG,yBAAA;ANowGJ;AKh0GC;EC4DG,yBAAA;ANuwGJ;AKn0GC;EC4DG,yBAAA;AN0wGJ;AKt0GC;EC4DG,yBAAA;AN6wGJ;AKz0GC;EC4DG,yBAAA;ANgxGJ;AK50GC;EC4DG,yBAAA;ANmxGJ;AK/0GC;EC4DG,yBAAA;ANsxGJ;AKl1GC;EC4DG,yBAAA;ANyxGJ;AKr1GC;EC4DG,yBAAA;AN4xGJ;AKx1GC;EC4DG,yBAAA;AN+xGJ;AK31GC;EC4DG,yBAAA;ANkyGJ;AK91GC;EC4DG,yBAAA;ANqyGJ;AKj2GC;EC4DG,yBAAA;ANwyGJ;AKp2GC;EC4DG,yBAAA;AN2yGJ;AKv2GC;EC4DG,yBAAA;AN8yGJ;AK12GC;EC4DG,yBAAA;ANizGJ;AK72GC;EC4DG,yBAAA;ANozGJ;AKh3GC;EC4DG,yBAAA;ANuzGJ;AACA;;;EAGE;AKv3GD;EC4DG,yBAAA;AN8zGJ;AK13GC;EC4DG,yBAAA;ANi0GJ;AK73GC;EC4DG,yBAAA;ANo0GJ;AKh4GC;EC4DG,yBAAA;ANu0GJ;AKn4GC;EC4DG,yBAAA;AN00GJ;AKt4GC;EC4DG,yBAAA;AN60GJ;AKz4GC;EC4DG,yBAAA;ANg1GJ;AK54GC;EC4DG,yBAAA;ANm1GJ;AK/4GC;EC4DG,yBAAA;ANs1GJ;AKl5GC;EC4DG,yBAAA;ANy1GJ;AKr5GC;EC4DG,yBAAA;AN41GJ;AKx5GC;EC4DG,yBAAA;AN+1GJ;AK35GC;EC4DG,yBAAA;ANk2GJ;AK95GC;EC4DG,yBAAA;ANq2GJ;AKj6GC;EC4DG,yBAAA;ANw2GJ;AKp6GC;EC4DG,yBAAA;AN22GJ;AKv6GC;EC4DG,yBAAA;AN82GJ;AK16GC;EC4DG,yBAAA;ANi3GJ;AK76GC;EC4DG,yBAAA;ANo3GJ;AKh7GC;EC4DG,yBAAA;ANu3GJ;AKn7GC;EC4DG,yBAAA;AN03GJ;AKt7GC;EC4DG,yBAAA;AN63GJ;AKz7GC;EC4DG,yBAAA;ANg4GJ;AK57GC;EC4DG,yBAAA;ANm4GJ;AK/7GC;EC4DG,yBAAA;ANs4GJ;AKl8GC;EC4DG,yBAAA;ANy4GJ;AKr8GC;EC4DG,yBAAA;AN44GJ;AKx8GC;EC4DG,yBAAA;AN+4GJ;AK38GC;EC4DG,yBAAA;ANk5GJ;AK98GC;EC4DG,yBAAA;ANq5GJ;AKj9GC;EC4DG,yBAAA;ANw5GJ;AKp9GC;EC4DG,yBAAA;AN25GJ;AKv9GC;EC4DG,yBAAA;AN85GJ;AK19GC;EC4DG,yBAAA;ANi6GJ;AK79GC;EC4DG,yBAAA;ANo6GJ;AKh+GC;EC4DG,yBAAA;ANu6GJ;AKn+GC;EC4DG,yBAAA;AN06GJ;AKt+GC;EC4DG,yBAAA;AN66GJ;AKz+GC;EC4DG,yBAAA;ANg7GJ;AK5+GC;EC4DG,yBAAA;ANm7GJ;AK/+GC;EC4DG,yBAAA;ANs7GJ;AKl/GC;EC4DG,yBAAA;ANy7GJ;AKr/GC;EC4DG,yBAAA;AN47GJ;AKx/GC;EC4DG,yBAAA;AN+7GJ;AK3/GC;EC4DG,yBAAA;ANk8GJ;AK9/GC;EC4DG,yBAAA;ANq8GJ;AKjgHC;EC4DG,yBAAA;ANw8GJ;AKpgHC;EC4DG,yBAAA;AN28GJ;AKvgHC;EC4DG,yBAAA;AN88GJ;AK1gHC;EC4DG,yBAAA;ANi9GJ;AK7gHC;EC4DG,yBAAA;ANo9GJ;AKhhHC;EC4DG,yBAAA;ANu9GJ;AKnhHC;EC4DG,yBAAA;AN09GJ;AKthHC;EC4DG,yBAAA;AN69GJ;AKzhHC;EC4DG,yBAAA;ANg+GJ;AK5hHC;EC4DG,yBAAA;ANm+GJ;AK/hHC;EC4DG,yBAAA;ANs+GJ;AKliHC;EC4DG,yBAAA;ANy+GJ;AKriHC;EC4DG,yBAAA;AN4+GJ;AKxiHC;EC4DG,yBAAA;AN++GJ;AK3iHC;EC4DG,yBAAA;ANk/GJ;AK9iHC;EC4DG,yBAAA;ANq/GJ;AKjjHC;EC4DG,yBAAA;ANw/GJ;AKpjHC;EC4DG,yBAAA;AN2/GJ;AKvjHC;EC4DG,yBAAA;AN8/GJ;AK1jHC;EC4DG,yBAAA;ANigHJ;AK7jHC;EC4DG,yBAAA;ANogHJ;AKhkHC;EC4DG,yBAAA;ANugHJ;AKnkHC;EC4DG,yBAAA;AN0gHJ;AKtkHC;EC4DG,yBAAA;AN6gHJ;AKzkHC;EC4DG,yBAAA;ANghHJ;AK5kHC;EC4DG,yBAAA;ANmhHJ;AK/kHC;EC4DG,yBAAA;ANshHJ;AKllHC;EC4DG,yBAAA;ANyhHJ;AKrlHC;EC4DG,yBAAA;AN4hHJ;AKxlHC;EC4DG,yBAAA;AN+hHJ;AK3lHC;EC4DG,yBAAA;ANkiHJ;AK9lHC;EC4DG,yBAAA;ANqiHJ;AKjmHC;EC4DG,yBAAA;ANwiHJ;AKpmHC;EC4DG,yBAAA;AN2iHJ;AACA;;;EAGE;AK3mHD;EC4DG,yBAAA;ANkjHJ;AK9mHC;EC4DG,yBAAA;ANqjHJ;AKjnHC;EC4DG,yBAAA;ANwjHJ;AKpnHC;EC4DG,yBAAA;AN2jHJ;AKvnHC;EC4DG,yBAAA;AN8jHJ;AK1nHC;EC4DG,yBAAA;ANikHJ;AK7nHC;EC4DG,yBAAA;ANokHJ;AKhoHC;EC4DG,yBAAA;ANukHJ;AKnoHC;EC4DG,yBAAA;AN0kHJ;AKtoHC;EC4DG,yBAAA;AN6kHJ;AKzoHC;EC4DG,yBAAA;ANglHJ;AK5oHC;EC4DG,yBAAA;ANmlHJ;AK/oHC;EC4DG,yBAAA;ANslHJ;AKlpHC;EC4DG,yBAAA;ANylHJ;AKrpHC;EC4DG,yBAAA;AN4lHJ;AKxpHC;EC4DG,yBAAA;AN+lHJ;AK3pHC;EC4DG,yBAAA;ANkmHJ;AK9pHC;EC4DG,yBAAA;ANqmHJ;AKjqHC;EC4DG,yBAAA;ANwmHJ;AKpqHC;EC4DG,yBAAA;AN2mHJ;AKvqHC;EC4DG,yBAAA;AN8mHJ;AK1qHC;EC4DG,yBAAA;ANinHJ;AK7qHC;EC4DG,yBAAA;ANonHJ;AKhrHC;EC4DG,yBAAA;ANunHJ;AKnrHC;EC4DG,yBAAA;AN0nHJ;AKtrHC;EC4DG,yBAAA;AN6nHJ;AKzrHC;EC4DG,yBAAA;ANgoHJ;AK5rHC;EC4DG,yBAAA;ANmoHJ;AK/rHC;EC4DG,yBAAA;ANsoHJ;AKlsHC;EC4DG,yBAAA;ANyoHJ;AKrsHC;EC4DG,yBAAA;AN4oHJ;AKxsHC;EC4DG,yBAAA;AN+oHJ;AK3sHC;EC4DG,yBAAA;ANkpHJ;AK9sHC;EC4DG,yBAAA;ANqpHJ;AKjtHC;EC4DG,yBAAA;ANwpHJ;AKptHC;EC4DG,yBAAA;AN2pHJ;AKvtHC;EC4DG,yBAAA;AN8pHJ;AK1tHC;EC4DG,yBAAA;ANiqHJ;AK7tHC;EC4DG,yBAAA;ANoqHJ;AKhuHC;EC4DG,yBAAA;ANuqHJ;AKnuHC;EC4DG,yBAAA;AN0qHJ;AKtuHC;EC4DG,yBAAA;AN6qHJ;AKzuHC;EC4DG,yBAAA;ANgrHJ;AK5uHC;EC4DG,yBAAA;ANmrHJ;AK/uHC;EC4DG,yBAAA;ANsrHJ;AKlvHC;EC4DG,yBAAA;ANyrHJ;AKrvHC;EC4DG,yBAAA;AN4rHJ;AKxvHC;EC4DG,yBAAA;AN+rHJ;AK3vHC;EC4DG,yBAAA;ANksHJ;AK9vHC;EC4DG,yBAAA;ANqsHJ;AKjwHC;EC4DG,yBAAA;ANwsHJ;AKpwHC;EC4DG,yBAAA;AN2sHJ;AKvwHC;EC4DG,yBAAA;AN8sHJ;AK1wHC;EC4DG,yBAAA;ANitHJ;AK7wHC;EC4DG,yBAAA;ANotHJ;AKhxHC;EC4DG,yBAAA;ANutHJ;AKnxHC;EC4DG,yBAAA;AN0tHJ;AKtxHC;EC4DG,yBAAA;AN6tHJ;AKzxHC;EC4DG,yBAAA;ANguHJ;AK5xHC;EC4DG,yBAAA;ANmuHJ;AK/xHC;EC4DG,yBAAA;ANsuHJ;AKlyHC;EC4DG,yBAAA;ANyuHJ;AKryHC;EC4DG,yBAAA;AN4uHJ;AKxyHC;EC4DG,yBAAA;AN+uHJ;AK3yHC;EC4DG,yBAAA;ANkvHJ;AK9yHC;EC4DG,yBAAA;ANqvHJ;AKjzHC;EC4DG,yBAAA;ANwvHJ;AKpzHC;EC4DG,yBAAA;AN2vHJ;AKvzHC;EC4DG,yBAAA;AN8vHJ;AK1zHC;EC4DG,yBAAA;ANiwHJ;AK7zHC;EC4DG,yBAAA;ANowHJ;AKh0HC;EC4DG,yBAAA;ANuwHJ;AKn0HC;EC4DG,yBAAA;AN0wHJ;AKt0HC;EC4DG,yBAAA;AN6wHJ;AKz0HC;EC4DG,yBAAA;ANgxHJ;AK50HC;EC4DG,yBAAA;ANmxHJ;AK/0HC;EC4DG,yBAAA;ANsxHJ;AKl1HC;EC4DG,yBAAA;ANyxHJ;AKr1HC;EC4DG,yBAAA;AN4xHJ;AKx1HC;EC4DG,yBAAA;AN+xHJ;AK31HC;EC4DG,yBAAA;ANkyHJ;AK91HC;EC4DG,yBAAA;ANqyHJ;AKj2HC;EC4DG,yBAAA;ANwyHJ;AKp2HC;EC4DG,yBAAA;AN2yHJ;AKv2HC;EC4DG,yBAAA;AN8yHJ;AK12HC;EC4DG,yBAAA;ANizHJ;AK72HC;EC4DG,yBAAA;ANozHJ;AKh3HC;EC4DG,yBAAA;ANuzHJ;AKn3HC;EC4DG,yBAAA;AN0zHJ;AKt3HC;EC4DG,yBAAA;AN6zHJ;AKz3HC;EC4DG,yBAAA;ANg0HJ;AK53HC;EC4DG,yBAAA;ANm0HJ;AK/3HC;EC4DG,yBAAA;ANs0HJ;AKl4HC;EC4DG,yBAAA;ANy0HJ;AKr4HC;EC4DG,yBAAA;AN40HJ;AKx4HC;EC4DG,yBAAA;AN+0HJ;AK34HC;EC4DG,yBAAA;ANk1HJ;AK94HC;EC4DG,yBAAA;ANq1HJ;AKj5HC;EC4DG,yBAAA;ANw1HJ;AKp5HC;EC4DG,yBAAA;AN21HJ;AKv5HC;EC4DG,yBAAA;AN81HJ;AK15HC;EC4DG,yBAAA;ANi2HJ;AK75HC;EC4DG,yBAAA;ANo2HJ;AKh6HC;EC4DG,yBAAA;ANu2HJ;AKn6HC;EC4DG,yBAAA;AN02HJ;AKt6HC;EC4DG,yBAAA;AN62HJ;AKz6HC;EC4DG,yBAAA;ANg3HJ;AK56HC;EC4DG,yBAAA;ANm3HJ;AK/6HC;EC4DG,yBAAA;ANs3HJ;AKl7HC;EC4DG,yBAAA;ANy3HJ;AKr7HC;EC4DG,yBAAA;AN43HJ;AKx7HC;EC4DG,yBAAA;AN+3HJ;AK37HC;EC4DG,yBAAA;ANk4HJ;AK97HC;EC4DG,yBAAA;ANq4HJ;AKj8HC;EC4DG,yBAAA;ANw4HJ;AKp8HC;EC4DG,yBAAA;AN24HJ;AKv8HC;EC4DG,yBAAA;AN84HJ;AK18HC;EC4DG,yBAAA;ANi5HJ;AK78HC;EC4DG,yBAAA;ANo5HJ;AKh9HC;EC4DG,yBAAA;ANu5HJ;AKn9HC;EC4DG,yBAAA;AN05HJ;AKt9HC;EC4DG,yBAAA;AN65HJ;AKz9HC;EC4DG,yBAAA;ANg6HJ;AK59HC;EC4DG,yBAAA;ANm6HJ;AK/9HC;EC4DG,yBAAA;ANs6HJ;AKl+HC;EC4DG,yBAAA;ANy6HJ;AKr+HC;EC4DG,yBAAA;AN46HJ;AKx+HC;EC4DG,yBAAA;AN+6HJ;AK3+HC;EC4DG,yBAAA;ANk7HJ;AK9+HC;EC4DG,yBAAA;ANq7HJ;AKj/HC;EC4DG,yBAAA;ANw7HJ;AKp/HC;EC4DG,yBAAA;AN27HJ;AKv/HC;EC4DG,yBAAA;AN87HJ;AK1/HC;EC4DG,yBAAA;ANi8HJ;AK7/HC;EC4DG,yBAAA;ANo8HJ;AKhgIC;EC4DG,yBAAA;ANu8HJ;AKngIC;EC4DG,yBAAA;AN08HJ;AKtgIC;EC4DG,yBAAA;AN68HJ;AKzgIC;EC4DG,yBAAA;ANg9HJ;AK5gIC;EC4DG,yBAAA;ANm9HJ;AK/gIC;EC4DG,yBAAA;ANs9HJ;AKlhIC;EC4DG,yBAAA;ANy9HJ;AKrhIC;EC4DG,yBAAA;AN49HJ;AKxhIC;EC4DG,yBAAA;AN+9HJ;AK3hIC;EC4DG,yBAAA;ANk+HJ;AK9hIC;EC4DG,yBAAA;ANq+HJ;AKjiIC;EC4DG,yBAAA;ANw+HJ;AKpiIC;EC4DG,yBAAA;AN2+HJ;AKviIC;EC4DG,yBAAA;AN8+HJ;AK1iIC;EC4DG,yBAAA;ANi/HJ;AK7iIC;EC4DG,yBAAA;ANo/HJ;AKhjIC;EC4DG,yBAAA;ANu/HJ;AKnjIC;EC4DG,yBAAA;AN0/HJ;AKtjIC;EC4DG,yBAAA;AN6/HJ;AKzjIC;EC4DG,yBAAA;ANggIJ;AK5jIC;EC4DG,yBAAA;ANmgIJ;AK/jIC;EC4DG,yBAAA;ANsgIJ;AKlkIC;EC4DG,yBAAA;ANygIJ;AKrkIC;EC4DG,yBAAA;AN4gIJ;AKxkIC;EC4DG,yBAAA;AN+gIJ;AK3kIC;EC4DG,yBAAA;ANkhIJ;AK9kIC;EC4DG,yBAAA;ANqhIJ;AKjlIC;EC4DG,yBAAA;ANwhIJ;AKplIC;EC4DG,yBAAA;AN2hIJ;AKvlIC;EC4DG,yBAAA;AN8hIJ;AK1lIC;EC4DG,yBAAA;ANiiIJ;AK7lIC;EC4DG,yBAAA;ANoiIJ;AKhmIC;EC4DG,yBAAA;ANuiIJ;AKnmIC;EC4DG,yBAAA;AN0iIJ;AKtmIC;EC4DG,yBAAA;AN6iIJ;AKzmIC;EC4DG,yBAAA;ANgjIJ;AK5mIC;EC4DG,yBAAA;ANmjIJ;AK/mIC;EC4DG,yBAAA;ANsjIJ;AKlnIC;EC4DG,yBAAA;ANyjIJ;AKrnIC;EC4DG,yBAAA;AN4jIJ;AKxnIC;EC4DG,yBAAA;AN+jIJ;AK3nIC;EC4DG,yBAAA;ANkkIJ;AK9nIC;EC4DG,yBAAA;ANqkIJ;AKjoIC;EC4DG,yBAAA;ANwkIJ;AKpoIC;EC4DG,yBAAA;AN2kIJ;AKvoIC;EC4DG,yBAAA;AN8kIJ;AK1oIC;EC4DG,yBAAA;ANilIJ;AK7oIC;EC4DG,yBAAA;ANolIJ;AKhpIC;EC4DG,yBAAA;ANulIJ;AKnpIC;EC4DG,yBAAA;AN0lIJ;AKtpIC;EC4DG,yBAAA;AN6lIJ;AKzpIC;EC4DG,yBAAA;ANgmIJ;AK5pIC;EC4DG,yBAAA;ANmmIJ;AK/pIC;EC4DG,yBAAA;ANsmIJ;AKlqIC;EC4DG,yBAAA;ANymIJ;AKrqIC;EC4DG,yBAAA;AN4mIJ;AKxqIC;EC4DG,yBAAA;AN+mIJ;AK3qIC;EC4DG,yBAAA;ANknIJ;AK9qIC;EC4DG,yBAAA;ANqnIJ;AKjrIC;EC4DG,yBAAA;ANwnIJ;AKprIC;EC4DG,yBAAA;AN2nIJ;AKvrIC;EC4DG,yBAAA;AN8nIJ;AK1rIC;EC4DG,yBAAA;ANioIJ;AK7rIC;EC4DG,yBAAA;ANooIJ;AKhsIC;EC4DG,yBAAA;ANuoIJ;AKnsIC;EC4DG,yBAAA;AN0oIJ;AKtsIC;EC4DG,yBAAA;AN6oIJ;AKzsIC;EC4DG,yBAAA;ANgpIJ;AK5sIC;EC4DG,yBAAA;ANmpIJ;AK/sIC;EC4DG,yBAAA;ANspIJ;AKltIC;EC4DG,yBAAA;ANypIJ;AKrtIC;EC4DG,yBAAA;AN4pIJ;AKxtIC;EC4DG,yBAAA;AN+pIJ;AK3tIC;EC4DG,yBAAA;ANkqIJ;AACA;;;EAGE;AKluID;EC4DG,yBAAA;ANyqIJ;AKruIC;EC4DG,yBAAA;AN4qIJ;AKxuIC;EC4DG,yBAAA;AN+qIJ;AK3uIC;EC4DG,yBAAA;ANkrIJ;AK9uIC;EC4DG,yBAAA;ANqrIJ;AKjvIC;EC4DG,yBAAA;ANwrIJ;AKpvIC;EC4DG,yBAAA;AN2rIJ;AKvvIC;EC4DG,yBAAA;AN8rIJ;AK1vIC;EC4DG,yBAAA;ANisIJ;AK7vIC;EC4DG,yBAAA;ANosIJ;AKhwIC;EC4DG,yBAAA;ANusIJ;AKnwIC;EC4DG,yBAAA;AN0sIJ;AKtwIC;EC4DG,yBAAA;AN6sIJ;AKzwIC;EC4DG,yBAAA;ANgtIJ;AK5wIC;EC4DG,yBAAA;ANmtIJ;AK/wIC;EC4DG,yBAAA;ANstIJ;AKlxIC;EC4DG,yBAAA;ANytIJ;AKrxIC;EC4DG,yBAAA;AN4tIJ;AKxxIC;EC4DG,yBAAA;AN+tIJ;AK3xIC;EC4DG,yBAAA;ANkuIJ;AK9xIC;EC4DG,yBAAA;ANquIJ;AKjyIC;EC4DG,yBAAA;ANwuIJ;AKpyIC;EC4DG,yBAAA;AN2uIJ;AKvyIC;EC4DG,yBAAA;AN8uIJ;AK1yIC;EC4DG,yBAAA;ANivIJ;AK7yIC;EC4DG,yBAAA;ANovIJ;AKhzIC;EC4DG,yBAAA;ANuvIJ;AKnzIC;EC4DG,yBAAA;AN0vIJ;AKtzIC;EC4DG,yBAAA;AN6vIJ;AKzzIC;EC4DG,yBAAA;ANgwIJ;AK5zIC;EC4DG,yBAAA;ANmwIJ;AK/zIC;EC4DG,yBAAA;ANswIJ;AKl0IC;EC4DG,yBAAA;ANywIJ;AKr0IC;EC4DG,yBAAA;AN4wIJ;AKx0IC;EC4DG,yBAAA;AN+wIJ;AK30IC;EC4DG,yBAAA;ANkxIJ;AK90IC;EC4DG,yBAAA;ANqxIJ;AKj1IC;EC4DG,yBAAA;ANwxIJ;AKp1IC;EC4DG,yBAAA;AN2xIJ;AKv1IC;EC4DG,yBAAA;AN8xIJ;AK11IC;EC4DG,yBAAA;ANiyIJ;AK71IC;EC4DG,yBAAA;ANoyIJ;AKh2IC;EC4DG,yBAAA;ANuyIJ;AKn2IC;EC4DG,yBAAA;AN0yIJ;AKt2IC;EC4DG,yBAAA;AN6yIJ;AKz2IC;EC4DG,yBAAA;ANgzIJ;AK52IC;EC4DG,yBAAA;ANmzIJ;AK/2IC;EC4DG,yBAAA;ANszIJ;AKl3IC;EC4DG,yBAAA;ANyzIJ;AKr3IC;EC4DG,yBAAA;AN4zIJ;AKx3IC;EC4DG,yBAAA;AN+zIJ;AK33IC;EC4DG,yBAAA;ANk0IJ;AK93IC;EC4DG,yBAAA;ANq0IJ;AKj4IC;EC4DG,yBAAA;ANw0IJ;AKp4IC;EC4DG,yBAAA;AN20IJ;AKv4IC;EC4DG,yBAAA;AN80IJ;AK14IC;EC4DG,yBAAA;ANi1IJ;AK74IC;EC4DG,yBAAA;ANo1IJ;AKh5IC;EC4DG,yBAAA;ANu1IJ;AKn5IC;EC4DG,yBAAA;AN01IJ;AKt5IC;EC4DG,yBAAA;AN61IJ;AKz5IC;EC4DG,yBAAA;ANg2IJ;AK55IC;EC4DG,yBAAA;ANm2IJ;AK/5IC;EC4DG,yBAAA;ANs2IJ;AKl6IC;EC4DG,yBAAA;ANy2IJ;AKr6IC;EC4DG,yBAAA;AN42IJ;AKx6IC;EC4DG,yBAAA;AN+2IJ;AK36IC;EC4DG,yBAAA;ANk3IJ;AK96IC;EC4DG,yBAAA;ANq3IJ;AKj7IC;EC4DG,yBAAA;ANw3IJ;AKp7IC;EC4DG,yBAAA;AN23IJ;AKv7IC;EC4DG,yBAAA;AN83IJ;AK17IC;EC4DG,yBAAA;ANi4IJ;AK77IC;EC4DG,yBAAA;ANo4IJ;AKh8IC;EC4DG,yBAAA;ANu4IJ;AKn8IC;EC4DG,yBAAA;AN04IJ;AKt8IC;EC4DG,yBAAA;AN64IJ;AKz8IC;EC4DG,yBAAA;ANg5IJ;AK58IC;EC4DG,yBAAA;ANm5IJ;AK/8IC;EC4DG,yBAAA;ANs5IJ;AACA;;;;EAIE;AO5pIF;EACE,yBAAA;AP8pIF;AO5pIA;;EAEE,qCAAA;AP8pIF;AO5pIA;;EAEE,qCAAA;AP8pIF;AO5pIA;;EAEE,qCAAA;AP8pIF;AO5pIA;;EAEE,qCAAA;AP8pIF;AO5pIA;;EAEE,qCAAA;AP8pIF;AO5pIA;;EAEE,qCAAA;AP8pIF;AACA;;;EAGE;AO3pIF;EACE,yBAAA;AP6pIF;AO3pIA;EACE,yBAAA;AP6pIF;AO3pIA;EACE,0CAAA;AP6pIF;AO3pIA;EACE,0CAAA;AP6pIF;AO3pIA;EACE,2CAAA;AP6pIF;AO3pIA;EACE,yBAAA;AP6pIF;AO3pIA;EACE,0CAAA;AP6pIF;AACA;;EAEE;AI5gJE;EGoXA,yBAAA;AP2pIJ;AI/gJI;EGuXA,0CAAA;AP2pIJ;AIlhJI;EG0XA,0CAAA;AP2pIJ;AIrhJI;EG6XA,2CAAA;AP2pIJ;AIxhJI;EGgYA,yBAAA;AP2pIJ;AI3hJI;EGmYA,0CAAA;AP2pIJ;AIzhJI;EACE;IG8WF,yBAAA;EP8qIF;EI5hJI;IGiXF,0CAAA;EP8qIF;EI/hJI;IGoXF,0CAAA;EP8qIF;EIliJI;IGuXF,2CAAA;EP8qIF;EIriJI;IG0XF,yBAAA;EP8qIF;EIxiJI;IG6XF,0CAAA;EP8qIF;AACF;AACA;;;;EAIE;AACF;;EAEE;AK5jJD;EFEC,sBAAA;AH6jJF;AK/jJC;EFKC,0BAAA;AH6jJF;AKlkJC;EFQC,4BAAA;AH6jJF;AKrkJC;EFWC,6BAAA;AH6jJF;AKxkJC;EFcC,2BAAA;AH6jJF;AK3kJC;EFiBC,4BAAA;EACA,2BAAA;AH6jJF;AK/kJC;EFqBC,0BAAA;EACA,6BAAA;AH6jJF;AKnlJC;EF0BC,uBAAA;AH4jJF;AKtlJC;EF6BC,2BAAA;AH4jJF;AKzlJC;EFgCC,6BAAA;AH4jJF;AK5lJC;EFmCC,8BAAA;AH4jJF;AK/lJC;EFsCC,4BAAA;AH4jJF;AKlmJC;EFyCC,6BAAA;EACA,4BAAA;AH4jJF;AKtmJC;EF6CC,2BAAA;EACA,8BAAA;AH4jJF;AK1mJC;EFEC,sBAAA;AH2mJF;AK7mJC;EFKC,0BAAA;AH2mJF;AKhnJC;EFQC,4BAAA;AH2mJF;AKnnJC;EFWC,6BAAA;AH2mJF;AKtnJC;EFcC,2BAAA;AH2mJF;AKznJC;EFiBC,4BAAA;EACA,2BAAA;AH2mJF;AK7nJC;EFqBC,0BAAA;EACA,6BAAA;AH2mJF;AKjoJC;EF0BC,uBAAA;AH0mJF;AKpoJC;EF6BC,2BAAA;AH0mJF;AKvoJC;EFgCC,6BAAA;AH0mJF;AK1oJC;EFmCC,8BAAA;AH0mJF;AK7oJC;EFsCC,4BAAA;AH0mJF;AKhpJC;EFyCC,6BAAA;EACA,4BAAA;AH0mJF;AKppJC;EF6CC,2BAAA;EACA,8BAAA;AH0mJF;AKxpJC;EFEC,uBAAA;AHypJF;AK3pJC;EFKC,2BAAA;AHypJF;AK9pJC;EFQC,6BAAA;AHypJF;AKjqJC;EFWC,8BAAA;AHypJF;AKpqJC;EFcC,4BAAA;AHypJF;AKvqJC;EFiBC,6BAAA;EACA,4BAAA;AHypJF;AK3qJC;EFqBC,2BAAA;EACA,8BAAA;AHypJF;AK/qJC;EF0BC,wBAAA;AHwpJF;AKlrJC;EF6BC,4BAAA;AHwpJF;AKrrJC;EFgCC,8BAAA;AHwpJF;AKxrJC;EFmCC,+BAAA;AHwpJF;AK3rJC;EFsCC,6BAAA;AHwpJF;AK9rJC;EFyCC,8BAAA;EACA,6BAAA;AHwpJF;AKlsJC;EF6CC,4BAAA;EACA,+BAAA;AHwpJF;AKtsJC;EFEC,uBAAA;AHusJF;AKzsJC;EFKC,2BAAA;AHusJF;AK5sJC;EFQC,6BAAA;AHusJF;AK/sJC;EFWC,8BAAA;AHusJF;AKltJC;EFcC,4BAAA;AHusJF;AKrtJC;EFiBC,6BAAA;EACA,4BAAA;AHusJF;AKztJC;EFqBC,2BAAA;EACA,8BAAA;AHusJF;AK7tJC;EF0BC,wBAAA;AHssJF;AKhuJC;EF6BC,4BAAA;AHssJF;AKnuJC;EFgCC,8BAAA;AHssJF;AKtuJC;EFmCC,+BAAA;AHssJF;AKzuJC;EFsCC,6BAAA;AHssJF;AK5uJC;EFyCC,8BAAA;EACA,6BAAA;AHssJF;AKhvJC;EF6CC,4BAAA;EACA,+BAAA;AHssJF;AKpvJC;EFEC,uBAAA;AHqvJF;AKvvJC;EFKC,2BAAA;AHqvJF;AK1vJC;EFQC,6BAAA;AHqvJF;AK7vJC;EFWC,8BAAA;AHqvJF;AKhwJC;EFcC,4BAAA;AHqvJF;AKnwJC;EFiBC,6BAAA;EACA,4BAAA;AHqvJF;AKvwJC;EFqBC,2BAAA;EACA,8BAAA;AHqvJF;AK3wJC;EF0BC,wBAAA;AHovJF;AK9wJC;EF6BC,4BAAA;AHovJF;AKjxJC;EFgCC,8BAAA;AHovJF;AKpxJC;EFmCC,+BAAA;AHovJF;AKvxJC;EFsCC,6BAAA;AHovJF;AK1xJC;EFyCC,8BAAA;EACA,6BAAA;AHovJF;AK9xJC;EF6CC,4BAAA;EACA,+BAAA;AHovJF;AKlyJC;EFEC,uBAAA;AHmyJF;AKryJC;EFKC,2BAAA;AHmyJF;AKxyJC;EFQC,6BAAA;AHmyJF;AK3yJC;EFWC,8BAAA;AHmyJF;AK9yJC;EFcC,4BAAA;AHmyJF;AKjzJC;EFiBC,6BAAA;EACA,4BAAA;AHmyJF;AKrzJC;EFqBC,2BAAA;EACA,8BAAA;AHmyJF;AKzzJC;EF0BC,wBAAA;AHkyJF;AK5zJC;EF6BC,4BAAA;AHkyJF;AK/zJC;EFgCC,8BAAA;AHkyJF;AKl0JC;EFmCC,+BAAA;AHkyJF;AKr0JC;EFsCC,6BAAA;AHkyJF;AKx0JC;EFyCC,8BAAA;EACA,6BAAA;AHkyJF;AK50JC;EF6CC,4BAAA;EACA,+BAAA;AHkyJF;AACA;;EAEE;AACF,SAAS;AQnxJT;EACE,sBAAA;ARqxJF;AACA,SAAS;AQlxJT;EACE,uBAAA;ARoxJF;AACA;;EAEE;AACF,SAAS;AQhxJT;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LJ;AgB3yKU;EVxOR,yBAAA;ANshLF;AKlkLC;EC4DG,cAAA;ANygLJ;AgBjzKU;EVxOR,yBAAA;AN4hLF;AKxkLC;EC4DG,cAAA;AN+gLJ;AgBvzKU;EVxOR,yBAAA;ANkiLF;AK9kLC;EC4DG,cAAA;ANqhLJ;AgB7zKU;EVxOR,yBAAA;ANwiLF;AKplLC;EC4DG,cAAA;AN2hLJ;AgBn0KU;EVxOR,yBAAA;AN8iLF;AK1lLC;EC4DG,cAAA;ANiiLJ;AgBz0KU;EVxOR,yBAAA;ANojLF;AKhmLC;EC4DG,cAAA;ANuiLJ;AgB/0KU;EVxOR,yBAAA;AN0jLF;AKtmLC;EC4DG,cAAA;AN6iLJ;AgBr1KU;EVxOR,yBAAA;ANgkLF;AK5mLC;EC4DG,cAAA;ANmjLJ;AgB31KU;EVxOR,yBAAA;ANskLF;AKlnLC;EC4DG,cAAA;ANyjLJ;AgBj2KU;EVxOR,yBAAA;AN4kLF;AKxnLC;EC4DG,cAAA;AN+jLJ;AgBv2KU;EVxOR,yBAAA;ANklLF;AK9nLC;EC4DG,cAAA;ANqkLJ;AgB72KU;EVxOR,yBAAA;ANwlLF;AACA;;;;EAIE;AIvoLE;EYuSE,4CAAA;AhBm2KN;AI1oLI;EY0SI,+BAAA;AhBm2KR;AI7oLI;EY+SE,+BAAA;AhBi2KN;AIhpLI;EYmTE,gBAAA;EACA,yBAAA;AhBg2KN;AIppLI;;;;;;EYyTI,+BAAA;AhBm2KR;AI5pLI;EY8TE,cAAA;EACA,yBAAA;AhBi2KN;AIhqLI;EYmUE,mBAAA;EACA,uCAAA;AhBg2KN;AIpqLI;EYwUE,mBAAA;AhB+1KN;AIvqLI;EY4UE,uCAAA;AhB81KN;AIrqLI;EACE;IYiSA,4CAAA;EhBu4KJ;EIxqLI;IYoSE,+BAAA;EhBu4KN;EI3qLI;IYySA,+BAAA;EhBq4KJ;EI9qLI;IY6SA,gBAAA;IACA,yBAAA;EhBo4KJ;EIlrLI;;;;;;IYmTE,+BAAA;EhBu4KN;EI1rLI;IYwTA,cAAA;IACA,yBAAA;EhBq4KJ;EI9rLI;IY6TA,mBAAA;IACA,uCAAA;EhBo4KJ;EIlsLI;IYkUA,mBAAA;EhBm4KJ;EIrsLI;IYsUA,uCAAA;EhBk4KJ;AACF;AACA;;;;EAIE;AiBtpLF;;EAEE,8BAAA;UAAA,sBAAA;EACA,kBAAA;EACA,iBAAA;EACA,kBAAA;EACA,iBAAA;AjBwpLF;AiBvpLE;;EACE,cAAA;EACA,WAAA;EACA,WAAA;AjB0pLJ;AiBtpLA;EACE,UAAA;EACA,iBAAA;AjBwpLF;AiBvpLE;EAAA;IACE,UAAA;EjB0pLF;AACF;AiBzpLE;EAAA;IACE,UAAA;EjB4pLF;AACF;AiBzpLA;;EAEE,kBAAA;EACA,iBAAA;AjB2pLF;AiB1pLE;;EACE,cAAA;EACA,WAAA;EACA,WAAA;AjB6pLJ;AiBzpLA;;;;;;EAME,kBAAA;EACA,8BAAA;UAAA,sBAAA;EACA,eAAA;EACA,kBAAA;EACA,iBAAA;AjB2pLF;AACA,UAAU;AiBxpLV;;;;;;EAOI,gBAAA;EACA,eAAA;AjBypLJ;AiBjqLA;;EAcI,eAAA;EACA,cAAA;AjBupLJ;AKxxLC;EY+CG,WAAA;EACA,gBAAA;AjB4uLJ;AK5xLC;EYqDG,sBAAA;AjB0uLJ;AK/xLC;EY2DG,WAAA;EACA,WAAA;AjBuuLJ;AKnyLC;EY+CG,WAAA;EACA,iBAAA;AjBuvLJ;AKvyLC;EYqDG,uBAAA;AjBqvLJ;AK1yLC;EY2DG,WAAA;EACA,UAAA;AjBkvLJ;AK9yLC;EY+CG,WAAA;EACA,UAAA;AjBkwLJ;AKlzLC;EYqDG,gBAAA;AjBgwLJ;AKrzLC;EY2DG,WAAA;EACA,iBAAA;AjB6vLJ;AKzzLC;EY+CG,WAAA;EACA,iBAAA;AjB6wLJ;AK7zLC;EYqDG,uBAAA;AjB2wLJ;AKh0LC;EY2DG,WAAA;EACA,UAAA;AjBwwLJ;AKp0LC;EY+CG,WAAA;EACA,iBAAA;AjBwxLJ;AKx0LC;EYqDG,uBAAA;AjBsxLJ;AK30LC;EY2DG,WAAA;EACA,UAAA;AjBmxLJ;AK/0LC;EY+CG,WAAA;EACA,UAAA;AjBmyLJ;AKn1LC;EYqDG,gBAAA;AjBiyLJ;AKt1LC;EY2DG,WAAA;EACA,iBAAA;AjB8xLJ;AK11LC;EY+CG,WAAA;EACA,iBAAA;AjB8yLJ;AK91LC;EYqDG,uBAAA;AjB4yLJ;AKj2LC;EY2DG,WAAA;EACA,iBAAA;AjByyLJ;AKr2LC;EY+CG,WAAA;EACA,iBAAA;AjByzLJ;AKz2LC;EYqDG,uBAAA;AjBuzLJ;AK52LC;EY2DG,WAAA;EACA,YAAA;AjBozLJ;AKh3LC;EY+CG,WAAA;EACA,UAAA;AjBo0LJ;AKp3LC;EYqDG,gBAAA;AjBk0LJ;AKv3LC;EY2DG,WAAA;EACA,iBAAA;AjB+zLJ;AK33LC;EY+CG,WAAA;EACA,iBAAA;AjB+0LJ;AK/3LC;EYqDG,uBAAA;AjB60LJ;AKl4LC;EY2DG,WAAA;EACA,UAAA;AjB00LJ;AKt4LC;EY+CG,WAAA;EACA,iBAAA;AjB01LJ;AK14LC;EYqDG,uBAAA;AjBw1LJ;AK74LC;EY2DG,WAAA;EACA,gBAAA;AjBq1LJ;AKj5LC;EY+CG,WAAA;EACA,WAAA;AjBq2LJ;AKr5LC;EYqDG,iBAAA;AjBm2LJ;AKx5LC;EY2DG,WAAA;EACA,gBAAA;AjBg2LJ;AiBrxLA;EZvIC;IY+CG,WAAA;IACA,gBAAA;EjBi3LF;EKj6LD;IYqDG,sBAAA;EjB+2LF;EKp6LD;IY2DG,WAAA;IACA,WAAA;EjB42LF;EKx6LD;IY+CG,WAAA;IACA,iBAAA;EjB43LF;EK56LD;IYqDG,uBAAA;EjB03LF;EK/6LD;IY2DG,WAAA;IACA,UAAA;EjBu3LF;EKn7LD;IY+CG,WAAA;IACA,UAAA;EjBu4LF;EKv7LD;IYqDG,gBAAA;EjBq4LF;EK17LD;IY2DG,WAAA;IACA,iBAAA;EjBk4LF;EK97LD;IY+CG,WAAA;IACA,iBAAA;EjBk5LF;EKl8LD;IYqDG,uBAAA;EjBg5LF;EKr8LD;IY2DG,WAAA;IACA,UAAA;EjB64LF;EKz8LD;IY+CG,WAAA;IACA,iBAAA;EjB65LF;EK78LD;IYqDG,uBAAA;EjB25LF;EKh9LD;IY2DG,WAAA;IACA,UAAA;EjBw5LF;EKp9LD;IY+CG,WAAA;IACA,UAAA;EjBw6LF;EKx9LD;IYqDG,gBAAA;EjBs6LF;EK39LD;IY2DG,WAAA;IACA,iBAAA;EjBm6LF;EK/9LD;IY+CG,WAAA;IACA,iBAAA;EjBm7LF;EKn+LD;IYqDG,uBAAA;EjBi7LF;EKt+LD;IY2DG,WAAA;IACA,iBAAA;EjB86LF;EK1+LD;IY+CG,WAAA;IACA,iBAAA;EjB87LF;EK9+LD;IYqDG,uBAAA;EjB47LF;EKj/LD;IY2DG,WAAA;IACA,YAAA;EjBy7LF;EKr/LD;IY+CG,WAAA;IACA,UAAA;EjBy8LF;EKz/LD;IYqDG,gBAAA;EjBu8LF;EK5/LD;IY2DG,WAAA;IACA,iBAAA;EjBo8LF;EKhgMD;IY+CG,WAAA;IACA,iBAAA;EjBo9LF;EKpgMD;IYqDG,uBAAA;EjBk9LF;EKvgMD;IY2DG,WAAA;IACA,UAAA;EjB+8LF;EK3gMD;IY+CG,WAAA;IACA,iBAAA;EjB+9LF;EK/gMD;IYqDG,uBAAA;EjB69LF;EKlhMD;IY2DG,WAAA;IACA,gBAAA;EjB09LF;EKthMD;IY+CG,WAAA;IACA,WAAA;EjB0+LF;EK1hMD;IYqDG,iBAAA;EjBw+LF;EK7hMD;IY2DG,WAAA;IACA,gBAAA;EjBq+LF;AACF;AiBv5LA;EZ3IC;IY+CG,WAAA;IACA,gBAAA;EjBu/LF;EKviMD;IYqDG,sBAAA;EjBq/LF;EK1iMD;IY2DG,WAAA;IACA,WAAA;EjBk/LF;EK9iMD;IY+CG,WAAA;IACA,iBAAA;EjBkgMF;EKljMD;IYqDG,uBAAA;EjBggMF;EKrjMD;IY2DG,WAAA;IACA,UAAA;EjB6/LF;EKzjMD;IY+CG,WAAA;IACA,UAAA;EjB6gMF;EK7jMD;IYqDG,gBAAA;EjB2gMF;EKhkMD;IY2DG,WAAA;IACA,iBAAA;EjBwgMF;EKpkMD;IY+CG,WAAA;IACA,iBAAA;EjBwhMF;EKxkMD;IYqDG,uBAAA;EjBshMF;EK3kMD;IY2DG,WAAA;IACA,UAAA;EjBmhMF;EK/kMD;IY+CG,WAAA;IACA,iBAAA;EjBmiMF;EKnlMD;IYqDG,uBAAA;EjBiiMF;EKtlMD;IY2DG,WAAA;IACA,UAAA;EjB8hMF;EK1lMD;IY+CG,WAAA;IACA,UAAA;EjB8iMF;EK9lMD;IYqDG,gBAAA;EjB4iMF;EKjmMD;IY2DG,WAAA;IACA,iBAAA;EjByiMF;EKrmMD;IY+CG,WAAA;IACA,iBAAA;EjByjMF;EKzmMD;IYqDG,uBAAA;EjBujMF;EK5mMD;IY2DG,WAAA;IACA,iBAAA;EjBojMF;EKhnMD;IY+CG,WAAA;IACA,iBAAA;EjBokMF;EKpnMD;IYqDG,uBAAA;EjBkkMF;EKvnMD;IY2DG,WAAA;IACA,YAAA;EjB+jMF;EK3nMD;IY+CG,WAAA;IACA,UAAA;EjB+kMF;EK/nMD;IYqDG,gBAAA;EjB6kMF;EKloMD;IY2DG,WAAA;IACA,iBAAA;EjB0kMF;EKtoMD;IY+CG,WAAA;IACA,iBAAA;EjB0lMF;EK1oMD;IYqDG,uBAAA;EjBwlMF;EK7oMD;IY2DG,WAAA;IACA,UAAA;EjBqlMF;EKjpMD;IY+CG,WAAA;IACA,iBAAA;EjBqmMF;EKrpMD;IYqDG,uBAAA;EjBmmMF;EKxpMD;IY2DG,WAAA;IACA,gBAAA;EjBgmMF;EK5pMD;IY+CG,WAAA;IACA,WAAA;EjBgnMF;EKhqMD;IYqDG,iBAAA;EjB8mMF;EKnqMD;IY2DG,WAAA;IACA,gBAAA;EjB2mMF;AACF;AiBzhMA;EZ/IC;IY+CG,WAAA;IACA,gBAAA;EjB6nMF;EK7qMD;IYqDG,sBAAA;EjB2nMF;EKhrMD;IY2DG,WAAA;IACA,WAAA;EjBwnMF;EKprMD;IY+CG,WAAA;IACA,iBAAA;EjBwoMF;EKxrMD;IYqDG,uBAAA;EjBsoMF;EK3rMD;IY2DG,WAAA;IACA,UAAA;EjBmoMF;EK/rMD;IY+CG,WAAA;IACA,UAAA;EjBmpMF;EKnsMD;IYqDG,gBAAA;EjBipMF;EKtsMD;IY2DG,WAAA;IACA,iBAAA;EjB8oMF;EK1sMD;IY+CG,WAAA;IACA,iBAAA;EjB8pMF;EK9sMD;IYqDG,uBAAA;EjB4pMF;EKjtMD;IY2DG,WAAA;IACA,UAAA;EjBypMF;EKrtMD;IY+CG,WAAA;IACA,iBAAA;EjByqMF;EKztMD;IYqDG,uBAAA;EjBuqMF;EK5tMD;IY2DG,WAAA;IACA,UAAA;EjBoqMF;EKhuMD;IY+CG,WAAA;IACA,UAAA;EjBorMF;EKpuMD;IYqDG,gBAAA;EjBkrMF;EKvuMD;IY2DG,WAAA;IACA,iBAAA;EjB+qMF;EK3uMD;IY+CG,WAAA;IACA,iBAAA;EjB+rMF;EK/uMD;IYqDG,uBAAA;EjB6rMF;EKlvMD;IY2DG,WAAA;IACA,iBAAA;EjB0rMF;EKtvMD;IY+CG,WAAA;IACA,iBAAA;EjB0sMF;EK1vMD;IYqDG,uBAAA;EjBwsMF;EK7vMD;IY2DG,WAAA;IACA,YAAA;EjBqsMF;EKjwMD;IY+CG,WAAA;IACA,UAAA;EjBqtMF;EKrwMD;IYqDG,gBAAA;EjBmtMF;EKxwMD;IY2DG,WAAA;IACA,iBAAA;EjBgtMF;EK5wMD;IY+CG,WAAA;IACA,iBAAA;EjBguMF;EKhxMD;IYqDG,uBAAA;EjB8tMF;EKnxMD;IY2DG,WAAA;IACA,UAAA;EjB2tMF;EKvxMD;IY+CG,WAAA;IACA,iBAAA;EjB2uMF;EK3xMD;IYqDG,uBAAA;EjByuMF;EK9xMD;IY2DG,WAAA;IACA,gBAAA;EjBsuMF;EKlyMD;IY+CG,WAAA;IACA,WAAA;EjBsvMF;EKtyMD;IYqDG,iBAAA;EjBovMF;EKzyMD;IY2DG,WAAA;IACA,gBAAA;EjBivMF;AACF;AiB3pMA;EZnJC;IY+CG,WAAA;IACA,gBAAA;EjBmwMF;EKnzMD;IYqDG,sBAAA;EjBiwMF;EKtzMD;IY2DG,WAAA;IACA,WAAA;EjB8vMF;EK1zMD;IY+CG,WAAA;IACA,iBAAA;EjB8wMF;EK9zMD;IYqDG,uBAAA;EjB4wMF;EKj0MD;IY2DG,WAAA;IACA,UAAA;EjBywMF;EKr0MD;IY+CG,WAAA;IACA,UAAA;EjByxMF;EKz0MD;IYqDG,gBAAA;EjBuxMF;EK50MD;IY2DG,WAAA;IACA,iBAAA;EjBoxMF;EKh1MD;IY+CG,WAAA;IACA,iBAAA;EjBoyMF;EKp1MD;IYqDG,uBAAA;EjBkyMF;EKv1MD;IY2DG,WAAA;IACA,UAAA;EjB+xMF;EK31MD;IY+CG,WAAA;IACA,iBAAA;EjB+yMF;EK/1MD;IYqDG,uBAAA;EjB6yMF;EKl2MD;IY2DG,WAAA;IACA,UAAA;EjB0yMF;EKt2MD;IY+CG,WAAA;IACA,UAAA;EjB0zMF;EK12MD;IYqDG,gBAAA;EjBwzMF;EK72MD;IY2DG,WAAA;IACA,iBAAA;EjBqzMF;EKj3MD;IY+CG,WAAA;IACA,iBAAA;EjBq0MF;EKr3MD;IYqDG,uBAAA;EjBm0MF;EKx3MD;IY2DG,WAAA;IACA,iBAAA;EjBg0MF;EK53MD;IY+CG,WAAA;IACA,iBAAA;EjBg1MF;EKh4MD;IYqDG,uBAAA;EjB80MF;EKn4MD;IY2DG,WAAA;IACA,YAAA;EjB20MF;EKv4MD;IY+CG,WAAA;IACA,UAAA;EjB21MF;EK34MD;IYqDG,gBAAA;EjBy1MF;EK94MD;IY2DG,WAAA;IACA,iBAAA;EjBs1MF;EKl5MD;IY+CG,WAAA;IACA,iBAAA;EjBs2MF;EKt5MD;IYqDG,uBAAA;EjBo2MF;EKz5MD;IY2DG,WAAA;IACA,UAAA;EjBi2MF;EK75MD;IY+CG,WAAA;IACA,iBAAA;EjBi3MF;EKj6MD;IYqDG,uBAAA;EjB+2MF;EKp6MD;IY2DG,WAAA;IACA,gBAAA;EjB42MF;EKx6MD;IY+CG,WAAA;IACA,WAAA;EjB43MF;EK56MD;IYqDG,iBAAA;EjB03MF;EK/6MD;IY2DG,WAAA;IACA,gBAAA;EjBu3MF;AACF;AACA;;;;EAIE;AKz7MD;EaIC,mCAAA;UAAA,2BAAA;AlBw7MF;AK57MC;EaIC,kIAAA;UAAA,0HAAA;AlB27MF;AK/7MC;EaIC,kIAAA;UAAA,0HAAA;AlB87MF;AKl8MC;EaIC,kIAAA;UAAA,0HAAA;AlBi8MF;AKr8MC;EaIC,mIAAA;UAAA,2HAAA;AlBo8MF;AKx8MC;EaIC,mIAAA;UAAA,2HAAA;AlBu8MF;AK38MC;EaIC,oIAAA;UAAA,4HAAA;AlB08MF;AK98MC;EaIC,wIAAA;UAAA,gIAAA;AlB68MF;AKj9MC;EaIC,wIAAA;UAAA,gIAAA;AlBg9MF;AKp9MC;EaIC,wIAAA;UAAA,gIAAA;AlBm9MF;AKv9MC;EaIC,yIAAA;UAAA,iIAAA;AlBs9MF;AK19MC;EaIC,yIAAA;UAAA,iIAAA;AlBy9MF;AK79MC;EaIC,yIAAA;UAAA,iIAAA;AlB49MF;AKh+MC;EaIC,yIAAA;UAAA,iIAAA;AlB+9MF;AKn+MC;EaIC,yIAAA;UAAA,iIAAA;AlBk+MF;AKt+MC;EaIC,yIAAA;UAAA,iIAAA;AlBq+MF;AKz+MC;EaIC,0IAAA;UAAA,kIAAA;AlBw+MF;AK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,4BAAA;EACA,qCAAA;UAAA,6BAAA;A3B2jON;AI51OI;EuBwSE,+BAAA;A3BujON;AI/1OI;EuB8SA,+BAAA;A3BojOJ;AIl2OI;EuBmTE,gCAAA;A3BkjON;AIr2OI;EuByTA,cAAA;A3B+iOJ;AIx2OI;EuB8TA,+BAAA;A3B6iOJ;AI32OI;EuBmUA,+BAAA;A3B2iOJ;AI92OI;;EuB2UE,4BAAA;EACA,qCAAA;UAAA,6BAAA;A3BuiON;AIn3OI;EuBgVE,cAAA;A3BsiON;AIt3OI;;EuBwVE,+BAAA;A3BkiON;AI13OI;EuB4VE,+BAAA;A3BiiON;AI73OI;EuBgWE,6CAAA;A3BgiON;AI33OI;EACE;IuBkRF,WAAA;IACA,6CAAA;E3B4mOF;E2B1mOE;IACE,+BAAA;E3B4mOJ;E2BzmOE;IACE,4BAAA;IACA,qCAAA;YAAA,6BAAA;E3B2mOJ;EIt4OI;IuBkSA,+BAAA;E3BumOJ;EIz4OI;IuBwSF,+BAAA;E3BomOF;EI54OI;IuB6SA,gCAAA;E3BkmOJ;EI/4OI;IuBmTF,cAAA;E3B+lOF;EIl5OI;IuBwTF,+BAAA;E3B6lOF;EIr5OI;IuB6TF,+BAAA;E3B2lOF;EIx5OI;;IuBqUA,4BAAA;IACA,qCAAA;YAAA,6BAAA;E3BulOJ;EI75OI;IuB0UA,cAAA;E3BslOJ;EIh6OI;;IuBkVA,+BAAA;E3BklOJ;EIp6OI;IuBsVA,+BAAA;E3BilOJ;EIv6OI;IuB0VA,6CAAA;E3BglOJ;AACF;AACA;;;;EAIE;AKx7OD;EsB0XS,4BAAA;EACA,qCAAA;UAAA,6BAAA;A3BikOV;AK57OC;;;EsBiYS,8BAAA;A3BgkOV;A2BziOU;EAbI,4BAAA;EACA,qCAAA;UAAA,6BAAA;A3ByjOd;A2B7iOU;;;EANI,cAAA;A3BwjOd;A2B5iOU;EACE;IApBE,4BAAA;IACA,qCAAA;YAAA,6BAAA;E3BmkOZ;E2BhjOU;;;IAbE,cAAA;E3BkkOZ;AACF;AKr9OC;EsB0XS,4BAAA;EACA,qCAAA;UAAA,6BAAA;A3B8lOV;AKz9OC;;;EsBiYS,8BAAA;A3B6lOV;A2BtkOU;EAbI,4BAAA;EACA,qCAAA;UAAA,6BAAA;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AA;A7BwrQR;A6BtrQQ;EACE,yBAAA;A7BwrQV;A6BjrQQ;;EACE,uDAAA;UAAA,+CAAA;A7BorQV;AK9yQC;EwB+GO,qBAAA;A7BksQR;A6BhsQQ;EACE,yBAAA;A7BksQV;A6B3rQQ;;EACE,uDAAA;UAAA,+CAAA;A7B8rQV;AKxzQC;EwB+GO,qBAAA;A7B4sQR;A6B1sQQ;EACE,yBAAA;A7B4sQV;A6BrsQQ;;EACE,uDAAA;UAAA,+CAAA;A7BwsQV;AKl0QC;EwB+GO,qBAAA;A7BstQR;A6BptQQ;EACE,yBAAA;A7BstQV;A6B/sQQ;;EACE,uDAAA;UAAA,+CAAA;A7BktQV;AK50QC;EwB+GO,qBAAA;A7BguQR;A6B9tQQ;EACE,yBAAA;A7BguQV;A6BztQQ;;EACE,uDAAA;UAAA,+CAAA;A7B4tQV;AKt1QC;EwB+GO,qBAAA;A7B0uQR;A6BxuQQ;EACE,yBAAA;A7B0uQV;A6BnuQQ;;EACE,wDAAA;UAAA,gDAAA;A7BsuQV;AKh2QC;EwB+GO,qBAAA;A7BovQR;A6BlvQQ;EACE,yBAAA;A7BovQV;A6B7uQQ;;EACE,uDAAA;UAAA,+CAAA;A7BgvQV;AK12QC;EwB+GO,qBAAA;A7B8vQR;A6B5vQQ;EACE,yBAAA;A7B8vQV;A6BvvQQ;;EACE,uDAAA;UAAA,+CAAA;A7B0vQV;AKp3QC;EwB+GO,qBAAA;A7BwwQR;A6BtwQQ;EACE,yBAAA;A7BwwQV;A6BjwQQ;;EACE,uDAAA;UAAA,+CAAA;A7BowQV;AK93QC;EwB+GO,qBAAA;A7BkxQR;A6BhxQQ;EACE,yBAAA;A7BkxQV;A6B3wQQ;;EACE,uDAAA;UAAA,+CAAA;A7B8wQV;AKx4QC;EwB+GO,qBAAA;A7B4xQR;A6B1xQQ;EACE,yBAAA;A7B4xQV;A6BrxQQ;;EACE,uDAAA;UAAA,+CAAA;A7BwxQV;AKl5QC;EwB+GO,qBAAA;A7BsyQR;A6BpyQQ;EACE,yBAAA;A7BsyQV;A6B/xQQ;;EACE,uDAAA;UAAA,+CAAA;A7BkyQV;AK55QC;EwB+GO,qBAAA;A7BgzQR;A6B9yQQ;EACE,yBAAA;A7BgzQV;A6BzyQQ;;EACE,uDAAA;UAAA,+CAAA;A7B4yQV;AKt6QC;EwB+GO,qBAAA;A7B0zQR;A6BxzQQ;EACE,yBAAA;A7B0zQV;A6BnzQQ;;EACE,sDAAA;UAAA,8CAAA;A7BszQV;AKh7QC;EwB+GO,qBAAA;A7Bo0QR;A6Bl0QQ;EACE,yBAAA;A7Bo0QV;A6B7zQQ;;EACE,wDAAA;UAAA,gDAAA;A7Bg0QV;AK17QC;EwB+GO,qBAAA;A7B80QR;A6B50QQ;EACE,yBAAA;A7B80QV;A6Bv0QQ;;EACE,sDAAA;UAAA,8CAAA;A7B00QV;AACA;;;;EAIE;AIv8QE;EyB0IA,sCAAA;A7Bg0QJ;AI18QI;EyB+IA,iDAAA;A7B8zQJ;A6BzzQI;EACE,qDAAA;A7B2zQN;A6BpzQI;;EACE,uDAAA;UAAA,+CAAA;A7BuzQN;AI/8QI;EACE;IyBoIF,sCAAA;E7B80QF;EIl9QI;IyByIF,iDAAA;E7B40QF;E6Bv0QE;IACE,qDAAA;E7By0QJ;E6Bl0QE;;IACE,uDAAA;YAAA,+CAAA;E7Bq0QJ;AACF;AACA;;;;EAIE;A8Bp+QF;EACE,qBAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,yBAAA;KAAA,sBAAA;MAAA,qBAAA;UAAA,iBAAA;A9Bs+QF;A8B3+QA;EASI,kBAAA;EACA,QAAA;EACA,SAAA;EACA,gBAAA;EACA,UAAA;A9Bq+QJ;AACA,SAAS;A8Bj+QT;EACE,kBAAA;EACA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,sBAAA;EACA,qCAAA;EACA,mBAAA;EACA,sEAAA;EAAA,8DAAA;A9Bm+QF;A8Bh+QE;EACE,kBAAA;EACA,SAAA;EACA,UAAA;EACA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,yBAAA;EACA,mBAAA;EACA,qKAAA;EAAA,6JAAA;EAAA,qJAAA;EAAA,4MAAA;EAGA,YAAA;EZ3CF,uHAAA;UAAA,+GAAA;AlB4gRF;AACA,YAAY;A8B59QZ;EACE,yCAAA;A9B89QF;A8B59QE;EACE,UAAA;EACA,yBAAA;A9B89QJ;AACA,mBAAmB;A8Bx9QjB;;EACE,sJAAA;UAAA,8IAAA;A9B29QJ;AACA,cAAc;A8B98QZ;;EACE,4JAAA;UAAA,oJAAA;A9Bi9QJ;AACA,SAAS;A8Bt8QT;EACE,gDAAA;A9Bw8QF;A8Bt8QE;EACE,oCAAA;A9Bw8QJ;AACA;;;;EAIE;AK9iRD;EyBuHO,yCAAA;A9B07QR;A8Bx7QQ;EACE,yBAAA;A9B07QV;A8Bn7QQ;;EACE,4JAAA;UAAA,oJAAA;A9Bs7QV;AKxjRC;EyBuHO,yCAAA;A9Bo8QR;A8Bl8QQ;EACE,yBAAA;A9Bo8QV;A8B77QQ;;EACE,4JAAA;UAAA,oJAAA;A9Bg8QV;AKlkRC;EyBuHO,yCAAA;A9B88QR;A8B58QQ;EACE,yBAAA;A9B88QV;A8Bv8QQ;;EACE,4JAAA;UAAA,oJAAA;A9B08QV;AK5kRC;EyBuHO,yCAAA;A9Bw9QR;A8Bt9QQ;EACE,yBAAA;A9Bw9QV;A8Bj9QQ;;EACE,4JAAA;UAAA,oJAAA;A9Bo9QV;AKtlRC;EyBuHO,yCAAA;A9Bk+QR;A8Bh+QQ;EACE,yBAAA;A9Bk+QV;A8B39QQ;;EACE,4JAAA;UAAA,oJAAA;A9B89QV;AKhmRC;EyBuHO,0CAAA;A9B4+QR;A8B1+QQ;EACE,yBAAA;A9B4+QV;A8Br+QQ;;EACE,6JAAA;UAAA,qJAAA;A9Bw+QV;AK1mRC;EyBuHO,yCAAA;A9Bs/QR;A8Bp/QQ;EACE,yBAAA;A9Bs/QV;A8B/+QQ;;EACE,4JAAA;UAAA,oJAAA;A9Bk/QV;AKpnRC;EyBuHO,yCAAA;A9BggRR;A8B9/QQ;EACE,yBAAA;A9BggRV;A8Bz/QQ;;EACE,4JAAA;UAAA,oJAAA;A9B4/QV;AK9nRC;EyBuHO,yCAAA;A9B0gRR;A8BxgRQ;EACE,yBAAA;A9B0gRV;A8BngRQ;;EACE,4JAAA;UAAA,oJAAA;A9BsgRV;AKxoRC;EyBuHO,yCAAA;A9BohRR;A8BlhRQ;EACE,yBAAA;A9BohRV;A8B7gRQ;;EACE,4JAAA;UAAA,oJAAA;A9BghRV;AKlpRC;EyBuHO,yCAAA;A9B8hRR;A8B5hRQ;EACE,yBAAA;A9B8hRV;A8BvhRQ;;EACE,4JAAA;UAAA,oJAAA;A9B0hRV;AK5pRC;EyBuHO,yCAAA;A9BwiRR;A8BtiRQ;EACE,yBAAA;A9BwiRV;A8BjiRQ;;EACE,4JAAA;UAAA,oJAAA;A9BoiRV;AKtqRC;EyBuHO,yCAAA;A9BkjRR;A8BhjRQ;EACE,yBAAA;A9BkjRV;A8B3iRQ;;EACE,4JAAA;UAAA,oJAAA;A9B8iRV;AKhrRC;EyBuHO,wCAAA;A9B4jRR;A8B1jRQ;EACE,yBAAA;A9B4jRV;A8BrjRQ;;EACE,2JAAA;UAAA,mJAAA;A9BwjRV;AK1rRC;EyBuHO,0CAAA;A9BskRR;A8BpkRQ;EACE,yBAAA;A9BskRV;A8B/jRQ;;EACE,6JAAA;UAAA,qJAAA;A9BkkRV;AKpsRC;EyBuHO,wCAAA;A9BglRR;A8B9kRQ;EACE,yBAAA;A9BglRV;A8BzkRQ;;EACE,2JAAA;UAAA,mJAAA;A9B4kRV;AACA;;;;EAIE;AIjtRE;E0ByJA,0CAAA;A9B2jRJ;A8BzjRI;EACE,yBAAA;A9B2jRN;AKztRC;EyB8KS,0CAAA;A9B8iRV;A8B5iRU;EACE,yBAAA;A9B8iRZ;AK/tRC;EyB8KS,0CAAA;A9BojRV;A8BljRU;EACE,yBAAA;A9BojRZ;AKruRC;EyB8KS,0CAAA;A9B0jRV;A8BxjRU;EACE,yBAAA;A9B0jRZ;AK3uRC;EyB8KS,0CAAA;A9BgkRV;A8B9jRU;EACE,yBAAA;A9BgkRZ;AKjvRC;EyB8KS,0CAAA;A9BskRV;A8BpkRU;EACE,yBAAA;A9BskRZ;AKvvRC;EyB8KS,0CAAA;A9B4kRV;A8B1kRU;EACE,yBAAA;A9B4kRZ;AK7vRC;EyB8KS,0CAAA;A9BklRV;A8BhlRU;EACE,yBAAA;A9BklRZ;AKnwRC;EyB8KS,0CAAA;A9BwlRV;A8BtlRU;EACE,yBAAA;A9BwlRZ;AKzwRC;EyB8KS,0CAAA;A9B8lRV;A8B5lRU;EACE,yBAAA;A9B8lRZ;AK/wRC;EyB8KS,0CAAA;A9BomRV;A8BlmRU;EACE,yBAAA;A9BomRZ;AKrxRC;EyB8KS,0CAAA;A9B0mRV;A8BxmRU;EACE,yBAAA;A9B0mRZ;AK3xRC;EyB8KS,0CAAA;A9BgnRV;A8B9mRU;EACE,yBAAA;A9BgnRZ;AKjyRC;EyB8KS,0CAAA;A9BsnRV;A8BpnRU;EACE,yBAAA;A9BsnRZ;AKvyRC;EyB8KS,0CAAA;A9B4nRV;A8B1nRU;EACE,yBAAA;A9B4nRZ;AK7yRC;EyB8KS,0CAAA;A9BkoRV;A8BhoRU;EACE,yBAAA;A9BkoRZ;AKnzRC;EyB8KS,0CAAA;A9BwoRV;A8BtoRU;EACE,yBAAA;A9BwoRZ;A8B5nRI;;EACE,4JAAA;UAAA,oJAAA;A9B+nRN;AI3zRI;E0ByMA,qDAAA;A9BqnRJ;A8BnnRI;EACE,oCAAA;A9BqnRN;AI5zRI;EACE;I0BmJF,0CAAA;E9B4qRF;E8B1qRE;IACE,yBAAA;E9B4qRJ;EK10RD;IyB8KS,0CAAA;E9B+pRR;E8B7pRQ;IACE,yBAAA;E9B+pRV;EKh1RD;IyB8KS,0CAAA;E9BqqRR;E8BnqRQ;IACE,yBAAA;E9BqqRV;EKt1RD;IyB8KS,0CAAA;E9B2qRR;E8BzqRQ;IACE,yBAAA;E9B2qRV;EK51RD;IyB8KS,0CAAA;E9BirRR;E8B/qRQ;IACE,yBAAA;E9BirRV;EKl2RD;IyB8KS,0CAAA;E9BurRR;E8BrrRQ;IACE,yBAAA;E9BurRV;EKx2RD;IyB8KS,0CAAA;E9B6rRR;E8B3rRQ;IACE,yBAAA;E9B6rRV;EK92RD;IyB8KS,0CAAA;E9BmsRR;E8BjsRQ;IACE,yBAAA;E9BmsRV;EKp3RD;IyB8KS,0CAAA;E9BysRR;E8BvsRQ;IACE,yBAAA;E9BysRV;EK13RD;IyB8KS,0CAAA;E9B+sRR;E8B7sRQ;IACE,yBAAA;E9B+sRV;EKh4RD;IyB8KS,0CAAA;E9BqtRR;E8BntRQ;IACE,yBAAA;E9BqtRV;EKt4RD;IyB8KS,0CAAA;E9B2tRR;E8BztRQ;IACE,yBAAA;E9B2tRV;EK54RD;IyB8KS,0CAAA;E9BiuRR;E8B/tRQ;IACE,yBAAA;E9BiuRV;EKl5RD;IyB8KS,0CAAA;E9BuuRR;E8BruRQ;IACE,yBAAA;E9BuuRV;EKx5RD;IyB8KS,0CAAA;E9B6uRR;E8B3uRQ;IACE,yBAAA;E9B6uRV;EK95RD;IyB8KS,0CAAA;E9BmvRR;E8BjvRQ;IACE,yBAAA;E9BmvRV;EKp6RD;IyB8KS,0CAAA;E9ByvRR;E8BvvRQ;IACE,yBAAA;E9ByvRV;E8B7uRE;;IACE,4JAAA;YAAA,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AAA;AtCs4UR;AKnjVC;EiCyKO,cAAA;AtC64UR;AKtjVC;EiC6KO,yBAAA;AtC44UR;AKzjVC;EiCyKO,cAAA;AtCm5UR;AK5jVC;EiC6KO,yBAAA;AtCk5UR;AK/jVC;EiCyKO,cAAA;AtCy5UR;AKlkVC;EiC6KO,yBAAA;AtCw5UR;AKrkVC;EiCyKO,cAAA;AtC+5UR;AKxkVC;EiC6KO,yBAAA;AtC85UR;AK3kVC;EiCyKO,cAAA;AtCq6UR;AK9kVC;EiC6KO,yBAAA;AtCo6UR;AKjlVC;EiCyKO,cAAA;AtC26UR;AKplVC;EiC6KO,yBAAA;AtC06UR;AKvlVC;EiCyKO,cAAA;AtCi7UR;AK1lVC;EiC6KO,yBAAA;AtCg7UR;AK7lVC;EiCyKO,cAAA;AtCu7UR;AKhmVC;EiC6KO,yBAAA;AtCs7UR;AKnmVC;EiCyKO,cAAA;AtC67UR;AKtmVC;EiC6KO,yBAAA;AtC47UR;AKzmVC;EiCyKO,cAAA;AtCm8UR;AK5mVC;EiC6KO,yBAAA;AtCk8UR;AK/mVC;EiCyKO,cAAA;AtCy8UR;AKlnVC;EiC6KO,yBAAA;AtCw8UR;AKrnVC;EiCyKO,cAAA;AtC+8UR;AKxnVC;EiC6KO,yBAAA;AtC88UR;AK3nVC;EiCyKO,cAAA;AtCq9UR;AK9nVC;EiC6KO,yBAAA;AtCo9UR;AACA,aAAa;AsC58Ub;EAEI,cAAA;AtC68UJ;AsC/8UA;EAKI,yBAAA;AtC68UJ;AG1hVI;EACE,UAAA;EACA,WAAA;EACA,uBAAA;AH4hVN;AG1hVM;EAAA;IACE,UAAA;IACA,WAAA;EH6hVN;AACF;AG1hVI;EACE,oCAAA;AH4hVN;AACA;;;;;;EAME;AuCrpVF;;EAEE,kBAAA;EACA,8BAAA;UAAA,sBAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,0BAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,eAAA;EpC6CA,gBAAA;EACA,mBAAA;EACA,uBAAA;AH2mVF;AuCtpVA;EACE,kBAAA;AvCwpVF;AACA;;;;EAIE;AInrVE;;EmCiCA,+BAAA;AvCspVJ;AIlrVI;EACE;;ImC2BF,+BAAA;EvC2pVF;AACF;AACA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4XA;EACE;IACE,OAAA;IACA,QAAA;EnD64XF;EmD34XA;IACE,SAAA;IACA,UAAA;EnD64XF;EmD34XA;IACE,UAAA;IACA,QAAA;EnD64XF;AACF;AmDz5XA;EACE;IACE,OAAA;IACA,QAAA;EnD64XF;EmD34XA;IACE,SAAA;IACA,UAAA;EnD64XF;EmD34XA;IACE,UAAA;IACA,QAAA;EnD64XF;AACF;AmD14XA;EACE;IACE,OAAA;IACA,QAAA;EnD44XF;EmD14XA;IACE,OAAA;IACA,QAAA;EnD44XF;EmD14XA;IACE,OAAA;IACA,UAAA;EnD44XF;EmD14XA;IACE,UAAA;IACA,QAAA;EnD44XF;AACF;AmD55XA;EACE;IACE,OAAA;IACA,QAAA;EnD44XF;EmD14XA;IACE,OAAA;IACA,QAAA;EnD44XF;EmD14XA;IACE,OAAA;IACA,UAAA;EnD44XF;EmD14XA;IACE,UAAA;IACA,QAAA;EnD44XF;AACF;AACA;;;;EAIE;AKt+XD;E8CsGO,wCAAA;AnDm4XR;AKz+XC;;EC4CC,yBAAA;ANi8XF;AK7+XC;E8CsGO,yCAAA;AnD04XR;AKh/XC;;EC4CC,yBAAA;ANw8XF;AKp/XC;E8CsGO,yCAAA;AnDi5XR;AKv/XC;;EC4CC,yBAAA;AN+8XF;AK3/XC;E8CsGO,wCAAA;AnDw5XR;AK9/XC;;EC4CC,yBAAA;ANs9XF;AKlgYC;E8CsGO,wCAAA;AnD+5XR;AKrgYC;;EC4CC,yBAAA;AN69XF;AKzgYC;E8CsGO,wCAAA;AnDs6XR;AK5gYC;;EC4CC,yBAAA;ANo+XF;AKhhYC;E8CsGO,yCAAA;AnD66XR;AKnhYC;;EC4CC,yBAAA;AN2+XF;AKvhYC;E8CsGO,wCAAA;AnDo7XR;AK1hYC;;EC4CC,yBAAA;ANk/XF;AK9hYC;E8CsGO,0CAAA;AnD27XR;AKjiYC;;EC4CC,yBAAA;ANy/XF;AKriYC;E8CsGO,wCAAA;AnDk8XR;AKxiYC;;EC4CC,yBAAA;ANggYF;AK5iYC;E8CsGO,wCAAA;AnDy8XR;AK/iYC;;EC4CC,yBAAA;ANugYF;AKnjYC;E8CsGO,yCAAA;AnDg9XR;AKtjYC;;EC4CC,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","file":"mdui.css","sourcesContent":["/*!\n * mdui 1.0.1 (https://mdui.org)\n * Copyright 2016-2020 zdhxiong\n * Licensed under MIT\n *//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\n/**\n * =============================================================================\n * ************ 公共样式 ************\n * =============================================================================\n */\n* {\n -webkit-tap-highlight-color: transparent;\n}\nbody {\n color: rgba(0, 0, 0, 0.87);\n font-size: 14px;\n font-family: Roboto, Noto, Helvetica, Arial, sans-serif;\n background-color: #fff;\n}\n@media (min-width: 600px) {\n body {\n font-size: 14.5px;\n }\n}\n@media (min-width: 1024px) {\n body {\n font-size: 15px;\n }\n}\nbody *::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n}\n@media (min-width: 1024px) {\n body *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\nbody *::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n}\n/* 锁定屏幕 */\nbody.mdui-locked {\n overflow: hidden;\n}\n/* 遮罩层 */\n.mdui-overlay {\n position: fixed;\n top: -5000px;\n right: -5000px;\n bottom: -5000px;\n left: -5000px;\n z-index: 2000;\n background: rgba(0, 0, 0, 0.4);\n backface-visibility: hidden;\n visibility: hidden;\n opacity: 0;\n transition-duration: 0.3s;\n transition-property: opacity, visibility;\n will-change: opacity;\n}\n/* 显示遮罩层 */\n.mdui-overlay-show {\n visibility: visible;\n opacity: 1;\n}\n/* 取消 transition 过渡效果 */\n.mdui-no-transition {\n transition-property: none !important;\n}\n/**\n * =============================================================================\n * ************ Global dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark {\n color: #fff;\n background-color: #303030;\n}\n.mdui-theme-layout-dark *::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n}\n@media (min-width: 1024px) {\n .mdui-theme-layout-dark *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\n.mdui-theme-layout-dark *::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto {\n color: #fff;\n background-color: #303030;\n }\n .mdui-theme-layout-auto *::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n }\n .mdui-theme-layout-auto *::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n }\n}\n@media (prefers-color-scheme: dark) and (min-width: 1024px) {\n .mdui-theme-layout-auto *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\n/**\n * =============================================================================\n * ************ Color 颜色 ************\n * =============================================================================\n */\n/**\n * .mdui-theme-primary-[color] .mdui-color-theme\n * .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n */\n.mdui-theme-primary-amber .mdui-color-theme {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-50 {\n background-color: #FFF8E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-100 {\n background-color: #FFECB3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-200 {\n background-color: #FFE082 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-300 {\n background-color: #FFD54F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-400 {\n background-color: #FFCA28 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-500 {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-600 {\n background-color: #FFB300 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-700 {\n background-color: #FFA000 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-800 {\n background-color: #FF8F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-900 {\n background-color: #FF6F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-50 {\n background-color: #E3F2FD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-100 {\n background-color: #BBDEFB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-200 {\n background-color: #90CAF9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-300 {\n background-color: #64B5F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-400 {\n background-color: #42A5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-500 {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-600 {\n background-color: #1E88E5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-700 {\n background-color: #1976D2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-800 {\n background-color: #1565C0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-900 {\n background-color: #0D47A1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-50 {\n background-color: #ECEFF1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-100 {\n background-color: #CFD8DC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-200 {\n background-color: #B0BEC5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-300 {\n background-color: #90A4AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-400 {\n background-color: #78909C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-500 {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-600 {\n background-color: #546E7A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-700 {\n background-color: #455A64 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-800 {\n background-color: #37474F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-900 {\n background-color: #263238 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-50 {\n background-color: #EFEBE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-100 {\n background-color: #D7CCC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-200 {\n background-color: #BCAAA4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-300 {\n background-color: #A1887F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-400 {\n background-color: #8D6E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-500 {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-600 {\n background-color: #6D4C41 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-700 {\n background-color: #5D4037 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-800 {\n background-color: #4E342E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-900 {\n background-color: #3E2723 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-50 {\n background-color: #E0F7FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-100 {\n background-color: #B2EBF2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-200 {\n background-color: #80DEEA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-300 {\n background-color: #4DD0E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-400 {\n background-color: #26C6DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-500 {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-600 {\n background-color: #00ACC1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-700 {\n background-color: #0097A7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-800 {\n background-color: #00838F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-900 {\n background-color: #006064 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-50 {\n background-color: #FBE9E7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-100 {\n background-color: #FFCCBC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-200 {\n background-color: #FFAB91 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-300 {\n background-color: #FF8A65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-400 {\n background-color: #FF7043 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-500 {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-600 {\n background-color: #F4511E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-700 {\n background-color: #E64A19 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-800 {\n background-color: #D84315 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-900 {\n background-color: #BF360C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-50 {\n background-color: #EDE7F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-100 {\n background-color: #D1C4E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-200 {\n background-color: #B39DDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-300 {\n background-color: #9575CD !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-400 {\n background-color: #7E57C2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-500 {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-600 {\n background-color: #5E35B1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-700 {\n background-color: #512DA8 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-800 {\n background-color: #4527A0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-900 {\n background-color: #311B92 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-50 {\n background-color: #E8F5E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-100 {\n background-color: #C8E6C9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-200 {\n background-color: #A5D6A7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-300 {\n background-color: #81C784 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-400 {\n background-color: #66BB6A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-500 {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-600 {\n background-color: #43A047 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-700 {\n background-color: #388E3C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-800 {\n background-color: #2E7D32 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-900 {\n background-color: #1B5E20 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-50 {\n background-color: #FAFAFA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-100 {\n background-color: #F5F5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-200 {\n background-color: #EEEEEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-300 {\n background-color: #E0E0E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-400 {\n background-color: #BDBDBD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-500 {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-600 {\n background-color: #757575 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-700 {\n background-color: #616161 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-800 {\n background-color: #424242 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-900 {\n background-color: #212121 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-50 {\n background-color: #E8EAF6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-100 {\n background-color: #C5CAE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-200 {\n background-color: #9FA8DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-300 {\n background-color: #7986CB !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-400 {\n background-color: #5C6BC0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-500 {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-600 {\n background-color: #3949AB !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-700 {\n background-color: #303F9F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-800 {\n background-color: #283593 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-900 {\n background-color: #1A237E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-50 {\n background-color: #E1F5FE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-100 {\n background-color: #B3E5FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-200 {\n background-color: #81D4FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-300 {\n background-color: #4FC3F7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-400 {\n background-color: #29B6F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-500 {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-600 {\n background-color: #039BE5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-700 {\n background-color: #0288D1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-800 {\n background-color: #0277BD !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-900 {\n background-color: #01579B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-50 {\n background-color: #F1F8E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-100 {\n background-color: #DCEDC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-200 {\n background-color: #C5E1A5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-300 {\n background-color: #AED581 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-400 {\n background-color: #9CCC65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-500 {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-600 {\n background-color: #7CB342 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-700 {\n background-color: #689F38 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-800 {\n background-color: #558B2F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-900 {\n background-color: #33691E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-50 {\n background-color: #F9FBE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-100 {\n background-color: #F0F4C3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-200 {\n background-color: #E6EE9C !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-300 {\n background-color: #DCE775 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-400 {\n background-color: #D4E157 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-500 {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-600 {\n background-color: #C0CA33 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-700 {\n background-color: #AFB42B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-800 {\n background-color: #9E9D24 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-900 {\n background-color: #827717 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-50 {\n background-color: #FFF3E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-100 {\n background-color: #FFE0B2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-200 {\n background-color: #FFCC80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-300 {\n background-color: #FFB74D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-400 {\n background-color: #FFA726 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-500 {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-600 {\n background-color: #FB8C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-700 {\n background-color: #F57C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-800 {\n background-color: #EF6C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-900 {\n background-color: #E65100 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-50 {\n background-color: #FCE4EC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-100 {\n background-color: #F8BBD0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-200 {\n background-color: #F48FB1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-300 {\n background-color: #F06292 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-400 {\n background-color: #EC407A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-500 {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-600 {\n background-color: #D81B60 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-700 {\n background-color: #C2185B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-800 {\n background-color: #AD1457 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-900 {\n background-color: #880E4F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-50 {\n background-color: #F3E5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-100 {\n background-color: #E1BEE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-200 {\n background-color: #CE93D8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-300 {\n background-color: #BA68C8 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-400 {\n background-color: #AB47BC !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-500 {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-600 {\n background-color: #8E24AA !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-700 {\n background-color: #7B1FA2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-800 {\n background-color: #6A1B9A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-900 {\n background-color: #4A148C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-50 {\n background-color: #FFEBEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-100 {\n background-color: #FFCDD2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-200 {\n background-color: #EF9A9A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-300 {\n background-color: #E57373 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-400 {\n background-color: #EF5350 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-500 {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-600 {\n background-color: #E53935 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-700 {\n background-color: #D32F2F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-800 {\n background-color: #C62828 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-900 {\n background-color: #B71C1C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-50 {\n background-color: #E0F2F1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-100 {\n background-color: #B2DFDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-200 {\n background-color: #80CBC4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-300 {\n background-color: #4DB6AC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-400 {\n background-color: #26A69A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-500 {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-600 {\n background-color: #00897B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-700 {\n background-color: #00796B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-800 {\n background-color: #00695C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-900 {\n background-color: #004D40 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-50 {\n background-color: #FFFDE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-100 {\n background-color: #FFF9C4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-200 {\n background-color: #FFF59D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-300 {\n background-color: #FFF176 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-400 {\n background-color: #FFEE58 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-500 {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-600 {\n background-color: #FDD835 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-700 {\n background-color: #FBC02D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-800 {\n background-color: #F9A825 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-900 {\n background-color: #F57F17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-theme-accent-[color] .mdui-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n */\n.mdui-theme-accent-amber .mdui-color-theme-accent {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a100 {\n background-color: #FFE57F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a200 {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a400 {\n background-color: #FFC400 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a700 {\n background-color: #FFAB00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-accent {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a100 {\n background-color: #82B1FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a200 {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a400 {\n background-color: #2979FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a700 {\n background-color: #2962FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-accent {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a100 {\n background-color: #84FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a200 {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a400 {\n background-color: #00E5FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a700 {\n background-color: #00B8D4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-accent {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a100 {\n background-color: #FF9E80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a200 {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a400 {\n background-color: #FF3D00 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a700 {\n background-color: #DD2C00 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-accent {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a100 {\n background-color: #B388FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a200 {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a400 {\n background-color: #651FFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a700 {\n background-color: #6200EA !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-accent {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a100 {\n background-color: #B9F6CA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a200 {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a400 {\n background-color: #00E676 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a700 {\n background-color: #00C853 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-accent {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a100 {\n background-color: #8C9EFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a200 {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a400 {\n background-color: #3D5AFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a700 {\n background-color: #304FFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-accent {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a100 {\n background-color: #80D8FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a200 {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a400 {\n background-color: #00B0FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a700 {\n background-color: #0091EA !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-accent {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a100 {\n background-color: #CCFF90 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a200 {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a400 {\n background-color: #76FF03 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a700 {\n background-color: #64DD17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-accent {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a100 {\n background-color: #F4FF81 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a200 {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a400 {\n background-color: #C6FF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a700 {\n background-color: #AEEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-accent {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a100 {\n background-color: #FFD180 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a200 {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a400 {\n background-color: #FF9100 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a700 {\n background-color: #FF6D00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-accent {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a100 {\n background-color: #FF80AB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a200 {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a400 {\n background-color: #F50057 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a700 {\n background-color: #C51162 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-accent {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a100 {\n background-color: #EA80FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a200 {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a400 {\n background-color: #D500F9 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a700 {\n background-color: #AA00FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-accent {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a100 {\n background-color: #FF8A80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a200 {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a400 {\n background-color: #FF1744 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a700 {\n background-color: #D50000 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-accent {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a100 {\n background-color: #A7FFEB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a200 {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a400 {\n background-color: #1DE9B6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a700 {\n background-color: #00BFA5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-accent {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a100 {\n background-color: #FFFF8D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a200 {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a400 {\n background-color: #FFEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a700 {\n background-color: #FFD600 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-[color]\n * .mdui-color-[color]-[degree]\n */\n.mdui-color-amber {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-50 {\n background-color: #FFF8E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-100 {\n background-color: #FFECB3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-200 {\n background-color: #FFE082 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-300 {\n background-color: #FFD54F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-400 {\n background-color: #FFCA28 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-500 {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-600 {\n background-color: #FFB300 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-700 {\n background-color: #FFA000 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-800 {\n background-color: #FF8F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-900 {\n background-color: #FF6F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-50 {\n background-color: #E3F2FD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-100 {\n background-color: #BBDEFB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-200 {\n background-color: #90CAF9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-300 {\n background-color: #64B5F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-400 {\n background-color: #42A5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-500 {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-600 {\n background-color: #1E88E5 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-700 {\n background-color: #1976D2 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-800 {\n background-color: #1565C0 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-900 {\n background-color: #0D47A1 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-50 {\n background-color: #ECEFF1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-100 {\n background-color: #CFD8DC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-200 {\n background-color: #B0BEC5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-300 {\n background-color: #90A4AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-400 {\n background-color: #78909C !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-500 {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-600 {\n background-color: #546E7A !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-700 {\n background-color: #455A64 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-800 {\n background-color: #37474F !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-900 {\n background-color: #263238 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-50 {\n background-color: #EFEBE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-100 {\n background-color: #D7CCC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-200 {\n background-color: #BCAAA4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-300 {\n background-color: #A1887F !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-400 {\n background-color: #8D6E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-500 {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-600 {\n background-color: #6D4C41 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-700 {\n background-color: #5D4037 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-800 {\n background-color: #4E342E !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-900 {\n background-color: #3E2723 !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-50 {\n background-color: #E0F7FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-100 {\n background-color: #B2EBF2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-200 {\n background-color: #80DEEA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-300 {\n background-color: #4DD0E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-400 {\n background-color: #26C6DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-500 {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-600 {\n background-color: #00ACC1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-700 {\n background-color: #0097A7 !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-800 {\n background-color: #00838F !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-900 {\n background-color: #006064 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-50 {\n background-color: #FBE9E7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-100 {\n background-color: #FFCCBC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-200 {\n background-color: #FFAB91 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-300 {\n background-color: #FF8A65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-400 {\n background-color: #FF7043 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-500 {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-600 {\n background-color: #F4511E !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-700 {\n background-color: #E64A19 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-800 {\n background-color: #D84315 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-900 {\n background-color: #BF360C !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-50 {\n background-color: #EDE7F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-100 {\n background-color: #D1C4E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-200 {\n background-color: #B39DDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-300 {\n background-color: #9575CD !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-400 {\n background-color: #7E57C2 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-500 {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-600 {\n background-color: #5E35B1 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-700 {\n background-color: #512DA8 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-800 {\n background-color: #4527A0 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-900 {\n background-color: #311B92 !important;\n color: #ffffff !important;\n}\n.mdui-color-green {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-50 {\n background-color: #E8F5E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-100 {\n background-color: #C8E6C9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-200 {\n background-color: #A5D6A7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-300 {\n background-color: #81C784 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-400 {\n background-color: #66BB6A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-500 {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-600 {\n background-color: #43A047 !important;\n color: #ffffff !important;\n}\n.mdui-color-green-700 {\n background-color: #388E3C !important;\n color: #ffffff !important;\n}\n.mdui-color-green-800 {\n background-color: #2E7D32 !important;\n color: #ffffff !important;\n}\n.mdui-color-green-900 {\n background-color: #1B5E20 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-50 {\n background-color: #FAFAFA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-100 {\n background-color: #F5F5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-200 {\n background-color: #EEEEEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-300 {\n background-color: #E0E0E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-400 {\n background-color: #BDBDBD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-500 {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-600 {\n background-color: #757575 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-700 {\n background-color: #616161 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-800 {\n background-color: #424242 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-900 {\n background-color: #212121 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-50 {\n background-color: #E8EAF6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-100 {\n background-color: #C5CAE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-200 {\n background-color: #9FA8DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-300 {\n background-color: #7986CB !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-400 {\n background-color: #5C6BC0 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-500 {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-600 {\n background-color: #3949AB !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-700 {\n background-color: #303F9F !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-800 {\n background-color: #283593 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-900 {\n background-color: #1A237E !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-50 {\n background-color: #E1F5FE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-100 {\n background-color: #B3E5FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-200 {\n background-color: #81D4FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-300 {\n background-color: #4FC3F7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-400 {\n background-color: #29B6F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-500 {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-600 {\n background-color: #039BE5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-700 {\n background-color: #0288D1 !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-800 {\n background-color: #0277BD !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-900 {\n background-color: #01579B !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-50 {\n background-color: #F1F8E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-100 {\n background-color: #DCEDC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-200 {\n background-color: #C5E1A5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-300 {\n background-color: #AED581 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-400 {\n background-color: #9CCC65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-500 {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-600 {\n background-color: #7CB342 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-700 {\n background-color: #689F38 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-800 {\n background-color: #558B2F !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green-900 {\n background-color: #33691E !important;\n color: #ffffff !important;\n}\n.mdui-color-lime {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-50 {\n background-color: #F9FBE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-100 {\n background-color: #F0F4C3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-200 {\n background-color: #E6EE9C !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-300 {\n background-color: #DCE775 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-400 {\n background-color: #D4E157 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-500 {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-600 {\n background-color: #C0CA33 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-700 {\n background-color: #AFB42B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-800 {\n background-color: #9E9D24 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-900 {\n background-color: #827717 !important;\n color: #ffffff !important;\n}\n.mdui-color-orange {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-50 {\n background-color: #FFF3E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-100 {\n background-color: #FFE0B2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-200 {\n background-color: #FFCC80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-300 {\n background-color: #FFB74D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-400 {\n background-color: #FFA726 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-500 {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-600 {\n background-color: #FB8C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-700 {\n background-color: #F57C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-800 {\n background-color: #EF6C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-900 {\n background-color: #E65100 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-50 {\n background-color: #FCE4EC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-100 {\n background-color: #F8BBD0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-200 {\n background-color: #F48FB1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-300 {\n background-color: #F06292 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-400 {\n background-color: #EC407A !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-500 {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-600 {\n background-color: #D81B60 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-700 {\n background-color: #C2185B !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-800 {\n background-color: #AD1457 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-900 {\n background-color: #880E4F !important;\n color: #ffffff !important;\n}\n.mdui-color-purple {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-50 {\n background-color: #F3E5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-100 {\n background-color: #E1BEE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-200 {\n background-color: #CE93D8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-300 {\n background-color: #BA68C8 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-400 {\n background-color: #AB47BC !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-500 {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-600 {\n background-color: #8E24AA !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-700 {\n background-color: #7B1FA2 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-800 {\n background-color: #6A1B9A !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-900 {\n background-color: #4A148C !important;\n color: #ffffff !important;\n}\n.mdui-color-red {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-50 {\n background-color: #FFEBEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-100 {\n background-color: #FFCDD2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-200 {\n background-color: #EF9A9A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-300 {\n background-color: #E57373 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-400 {\n background-color: #EF5350 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-500 {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-600 {\n background-color: #E53935 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-700 {\n background-color: #D32F2F !important;\n color: #ffffff !important;\n}\n.mdui-color-red-800 {\n background-color: #C62828 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-900 {\n background-color: #B71C1C !important;\n color: #ffffff !important;\n}\n.mdui-color-teal {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-50 {\n background-color: #E0F2F1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-100 {\n background-color: #B2DFDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-200 {\n background-color: #80CBC4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-300 {\n background-color: #4DB6AC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-400 {\n background-color: #26A69A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-500 {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-600 {\n background-color: #00897B !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-700 {\n background-color: #00796B !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-800 {\n background-color: #00695C !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-900 {\n background-color: #004D40 !important;\n color: #ffffff !important;\n}\n.mdui-color-yellow {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-50 {\n background-color: #FFFDE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-100 {\n background-color: #FFF9C4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-200 {\n background-color: #FFF59D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-300 {\n background-color: #FFF176 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-400 {\n background-color: #FFEE58 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-500 {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-600 {\n background-color: #FDD835 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-700 {\n background-color: #FBC02D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-800 {\n background-color: #F9A825 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-900 {\n background-color: #F57F17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-[color]-accent\n * .mdui-color-[color]-[degree]\n */\n.mdui-color-amber-accent {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a100 {\n background-color: #FFE57F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a200 {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a400 {\n background-color: #FFC400 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a700 {\n background-color: #FFAB00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-accent {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a100 {\n background-color: #82B1FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-a200 {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a400 {\n background-color: #2979FF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a700 {\n background-color: #2962FF !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-accent {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a100 {\n background-color: #84FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a200 {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a400 {\n background-color: #00E5FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a700 {\n background-color: #00B8D4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-accent {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a100 {\n background-color: #FF9E80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a200 {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a400 {\n background-color: #FF3D00 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-a700 {\n background-color: #DD2C00 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-accent {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a100 {\n background-color: #B388FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-a200 {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a400 {\n background-color: #651FFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a700 {\n background-color: #6200EA !important;\n color: #ffffff !important;\n}\n.mdui-color-green-accent {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a100 {\n background-color: #B9F6CA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a200 {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a400 {\n background-color: #00E676 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a700 {\n background-color: #00C853 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-accent {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a100 {\n background-color: #8C9EFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-a200 {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a400 {\n background-color: #3D5AFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a700 {\n background-color: #304FFE !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-accent {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a100 {\n background-color: #80D8FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a200 {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a400 {\n background-color: #00B0FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a700 {\n background-color: #0091EA !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green-accent {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a100 {\n background-color: #CCFF90 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a200 {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a400 {\n background-color: #76FF03 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a700 {\n background-color: #64DD17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-accent {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a100 {\n background-color: #F4FF81 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a200 {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a400 {\n background-color: #C6FF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a700 {\n background-color: #AEEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-accent {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a100 {\n background-color: #FFD180 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a200 {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a400 {\n background-color: #FF9100 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a700 {\n background-color: #FF6D00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-accent {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a100 {\n background-color: #FF80AB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-a200 {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a400 {\n background-color: #F50057 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a700 {\n background-color: #C51162 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-accent {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a100 {\n background-color: #EA80FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-a200 {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a400 {\n background-color: #D500F9 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a700 {\n background-color: #AA00FF !important;\n color: #ffffff !important;\n}\n.mdui-color-red-accent {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a100 {\n background-color: #FF8A80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-a200 {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a400 {\n background-color: #FF1744 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a700 {\n background-color: #D50000 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-accent {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a100 {\n background-color: #A7FFEB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a200 {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a400 {\n background-color: #1DE9B6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a700 {\n background-color: #00BFA5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-accent {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a100 {\n background-color: #FFFF8D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a200 {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a400 {\n background-color: #FFEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a700 {\n background-color: #FFD600 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-black\n * .mdui-color-white\n * .mdui-color-transparent\n */\n.mdui-color-black {\n color: #ffffff !important;\n background-color: #000000 !important;\n}\n.mdui-color-white {\n color: rgba(0, 0, 0, 0.87) !important;\n background-color: #FFFFFF !important;\n}\n.mdui-color-transparent {\n background-color: transparent !important;\n}\n/**\n * .mdui-theme-primary-[color] .mdui-text-color-theme\n * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n */\n.mdui-theme-primary-amber .mdui-text-color-theme {\n color: #FFC107 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-50 {\n color: #FFF8E1 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-100 {\n color: #FFECB3 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-200 {\n color: #FFE082 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-300 {\n color: #FFD54F !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-400 {\n color: #FFCA28 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-500 {\n color: #FFC107 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-600 {\n color: #FFB300 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-700 {\n color: #FFA000 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-800 {\n color: #FF8F00 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-900 {\n color: #FF6F00 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme {\n color: #2196F3 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-50 {\n color: #E3F2FD !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-100 {\n color: #BBDEFB !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-200 {\n color: #90CAF9 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-300 {\n color: #64B5F6 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-400 {\n color: #42A5F5 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-500 {\n color: #2196F3 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-600 {\n color: #1E88E5 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-700 {\n color: #1976D2 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-800 {\n color: #1565C0 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-900 {\n color: #0D47A1 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme {\n color: #607D8B !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-50 {\n color: #ECEFF1 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-100 {\n color: #CFD8DC !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-200 {\n color: #B0BEC5 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-300 {\n color: #90A4AE !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-400 {\n color: #78909C !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-500 {\n color: #607D8B !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-600 {\n color: #546E7A !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-700 {\n color: #455A64 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-800 {\n color: #37474F !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-900 {\n color: #263238 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme {\n color: #795548 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-50 {\n color: #EFEBE9 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-100 {\n color: #D7CCC8 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-200 {\n color: #BCAAA4 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-300 {\n color: #A1887F !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-400 {\n color: #8D6E63 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-500 {\n color: #795548 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-600 {\n color: #6D4C41 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-700 {\n color: #5D4037 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-800 {\n color: #4E342E !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-900 {\n color: #3E2723 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme {\n color: #00BCD4 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-50 {\n color: #E0F7FA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-100 {\n color: #B2EBF2 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-200 {\n color: #80DEEA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-300 {\n color: #4DD0E1 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-400 {\n color: #26C6DA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-500 {\n color: #00BCD4 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-600 {\n color: #00ACC1 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-700 {\n color: #0097A7 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-800 {\n color: #00838F !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-900 {\n color: #006064 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme {\n color: #FF5722 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-50 {\n color: #FBE9E7 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-100 {\n color: #FFCCBC !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-200 {\n color: #FFAB91 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-300 {\n color: #FF8A65 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-400 {\n color: #FF7043 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-500 {\n color: #FF5722 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-600 {\n color: #F4511E !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-700 {\n color: #E64A19 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-800 {\n color: #D84315 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-900 {\n color: #BF360C !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme {\n color: #673AB7 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-50 {\n color: #EDE7F6 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-100 {\n color: #D1C4E9 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-200 {\n color: #B39DDB !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-300 {\n color: #9575CD !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-400 {\n color: #7E57C2 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-500 {\n color: #673AB7 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-600 {\n color: #5E35B1 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-700 {\n color: #512DA8 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-800 {\n color: #4527A0 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-900 {\n color: #311B92 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme {\n color: #4CAF50 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-50 {\n color: #E8F5E9 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-100 {\n color: #C8E6C9 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-200 {\n color: #A5D6A7 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-300 {\n color: #81C784 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-400 {\n color: #66BB6A !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-500 {\n color: #4CAF50 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-600 {\n color: #43A047 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-700 {\n color: #388E3C !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-800 {\n color: #2E7D32 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-900 {\n color: #1B5E20 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme {\n color: #9E9E9E !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-50 {\n color: #FAFAFA !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-100 {\n color: #F5F5F5 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-200 {\n color: #EEEEEE !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-300 {\n color: #E0E0E0 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-400 {\n color: #BDBDBD !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-500 {\n color: #9E9E9E !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-600 {\n color: #757575 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-700 {\n color: #616161 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-800 {\n color: #424242 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-900 {\n color: #212121 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme {\n color: #3F51B5 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-50 {\n color: #E8EAF6 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-100 {\n color: #C5CAE9 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-200 {\n color: #9FA8DA !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-300 {\n color: #7986CB !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-400 {\n color: #5C6BC0 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-500 {\n color: #3F51B5 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-600 {\n color: #3949AB !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-700 {\n color: #303F9F !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-800 {\n color: #283593 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-900 {\n color: #1A237E !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme {\n color: #03A9F4 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-50 {\n color: #E1F5FE !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-100 {\n color: #B3E5FC !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-200 {\n color: #81D4FA !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-300 {\n color: #4FC3F7 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-400 {\n color: #29B6F6 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-500 {\n color: #03A9F4 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-600 {\n color: #039BE5 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-700 {\n color: #0288D1 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-800 {\n color: #0277BD !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-900 {\n color: #01579B !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme {\n color: #8BC34A !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-50 {\n color: #F1F8E9 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-100 {\n color: #DCEDC8 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-200 {\n color: #C5E1A5 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-300 {\n color: #AED581 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-400 {\n color: #9CCC65 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-500 {\n color: #8BC34A !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-600 {\n color: #7CB342 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-700 {\n color: #689F38 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-800 {\n color: #558B2F !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-900 {\n color: #33691E !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme {\n color: #CDDC39 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-50 {\n color: #F9FBE7 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-100 {\n color: #F0F4C3 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-200 {\n color: #E6EE9C !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-300 {\n color: #DCE775 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-400 {\n color: #D4E157 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-500 {\n color: #CDDC39 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-600 {\n color: #C0CA33 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-700 {\n color: #AFB42B !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-800 {\n color: #9E9D24 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-900 {\n color: #827717 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme {\n color: #FF9800 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-50 {\n color: #FFF3E0 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-100 {\n color: #FFE0B2 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-200 {\n color: #FFCC80 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-300 {\n color: #FFB74D !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-400 {\n color: #FFA726 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-500 {\n color: #FF9800 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-600 {\n color: #FB8C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-700 {\n color: #F57C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-800 {\n color: #EF6C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-900 {\n color: #E65100 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme {\n color: #E91E63 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-50 {\n color: #FCE4EC !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-100 {\n color: #F8BBD0 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-200 {\n color: #F48FB1 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-300 {\n color: #F06292 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-400 {\n color: #EC407A !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-500 {\n color: #E91E63 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-600 {\n color: #D81B60 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-700 {\n color: #C2185B !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-800 {\n color: #AD1457 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-900 {\n color: #880E4F !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme {\n color: #9C27B0 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-50 {\n color: #F3E5F5 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-100 {\n color: #E1BEE7 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-200 {\n color: #CE93D8 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-300 {\n color: #BA68C8 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-400 {\n color: #AB47BC !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-500 {\n color: #9C27B0 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-600 {\n color: #8E24AA !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-700 {\n color: #7B1FA2 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-800 {\n color: #6A1B9A !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-900 {\n color: #4A148C !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme {\n color: #F44336 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-50 {\n color: #FFEBEE !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-100 {\n color: #FFCDD2 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-200 {\n color: #EF9A9A !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-300 {\n color: #E57373 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-400 {\n color: #EF5350 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-500 {\n color: #F44336 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-600 {\n color: #E53935 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-700 {\n color: #D32F2F !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-800 {\n color: #C62828 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-900 {\n color: #B71C1C !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme {\n color: #009688 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-50 {\n color: #E0F2F1 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-100 {\n color: #B2DFDB !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-200 {\n color: #80CBC4 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-300 {\n color: #4DB6AC !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-400 {\n color: #26A69A !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-500 {\n color: #009688 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-600 {\n color: #00897B !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-700 {\n color: #00796B !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-800 {\n color: #00695C !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-900 {\n color: #004D40 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme {\n color: #FFEB3B !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-50 {\n color: #FFFDE7 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-100 {\n color: #FFF9C4 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-200 {\n color: #FFF59D !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-300 {\n color: #FFF176 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-400 {\n color: #FFEE58 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-500 {\n color: #FFEB3B !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-600 {\n color: #FDD835 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-700 {\n color: #FBC02D !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-800 {\n color: #F9A825 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-900 {\n color: #F57F17 !important;\n}\n/**\n * .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n */\n.mdui-theme-accent-amber .mdui-text-color-theme-accent {\n color: #FFD740 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a100 {\n color: #FFE57F !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a200 {\n color: #FFD740 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a400 {\n color: #FFC400 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a700 {\n color: #FFAB00 !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-accent {\n color: #448AFF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a100 {\n color: #82B1FF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a200 {\n color: #448AFF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a400 {\n color: #2979FF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a700 {\n color: #2962FF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-accent {\n color: #18FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a100 {\n color: #84FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a200 {\n color: #18FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a400 {\n color: #00E5FF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a700 {\n color: #00B8D4 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent {\n color: #FF6E40 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100 {\n color: #FF9E80 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200 {\n color: #FF6E40 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400 {\n color: #FF3D00 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700 {\n color: #DD2C00 !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent {\n color: #7C4DFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100 {\n color: #B388FF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200 {\n color: #7C4DFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400 {\n color: #651FFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700 {\n color: #6200EA !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-accent {\n color: #69F0AE !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a100 {\n color: #B9F6CA !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a200 {\n color: #69F0AE !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a400 {\n color: #00E676 !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a700 {\n color: #00C853 !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-accent {\n color: #536DFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a100 {\n color: #8C9EFF !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a200 {\n color: #536DFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a400 {\n color: #3D5AFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a700 {\n color: #304FFE !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-accent {\n color: #40C4FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a100 {\n color: #80D8FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a200 {\n color: #40C4FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a400 {\n color: #00B0FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a700 {\n color: #0091EA !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-accent {\n color: #B2FF59 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a100 {\n color: #CCFF90 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a200 {\n color: #B2FF59 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a400 {\n color: #76FF03 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a700 {\n color: #64DD17 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-accent {\n color: #EEFF41 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a100 {\n color: #F4FF81 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a200 {\n color: #EEFF41 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a400 {\n color: #C6FF00 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a700 {\n color: #AEEA00 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-accent {\n color: #FFAB40 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a100 {\n color: #FFD180 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a200 {\n color: #FFAB40 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a400 {\n color: #FF9100 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a700 {\n color: #FF6D00 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-accent {\n color: #FF4081 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a100 {\n color: #FF80AB !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a200 {\n color: #FF4081 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a400 {\n color: #F50057 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a700 {\n color: #C51162 !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-accent {\n color: #E040FB !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a100 {\n color: #EA80FC !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a200 {\n color: #E040FB !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a400 {\n color: #D500F9 !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a700 {\n color: #AA00FF !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-accent {\n color: #FF5252 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a100 {\n color: #FF8A80 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a200 {\n color: #FF5252 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a400 {\n color: #FF1744 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a700 {\n color: #D50000 !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-accent {\n color: #64FFDA !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a100 {\n color: #A7FFEB !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a200 {\n color: #64FFDA !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a400 {\n color: #1DE9B6 !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a700 {\n color: #00BFA5 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-accent {\n color: #FFFF00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a100 {\n color: #FFFF8D !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a200 {\n color: #FFFF00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a400 {\n color: #FFEA00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a700 {\n color: #FFD600 !important;\n}\n/**\n * .mdui-text-color-[color]\n * .mdui-text-color-[color]-[degree]\n */\n.mdui-text-color-amber {\n color: #FFC107 !important;\n}\n.mdui-text-color-amber-50 {\n color: #FFF8E1 !important;\n}\n.mdui-text-color-amber-100 {\n color: #FFECB3 !important;\n}\n.mdui-text-color-amber-200 {\n color: #FFE082 !important;\n}\n.mdui-text-color-amber-300 {\n color: #FFD54F !important;\n}\n.mdui-text-color-amber-400 {\n color: #FFCA28 !important;\n}\n.mdui-text-color-amber-500 {\n color: #FFC107 !important;\n}\n.mdui-text-color-amber-600 {\n color: #FFB300 !important;\n}\n.mdui-text-color-amber-700 {\n color: #FFA000 !important;\n}\n.mdui-text-color-amber-800 {\n color: #FF8F00 !important;\n}\n.mdui-text-color-amber-900 {\n color: #FF6F00 !important;\n}\n.mdui-text-color-blue {\n color: #2196F3 !important;\n}\n.mdui-text-color-blue-50 {\n color: #E3F2FD !important;\n}\n.mdui-text-color-blue-100 {\n color: #BBDEFB !important;\n}\n.mdui-text-color-blue-200 {\n color: #90CAF9 !important;\n}\n.mdui-text-color-blue-300 {\n color: #64B5F6 !important;\n}\n.mdui-text-color-blue-400 {\n color: #42A5F5 !important;\n}\n.mdui-text-color-blue-500 {\n color: #2196F3 !important;\n}\n.mdui-text-color-blue-600 {\n color: #1E88E5 !important;\n}\n.mdui-text-color-blue-700 {\n color: #1976D2 !important;\n}\n.mdui-text-color-blue-800 {\n color: #1565C0 !important;\n}\n.mdui-text-color-blue-900 {\n color: #0D47A1 !important;\n}\n.mdui-text-color-blue-grey {\n color: #607D8B !important;\n}\n.mdui-text-color-blue-grey-50 {\n color: #ECEFF1 !important;\n}\n.mdui-text-color-blue-grey-100 {\n color: #CFD8DC !important;\n}\n.mdui-text-color-blue-grey-200 {\n color: #B0BEC5 !important;\n}\n.mdui-text-color-blue-grey-300 {\n color: #90A4AE !important;\n}\n.mdui-text-color-blue-grey-400 {\n color: #78909C !important;\n}\n.mdui-text-color-blue-grey-500 {\n color: #607D8B !important;\n}\n.mdui-text-color-blue-grey-600 {\n color: #546E7A !important;\n}\n.mdui-text-color-blue-grey-700 {\n color: #455A64 !important;\n}\n.mdui-text-color-blue-grey-800 {\n color: #37474F !important;\n}\n.mdui-text-color-blue-grey-900 {\n color: #263238 !important;\n}\n.mdui-text-color-brown {\n color: #795548 !important;\n}\n.mdui-text-color-brown-50 {\n color: #EFEBE9 !important;\n}\n.mdui-text-color-brown-100 {\n color: #D7CCC8 !important;\n}\n.mdui-text-color-brown-200 {\n color: #BCAAA4 !important;\n}\n.mdui-text-color-brown-300 {\n color: #A1887F !important;\n}\n.mdui-text-color-brown-400 {\n color: #8D6E63 !important;\n}\n.mdui-text-color-brown-500 {\n color: #795548 !important;\n}\n.mdui-text-color-brown-600 {\n color: #6D4C41 !important;\n}\n.mdui-text-color-brown-700 {\n color: #5D4037 !important;\n}\n.mdui-text-color-brown-800 {\n color: #4E342E !important;\n}\n.mdui-text-color-brown-900 {\n color: #3E2723 !important;\n}\n.mdui-text-color-cyan {\n color: #00BCD4 !important;\n}\n.mdui-text-color-cyan-50 {\n color: #E0F7FA !important;\n}\n.mdui-text-color-cyan-100 {\n color: #B2EBF2 !important;\n}\n.mdui-text-color-cyan-200 {\n color: #80DEEA !important;\n}\n.mdui-text-color-cyan-300 {\n color: #4DD0E1 !important;\n}\n.mdui-text-color-cyan-400 {\n color: #26C6DA !important;\n}\n.mdui-text-color-cyan-500 {\n color: #00BCD4 !important;\n}\n.mdui-text-color-cyan-600 {\n color: #00ACC1 !important;\n}\n.mdui-text-color-cyan-700 {\n color: #0097A7 !important;\n}\n.mdui-text-color-cyan-800 {\n color: #00838F !important;\n}\n.mdui-text-color-cyan-900 {\n color: #006064 !important;\n}\n.mdui-text-color-deep-orange {\n color: #FF5722 !important;\n}\n.mdui-text-color-deep-orange-50 {\n color: #FBE9E7 !important;\n}\n.mdui-text-color-deep-orange-100 {\n color: #FFCCBC !important;\n}\n.mdui-text-color-deep-orange-200 {\n color: #FFAB91 !important;\n}\n.mdui-text-color-deep-orange-300 {\n color: #FF8A65 !important;\n}\n.mdui-text-color-deep-orange-400 {\n color: #FF7043 !important;\n}\n.mdui-text-color-deep-orange-500 {\n color: #FF5722 !important;\n}\n.mdui-text-color-deep-orange-600 {\n color: #F4511E !important;\n}\n.mdui-text-color-deep-orange-700 {\n color: #E64A19 !important;\n}\n.mdui-text-color-deep-orange-800 {\n color: #D84315 !important;\n}\n.mdui-text-color-deep-orange-900 {\n color: #BF360C !important;\n}\n.mdui-text-color-deep-purple {\n color: #673AB7 !important;\n}\n.mdui-text-color-deep-purple-50 {\n color: #EDE7F6 !important;\n}\n.mdui-text-color-deep-purple-100 {\n color: #D1C4E9 !important;\n}\n.mdui-text-color-deep-purple-200 {\n color: #B39DDB !important;\n}\n.mdui-text-color-deep-purple-300 {\n color: #9575CD !important;\n}\n.mdui-text-color-deep-purple-400 {\n color: #7E57C2 !important;\n}\n.mdui-text-color-deep-purple-500 {\n color: #673AB7 !important;\n}\n.mdui-text-color-deep-purple-600 {\n color: #5E35B1 !important;\n}\n.mdui-text-color-deep-purple-700 {\n color: #512DA8 !important;\n}\n.mdui-text-color-deep-purple-800 {\n color: #4527A0 !important;\n}\n.mdui-text-color-deep-purple-900 {\n color: #311B92 !important;\n}\n.mdui-text-color-green {\n color: #4CAF50 !important;\n}\n.mdui-text-color-green-50 {\n color: #E8F5E9 !important;\n}\n.mdui-text-color-green-100 {\n color: #C8E6C9 !important;\n}\n.mdui-text-color-green-200 {\n color: #A5D6A7 !important;\n}\n.mdui-text-color-green-300 {\n color: #81C784 !important;\n}\n.mdui-text-color-green-400 {\n color: #66BB6A !important;\n}\n.mdui-text-color-green-500 {\n color: #4CAF50 !important;\n}\n.mdui-text-color-green-600 {\n color: #43A047 !important;\n}\n.mdui-text-color-green-700 {\n color: #388E3C !important;\n}\n.mdui-text-color-green-800 {\n color: #2E7D32 !important;\n}\n.mdui-text-color-green-900 {\n color: #1B5E20 !important;\n}\n.mdui-text-color-grey {\n color: #9E9E9E !important;\n}\n.mdui-text-color-grey-50 {\n color: #FAFAFA !important;\n}\n.mdui-text-color-grey-100 {\n color: #F5F5F5 !important;\n}\n.mdui-text-color-grey-200 {\n color: #EEEEEE !important;\n}\n.mdui-text-color-grey-300 {\n color: #E0E0E0 !important;\n}\n.mdui-text-color-grey-400 {\n color: #BDBDBD !important;\n}\n.mdui-text-color-grey-500 {\n color: #9E9E9E !important;\n}\n.mdui-text-color-grey-600 {\n color: #757575 !important;\n}\n.mdui-text-color-grey-700 {\n color: #616161 !important;\n}\n.mdui-text-color-grey-800 {\n color: #424242 !important;\n}\n.mdui-text-color-grey-900 {\n color: #212121 !important;\n}\n.mdui-text-color-indigo {\n color: #3F51B5 !important;\n}\n.mdui-text-color-indigo-50 {\n color: #E8EAF6 !important;\n}\n.mdui-text-color-indigo-100 {\n color: #C5CAE9 !important;\n}\n.mdui-text-color-indigo-200 {\n color: #9FA8DA !important;\n}\n.mdui-text-color-indigo-300 {\n color: #7986CB !important;\n}\n.mdui-text-color-indigo-400 {\n color: #5C6BC0 !important;\n}\n.mdui-text-color-indigo-500 {\n color: #3F51B5 !important;\n}\n.mdui-text-color-indigo-600 {\n color: #3949AB !important;\n}\n.mdui-text-color-indigo-700 {\n color: #303F9F !important;\n}\n.mdui-text-color-indigo-800 {\n color: #283593 !important;\n}\n.mdui-text-color-indigo-900 {\n color: #1A237E !important;\n}\n.mdui-text-color-light-blue {\n color: #03A9F4 !important;\n}\n.mdui-text-color-light-blue-50 {\n color: #E1F5FE !important;\n}\n.mdui-text-color-light-blue-100 {\n color: #B3E5FC !important;\n}\n.mdui-text-color-light-blue-200 {\n color: #81D4FA !important;\n}\n.mdui-text-color-light-blue-300 {\n color: #4FC3F7 !important;\n}\n.mdui-text-color-light-blue-400 {\n color: #29B6F6 !important;\n}\n.mdui-text-color-light-blue-500 {\n color: #03A9F4 !important;\n}\n.mdui-text-color-light-blue-600 {\n color: #039BE5 !important;\n}\n.mdui-text-color-light-blue-700 {\n color: #0288D1 !important;\n}\n.mdui-text-color-light-blue-800 {\n color: #0277BD !important;\n}\n.mdui-text-color-light-blue-900 {\n color: #01579B !important;\n}\n.mdui-text-color-light-green {\n color: #8BC34A !important;\n}\n.mdui-text-color-light-green-50 {\n color: #F1F8E9 !important;\n}\n.mdui-text-color-light-green-100 {\n color: #DCEDC8 !important;\n}\n.mdui-text-color-light-green-200 {\n color: #C5E1A5 !important;\n}\n.mdui-text-color-light-green-300 {\n color: #AED581 !important;\n}\n.mdui-text-color-light-green-400 {\n color: #9CCC65 !important;\n}\n.mdui-text-color-light-green-500 {\n color: #8BC34A !important;\n}\n.mdui-text-color-light-green-600 {\n color: #7CB342 !important;\n}\n.mdui-text-color-light-green-700 {\n color: #689F38 !important;\n}\n.mdui-text-color-light-green-800 {\n color: #558B2F !important;\n}\n.mdui-text-color-light-green-900 {\n color: #33691E !important;\n}\n.mdui-text-color-lime {\n color: #CDDC39 !important;\n}\n.mdui-text-color-lime-50 {\n color: #F9FBE7 !important;\n}\n.mdui-text-color-lime-100 {\n color: #F0F4C3 !important;\n}\n.mdui-text-color-lime-200 {\n color: #E6EE9C !important;\n}\n.mdui-text-color-lime-300 {\n color: #DCE775 !important;\n}\n.mdui-text-color-lime-400 {\n color: #D4E157 !important;\n}\n.mdui-text-color-lime-500 {\n color: #CDDC39 !important;\n}\n.mdui-text-color-lime-600 {\n color: #C0CA33 !important;\n}\n.mdui-text-color-lime-700 {\n color: #AFB42B !important;\n}\n.mdui-text-color-lime-800 {\n color: #9E9D24 !important;\n}\n.mdui-text-color-lime-900 {\n color: #827717 !important;\n}\n.mdui-text-color-orange {\n color: #FF9800 !important;\n}\n.mdui-text-color-orange-50 {\n color: #FFF3E0 !important;\n}\n.mdui-text-color-orange-100 {\n color: #FFE0B2 !important;\n}\n.mdui-text-color-orange-200 {\n color: #FFCC80 !important;\n}\n.mdui-text-color-orange-300 {\n color: #FFB74D !important;\n}\n.mdui-text-color-orange-400 {\n color: #FFA726 !important;\n}\n.mdui-text-color-orange-500 {\n color: #FF9800 !important;\n}\n.mdui-text-color-orange-600 {\n color: #FB8C00 !important;\n}\n.mdui-text-color-orange-700 {\n color: #F57C00 !important;\n}\n.mdui-text-color-orange-800 {\n color: #EF6C00 !important;\n}\n.mdui-text-color-orange-900 {\n color: #E65100 !important;\n}\n.mdui-text-color-pink {\n color: #E91E63 !important;\n}\n.mdui-text-color-pink-50 {\n color: #FCE4EC !important;\n}\n.mdui-text-color-pink-100 {\n color: #F8BBD0 !important;\n}\n.mdui-text-color-pink-200 {\n color: #F48FB1 !important;\n}\n.mdui-text-color-pink-300 {\n color: #F06292 !important;\n}\n.mdui-text-color-pink-400 {\n color: #EC407A !important;\n}\n.mdui-text-color-pink-500 {\n color: #E91E63 !important;\n}\n.mdui-text-color-pink-600 {\n color: #D81B60 !important;\n}\n.mdui-text-color-pink-700 {\n color: #C2185B !important;\n}\n.mdui-text-color-pink-800 {\n color: #AD1457 !important;\n}\n.mdui-text-color-pink-900 {\n color: #880E4F !important;\n}\n.mdui-text-color-purple {\n color: #9C27B0 !important;\n}\n.mdui-text-color-purple-50 {\n color: #F3E5F5 !important;\n}\n.mdui-text-color-purple-100 {\n color: #E1BEE7 !important;\n}\n.mdui-text-color-purple-200 {\n color: #CE93D8 !important;\n}\n.mdui-text-color-purple-300 {\n color: #BA68C8 !important;\n}\n.mdui-text-color-purple-400 {\n color: #AB47BC !important;\n}\n.mdui-text-color-purple-500 {\n color: #9C27B0 !important;\n}\n.mdui-text-color-purple-600 {\n color: #8E24AA !important;\n}\n.mdui-text-color-purple-700 {\n color: #7B1FA2 !important;\n}\n.mdui-text-color-purple-800 {\n color: #6A1B9A !important;\n}\n.mdui-text-color-purple-900 {\n color: #4A148C !important;\n}\n.mdui-text-color-red {\n color: #F44336 !important;\n}\n.mdui-text-color-red-50 {\n color: #FFEBEE !important;\n}\n.mdui-text-color-red-100 {\n color: #FFCDD2 !important;\n}\n.mdui-text-color-red-200 {\n color: #EF9A9A !important;\n}\n.mdui-text-color-red-300 {\n color: #E57373 !important;\n}\n.mdui-text-color-red-400 {\n color: #EF5350 !important;\n}\n.mdui-text-color-red-500 {\n color: #F44336 !important;\n}\n.mdui-text-color-red-600 {\n color: #E53935 !important;\n}\n.mdui-text-color-red-700 {\n color: #D32F2F !important;\n}\n.mdui-text-color-red-800 {\n color: #C62828 !important;\n}\n.mdui-text-color-red-900 {\n color: #B71C1C !important;\n}\n.mdui-text-color-teal {\n color: #009688 !important;\n}\n.mdui-text-color-teal-50 {\n color: #E0F2F1 !important;\n}\n.mdui-text-color-teal-100 {\n color: #B2DFDB !important;\n}\n.mdui-text-color-teal-200 {\n color: #80CBC4 !important;\n}\n.mdui-text-color-teal-300 {\n color: #4DB6AC !important;\n}\n.mdui-text-color-teal-400 {\n color: #26A69A !important;\n}\n.mdui-text-color-teal-500 {\n color: #009688 !important;\n}\n.mdui-text-color-teal-600 {\n color: #00897B !important;\n}\n.mdui-text-color-teal-700 {\n color: #00796B !important;\n}\n.mdui-text-color-teal-800 {\n color: #00695C !important;\n}\n.mdui-text-color-teal-900 {\n color: #004D40 !important;\n}\n.mdui-text-color-yellow {\n color: #FFEB3B !important;\n}\n.mdui-text-color-yellow-50 {\n color: #FFFDE7 !important;\n}\n.mdui-text-color-yellow-100 {\n color: #FFF9C4 !important;\n}\n.mdui-text-color-yellow-200 {\n color: #FFF59D !important;\n}\n.mdui-text-color-yellow-300 {\n color: #FFF176 !important;\n}\n.mdui-text-color-yellow-400 {\n color: #FFEE58 !important;\n}\n.mdui-text-color-yellow-500 {\n color: #FFEB3B !important;\n}\n.mdui-text-color-yellow-600 {\n color: #FDD835 !important;\n}\n.mdui-text-color-yellow-700 {\n color: #FBC02D !important;\n}\n.mdui-text-color-yellow-800 {\n color: #F9A825 !important;\n}\n.mdui-text-color-yellow-900 {\n color: #F57F17 !important;\n}\n/**\n * .mdui-text-color-[color]-accent\n * .mdui-text-color-[color]-[degree]\n */\n.mdui-text-color-amber-accent {\n color: #FFD740 !important;\n}\n.mdui-text-color-amber-a100 {\n color: #FFE57F !important;\n}\n.mdui-text-color-amber-a200 {\n color: #FFD740 !important;\n}\n.mdui-text-color-amber-a400 {\n color: #FFC400 !important;\n}\n.mdui-text-color-amber-a700 {\n color: #FFAB00 !important;\n}\n.mdui-text-color-blue-accent {\n color: #448AFF !important;\n}\n.mdui-text-color-blue-a100 {\n color: #82B1FF !important;\n}\n.mdui-text-color-blue-a200 {\n color: #448AFF !important;\n}\n.mdui-text-color-blue-a400 {\n color: #2979FF !important;\n}\n.mdui-text-color-blue-a700 {\n color: #2962FF !important;\n}\n.mdui-text-color-cyan-accent {\n color: #18FFFF !important;\n}\n.mdui-text-color-cyan-a100 {\n color: #84FFFF !important;\n}\n.mdui-text-color-cyan-a200 {\n color: #18FFFF !important;\n}\n.mdui-text-color-cyan-a400 {\n color: #00E5FF !important;\n}\n.mdui-text-color-cyan-a700 {\n color: #00B8D4 !important;\n}\n.mdui-text-color-deep-orange-accent {\n color: #FF6E40 !important;\n}\n.mdui-text-color-deep-orange-a100 {\n color: #FF9E80 !important;\n}\n.mdui-text-color-deep-orange-a200 {\n color: #FF6E40 !important;\n}\n.mdui-text-color-deep-orange-a400 {\n color: #FF3D00 !important;\n}\n.mdui-text-color-deep-orange-a700 {\n color: #DD2C00 !important;\n}\n.mdui-text-color-deep-purple-accent {\n color: #7C4DFF !important;\n}\n.mdui-text-color-deep-purple-a100 {\n color: #B388FF !important;\n}\n.mdui-text-color-deep-purple-a200 {\n color: #7C4DFF !important;\n}\n.mdui-text-color-deep-purple-a400 {\n color: #651FFF !important;\n}\n.mdui-text-color-deep-purple-a700 {\n color: #6200EA !important;\n}\n.mdui-text-color-green-accent {\n color: #69F0AE !important;\n}\n.mdui-text-color-green-a100 {\n color: #B9F6CA !important;\n}\n.mdui-text-color-green-a200 {\n color: #69F0AE !important;\n}\n.mdui-text-color-green-a400 {\n color: #00E676 !important;\n}\n.mdui-text-color-green-a700 {\n color: #00C853 !important;\n}\n.mdui-text-color-indigo-accent {\n color: #536DFE !important;\n}\n.mdui-text-color-indigo-a100 {\n color: #8C9EFF !important;\n}\n.mdui-text-color-indigo-a200 {\n color: #536DFE !important;\n}\n.mdui-text-color-indigo-a400 {\n color: #3D5AFE !important;\n}\n.mdui-text-color-indigo-a700 {\n color: #304FFE !important;\n}\n.mdui-text-color-light-blue-accent {\n color: #40C4FF !important;\n}\n.mdui-text-color-light-blue-a100 {\n color: #80D8FF !important;\n}\n.mdui-text-color-light-blue-a200 {\n color: #40C4FF !important;\n}\n.mdui-text-color-light-blue-a400 {\n color: #00B0FF !important;\n}\n.mdui-text-color-light-blue-a700 {\n color: #0091EA !important;\n}\n.mdui-text-color-light-green-accent {\n color: #B2FF59 !important;\n}\n.mdui-text-color-light-green-a100 {\n color: #CCFF90 !important;\n}\n.mdui-text-color-light-green-a200 {\n color: #B2FF59 !important;\n}\n.mdui-text-color-light-green-a400 {\n color: #76FF03 !important;\n}\n.mdui-text-color-light-green-a700 {\n color: #64DD17 !important;\n}\n.mdui-text-color-lime-accent {\n color: #EEFF41 !important;\n}\n.mdui-text-color-lime-a100 {\n color: #F4FF81 !important;\n}\n.mdui-text-color-lime-a200 {\n color: #EEFF41 !important;\n}\n.mdui-text-color-lime-a400 {\n color: #C6FF00 !important;\n}\n.mdui-text-color-lime-a700 {\n color: #AEEA00 !important;\n}\n.mdui-text-color-orange-accent {\n color: #FFAB40 !important;\n}\n.mdui-text-color-orange-a100 {\n color: #FFD180 !important;\n}\n.mdui-text-color-orange-a200 {\n color: #FFAB40 !important;\n}\n.mdui-text-color-orange-a400 {\n color: #FF9100 !important;\n}\n.mdui-text-color-orange-a700 {\n color: #FF6D00 !important;\n}\n.mdui-text-color-pink-accent {\n color: #FF4081 !important;\n}\n.mdui-text-color-pink-a100 {\n color: #FF80AB !important;\n}\n.mdui-text-color-pink-a200 {\n color: #FF4081 !important;\n}\n.mdui-text-color-pink-a400 {\n color: #F50057 !important;\n}\n.mdui-text-color-pink-a700 {\n color: #C51162 !important;\n}\n.mdui-text-color-purple-accent {\n color: #E040FB !important;\n}\n.mdui-text-color-purple-a100 {\n color: #EA80FC !important;\n}\n.mdui-text-color-purple-a200 {\n color: #E040FB !important;\n}\n.mdui-text-color-purple-a400 {\n color: #D500F9 !important;\n}\n.mdui-text-color-purple-a700 {\n color: #AA00FF !important;\n}\n.mdui-text-color-red-accent {\n color: #FF5252 !important;\n}\n.mdui-text-color-red-a100 {\n color: #FF8A80 !important;\n}\n.mdui-text-color-red-a200 {\n color: #FF5252 !important;\n}\n.mdui-text-color-red-a400 {\n color: #FF1744 !important;\n}\n.mdui-text-color-red-a700 {\n color: #D50000 !important;\n}\n.mdui-text-color-teal-accent {\n color: #64FFDA !important;\n}\n.mdui-text-color-teal-a100 {\n color: #A7FFEB !important;\n}\n.mdui-text-color-teal-a200 {\n color: #64FFDA !important;\n}\n.mdui-text-color-teal-a400 {\n color: #1DE9B6 !important;\n}\n.mdui-text-color-teal-a700 {\n color: #00BFA5 !important;\n}\n.mdui-text-color-yellow-accent {\n color: #FFFF00 !important;\n}\n.mdui-text-color-yellow-a100 {\n color: #FFFF8D !important;\n}\n.mdui-text-color-yellow-a200 {\n color: #FFFF00 !important;\n}\n.mdui-text-color-yellow-a400 {\n color: #FFEA00 !important;\n}\n.mdui-text-color-yellow-a700 {\n color: #FFD600 !important;\n}\n/**\n * .mdui-text-color-black\n * .mdui-text-color-black-[]\n * .mdui-text-color-theme-[]\n */\n.mdui-text-color-black {\n color: #000000 !important;\n}\n.mdui-text-color-black-text,\n.mdui-text-color-theme-text {\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-text-color-black-secondary,\n.mdui-text-color-theme-secondary {\n color: rgba(0, 0, 0, 0.54) !important;\n}\n.mdui-text-color-black-disabled,\n.mdui-text-color-theme-disabled {\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.mdui-text-color-black-divider,\n.mdui-text-color-theme-divider {\n color: rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-text-color-black-icon,\n.mdui-text-color-theme-icon {\n color: rgba(0, 0, 0, 0.54) !important;\n}\n.mdui-text-color-black-icon-disabled,\n.mdui-text-color-theme-icon-disabled {\n color: rgba(0, 0, 0, 0.26) !important;\n}\n/**\n * .mdui-text-color-white\n * .mdui-text-color-white-[]\n */\n.mdui-text-color-white {\n color: #FFFFFF !important;\n}\n.mdui-text-color-white-text {\n color: #ffffff !important;\n}\n.mdui-text-color-white-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n}\n.mdui-text-color-white-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-text-color-white-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n}\n.mdui-text-color-white-icon {\n color: #ffffff !important;\n}\n.mdui-text-color-white-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n/**\n * .mdui-text-color-theme-[] 深色主题\n */\n.mdui-theme-layout-dark .mdui-text-color-theme-text {\n color: #ffffff !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-icon {\n color: #ffffff !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-text-color-theme-text {\n color: #ffffff !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-icon {\n color: #ffffff !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n }\n}\n/**\n * =============================================================================\n * ************ Helper 辅助类 ************\n * =============================================================================\n */\n/**\n * =================== 边距\n */\n.mdui-m-a-0 {\n margin: 0px !important;\n}\n.mdui-m-t-0 {\n margin-top: 0px !important;\n}\n.mdui-m-r-0 {\n margin-right: 0px !important;\n}\n.mdui-m-b-0 {\n margin-bottom: 0px !important;\n}\n.mdui-m-l-0 {\n margin-left: 0px !important;\n}\n.mdui-m-x-0 {\n margin-right: 0px !important;\n margin-left: 0px !important;\n}\n.mdui-m-y-0 {\n margin-top: 0px !important;\n margin-bottom: 0px !important;\n}\n.mdui-p-a-0 {\n padding: 0px !important;\n}\n.mdui-p-t-0 {\n padding-top: 0px !important;\n}\n.mdui-p-r-0 {\n padding-right: 0px !important;\n}\n.mdui-p-b-0 {\n padding-bottom: 0px !important;\n}\n.mdui-p-l-0 {\n padding-left: 0px !important;\n}\n.mdui-p-x-0 {\n padding-right: 0px !important;\n padding-left: 0px !important;\n}\n.mdui-p-y-0 {\n padding-top: 0px !important;\n padding-bottom: 0px !important;\n}\n.mdui-m-a-1 {\n margin: 8px !important;\n}\n.mdui-m-t-1 {\n margin-top: 8px !important;\n}\n.mdui-m-r-1 {\n margin-right: 8px !important;\n}\n.mdui-m-b-1 {\n margin-bottom: 8px !important;\n}\n.mdui-m-l-1 {\n margin-left: 8px !important;\n}\n.mdui-m-x-1 {\n margin-right: 8px !important;\n margin-left: 8px !important;\n}\n.mdui-m-y-1 {\n margin-top: 8px !important;\n margin-bottom: 8px !important;\n}\n.mdui-p-a-1 {\n padding: 8px !important;\n}\n.mdui-p-t-1 {\n padding-top: 8px !important;\n}\n.mdui-p-r-1 {\n padding-right: 8px !important;\n}\n.mdui-p-b-1 {\n padding-bottom: 8px !important;\n}\n.mdui-p-l-1 {\n padding-left: 8px !important;\n}\n.mdui-p-x-1 {\n padding-right: 8px !important;\n padding-left: 8px !important;\n}\n.mdui-p-y-1 {\n padding-top: 8px !important;\n padding-bottom: 8px !important;\n}\n.mdui-m-a-2 {\n margin: 16px !important;\n}\n.mdui-m-t-2 {\n margin-top: 16px !important;\n}\n.mdui-m-r-2 {\n margin-right: 16px !important;\n}\n.mdui-m-b-2 {\n margin-bottom: 16px !important;\n}\n.mdui-m-l-2 {\n margin-left: 16px !important;\n}\n.mdui-m-x-2 {\n margin-right: 16px !important;\n margin-left: 16px !important;\n}\n.mdui-m-y-2 {\n margin-top: 16px !important;\n margin-bottom: 16px !important;\n}\n.mdui-p-a-2 {\n padding: 16px !important;\n}\n.mdui-p-t-2 {\n padding-top: 16px !important;\n}\n.mdui-p-r-2 {\n padding-right: 16px !important;\n}\n.mdui-p-b-2 {\n padding-bottom: 16px !important;\n}\n.mdui-p-l-2 {\n padding-left: 16px !important;\n}\n.mdui-p-x-2 {\n padding-right: 16px !important;\n padding-left: 16px !important;\n}\n.mdui-p-y-2 {\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n.mdui-m-a-3 {\n margin: 24px !important;\n}\n.mdui-m-t-3 {\n margin-top: 24px !important;\n}\n.mdui-m-r-3 {\n margin-right: 24px !important;\n}\n.mdui-m-b-3 {\n margin-bottom: 24px !important;\n}\n.mdui-m-l-3 {\n margin-left: 24px !important;\n}\n.mdui-m-x-3 {\n margin-right: 24px !important;\n margin-left: 24px !important;\n}\n.mdui-m-y-3 {\n margin-top: 24px !important;\n margin-bottom: 24px !important;\n}\n.mdui-p-a-3 {\n padding: 24px !important;\n}\n.mdui-p-t-3 {\n padding-top: 24px !important;\n}\n.mdui-p-r-3 {\n padding-right: 24px !important;\n}\n.mdui-p-b-3 {\n padding-bottom: 24px !important;\n}\n.mdui-p-l-3 {\n padding-left: 24px !important;\n}\n.mdui-p-x-3 {\n padding-right: 24px !important;\n padding-left: 24px !important;\n}\n.mdui-p-y-3 {\n padding-top: 24px !important;\n padding-bottom: 24px !important;\n}\n.mdui-m-a-4 {\n margin: 32px !important;\n}\n.mdui-m-t-4 {\n margin-top: 32px !important;\n}\n.mdui-m-r-4 {\n margin-right: 32px !important;\n}\n.mdui-m-b-4 {\n margin-bottom: 32px !important;\n}\n.mdui-m-l-4 {\n margin-left: 32px !important;\n}\n.mdui-m-x-4 {\n margin-right: 32px !important;\n margin-left: 32px !important;\n}\n.mdui-m-y-4 {\n margin-top: 32px !important;\n margin-bottom: 32px !important;\n}\n.mdui-p-a-4 {\n padding: 32px !important;\n}\n.mdui-p-t-4 {\n padding-top: 32px !important;\n}\n.mdui-p-r-4 {\n padding-right: 32px !important;\n}\n.mdui-p-b-4 {\n padding-bottom: 32px !important;\n}\n.mdui-p-l-4 {\n padding-left: 32px !important;\n}\n.mdui-p-x-4 {\n padding-right: 32px !important;\n padding-left: 32px !important;\n}\n.mdui-p-y-4 {\n padding-top: 32px !important;\n padding-bottom: 32px !important;\n}\n.mdui-m-a-5 {\n margin: 40px !important;\n}\n.mdui-m-t-5 {\n margin-top: 40px !important;\n}\n.mdui-m-r-5 {\n margin-right: 40px !important;\n}\n.mdui-m-b-5 {\n margin-bottom: 40px !important;\n}\n.mdui-m-l-5 {\n margin-left: 40px !important;\n}\n.mdui-m-x-5 {\n margin-right: 40px !important;\n margin-left: 40px !important;\n}\n.mdui-m-y-5 {\n margin-top: 40px !important;\n margin-bottom: 40px !important;\n}\n.mdui-p-a-5 {\n padding: 40px !important;\n}\n.mdui-p-t-5 {\n padding-top: 40px !important;\n}\n.mdui-p-r-5 {\n padding-right: 40px !important;\n}\n.mdui-p-b-5 {\n padding-bottom: 40px !important;\n}\n.mdui-p-l-5 {\n padding-left: 40px !important;\n}\n.mdui-p-x-5 {\n padding-right: 40px !important;\n padding-left: 40px !important;\n}\n.mdui-p-y-5 {\n padding-top: 40px !important;\n padding-bottom: 40px !important;\n}\n/**\n * ======================== 快速浮动\n */\n/* 向左浮动 */\n.mdui-float-left {\n float: left !important;\n}\n/* 向右浮动 */\n.mdui-float-right {\n float: right !important;\n}\n/**\n * ========================= 水平居中\n */\n/* 水平居中 */\n.mdui-center {\n display: block !important;\n margin-right: auto !important;\n margin-left: auto !important;\n}\n/**\n * ========================= 垂直居中\n */\n/* 垂直居中 */\n.mdui-valign {\n display: flex !important;\n align-items: center !important;\n}\n/**\n * ========================= 文本对齐方式\n */\n/* 文本左对齐 */\n.mdui-text-left {\n text-align: left !important;\n}\n/* 文本居中对齐 */\n.mdui-text-center {\n text-align: center !important;\n}\n/* 文本向右对齐 */\n.mdui-text-right {\n text-align: right !important;\n}\n/**\n * ========================= 文本大小写转换\n */\n/* 文本转为小写 */\n.mdui-text-lowercase {\n text-transform: lowercase !important;\n}\n/* 文本转为大写 */\n.mdui-text-uppercase {\n text-transform: uppercase !important;\n}\n/* 文本转为单词的首字母大写 */\n.mdui-text-capitalize {\n text-transform: capitalize !important;\n}\n/**\n * ======================== 文本截断\n */\n/* 文本截断 */\n.mdui-text-truncate {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/**\n * ========================= 清除浮动\n */\n/* 清除浮动 */\n.mdui-clearfix::before,\n.mdui-clearfix::after {\n display: table;\n content: ' ';\n}\n.mdui-clearfix::after {\n clear: both;\n}\n/**\n * ========================= 隐藏内容\n */\n/* 隐藏元素 */\n.mdui-hidden,\n[hidden] {\n display: none !important;\n}\n/* 使元素不可见 */\n.mdui-invisible {\n visibility: hidden;\n}\n/* Responsive utilities 响应式工具\n ========================================================================== */\n/* 在特定屏幕的特备上隐藏 */\n@media (max-width: 599.9px) {\n .mdui-hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 600px) and (max-width: 1023.9px) {\n .mdui-hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 1024px) and (max-width: 1439.9px) {\n .mdui-hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1440px) and (max-width: 1919.9px) {\n .mdui-hidden-lg {\n display: none !important;\n }\n}\n@media (min-width: 1920px) {\n .mdui-hidden-xl {\n display: none !important;\n }\n}\n/* 在比特定屏幕小的设备上隐藏 */\n@media (max-width: 599.9px) {\n .mdui-hidden-xs-down {\n display: none !important;\n }\n}\n@media (max-width: 1023.9px) {\n .mdui-hidden-sm-down {\n display: none !important;\n }\n}\n@media (max-width: 1439.9px) {\n .mdui-hidden-md-down {\n display: none !important;\n }\n}\n@media (max-width: 1919.9px) {\n .mdui-hidden-lg-down {\n display: none !important;\n }\n}\n.mdui-hidden-xl-down {\n display: none !important;\n}\n/* 在比特定屏幕大的设备上隐藏 */\n.mdui-hidden-xs-up {\n display: none !important;\n}\n@media (min-width: 600px) {\n .mdui-hidden-sm-up {\n display: none !important;\n }\n}\n@media (min-width: 1024px) {\n .mdui-hidden-md-up {\n display: none !important;\n }\n}\n@media (min-width: 1440px) {\n .mdui-hidden-lg-up {\n display: none !important;\n }\n}\n@media (min-width: 1920px) {\n .mdui-hidden-xl-up {\n display: none !important;\n }\n}\n/**\n * =============================================================================\n * ************ Icon 图标 ************\n * =============================================================================\n */\n.mdui-icon,\n.mdui-icon::before {\n color: inherit;\n font-weight: normal;\n font-size: 24px;\n /* Preferred icon size */\n font-style: normal;\n line-height: 1;\n direction: ltr;\n letter-spacing: normal;\n white-space: nowrap;\n text-transform: none;\n vertical-align: middle;\n word-wrap: normal;\n}\n.mdui-icon {\n display: inline-block;\n text-align: center;\n}\n.mdui-icon::before {\n display: block !important;\n width: 24px;\n height: 24px;\n}\n/**\n * =============================================================================\n * ************ Material Icons ************\n * =============================================================================\n *\n * https://github.com/google/material-design-icons/\n * v3.0.1\n */\n@font-face {\n font-weight: 400;\n font-family: 'Material Icons';\n font-style: normal;\n src: local('Material Icons'), local('MaterialIcons-Regular'), url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'), url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff');\n}\n.material-icons {\n /* stylelint-disable-next-line */\n font-family: 'Material Icons';\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n/**\n * =============================================================================\n * ************ Media 媒体工具 ************\n * =============================================================================\n */\n/* 响应式图片和视频 */\n.mdui-img-fluid,\n.mdui-video-fluid {\n display: block;\n max-width: 100%;\n height: auto;\n}\n/* 圆角图片 */\n.mdui-img-rounded {\n border-radius: 2px;\n}\n/* 圆形图片 */\n.mdui-img-circle {\n border-radius: 50%;\n}\n.mdui-video-container {\n position: relative;\n height: 0;\n padding-bottom: 56.25%;\n overflow: hidden;\n}\n.mdui-video-container iframe,\n.mdui-video-container object,\n.mdui-video-container embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n/**\n * =============================================================================\n * ************ Roboto 字体 ************\n * =============================================================================\n */\n@font-face {\n font-weight: 100;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Thin'), local('Roboto-Thin'), url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'), url('../fonts/roboto/Roboto-Thin.woff') format('woff');\n}\n@font-face {\n font-weight: 100;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'), url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 300;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Light'), local('Roboto-Light'), url('../fonts/roboto/Roboto-Light.woff2') format('woff2'), url('../fonts/roboto/Roboto-Light.woff') format('woff');\n}\n@font-face {\n font-weight: 300;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto LightItalic'), local('Roboto-LightItalic'), url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-LightItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 400;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Regular'), local('Roboto-Regular'), url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'), url('../fonts/roboto/Roboto-Regular.woff') format('woff');\n}\n@font-face {\n font-weight: 400;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'), url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 500;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Medium'), local('Roboto-Medium'), url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'), url('../fonts/roboto/Roboto-Medium.woff') format('woff');\n}\n@font-face {\n font-weight: 500;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'), url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 700;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'), url('../fonts/roboto/Roboto-Bold.woff') format('woff');\n}\n@font-face {\n font-weight: 700;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'), url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 900;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Black'), local('Roboto-Black'), url('../fonts/roboto/Roboto-Black.woff2') format('woff2'), url('../fonts/roboto/Roboto-Black.woff') format('woff');\n}\n@font-face {\n font-weight: 900;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'), url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff');\n}\n/**\n * =============================================================================\n * ************ Typography 样式排版 ************\n * =============================================================================\n */\n/* .mdui-typo-display-4 */\n.mdui-typo-display-4,\n.mdui-typo-display-4-opacity {\n font-weight: 300;\n font-size: 112px;\n letter-spacing: -0.04em;\n}\n.mdui-typo-display-4-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-3 */\n.mdui-typo-display-3,\n.mdui-typo-display-3-opacity {\n font-weight: 400;\n font-size: 56px;\n letter-spacing: -0.02em;\n}\n.mdui-typo-display-3-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-2 */\n.mdui-typo-display-2,\n.mdui-typo-display-2-opacity {\n font-weight: 400;\n font-size: 45px;\n letter-spacing: 0;\n}\n.mdui-typo-display-2-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-1 */\n.mdui-typo-display-1,\n.mdui-typo-display-1-opacity {\n font-weight: 400;\n font-size: 34px;\n letter-spacing: 0;\n}\n.mdui-typo-display-1-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-headline */\n.mdui-typo-headline,\n.mdui-typo-headline-opacity {\n font-weight: 400;\n font-size: 24px;\n -moz-osx-font-smoothing: grayscale;\n}\n.mdui-typo-headline-opacity {\n opacity: 0.87;\n}\n/* .mdui-typo-title */\n.mdui-typo-title,\n.mdui-typo-title-opacity {\n font-weight: 500;\n font-size: 20px;\n letter-spacing: 0.02em;\n}\n.mdui-typo-title-opacity {\n opacity: 0.87;\n}\n.mdui-typo-subheading,\n.mdui-typo-subheading-opacity {\n font-weight: 400;\n font-size: 16px;\n letter-spacing: 0.04em;\n}\n.mdui-typo-subheading-opacity {\n opacity: 0.87;\n}\n.mdui-typo-body-2,\n.mdui-typo-body-2-opacity {\n font-weight: 500;\n font-size: 14px;\n letter-spacing: 0.04em;\n}\n.mdui-typo-body-2-opacity {\n opacity: 0.87;\n}\n.mdui-typo-body-1,\n.mdui-typo-body-1-opacity {\n font-weight: 400;\n font-size: 14px;\n letter-spacing: 0.04em;\n}\n.mdui-typo-body-1-opacity {\n opacity: 0.87;\n}\n.mdui-typo-caption,\n.mdui-typo-caption-opacity {\n font-weight: 400;\n font-size: 12px;\n letter-spacing: 0.08em;\n}\n.mdui-typo-caption-opacity {\n opacity: 0.54;\n}\n/**\n * =============================================================================\n * ************ Typography 文章排版 ************\n * =============================================================================\n */\n.mdui-typo {\n line-height: 1.8;\n word-wrap: break-word;\n /* a */\n /* small */\n /* blockquote */\n /* mark */\n /* h1 - h6 */\n /* code */\n /* pre code */\n /* abbr */\n /* ins */\n /* u */\n /* del */\n /* hr */\n /* pre */\n /* kbd */\n /* ul / ol */\n /* img, video */\n}\n.mdui-typo address,\n.mdui-typo caption,\n.mdui-typo cite,\n.mdui-typo code,\n.mdui-typo dfn,\n.mdui-typo th {\n font-weight: 400;\n font-style: normal;\n}\n.mdui-typo caption,\n.mdui-typo th {\n text-align: left;\n}\n.mdui-typo q::before,\n.mdui-typo q::after {\n content: '';\n}\n.mdui-typo pre,\n.mdui-typo code,\n.mdui-typo kbd,\n.mdui-typo samp,\n.mdui-typo pre tt {\n font-family: Consolas, Courier, 'Courier New', monospace;\n}\n.mdui-typo figcaption {\n color: rgba(0, 0, 0, 0.54);\n font-size: 80%;\n}\n.mdui-typo [draggable],\n.mdui-typo [draggable=\"true\"] {\n cursor: move;\n}\n.mdui-typo [draggable=\"false\"] {\n cursor: inherit;\n}\n.mdui-typo p,\n.mdui-typo pre,\n.mdui-typo ul,\n.mdui-typo ol,\n.mdui-typo dl,\n.mdui-typo form,\n.mdui-typo hr,\n.mdui-typo figure,\n.mdui-typo table,\n.mdui-typo .mdui-table,\n.mdui-typo .mdui-table-fluid {\n margin: 0 0 1.2em 0;\n}\n.mdui-typo p:last-child,\n.mdui-typo pre:last-child,\n.mdui-typo ul:last-child,\n.mdui-typo ol:last-child,\n.mdui-typo dl:last-child,\n.mdui-typo form:last-child,\n.mdui-typo hr:last-child,\n.mdui-typo figure:last-child,\n.mdui-typo table:last-child,\n.mdui-typo .mdui-table:last-child,\n.mdui-typo .mdui-table-fluid:last-child {\n margin-bottom: 0;\n}\n.mdui-typo a {\n color: #FF4081;\n position: relative;\n display: inline-block;\n overflow: hidden;\n text-decoration: none;\n vertical-align: top;\n outline: none;\n}\n.mdui-typo a::before {\n position: absolute;\n top: auto;\n bottom: 1px;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: #FF4081;\n transform: scaleX(0);\n backface-visibility: hidden;\n transition: all 0.2s;\n content: ' ';\n}\n.mdui-typo a:hover::before,\n.mdui-typo a:focus::before {\n transform: scaleX(1);\n}\n.mdui-typo small {\n font-size: 80%;\n}\n.mdui-typo blockquote {\n margin: 1em 3em 1em 2em;\n padding-left: 1em;\n font-weight: 400;\n border-left: 4px solid rgba(0, 0, 0, 0.12);\n}\n@media only screen and (max-width: 599.9px) {\n .mdui-typo blockquote {\n margin: 1em 0;\n }\n}\n.mdui-typo blockquote:last-child {\n margin-bottom: 0;\n}\n.mdui-typo blockquote footer {\n color: rgba(0, 0, 0, 0.54);\n font-size: 86%;\n}\n.mdui-typo mark {\n margin: 0 5px;\n padding: 2px;\n background: #fffdd1;\n border-bottom: 1px solid #ffedce;\n}\n.mdui-typo h1,\n.mdui-typo h2,\n.mdui-typo h3,\n.mdui-typo h4,\n.mdui-typo h5,\n.mdui-typo h6 {\n margin-top: 1.2em;\n margin-bottom: 0.6em;\n color: inherit;\n font-weight: 400;\n font-family: inherit;\n line-height: 1.35;\n}\n.mdui-typo h1:last-child,\n.mdui-typo h2:last-child,\n.mdui-typo h3:last-child,\n.mdui-typo h4:last-child,\n.mdui-typo h5:last-child,\n.mdui-typo h6:last-child {\n margin-bottom: 0;\n}\n.mdui-typo h1 small,\n.mdui-typo h2 small,\n.mdui-typo h3 small,\n.mdui-typo h4 small,\n.mdui-typo h5 small,\n.mdui-typo h6 small {\n color: rgba(0, 0, 0, 0.54);\n font-weight: 400;\n font-size: 65%;\n line-height: 1;\n}\n.mdui-typo h1 {\n font-size: 2em;\n}\n.mdui-typo h2 {\n font-size: 1.8em;\n}\n.mdui-typo h3 {\n font-size: 1.6em;\n}\n.mdui-typo h4 {\n font-size: 1.4em;\n}\n.mdui-typo h5 {\n font-size: 1.2em;\n}\n.mdui-typo h6 {\n font-size: 1.1em;\n}\n.mdui-typo code {\n padding: 2px 6px;\n color: #c7254e;\n background-color: #f7f7f9;\n border-radius: 2px;\n}\n.mdui-typo pre code {\n padding: 0;\n color: inherit;\n font-size: inherit;\n line-height: 1.7;\n background-color: transparent;\n border-radius: 0;\n}\n.mdui-typo abbr[title] {\n text-decoration: none;\n border-bottom: 1px dotted;\n cursor: help;\n}\n.mdui-typo ins {\n text-decoration: none;\n border-bottom: 1px solid ;\n}\n.mdui-typo u {\n text-decoration: none;\n border-bottom: 1px solid;\n}\n.mdui-typo del {\n text-decoration: line-through;\n}\n.mdui-typo hr {\n height: 10px;\n margin-bottom: 0.8em;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-typo pre {\n padding: 12px 16px;\n overflow-x: auto;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-radius: 2px;\n -webkit-overflow-scrolling: touch;\n}\n.mdui-typo kbd {\n padding: 2px 6px;\n color: #fff;\n font-size: 90%;\n background-color: #333;\n border-radius: 2px;\n}\n.mdui-typo ul {\n padding-left: 2em;\n list-style: disc;\n}\n.mdui-typo ol {\n padding-left: 2em;\n list-style: decimal;\n}\n.mdui-typo li ul,\n.mdui-typo li ol {\n margin: 0.8em 0;\n}\n.mdui-typo li ul {\n list-style: circle;\n}\n.mdui-typo img,\n.mdui-typo video {\n max-width: 100%;\n}\n.mdui-typo figure {\n text-align: center;\n}\n.mdui-typo figure figcaption {\n margin-top: 8px;\n color: #999;\n font-size: 14px;\n}\n.mdui-typo figure figcaption:empty::before {\n z-index: -1;\n color: #bfbfbf;\n cursor: text;\n content: attr(placeholder);\n}\n/**\n * =============================================================================\n * ************ Typo 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-typo a {\n color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-typo a::before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-blue .mdui-typo a {\n color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-typo a::before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-typo a {\n color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-typo a::before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-typo a {\n color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-typo a::before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-typo a {\n color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-typo a::before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-typo a {\n color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-typo a::before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-typo a {\n color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-typo a::before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-typo a {\n color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-typo a::before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-typo a {\n color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-typo a::before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-typo a {\n color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-typo a::before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-typo a {\n color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-typo a::before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-typo a {\n color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-typo a::before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-purple .mdui-typo a {\n color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-typo a::before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-red .mdui-typo a {\n color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-typo a::before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-teal .mdui-typo a {\n color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-typo a::before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-typo a {\n color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-typo a::before {\n background-color: #FFFF00;\n}\n/**\n * =============================================================================\n * ************ Typo dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-typo blockquote {\n border-left-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-typo blockquote footer {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo figcaption {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo mark {\n background: #aaa;\n border-bottom-color: #bbb;\n}\n.mdui-theme-layout-dark .mdui-typo h1 small,\n.mdui-theme-layout-dark .mdui-typo h2 small,\n.mdui-theme-layout-dark .mdui-typo h3 small,\n.mdui-theme-layout-dark .mdui-typo h4 small,\n.mdui-theme-layout-dark .mdui-typo h5 small,\n.mdui-theme-layout-dark .mdui-typo h6 small {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo code {\n color: #FFCDD2;\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-typo pre {\n background: #424242;\n border-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-typo kbd {\n background: #424242;\n}\n.mdui-theme-layout-dark .mdui-typo hr {\n border-color: rgba(255, 255, 255, 0.12);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-typo blockquote {\n border-left-color: rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-typo blockquote footer {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-typo figcaption {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-typo mark {\n background: #aaa;\n border-bottom-color: #bbb;\n }\n .mdui-theme-layout-auto .mdui-typo h1 small,\n .mdui-theme-layout-auto .mdui-typo h2 small,\n .mdui-theme-layout-auto .mdui-typo h3 small,\n .mdui-theme-layout-auto .mdui-typo h4 small,\n .mdui-theme-layout-auto .mdui-typo h5 small,\n .mdui-theme-layout-auto .mdui-typo h6 small {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-typo code {\n color: #FFCDD2;\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-typo pre {\n background: #424242;\n border-color: rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-typo kbd {\n background: #424242;\n }\n .mdui-theme-layout-auto .mdui-typo hr {\n border-color: rgba(255, 255, 255, 0.12);\n }\n}\n/**\n * =============================================================================\n * ************ Grid 网格系统 ************\n * =============================================================================\n */\n.mdui-container,\n.mdui-container-fluid {\n box-sizing: border-box;\n margin-right: auto;\n margin-left: auto;\n padding-right: 8px;\n padding-left: 8px;\n}\n.mdui-container::after,\n.mdui-container-fluid::after {\n display: table;\n clear: both;\n content: '';\n}\n.mdui-container {\n width: 96%;\n max-width: 1280px;\n}\n@media (min-width: 600px) {\n .mdui-container {\n width: 94%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-container {\n width: 92%;\n }\n}\n.mdui-row,\n[class*=\"mdui-row-\"] {\n margin-right: -8px;\n margin-left: -8px;\n}\n.mdui-row::after,\n[class*=\"mdui-row-\"]::after {\n display: table;\n clear: both;\n content: '';\n}\n[class*=\"mdui-col-xs-\"],\n[class*=\"mdui-col-sm-\"],\n[class*=\"mdui-col-md-\"],\n[class*=\"mdui-col-lg-\"],\n[class*=\"mdui-col-xl-\"],\n.mdui-col {\n position: relative;\n box-sizing: border-box;\n min-height: 1px;\n padding-right: 8px;\n padding-left: 8px;\n}\n/* 取消列间距 */\n.mdui-row-gapless .mdui-col,\n.mdui-row-gapless [class*=\"mdui-col-xs-\"],\n.mdui-row-gapless [class*=\"mdui-col-sm-\"],\n.mdui-row-gapless [class*=\"mdui-col-md-\"],\n.mdui-row-gapless [class*=\"mdui-col-lg-\"],\n.mdui-row-gapless [class*=\"mdui-col-xl-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.mdui-row-gapless .mdui-row,\n.mdui-row-gapless [class*=\"mdui-row-\"] {\n margin-right: 0;\n margin-left: 0;\n}\n.mdui-col-xs-1 {\n float: left;\n width: 8.333333%;\n}\n.mdui-col-offset-xs-1 {\n margin-left: 8.333333%;\n}\n.mdui-row-xs-1 .mdui-col {\n float: left;\n width: 100%;\n}\n.mdui-col-xs-2 {\n float: left;\n width: 16.666667%;\n}\n.mdui-col-offset-xs-2 {\n margin-left: 16.666667%;\n}\n.mdui-row-xs-2 .mdui-col {\n float: left;\n width: 50%;\n}\n.mdui-col-xs-3 {\n float: left;\n width: 25%;\n}\n.mdui-col-offset-xs-3 {\n margin-left: 25%;\n}\n.mdui-row-xs-3 .mdui-col {\n float: left;\n width: 33.333333%;\n}\n.mdui-col-xs-4 {\n float: left;\n width: 33.333333%;\n}\n.mdui-col-offset-xs-4 {\n margin-left: 33.333333%;\n}\n.mdui-row-xs-4 .mdui-col {\n float: left;\n width: 25%;\n}\n.mdui-col-xs-5 {\n float: left;\n width: 41.666667%;\n}\n.mdui-col-offset-xs-5 {\n margin-left: 41.666667%;\n}\n.mdui-row-xs-5 .mdui-col {\n float: left;\n width: 20%;\n}\n.mdui-col-xs-6 {\n float: left;\n width: 50%;\n}\n.mdui-col-offset-xs-6 {\n margin-left: 50%;\n}\n.mdui-row-xs-6 .mdui-col {\n float: left;\n width: 16.666667%;\n}\n.mdui-col-xs-7 {\n float: left;\n width: 58.333333%;\n}\n.mdui-col-offset-xs-7 {\n margin-left: 58.333333%;\n}\n.mdui-row-xs-7 .mdui-col {\n float: left;\n width: 14.285714%;\n}\n.mdui-col-xs-8 {\n float: left;\n width: 66.666667%;\n}\n.mdui-col-offset-xs-8 {\n margin-left: 66.666667%;\n}\n.mdui-row-xs-8 .mdui-col {\n float: left;\n width: 12.5%;\n}\n.mdui-col-xs-9 {\n float: left;\n width: 75%;\n}\n.mdui-col-offset-xs-9 {\n margin-left: 75%;\n}\n.mdui-row-xs-9 .mdui-col {\n float: left;\n width: 11.111111%;\n}\n.mdui-col-xs-10 {\n float: left;\n width: 83.333333%;\n}\n.mdui-col-offset-xs-10 {\n margin-left: 83.333333%;\n}\n.mdui-row-xs-10 .mdui-col {\n float: left;\n width: 10%;\n}\n.mdui-col-xs-11 {\n float: left;\n width: 91.666667%;\n}\n.mdui-col-offset-xs-11 {\n margin-left: 91.666667%;\n}\n.mdui-row-xs-11 .mdui-col {\n float: left;\n width: 9.090909%;\n}\n.mdui-col-xs-12 {\n float: left;\n width: 100%;\n}\n.mdui-col-offset-xs-12 {\n margin-left: 100%;\n}\n.mdui-row-xs-12 .mdui-col {\n float: left;\n width: 8.333333%;\n}\n@media (min-width: 600px) {\n .mdui-col-sm-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-sm-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-sm-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-sm-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-sm-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-sm-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-sm-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-sm-3 {\n margin-left: 25%;\n }\n .mdui-row-sm-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-sm-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-sm-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-sm-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-sm-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-sm-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-sm-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-sm-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-sm-6 {\n margin-left: 50%;\n }\n .mdui-row-sm-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-sm-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-sm-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-sm-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-sm-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-sm-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-sm-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-sm-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-sm-9 {\n margin-left: 75%;\n }\n .mdui-row-sm-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-sm-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-sm-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-sm-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-sm-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-sm-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-sm-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-sm-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-sm-12 {\n margin-left: 100%;\n }\n .mdui-row-sm-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-col-md-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-md-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-md-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-md-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-md-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-md-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-md-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-md-3 {\n margin-left: 25%;\n }\n .mdui-row-md-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-md-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-md-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-md-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-md-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-md-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-md-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-md-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-md-6 {\n margin-left: 50%;\n }\n .mdui-row-md-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-md-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-md-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-md-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-md-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-md-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-md-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-md-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-md-9 {\n margin-left: 75%;\n }\n .mdui-row-md-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-md-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-md-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-md-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-md-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-md-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-md-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-md-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-md-12 {\n margin-left: 100%;\n }\n .mdui-row-md-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1440px) {\n .mdui-col-lg-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-lg-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-lg-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-lg-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-lg-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-lg-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-lg-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-lg-3 {\n margin-left: 25%;\n }\n .mdui-row-lg-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-lg-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-lg-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-lg-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-lg-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-lg-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-lg-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-lg-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-lg-6 {\n margin-left: 50%;\n }\n .mdui-row-lg-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-lg-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-lg-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-lg-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-lg-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-lg-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-lg-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-lg-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-lg-9 {\n margin-left: 75%;\n }\n .mdui-row-lg-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-lg-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-lg-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-lg-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-lg-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-lg-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-lg-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-lg-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-lg-12 {\n margin-left: 100%;\n }\n .mdui-row-lg-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1920px) {\n .mdui-col-xl-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-xl-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-xl-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-xl-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-xl-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-xl-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-xl-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-xl-3 {\n margin-left: 25%;\n }\n .mdui-row-xl-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-xl-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-xl-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-xl-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-xl-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-xl-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-xl-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-xl-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-xl-6 {\n margin-left: 50%;\n }\n .mdui-row-xl-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-xl-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-xl-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-xl-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-xl-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-xl-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-xl-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-xl-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-xl-9 {\n margin-left: 75%;\n }\n .mdui-row-xl-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-xl-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-xl-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-xl-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-xl-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-xl-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-xl-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-xl-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-xl-12 {\n margin-left: 100%;\n }\n .mdui-row-xl-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n/**\n * =============================================================================\n * ************ Shadow 阴影 ************\n * =============================================================================\n */\n.mdui-shadow-0 {\n box-shadow: none !important;\n}\n.mdui-shadow-1 {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-2 {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-3 {\n box-shadow: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-4 {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-5 {\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 5px 8px 0 rgba(0, 0, 0, 0.14), 0 1px 14px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-6 {\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-7 {\n box-shadow: 0 4px 5px -2px rgba(0, 0, 0, 0.2), 0 7px 10px 1px rgba(0, 0, 0, 0.14), 0 2px 16px 1px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-8 {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-9 {\n box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-10 {\n box-shadow: 0 6px 6px -3px rgba(0, 0, 0, 0.2), 0 10px 14px 1px rgba(0, 0, 0, 0.14), 0 4px 18px 3px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-11 {\n box-shadow: 0 6px 7px -4px rgba(0, 0, 0, 0.2), 0 11px 15px 1px rgba(0, 0, 0, 0.14), 0 4px 20px 3px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-12 {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-13 {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 13px 19px 2px rgba(0, 0, 0, 0.14), 0 5px 24px 4px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-14 {\n box-shadow: 0 7px 9px -4px rgba(0, 0, 0, 0.2), 0 14px 21px 2px rgba(0, 0, 0, 0.14), 0 5px 26px 4px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-15 {\n box-shadow: 0 8px 9px -5px rgba(0, 0, 0, 0.2), 0 15px 22px 2px rgba(0, 0, 0, 0.14), 0 6px 28px 5px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-16 {\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-17 {\n box-shadow: 0 8px 11px -5px rgba(0, 0, 0, 0.2), 0 17px 26px 2px rgba(0, 0, 0, 0.14), 0 6px 32px 5px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-18 {\n box-shadow: 0 9px 11px -5px rgba(0, 0, 0, 0.2), 0 18px 28px 2px rgba(0, 0, 0, 0.14), 0 7px 34px 6px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-19 {\n box-shadow: 0 9px 12px -6px rgba(0, 0, 0, 0.2), 0 19px 29px 2px rgba(0, 0, 0, 0.14), 0 7px 36px 6px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-20 {\n box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 20px 31px 3px rgba(0, 0, 0, 0.14), 0 8px 38px 7px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-21 {\n box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 21px 33px 3px rgba(0, 0, 0, 0.14), 0 8px 40px 7px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-22 {\n box-shadow: 0 10px 14px -6px rgba(0, 0, 0, 0.2), 0 22px 35px 3px rgba(0, 0, 0, 0.14), 0 8px 42px 7px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-23 {\n box-shadow: 0 11px 14px -7px rgba(0, 0, 0, 0.2), 0 23px 36px 3px rgba(0, 0, 0, 0.14), 0 9px 44px 8px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-24 {\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12) !important;\n}\n/* 鼠标悬浮时加深阴影 */\n.mdui-hoverable {\n transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: box-shadow;\n}\n.mdui-hoverable:hover,\n.mdui-hoverable:focus {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n/**\n * =============================================================================\n * ************ Headroom ************\n * =============================================================================\n */\n.mdui-headroom {\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;\n}\n/* 固定在顶部时 */\n.mdui-headroom-pinned-top {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 在顶部隐藏时 */\n.mdui-headroom-unpinned-top {\n transform: translate3d(0, -100%, 0) !important;\n box-shadow: none !important;\n}\n/* 固定在底部时 */\n.mdui-headroom-pinned-down {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 在底部隐藏时 */\n.mdui-headroom-unpinned-down {\n transform: translate3d(0, 100%, 0) !important;\n box-shadow: none !important;\n}\n/* 固定应用栏中的工具栏 */\n.mdui-headroom-pinned-toolbar {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 隐藏应用栏中的工具栏 */\n.mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -56px, 0) !important;\n}\n@media (min-width: 600px) {\n .mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -64px, 0) !important;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -48px, 0) !important;\n }\n}\n/**\n * =============================================================================\n * ************ Collapse 折叠插件 ************\n * =============================================================================\n */\n.mdui-collapse-item-header .mdui-collapse-item-arrow,\n.mdui-collapse-item-header.mdui-collapse-item-arrow {\n transform: rotate(0);\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n}\n.mdui-collapse-item-body {\n height: 0;\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 0;\n padding-bottom: 0;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: height;\n}\n.mdui-collapse-item-body .mdui-list-item {\n padding-left: 72px;\n}\n.mdui-collapse-item-open > .mdui-collapse-item-header .mdui-collapse-item-arrow,\n.mdui-collapse-item-open > .mdui-collapse-item-header.mdui-collapse-item-arrow {\n transform: rotate(180deg);\n}\n.mdui-collapse-item-open > .mdui-collapse-item-body {\n height: auto;\n}\n/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n/* 可扩展面板 */\n.mdui-panel {\n box-sizing: border-box;\n width: 100%;\n}\n/* 面板项 */\n.mdui-panel-item {\n color: rgba(0, 0, 0, 0.87);\n background-color: #fff;\n transition: margin 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: margin;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-item:last-child {\n border-bottom: none;\n}\n/* 面板头部 */\n.mdui-panel-item-header {\n position: relative;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n height: 48px;\n padding: 0 24px;\n font-size: 15px;\n cursor: pointer;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: height, background-color;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-panel-item-header:active {\n background-color: #EEEEEE;\n}\n/* 面板项标题 */\n.mdui-panel-item-title {\n box-sizing: border-box;\n width: 36%;\n min-width: 36%;\n padding-right: 16px;\n font-weight: 500;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/* 面板项内容 */\n.mdui-panel-item-summary {\n flex-grow: 1;\n box-sizing: border-box;\n padding-right: 16px;\n color: rgba(0, 0, 0, 0.54);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/* 展开收起的图标 */\n.mdui-panel-item-arrow {\n position: absolute;\n top: 12px;\n right: 24px;\n color: rgba(0, 0, 0, 0.54);\n transform: rotate(0);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n user-select: none;\n will-change: transform, top;\n}\n.mdui-panel-item-summary + .mdui-panel-item-arrow {\n position: relative;\n top: 0 !important;\n right: 0;\n}\n/* 面板项内容 */\n.mdui-panel-item-body {\n height: 0;\n padding: 0 24px;\n overflow: hidden;\n transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: height;\n}\n.mdui-panel-item-body::before,\n.mdui-panel-item-body::after {\n display: table;\n content: ' ';\n}\n.mdui-panel-item-body::after {\n clear: both;\n}\n.mdui-panel-item-body::before,\n.mdui-panel-item-body::after {\n display: table;\n content: ' ';\n}\n.mdui-panel-item-body::after {\n clear: both;\n}\n.mdui-panel-item-body::after {\n height: 16px;\n}\n/* 面板项操作栏 */\n.mdui-panel-item-actions {\n display: block;\n width: 100%;\n margin: 16px -24px 0 -24px;\n padding: 16px 24px 0 24px;\n text-align: right;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-item-actions .mdui-btn {\n margin-left: 8px;\n}\n.mdui-panel-item-actions .mdui-btn:first-child {\n margin-left: 0;\n}\n/* 打开状态的面板项 */\n.mdui-panel-item-open {\n height: auto;\n margin-top: 16px;\n margin-bottom: 16px;\n}\n.mdui-panel-item-open > .mdui-panel-item-header {\n height: 64px;\n}\n.mdui-panel-item-open > .mdui-panel-item-header .mdui-panel-item-arrow {\n top: 20px;\n transform: rotate(180deg);\n}\n.mdui-panel-item-open > .mdui-panel-item-body {\n height: auto;\n}\n/* 使打开项上下没有边距 */\n.mdui-panel-gapless {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-gapless .mdui-panel-item {\n box-shadow: none;\n}\n.mdui-panel-gapless .mdui-panel-item-open {\n margin-top: 0;\n margin-bottom: 0;\n}\n/* 弹出面板 */\n.mdui-panel-popout .mdui-panel-item-open {\n margin-right: -16px;\n margin-left: -16px;\n}\n/**\n * =============================================================================\n * ************ Expansion panel dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark {\n /* stylelint-disable-next-line */\n}\n.mdui-theme-layout-dark .mdui-panel-item {\n color: #fff;\n background-color: #303030;\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-panel-item:last-child {\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-panel-item-header:active {\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-panel-item-summary {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-panel-item-arrow {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-panel-item-actions {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto {\n /* stylelint-disable-next-line */\n }\n .mdui-theme-layout-auto .mdui-panel-item {\n color: #fff;\n background-color: #303030;\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-panel-item:last-child {\n border-bottom: none;\n }\n .mdui-theme-layout-auto .mdui-panel-item-header:active {\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-panel-item-summary {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-panel-item-arrow {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-panel-item-actions {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n}\n/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n.mdui-table {\n position: relative;\n width: 100%;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n border-collapse: separate;\n border-spacing: 0;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-table tbody tr {\n position: relative;\n transition: background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-table th,\n.mdui-table td {\n position: relative;\n box-sizing: border-box;\n padding: 12px 28px;\n text-align: left;\n vertical-align: middle;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-table th {\n color: rgba(0, 0, 0, 0.54);\n font-weight: 700;\n font-size: 13px;\n line-height: 32px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-table td {\n color: rgba(0, 0, 0, 0.87);\n font-size: 14px;\n line-height: 24px;\n}\n/* 每一行前面的复选框 */\n.mdui-table-cell-checkbox {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n padding-left: 24px !important;\n}\n.mdui-table-cell-checkbox .mdui-checkbox {\n margin-top: 7px;\n}\n.mdui-table-cell-checkbox + td,\n.mdui-table-cell-checkbox + th {\n padding-left: 6px !important;\n}\nth.mdui-table-cell-checkbox .mdui-checkbox {\n margin-top: 11px;\n}\n.mdui-table th:last-child,\n.mdui-table td:last-child {\n padding-right: 24px;\n}\n.mdui-table th:first-child,\n.mdui-table td:first-child {\n padding-right: 0;\n padding-left: 24px;\n}\n.mdui-table th:nth-child(2),\n.mdui-table td:nth-child(2) {\n padding-left: 24px;\n}\n/* 鼠标悬浮时行背景加深 */\n.mdui-table-hoverable tbody tr:hover {\n background-color: #EEEEEE;\n}\n/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */\n.mdui-table-fluid {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-table-fluid .mdui-table {\n box-shadow: none;\n margin: 0;\n border: none;\n}\n/* 数字列,右对齐 */\n.mdui-table-col-numeric {\n text-align: right !important;\n}\n/* 行处于选中状态 */\n.mdui-table-row-selected {\n background-color: #F5F5F5;\n}\n/**\n * =============================================================================\n * ************ Table dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-table {\n background-color: #303030;\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-table th,\n.mdui-theme-layout-dark .mdui-table td {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-table th {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-table td {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-table-fluid {\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-table-fluid .mdui-table {\n box-shadow: none;\n border: none;\n}\n.mdui-theme-layout-dark .mdui-table-row-selected {\n background-color: #424242;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-table {\n background-color: #303030;\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n }\n .mdui-theme-layout-auto .mdui-table th,\n .mdui-theme-layout-auto .mdui-table td {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-table th {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-table td {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-table-hoverable tbody tr:hover {\n background-color: #616161;\n }\n .mdui-theme-layout-auto .mdui-table-fluid {\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n }\n .mdui-theme-layout-auto .mdui-table-fluid .mdui-table {\n box-shadow: none;\n border: none;\n }\n .mdui-theme-layout-auto .mdui-table-row-selected {\n background-color: #424242;\n }\n}\n/**\n * =============================================================================\n * ************ Divider 分割线 ************\n * =============================================================================\n */\n.mdui-divider,\n.mdui-divider-light,\n.mdui-divider-dark,\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n height: 1px;\n margin: -1px 0 0 0;\n border: none;\n}\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin-left: 72px;\n}\n.mdui-divider,\n.mdui-divider-inset {\n background-color: rgba(0, 0, 0, 0.12);\n}\n.mdui-divider-light,\n.mdui-divider-inset-light {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-divider-dark,\n.mdui-divider-inset-dark {\n background-color: rgba(0, 0, 0, 0.12);\n}\n/**\n * =============================================================================\n * ************ Divider dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-divider,\n.mdui-theme-layout-dark .mdui-divider-inset {\n background-color: rgba(255, 255, 255, 0.12);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-divider,\n .mdui-theme-layout-auto .mdui-divider-inset {\n background-color: rgba(255, 255, 255, 0.12);\n }\n}\n/**\n * =============================================================================\n * ************ 涟漪动画 ************\n * =============================================================================\n */\n.mdui-ripple {\n position: relative;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n}\n/* Ripple */\n.mdui-ripple-wave {\n position: absolute !important;\n top: 0;\n left: 0;\n z-index: 1;\n margin: 0;\n padding: 0;\n font-size: 0;\n background-color: rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n transform: translate3d(0, 0, 0) scale(0);\n transition-duration: 1400ms;\n pointer-events: none;\n}\n/* 有背景色的默认使用白色涟漪 */\n.mdui-ripple[class*=\"mdui-color-\"] .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n}\n/* 白色涟漪 */\n.mdui-ripple-white .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n/* 黑色涟漪 */\n.mdui-ripple-black .mdui-ripple-wave {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n.mdui-ripple-wave-fill {\n opacity: 0.35;\n transition-duration: 300ms;\n}\n.mdui-ripple-wave-out {\n opacity: 0;\n transition-duration: 600ms;\n}\n/**\n * =============================================================================\n * ************ Ripple 颜色 ************\n * =============================================================================\n */\n.mdui-ripple-amber .mdui-ripple-wave {\n background-color: rgba(255, 193, 7, 0.3) !important;\n}\n.mdui-ripple-blue .mdui-ripple-wave {\n background-color: rgba(33, 150, 243, 0.3) !important;\n}\n.mdui-ripple-blue-grey .mdui-ripple-wave {\n background-color: rgba(96, 125, 139, 0.3) !important;\n}\n.mdui-ripple-brown .mdui-ripple-wave {\n background-color: rgba(121, 85, 72, 0.3) !important;\n}\n.mdui-ripple-cyan .mdui-ripple-wave {\n background-color: rgba(0, 188, 212, 0.3) !important;\n}\n.mdui-ripple-deep-orange .mdui-ripple-wave {\n background-color: rgba(255, 87, 34, 0.3) !important;\n}\n.mdui-ripple-deep-purple .mdui-ripple-wave {\n background-color: rgba(103, 58, 183, 0.3) !important;\n}\n.mdui-ripple-green .mdui-ripple-wave {\n background-color: rgba(76, 175, 80, 0.3) !important;\n}\n.mdui-ripple-grey .mdui-ripple-wave {\n background-color: rgba(158, 158, 158, 0.3) !important;\n}\n.mdui-ripple-indigo .mdui-ripple-wave {\n background-color: rgba(63, 81, 181, 0.3) !important;\n}\n.mdui-ripple-light-blue .mdui-ripple-wave {\n background-color: rgba(3, 169, 244, 0.3) !important;\n}\n.mdui-ripple-light-green .mdui-ripple-wave {\n background-color: rgba(139, 195, 74, 0.3) !important;\n}\n.mdui-ripple-lime .mdui-ripple-wave {\n background-color: rgba(205, 220, 57, 0.3) !important;\n}\n.mdui-ripple-orange .mdui-ripple-wave {\n background-color: rgba(255, 152, 0, 0.3) !important;\n}\n.mdui-ripple-pink .mdui-ripple-wave {\n background-color: rgba(233, 30, 99, 0.3) !important;\n}\n.mdui-ripple-purple .mdui-ripple-wave {\n background-color: rgba(156, 39, 176, 0.3) !important;\n}\n.mdui-ripple-red .mdui-ripple-wave {\n background-color: rgba(244, 67, 54, 0.3) !important;\n}\n.mdui-ripple-teal .mdui-ripple-wave {\n background-color: rgba(0, 150, 136, 0.3) !important;\n}\n.mdui-ripple-yellow .mdui-ripple-wave {\n background-color: rgba(255, 235, 59, 0.3) !important;\n}\n/**\n * =============================================================================\n * ************ Ripple dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n}\n/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n/* 文本框外层 */\n.mdui-textfield {\n position: relative;\n padding-top: 16px;\n padding-bottom: 8px;\n overflow: hidden;\n}\n.mdui-textfield-has-bottom {\n padding-bottom: 28px;\n}\n/* 输入框 */\n.mdui-textfield-input {\n display: block;\n box-sizing: border-box;\n width: 100%;\n height: 36px;\n margin: 0;\n padding: 8px 0;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.87);\n font-size: 16px;\n font-family: inherit;\n line-height: 20px;\n background: none;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.42);\n border-radius: 0;\n outline: none;\n box-shadow: none;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.2s;\n transition-property: border-bottom-color, padding-right, box-shadow;\n appearance: none;\n resize: none;\n}\n.mdui-textfield-input::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.42;\n}\n.mdui-textfield-input:not([disabled]):hover {\n border-bottom: 1px solid rgba(0, 0, 0, 0.87);\n box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.87);\n cursor: pointer;\n}\n.mdui-textfield-input[rows] {\n height: auto !important;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n/* 文本框 label */\n.mdui-textfield-label {\n display: block;\n width: 100%;\n color: rgba(0, 0, 0, 0.54);\n font-size: 16px;\n transform: scale(0.75) translateY(0);\n transform-origin: left;\n transition: all 0.2s;\n pointer-events: none;\n}\n/* 表单验证错误提示、帮助文本提示 */\n.mdui-textfield-error,\n.mdui-textfield-helper {\n position: absolute;\n bottom: 8px;\n height: 12px;\n font-size: 12px;\n line-height: 12px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-textfield-error {\n color: rgba(255, 23, 68, 0.87);\n visibility: hidden;\n}\n.mdui-textfield-helper {\n color: rgba(0, 0, 0, 0.54);\n}\n/* 表单中的图标\n ========== */\n.mdui-textfield .mdui-icon {\n position: absolute;\n bottom: 8px;\n padding: 6px;\n color: rgba(0, 0, 0, 0.54);\n}\n.mdui-textfield .mdui-icon ~ .mdui-textfield-label,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-input,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-error,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-helper,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-flex-wrap {\n /* stylelint-disable-next-line */\n width: calc(100% - 56px);\n margin-left: 56px;\n}\n.mdui-textfield-has-bottom .mdui-icon {\n bottom: 28px;\n}\n/* 聚焦状态的文本框\n ============= */\n.mdui-textfield-focus .mdui-textfield-input,\n.mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #C51162;\n box-shadow: 0 1px 0 0 #C51162;\n}\n.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-focus .mdui-icon {\n color: rgba(197, 17, 98, 0.87);\n}\n/* 含有浮动标签的文本框\n ================ */\n.mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(0, 0, 0, 0.35);\n transform: scale(1) translateY(27px);\n}\n.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label {\n color: rgba(0, 0, 0, 0.65);\n transform: scale(0.75) translateY(0);\n}\n.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label {\n color: #E91E63;\n}\n/* 可展开文本框,默认向右展开\n ========== */\n.mdui-textfield-expandable {\n width: 36px;\n min-height: 36px;\n padding: 1px 0;\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-textfield-expandable .mdui-icon {\n bottom: 0;\n padding: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-input {\n /* stylelint-disable-next-line */\n width: calc(100% - 36px);\n margin-left: 36px;\n padding-right: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-icon {\n position: absolute;\n top: 0;\n left: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-close {\n position: absolute;\n top: 0;\n right: 0;\n transform: scale(0);\n}\n.mdui-textfield-expandable.mdui-textfield-expanded {\n width: 100%;\n}\n.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input {\n padding-right: 36px;\n}\n.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close {\n transform: scale(1);\n}\n/* 表单验证不通过\n =========== */\n.mdui-textfield-invalid .mdui-textfield-input,\n.mdui-textfield-invalid-html5 .mdui-textfield-input,\n.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input,\n.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF1744 !important;\n box-shadow: 0 1px 0 0 #FF1744 !important;\n}\n.mdui-textfield-invalid .mdui-textfield-label,\n.mdui-textfield-invalid-html5 .mdui-textfield-label {\n color: #FF1744 !important;\n}\n.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 23, 68, 0.35) !important;\n}\n.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label {\n color: #FF1744 !important;\n}\n.mdui-textfield-invalid .mdui-textfield-error,\n.mdui-textfield-invalid-html5 .mdui-textfield-error {\n visibility: visible;\n}\n.mdui-textfield-invalid .mdui-textfield-error + .mdui-textfield-helper,\n.mdui-textfield-invalid-html5 .mdui-textfield-error + .mdui-textfield-helper {\n visibility: hidden;\n}\n/* 禁用表单\n ====== */\n.mdui-textfield-disabled .mdui-textfield-label,\n.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.38);\n}\n.mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(0, 0, 0, 0.42);\n cursor: default;\n}\n.mdui-textfield-disabled .mdui-textfield-input {\n border-bottom: 1px dashed rgba(0, 0, 0, 0.42);\n}\n/* 字数统计\n ====== */\n.mdui-textfield-counter {\n position: absolute;\n right: 8px;\n bottom: 8px;\n height: 12px;\n color: rgba(0, 0, 0, 0.54);\n font-size: 12px;\n line-height: 12px;\n}\n/**\n * =============================================================================\n * ************ Textfield dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover {\n border-bottom-color: #ffffff;\n box-shadow: 0 1px 0 0 #ffffff;\n}\n.mdui-theme-layout-dark .mdui-textfield .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n}\n.mdui-theme-layout-dark .mdui-textfield-error {\n color: #FF1744;\n}\n.mdui-theme-layout-dark .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-counter {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input,\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n}\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label {\n color: #FF4081;\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label,\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, 0.7);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto .mdui-textfield-input:not([disabled]):hover {\n border-bottom-color: #ffffff;\n box-shadow: 0 1px 0 0 #ffffff;\n }\n .mdui-theme-layout-auto .mdui-textfield .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n }\n .mdui-theme-layout-auto .mdui-textfield-error {\n color: #FF1744;\n }\n .mdui-theme-layout-auto .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-counter {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input,\n .mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n }\n .mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label {\n color: #FF4081;\n }\n .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-label,\n .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, 0.7);\n }\n}\n/**\n * =============================================================================\n * ************ Textfield 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB00;\n box-shadow: 0 1px 0 0 #FFAB00;\n}\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 171, 0, 0.87);\n}\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD740;\n box-shadow: 0 1px 0 0 #FFD740;\n}\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFD740;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD740;\n box-shadow: 0 1px 0 0 #FFD740;\n }\n .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FFD740;\n }\n}\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #2962FF;\n box-shadow: 0 1px 0 0 #2962FF;\n}\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon {\n color: rgba(41, 98, 255, 0.87);\n}\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #448AFF;\n box-shadow: 0 1px 0 0 #448AFF;\n}\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #448AFF;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #448AFF;\n box-shadow: 0 1px 0 0 #448AFF;\n }\n .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #448AFF;\n }\n}\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00B8D4;\n box-shadow: 0 1px 0 0 #00B8D4;\n}\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 184, 212, 0.87);\n}\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #18FFFF;\n box-shadow: 0 1px 0 0 #18FFFF;\n}\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #18FFFF;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #18FFFF;\n box-shadow: 0 1px 0 0 #18FFFF;\n }\n .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #18FFFF;\n }\n}\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #DD2C00;\n box-shadow: 0 1px 0 0 #DD2C00;\n}\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon {\n color: rgba(221, 44, 0, 0.87);\n}\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6E40;\n box-shadow: 0 1px 0 0 #FF6E40;\n}\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF6E40;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6E40;\n box-shadow: 0 1px 0 0 #FF6E40;\n }\n .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FF6E40;\n }\n}\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #6200EA;\n box-shadow: 0 1px 0 0 #6200EA;\n}\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon {\n color: rgba(98, 0, 234, 0.87);\n}\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #7C4DFF;\n box-shadow: 0 1px 0 0 #7C4DFF;\n}\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #7C4DFF;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #7C4DFF;\n box-shadow: 0 1px 0 0 #7C4DFF;\n }\n .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #7C4DFF;\n }\n}\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00C853;\n box-shadow: 0 1px 0 0 #00C853;\n}\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 200, 83, 0.87);\n}\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #69F0AE;\n box-shadow: 0 1px 0 0 #69F0AE;\n}\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #69F0AE;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #69F0AE;\n box-shadow: 0 1px 0 0 #69F0AE;\n }\n .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #69F0AE;\n }\n}\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #304FFE;\n box-shadow: 0 1px 0 0 #304FFE;\n}\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon {\n color: rgba(48, 79, 254, 0.87);\n}\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #536DFE;\n box-shadow: 0 1px 0 0 #536DFE;\n}\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #536DFE;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #536DFE;\n box-shadow: 0 1px 0 0 #536DFE;\n }\n .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #536DFE;\n }\n}\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #0091EA;\n box-shadow: 0 1px 0 0 #0091EA;\n}\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 145, 234, 0.87);\n}\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #40C4FF;\n box-shadow: 0 1px 0 0 #40C4FF;\n}\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #40C4FF;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #40C4FF;\n box-shadow: 0 1px 0 0 #40C4FF;\n }\n .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #40C4FF;\n }\n}\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64DD17;\n box-shadow: 0 1px 0 0 #64DD17;\n}\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon {\n color: rgba(100, 221, 23, 0.87);\n}\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #B2FF59;\n box-shadow: 0 1px 0 0 #B2FF59;\n}\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #B2FF59;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #B2FF59;\n box-shadow: 0 1px 0 0 #B2FF59;\n }\n .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #B2FF59;\n }\n}\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #AEEA00;\n box-shadow: 0 1px 0 0 #AEEA00;\n}\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon {\n color: rgba(174, 234, 0, 0.87);\n}\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #EEFF41;\n box-shadow: 0 1px 0 0 #EEFF41;\n}\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #EEFF41;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #EEFF41;\n box-shadow: 0 1px 0 0 #EEFF41;\n }\n .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #EEFF41;\n }\n}\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6D00;\n box-shadow: 0 1px 0 0 #FF6D00;\n}\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 109, 0, 0.87);\n}\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB40;\n box-shadow: 0 1px 0 0 #FFAB40;\n}\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFAB40;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB40;\n box-shadow: 0 1px 0 0 #FFAB40;\n }\n .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FFAB40;\n }\n}\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #C51162;\n box-shadow: 0 1px 0 0 #C51162;\n}\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon {\n color: rgba(197, 17, 98, 0.87);\n}\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n}\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF4081;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n }\n .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FF4081;\n }\n}\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #AA00FF;\n box-shadow: 0 1px 0 0 #AA00FF;\n}\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon {\n color: rgba(170, 0, 255, 0.87);\n}\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #E040FB;\n box-shadow: 0 1px 0 0 #E040FB;\n}\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #E040FB;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #E040FB;\n box-shadow: 0 1px 0 0 #E040FB;\n }\n .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #E040FB;\n }\n}\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #D50000;\n box-shadow: 0 1px 0 0 #D50000;\n}\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon {\n color: rgba(213, 0, 0, 0.87);\n}\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF5252;\n box-shadow: 0 1px 0 0 #FF5252;\n}\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF5252;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF5252;\n box-shadow: 0 1px 0 0 #FF5252;\n }\n .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FF5252;\n }\n}\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00BFA5;\n box-shadow: 0 1px 0 0 #00BFA5;\n}\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 191, 165, 0.87);\n}\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64FFDA;\n box-shadow: 0 1px 0 0 #64FFDA;\n}\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #64FFDA;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64FFDA;\n box-shadow: 0 1px 0 0 #64FFDA;\n }\n .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #64FFDA;\n }\n}\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD600;\n box-shadow: 0 1px 0 0 #FFD600;\n}\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 214, 0, 0.87);\n}\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFFF00;\n box-shadow: 0 1px 0 0 #FFFF00;\n}\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFFF00;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFFF00;\n box-shadow: 0 1px 0 0 #FFFF00;\n }\n .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FFFF00;\n }\n}\n/**\n * =============================================================================\n * ************ Checkbox 复选框 ************\n * =============================================================================\n */\n.mdui-checkbox {\n position: relative;\n display: inline-block;\n height: 36px;\n padding-left: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-checkbox input[type=\"checkbox\"] {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n}\n/* 透明的圆形,用于生成圆形阴影 */\n.mdui-checkbox-icon {\n position: absolute;\n top: 9px;\n left: 0;\n display: inline-block;\n width: 18px;\n height: 18px;\n vertical-align: middle;\n background-color: transparent;\n border: none;\n border-radius: 18px;\n transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-checkbox-icon::after {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 0;\n box-sizing: border-box;\n width: 18px;\n height: 18px;\n border: 2px solid rgba(0, 0, 0, 0.54);\n border-radius: 2px;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n content: ' ';\n}\n.mdui-checkbox-icon::before {\n position: absolute;\n top: 2px;\n left: 0;\n z-index: 1;\n box-sizing: border-box;\n width: 8px;\n height: 13px;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transform: rotateZ(37deg) scale(0);\n transform-origin: 100% 100%;\n opacity: 0;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n content: ' ';\n}\n/* 各种状态的图标 */\n.mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after {\n background-color: #FF4081;\n border-color: #FF4081;\n}\n.mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::before {\n transform: rotateZ(37deg) scale(1);\n opacity: 1;\n}\n.mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FF4081;\n border-color: #FF4081;\n}\n.mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::before {\n top: 8px;\n left: 3px;\n width: 12px;\n height: 0;\n border-right: none;\n border-bottom: 2px solid #fff;\n border-radius: 1px;\n transform: rotateZ(0) scale(1);\n opacity: 1;\n}\n.mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon::after {\n border-color: rgba(0, 0, 0, 0.26);\n}\n.mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon::after,\n.mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon::after {\n background-color: rgba(0, 0, 0, 0.26) !important;\n border-color: transparent !important;\n}\n/* 阴影 */\n.mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n.mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/**\n * =============================================================================\n * ************ Checkbox 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FFD740;\n border-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #448AFF;\n border-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #18FFFF;\n border-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FF6E40;\n border-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #7C4DFF;\n border-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #69F0AE;\n border-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #536DFE;\n border-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #40C4FF;\n border-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #B2FF59;\n border-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #EEFF41;\n border-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FFAB40;\n border-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FF4081;\n border-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #E040FB;\n border-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FF5252;\n border-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #64FFDA;\n border-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FFFF00;\n border-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Checkbox dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-checkbox-icon::after {\n border-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-checkbox-icon::before {\n border-right-color: #303030 !important;\n border-bottom-color: #303030 !important;\n}\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon::after {\n border-color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon::after,\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon::after {\n background-color: rgba(255, 255, 255, 0.3) !important;\n border-color: transparent !important;\n}\n.mdui-theme-layout-dark .mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-checkbox-icon::after {\n border-color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-checkbox-icon::before {\n border-right-color: #303030 !important;\n border-bottom-color: #303030 !important;\n }\n .mdui-theme-layout-auto .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon::after {\n border-color: rgba(255, 255, 255, 0.3);\n }\n .mdui-theme-layout-auto .mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon::after,\n .mdui-theme-layout-auto .mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon::after {\n background-color: rgba(255, 255, 255, 0.3) !important;\n border-color: transparent !important;\n }\n .mdui-theme-layout-auto .mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n .mdui-theme-layout-auto .mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n}\n/**\n * =============================================================================\n * ************ Radio 单选框 ************\n * =============================================================================\n */\n.mdui-radio {\n position: relative;\n display: inline-block;\n height: 36px;\n padding-left: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-radio input {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n}\n/* 图标外圈 */\n.mdui-radio-icon {\n position: absolute;\n top: 9px;\n left: 0;\n display: inline-block;\n box-sizing: border-box;\n width: 18px;\n height: 18px;\n vertical-align: middle;\n border: 2px solid rgba(0, 0, 0, 0.54);\n border-radius: 18px;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-radio-icon::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n height: 14px;\n background-color: #FF4081;\n border-radius: 14px;\n transform: scale(0);\n opacity: 0;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n content: ' ';\n}\n/* 选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF4081;\n}\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n transform: scale(0.68);\n opacity: 1;\n}\n/* 禁用状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 禁用且选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon::before {\n background-color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 未选中、禁用时 按下的阴影 */\n.mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n.mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n/* 已选中时按下的阴影 */\n.mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon::before {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.3) !important;\n }\n .mdui-theme-layout-auto .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon::before {\n background-color: rgba(255, 255, 255, 0.3) !important;\n }\n .mdui-theme-layout-auto .mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n .mdui-theme-layout-auto .mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n}\n/**\n * =============================================================================\n * ************ Switch 单选框 ************\n * =============================================================================\n */\n.mdui-switch {\n display: inline-block;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-switch input {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n}\n/* 图标轨道 */\n.mdui-switch-icon {\n position: relative;\n display: inline-block;\n width: 36px;\n height: 14px;\n vertical-align: middle;\n background-color: rgba(0, 0, 0, 0.38);\n border-radius: 14px;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-switch-icon::before {\n position: absolute;\n top: -3px;\n left: -3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n background-color: #FAFAFA;\n border-radius: 20px;\n transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n content: ' ';\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n}\n/* 选中状态的图标 */\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 64, 129, 0.5);\n}\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n left: 20px;\n background-color: #FF4081;\n}\n/* 未选中时或禁用时 按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon::before,\n.mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n/* 已选中时按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/* 禁用状态 */\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon::before {\n background-color: #BDBDBD !important;\n}\n/**\n * =============================================================================\n * ************ Switch 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 215, 64, 0.5);\n}\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(68, 138, 255, 0.5);\n}\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(24, 255, 255, 0.5);\n}\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 110, 64, 0.5);\n}\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(124, 77, 255, 0.5);\n}\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(105, 240, 174, 0.5);\n}\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(83, 109, 254, 0.5);\n}\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(64, 196, 255, 0.5);\n}\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(178, 255, 89, 0.5);\n}\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(238, 255, 65, 0.5);\n}\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 171, 64, 0.5);\n}\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 64, 129, 0.5);\n}\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(224, 64, 251, 0.5);\n}\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 82, 82, 0.5);\n}\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(100, 255, 218, 0.5);\n}\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 0, 0.5);\n}\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-switch-icon::before {\n background-color: #BDBDBD;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 229, 127, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFE57F;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(130, 177, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #82B1FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(132, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #84FFFF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 158, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF9E80;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(179, 136, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B388FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(185, 246, 202, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B9F6CA;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(140, 158, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #8C9EFF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(128, 216, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #80D8FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(204, 255, 144, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #CCFF90;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(244, 255, 129, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #F4FF81;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 209, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFD180;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 128, 171, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF80AB;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(234, 128, 252, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #EA80FC;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 138, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF8A80;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(167, 255, 235, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #A7FFEB;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 141, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFFF8D;\n}\n.mdui-theme-layout-dark .mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon::before,\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n}\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon::before {\n background-color: #424242 !important;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n }\n .mdui-theme-layout-auto .mdui-switch-icon::before {\n background-color: #BDBDBD;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 229, 127, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFE57F;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(130, 177, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #82B1FF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(132, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #84FFFF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 158, 128, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF9E80;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(179, 136, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B388FF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(185, 246, 202, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B9F6CA;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(140, 158, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #8C9EFF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(128, 216, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #80D8FF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(204, 255, 144, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #CCFF90;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(244, 255, 129, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #F4FF81;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 209, 128, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFD180;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 128, 171, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF80AB;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(234, 128, 252, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #EA80FC;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 138, 128, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF8A80;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(167, 255, 235, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #A7FFEB;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 141, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFFF8D;\n }\n .mdui-theme-layout-auto .mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon::before,\n .mdui-theme-layout-auto .mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n .mdui-theme-layout-auto .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n }\n .mdui-theme-layout-auto .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon::before {\n background-color: #424242 !important;\n }\n}\n/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n.mdui-slider {\n position: relative;\n display: block;\n width: 100%;\n height: 36px;\n}\n.mdui-slider input[type=\"range\"] {\n position: absolute;\n top: 50%;\n left: 0;\n z-index: 2;\n width: 100%;\n height: 20px;\n margin-top: -10px;\n cursor: pointer;\n opacity: 0;\n appearance: none;\n}\n.mdui-slider-track,\n.mdui-slider-fill {\n position: absolute;\n top: 50%;\n box-sizing: border-box;\n height: 2px;\n margin-top: -1px;\n}\n.mdui-slider-track::before,\n.mdui-slider-fill::before {\n display: block;\n width: 100%;\n height: 100%;\n content: ' ';\n}\n/* 轨道 */\n.mdui-slider-track {\n right: 0;\n}\n.mdui-slider-track::before {\n background-color: #bdbdbd;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 已滑动部分 */\n.mdui-slider-fill {\n left: 0;\n}\n.mdui-slider-fill::before {\n background-color: #FF4081;\n}\n/* 滑块 */\n.mdui-slider-thumb {\n position: absolute;\n top: 50%;\n box-sizing: border-box;\n width: 12px;\n height: 12px;\n margin-top: -6px;\n background-color: #FF4081;\n border: 2px solid #FF4081;\n border-radius: 50%;\n transform: translate(-50%);\n transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: background, border-color, transform, border-radius;\n}\n/**\n * =============================================================================\n * ************ Slider 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-slider-fill::before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-slider-thumb {\n background-color: #FFD740;\n border: 2px solid #FFD740;\n}\n.mdui-theme-accent-blue .mdui-slider-fill::before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-slider-thumb {\n background-color: #448AFF;\n border: 2px solid #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-slider-fill::before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-slider-thumb {\n background-color: #18FFFF;\n border: 2px solid #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-slider-fill::before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-slider-thumb {\n background-color: #FF6E40;\n border: 2px solid #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-slider-fill::before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-slider-thumb {\n background-color: #7C4DFF;\n border: 2px solid #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-slider-fill::before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-slider-thumb {\n background-color: #69F0AE;\n border: 2px solid #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-slider-fill::before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-slider-thumb {\n background-color: #536DFE;\n border: 2px solid #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-slider-fill::before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-slider-thumb {\n background-color: #40C4FF;\n border: 2px solid #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-slider-fill::before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-slider-thumb {\n background-color: #B2FF59;\n border: 2px solid #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-slider-fill::before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-slider-thumb {\n background-color: #EEFF41;\n border: 2px solid #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-slider-fill::before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-slider-thumb {\n background-color: #FFAB40;\n border: 2px solid #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-slider-fill::before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-slider-thumb {\n background-color: #FF4081;\n border: 2px solid #FF4081;\n}\n.mdui-theme-accent-purple .mdui-slider-fill::before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-slider-thumb {\n background-color: #E040FB;\n border: 2px solid #E040FB;\n}\n.mdui-theme-accent-red .mdui-slider-fill::before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-slider-thumb {\n background-color: #FF5252;\n border: 2px solid #FF5252;\n}\n.mdui-theme-accent-teal .mdui-slider-fill::before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-slider-thumb {\n background-color: #64FFDA;\n border: 2px solid #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-slider-fill::before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-slider-thumb {\n background-color: #FFFF00;\n border: 2px solid #FFFF00;\n}\n/**\n * =============================================================================\n * ============ Slider 的不同状态 ============\n * =============================================================================\n */\n/* 鼠标按下状态 */\n.mdui-slider-focus .mdui-slider-track::before {\n background-color: #9e9e9e;\n}\n.mdui-slider-focus .mdui-slider-thumb {\n transform: translate(-50%) scale(1.6);\n}\n/* 滑块值为 0 */\n.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fff;\n border-color: #bdbdbd;\n}\n/* 滑块值为 0,且鼠标按下 */\n.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #9e9e9e;\n}\n/* 禁用状态 */\n.mdui-slider-disabled input[type=\"range\"] {\n cursor: default;\n}\n.mdui-slider-disabled .mdui-slider-track::before {\n background-color: #bdbdbd;\n}\n.mdui-slider-disabled .mdui-slider-fill::before {\n background-color: #bdbdbd;\n}\n.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #bdbdbd;\n border-color: transparent !important;\n transform: translate(-50%) scale(0.72);\n}\n/**\n * =============================================================================\n * ============ 间续型滑块 ============\n * =============================================================================\n */\n.mdui-slider-discrete .mdui-slider-thumb {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n margin-left: -15px;\n border: none;\n transform: rotate(-45deg) scale(0.4);\n}\n.mdui-slider-discrete .mdui-slider-thumb span {\n position: absolute;\n top: 9px;\n left: -1px;\n width: 100%;\n color: #fff;\n font-size: 12px;\n text-align: center;\n transform: rotate(45deg);\n opacity: 0;\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb {\n border-radius: 15px 15px 15px 0;\n transform: rotate(-45deg) scale(1) translate(22px, -22px);\n}\n.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span {\n opacity: 1;\n}\n.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #323232;\n}\n.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #bdbdbd;\n}\n.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb {\n transform: rotate(-45deg) scale(0.288);\n}\n.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #bdbdbd;\n}\n/**\n * =============================================================================\n * ************ Slider dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-slider-track::before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track::before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb {\n background-color: #303030;\n border-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track::before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill::before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fefefe;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #5c5c5c;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-slider-track::before {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-focus .mdui-slider-track::before {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-zero .mdui-slider-thumb {\n background-color: #303030;\n border-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-track::before {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-fill::before {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fefefe;\n }\n .mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #5c5c5c;\n }\n .mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n }\n}\n/**\n * =============================================================================\n * ************ Button 按钮 ************\n * =============================================================================\n */\n/* 默认为 Flat 扁平按钮 */\n.mdui-btn,\n.mdui-fab {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n min-width: 88px;\n height: 36px;\n margin: 0;\n padding: 0 16px;\n overflow: hidden;\n color: inherit;\n font-weight: 500;\n font-size: 14px;\n line-height: 36px;\n letter-spacing: 0.04em;\n white-space: nowrap;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n vertical-align: middle;\n background: transparent;\n border: none;\n border-radius: 2px;\n outline: none;\n cursor: pointer;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n touch-action: manipulation;\n will-change: box-shadow;\n zoom: 1;\n -webkit-user-drag: none;\n}\n.mdui-btn:hover,\n.mdui-fab:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.mdui-btn:not(.mdui-ripple):active,\n.mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(0, 0, 0, 0.165);\n}\n.mdui-btn[class*=\"mdui-color-\"]:hover,\n.mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n}\n.mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n.mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n}\n/* 按钮内的图标 */\n.mdui-btn .mdui-icon-left,\n.mdui-btn .mdui-icon-right,\n.mdui-btn .mdui-icon-left::before,\n.mdui-btn .mdui-icon-right::before {\n height: inherit;\n font-size: 1.3em;\n line-height: inherit;\n}\n.mdui-btn .mdui-icon-left {\n float: left;\n margin-right: 0.4em;\n}\n.mdui-btn .mdui-icon-right {\n float: right;\n margin-left: 0.4em;\n}\ninput.mdui-btn[type=\"submit\"] {\n appearance: none;\n}\n/* Raised button 浮动按钮 */\n.mdui-btn-raised {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-btn-raised:hover {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-btn-raised:active {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n/* 禁用按钮 */\n.mdui-btn[disabled],\n.mdui-fab[disabled],\n.mdui-btn[disabled]:hover,\n.mdui-fab[disabled]:hover,\n.mdui-btn[disabled]:active,\n.mdui-fab[disabled]:active,\n.mdui-btn[disabled]:focus,\n.mdui-fab[disabled]:focus {\n color: rgba(0, 0, 0, 0.26) !important;\n background-color: transparent !important;\n cursor: default !important;\n opacity: 1 !important;\n box-shadow: none !important;\n}\n.mdui-btn[disabled] .mdui-icon,\n.mdui-fab[disabled] .mdui-icon,\n.mdui-btn[disabled]:hover .mdui-icon,\n.mdui-fab[disabled]:hover .mdui-icon,\n.mdui-btn[disabled]:active .mdui-icon,\n.mdui-fab[disabled]:active .mdui-icon,\n.mdui-btn[disabled]:focus .mdui-icon,\n.mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 禁用状态浮动按钮和浮动操作按钮 */\n.mdui-btn-raised[disabled],\n.mdui-fab[disabled],\n.mdui-btn-raised[disabled]:hover,\n.mdui-fab[disabled]:hover,\n.mdui-btn-raised[disabled]:active,\n.mdui-fab[disabled]:active,\n.mdui-btn-raised[disabled]:focus,\n.mdui-fab[disabled]:focus {\n background-color: rgba(0, 0, 0, 0.12) !important;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important;\n}\n/* 加粗按钮文本 */\n.mdui-btn-bold {\n font-weight: bold;\n}\n/* 图标按钮 */\n.mdui-btn-icon {\n width: 36px;\n min-width: 36px;\n height: 36px;\n margin-right: 0;\n margin-left: 0;\n padding: 0;\n overflow: hidden;\n font-size: 24px;\n line-height: normal;\n border-radius: 50%;\n}\n.mdui-btn-icon .mdui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 24px;\n line-height: 24px;\n transform: translate(-12px, -12px);\n}\n.mdui-btn-icon.mdui-ripple {\n transform: translateZ(0);\n}\n/* 按钮 100% 宽度 */\n.mdui-btn-block {\n display: block;\n width: 100%;\n}\n/* 密集型按钮 */\n.mdui-btn-dense {\n height: 32px;\n font-size: 13px;\n line-height: 32px;\n}\n.mdui-btn-dense.mdui-btn-icon {\n width: 32px;\n min-width: 32px;\n}\n/* 按钮组 */\n.mdui-btn-group {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.mdui-btn-group .mdui-btn {\n float: left;\n min-width: inherit;\n padding: 0 12px;\n color: rgba(0, 0, 0, 0.54);\n border-radius: 0;\n}\n.mdui-btn-group .mdui-btn::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n border-left: 1px solid transparent;\n content: ' ';\n}\n.mdui-btn-group .mdui-btn:first-child {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\n.mdui-btn-group .mdui-btn:first-child::before {\n border-left: none;\n}\n.mdui-btn-group .mdui-btn:last-child {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n}\n.mdui-btn-group .mdui-btn.mdui-btn-active {\n color: rgba(0, 0, 0, 0.87);\n background-color: rgba(0, 0, 0, 0.215);\n}\n.mdui-btn-group .mdui-btn.mdui-btn-active + .mdui-btn-active::before {\n border-left: 1px solid rgba(0, 0, 0, 0.145);\n}\n/**\n * =============================================================================\n * ************ Button dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-btn:hover,\n.mdui-theme-layout-dark .mdui-fab:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active,\n.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n}\n.mdui-theme-layout-dark .mdui-btn[class*=\"mdui-color-\"]:hover,\n.mdui-theme-layout-dark .mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n}\n.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n}\n.mdui-theme-layout-dark .mdui-btn[disabled],\n.mdui-theme-layout-dark .mdui-fab[disabled],\n.mdui-theme-layout-dark .mdui-btn[disabled]:hover,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover,\n.mdui-theme-layout-dark .mdui-btn[disabled]:active,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active,\n.mdui-theme-layout-dark .mdui-btn[disabled]:focus,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus {\n color: rgba(255, 255, 255, 0.3) !important;\n background-color: transparent !important;\n}\n.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-btn-raised[disabled],\n.mdui-theme-layout-dark .mdui-fab[disabled],\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover,\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active,\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus {\n background-color: rgba(255, 255, 255, 0.12) !important;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-btn:hover,\n .mdui-theme-layout-auto .mdui-fab:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n .mdui-theme-layout-auto .mdui-btn:not(.mdui-ripple):active,\n .mdui-theme-layout-auto .mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n .mdui-theme-layout-auto .mdui-btn[class*=\"mdui-color-\"]:hover,\n .mdui-theme-layout-auto .mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n .mdui-theme-layout-auto .mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n .mdui-theme-layout-auto .mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n .mdui-theme-layout-auto .mdui-btn[disabled],\n .mdui-theme-layout-auto .mdui-fab[disabled],\n .mdui-theme-layout-auto .mdui-btn[disabled]:hover,\n .mdui-theme-layout-auto .mdui-fab[disabled]:hover,\n .mdui-theme-layout-auto .mdui-btn[disabled]:active,\n .mdui-theme-layout-auto .mdui-fab[disabled]:active,\n .mdui-theme-layout-auto .mdui-btn[disabled]:focus,\n .mdui-theme-layout-auto .mdui-fab[disabled]:focus {\n color: rgba(255, 255, 255, 0.3) !important;\n background-color: transparent !important;\n }\n .mdui-theme-layout-auto .mdui-btn[disabled] .mdui-icon,\n .mdui-theme-layout-auto .mdui-fab[disabled] .mdui-icon,\n .mdui-theme-layout-auto .mdui-btn[disabled]:hover .mdui-icon,\n .mdui-theme-layout-auto .mdui-fab[disabled]:hover .mdui-icon,\n .mdui-theme-layout-auto .mdui-btn[disabled]:active .mdui-icon,\n .mdui-theme-layout-auto .mdui-fab[disabled]:active .mdui-icon,\n .mdui-theme-layout-auto .mdui-btn[disabled]:focus .mdui-icon,\n .mdui-theme-layout-auto .mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(255, 255, 255, 0.3) !important;\n }\n .mdui-theme-layout-auto .mdui-btn-raised[disabled],\n .mdui-theme-layout-auto .mdui-fab[disabled],\n .mdui-theme-layout-auto .mdui-btn-raised[disabled]:hover,\n .mdui-theme-layout-auto .mdui-fab[disabled]:hover,\n .mdui-theme-layout-auto .mdui-btn-raised[disabled]:active,\n .mdui-theme-layout-auto .mdui-fab[disabled]:active,\n .mdui-theme-layout-auto .mdui-btn-raised[disabled]:focus,\n .mdui-theme-layout-auto .mdui-fab[disabled]:focus {\n background-color: rgba(255, 255, 255, 0.12) !important;\n }\n}\n/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n/* 浮动操作按钮 */\n.mdui-fab {\n width: 56px;\n min-width: 56px;\n height: 56px;\n margin: auto;\n padding: 0 !important;\n overflow: hidden;\n font-size: 24px;\n line-height: normal !important;\n border-radius: 50%;\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-fab:hover {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-fab:active {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-fab .mdui-icon {\n position: absolute;\n top: 0;\n left: 0;\n width: 24px;\n margin-top: 16px;\n margin-left: 16px;\n line-height: 24px;\n}\n/* mini 型浮动操作按钮 */\n.mdui-fab-mini {\n width: 40px;\n min-width: 40px;\n height: 40px;\n}\n.mdui-fab-mini .mdui-icon {\n margin-top: 8px;\n margin-left: 8px;\n}\n/* 固定到右下角的 FAB 按钮 */\n.mdui-fab-fixed,\n.mdui-fab-wrapper {\n position: fixed !important;\n /* 手机平板上距离屏幕右下角 16px */\n right: 16px;\n bottom: 16px;\n}\n@media (min-width: 1024px) {\n .mdui-fab-fixed,\n .mdui-fab-wrapper {\n /* 电脑上距离屏幕右下角 24px */\n right: 24px;\n bottom: 24px;\n }\n}\n/* 含菜单的浮动操作按钮 */\n.mdui-fab-wrapper {\n position: relative;\n z-index: 4000;\n width: 56px;\n height: 56px;\n padding-top: 8px;\n text-align: center;\n}\n.mdui-fab-wrapper > .mdui-fab .mdui-icon:not(.mdui-fab-opened) {\n opacity: 1;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: opacity, transform;\n}\n.mdui-fab-wrapper > .mdui-fab .mdui-icon.mdui-fab-opened {\n transform: rotate(225deg);\n opacity: 0;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: opacity, transform;\n}\n.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened) {\n transform: rotate(225deg);\n opacity: 0;\n}\n.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened {\n transform: rotate(360deg);\n opacity: 1;\n}\n.mdui-fab-wrapper > .mdui-fab-mini {\n margin-top: 8px;\n}\n.mdui-fab-wrapper .mdui-fab-dial {\n position: absolute;\n right: 0;\n bottom: 64px;\n left: 0;\n height: 0;\n text-align: center;\n visibility: visible;\n}\n.mdui-fab-wrapper .mdui-fab-dial .mdui-fab {\n margin: 8px 0;\n transform: scale(0);\n opacity: 0;\n transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab {\n transform: scale(1);\n opacity: 1;\n}\n/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */\n.mdui-fab,\n.mdui-fab-mini,\n.mdui-fab-wrapper {\n transform: scale(1) translateZ(0);\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), transform 0.2s;\n will-change: transform;\n}\n.mdui-fab.mdui-fab-hide,\n.mdui-fab-mini.mdui-fab-hide,\n.mdui-fab-wrapper.mdui-fab-hide {\n transform: scale(0) translateZ(0);\n}\n/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n.mdui-select {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n max-width: 100%;\n height: 36px;\n padding-right: 24px;\n padding-left: 0;\n font-size: 16px;\n font-family: Roboto, Noto, Helvetica, Arial, sans-serif;\n vertical-align: middle;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' opacity='.54'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right center;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n outline: none;\n cursor: pointer;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.2s;\n transition-property: background-color, box-shadow, background-position-x;\n appearance: none;\n user-select: none;\n will-change: background-color, box-shadow, background-position-x;\n}\n.mdui-select.mdui-select-open {\n border-bottom: none;\n}\n.mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' opacity='.54'/%3E%3C/svg%3E\");\n}\n/* 底部和顶部菜单的样式 */\n.mdui-select-open.mdui-select-position-top,\n.mdui-select-open.mdui-select-position-bottom {\n z-index: 99999;\n background-color: #fff;\n /* stylelint-disable-next-line */\n background-position-x: calc(100% - 12px);\n border-radius: 2px;\n}\n.mdui-select-open.mdui-select-position-top {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 2px solid transparent;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n box-shadow: 0 10px 10px -3px rgba(0, 0, 0, 0.2), 0 0 14px 1px rgba(0, 0, 0, 0.14), 0 -7px 24px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-top .mdui-select-menu {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n box-shadow: 0 -4px 4px -2px rgba(0, 0, 0, 0.06), 8px 0 8px -4px rgba(0, 0, 0, 0.12), -8px 0 8px -4px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-bottom .mdui-select-menu {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 1px rgba(0, 0, 0, 0.14), 0 8px 8px 2px rgba(0, 0, 0, 0.06);\n}\n/* 当前选中项文本 */\n.mdui-select-selected {\n position: absolute;\n top: 50%;\n right: 24px;\n left: 0;\n display: block;\n transform: translateY(-50%);\n transition: left 0.2s cubic-bezier(0, 0, 0.2, 1);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-select-open .mdui-select-selected {\n right: 32px;\n left: 16px;\n}\n.mdui-select-open.mdui-select-position-auto .mdui-select-selected {\n visibility: hidden;\n}\n/* 菜单 */\n.mdui-select-menu {\n position: relative;\n z-index: 99999;\n box-sizing: border-box;\n height: 36px;\n margin: 0 -24px 0 0;\n overflow-y: scroll;\n color: rgba(0, 0, 0, 0.87);\n background-color: #fff;\n border-radius: 2px;\n transform: scale(1, 0);\n visibility: hidden;\n cursor: default;\n opacity: 0;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.2s;\n transition-property: transform, opacity, visibility;\n will-change: transform, opacity, visibility;\n -webkit-overflow-scrolling: touch;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open .mdui-select-menu {\n overflow-y: hidden;\n transform: scale(1, 1);\n visibility: visible;\n opacity: 1;\n}\n.mdui-select-closing .mdui-select-menu {\n overflow-y: hidden;\n box-shadow: none;\n transform: scale(1, 1);\n visibility: visible;\n opacity: 0;\n}\n/* 菜单项 */\n.mdui-select-menu-item {\n height: 48px;\n padding: 0 16px;\n line-height: 48px;\n cursor: pointer;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-select-menu-item:hover {\n background-color: #EEEEEE;\n}\n.mdui-select-menu-item:first-child {\n margin-top: 8px;\n}\n.mdui-select-menu-item:last-child {\n margin-bottom: 8px;\n}\n.mdui-select-menu-item[disabled] {\n color: rgba(0, 0, 0, 0.38) !important;\n cursor: default;\n}\n.mdui-select-menu-item[disabled]:hover {\n background-color: inherit !important;\n}\n.mdui-select-menu-item[selected] {\n color: #FF4081;\n}\n/* 原生 select 组件 */\nselect.mdui-select {\n background-color: transparent;\n}\nselect.mdui-select option {\n color: rgba(0, 0, 0, 0.87);\n}\nselect.mdui-select::-ms-expand {\n display: none;\n}\n/* 原生多选 select 组件 */\nselect.mdui-select[multiple] {\n height: auto;\n padding: 0;\n font-size: 15px;\n background-color: #FFF;\n background-image: none;\n border: 1px solid rgba(0, 0, 0, 0.38);\n cursor: default;\n}\nselect.mdui-select[multiple] optgroup {\n margin: 8px 0 0 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.38);\n}\nselect.mdui-select[multiple] optgroup:last-child {\n margin-bottom: 8px;\n}\nselect.mdui-select[multiple] optgroup:not(:first-child) {\n padding-top: 8px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\nselect.mdui-select[multiple] option {\n display: flex;\n align-items: center;\n height: 32px;\n margin: 0 0 0 -16px;\n padding: 0 16px;\n color: rgba(0, 0, 0, 0.87);\n}\nselect.mdui-select[multiple] option:first-child {\n margin-top: 8px;\n}\nselect.mdui-select[multiple] option:last-child {\n margin-bottom: 8px;\n}\n/**\n * =============================================================================\n * ************ Select 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-select-menu-item[selected] {\n color: #FFC107;\n}\n.mdui-theme-accent-blue .mdui-select-menu-item[selected] {\n color: #2196F3;\n}\n.mdui-theme-accent-cyan .mdui-select-menu-item[selected] {\n color: #00BCD4;\n}\n.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected] {\n color: #FF5722;\n}\n.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected] {\n color: #673AB7;\n}\n.mdui-theme-accent-green .mdui-select-menu-item[selected] {\n color: #4CAF50;\n}\n.mdui-theme-accent-indigo .mdui-select-menu-item[selected] {\n color: #3F51B5;\n}\n.mdui-theme-accent-light-blue .mdui-select-menu-item[selected] {\n color: #03A9F4;\n}\n.mdui-theme-accent-light-green .mdui-select-menu-item[selected] {\n color: #8BC34A;\n}\n.mdui-theme-accent-lime .mdui-select-menu-item[selected] {\n color: #CDDC39;\n}\n.mdui-theme-accent-orange .mdui-select-menu-item[selected] {\n color: #FF9800;\n}\n.mdui-theme-accent-pink .mdui-select-menu-item[selected] {\n color: #E91E63;\n}\n.mdui-theme-accent-purple .mdui-select-menu-item[selected] {\n color: #9C27B0;\n}\n.mdui-theme-accent-red .mdui-select-menu-item[selected] {\n color: #F44336;\n}\n.mdui-theme-accent-teal .mdui-select-menu-item[selected] {\n color: #009688;\n}\n.mdui-theme-accent-yellow .mdui-select-menu-item[selected] {\n color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Select dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-select {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E\");\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E\");\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top,\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom {\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-menu {\n color: #fff;\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-select-menu-item:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-select-menu-item[disabled] {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark select.mdui-select {\n color: #FFF;\n background-color: #303030;\n}\n.mdui-theme-layout-dark select.mdui-select option {\n color: #FFF;\n background-color: #303030;\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] optgroup {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-select {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E\");\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E\");\n }\n .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-top,\n .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-bottom {\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-select-menu {\n color: #fff;\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-select-menu-item:hover {\n background-color: #616161;\n }\n .mdui-theme-layout-auto .mdui-select-menu-item[disabled] {\n color: rgba(255, 255, 255, 0.5) !important;\n }\n .mdui-theme-layout-auto select.mdui-select {\n color: #FFF;\n background-color: #303030;\n }\n .mdui-theme-layout-auto select.mdui-select option {\n color: #FFF;\n background-color: #303030;\n }\n .mdui-theme-layout-auto select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto select.mdui-select[multiple] optgroup {\n color: rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto select.mdui-select[multiple] optgroup:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n}\n/**\n * =============================================================================\n * ************ Toolbar 工具栏 ************\n * =============================================================================\n */\n.mdui-toolbar {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n}\n.mdui-toolbar > * {\n margin: 0 16px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-toolbar[class*=\"mdui-color-\"]:not(.mdui-color-transparent) .mdui-btn:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mdui-toolbar[class*=\"mdui-color-\"]:not(.mdui-color-transparent) .mdui-btn:active {\n background-color: rgba(255, 255, 255, 0.165);\n}\n.mdui-toolbar > a {\n color: inherit;\n text-decoration: none;\n user-select: none;\n}\n.mdui-toolbar > .mdui-btn-icon {\n width: 48px;\n min-width: 48px;\n height: 48px;\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-toolbar > .mdui-btn-icon {\n width: 40px;\n min-width: 40px;\n height: 40px;\n }\n}\n.mdui-toolbar > .mdui-btn-icon .mdui-icon {\n height: 24px;\n line-height: 24px;\n}\n.mdui-toolbar .mdui-icon {\n color: inherit;\n}\n.mdui-toolbar-spacer {\n flex-grow: 1;\n margin: 0;\n}\n/* 手机 */\n.mdui-toolbar {\n height: 56px;\n line-height: 56px;\n}\n.mdui-toolbar > .mdui-btn {\n margin: 0 4px;\n}\n.mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n}\n@media (min-width: 600px) {\n .mdui-appbar .mdui-toolbar {\n height: 64px;\n line-height: 64px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn {\n margin: 0 8px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-appbar .mdui-toolbar {\n height: 48px;\n line-height: 48px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn {\n margin: 0 4px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n }\n}\n/**\n * =============================================================================\n * ************ Appbar 应用栏 ************\n * =============================================================================\n */\n.mdui-appbar {\n z-index: 1000;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n/* appbar 固定在顶部 */\n.mdui-appbar-fixed {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.3s;\n transition-property: left, right;\n will-change: left, right;\n}\n/* 左侧留出抽屉栏的距离 */\n@media (min-width: 1024px) {\n .mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed {\n left: 240px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed {\n right: 240px;\n }\n}\n/* 含工具栏 */\n.mdui-appbar-with-toolbar {\n padding-top: 56px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar {\n padding-top: 64px;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-appbar-with-toolbar {\n padding-top: 48px;\n }\n}\n/* 含 Tab */\n.mdui-appbar-with-tab {\n padding-top: 48px;\n}\n/* 含大 Tab */\n.mdui-appbar-with-tab-larger {\n padding-top: 72px;\n}\n/* 含工具栏和 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 104px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 112px;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 96px;\n }\n}\n/* 含工具栏和大 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 128px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 136px;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 120px;\n }\n}\n/**\n * =============================================================================\n * ************ Appbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-appbar > [class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n color: #fff !important;\n background-color: #212121 !important;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-appbar > [class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n color: #fff !important;\n background-color: #212121 !important;\n }\n}\n/**\n * =============================================================================\n * ************ Card 卡片 ************\n * =============================================================================\n */\n/* 卡片 */\n.mdui-card {\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n border-radius: 2px;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n/**\n * ===================== 头部,包含头像、标题、副标题\n */\n.mdui-card-header {\n position: relative;\n box-sizing: border-box;\n height: 72px;\n padding: 16px;\n}\n/* 卡片头部头像 */\n.mdui-card-header-avatar {\n float: left;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n}\n/* 卡片头部标题 */\n.mdui-card-header-title {\n display: block;\n margin-left: 52px;\n font-weight: 500;\n font-size: 16px;\n line-height: 20px;\n opacity: 0.87;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/* 卡片头部副标题 */\n.mdui-card-header-subtitle {\n display: block;\n margin-left: 52px;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n opacity: 0.54;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/**\n * =========================== 主标题区域\n */\n.mdui-card-primary {\n position: relative;\n padding: 24px 16px 16px 16px;\n}\n/* 主标题区域标题 */\n.mdui-card-primary-title {\n display: block;\n font-size: 24px;\n line-height: 36px;\n opacity: 0.87;\n}\n/* 主标题区域副标题 */\n.mdui-card-primary-subtitle {\n display: block;\n font-size: 14px;\n line-height: 24px;\n opacity: 0.54;\n}\n/**\n * ============================ 内容区域\n */\n.mdui-card-content {\n position: relative;\n padding: 16px;\n font-size: 14px;\n line-height: 24px;\n}\n/**\n * ============================ 卡片菜单\n */\n.mdui-card-menu {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n}\n.mdui-card-menu .mdui-btn {\n margin-left: 8px;\n}\n/**\n * =========================== 按钮区域\n */\n.mdui-card-actions {\n position: relative;\n box-sizing: border-box;\n padding: 8px;\n}\n.mdui-card-actions::before,\n.mdui-card-actions::after {\n display: table;\n content: ' ';\n}\n.mdui-card-actions::after {\n clear: both;\n}\n.mdui-card-actions::before,\n.mdui-card-actions::after {\n display: table;\n content: ' ';\n}\n.mdui-card-actions::after {\n clear: both;\n}\n.mdui-card-actions .mdui-btn {\n max-width: 100%;\n margin: 0 8px 0 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-card-actions .mdui-btn-icon {\n width: 36px;\n height: 36px;\n margin: 0 8px;\n}\n/* 使按钮竖向排列 */\n.mdui-card-actions-stacked .mdui-btn {\n display: block;\n margin: 0 0 4px 0;\n}\n.mdui-card-actions-stacked .mdui-btn:last-child {\n margin: 0;\n}\n/**\n * ============================= 媒体元素区域\n */\n.mdui-card-media {\n position: relative;\n}\n.mdui-card-media img,\n.mdui-card-media video {\n display: block;\n width: 100%;\n}\n/* 覆盖在媒体元素上的内容 */\n.mdui-card-media-covered {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n /* 覆盖在媒体元素上的标题 */\n}\n.mdui-card-media-covered .mdui-card-primary-title {\n opacity: 1;\n}\n.mdui-card-media-covered .mdui-card-primary-subtitle {\n opacity: 0.7;\n}\n/* 覆盖在媒体元素顶部 */\n.mdui-card-media-covered-top {\n top: 0;\n bottom: auto;\n}\n/* 覆盖层透明 */\n.mdui-card-media-covered-transparent {\n background: transparent;\n}\n/* 覆盖层渐变 */\n.mdui-card-media-covered-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n.mdui-card-media-covered-gradient.mdui-card-media-covered-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n/**\n * =============================================================================\n * ************ Card dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-card {\n color: #fff;\n background-color: #424242;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-card {\n color: #fff;\n background-color: #424242;\n }\n}\n/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n *\n * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分\n */\n/* 选项卡,默认的选项卡为全宽 */\n.mdui-tab {\n position: relative;\n display: flex;\n min-height: 48px;\n max-height: 72px;\n margin: 0 auto;\n padding: 0;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n}\n.mdui-tab a {\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 72px;\n min-height: 48px;\n max-height: 72px;\n padding: 12px;\n overflow: hidden;\n color: inherit;\n font-size: 14px;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n text-overflow: ellipsis;\n outline: none;\n cursor: pointer;\n opacity: 0.7;\n user-select: none;\n}\n.mdui-tab a .mdui-icon {\n opacity: 0.7;\n}\n@media (min-width: 600px) {\n .mdui-tab a {\n flex: none;\n min-width: 99px;\n max-width: 264px;\n padding: 12px 24px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-tab a {\n min-width: 112px;\n }\n}\n@media (min-width: 1440px) {\n .mdui-tab a {\n min-width: 136px;\n }\n}\n@media (min-width: 1920px) {\n .mdui-tab a {\n min-width: 160px;\n }\n}\n.mdui-tab a label {\n display: block;\n width: 100%;\n cursor: pointer;\n}\n.mdui-tab a .mdui-icon + label {\n margin-top: 8px;\n}\n.mdui-tab a[disabled] {\n cursor: default;\n opacity: 0.38;\n}\n.mdui-tab a[disabled] label {\n cursor: default;\n}\n.mdui-tab .mdui-tab-active {\n color: #3F51B5;\n opacity: 1;\n}\n.mdui-tab .mdui-tab-active .mdui-icon {\n opacity: 1;\n}\n/* 选项卡居中 */\n@media (min-width: 600px) {\n .mdui-tab-centered::before {\n flex-grow: 1;\n content: ' ';\n }\n .mdui-tab-centered::after {\n flex-grow: 1;\n content: ' ';\n }\n .mdui-tab-centered a {\n flex: none;\n }\n}\n/* 选项卡始终全宽等分 */\n.mdui-tab-full-width a {\n flex: 1;\n max-width: none;\n}\n/* 可横向滚动的选项卡 */\n.mdui-tab-scrollable {\n padding-left: 56px;\n}\n.mdui-tab-scrollable a {\n flex: none;\n}\n@media (max-width: 599.9px) {\n .mdui-tab-scrollable {\n padding-left: 60px;\n }\n}\n/* 下划线指示器 */\n.mdui-tab-indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: #3F51B5;\n transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: left, width;\n}\n/**\n * =============================================================================\n * ************ Tab 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-tab .mdui-tab-active {\n color: #FFC107;\n}\n.mdui-theme-primary-amber .mdui-tab-indicator {\n background-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-tab .mdui-tab-active {\n color: #2196F3;\n}\n.mdui-theme-primary-blue .mdui-tab-indicator {\n background-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active {\n color: #607D8B;\n}\n.mdui-theme-primary-blue-grey .mdui-tab-indicator {\n background-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-tab .mdui-tab-active {\n color: #795548;\n}\n.mdui-theme-primary-brown .mdui-tab-indicator {\n background-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active {\n color: #00BCD4;\n}\n.mdui-theme-primary-cyan .mdui-tab-indicator {\n background-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active {\n color: #FF5722;\n}\n.mdui-theme-primary-deep-orange .mdui-tab-indicator {\n background-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active {\n color: #673AB7;\n}\n.mdui-theme-primary-deep-purple .mdui-tab-indicator {\n background-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-tab .mdui-tab-active {\n color: #4CAF50;\n}\n.mdui-theme-primary-green .mdui-tab-indicator {\n background-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-tab .mdui-tab-active {\n color: #9E9E9E;\n}\n.mdui-theme-primary-grey .mdui-tab-indicator {\n background-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active {\n color: #3F51B5;\n}\n.mdui-theme-primary-indigo .mdui-tab-indicator {\n background-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active {\n color: #03A9F4;\n}\n.mdui-theme-primary-light-blue .mdui-tab-indicator {\n background-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active {\n color: #8BC34A;\n}\n.mdui-theme-primary-light-green .mdui-tab-indicator {\n background-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-tab .mdui-tab-active {\n color: #CDDC39;\n}\n.mdui-theme-primary-lime .mdui-tab-indicator {\n background-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-tab .mdui-tab-active {\n color: #FF9800;\n}\n.mdui-theme-primary-orange .mdui-tab-indicator {\n background-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-tab .mdui-tab-active {\n color: #E91E63;\n}\n.mdui-theme-primary-pink .mdui-tab-indicator {\n background-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-tab .mdui-tab-active {\n color: #9C27B0;\n}\n.mdui-theme-primary-purple .mdui-tab-indicator {\n background-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-tab .mdui-tab-active {\n color: #F44336;\n}\n.mdui-theme-primary-red .mdui-tab-indicator {\n background-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-tab .mdui-tab-active {\n color: #009688;\n}\n.mdui-theme-primary-teal .mdui-tab-indicator {\n background-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active {\n color: #FFEB3B;\n}\n.mdui-theme-primary-yellow .mdui-tab-indicator {\n background-color: #FFEB3B;\n}\n/* 带背景色的选项卡 */\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) .mdui-tab-active {\n color: inherit;\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) .mdui-tab-indicator {\n background-color: #FFFFFF;\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n}\n@media (min-width: 1024px) {\n .mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n}\n/**\n * =============================================================================\n * ************ Subheader 副标题 ************\n * =============================================================================\n *\n * 用于 List 和 Grid list 组件\n */\n.mdui-subheader,\n.mdui-subheader-inset {\n position: relative;\n box-sizing: border-box;\n height: 48px;\n padding-right: 16px;\n padding-left: 16px;\n color: rgba(0, 0, 0, 0.54);\n font-weight: 500;\n font-size: 14px;\n line-height: 48px;\n cursor: default;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-subheader-inset {\n padding-left: 72px;\n}\n/**\n * =============================================================================\n * ************ Subheader dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-subheader,\n.mdui-theme-layout-dark .mdui-subheader-inset {\n color: rgba(255, 255, 255, 0.7);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-subheader,\n .mdui-theme-layout-auto .mdui-subheader-inset {\n color: rgba(255, 255, 255, 0.7);\n }\n}\n/**\n * =============================================================================\n * ************ Grid List 网格列表 ************\n * =============================================================================\n */\n/* 调整网格边距 */\n.mdui-grid-list {\n margin: 0 -2px;\n}\n.mdui-grid-list .mdui-col,\n.mdui-grid-list [class*=\"mdui-col-xs-\"],\n.mdui-grid-list [class*=\"mdui-col-sm-\"],\n.mdui-grid-list [class*=\"mdui-col-md-\"],\n.mdui-grid-list [class*=\"mdui-col-lg-\"],\n.mdui-grid-list [class*=\"mdui-col-xl-\"] {\n padding-right: 2px;\n padding-left: 2px;\n}\n/* 单元格 */\n.mdui-grid-tile {\n position: relative;\n box-sizing: border-box;\n margin-bottom: 4px;\n overflow: hidden;\n}\n.mdui-grid-tile img {\n display: block;\n width: 100%;\n}\n/* 操作栏 */\n.mdui-grid-tile-actions {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n max-height: 68px;\n padding: 16px;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n}\n.mdui-grid-tile-actions .mdui-icon {\n color: #fff;\n}\n/* 操作栏内的文本 */\n.mdui-grid-tile-text {\n flex: 1;\n overflow: hidden;\n}\n/* 标题 */\n.mdui-grid-tile-title {\n height: 16px;\n font-size: 16px;\n line-height: 16px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-grid-tile-title .mdui-icon {\n margin-right: 8px;\n}\n/* 副标题 */\n.mdui-grid-tile-subtitle {\n height: 18px;\n margin-top: 4px;\n font-size: 12px;\n line-height: 18px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-grid-tile-subtitle .mdui-icon {\n margin-right: 8px;\n font-size: 18px;\n}\n/* 操作栏内的按钮 */\n.mdui-grid-tile-buttons {\n flex: none;\n margin: -8px;\n white-space: nowrap;\n}\n.mdui-grid-tile-buttons .mdui-btn {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons .mdui-btn:first-child {\n margin-left: 0;\n}\n.mdui-grid-tile-text + .mdui-grid-tile-buttons {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons + .mdui-grid-tile-text {\n margin-left: 16px;\n}\n/* 操作栏位于顶部 */\n.mdui-grid-tile-actions-top {\n top: 0;\n bottom: auto;\n}\n/* 操作栏背景透明 */\n.mdui-grid-tile-actions-transparent {\n background: transparent;\n}\n/* 操作栏背景渐变 */\n.mdui-grid-tile-actions-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n/**\n * =============================================================================\n * ************ List 列表 ************\n * =============================================================================\n */\n/* 列表 */\n.mdui-list {\n margin: 0;\n padding: 8px 0;\n list-style: none;\n background-color: transparent;\n}\n.mdui-list .mdui-list {\n padding: 0;\n}\n.mdui-list > .mdui-divider,\n.mdui-list > .mdui-divider-light,\n.mdui-list > .mdui-divider-dark,\n.mdui-list > .mdui-divider-inset,\n.mdui-list > .mdui-divider-inset-light,\n.mdui-list > .mdui-divider-inset-dark {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.mdui-list a {\n color: inherit;\n text-decoration: none;\n}\n.mdui-list .mdui-subheader,\n.mdui-list .mdui-subheader-inset {\n margin-top: 8px;\n}\n.mdui-list .mdui-subheader::before,\n.mdui-list .mdui-subheader-inset::before {\n position: absolute;\n right: 0;\n left: 0;\n display: block;\n height: 1px;\n background-color: rgba(0, 0, 0, 0.12);\n content: ' ';\n}\n.mdui-list .mdui-subheader:first-child,\n.mdui-list .mdui-subheader-inset:first-child {\n margin-top: -8px;\n}\n.mdui-list .mdui-subheader:first-child::before,\n.mdui-list .mdui-subheader-inset:first-child::before {\n background-color: transparent;\n}\n.mdui-list .mdui-subheader-inset::before {\n left: 72px;\n}\n/* 列表项 */\n.mdui-list-item {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n padding: 0 16px;\n text-decoration: none;\n cursor: pointer;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-list-item:hover {\n background-color: rgba(0, 0, 0, 0.08);\n}\n.mdui-list-item::after {\n height: 48px;\n visibility: hidden;\n content: ' ';\n}\n/* 列表项图标 */\n.mdui-list-item-icon {\n width: 24px;\n min-width: 24px;\n height: 24px;\n color: rgba(0, 0, 0, 0.54);\n}\n/* 列表项头像 */\n.mdui-list-item-avatar {\n min-width: 40px;\n max-width: 40px;\n height: 40px;\n margin-top: 8px;\n margin-bottom: 8px;\n color: #FFFFFF;\n line-height: 40px;\n text-align: center;\n background-color: #BDBDBD;\n border-radius: 50%;\n}\n.mdui-list-item-avatar img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n}\n/* 列表项内容 */\n.mdui-list-item-content {\n flex-grow: 1;\n padding-top: 14px;\n padding-bottom: 14px;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n}\n/* 列表项内容的副内容 */\n.mdui-list-item-text {\n font-size: 14px;\n opacity: 0.54;\n}\n.mdui-list-item-title ~ .mdui-list-item-text {\n margin-top: 4px;\n}\n/* 激活状态的列表项 */\n.mdui-list-item-active {\n font-weight: 700;\n background-color: rgba(0, 0, 0, 0.08);\n}\n.mdui-list-item-active .mdui-list-item-content {\n font-weight: 700;\n}\n.mdui-list-item-active .mdui-list-item-text {\n font-weight: 400;\n}\n/* 限制文本高度 */\n.mdui-list-item-one-line,\n.mdui-list-item-two-line,\n.mdui-list-item-three-line {\n display: -webkit-box;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n}\n.mdui-list-item-one-line {\n -webkit-line-clamp: 1;\n height: 20px;\n}\n.mdui-list-item-two-line {\n -webkit-line-clamp: 2;\n height: 40px;\n}\n.mdui-list-item-three-line {\n -webkit-line-clamp: 3;\n height: 60px;\n}\n/* 列表项内的元素间添加间距 */\n.mdui-list-item-icon ~ .mdui-list-item-content {\n margin-left: 32px;\n}\n.mdui-checkbox ~ .mdui-list-item-content,\n.mdui-radio ~ .mdui-list-item-content,\n.mdui-switch ~ .mdui-list-item-content {\n margin-left: 20px;\n}\n.mdui-list-item-avatar ~ .mdui-list-item-content {\n margin-left: 16px;\n}\n.mdui-list-item-content ~ .mdui-list-item-icon,\n.mdui-list-item-content ~ .mdui-list-item-avatar,\n.mdui-list-item-content ~ .mdui-checkbox,\n.mdui-list-item-content ~ .mdui-radio,\n.mdui-list-item-content ~ .mdui-switch {\n margin-left: 16px;\n}\n.mdui-list-item-content ~ .mdui-checkbox,\n.mdui-list-item-content ~ .mdui-radio {\n padding-left: 24px;\n}\n/* 密集型列表 */\n.mdui-list-dense {\n padding: 4px 0;\n font-size: 13px;\n}\n.mdui-list-dense > .mdui-divider,\n.mdui-list-dense > .mdui-divider-light,\n.mdui-list-dense > .mdui-divider-dark,\n.mdui-list-dense > .mdui-divider-inset,\n.mdui-list-dense > .mdui-divider-inset-light,\n.mdui-list-dense > .mdui-divider-inset-dark {\n margin-top: 4px;\n margin-bottom: 4px;\n}\n.mdui-list-dense .mdui-subheader,\n.mdui-list-dense .mdui-subheader-inset {\n height: 40px;\n margin-top: 4px;\n font-size: 12px;\n line-height: 40px;\n}\n.mdui-list-dense .mdui-subheader:first-child,\n.mdui-list-dense .mdui-subheader-inset:first-child {\n margin-top: -4px;\n}\n.mdui-list-dense .mdui-list-item {\n min-height: 40px;\n}\n.mdui-list-dense .mdui-list-item::after {\n height: 40px;\n}\n.mdui-list-dense .mdui-list-item-icon {\n width: 20px;\n height: 20px;\n font-size: 20px;\n}\n.mdui-list-dense .mdui-list-item-avatar {\n width: 36px;\n min-width: 36px;\n height: 36px;\n min-height: 36px;\n}\n.mdui-list-dense .mdui-list-item-content {\n padding-top: 11px;\n padding-bottom: 11px;\n font-size: 13px;\n line-height: 18px;\n}\n.mdui-list-dense .mdui-list-item-text {\n font-size: 13px;\n}\n.mdui-list-dense .mdui-list-item-title ~ .mdui-list-item-text {\n margin-top: 2px;\n}\n.mdui-list-dense .mdui-list-item-one-line {\n height: 18px;\n}\n.mdui-list-dense .mdui-list-item-two-line {\n height: 36px;\n}\n.mdui-list-dense .mdui-list-item-three-line {\n height: 54px;\n}\n/**\n * =============================================================================\n * ************ List dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-list .mdui-subheader::before,\n.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset::before {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child::before,\n.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child::before {\n background-color: transparent;\n}\n.mdui-theme-layout-dark .mdui-list-item {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-list-item:hover {\n background-color: rgba(255, 255, 255, 0.08);\n}\n.mdui-theme-layout-dark .mdui-list-item-icon {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-list-item-text {\n opacity: 0.7;\n}\n.mdui-theme-layout-dark .mdui-list-item-active {\n background-color: rgba(255, 255, 255, 0.08);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-list .mdui-subheader::before,\n .mdui-theme-layout-auto .mdui-list .mdui-subheader-inset::before {\n background-color: rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-list .mdui-subheader:first-child::before,\n .mdui-theme-layout-auto .mdui-list .mdui-subheader-inset:first-child::before {\n background-color: transparent;\n }\n .mdui-theme-layout-auto .mdui-list-item {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-list-item:hover {\n background-color: rgba(255, 255, 255, 0.08);\n }\n .mdui-theme-layout-auto .mdui-list-item-icon {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-list-item-text {\n opacity: 0.7;\n }\n .mdui-theme-layout-auto .mdui-list-item-active {\n background-color: rgba(255, 255, 255, 0.08);\n }\n}\n/**\n * ==============================================================================\n * ************ List inner theme ************\n * ==============================================================================\n */\n[class*=\"mdui-color-\"] .mdui-list-item {\n color: inherit;\n}\n[class*=\"mdui-color-\"] .mdui-list-item-icon {\n color: inherit;\n}\n/**\n * =============================================================================\n * ************ Drawer 抽屉栏导航 ************\n * =============================================================================\n */\n/* DOM 加载完后再添加 transition */\nbody.mdui-loaded {\n transition: padding 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\nbody.mdui-loaded .mdui-drawer {\n transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\n/* 抽屉栏外层,默认出现在左侧且隐藏 */\n.mdui-drawer {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 5000;\n box-sizing: border-box;\n /* stylelint-disable-next-line */\n width: calc(100% - 56px);\n max-width: 280px;\n margin: 0;\n overflow-x: hidden;\n overflow-y: auto;\n white-space: nowrap;\n will-change: transform;\n -webkit-overflow-scrolling: touch;\n}\n@media (max-width: 1023.9px) {\n .mdui-drawer:not(.mdui-drawer-open) {\n box-shadow: none !important;\n }\n}\n@media (min-width: 600px) {\n .mdui-drawer {\n /* stylelint-disable-next-line */\n width: calc(100% - 64px);\n max-width: 320px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer {\n width: 240px;\n max-width: none;\n }\n .mdui-drawer.mdui-drawer-close {\n box-shadow: none !important;\n }\n}\n/* 出现在右侧的抽屉栏 */\n.mdui-drawer-right {\n right: 0;\n left: auto;\n}\n/* 平板上的样式 */\n@media (max-width: 1023.9px) {\n .mdui-drawer {\n /* 始终有背景和阴影 */\n background-color: #fff;\n /* 默认隐藏 */\n transform: translateX(-330px);\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n }\n .mdui-drawer-right {\n /* 右侧 drawer 也默认隐藏 */\n transform: translateX(330px);\n }\n}\n/* 手机上的样式 */\n@media (max-width: 599.9px) {\n .mdui-drawer {\n transform: translateX(-290px);\n }\n .mdui-drawer-right {\n transform: translateX(290px);\n }\n}\n/* 强制隐藏抽屉栏 */\n.mdui-drawer-close {\n transform: translateX(-290px);\n}\n.mdui-drawer-close.mdui-drawer-right {\n transform: translateX(290px);\n}\n@media (min-width: 600px) {\n .mdui-drawer-close {\n transform: translateX(-330px);\n }\n .mdui-drawer-close.mdui-drawer-right {\n transform: translateX(330px);\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer-close {\n transform: translateX(-250px);\n }\n .mdui-drawer-close.mdui-drawer-right {\n transform: translateX(250px);\n }\n}\n/* 强制显示抽屉栏 */\n.mdui-drawer-open {\n transform: translateX(0) !important;\n}\n/* PC 上的样式 */\n@media (min-width: 1024px) {\n /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */\n .mdui-drawer-body-left {\n padding-left: 240px;\n }\n .mdui-drawer-body-right {\n padding-right: 240px;\n }\n /* PC 上默认有上边距 */\n .mdui-appbar-with-toolbar .mdui-drawer {\n top: 64px;\n }\n .mdui-appbar-with-tab .mdui-drawer {\n top: 48px;\n }\n .mdui-appbar-with-tab-larger .mdui-drawer {\n top: 72px;\n }\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer {\n top: 112px;\n }\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer {\n top: 136px;\n }\n}\n/* 抽屉栏不是透明时添加阴影 */\n.mdui-drawer[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n/* 抽屉栏 100% 高度,覆盖在导航栏上面 */\n.mdui-drawer-full-height {\n top: 0 !important;\n}\n/**\n * =============================================================================\n * ************ Drawer dark ************\n * =============================================================================\n */\n@media (max-width: 1023.9px) {\n .mdui-theme-layout-dark .mdui-drawer {\n background-color: #424242;\n }\n}\n@media (prefers-color-scheme: dark) and (max-width: 1023.9px) {\n .mdui-theme-layout-auto .mdui-drawer {\n background-color: #424242;\n }\n}\n/**\n * =============================================================================\n * ************ Dialog 提示框 ************\n * =============================================================================\n */\n.mdui-dialog {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 6000;\n display: none;\n box-sizing: border-box;\n width: 92%;\n min-width: 180px;\n max-width: 728px;\n max-height: 90%;\n margin: auto;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(0.95);\n opacity: 0;\n transition-duration: 0.3s;\n transition-property: transform, opacity, visibility;\n will-change: top, opacity, transform;\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n@media (min-width: 600px) {\n .mdui-dialog {\n width: 85%;\n max-height: 85%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-dialog {\n width: 80%;\n max-height: 80%;\n }\n}\n/* 打开提示框 */\n.mdui-dialog-open {\n transform: scale(1);\n opacity: 1;\n}\n/* 提示框标题 */\n.mdui-dialog-title {\n box-sizing: border-box;\n font-weight: 500;\n font-size: 20px;\n line-height: 24px;\n text-align: left;\n}\n/* 标题固定在顶部 */\n.mdui-dialog > .mdui-dialog-title {\n padding: 24px 24px 20px 24px;\n}\n/* 提示框内容 */\n.mdui-dialog-content {\n box-sizing: border-box;\n padding: 24px;\n overflow-y: auto;\n color: rgba(0, 0, 0, 0.7);\n font-size: 15px;\n line-height: 1.5;\n -webkit-overflow-scrolling: touch;\n}\n/* 标题随内容滚动 */\n.mdui-dialog-content > .mdui-dialog-title {\n padding-bottom: 20px;\n}\n.mdui-dialog-title + .mdui-dialog-content {\n padding-top: 0;\n}\n/* 提示框底部按钮 */\n.mdui-dialog-actions {\n box-sizing: border-box;\n padding: 8px;\n text-align: right;\n}\n.mdui-dialog-actions .mdui-btn {\n min-width: 64px;\n margin-left: 8px;\n color: #E91E63;\n}\n.mdui-dialog-actions .mdui-btn:first-child {\n margin-left: 0;\n}\n/* 底部按钮滚随内容动 */\n.mdui-dialog-content > .mdui-dialog-actions {\n margin: 0 -24px -24px -24px;\n padding-top: 32px;\n}\n/* 使提示框底部按钮竖排 */\n.mdui-dialog-actions-stacked {\n padding: 8px 0 8px 0;\n}\n.mdui-dialog-actions-stacked .mdui-btn {\n width: 100%;\n height: 48px;\n margin: 0;\n line-height: 48px !important;\n text-align: right;\n border-radius: 0;\n}\n/**\n * =============================================================================\n * ************ Dialog 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn {\n color: #FFC107;\n}\n.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn {\n color: #2196F3;\n}\n.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn {\n color: #00BCD4;\n}\n.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn {\n color: #FF5722;\n}\n.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn {\n color: #673AB7;\n}\n.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn {\n color: #4CAF50;\n}\n.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn {\n color: #3F51B5;\n}\n.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn {\n color: #03A9F4;\n}\n.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn {\n color: #8BC34A;\n}\n.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn {\n color: #CDDC39;\n}\n.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn {\n color: #FF9800;\n}\n.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn {\n color: #E91E63;\n}\n.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn {\n color: #9C27B0;\n}\n.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn {\n color: #F44336;\n}\n.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn {\n color: #009688;\n}\n.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn {\n color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Dialog dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-dialog {\n color: #fff;\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-dialog {\n color: #fff;\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n }\n}\n/**\n * =============================================================================\n * ************ Dialog alert ************\n * =============================================================================\n */\n.mdui-dialog-alert {\n max-width: 448px;\n}\n/**\n * =============================================================================\n * ************ Dialog confirm ************\n * =============================================================================\n */\n.mdui-dialog-confirm {\n max-width: 448px;\n}\n/**\n * =============================================================================\n * ************ Dialog prompt ************\n * =============================================================================\n */\n.mdui-dialog-prompt {\n max-width: 448px;\n}\n.mdui-dialog-prompt .mdui-textfield {\n padding-top: 0;\n}\n/**\n * =============================================================================\n * ************ Tooltip 工具提示 ************\n * =============================================================================\n */\n.mdui-tooltip {\n position: absolute;\n z-index: 9000;\n display: inline-block;\n box-sizing: border-box;\n max-width: 180px;\n min-height: 32px;\n padding: 8px 16px;\n color: #fff;\n font-weight: 500;\n font-size: 14px;\n line-height: 22px;\n text-align: left;\n background-color: rgba(97, 97, 97, 0.9);\n border-radius: 2px;\n transform: scale(0);\n opacity: 0;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.15s;\n transition-property: opacity, transform;\n will-change: opacity, transform;\n}\n@media (min-width: 1024px) {\n .mdui-tooltip {\n max-width: 200px;\n min-height: 24px;\n padding: 4px 8px;\n font-size: 12px;\n line-height: 18px;\n }\n}\n/* 显示工具提示 */\n.mdui-tooltip-open {\n transform: scale(1);\n opacity: 1;\n}\n/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n.mdui-snackbar {\n position: fixed;\n z-index: 7000;\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n width: 100%;\n min-height: 48px;\n padding: 0 24px 0 24px;\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n background-color: #323232;\n will-change: transform;\n}\n@media (min-width: 600px) {\n .mdui-snackbar {\n width: auto;\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n }\n}\n.mdui-snackbar-bottom,\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-top,\n.mdui-snackbar-right-bottom {\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 位置 */\n.mdui-snackbar-bottom,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-bottom {\n bottom: 0;\n}\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-right-top {\n top: 0;\n}\n.mdui-snackbar-top,\n.mdui-snackbar-bottom {\n left: 50%;\n}\n@media (min-width: 600px) {\n .mdui-snackbar-left-top {\n top: 24px;\n left: 24px;\n }\n .mdui-snackbar-left-bottom {\n bottom: 24px;\n left: 24px;\n }\n .mdui-snackbar-right-top {\n top: 24px;\n right: 24px;\n }\n .mdui-snackbar-right-bottom {\n right: 24px;\n bottom: 24px;\n }\n}\n/* 文本 */\n.mdui-snackbar-text {\n position: relative;\n max-width: 100%;\n padding: 14px 0 14px 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n/* 按钮 */\n.mdui-snackbar-action {\n margin-right: -16px;\n white-space: nowrap;\n color: #FF80AB;\n}\n/**\n * =============================================================================\n * ************ Snackbar 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-snackbar-action {\n color: #FFE57F;\n}\n.mdui-theme-accent-blue .mdui-snackbar-action {\n color: #82B1FF;\n}\n.mdui-theme-accent-cyan .mdui-snackbar-action {\n color: #84FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-snackbar-action {\n color: #FF9E80;\n}\n.mdui-theme-accent-deep-purple .mdui-snackbar-action {\n color: #B388FF;\n}\n.mdui-theme-accent-green .mdui-snackbar-action {\n color: #B9F6CA;\n}\n.mdui-theme-accent-indigo .mdui-snackbar-action {\n color: #8C9EFF;\n}\n.mdui-theme-accent-light-blue .mdui-snackbar-action {\n color: #80D8FF;\n}\n.mdui-theme-accent-light-green .mdui-snackbar-action {\n color: #CCFF90;\n}\n.mdui-theme-accent-lime .mdui-snackbar-action {\n color: #F4FF81;\n}\n.mdui-theme-accent-orange .mdui-snackbar-action {\n color: #FFD180;\n}\n.mdui-theme-accent-pink .mdui-snackbar-action {\n color: #FF80AB;\n}\n.mdui-theme-accent-purple .mdui-snackbar-action {\n color: #EA80FC;\n}\n.mdui-theme-accent-red .mdui-snackbar-action {\n color: #FF8A80;\n}\n.mdui-theme-accent-teal .mdui-snackbar-action {\n color: #A7FFEB;\n}\n.mdui-theme-accent-yellow .mdui-snackbar-action {\n color: #FFFF8D;\n}\n/**\n * =============================================================================\n * ************ Snackbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-snackbar {\n background-color: #5d5d5d;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-snackbar {\n background-color: #5d5d5d;\n }\n}\n/**\n * =============================================================================\n * ************ Chip 纸片 ************\n * =============================================================================\n */\n.mdui-chip {\n display: inline-block;\n box-sizing: border-box;\n height: 32px;\n margin: 2px 0;\n color: inherit;\n white-space: nowrap;\n background-color: #e0e0e0;\n border-radius: 16px;\n cursor: pointer;\n user-select: none;\n transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: box-shadow;\n}\n.mdui-chip:hover,\n.mdui-chip:focus {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-chip:active {\n background-color: #d6d6d6;\n}\n/* 左侧的图标 */\n.mdui-chip-icon {\n position: relative;\n display: inline-block;\n width: 32px;\n height: 32px;\n margin-right: -4px;\n overflow: hidden;\n color: #fff;\n font-size: 18px;\n line-height: 32px;\n text-align: center;\n vertical-align: middle;\n background-color: #989898;\n border-radius: 50%;\n}\n.mdui-chip-icon .mdui-icon {\n position: absolute;\n top: 4px;\n left: 4px;\n color: #fff;\n}\n/* 文本 */\n.mdui-chip-title {\n display: inline-block;\n height: 32px;\n padding-right: 12px;\n padding-left: 12px;\n font-size: 14px;\n line-height: 32px;\n vertical-align: middle;\n}\n/* 删除按钮 */\n.mdui-chip-delete {\n display: inline-block;\n width: 24px;\n height: 24px;\n margin-right: 4px;\n margin-left: -8px;\n overflow: hidden;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n border-radius: 50%;\n cursor: pointer;\n opacity: 0.54;\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: opacity;\n}\n.mdui-chip-delete:hover,\n.mdui-chip-delete:focus {\n opacity: 0.87;\n}\n/**\n * =============================================================================\n * ************ Chip dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-chip {\n background-color: #484848;\n}\n.mdui-theme-layout-dark .mdui-chip:active {\n background-color: #5d5d5d;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-chip {\n background-color: #484848;\n }\n .mdui-theme-layout-auto .mdui-chip:active {\n background-color: #5d5d5d;\n }\n}\n/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n.mdui-bottom-nav {\n position: relative;\n display: flex;\n height: 56px;\n margin: 0 auto;\n padding: 0;\n overflow: hidden;\n white-space: nowrap;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav::before {\n flex-grow: 1;\n content: ' ';\n }\n .mdui-bottom-nav::after {\n flex-grow: 1;\n content: ' ';\n }\n}\n.mdui-bottom-nav a {\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n max-width: none;\n padding: 8px 12px 10px 12px;\n overflow: hidden;\n color: inherit;\n font-size: 12px;\n text-align: center;\n text-decoration: none;\n text-overflow: ellipsis;\n cursor: pointer;\n opacity: 0.7;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n user-select: none;\n will-change: padding;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav a {\n max-width: 144px;\n }\n}\n.mdui-bottom-nav a .mdui-icon {\n opacity: 0.7;\n}\n.mdui-bottom-nav a label {\n display: block;\n width: 100%;\n cursor: pointer;\n transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: font-size;\n}\n.mdui-bottom-nav a .mdui-icon + label {\n margin-top: 6px;\n}\n.mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #3F51B5;\n font-size: 14px;\n opacity: 1;\n}\n.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon {\n opacity: 1;\n}\n/* 只在激活时显示文本 */\n.mdui-bottom-nav-text-auto a {\n min-width: 32px;\n padding-right: 0;\n padding-left: 0;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav-text-auto a {\n max-width: 156px;\n }\n}\n.mdui-bottom-nav-text-auto a .mdui-icon {\n padding-top: 16px;\n transition: padding-top 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: padding-top;\n}\n.mdui-bottom-nav-text-auto a label {\n transform: scale(0);\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active {\n padding-right: 18px;\n padding-left: 18px;\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon {\n padding-top: 0;\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label {\n transform: scale(1);\n}\n/* 固定到页面底部 */\n.mdui-bottom-nav-fixed {\n padding-bottom: 56px;\n}\n.mdui-bottom-nav-fixed .mdui-bottom-nav {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n}\n/**\n * =============================================================================\n * ************ Bottom Nav 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FFEB3B;\n}\n/* 带背景色的底部导航栏 */\n.mdui-bottom-nav[class*=\"mdui-color-\"] .mdui-bottom-nav-active {\n color: inherit !important;\n}\n/**\n * =============================================================================\n * ************ Progress Linear 线性进度条 ************\n * =============================================================================\n */\n/* 线性进度条 */\n.mdui-progress {\n position: relative;\n display: block;\n width: 100%;\n height: 4px;\n overflow: hidden;\n background-color: rgba(63, 81, 181, 0.2);\n border-radius: 2px;\n}\n/* 确定进度的线性进度条 */\n.mdui-progress-determinate {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: #3F51B5;\n transition: width 0.3s linear;\n}\n/* 不确定进度的线性进度条 */\n.mdui-progress-indeterminate {\n background-color: #3F51B5;\n}\n.mdui-progress-indeterminate::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: inherit;\n animation: mdui-progress-indeterminate 2s linear infinite;\n content: ' ';\n will-change: left, width;\n}\n.mdui-progress-indeterminate::after {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: inherit;\n animation: mdui-progress-indeterminate-short 2s linear infinite;\n content: ' ';\n will-change: left, width;\n}\n@keyframes mdui-progress-indeterminate {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 30%;\n width: 70%;\n }\n 75% {\n left: 100%;\n width: 0;\n }\n}\n@keyframes mdui-progress-indeterminate-short {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 0;\n width: 0;\n }\n 75% {\n left: 0;\n width: 25%;\n }\n 100% {\n left: 100%;\n width: 0;\n }\n}\n/**\n * =============================================================================\n * ************ Progress linear 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-progress {\n background-color: rgba(255, 193, 7, 0.2);\n}\n.mdui-theme-primary-amber .mdui-progress-determinate,\n.mdui-theme-primary-amber .mdui-progress-indeterminate {\n background-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-progress {\n background-color: rgba(33, 150, 243, 0.2);\n}\n.mdui-theme-primary-blue .mdui-progress-determinate,\n.mdui-theme-primary-blue .mdui-progress-indeterminate {\n background-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-progress {\n background-color: rgba(96, 125, 139, 0.2);\n}\n.mdui-theme-primary-blue-grey .mdui-progress-determinate,\n.mdui-theme-primary-blue-grey .mdui-progress-indeterminate {\n background-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-progress {\n background-color: rgba(121, 85, 72, 0.2);\n}\n.mdui-theme-primary-brown .mdui-progress-determinate,\n.mdui-theme-primary-brown .mdui-progress-indeterminate {\n background-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-progress {\n background-color: rgba(0, 188, 212, 0.2);\n}\n.mdui-theme-primary-cyan .mdui-progress-determinate,\n.mdui-theme-primary-cyan .mdui-progress-indeterminate {\n background-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-progress {\n background-color: rgba(255, 87, 34, 0.2);\n}\n.mdui-theme-primary-deep-orange .mdui-progress-determinate,\n.mdui-theme-primary-deep-orange .mdui-progress-indeterminate {\n background-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-progress {\n background-color: rgba(103, 58, 183, 0.2);\n}\n.mdui-theme-primary-deep-purple .mdui-progress-determinate,\n.mdui-theme-primary-deep-purple .mdui-progress-indeterminate {\n background-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-progress {\n background-color: rgba(76, 175, 80, 0.2);\n}\n.mdui-theme-primary-green .mdui-progress-determinate,\n.mdui-theme-primary-green .mdui-progress-indeterminate {\n background-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-progress {\n background-color: rgba(158, 158, 158, 0.2);\n}\n.mdui-theme-primary-grey .mdui-progress-determinate,\n.mdui-theme-primary-grey .mdui-progress-indeterminate {\n background-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-progress {\n background-color: rgba(63, 81, 181, 0.2);\n}\n.mdui-theme-primary-indigo .mdui-progress-determinate,\n.mdui-theme-primary-indigo .mdui-progress-indeterminate {\n background-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-progress {\n background-color: rgba(3, 169, 244, 0.2);\n}\n.mdui-theme-primary-light-blue .mdui-progress-determinate,\n.mdui-theme-primary-light-blue .mdui-progress-indeterminate {\n background-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-progress {\n background-color: rgba(139, 195, 74, 0.2);\n}\n.mdui-theme-primary-light-green .mdui-progress-determinate,\n.mdui-theme-primary-light-green .mdui-progress-indeterminate {\n background-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-progress {\n background-color: rgba(205, 220, 57, 0.2);\n}\n.mdui-theme-primary-lime .mdui-progress-determinate,\n.mdui-theme-primary-lime .mdui-progress-indeterminate {\n background-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-progress {\n background-color: rgba(255, 152, 0, 0.2);\n}\n.mdui-theme-primary-orange .mdui-progress-determinate,\n.mdui-theme-primary-orange .mdui-progress-indeterminate {\n background-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-progress {\n background-color: rgba(233, 30, 99, 0.2);\n}\n.mdui-theme-primary-pink .mdui-progress-determinate,\n.mdui-theme-primary-pink .mdui-progress-indeterminate {\n background-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-progress {\n background-color: rgba(156, 39, 176, 0.2);\n}\n.mdui-theme-primary-purple .mdui-progress-determinate,\n.mdui-theme-primary-purple .mdui-progress-indeterminate {\n background-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-progress {\n background-color: rgba(244, 67, 54, 0.2);\n}\n.mdui-theme-primary-red .mdui-progress-determinate,\n.mdui-theme-primary-red .mdui-progress-indeterminate {\n background-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-progress {\n background-color: rgba(0, 150, 136, 0.2);\n}\n.mdui-theme-primary-teal .mdui-progress-determinate,\n.mdui-theme-primary-teal .mdui-progress-indeterminate {\n background-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-progress {\n background-color: rgba(255, 235, 59, 0.2);\n}\n.mdui-theme-primary-yellow .mdui-progress-determinate,\n.mdui-theme-primary-yellow .mdui-progress-indeterminate {\n background-color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Progress Circular 圆形进度条 ************\n * =============================================================================\n */\n.mdui-spinner {\n position: relative;\n display: inline-block;\n width: 28px;\n height: 28px;\n animation: mdui-spinner 1568ms linear infinite;\n}\n@keyframes mdui-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n.mdui-spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n border-color: #3F51B5;\n opacity: 0;\n opacity: 1;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-1 {\n border-color: #42A5F5 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-2 {\n border-color: #F44336 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-3 {\n border-color: #FDD835 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-4 {\n border-color: #4CAF50 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n@keyframes mdui-spinner-layer-fill-unfill-rotate {\n 12.5% {\n transform: rotate(135deg);\n }\n 25% {\n transform: rotate(270deg);\n }\n 37.5% {\n transform: rotate(405deg);\n }\n 50% {\n transform: rotate(540deg);\n }\n 62.5% {\n transform: rotate(675deg);\n }\n 75% {\n transform: rotate(810deg);\n }\n 87.5% {\n transform: rotate(945deg);\n }\n to {\n transform: rotate(1080deg);\n }\n}\n@keyframes mdui-spinner-layer-1-fade-in-out {\n from {\n opacity: 1;\n }\n 25% {\n opacity: 1;\n }\n 26% {\n opacity: 0;\n }\n 89% {\n opacity: 0;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes mdui-spinner-layer-2-fade-in-out {\n from {\n opacity: 0;\n }\n 15% {\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n opacity: 1;\n }\n 51% {\n opacity: 0;\n }\n}\n@keyframes mdui-spinner-layer-3-fade-in-out {\n from {\n opacity: 0;\n }\n 40% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 75% {\n opacity: 1;\n }\n 76% {\n opacity: 0;\n }\n}\n@keyframes mdui-spinner-layer-4-fade-in-out {\n from {\n opacity: 0;\n }\n 65% {\n opacity: 0;\n }\n 75% {\n opacity: 1;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n.mdui-spinner-gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n.mdui-spinner-gap-patch .mdui-spinner-circle {\n left: -450%;\n box-sizing: border-box;\n width: 1000%;\n}\n.mdui-spinner-circle-clipper {\n position: relative;\n display: inline-block;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n.mdui-spinner-circle-clipper .mdui-spinner-circle {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n box-sizing: border-box;\n width: 200%;\n height: 100%;\n border-color: inherit;\n border-style: solid;\n border-width: 3px;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-left {\n float: left;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle {\n left: 0;\n border-right-color: transparent !important;\n transform: rotate(129deg);\n animation: mdui-spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-right {\n float: right;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg);\n animation: mdui-spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n@keyframes mdui-spinner-left-spin {\n from {\n transform: rotate(130deg);\n }\n 50% {\n transform: rotate(-5deg);\n }\n to {\n transform: rotate(130deg);\n }\n}\n@keyframes mdui-spinner-right-spin {\n from {\n transform: rotate(-130deg);\n }\n 50% {\n transform: rotate(5deg);\n }\n to {\n transform: rotate(-130deg);\n }\n}\n/**\n * =============================================================================\n * ************ Spinner linear 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-spinner-layer {\n border-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-spinner-layer {\n border-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-spinner-layer {\n border-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-spinner-layer {\n border-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-spinner-layer {\n border-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-spinner-layer {\n border-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-spinner-layer {\n border-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-spinner-layer {\n border-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-spinner-layer {\n border-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-spinner-layer {\n border-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-spinner-layer {\n border-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-spinner-layer {\n border-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-spinner-layer {\n border-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-spinner-layer {\n border-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-spinner-layer {\n border-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-spinner-layer {\n border-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-spinner-layer {\n border-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-spinner-layer {\n border-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-spinner-layer {\n border-color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n/* 菜单 */\n.mdui-menu {\n position: fixed;\n z-index: 99999;\n display: block;\n box-sizing: border-box;\n width: 168px;\n margin: 0;\n padding: 8px 0;\n overflow-y: auto;\n color: rgba(0, 0, 0, 0.87);\n font-size: 16px;\n list-style: none;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(0);\n visibility: hidden;\n opacity: 0;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.3s;\n transition-property: transform, opacity, visibility;\n will-change: transform, opacity, visibility;\n -webkit-overflow-scrolling: touch;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-menu .mdui-divider {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n/* 打开状态的菜单 */\n.mdui-menu-open {\n transform: scale(1);\n visibility: visible;\n opacity: 1;\n}\n/* 关闭中的菜单 */\n.mdui-menu-closing {\n transform: scale(1);\n visibility: visible;\n opacity: 0;\n}\n/* 菜单项 */\n.mdui-menu-item {\n position: relative;\n}\n.mdui-menu-item > a {\n position: relative;\n display: block;\n height: 48px;\n padding: 0 16px;\n color: inherit;\n line-height: 48px;\n text-decoration: none;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-menu-item > a:hover {\n background-color: #EEEEEE;\n}\n.mdui-menu-item > .mdui-menu {\n position: absolute;\n box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-menu-item[disabled] > a {\n color: rgba(0, 0, 0, 0.38) !important;\n cursor: default;\n}\n.mdui-menu-item[disabled] > a:hover {\n background-color: inherit !important;\n}\n.mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(0, 0, 0, 0.26);\n}\n/* 激活状态的菜单项 */\n.mdui-menu-item-active {\n background-color: #EEEEEE;\n}\n/* 菜单中的图标 */\n.mdui-menu-item-icon {\n display: inline-block;\n box-sizing: border-box;\n width: 40px;\n padding-right: 16px;\n color: rgba(0, 0, 0, 0.54);\n}\n/* 菜单中的辅助文本或图标 */\n.mdui-menu-item-helper {\n float: right;\n}\n/* 有子菜单的条目的图标 */\n.mdui-menu-item-more {\n float: right;\n width: 24px;\n height: 24px;\n margin: 4px 0;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' opacity='.54'/%3E%3C/svg%3E\");\n}\n/* 级联菜单 */\n.mdui-menu-cascade {\n width: 320px;\n padding: 16px 0;\n overflow: visible;\n font-size: 15px;\n}\n.mdui-menu-cascade > .mdui-menu-item > a {\n height: 32px;\n padding: 0 24px;\n line-height: 32px;\n}\n/**\n * =============================================================================\n * ************ Menu dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-menu {\n color: #fff;\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-menu-item > a:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-menu-item[disabled] > a {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark .mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-menu-item-active {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-menu-item-icon {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-menu-item-more {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E\");\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-menu {\n color: #fff;\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-menu-item > a:hover {\n background-color: #616161;\n }\n .mdui-theme-layout-auto .mdui-menu-item[disabled] > a {\n color: rgba(255, 255, 255, 0.5) !important;\n }\n .mdui-theme-layout-auto .mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(255, 255, 255, 0.3);\n }\n .mdui-theme-layout-auto .mdui-menu-item-active {\n background-color: #616161;\n }\n .mdui-theme-layout-auto .mdui-menu-item-icon {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-menu-item-more {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E\");\n }\n}\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","/**\n * =============================================================================\n * ************ 公共样式 ************\n * =============================================================================\n */\n* {\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n color: @body-text-color;\n font-size: @screen-xs-font-size;\n font-family: @font-family-base;\n background-color: @body-background-color;\n @media (min-width: @screen-sm-min) {\n font-size: @screen-sm-font-size;\n }\n @media (min-width: @screen-md-min) {\n font-size: @screen-md-font-size;\n }\n\n // 滚动条样式\n * {\n .mdui-scrollbar-beautify(light);\n }\n}\n\n/* 锁定屏幕 */\nbody.mdui-locked {\n overflow: hidden;\n}\n\n/* 遮罩层 */\n.mdui-overlay {\n position: fixed;\n top: -5000px;\n right: -5000px;\n bottom: -5000px;\n left: -5000px;\n z-index: @z-index-overlay;\n background: rgba(0, 0, 0, .4);\n backface-visibility: hidden;\n visibility: hidden;\n opacity: 0;\n transition-duration: .3s;\n transition-property: opacity, visibility;\n will-change: opacity;\n}\n\n/* 显示遮罩层 */\n.mdui-overlay-show {\n visibility: visible;\n opacity: 1;\n}\n\n/* 取消 transition 过渡效果 */\n.mdui-no-transition {\n transition-property: none !important;\n}\n\n\n/**\n * =============================================================================\n * ************ Global dark ************\n * =============================================================================\n */\n.layout-theme({\n color: #fff;\n background-color: @layout-dark-color-3;\n\n // 夜间模式滚动条样式\n * {\n .mdui-scrollbar-beautify(dark);\n }\n});\n","// ======================== 边距\n.mdui-m-a(@spacing) {\n margin: @spacing * @spacing-base;\n}\n.mdui-m-t(@spacing) {\n margin-top: @spacing * @spacing-base;\n}\n.mdui-m-r(@spacing) {\n margin-right: @spacing * @spacing-base;\n}\n.mdui-m-b(@spacing) {\n margin-bottom: @spacing * @spacing-base;\n}\n.mdui-m-l(@spacing) {\n margin-left: @spacing * @spacing-base;\n}\n.mdui-m-x(@spacing) {\n margin-right: @spacing * @spacing-base;\n margin-left: @spacing * @spacing-base;\n}\n.mdui-m-y(@spacing) {\n margin-top: @spacing * @spacing-base;\n margin-bottom: @spacing * @spacing-base;\n}\n\n.mdui-p-a(@spacing) {\n padding: @spacing * @spacing-base;\n}\n.mdui-p-t(@spacing) {\n padding-top: @spacing * @spacing-base;\n}\n.mdui-p-r(@spacing) {\n padding-right: @spacing * @spacing-base;\n}\n.mdui-p-b(@spacing) {\n padding-bottom: @spacing * @spacing-base;\n}\n.mdui-p-l(@spacing) {\n padding-left: @spacing * @spacing-base;\n}\n.mdui-p-x(@spacing) {\n padding-right: @spacing * @spacing-base;\n padding-left: @spacing * @spacing-base;\n}\n.mdui-p-y(@spacing) {\n padding-top: @spacing * @spacing-base;\n padding-bottom: @spacing * @spacing-base;\n}\n\n//=========================== 清除浮动\n// 清除浮动\n.mdui-clearfix() {\n &::before,\n &::after {\n display: table;\n content: ' ';\n }\n &::after {\n clear: both;\n }\n}\n\n// 用省略号代替被截断的文本\n.mdui-text-truncate() {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// 文本强制换行\n.mdui-textwrap() {\n word-wrap: break-word;\n word-break: break-all;\n}\n\n// 使子元素垂直居中\n.mdui-valign() {\n display: flex;\n align-items: center;\n}\n\n// 使元素水平居中\n.mdui-center() {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n\n// 美化滚动条样式\n.mdui-scrollbar-beautify(@layout: light) {\n // 亮色主题\n & when (@layout = light) {\n &::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n // 桌面端\n @media (min-width: @screen-md-min) {\n width: 8px;\n height: 8px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n }\n }\n\n // 暗色主题\n & when (@layout = dark) {\n &::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n // 桌面端\n @media (min-width: @screen-md-min) {\n width: 8px;\n height: 8px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n }\n }\n}\n",".layout-theme(@rules) {\n & when (@globalLayoutDark = true) {\n .mdui-theme-layout-dark {\n @rules();\n }\n }\n & when (@globalLayoutAuto = true) {\n @media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto {\n @rules();\n }\n }\n }\n}\n","// 阴影\n@shadow-key-umbra-opacity: 0.2;\n@shadow-key-penumbra-opacity: 0.14;\n@shadow-ambient-shadow-opacity: 0.12;\n\n\n@shadow-depth-0: none;\n\n@shadow-depth-1: 0 2px 1px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 1px 1px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 3px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-2: 0 3px 1px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 2px 2px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 5px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-3: 0 3px 3px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 3px 4px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 8px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-4: 0 2px 4px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 4px 5px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 10px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-5: 0 3px 5px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 5px 8px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 14px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-6: 0 3px 5px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 6px 10px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 18px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-7: 0 4px 5px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 7px 10px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 2px 16px 1px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-8: 0 5px 5px -3px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 8px 10px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 3px 14px 2px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-9: 0 5px 6px -3px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 9px 12px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 3px 16px 2px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-10: 0 6px 6px -3px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 10px 14px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 4px 18px 3px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-11: 0 6px 7px -4px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 11px 15px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 4px 20px 3px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-12: 0 7px 8px -4px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 12px 17px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 5px 22px 4px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-13: 0 7px 8px -4px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 13px 19px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 5px 24px 4px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-14: 0 7px 9px -4px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 14px 21px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 5px 26px 4px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-15: 0 8px 9px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 15px 22px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 6px 28px 5px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-16: 0 8px 10px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 16px 24px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 6px 30px 5px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-17: 0 8px 11px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 17px 26px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 6px 32px 5px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-18: 0 9px 11px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 18px 28px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 7px 34px 6px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-19: 0 9px 12px -6px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 19px 29px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 7px 36px 6px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-20: 0 10px 13px -6px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 20px 31px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 8px 38px 7px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-21: 0 10px 13px -6px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 21px 33px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 8px 40px 7px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-22: 0 10px 14px -6px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 22px 35px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 8px 42px 7px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-23: 0 11px 14px -7px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 23px 36px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 9px 44px 8px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-24: 0 11px 15px -7px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 24px 38px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 9px 46px 8px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n","// 根据背景色设置文本色\n._mdui-color-text-color(@color-is-dark) {\n & when (@color-is-dark = true) {\n color: @color-white-text;\n }\n & when (@color-is-dark = false) {\n color: @color-black-text;\n }\n}\n\n// hover 状态背景色\n._mdui-background-color-hover(@colorName) {\n @color-is-dark: 'color-@{colorName}-500-is-dark';\n & when (@@color-is-dark = true) {\n @color: 'color-@{colorName}-400';\n\n background-color: @@color;\n }\n & when (@@color-is-dark = false) {\n @color: 'color-@{colorName}-600';\n\n background-color: @@color;\n }\n}\n\n// active 状态背景色\n._mdui-background-color-active(@colorName) {\n @color-is-dark: 'color-@{colorName}-500-is-dark';\n & when (@@color-is-dark = true) {\n @color: 'color-@{colorName}-300';\n\n background-color: @@color;\n }\n & when (@@color-is-dark = false) {\n @color: 'color-@{colorName}-700';\n\n background-color: @@color;\n }\n}\n\n// 仅设置背景色\n.mdui-background-color(@colorName, @degree: 500) {\n @color: 'color-@{colorName}-@{degree}';\n\n background-color: @@color;\n}\n\n// 背景色和文本色\n.mdui-color(@colorName, @degree: 500) {\n .mdui-background-color(@colorName, @degree);\n\n @color-is-dark: 'color-@{colorName}-@{degree}-is-dark';\n ._mdui-color-text-color(@@color-is-dark);\n}\n\n// 文本色\n.mdui-text-color(@colorName, @degree: 500, @opacity: 1) {\n @color: 'color-@{colorName}-@{degree}';\n\n & when (@opacity = 1) {\n color: @@color;\n }\n & when (@opacity < 1) {\n color: rgba(red(@@color), green(@@color), blue(@@color), @opacity);\n }\n}\n","/**\n * =============================================================================\n * ************ Color 颜色 ************\n * =============================================================================\n */\n\n@global-primary-color-degrees-length: length(@globalPrimaryColorDegrees);\n@global-primary-colors-length: length(@globalPrimaryColors);\n@global-accent-color-degrees-length: length(@globalAccentColorDegrees);\n@global-accent-colors-length: length(@globalAccentColors);\n\n\n/**\n * .mdui-theme-primary-[color] .mdui-color-theme\n * .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n\n // .mdui-theme-primary-[color] .mdui-color-theme\n .mdui-color-theme {\n .mdui-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n .mdui-color-theme-@{degree} when not (@degree = null) {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-theme-accent-[color] .mdui-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // .mdui-theme-accent-[color] .mdui-color-theme-accent\n .mdui-color-theme-accent {\n .mdui-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n .mdui-color-theme-@{degree} when not (@degree = null) {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-color-[color]\n * .mdui-color-[color]-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n & {\n // .mdui-color-[color]\n .mdui-color-@{colorName} when not (@colorName = null) {\n .mdui-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-color-[color]-[degree]\n .mdui-color-@{colorName}-@{degree} when not (@degree = null) {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-color-[color]-accent\n * .mdui-color-[color]-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n &{\n // .mdui-color-[color]-accent\n .mdui-color-@{colorName}-accent when not (@colorName = null) {\n .mdui-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-color-[color]-[degree]\n .mdui-color-@{colorName}-@{degree} when not (@degree = null) {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-color-black\n * .mdui-color-white\n * .mdui-color-transparent\n */\n\n.mdui-color-black {\n color: @color-white-text !important;\n background-color: @color-black !important;\n}\n\n.mdui-color-white {\n color: @color-black-text !important;\n background-color: @color-white !important;\n}\n\n.mdui-color-transparent {\n background-color: @color-transparent !important;\n}\n\n\n/**\n * .mdui-theme-primary-[color] .mdui-text-color-theme\n * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n\n // .mdui-theme-primary-[color] .mdui-text-color-theme\n .mdui-text-color-theme {\n .mdui-text-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n .mdui-text-color-theme-@{degree} when not (@degree = null) {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n .mdui-text-color-theme-accent {\n .mdui-text-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n .mdui-text-color-theme-@{degree} when not (@degree = null) {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-text-color-[color]\n * .mdui-text-color-[color]-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n &{\n // .mdui-text-color-[color]\n .mdui-text-color-@{colorName} when not (@colorName = null) {\n .mdui-text-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-text-color-[color]-[degree]\n .mdui-text-color-@{colorName}-@{degree} when not (@degree = null) {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-text-color-[color]-accent\n * .mdui-text-color-[color]-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n &{\n // .mdui-text-color-[color]-accent\n .mdui-text-color-@{colorName}-accent when not (@colorName = null) {\n .mdui-text-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-text-color-[color]-[degree]\n .mdui-text-color-@{colorName}-@{degree} when not (@degree = null) {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-text-color-black\n * .mdui-text-color-black-[]\n * .mdui-text-color-theme-[]\n */\n\n.mdui-text-color-black {\n color: @color-black !important;\n}\n.mdui-text-color-black-text,\n.mdui-text-color-theme-text {\n color: @color-black-text !important;\n}\n.mdui-text-color-black-secondary,\n.mdui-text-color-theme-secondary {\n color: @color-black-secondary !important;\n}\n.mdui-text-color-black-disabled,\n.mdui-text-color-theme-disabled {\n color: @color-black-disabled !important;\n}\n.mdui-text-color-black-divider,\n.mdui-text-color-theme-divider {\n color: @color-black-divider !important;\n}\n.mdui-text-color-black-icon,\n.mdui-text-color-theme-icon {\n color: @color-black-icon !important;\n}\n.mdui-text-color-black-icon-disabled,\n.mdui-text-color-theme-icon-disabled {\n color: @color-black-icon-disabled !important;\n}\n\n/**\n * .mdui-text-color-white\n * .mdui-text-color-white-[]\n */\n.mdui-text-color-white {\n color: @color-white !important;\n}\n.mdui-text-color-white-text {\n color: @color-white-text !important;\n}\n.mdui-text-color-white-secondary {\n color: @color-white-secondary !important;\n}\n.mdui-text-color-white-disabled {\n color: @color-white-disabled !important;\n}\n.mdui-text-color-white-divider {\n color: @color-white-divider !important;\n}\n.mdui-text-color-white-icon {\n color: @color-white-icon !important;\n}\n.mdui-text-color-white-icon-disabled {\n color: @color-white-icon-disabled !important;\n}\n\n/**\n * .mdui-text-color-theme-[] 深色主题\n */\n.layout-theme({\n .mdui-text-color-theme-text {\n color: @color-white-text !important;\n }\n .mdui-text-color-theme-secondary {\n color: @color-white-secondary !important;\n }\n .mdui-text-color-theme-disabled {\n color: @color-white-disabled !important;\n }\n .mdui-text-color-theme-divider {\n color: @color-white-divider !important;\n }\n .mdui-text-color-theme-icon {\n color: @color-white-icon !important;\n }\n .mdui-text-color-theme-icon-disabled {\n color: @color-white-icon-disabled !important;\n }\n});\n","/**\n * =============================================================================\n * ************ Helper 辅助类 ************\n * =============================================================================\n */\n\n/**\n * =================== 边距\n */\n._spacing_margin_mixin(@spacing) when (@spacing > -1) {\n ._spacing_margin_mixin(@spacing - 1);\n\n .mdui-m-a-@{spacing} {\n .mdui-m-a(@spacing) !important;\n }\n .mdui-m-t-@{spacing} {\n .mdui-m-t(@spacing) !important;\n }\n .mdui-m-r-@{spacing} {\n .mdui-m-r(@spacing) !important;\n }\n .mdui-m-b-@{spacing} {\n .mdui-m-b(@spacing) !important;\n }\n .mdui-m-l-@{spacing} {\n .mdui-m-l(@spacing) !important;\n }\n .mdui-m-x-@{spacing} {\n .mdui-m-x(@spacing) !important;\n }\n .mdui-m-y-@{spacing} {\n .mdui-m-y(@spacing) !important;\n }\n\n .mdui-p-a-@{spacing} {\n .mdui-p-a(@spacing) !important;\n }\n .mdui-p-t-@{spacing} {\n .mdui-p-t(@spacing) !important;\n }\n .mdui-p-r-@{spacing} {\n .mdui-p-r(@spacing) !important;\n }\n .mdui-p-b-@{spacing} {\n .mdui-p-b(@spacing) !important;\n }\n .mdui-p-l-@{spacing} {\n .mdui-p-l(@spacing) !important;\n }\n .mdui-p-x-@{spacing} {\n .mdui-p-x(@spacing) !important;\n }\n .mdui-p-y-@{spacing} {\n .mdui-p-y(@spacing) !important;\n }\n}\n\n._spacing_margin_mixin(5);\n\n\n/**\n * ======================== 快速浮动\n */\n\n/* 向左浮动 */\n.mdui-float-left {\n float: left !important;\n}\n\n/* 向右浮动 */\n.mdui-float-right {\n float: right !important;\n}\n\n/**\n * ========================= 水平居中\n */\n\n/* 水平居中 */\n.mdui-center {\n .mdui-center() !important;\n}\n\n/**\n * ========================= 垂直居中\n */\n\n/* 垂直居中 */\n.mdui-valign {\n .mdui-valign() !important;\n}\n\n/**\n * ========================= 文本对齐方式\n */\n\n/* 文本左对齐 */\n.mdui-text-left {\n text-align: left !important;\n}\n\n/* 文本居中对齐 */\n.mdui-text-center {\n text-align: center !important;\n}\n\n/* 文本向右对齐 */\n.mdui-text-right {\n text-align: right !important;\n}\n\n/**\n * ========================= 文本大小写转换\n */\n\n/* 文本转为小写 */\n.mdui-text-lowercase {\n text-transform: lowercase !important;\n}\n\n/* 文本转为大写 */\n.mdui-text-uppercase {\n text-transform: uppercase !important;\n}\n\n/* 文本转为单词的首字母大写 */\n.mdui-text-capitalize {\n text-transform: capitalize !important;\n}\n\n/**\n * ======================== 文本截断\n */\n\n/* 文本截断 */\n.mdui-text-truncate {\n .mdui-text-truncate();\n}\n\n/**\n * ========================= 清除浮动\n */\n\n/* 清除浮动 */\n.mdui-clearfix {\n .mdui-clearfix();\n}\n\n/**\n * ========================= 隐藏内容\n */\n\n/* 隐藏元素 */\n.mdui-hidden,\n[hidden] {\n display: none !important;\n}\n\n/* 使元素不可见 */\n.mdui-invisible {\n visibility: hidden;\n}\n\n/* Responsive utilities 响应式工具\n ========================================================================== */\n\n/* 在特定屏幕的特备上隐藏 */\n@media (max-width: @screen-xs-max) {\n .mdui-hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .mdui-hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .mdui-hidden-md {\n display: none !important;\n }\n}\n@media (min-width: @screen-lg-min) and (max-width: @screen-lg-max) {\n .mdui-hidden-lg {\n display: none !important;\n }\n}\n@media (min-width: @screen-xl-min) {\n .mdui-hidden-xl {\n display: none !important;\n }\n}\n\n/* 在比特定屏幕小的设备上隐藏 */\n@media (max-width: @screen-xs-max) {\n .mdui-hidden-xs-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-sm-max) {\n .mdui-hidden-sm-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-md-max) {\n .mdui-hidden-md-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-lg-max) {\n .mdui-hidden-lg-down {\n display: none !important;\n }\n}\n.mdui-hidden-xl-down {\n display: none !important;\n}\n\n/* 在比特定屏幕大的设备上隐藏 */\n.mdui-hidden-xs-up {\n display: none !important;\n}\n@media (min-width: @screen-sm-min) {\n .mdui-hidden-sm-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-md-min) {\n .mdui-hidden-md-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-lg-min) {\n .mdui-hidden-lg-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-xl-min) {\n .mdui-hidden-xl-up {\n display: none !important;\n }\n}\n","/**\n * =============================================================================\n * ************ Icon 图标 ************\n * =============================================================================\n */\n\n.mdui-icon,\n.mdui-icon::before {\n color: inherit;\n font-weight: normal;\n font-size: 24px; /* Preferred icon size */\n font-style: normal;\n line-height: 1;\n direction: ltr;\n letter-spacing: normal;\n white-space: nowrap;\n text-transform: none;\n vertical-align: middle;\n word-wrap: normal;\n}\n\n.mdui-icon {\n display: inline-block;\n text-align: center;\n}\n\n.mdui-icon::before {\n display: block !important;\n width: 24px;\n height: 24px;\n}\n","/**\n * =============================================================================\n * ************ Material Icons ************\n * =============================================================================\n *\n * https://github.com/google/material-design-icons/\n * v3.0.1\n */\n\n@import './icon';\n\n@font-face {\n font-weight: 400;\n font-family: 'Material Icons';\n font-style: normal;\n src: local('Material Icons'), local('MaterialIcons-Regular'),\n url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'),\n url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff');\n}\n\n.material-icons {\n /* stylelint-disable-next-line */\n font-family: 'Material Icons';\n\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n","/**\n * =============================================================================\n * ************ Media 媒体工具 ************\n * =============================================================================\n */\n\n/* 响应式图片和视频 */\n.mdui-img-fluid,\n.mdui-video-fluid {\n .mdui-img-fluid();\n}\n\n/* 圆角图片 */\n.mdui-img-rounded {\n border-radius: 2px;\n}\n\n/* 圆形图片 */\n.mdui-img-circle {\n border-radius: 50%;\n}\n\n// embed\n.mdui-video-container {\n position: relative;\n height: 0;\n padding-bottom: 56.25%;\n overflow: hidden;\n\n iframe,\n object,\n embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%\n }\n}\n",".mdui-img-fluid() {\n display: block;\n max-width: 100%;\n height: auto;\n}\n\n.mdui-video-fluid() {\n display: block;\n max-width: 100%;\n height: auto;\n}\n","/**\n * =============================================================================\n * ************ Roboto 字体 ************\n * =============================================================================\n */\n\n@font-face {\n font-weight: 100;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Thin'), local('Roboto-Thin'),\n url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Thin.woff') format('woff');\n}\n\n@font-face {\n font-weight: 100;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'),\n url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 300;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Light'), local('Roboto-Light'),\n url('../fonts/roboto/Roboto-Light.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Light.woff') format('woff');\n}\n\n@font-face {\n font-weight: 300;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto LightItalic'), local('Roboto-LightItalic'),\n url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-LightItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 400;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Regular'), local('Roboto-Regular'),\n url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Regular.woff') format('woff');\n}\n\n@font-face {\n font-weight: 400;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'),\n url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 500;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Medium'), local('Roboto-Medium'),\n url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Medium.woff') format('woff');\n}\n\n@font-face {\n font-weight: 500;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'),\n url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 700;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Bold'), local('Roboto-Bold'),\n url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Bold.woff') format('woff');\n}\n\n@font-face {\n font-weight: 700;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'),\n url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 900;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Black'), local('Roboto-Black'),\n url('../fonts/roboto/Roboto-Black.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Black.woff') format('woff');\n}\n\n@font-face {\n font-weight: 900;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'),\n url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff');\n}\n","/**\n * =============================================================================\n * ************ Typography 样式排版 ************\n * =============================================================================\n */\n\n/* .mdui-typo-display-4 */\n.mdui-typo-display-4,\n.mdui-typo-display-4-opacity {\n .mdui-typo-display-4();\n}\n.mdui-typo-display-4-opacity {\n ._mdui-typo-display-4-opacity();\n}\n\n/* .mdui-typo-display-3 */\n.mdui-typo-display-3,\n.mdui-typo-display-3-opacity {\n .mdui-typo-display-3();\n}\n.mdui-typo-display-3-opacity {\n ._mdui-typo-display-3-opacity();\n}\n\n/* .mdui-typo-display-2 */\n.mdui-typo-display-2,\n.mdui-typo-display-2-opacity {\n .mdui-typo-display-2();\n}\n.mdui-typo-display-2-opacity {\n ._mdui-typo-display-2-opacity();\n}\n\n/* .mdui-typo-display-1 */\n.mdui-typo-display-1,\n.mdui-typo-display-1-opacity {\n .mdui-typo-display-1();\n}\n.mdui-typo-display-1-opacity {\n ._mdui-typo-display-1-opacity();\n}\n\n/* .mdui-typo-headline */\n.mdui-typo-headline,\n.mdui-typo-headline-opacity {\n .mdui-typo-headline();\n}\n.mdui-typo-headline-opacity {\n ._mdui-typo-headline-opacity();\n}\n\n/* .mdui-typo-title */\n.mdui-typo-title,\n.mdui-typo-title-opacity {\n .mdui-typo-title();\n}\n.mdui-typo-title-opacity {\n ._mdui-typo-title-opacity();\n}\n\n.mdui-typo-subheading,\n.mdui-typo-subheading-opacity {\n .mdui-typo-subheading();\n}\n.mdui-typo-subheading-opacity {\n ._mdui-typo-subheading-opacity();\n}\n\n.mdui-typo-body-2,\n.mdui-typo-body-2-opacity {\n .mdui-typo-body-2();\n}\n.mdui-typo-body-2-opacity {\n ._mdui-typo-body-2-opacity();\n}\n\n.mdui-typo-body-1,\n.mdui-typo-body-1-opacity {\n .mdui-typo-body-1();\n}\n.mdui-typo-body-1-opacity {\n ._mdui-typo-body-1-opacity();\n}\n\n.mdui-typo-caption,\n.mdui-typo-caption-opacity {\n .mdui-typo-caption();\n}\n.mdui-typo-caption-opacity {\n ._mdui-typo-caption-opacity();\n}\n","._mdui-typo-display-4-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-4(@opacity: false) {\n font-weight: 300;\n font-size: 112px;\n letter-spacing: -0.04em;\n & when (@opacity = true) {\n ._mdui-typo-display-4-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-3-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-3(@opacity: false) {\n font-weight: 400;\n font-size: 56px;\n letter-spacing: -0.02em;\n & when (@opacity = true) {\n ._mdui-typo-display-3-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-2-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-2(@opacity: false) {\n font-weight: 400;\n font-size: 45px;\n letter-spacing: 0;\n & when (@opacity = true) {\n ._mdui-typo-display-2-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-1-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-1(@opacity: false) {\n font-weight: 400;\n font-size: 34px;\n letter-spacing: 0;\n & when (@opacity = true) {\n ._mdui-typo-display-1-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-headline-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-headline(@opacity: false) {\n font-weight: 400;\n font-size: 24px;\n -moz-osx-font-smoothing: grayscale;\n & when (@opacity = true) {\n ._mdui-typo-headline-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-title-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-title(@opacity: false) {\n font-weight: 500;\n font-size: 20px;\n letter-spacing: 0.02em;\n & when (@opacity = true) {\n ._mdui-typo-title-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-subheading-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-subheading(@opacity: false) {\n font-weight: 400;\n font-size: 16px;\n letter-spacing: 0.04em;\n & when (@opacity = true) {\n ._mdui-typo-subheading-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-body-2-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-body-2(@opacity: false) {\n font-weight: 500;\n font-size: 14px;\n letter-spacing: 0.04em;\n & when (@opacity = true) {\n ._mdui-typo-body-2-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-body-1-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-body-1(@opacity: false) {\n font-weight: 400;\n font-size: 14px;\n letter-spacing: 0.04em;\n & when (@opacity = true) {\n ._mdui-typo-body-1-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-caption-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-caption(@opacity: false) {\n font-weight: 400;\n font-size: 12px;\n letter-spacing: 0.08em;\n & when (@opacity = true) {\n ._mdui-typo-caption-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n","/**\n * =============================================================================\n * ************ Typography 文章排版 ************\n * =============================================================================\n */\n\n.mdui-typo {\n line-height: 1.8;\n word-wrap: break-word;\n\n address, caption, cite, code, dfn, th {\n font-weight: 400;\n font-style: normal;\n }\n\n caption, th {\n text-align: left;\n }\n\n q::before, q::after {\n content: '';\n }\n\n pre, code, kbd, samp, pre tt {\n font-family: Consolas, Courier, 'Courier New', monospace;\n }\n\n figcaption {\n color: @color-black-secondary;\n font-size: 80%;\n }\n\n [draggable],\n [draggable=\"true\"] {\n cursor: move;\n }\n\n [draggable=\"false\"] {\n cursor: inherit;\n }\n\n p, pre, ul, ol, dl, form, hr, figure, table, .mdui-table, .mdui-table-fluid {\n margin: 0 0 1.2em 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n /* a */\n a {\n .mdui-text-color(@color-accent-default-name, a200);\n\n position: relative;\n display: inline-block;\n overflow: hidden;\n text-decoration: none;\n vertical-align: top;\n outline: none;\n\n &::before {\n position: absolute;\n top: auto;\n bottom: 1px;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: @color-default-a200;\n transform: scaleX(0);\n backface-visibility: hidden;\n transition: all 0.2s;\n content: ' ';\n }\n\n &:hover::before,\n &:focus::before {\n transform: scaleX(1);\n }\n }\n\n /* small */\n small {\n font-size: 80%;\n }\n\n /* blockquote */\n blockquote {\n margin: 1em 3em 1em 2em;\n padding-left: 1em;\n font-weight: 400;\n border-left: 4px solid @color-black-divider;\n @media only screen and (max-width: @screen-xs-max) {\n margin: 1em 0;\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n\n footer {\n color: @color-black-secondary;\n font-size: 86%;\n }\n }\n\n /* mark */\n mark {\n margin: 0 5px;\n padding: 2px;\n background: #fffdd1;\n border-bottom: 1px solid #ffedce;\n }\n\n /* h1 - h6 */\n h1, h2, h3, h4, h5, h6 {\n margin-top: 1.2em;\n margin-bottom: 0.6em;\n color: inherit;\n font-weight: 400;\n font-family: inherit;\n line-height: 1.35;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n small {\n color: @color-black-secondary;\n font-weight: 400;\n font-size: 65%;\n line-height: 1;\n }\n }\n h1 {\n font-size: 2em;\n }\n h2 {\n font-size: 1.8em;\n }\n h3 {\n font-size: 1.6em;\n }\n h4 {\n font-size: 1.4em;\n }\n h5 {\n font-size: 1.2em;\n }\n h6 {\n font-size: 1.1em;\n }\n\n /* code */\n code {\n padding: 2px 6px;\n color: #c7254e;\n background-color: #f7f7f9;\n border-radius: 2px;\n }\n\n /* pre code */\n pre code {\n padding: 0;\n color: inherit;\n font-size: inherit;\n line-height: 1.7;\n background-color: transparent;\n border-radius: 0;\n }\n\n /* abbr */\n abbr[title] {\n text-decoration: none;\n border-bottom: 1px dotted;\n cursor: help;\n }\n\n /* ins */\n ins {\n text-decoration: none;\n border-bottom: 1px solid ;\n }\n\n /* u */\n u {\n text-decoration: none;\n border-bottom: 1px solid;\n }\n\n /* del */\n del {\n text-decoration: line-through;\n }\n\n /* hr */\n hr {\n height: 10px;\n margin-bottom: 0.8em;\n border: none;\n border-bottom: 1px solid @color-black-divider;\n }\n\n /* pre */\n pre {\n padding: 12px 16px;\n overflow-x: auto;\n border: 1px solid @color-black-divider;\n border-radius: 2px;\n -webkit-overflow-scrolling: touch;\n }\n\n /* kbd */\n kbd {\n padding: 2px 6px;\n color: #fff;\n font-size: 90%;\n background-color: #333;\n border-radius: 2px;\n }\n\n /* ul / ol */\n ul {\n padding-left: 2em;\n list-style: disc;\n }\n ol {\n padding-left: 2em;\n list-style: decimal;\n }\n li ul,\n li ol {\n margin: 0.8em 0;\n }\n li ul {\n list-style: circle;\n }\n\n /* img, video */\n img, video {\n max-width: 100%;\n }\n\n figure {\n text-align: center;\n\n figcaption {\n margin-top: 8px;\n color: #999;\n font-size: 14px;\n }\n\n figcaption:empty::before {\n z-index: -1;\n color: #bfbfbf;\n cursor: text;\n content: attr(placeholder);\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Typo 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n .mdui-typo {\n a {\n .mdui-text-color(@colorName, a200);\n\n &::before {\n .mdui-background-color(@colorName, a200);\n }\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Typo dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-typo {\n\n blockquote {\n border-left-color: @color-white-divider;\n\n footer {\n color: @color-white-secondary;\n }\n }\n\n figcaption {\n color: @color-white-secondary;\n }\n\n mark {\n background: #aaa;\n border-bottom-color: #bbb;\n }\n\n h1, h2, h3, h4, h5, h6 {\n small {\n color: @color-white-secondary;\n }\n }\n\n code {\n color: @color-red-100;\n background-color: #424242;\n }\n\n pre {\n background: #424242;\n border-color: @color-white-divider;\n }\n\n kbd {\n background: #424242;\n }\n\n hr {\n border-color: @color-white-divider;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Grid 网格系统 ************\n * =============================================================================\n */\n\n@_screen-col-1: 8.333333%;\n@_screen-col-2: 16.666667%;\n@_screen-col-3: 25%;\n@_screen-col-4: 33.333333%;\n@_screen-col-5: 41.666667%;\n@_screen-col-6: 50%;\n@_screen-col-7: 58.333333%;\n@_screen-col-8: 66.666667%;\n@_screen-col-9: 75%;\n@_screen-col-10: 83.333333%;\n@_screen-col-11: 91.666667%;\n@_screen-col-12: 100%;\n\n// 等分列\n@_screen-average-1: 100%;\n@_screen-average-2: 50%;\n@_screen-average-3: 33.333333%;\n@_screen-average-4: 25%;\n@_screen-average-5: 20%;\n@_screen-average-6: 16.666667%;\n@_screen-average-7: 14.285714%;\n@_screen-average-8: 12.5%;\n@_screen-average-9: 11.111111%;\n@_screen-average-10: 10%;\n@_screen-average-11: 9.090909%;\n@_screen-average-12: 8.333333%;\n\n//间隔\n@grid-gap-8: 8px;\n@grid-gap-16: 16px;\n@grid-gap-24: 24px;\n@grid-gap-40: 40px;\n\n// 生成列、列偏移\n._grid_col_loop(@cols, @screen) when (@cols > 0) {\n ._grid_col_loop((@cols - 1), @screen);\n\n @widthName: '_screen-col-@{cols}';\n\n // 列宽度\n .mdui-col-@{screen}-@{cols} {\n float: left;\n width: @@widthName;\n }\n\n // 列偏移\n .mdui-col-offset-@{screen}-@{cols} {\n margin-left: @@widthName;\n }\n\n // 等分列\n @averageName: '_screen-average-@{cols}';\n .mdui-row-@{screen}-@{cols} .mdui-col {\n float: left;\n width: @@averageName;\n }\n}\n\n.mdui-container,\n.mdui-container-fluid {\n box-sizing: border-box;\n margin-right: auto;\n margin-left: auto;\n padding-right: @grid-gap-16 / 2;\n padding-left: @grid-gap-16 / 2;\n &::after{\n display: table;\n clear: both;\n content: '';\n }\n}\n\n.mdui-container {\n width: 96%;\n max-width: 1280px;\n @media (min-width: @screen-sm-min) {\n width: 94%;\n }\n @media (min-width: @screen-md-min) {\n width: 92%;\n }\n}\n\n.mdui-row,\n[class*=\"mdui-row-\"] {\n margin-right: -@grid-gap-16 / 2;\n margin-left: -@grid-gap-16 / 2;\n &::after {\n display: table;\n clear: both;\n content: '';\n }\n}\n\n[class*=\"mdui-col-xs-\"],\n[class*=\"mdui-col-sm-\"],\n[class*=\"mdui-col-md-\"],\n[class*=\"mdui-col-lg-\"],\n[class*=\"mdui-col-xl-\"],\n.mdui-col {\n position: relative;\n box-sizing: border-box;\n min-height: 1px;\n padding-right: @grid-gap-16 / 2;\n padding-left: @grid-gap-16 / 2;\n}\n\n/* 取消列间距 */\n.mdui-row-gapless {\n .mdui-col,\n [class*=\"mdui-col-xs-\"],\n [class*=\"mdui-col-sm-\"],\n [class*=\"mdui-col-md-\"],\n [class*=\"mdui-col-lg-\"],\n [class*=\"mdui-col-xl-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n\n // 嵌套元素的内补\n .mdui-row,\n [class*=\"mdui-row-\"] {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n._grid_col_loop(12, ~\"xs\");\n\n@media (min-width: @screen-sm-min) {\n ._grid_col_loop(12, ~\"sm\");\n}\n\n@media (min-width: @screen-md-min) {\n ._grid_col_loop(12, ~\"md\");\n}\n\n@media (min-width: @screen-lg-min) {\n ._grid_col_loop(12, ~\"lg\");\n}\n\n@media (min-width: @screen-xl-min) {\n ._grid_col_loop(12, ~\"xl\");\n}","// 阴影\n.mdui-shadow(@depth) {\n @shadow: 'shadow-depth-@{depth}';\n\n box-shadow: @@shadow;\n}\n\n// hover 时添加阴影\n.mdui-hoverable(@depth: 8) {\n transition: box-shadow 0.25s @animation-curve-default;\n will-change: box-shadow;\n\n &:hover,\n &:focus {\n .mdui-shadow(@depth);\n }\n}\n","/**\n * =============================================================================\n * ************ Shadow 阴影 ************\n * =============================================================================\n */\n\n._md_shadow(@shadow) when (@shadow > -1) {\n ._md_shadow(@shadow - 1);\n\n .mdui-shadow-@{shadow} {\n .mdui-shadow(@shadow) !important;\n }\n}\n\n._md_shadow(24);\n\n/* 鼠标悬浮时加深阴影 */\n.mdui-hoverable {\n .mdui-hoverable(8);\n}\n","/**\n * =============================================================================\n * ************ Headroom ************\n * =============================================================================\n */\n\n .mdui-headroom {\n transition: all .3s @animation-curve-default !important;\n}\n\n/* 固定在顶部时 */\n.mdui-headroom-pinned-top {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 在顶部隐藏时 */\n.mdui-headroom-unpinned-top {\n transform: translate3d(0, -100%, 0) !important;\n .mdui-shadow(0) !important;\n}\n\n/* 固定在底部时 */\n.mdui-headroom-pinned-down {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 在底部隐藏时 */\n.mdui-headroom-unpinned-down {\n transform: translate3d(0, 100%, 0) !important;\n .mdui-shadow(0) !important;\n}\n\n/* 固定应用栏中的工具栏 */\n.mdui-headroom-pinned-toolbar {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 隐藏应用栏中的工具栏 */\n.mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -@appbar-height-xs-portrait, 0) !important;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n transform: translate3d(0, -@appbar-height-sm, 0) !important;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n transform: translate3d(0, -@appbar-height-xs-landscape, 0) !important;\n }\n}\n","/**\n * =============================================================================\n * ************ Collapse 折叠插件 ************\n * =============================================================================\n */\n\n .mdui-collapse-item-header {\n // 图标,打开时翻转 180 度\n .mdui-collapse-item-arrow,\n &.mdui-collapse-item-arrow {\n transform: rotate(0);\n transition: transform .3s @animation-curve-default;\n will-change: transform;\n }\n}\n\n.mdui-collapse-item-body {\n height: 0;\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 0;\n padding-bottom: 0;\n overflow: hidden;\n transition: all .3s @animation-curve-default;\n will-change: height;\n\n // 使子列表缩进\n .mdui-list-item {\n padding-left: 72px;\n }\n}\n\n.mdui-collapse-item-open {\n &>.mdui-collapse-item-header {\n .mdui-collapse-item-arrow,\n &.mdui-collapse-item-arrow {\n transform: rotate(180deg);\n }\n }\n\n &>.mdui-collapse-item-body {\n height: auto;\n }\n}\n","/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n\n/* 可扩展面板 */\n.mdui-panel {\n box-sizing: border-box;\n width: 100%;\n}\n\n/* 面板项 */\n.mdui-panel-item {\n color: @color-black-text;\n background-color: #fff;\n transition: margin .3s @animation-curve-default;\n will-change: margin;\n .mdui-divider-bottom-dark();\n .mdui-shadow(2);\n\n &:last-child {\n border-bottom: none;\n }\n}\n\n/* 面板头部 */\n.mdui-panel-item-header {\n position: relative;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n height: 48px;\n padding: 0 24px;\n font-size: 15px;\n cursor: pointer;\n transition: all .3s @animation-curve-default;\n will-change: height, background-color;\n .mdui-text-truncate();\n\n &:active {\n background-color: @color-grey-200;\n }\n}\n\n/* 面板项标题 */\n.mdui-panel-item-title {\n box-sizing: border-box;\n width: 36%;\n min-width: 36%;\n padding-right: 16px;\n font-weight: 500;\n .mdui-text-truncate();\n}\n\n/* 面板项内容 */\n.mdui-panel-item-summary {\n flex-grow: 1;\n box-sizing: border-box;\n padding-right: 16px;\n color: @color-black-secondary;\n .mdui-text-truncate();\n}\n\n/* 展开收起的图标 */\n.mdui-panel-item-arrow {\n position: absolute;\n top: 12px;\n right: 24px;\n color: @color-black-icon;\n transform: rotate(0);\n transition: all .3s @animation-curve-default;\n user-select: none;\n will-change: transform, top;\n}\n\n.mdui-panel-item-summary + .mdui-panel-item-arrow {\n position: relative;\n top: 0 !important;\n right: 0;\n}\n\n/* 面板项内容 */\n.mdui-panel-item-body {\n height: 0;\n padding: 0 24px;\n overflow: hidden;\n transition: height .3s @animation-curve-default;\n will-change: height;\n .mdui-clearfix();\n\n &::after {\n height: 16px;\n }\n}\n\n/* 面板项操作栏 */\n.mdui-panel-item-actions {\n display: block;\n width: 100%;\n margin: 16px -24px 0 -24px;\n padding: 16px 24px 0 24px;\n text-align: right;\n .mdui-divider-top-dark();\n\n .mdui-btn {\n margin-left: 8px;\n\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n/* 打开状态的面板项 */\n.mdui-panel-item-open {\n height: auto;\n margin-top: 16px;\n margin-bottom: 16px;\n\n // 打开状态的面板头部更高\n &>.mdui-panel-item-header {\n height: 64px;\n\n .mdui-panel-item-arrow {\n top: 20px;\n transform: rotate(180deg);\n }\n }\n\n &>.mdui-panel-item-body {\n height: auto;\n }\n}\n\n/* 使打开项上下没有边距 */\n.mdui-panel-gapless {\n .mdui-shadow(2);\n\n .mdui-panel-item {\n .mdui-shadow(0);\n }\n\n .mdui-panel-item-open {\n margin-top: 0;\n margin-bottom: 0;\n }\n}\n\n/* 弹出面板 */\n.mdui-panel-popout {\n .mdui-panel-item-open {\n margin-right: -16px;\n margin-left: -16px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Expansion panel dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-panel-item {\n color: #fff;\n background-color: @layout-dark-color-3;\n .mdui-divider-bottom-light();\n\n &:last-child {\n border-bottom: none;\n }\n }\n .mdui-panel-item-header {\n &:active {\n background-color: @color-grey-800;\n }\n }\n .mdui-panel-item-summary {\n color: @color-white-secondary;\n }\n\n /* stylelint-disable-next-line */\n .mdui-panel-item-arrow {\n color: @color-white-icon;\n }\n .mdui-panel-item-actions {\n .mdui-divider-top-light();\n }\n});\n","// 分割线\n// =============================================================================\n\n// 添加边框作为分割线,亮色的分割线,用于深色背景\n.mdui-divider-top-light() {\n border-top: 1px solid @color-white-divider;\n}\n.mdui-divider-bottom-light() {\n border-bottom: 1px solid @color-white-divider;\n}\n.mdui-divider-left-light() {\n border-left: 1px solid @color-white-divider;\n}\n.mdui-divider-right-light() {\n border-right: 1px solid @color-white-divider;\n}\n\n// 添加边框作为分割线,深色的分割线,用于浅色背景\n.mdui-divider-top-dark() {\n border-top: 1px solid @color-black-divider;\n}\n.mdui-divider-bottom-dark() {\n border-bottom: 1px solid @color-black-divider;\n}\n.mdui-divider-left-dark() {\n border-left: 1px solid @color-black-divider;\n}\n.mdui-divider-right-dark() {\n border-right: 1px solid @color-black-divider;\n}\n","/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n\n@import '../selection_control/checkbox';\n\n.mdui-table {\n position: relative;\n width: 100%;\n background-color: #fff;\n border: 1px solid @color-black-divider;\n border-bottom: none;\n border-collapse: separate;\n border-spacing: 0;\n .mdui-shadow(2);\n\n tbody {\n tr {\n position: relative;\n transition: background-color 0.28s @animation-curve-default;\n }\n }\n\n th, td {\n position: relative;\n box-sizing: border-box;\n padding: 12px 28px;\n text-align: left;\n vertical-align: middle;\n .mdui-divider-bottom-dark();\n }\n\n th {\n color: @color-black-secondary;\n font-weight: 700;\n font-size: 13px;\n line-height: 32px;\n .mdui-text-truncate();\n }\n\n td {\n color: @color-black-text;\n font-size: 14px;\n line-height: 24px;\n }\n}\n\n/* 每一行前面的复选框 */\n.mdui-table-cell-checkbox {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n padding-left: 24px !important;\n\n .mdui-checkbox {\n margin-top: 7px;\n }\n\n & + td,\n & + th {\n padding-left: 6px !important;\n }\n}\nth.mdui-table-cell-checkbox {\n .mdui-checkbox {\n margin-top: 11px;\n }\n}\n\n.mdui-table {\n th, td {\n &:last-child {\n padding-right: 24px;\n }\n &:first-child {\n padding-right: 0;\n padding-left: 24px\n }\n &:nth-child(2) {\n padding-left: 24px;\n }\n }\n}\n\n/* 鼠标悬浮时行背景加深 */\n.mdui-table-hoverable {\n tbody tr {\n &:hover {\n background-color: @color-grey-200;\n }\n }\n}\n\n/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */\n.mdui-table-fluid {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border: 1px solid @color-black-divider;\n border-bottom: none;\n .mdui-shadow(2);\n\n .mdui-table {\n .mdui-shadow(0);\n\n margin: 0;\n border: none;\n }\n}\n\n/* 数字列,右对齐 */\n.mdui-table-col-numeric {\n text-align: right !important;\n}\n\n/* 行处于选中状态 */\n.mdui-table-row-selected {\n background-color: @color-grey-100;\n}\n\n\n/**\n * =============================================================================\n * ************ Table dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-table {\n background-color: @layout-dark-color-3;\n border: 1px solid @color-white-divider;\n border-bottom: none;\n\n th, td {\n .mdui-divider-bottom-light();\n }\n\n th {\n color: @color-white-secondary;\n }\n\n td {\n color: @color-white-text;\n }\n }\n\n .mdui-table-hoverable {\n tbody tr {\n &:hover {\n background-color: @color-grey-700;\n }\n }\n }\n\n .mdui-table-fluid {\n border: 1px solid @color-white-divider;\n border-bottom: none;\n\n .mdui-table {\n .mdui-shadow(0);\n\n border: none;\n }\n }\n\n .mdui-table-row-selected {\n background-color: @color-grey-800;\n }\n});\n","/**\n * =============================================================================\n * ************ Divider 分割线 ************\n * =============================================================================\n */\n\n.mdui-divider,\n.mdui-divider-light,\n.mdui-divider-dark,\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n height: 1px;\n margin: -1px 0 0 0;\n border: none;\n}\n\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin-left: 72px;\n}\n\n.mdui-divider,\n.mdui-divider-inset {\n background-color: @color-black-divider;\n}\n\n.mdui-divider-light,\n.mdui-divider-inset-light {\n background-color: @color-white-divider;\n}\n\n.mdui-divider-dark,\n.mdui-divider-inset-dark {\n background-color: @color-black-divider;\n}\n\n/**\n * =============================================================================\n * ************ Divider dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-divider,\n .mdui-divider-inset {\n background-color: @color-white-divider;\n }\n});\n","/**\n * =============================================================================\n * ************ 涟漪动画 ************\n * =============================================================================\n */\n\n.mdui-ripple {\n position: relative;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n}\n\n/* Ripple */\n.mdui-ripple-wave {\n position: absolute !important;\n top: 0;\n left: 0;\n z-index: 1;\n margin: 0;\n padding: 0;\n font-size: 0;\n background-color: rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n transform: translate3d(0, 0, 0) scale(0);\n transition-duration: 1400ms;\n pointer-events: none;\n}\n\n/* 有背景色的默认使用白色涟漪 */\n.mdui-ripple[class*=\"mdui-color-\"] {\n .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n}\n\n/* 白色涟漪 */\n.mdui-ripple-white .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n\n/* 黑色涟漪 */\n.mdui-ripple-black .mdui-ripple-wave {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n.mdui-ripple-wave-fill {\n opacity: 0.35;\n transition-duration: 300ms;\n}\n\n.mdui-ripple-wave-out {\n opacity: 0;\n transition-duration: 600ms;\n}\n\n\n/**\n * =============================================================================\n * ************ Ripple 颜色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n // 指定涟漪颜色\n .mdui-ripple-@{colorName} when not (@colorName = null) {\n .mdui-ripple-wave {\n @color: 'color-@{colorName}-500';\n\n background-color: rgba(red(@@color), green(@@color), blue(@@color), 0.3) !important;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Ripple dark ************\n * =============================================================================\n */\n.layout-theme({\n // 深色主题下使用白色涟漪\n .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n});\n","/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n\n/* 文本框外层 */\n.mdui-textfield {\n position: relative;\n padding-top: 16px;\n padding-bottom: 8px;\n overflow: hidden;\n}\n\n.mdui-textfield-has-bottom {\n padding-bottom: 28px;\n}\n\n/* 输入框 */\n.mdui-textfield-input {\n display: block;\n box-sizing: border-box;\n width: 100%;\n height: 36px;\n margin: 0;\n padding: 8px 0;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.87);\n font-size: 16px;\n font-family: inherit;\n line-height: 20px;\n background: none;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, .42);\n border-radius: 0;\n outline: none;\n box-shadow: none;\n transition-timing-function: @animation-curve-default;\n transition-duration: .2s;\n transition-property: border-bottom-color, padding-right, box-shadow;\n appearance: none;\n resize: none;\n\n &::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.42;\n }\n\n &:not([disabled]):hover {\n border-bottom: 1px solid rgba(0, 0, 0, .87);\n box-shadow: 0 1px 0 0 rgba(0, 0, 0, .87);\n cursor: pointer;\n }\n\n &[rows] {\n height: auto !important;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n/* 文本框 label */\n.mdui-textfield-label {\n display: block;\n width: 100%;\n color: rgba(0, 0, 0, 0.54);\n font-size: 16px;\n transform: scale(0.75) translateY(0);\n transform-origin: left;\n transition: all .2s;\n pointer-events: none;\n}\n\n/* 表单验证错误提示、帮助文本提示 */\n.mdui-textfield-error,\n.mdui-textfield-helper {\n position: absolute;\n bottom: 8px;\n height: 12px;\n font-size: 12px;\n line-height: 12px;\n .mdui-text-truncate();\n}\n\n.mdui-textfield-error {\n color: rgba(red(@color-red-a400), green(@color-red-a400), blue(@color-red-a400), .87);\n visibility: hidden;\n}\n\n.mdui-textfield-helper {\n color: rgba(0, 0, 0, 0.54);\n}\n\n\n/* 表单中的图标\n ========== */\n.mdui-textfield {\n .mdui-icon {\n position: absolute;\n bottom: 8px;\n padding: 6px;\n color: @color-black-icon;\n\n ~ .mdui-textfield-label,\n ~ .mdui-textfield-input,\n ~ .mdui-textfield-error,\n ~ .mdui-textfield-helper,\n ~ .mdui-textfield-flex-wrap {\n /* stylelint-disable-next-line */\n width: calc(~\"100% - 56px\");\n margin-left: 56px;\n }\n }\n}\n\n.mdui-textfield-has-bottom {\n .mdui-icon {\n bottom: 28px;\n }\n}\n\n/* 聚焦状态的文本框\n ============= */\n.mdui-textfield-focus {\n\n .mdui-textfield-input,\n .mdui-textfield-input:hover {\n border-bottom-color: @color-default-a700;\n box-shadow: 0 1px 0 0 @color-default-a700;\n }\n\n .mdui-textfield-label,\n .mdui-icon {\n color: rgba(red(@color-default-a700), green(@color-default-a700), blue(@color-default-a700), .87);\n }\n}\n\n/* 含有浮动标签的文本框\n ================ */\n.mdui-textfield-floating-label {\n\n .mdui-textfield-label {\n color: rgba(0, 0, 0, 0.35);\n transform: scale(1) translateY(27px);\n }\n\n &.mdui-textfield-focus,\n &.mdui-textfield-not-empty {\n .mdui-textfield-label {\n color: rgba(0, 0, 0, 0.65);\n transform: scale(0.75) translateY(0);\n }\n }\n &.mdui-textfield-focus {\n .mdui-textfield-label {\n .mdui-text-color(@color-accent-default-name);\n }\n }\n}\n\n/* 可展开文本框,默认向右展开\n ========== */\n.mdui-textfield-expandable {\n width: 36px;\n min-height: 36px;\n padding: 1px 0;\n transition: width .3s @animation-curve-default;\n\n .mdui-icon {\n bottom: 0;\n padding: 0;\n }\n\n .mdui-textfield-input {\n /* stylelint-disable-next-line */\n width: calc(~\"100% - 36px\");\n margin-left: 36px;\n padding-right: 0;\n }\n\n .mdui-textfield-icon {\n position: absolute;\n top: 0;\n left: 0;\n }\n\n .mdui-textfield-close {\n position: absolute;\n top: 0;\n right: 0;\n transform: scale(0);\n }\n\n &.mdui-textfield-expanded {\n width: 100%;\n\n .mdui-textfield-input {\n padding-right: 36px;\n }\n\n .mdui-textfield-close {\n transform: scale(1);\n }\n }\n}\n\n/* 表单验证不通过\n =========== */\n.mdui-textfield-invalid,\n.mdui-textfield-invalid-html5 {\n\n .mdui-textfield-input,\n &.mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: @color-red-a400 !important;\n box-shadow: 0 1px 0 0 @color-red-a400 !important;\n }\n\n .mdui-textfield-label {\n color: @color-red-a400 !important;\n }\n\n &.mdui-textfield-floating-label {\n .mdui-textfield-label {\n color: rgba(red(@color-red-a400), green(@color-red-a400), blue(@color-red-a400), 0.35) !important;\n }\n\n &.mdui-textfield-focus,\n &.mdui-textfield-not-empty {\n .mdui-textfield-label {\n color: @color-red-a400 !important;\n }\n }\n }\n\n .mdui-textfield-error {\n visibility: visible;\n\n &+.mdui-textfield-helper {\n visibility: hidden;\n }\n }\n}\n\n/* 禁用表单\n ====== */\n.mdui-textfield-disabled {\n .mdui-textfield-label,\n .mdui-textfield-input::-webkit-input-placeholder {\n color: @color-black-disabled;\n }\n\n .mdui-textfield-input {\n color: rgba(0, 0, 0, .42);\n cursor: default;\n }\n\n .mdui-textfield-input {\n border-bottom: 1px dashed rgba(0, 0, 0, .42);\n }\n}\n\n/* 字数统计\n ====== */\n.mdui-textfield-counter {\n position: absolute;\n right: 8px;\n bottom: 8px;\n height: 12px;\n color: @color-black-secondary;\n font-size: 12px;\n line-height: 12px;\n}\n\n\n/**\n * =============================================================================\n * ************ Textfield dark ************\n * =============================================================================\n */\n.layout-theme({\n // 输入框颜色\n .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, .7);\n\n &::-webkit-input-placeholder {\n color: rgba(255, 255, 255, .5);\n }\n\n &:not([disabled]):hover {\n border-bottom-color: rgba(255, 255, 255, 1);\n box-shadow: 0 1px 0 0 rgba(255, 255, 255, 1);\n }\n }\n\n // 图标颜色\n .mdui-textfield {\n .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n }\n }\n\n // 标签颜色\n .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n }\n\n .mdui-textfield-floating-label {\n .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n }\n }\n\n // 错误文本颜色\n .mdui-textfield-error {\n color: @color-red-a400;\n }\n\n // 帮助文本颜色\n .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n }\n\n // 字数统计颜色\n .mdui-textfield-counter {\n color: @color-white-secondary;\n }\n\n // 聚焦状态\n .mdui-textfield-focus {\n\n .mdui-textfield-input,\n .mdui-textfield-input:hover {\n border-bottom-color: @color-default-a200;\n box-shadow: 0 1px 0 0 @color-default-a200;\n }\n\n .mdui-textfield-label {\n color: @color-default-a200;\n }\n }\n\n // 禁用状态\n .mdui-textfield-disabled {\n .mdui-textfield-label,\n .mdui-textfield-input::-webkit-input-placeholder {\n color: @color-white-disabled;\n }\n\n .mdui-textfield-input {\n color: @color-white-disabled;\n }\n\n .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, .7);\n }\n }\n});\n\n\n/**\n * =============================================================================\n * ************ Textfield 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n @colorA700: 'color-@{colorName}-a700';\n @colorA200: 'color-@{colorName}-a200';\n\n .mdui-textfield-focus {\n\n .mdui-textfield-input {\n border-bottom-color: @@colorA700;\n box-shadow: 0 1px 0 0 @@colorA700;\n }\n\n .mdui-textfield-label,\n .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-icon {\n color: rgba(red(@@colorA700), green(@@colorA700), blue(@@colorA700), .87);\n }\n }\n\n // 暗色主题\n & {\n .dark-mode() {\n .mdui-textfield-focus {\n\n .mdui-textfield-input {\n border-bottom-color: @@colorA200;\n box-shadow: 0 1px 0 0 @@colorA200;\n }\n\n .mdui-textfield-label,\n .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-icon {\n color: @@colorA200;\n }\n }\n }\n\n & when (@globalLayoutDark = true) {\n &.mdui-theme-layout-dark {\n .dark-mode();\n }\n }\n\n & when (@globalLayoutAuto = true) {\n @media (prefers-color-scheme: dark) {\n &.mdui-theme-layout-auto {\n .dark-mode();\n }\n }\n }\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n","/**\n * =============================================================================\n * ************ Checkbox 复选框 ************\n * =============================================================================\n */\n\n.mdui-checkbox {\n position: relative;\n display: inline-block;\n height: 36px;\n padding-left: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input[type=\"checkbox\"] {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n }\n}\n\n/* 透明的圆形,用于生成圆形阴影 */\n.mdui-checkbox-icon {\n position: absolute;\n top: 9px;\n left: 0;\n display: inline-block;\n width: 18px;\n height: 18px;\n vertical-align: middle;\n background-color: transparent;\n border: none;\n border-radius: 18px;\n transition: box-shadow .14s @animation-curve-default;\n\n // 图标的边框和背景\n &::after {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 0;\n box-sizing: border-box;\n width: 18px;\n height: 18px;\n border: 2px solid @color-black-icon;\n border-radius: 2px;\n transition: all .3s @animation-curve-default;\n content: ' ';\n }\n\n // 选中状态图标内部的勾\n &::before {\n position: absolute;\n top: 2px;\n left: 0;\n z-index: 1;\n box-sizing: border-box;\n width: 8px;\n height: 13px;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transform: rotateZ(37deg) scale(0);\n transform-origin: 100% 100%;\n opacity: 0;\n transition: all .3s @animation-curve-default;\n content: ' ';\n }\n}\n\n/* 各种状态的图标 */\n.mdui-checkbox input[type=\"checkbox\"] {\n\n // 选中状态的图标\n &:checked + .mdui-checkbox-icon {\n &::after {\n background-color: @color-default-a200;\n border-color: @color-default-a200;\n }\n\n &::before {\n transform: rotateZ(37deg) scale(1);\n opacity: 1;\n }\n }\n\n // 不确定状态的图标\n &:indeterminate + .mdui-checkbox-icon {\n &::after {\n background-color: @color-default-a200;\n border-color: @color-default-a200;\n }\n\n &::before {\n top: 8px;\n left: 3px;\n width: 12px;\n height: 0;\n border-right: none;\n border-bottom: 2px solid #fff;\n border-radius: 1px;\n transform: rotateZ(0) scale(1);\n opacity: 1;\n }\n }\n\n // 禁用状态的图标\n &:disabled + .mdui-checkbox-icon {\n &::after {\n border-color: @color-black-icon-disabled;\n }\n }\n\n // 禁用且选中状态\n &:disabled:checked + .mdui-checkbox-icon,\n &:disabled:indeterminate + .mdui-checkbox-icon {\n &::after {\n background-color: @color-black-icon-disabled !important;\n border-color: transparent !important;\n }\n }\n}\n\n/* 阴影 */\n.mdui-checkbox:active input[type=\"checkbox\"],\n.mdui-checkbox input[type=\"checkbox\"]:focus {\n // 未选中、禁用时 按下的阴影\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n\n // 已选中时按下的阴影\n &:not(:disabled):checked,\n &:not(:disabled):indeterminate {\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Checkbox 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // 选中状态的图标\n .mdui-checkbox input[type=\"checkbox\"]:checked,\n .mdui-checkbox input[type=\"checkbox\"]:indeterminate {\n & + .mdui-checkbox-icon::after {\n background-color: @@color;\n border-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-checkbox:active input[type=\"checkbox\"],\n .mdui-checkbox input[type=\"checkbox\"]:focus {\n &:not(:disabled):checked + .mdui-checkbox-icon,\n &:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Checkbox dark ************\n * =============================================================================\n */\n.layout-theme({\n // 未选中的图标\n .mdui-checkbox-icon {\n &::after {\n border-color: rgba(255, 255, 255, 0.7);\n }\n\n &::before {\n border-right-color: @layout-dark-color-3 !important;\n border-bottom-color: @layout-dark-color-3 !important;\n }\n }\n\n // 禁用状态\n .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon {\n &::after {\n border-color: @color-white-icon-disabled;\n }\n }\n\n // 禁用且选中状态\n .mdui-checkbox input[type=\"checkbox\"] {\n &:disabled:checked + .mdui-checkbox-icon,\n &:disabled:indeterminate + .mdui-checkbox-icon {\n &::after {\n background-color: @color-white-icon-disabled !important;\n border-color: transparent !important;\n }\n }\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-checkbox:active input[type=\"checkbox\"],\n .mdui-checkbox input[type=\"checkbox\"]:focus {\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Radio 单选框 ************\n * =============================================================================\n */\n\n.mdui-radio {\n position: relative;\n display: inline-block;\n height: 36px;\n padding-left: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n }\n}\n\n/* 图标外圈 */\n.mdui-radio-icon {\n position: absolute;\n top: 9px;\n left: 0;\n display: inline-block;\n box-sizing: border-box;\n width: 18px;\n height: 18px;\n vertical-align: middle;\n border: 2px solid @color-black-icon;\n border-radius: 18px;\n transition: all .3s @animation-curve-default,\n box-shadow .14s @animation-curve-default;\n\n // 图标内部圆圈\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n height: 14px;\n background-color: @color-default-a200;\n border-radius: 14px;\n transform: scale(0);\n opacity: 0;\n transition: all .3s @animation-curve-default;\n content: ' ';\n }\n}\n\n/* 选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: @color-default-a200;\n\n &::before {\n transform: scale(0.68);\n opacity: 1;\n }\n}\n\n/* 禁用状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: @color-black-icon-disabled !important;\n}\n\n/* 禁用且选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon {\n &::before {\n background-color: @color-black-icon-disabled !important;\n }\n}\n\n/* 未选中、禁用时 按下的阴影 */\n.mdui-radio:active input[type=\"radio\"],\n.mdui-radio input[type=\"radio\"]:focus {\n & + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n}\n\n/* 已选中时按下的阴影 */\n.mdui-radio:active input[type=\"radio\"],\n.mdui-radio input[type=\"radio\"]:focus {\n &:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n}\n\n/**\n * =============================================================================\n * ************ Radio 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // 选中状态的图标\n .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: @@color;\n\n &::before {\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-radio:active input[type=\"radio\"],\n .mdui-radio input[type=\"radio\"]:focus {\n &:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.layout-theme({\n // 图标外圈\n .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n }\n\n // 禁用状态\n .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: @color-white-icon-disabled !important;\n }\n\n // 禁用且选中状态\n .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon {\n &::before {\n background-color: @color-white-icon-disabled !important;\n }\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-radio:active input[type=\"radio\"],\n .mdui-radio input[type=\"radio\"]:focus {\n & + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Switch 单选框 ************\n * =============================================================================\n */\n\n.mdui-switch {\n display: inline-block;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n }\n}\n\n/* 图标轨道 */\n.mdui-switch-icon {\n position: relative;\n display: inline-block;\n width: 36px;\n height: 14px;\n vertical-align: middle;\n background-color: rgba(0, 0, 0, 0.38);\n border-radius: 14px;\n transition: background-color .3s @animation-curve-default;\n\n // 圆形图标\n &::before {\n position: absolute;\n top: -3px;\n left: -3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n background-color: @color-grey-50;\n border-radius: 20px;\n transition: box-shadow .14s @animation-curve-default,\n background-color .3s @animation-curve-default,\n left .3s @animation-curve-default;\n content: ' ';\n .mdui-shadow(1);\n }\n}\n\n/* 选中状态的图标 */\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.5);\n\n &::before {\n left: 20px;\n background-color: @color-default-a200;\n }\n}\n\n/* 未选中时或禁用时 按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"],\n.mdui-switch input[type=\"checkbox\"]:focus {\n & + .mdui-switch-icon::before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n}\n\n/* 已选中时按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"],\n.mdui-switch input[type=\"checkbox\"]:focus {\n &:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n}\n\n/* 禁用状态 */\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(0, 0, 0, 0.12) !important;\n\n &::before {\n background-color: @color-grey-400 !important;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Switch 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // 选中状态的图标\n .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@@color), green(@@color), blue(@@color), 0.5);\n\n &::before {\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-switch:active input[type=\"checkbox\"],\n .mdui-switch input[type=\"checkbox\"]:focus {\n &:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.layout-theme({\n // 默认状态\n .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n\n &::before {\n background-color: @color-grey-400;\n }\n }\n\n // 选中状态\n & {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n @color-a100: 'color-@{colorName}-a100';\n\n &.mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@@color-a100), green(@@color-a100), blue(@@color-a100), 0.5);\n\n &::before {\n background-color: @@color-a100;\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-switch:active input[type=\"checkbox\"],\n .mdui-switch input[type=\"checkbox\"]:focus {\n & + .mdui-switch-icon::before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n\n // 禁用状态\n .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n\n &::before {\n background-color: @color-grey-800 !important;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n\n@slider-light-color: #bdbdbd; // rgba(0, 0, 0, .26)\n@slider-light-color-focus: #9e9e9e; // rgba(0, 0, 0, .38)\n@slider-light-color-disabled: #bdbdbd; // rgba(0, 0, 0, .26)\n\n@slider-dark-color: #4c4c4c; // rgba(255, 255, 255, .3)\n@slider-dark-color-focus: #4c4c4c; // rgba(255, 255, 255, .3)\n@slider-dark-color-disabled: #4c4c4c; // rgba(255, 255, 255, .3)\n\n.mdui-slider {\n position: relative;\n display: block;\n width: 100%;\n height: 36px;\n\n input[type=\"range\"] {\n position: absolute;\n top: 50%;\n left: 0;\n z-index: 2;\n width: 100%;\n height: 20px;\n margin-top: -10px;\n cursor: pointer;\n opacity: 0;\n appearance: none;\n }\n}\n\n.mdui-slider-track,\n.mdui-slider-fill {\n position: absolute;\n top: 50%;\n box-sizing: border-box;\n height: 2px;\n margin-top: -1px;\n\n &::before {\n display: block;\n width: 100%;\n height: 100%;\n content: ' ';\n }\n}\n\n/* 轨道 */\n.mdui-slider-track {\n right: 0;\n\n &::before {\n background-color: @slider-light-color;\n transition: background-color .3s @animation-curve-default;\n }\n}\n\n/* 已滑动部分 */\n.mdui-slider-fill {\n left: 0;\n\n &::before {\n background-color: @color-default-a200;\n }\n}\n\n/* 滑块 */\n.mdui-slider-thumb {\n position: absolute;\n top: 50%;\n box-sizing: border-box;\n width: 12px;\n height: 12px;\n margin-top: -6px;\n background-color: @color-default-a200;\n border: 2px solid @color-default-a200;\n border-radius: 50%;\n transform: translate(-50%);\n transition:\n background .45s @animation-curve-default,\n border-color .45s @animation-curve-default,\n transform .2s @animation-curve-default,\n border-radius .2s @animation-curve-default;\n will-change: background, border-color, transform, border-radius;\n}\n\n\n/**\n * =============================================================================\n * ************ Slider 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n .mdui-slider-fill {\n\n &::before {\n background-color: @@color;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @@color;\n border: 2px solid @@color;\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ============ Slider 的不同状态 ============\n * =============================================================================\n */\n\n/* 鼠标按下状态 */\n.mdui-slider-focus {\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-light-color-focus;\n }\n }\n\n .mdui-slider-thumb {\n transform: translate(-50%) scale(1.6);\n }\n}\n\n/* 滑块值为 0 */\n.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #fff;\n border-color: @slider-light-color;\n }\n}\n\n/* 滑块值为 0,且鼠标按下 */\n.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n border-color: @slider-light-color-focus;\n }\n}\n\n/* 禁用状态 */\n.mdui-slider-disabled {\n input[type=\"range\"] {\n cursor: default;\n }\n\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-light-color-disabled;\n }\n }\n\n .mdui-slider-fill {\n\n &::before {\n background-color: @slider-light-color-disabled;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @slider-light-color-disabled;\n border-color: transparent !important;\n transform: translate(-50%) scale(.72);\n }\n}\n\n/**\n * =============================================================================\n * ============ 间续型滑块 ============\n * =============================================================================\n */\n.mdui-slider-discrete {\n\n .mdui-slider-thumb {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n margin-left: -15px;\n border: none;\n transform: rotate(-45deg) scale(.4);\n\n // 间续型滑块的值显示\n span {\n position: absolute;\n top: 9px;\n left: -1px;\n width: 100%;\n color: #fff;\n font-size: 12px;\n text-align: center;\n transform: rotate(45deg);\n opacity: 0;\n transition: opacity .25s @animation-curve-default;\n }\n }\n\n // 鼠标按下状态\n &.mdui-slider-focus {\n .mdui-slider-thumb {\n border-radius: 15px 15px 15px 0;\n transform: rotate(-45deg) scale(1) translate(22px, -22px);\n\n span {\n opacity: 1;\n }\n }\n }\n\n // 滑块值为 0\n &.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #323232;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n &.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n background-color: @slider-light-color;\n }\n }\n\n // 禁用状态\n &.mdui-slider-disabled {\n .mdui-slider-thumb {\n transform: rotate(-45deg) scale(.288);\n }\n }\n\n // 滑块值为 0,且禁用\n &.mdui-slider-zero.mdui-slider-disabled {\n .mdui-slider-thumb {\n background-color: @slider-light-color;\n }\n }\n}\n\n/**\n * =============================================================================\n * ************ Slider dark ************\n * =============================================================================\n */\n.layout-theme({\n // 轨道\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-dark-color;\n }\n }\n\n // 鼠标按下状态\n .mdui-slider-focus {\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-dark-color-focus;\n }\n }\n }\n\n // 滑块值为 0\n .mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: @layout-dark-color-3;\n border-color: @slider-dark-color;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n .mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n border-color: @slider-dark-color-focus;\n }\n }\n\n // 禁用状态\n .mdui-slider-disabled {\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n .mdui-slider-fill {\n\n &::before {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n // 间续型滑块\n .mdui-slider-discrete {\n\n // 滑块值为 0\n &.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #fefefe;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n &.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n background-color: #5c5c5c;\n }\n }\n\n // 滑块值为 0,且禁用\n &.mdui-slider-zero.mdui-slider-disabled {\n .mdui-slider-thumb {\n background-color: @slider-dark-color-disabled;\n }\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Button 按钮 ************\n * =============================================================================\n */\n\n/* 默认为 Flat 扁平按钮 */\n.mdui-btn,\n.mdui-fab {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n min-width: 88px;\n height: @button-height;\n margin: 0;\n padding: 0 16px;\n overflow: hidden;\n color: inherit;\n font-weight: 500;\n font-size: 14px;\n line-height: @button-height;\n letter-spacing: 0.04em;\n white-space: nowrap;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n vertical-align: middle;\n background: transparent;\n border: none;\n border-radius: 2px;\n outline: none;\n cursor: pointer;\n transition: all .2s @animation-curve-default,\n box-shadow .2s @animation-curve-fast-out-linear-in;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n // 移除点击延迟触发\n touch-action: manipulation;\n will-change: box-shadow;\n zoom: 1;\n -webkit-user-drag: none;\n\n // 透明按钮 hover、active 时颜色加深\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n }\n &:not(.mdui-ripple):active {\n background-color: rgba(0, 0, 0, 0.165);\n }\n\n // 带背景色的按钮 hover、active 时增加透明度\n &[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n &:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n}\n\n/* 按钮内的图标 */\n.mdui-btn {\n .mdui-icon-left,\n .mdui-icon-right {\n &,\n &::before {\n height: inherit;\n font-size: 1.3em;\n line-height: inherit;\n }\n }\n .mdui-icon-left {\n float: left;\n margin-right: 0.4em;\n }\n .mdui-icon-right {\n float: right;\n margin-left: 0.4em;\n }\n}\n\ninput.mdui-btn[type=\"submit\"] {\n appearance: none;\n}\n\n/* Raised button 浮动按钮 */\n.mdui-btn-raised {\n .mdui-shadow(2);\n\n &:hover {\n .mdui-shadow(4);\n }\n\n &:active {\n .mdui-shadow(8);\n }\n}\n\n/* 禁用按钮 */\n.mdui-btn,\n.mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n color: rgba(0, 0, 0, .26) !important;\n background-color: transparent !important;\n cursor: default !important;\n opacity: 1 !important;\n .mdui-shadow(0) !important;\n .mdui-icon {\n color: rgba(0, 0, 0, .26) !important;\n }\n }\n }\n}\n\n/* 禁用状态浮动按钮和浮动操作按钮 */\n.mdui-btn-raised,\n.mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: rgba(0, 0, 0, .12) !important;\n .mdui-shadow(2) !important;\n }\n }\n}\n\n/* 加粗按钮文本 */\n.mdui-btn-bold {\n font-weight: bold;\n}\n\n/* 图标按钮 */\n.mdui-btn-icon {\n width: 36px;\n min-width: 36px;\n height: 36px;\n margin-right: 0;\n margin-left: 0;\n padding: 0;\n overflow: hidden;\n font-size: 24px;\n line-height: normal;\n border-radius: 50%;\n\n .mdui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 24px;\n line-height: 24px;\n transform: translate(-12px, -12px);\n }\n\n &.mdui-ripple {\n transform: translateZ(0);\n }\n}\n\n/* 按钮 100% 宽度 */\n.mdui-btn-block {\n display: block;\n width: 100%;\n}\n\n/* 密集型按钮 */\n.mdui-btn-dense {\n height: 32px;\n font-size: 13px;\n line-height: 32px;\n\n &.mdui-btn-icon {\n width: 32px;\n min-width: 32px;\n }\n}\n\n/* 按钮组 */\n.mdui-btn-group {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n\n .mdui-btn {\n float: left;\n min-width: inherit;\n padding: 0 12px;\n color: rgba(0, 0, 0, 0.54);\n border-radius: 0;\n\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n border-left: 1px solid transparent;\n content: ' ';\n }\n\n &:first-child {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n\n &::before {\n border-left: none;\n }\n }\n\n &:last-child {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n\n // 激活状态\n &.mdui-btn-active {\n color: rgba(0, 0, 0, 0.87);\n background-color: rgba(0, 0, 0, 0.215);\n\n &+.mdui-btn-active {\n &::before {\n border-left: 1px solid rgba(0, 0, 0, 0.145);\n }\n }\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Button dark ************\n * =============================================================================\n */\n.layout-theme({\n // 透明按钮 hover、active 时颜色变浅\n .mdui-btn,\n .mdui-fab {\n // 透明按钮 hover、active 时颜色变浅\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n &:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n\n // 带背景的按钮 hover、active 时增加透明度\n &[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n &:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n }\n\n // 禁用按钮\n .mdui-btn,\n .mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n color: @color-white-icon-disabled !important;\n background-color: transparent !important;\n .mdui-icon {\n color: @color-white-icon-disabled !important;\n }\n }\n }\n }\n\n // 禁用状态浮动按钮和浮动操作按钮\n .mdui-btn-raised,\n .mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: rgba(255, 255, 255, .12) !important;\n }\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n\n@import '../button/index';\n\n@fab-size: 56px;\n@fab-size-mini: 40px;\n\n/* 浮动操作按钮 */\n.mdui-fab {\n width: @fab-size;\n min-width: @fab-size;\n height: @fab-size;\n margin: auto;\n padding: 0 !important;\n overflow: hidden;\n font-size: 24px;\n line-height: normal !important;\n border-radius: 50%;\n .mdui-shadow(6);\n\n &:hover{\n .mdui-shadow(8);\n }\n\n &:active {\n .mdui-shadow(12);\n }\n\n // 浮动操作按钮中的图标\n .mdui-icon {\n position: absolute;\n top: 0;\n left: 0;\n width: 24px;\n margin-top: 16px;\n margin-left: 16px;\n line-height: 24px;\n }\n}\n\n/* mini 型浮动操作按钮 */\n.mdui-fab-mini {\n width: @fab-size-mini;\n min-width: @fab-size-mini;\n height: @fab-size-mini;\n\n // mini 型浮动操作按钮中的图标\n .mdui-icon {\n margin-top: 8px;\n margin-left: 8px;\n }\n}\n\n/* 固定到右下角的 FAB 按钮 */\n.mdui-fab-fixed,\n.mdui-fab-wrapper {\n position: fixed !important;\n\n /* 手机平板上距离屏幕右下角 16px */\n right: 16px;\n bottom: 16px;\n\n @media (min-width: @screen-md-min) {\n /* 电脑上距离屏幕右下角 24px */\n right: 24px;\n bottom: 24px;\n }\n}\n\n/* 含菜单的浮动操作按钮 */\n.mdui-fab-wrapper {\n position: relative;\n z-index: @z-index-fab;\n width: @fab-size;\n height: @fab-size;\n padding-top: 8px;\n text-align: center;\n\n // 菜单打开前\n &>.mdui-fab {\n .mdui-icon:not(.mdui-fab-opened) {\n opacity: 1;\n transition: all .2s @animation-curve-default;\n will-change: opacity, transform;\n }\n .mdui-icon.mdui-fab-opened {\n transform: rotate(225deg);\n opacity: 0;\n transition: all .2s @animation-curve-default;\n will-change: opacity, transform;\n }\n }\n\n // 菜单打开后\n &>.mdui-fab.mdui-fab-opened {\n .mdui-icon:not(.mdui-fab-opened) {\n transform: rotate(225deg);\n opacity: 0;\n }\n .mdui-icon.mdui-fab-opened {\n transform: rotate(360deg);\n opacity: 1;\n }\n }\n\n // mini 按钮需要垂直居中\n &>.mdui-fab-mini {\n margin-top: (@fab-size - @fab-size-mini) / 2;\n }\n\n .mdui-fab-dial {\n position: absolute;\n right: 0;\n bottom: @fab-size + 8px;\n left: 0;\n height: 0;\n text-align: center;\n visibility: visible;\n\n .mdui-fab {\n margin: 8px 0;\n transform: scale(0);\n opacity: 0;\n transition: box-shadow .2s @animation-curve-fast-out-linear-in,\n color .2s @animation-curve-default,\n // fab\n transform 150ms @animation-curve-default,\n opacity 150ms @animation-curve-default;\n }\n\n &.mdui-fab-dial-show {\n .mdui-fab {\n transform: scale(1);\n opacity: 1;\n }\n }\n }\n}\n\n/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */\n.mdui-fab,\n.mdui-fab-mini,\n.mdui-fab-wrapper {\n transform: scale(1) translateZ(0);\n transition: all .2s @animation-curve-default,\n box-shadow .2s @animation-curve-fast-out-linear-in,\n // fab\n transform .2s;\n will-change: transform;\n\n &.mdui-fab-hide {\n transform: scale(0) translateZ(0);\n }\n}\n","/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n\n.mdui-select {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n max-width: 100%;\n height: 36px;\n padding-right: 24px;\n padding-left: 0;\n font-size: 16px;\n font-family: @font-family-base;\n vertical-align: middle;\n //background-image: data-uri('image/svg+xml', './components/select/svg/arrow_down_dark.svg');\n // https://www.zhangxinxu.com/sp/svgo/ CSS 转义\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' opacity='.54'/%3E%3C/svg%3E\");\n\n // 箭头\n background-repeat: no-repeat;\n background-position: right center;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n outline: none;\n cursor: pointer;\n transition-timing-function: @animation-curve-default;\n transition-duration: .2s;\n transition-property: background-color, box-shadow, background-position-x;\n appearance: none;\n user-select: none;\n will-change: background-color, box-shadow, background-position-x;\n\n &.mdui-select-open {\n border-bottom: none;\n }\n}\n\n.mdui-select-position-top {\n //background-image: data-uri('image/svg+xml', './components/select/svg/arrow_up_dark.svg');\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' opacity='.54'/%3E%3C/svg%3E\");\n}\n\n/* 底部和顶部菜单的样式 */\n.mdui-select-open {\n &.mdui-select-position-top,\n &.mdui-select-position-bottom {\n z-index: 99999;\n background-color: #fff;\n /* stylelint-disable-next-line */\n background-position-x: calc(~'100% - 12px');\n border-radius: 2px;\n }\n\n &.mdui-select-position-top {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 2px solid transparent;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n box-shadow: 0 10px 10px -3px rgba(0,0,0,.2), 0 0 14px 1px rgba(0,0,0,.14), 0 -7px 24px 2px rgba(0,0,0,.12);\n\n .mdui-select-menu {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n\n // 隐藏下方的阴影\n box-shadow: 0 -4px 4px -2px rgba(0,0,0,.06), 8px 0 8px -4px rgba(0,0,0,.12), -8px 0 8px -4px rgba(0,0,0,.12)\n }\n }\n\n &.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n .mdui-shadow(8);\n\n .mdui-select-menu {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n\n // 隐藏上方阴影\n box-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 9px 9px 1px rgba(0,0,0,.14), 0 8px 8px 2px rgba(0,0,0,.06);\n }\n }\n}\n\n/* 当前选中项文本 */\n.mdui-select-selected {\n position: absolute;\n top: 50%;\n right: 24px;\n left: 0;\n display: block;\n transform: translateY(-50%);\n transition: left .2s @animation-curve-linear-out-slow-in;\n .mdui-text-truncate();\n\n .mdui-select-open & {\n right: 32px;\n left: 16px;\n }\n\n .mdui-select-open.mdui-select-position-auto & {\n visibility: hidden;\n }\n}\n\n/* 菜单 */\n.mdui-select-menu {\n position: relative;\n z-index: 99999;\n box-sizing: border-box;\n height: 36px;\n margin: 0 -24px 0 0;\n\n // 在计算宽度时,把滚动条计算进去\n overflow-y: scroll;\n color: @color-black-text;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(1, 0);\n visibility: hidden;\n cursor: default;\n opacity: 0;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n transition-duration: .2s;\n transition-property: transform, opacity, visibility;\n will-change: transform, opacity, visibility;\n -webkit-overflow-scrolling: touch;\n .mdui-shadow(8);\n\n // 打开状态的菜单\n .mdui-select-open & {\n overflow-y: hidden;\n transform: scale(1, 1);\n visibility: visible;\n opacity: 1;\n }\n\n // 关闭状态的菜单\n .mdui-select-closing & {\n overflow-y: hidden;\n box-shadow: none;\n transform: scale(1, 1);\n visibility: visible;\n opacity: 0;\n }\n}\n\n/* 菜单项 */\n.mdui-select-menu-item {\n height: 48px;\n padding: 0 16px;\n line-height: 48px;\n cursor: pointer;\n .mdui-text-truncate();\n\n &:hover {\n background-color: @color-grey-200;\n }\n\n &:first-child {\n margin-top: 8px;\n }\n\n &:last-child {\n margin-bottom: 8px;\n }\n\n // 禁用项\n &[disabled] {\n color: @color-black-disabled !important;\n cursor: default;\n\n &:hover {\n background-color: inherit !important;\n }\n }\n\n // 已选中项\n &[selected] {\n color: @color-default-a200;\n }\n}\n\n\n/* 原生 select 组件 */\nselect.mdui-select {\n background-color: transparent;\n\n option {\n color: rgba(0, 0, 0, 0.87);\n }\n\n // 移除 IE 的下拉按钮\n &::-ms-expand {\n display: none;\n }\n}\n\n/* 原生多选 select 组件 */\nselect.mdui-select[multiple] {\n height: auto;\n padding: 0;\n font-size: 15px;\n background-color: #FFF;\n background-image: none;\n border: 1px solid rgba(0, 0, 0, 0.38);\n cursor: default;\n\n optgroup {\n margin: 8px 0 0 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.38);\n\n &:last-child {\n margin-bottom: 8px;\n }\n\n &:not(:first-child) {\n padding-top: 8px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n }\n }\n\n option {\n display: flex;\n align-items: center;\n height: 32px;\n margin: 0 0 0 -16px;\n padding: 0 16px;\n color: rgba(0, 0, 0, 0.87);\n\n &:first-child {\n margin-top: 8px;\n }\n\n &:last-child {\n margin-bottom: 8px;\n }\n }\n}\n\n/**\n * =============================================================================\n * ************ Select 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n .mdui-select-menu-item {\n // 菜单中已选中项\n &[selected] {\n .mdui-text-color(@colorName);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Select dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-select {\n //background-image: data-uri('image/svg+xml', './components/select/svg/arrow_down_light.svg');\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E\");\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n\n .mdui-select-position-top {\n //background-image: data-uri('image/svg+xml', './components/select/svg/arrow_up_light.svg');\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E\");\n }\n\n .mdui-select-open {\n &.mdui-select-position-top,\n &.mdui-select-position-bottom {\n background-color: @layout-dark-color-4;\n }\n\n &.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n\n &.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n }\n\n .mdui-select-menu {\n color: #fff;\n background-color: @layout-dark-color-4;\n }\n\n .mdui-select-menu-item {\n &:hover {\n background-color: @color-grey-700;\n }\n\n &[disabled] {\n color: @color-white-disabled !important;\n }\n }\n\n // 原生 select 组件\n select.mdui-select {\n color: #FFF;\n background-color: @layout-dark-color-3;\n\n option {\n color: #FFF;\n background-color: @layout-dark-color-3;\n }\n }\n\n // 原生多选 select 组件\n select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n\n optgroup {\n color: rgba(255, 255, 255, 0.5);\n\n &:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Toolbar 工具栏 ************\n * =============================================================================\n */\n\n.mdui-toolbar {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n &>* {\n margin: 0 16px;\n .mdui-text-truncate();\n }\n\n // 工具栏默认有背景色时,工具栏中的按钮,hover 和 active 时颜色变浅\n &[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n .mdui-btn {\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n &:active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n }\n }\n\n &>a {\n color: inherit;\n text-decoration: none;\n user-select: none;\n }\n\n &>.mdui-btn-icon {\n width: @appbar-icon-width;\n min-width: @appbar-icon-width;\n height: @appbar-icon-width;\n\n // 手机横屏时\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n width: @appbar-icon-width-xs-landscape;\n min-width: @appbar-icon-width-xs-landscape;\n height: @appbar-icon-width-xs-landscape;\n }\n\n .mdui-icon {\n height: 24px;\n line-height: 24px;\n }\n }\n\n .mdui-icon {\n color: inherit;\n }\n}\n\n.mdui-toolbar-spacer {\n flex-grow: 1;\n margin: 0;\n}\n\n// 响应式。只有在应用栏中的工具栏,才具有响应式特性,不在应用栏中,则使用手机样式\n._toolbar_responsive_mixed(@toolbar-height, @icon-width) {\n .mdui-toolbar {\n height: @toolbar-height;\n line-height: @toolbar-height;\n\n &>.mdui-btn {\n margin: 0 (@toolbar-height - @icon-width) / 2;\n\n & + .mdui-btn {\n margin-left: 0;\n }\n }\n }\n}\n\n/* 手机 */\n._toolbar_responsive_mixed(@appbar-height-xs-portrait, @appbar-icon-width);\n\n.mdui-appbar {\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n ._toolbar_responsive_mixed(@appbar-height-sm, @appbar-icon-width);\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n ._toolbar_responsive_mixed(@appbar-height-xs-landscape, @appbar-icon-width-xs-landscape);\n }\n}\n","/**\n * =============================================================================\n * ************ Appbar 应用栏 ************\n * =============================================================================\n */\n\n@import '../toolbar/index';\n@import '../headroom/index';\n\n.mdui-appbar {\n z-index: @z-index-appbar;\n .mdui-shadow(4);\n}\n\n/* appbar 固定在顶部 */\n.mdui-appbar-fixed {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n transition-duration: 0.3s;\n transition-property: left, right;\n will-change: left, right;\n}\n\n/* 左侧留出抽屉栏的距离 */\n.mdui-appbar-inset.mdui-appbar-fixed {\n .mdui-drawer-body-left & {\n @media (min-width: @screen-md-min) {\n left: @drawer-width-md;\n }\n }\n\n .mdui-drawer-body-right & {\n @media (min-width: @screen-md-min) {\n right: @drawer-width-md;\n }\n }\n}\n\n/* 含工具栏 */\n.mdui-appbar-with-toolbar {\n padding-top: @appbar-height-xs-portrait;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape;\n }\n}\n\n/* 含 Tab */\n.mdui-appbar-with-tab {\n padding-top: 48px;\n}\n\n/* 含大 Tab */\n.mdui-appbar-with-tab-larger {\n padding-top: 72px;\n}\n\n/* 含工具栏和 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: @appbar-height-xs-portrait + 48px;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm + 48px;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape + 48px;\n }\n}\n\n/* 含工具栏和大 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: @appbar-height-xs-portrait + 72px;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm + 72px;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape + 72px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Appbar dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-appbar {\n &>[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n color: #fff !important;\n background-color: @layout-dark-color-2 !important;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Card 卡片 ************\n * =============================================================================\n */\n\n/* 卡片 */\n.mdui-card {\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n border-radius: 2px;\n .mdui-shadow(2);\n}\n\n/**\n * ===================== 头部,包含头像、标题、副标题\n */\n.mdui-card-header {\n position: relative;\n box-sizing: border-box;\n height: 72px;\n padding: 16px;\n}\n\n/* 卡片头部头像 */\n.mdui-card-header-avatar {\n float: left;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n}\n\n/* 卡片头部标题 */\n.mdui-card-header-title {\n display: block;\n margin-left: 52px;\n font-weight: 500;\n font-size: 16px;\n line-height: 20px;\n opacity: @opacity-black-text;\n .mdui-text-truncate();\n}\n\n/* 卡片头部副标题 */\n.mdui-card-header-subtitle {\n display: block;\n margin-left: 52px;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n opacity: @opacity-black-secondary;\n .mdui-text-truncate();\n}\n\n/**\n * =========================== 主标题区域\n */\n.mdui-card-primary {\n position: relative;\n padding: 24px 16px 16px 16px;\n}\n\n/* 主标题区域标题 */\n.mdui-card-primary-title {\n display: block;\n font-size: 24px;\n line-height: 36px;\n opacity: @opacity-black-text;\n}\n\n/* 主标题区域副标题 */\n.mdui-card-primary-subtitle {\n display: block;\n font-size: 14px;\n line-height: 24px;\n opacity: @opacity-black-secondary;\n}\n\n/**\n * ============================ 内容区域\n */\n.mdui-card-content {\n position: relative;\n padding: 16px;\n font-size: 14px;\n line-height: 24px;\n}\n\n/**\n * ============================ 卡片菜单\n */\n.mdui-card-menu {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n\n .mdui-btn {\n margin-left: 8px;\n }\n}\n\n/**\n * =========================== 按钮区域\n */\n.mdui-card-actions {\n .mdui-clearfix();\n\n position: relative;\n box-sizing: border-box;\n padding: 8px;\n\n .mdui-btn {\n max-width: 100%;\n margin: 0 8px 0 0;\n .mdui-text-truncate();\n }\n\n .mdui-btn-icon {\n width: @button-height;\n height: @button-height;\n margin: 0 8px;\n }\n}\n\n/* 使按钮竖向排列 */\n.mdui-card-actions-stacked {\n .mdui-btn {\n display: block;\n margin: 0 0 4px 0;\n &:last-child {\n margin: 0;\n }\n }\n}\n\n/**\n * ============================= 媒体元素区域\n */\n.mdui-card-media {\n position: relative;\n img, video {\n display: block;\n width: 100%;\n }\n}\n\n/* 覆盖在媒体元素上的内容 */\n.mdui-card-media-covered {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n\n /* 覆盖在媒体元素上的标题 */\n .mdui-card-primary-title {\n opacity: @opacity-white-text;\n }\n .mdui-card-primary-subtitle {\n opacity: @opacity-white-secondary;\n }\n}\n\n/* 覆盖在媒体元素顶部 */\n.mdui-card-media-covered-top {\n top: 0;\n bottom: auto;\n}\n\n/* 覆盖层透明 */\n.mdui-card-media-covered-transparent {\n background: transparent;\n}\n\n/* 覆盖层渐变 */\n.mdui-card-media-covered-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n\n &.mdui-card-media-covered-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Card dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-card {\n color: #fff;\n background-color: @layout-dark-color-4;\n }\n});\n","/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n *\n * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分\n */\n\n/* 选项卡,默认的选项卡为全宽 */\n.mdui-tab {\n position: relative;\n display: flex;\n min-height: 48px;\n max-height: 72px;\n margin: 0 auto;\n padding: 0;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n\n a {\n display: flex;\n // 手机上始终等分选项卡\n flex: 1;\n\n // 使图标和文本垂直排列\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 72px;\n min-height: 48px;\n max-height: 72px;\n padding: 12px;\n overflow: hidden;\n color: inherit;\n font-size: 14px;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n text-overflow: ellipsis;\n outline: none;\n cursor: pointer;\n opacity: 0.7;\n user-select: none;\n\n .mdui-icon {\n opacity: 0.7;\n }\n\n // 平板或以上设备\n @media (min-width: @screen-sm-min) {\n\n // 平板/pc上选项卡左对齐\n flex: none;\n min-width: 99px;\n max-width: 264px;\n\n // 手机上 padding 12px,平板/pc上 padding 24px\n padding: 12px 24px;\n }\n\n @media (min-width: @screen-md-min) {\n min-width: 112px;\n }\n\n @media (min-width: @screen-lg-min) {\n min-width: 136px;\n }\n\n @media (min-width: @screen-xl-min) {\n min-width: 160px;\n }\n\n label {\n display: block;\n width: 100%;\n cursor: pointer;\n }\n\n .mdui-icon + label {\n margin-top: 8px;\n }\n\n &[disabled] {\n cursor: default;\n opacity: 0.38;\n\n label {\n cursor: default;\n }\n }\n }\n\n // 激活状态的选项\n .mdui-tab-active {\n color: @color-default-500;\n opacity: 1;\n .mdui-icon {\n opacity: 1;\n }\n }\n}\n\n/* 选项卡居中 */\n.mdui-tab-centered {\n @media (min-width: @screen-sm-min) {\n &::before {\n flex-grow: 1;\n content: ' ';\n }\n &::after {\n flex-grow: 1;\n content: ' ';\n }\n a {\n flex: none;\n }\n }\n}\n\n/* 选项卡始终全宽等分 */\n.mdui-tab-full-width {\n a {\n flex: 1;\n max-width: none;\n }\n}\n\n\n/* 可横向滚动的选项卡 */\n.mdui-tab-scrollable {\n padding-left: 56px;\n\n a {\n flex: none;\n }\n\n @media (max-width: @screen-xs-max) {\n padding-left: 60px;\n }\n\n}\n\n/* 下划线指示器 */\n.mdui-tab-indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: @color-default-500;\n transition: all .35s @animation-curve-default;\n will-change: left, width;\n}\n\n/**\n * =============================================================================\n * ************ Tab 主色 ************\n * =============================================================================\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n .mdui-tab .mdui-tab-active {\n color: @@color;\n }\n\n .mdui-tab-indicator {\n background-color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n/* 带背景色的选项卡 */\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) {\n .mdui-tab-active {\n color: inherit;\n }\n .mdui-tab-indicator {\n background-color: @color-white-500;\n }\n\n // 带背景色的选项卡中使用浅色滚动条\n & {\n .mdui-scrollbar-beautify(dark);\n }\n}\n","/**\n * =============================================================================\n * ************ Subheader 副标题 ************\n * =============================================================================\n *\n * 用于 List 和 Grid list 组件\n */\n\n.mdui-subheader,\n.mdui-subheader-inset {\n position: relative;\n box-sizing: border-box;\n height: 48px;\n padding-right: 16px;\n padding-left: 16px;\n color: @color-black-secondary;\n font-weight: 500;\n font-size: 14px;\n line-height: 48px;\n cursor: default;\n .mdui-text-truncate();\n}\n\n.mdui-subheader-inset {\n padding-left: 72px;\n}\n\n/**\n * =============================================================================\n * ************ Subheader dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-subheader,\n .mdui-subheader-inset {\n color: @color-white-secondary;\n }\n});\n","/**\n * =============================================================================\n * ************ Grid List 网格列表 ************\n * =============================================================================\n */\n\n/* 调整网格边距 */\n.mdui-grid-list {\n margin: 0 -@grid-list-gutter / 2;\n\n .mdui-col,\n [class*=\"mdui-col-xs-\"],\n [class*=\"mdui-col-sm-\"],\n [class*=\"mdui-col-md-\"],\n [class*=\"mdui-col-lg-\"],\n [class*=\"mdui-col-xl-\"] {\n padding-right: @grid-list-gutter / 2;\n padding-left: @grid-list-gutter / 2;\n }\n}\n\n/* 单元格 */\n.mdui-grid-tile {\n position: relative;\n box-sizing: border-box;\n margin-bottom: @grid-list-gutter;\n overflow: hidden;\n\n img {\n display: block;\n width: 100%;\n }\n}\n\n/* 操作栏 */\n.mdui-grid-tile-actions {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n max-height: 68px;\n padding: 16px;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n\n .mdui-icon {\n color: #fff;\n }\n}\n\n/* 操作栏内的文本 */\n.mdui-grid-tile-text {\n flex: 1;\n overflow: hidden;\n}\n\n/* 标题 */\n.mdui-grid-tile-title {\n height: 16px;\n font-size: 16px;\n line-height: 16px;\n .mdui-text-truncate();\n\n .mdui-icon {\n margin-right: 8px;\n }\n}\n\n/* 副标题 */\n.mdui-grid-tile-subtitle {\n height: 18px;\n margin-top: 4px;\n font-size: 12px;\n line-height: 18px;\n .mdui-text-truncate();\n\n .mdui-icon {\n margin-right: 8px;\n font-size: 18px;\n }\n}\n\n/* 操作栏内的按钮 */\n.mdui-grid-tile-buttons {\n flex: none;\n margin: -8px;\n white-space: nowrap;\n\n .mdui-btn {\n margin-left: 8px;\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n.mdui-grid-tile-text + .mdui-grid-tile-buttons {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons + .mdui-grid-tile-text {\n margin-left: 16px;\n}\n\n/* 操作栏位于顶部 */\n.mdui-grid-tile-actions-top {\n top: 0;\n bottom: auto;\n}\n\n/* 操作栏背景透明 */\n.mdui-grid-tile-actions-transparent {\n background: transparent;\n}\n\n/* 操作栏背景渐变 */\n.mdui-grid-tile-actions-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n\n &.mdui-grid-tile-actions-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n }\n}","/**\n * =============================================================================\n * ************ List 列表 ************\n * =============================================================================\n */\n\n/* 列表 */\n.mdui-list {\n margin: 0;\n padding: 8px 0;\n list-style: none;\n background-color: transparent;\n\n // 子列表没有上下间距\n .mdui-list {\n padding: 0;\n }\n\n // 分割线上下边距\n &>.mdui-divider,\n &>.mdui-divider-light,\n &>.mdui-divider-dark,\n &>.mdui-divider-inset,\n &>.mdui-divider-inset-light,\n &>.mdui-divider-inset-dark {\n margin-top: 8px;\n margin-bottom: 8px;\n }\n\n a {\n color: inherit;\n text-decoration: none;\n }\n\n // 使用副标题时自动添加分割线\n .mdui-subheader,\n .mdui-subheader-inset {\n &::before {\n position: absolute;\n right: 0;\n left: 0;\n display: block;\n height: 1px;\n background-color: @color-black-divider;\n content: ' ';\n }\n\n margin-top: 8px;\n\n &:first-child {\n &::before {\n background-color: transparent;\n }\n\n // 第一个副标题把列表的 padding-top 抵消掉\n margin-top: -8px;\n }\n }\n .mdui-subheader-inset {\n &::before {\n left: 72px;\n }\n }\n}\n\n/* 列表项 */\n.mdui-list-item {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n padding: 0 16px;\n text-decoration: none;\n cursor: pointer;\n transition: background-color .3s @animation-curve-default;\n\n &:hover {\n background-color: @color-hover-black;\n }\n\n // http://stackoverflow.com/a/31915203\n &::after {\n height: 48px;\n visibility: hidden;\n content: ' ';\n }\n}\n\n/* 列表项图标 */\n.mdui-list-item-icon {\n width: 24px;\n min-width: 24px;\n height: 24px;\n color: @color-black-icon;\n}\n\n/* 列表项头像 */\n.mdui-list-item-avatar {\n min-width: 40px;\n max-width: 40px;\n height: 40px;\n margin-top: 8px;\n margin-bottom: 8px;\n color: @color-white;\n line-height: 40px;\n text-align: center;\n background-color: @color-grey-400;\n border-radius: 50%;\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n }\n}\n\n/* 列表项内容 */\n.mdui-list-item-content {\n flex-grow: 1;\n padding-top: 14px;\n padding-bottom: 14px;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n}\n\n/* 列表项内容的副内容 */\n.mdui-list-item-text {\n font-size: 14px;\n opacity: @opacity-black-secondary;\n}\n.mdui-list-item-title {\n ~ .mdui-list-item-text {\n margin-top: 4px;\n }\n}\n\n/* 激活状态的列表项 */\n.mdui-list-item-active {\n font-weight: 700;\n background-color: @color-hover-black;\n\n .mdui-list-item-content {\n font-weight: 700;\n }\n .mdui-list-item-text {\n font-weight: 400;\n }\n}\n\n/* 限制文本高度 */\n.mdui-list-item-one-line,\n.mdui-list-item-two-line,\n.mdui-list-item-three-line {\n display: -webkit-box;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n}\n.mdui-list-item-one-line {\n -webkit-line-clamp: 1;\n height: 20px;\n}\n.mdui-list-item-two-line {\n -webkit-line-clamp: 2;\n height: 40px;\n}\n.mdui-list-item-three-line {\n -webkit-line-clamp: 3;\n height: 60px;\n}\n\n/* 列表项内的元素间添加间距 */\n.mdui-list-item-icon {\n ~ .mdui-list-item-content {\n margin-left: 32px;\n }\n}\n.mdui-checkbox,\n.mdui-radio,\n.mdui-switch {\n ~ .mdui-list-item-content {\n margin-left: 20px;\n }\n}\n\n\n.mdui-list-item-avatar {\n ~ .mdui-list-item-content {\n margin-left: 16px;\n }\n}\n.mdui-list-item-content {\n ~ .mdui-list-item-icon,\n ~ .mdui-list-item-avatar,\n ~ .mdui-checkbox,\n ~ .mdui-radio,\n ~ .mdui-switch {\n margin-left: 16px;\n }\n\n ~ .mdui-checkbox,\n ~ .mdui-radio {\n padding-left: 24px;\n }\n}\n\n/* 密集型列表 */\n.mdui-list-dense {\n padding: 4px 0;\n font-size: 13px;\n\n &>.mdui-divider,\n &>.mdui-divider-light,\n &>.mdui-divider-dark,\n &>.mdui-divider-inset,\n &>.mdui-divider-inset-light,\n &>.mdui-divider-inset-dark {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n\n // 副标题\n .mdui-subheader,\n .mdui-subheader-inset {\n height: 40px;\n margin-top: 4px;\n font-size: 12px;\n line-height: 40px;\n\n &:first-child {\n margin-top: -4px;\n }\n }\n\n // 密集型列表项\n .mdui-list-item {\n min-height: 40px;\n\n &::after {\n height: 40px;\n }\n }\n\n // 图标\n .mdui-list-item-icon {\n width: 20px;\n height: 20px;\n font-size: 20px;\n }\n\n // 头像\n .mdui-list-item-avatar {\n width: 36px;\n min-width: 36px;\n height: 36px;\n min-height: 36px;\n }\n\n // 列表项内容\n .mdui-list-item-content {\n padding-top: 11px;\n padding-bottom: 11px;\n font-size: 13px;\n line-height: 18px;\n }\n .mdui-list-item-text {\n font-size: 13px;\n }\n .mdui-list-item-title {\n ~ .mdui-list-item-text {\n margin-top: 2px;\n }\n }\n\n // 限制文本高度\n .mdui-list-item-one-line {\n height: 18px;\n }\n .mdui-list-item-two-line {\n height: 36px;\n }\n .mdui-list-item-three-line {\n height: 54px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ List dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-list {\n // 副标题的分割线\n .mdui-subheader,\n .mdui-subheader-inset {\n &::before {\n background-color: @color-white-divider;\n }\n\n &:first-child {\n &::before {\n background-color: transparent;\n }\n }\n }\n }\n\n // 列表项\n .mdui-list-item {\n color: @color-white-text;\n\n &:hover {\n background-color: @color-hover-white;\n }\n }\n\n // 列表项图标\n .mdui-list-item-icon {\n color: @color-white-icon;\n }\n\n // 列表内容副内容\n .mdui-list-item-text {\n opacity: @opacity-white-secondary;\n }\n\n // 激活状态的列表项\n .mdui-list-item-active {\n background-color: @color-hover-white;\n }\n});\n\n/**\n * ==============================================================================\n * ************ List inner theme ************\n * ==============================================================================\n */\n[class*=\"mdui-color-\"] {\n .mdui-list-item {\n color: inherit;\n }\n .mdui-list-item-icon {\n color: inherit;\n }\n}\n","/**\n * =============================================================================\n * ************ Drawer 抽屉栏导航 ************\n * =============================================================================\n */\n\n/* DOM 加载完后再添加 transition */\nbody.mdui-loaded {\n transition: padding .3s @animation-curve-linear-out-slow-in;\n}\nbody.mdui-loaded .mdui-drawer {\n transition: all .3s @animation-curve-linear-out-slow-in;\n}\n\n/* 抽屉栏外层,默认出现在左侧且隐藏 */\n.mdui-drawer {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: @z-index-drawer;\n box-sizing: border-box;\n\n // 手机端宽度为 100% - 56px,最大为 280px\n /* stylelint-disable-next-line */\n width: calc(~\"100% - 56px\");\n max-width: @drawer-width-xs;\n margin: 0;\n overflow-x: hidden;\n overflow-y: auto;\n white-space: nowrap;\n will-change: transform;\n -webkit-overflow-scrolling: touch;\n\n // 隐藏时不显示阴影\n @media (max-width: @screen-sm-max) {\n &:not(.mdui-drawer-open) {\n box-shadow: none !important;\n }\n }\n\n // 平板端宽度为 100% - 64px,最大为 320px\n @media (min-width: @screen-sm-min) {\n /* stylelint-disable-next-line */\n width: calc(~\"100% - 64px\");\n max-width: @drawer-width-sm;\n }\n\n // 桌面端宽度\n @media (min-width: @screen-md-min) {\n width: @drawer-width-md;\n max-width: none;\n\n // 隐藏时不显示阴影\n &.mdui-drawer-close {\n box-shadow: none !important;\n }\n }\n}\n\n/* 出现在右侧的抽屉栏 */\n.mdui-drawer-right {\n right: 0;\n left: auto;\n}\n\n/* 平板上的样式 */\n@media (max-width: @screen-sm-max) {\n .mdui-drawer {\n /* 始终有背景和阴影 */\n background-color: #fff;\n\n /* 默认隐藏 */\n transform: translateX(-@drawer-width-sm - 10);\n .mdui-shadow(16);\n }\n\n .mdui-drawer-right {\n /* 右侧 drawer 也默认隐藏 */\n transform: translateX(@drawer-width-sm + 10);\n }\n}\n\n/* 手机上的样式 */\n@media (max-width: @screen-xs-max) {\n .mdui-drawer {\n transform: translateX(-@drawer-width-xs - 10);\n }\n\n .mdui-drawer-right {\n transform: translateX(@drawer-width-xs + 10);\n }\n}\n\n/* 强制隐藏抽屉栏 */\n._drawer_close(@drawer-width) {\n .mdui-drawer-close {\n transform: translateX(-@drawer-width - 10);\n &.mdui-drawer-right {\n transform: translateX(@drawer-width + 10);\n }\n }\n}\n\n._drawer_close(@drawer-width-xs);\n\n@media (min-width: @screen-sm-min) {\n ._drawer_close(@drawer-width-sm);\n}\n\n@media (min-width: @screen-md-min) {\n ._drawer_close(@drawer-width-md);\n}\n\n/* 强制显示抽屉栏 */\n.mdui-drawer-open {\n transform: translateX(0) !important;\n}\n\n/* PC 上的样式 */\n@media (min-width: @screen-md-min) {\n /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */\n .mdui-drawer-body-left {\n padding-left: @drawer-width-md;\n }\n .mdui-drawer-body-right {\n padding-right: @drawer-width-md;\n }\n\n /* PC 上默认有上边距 */\n .mdui-drawer {\n .mdui-appbar-with-toolbar & {\n top: @appbar-height-sm;\n }\n\n .mdui-appbar-with-tab & {\n top: 48px;\n }\n\n .mdui-appbar-with-tab-larger & {\n top: 72px;\n }\n\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab & {\n top: @appbar-height-sm + 48px;\n }\n\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger & {\n top: @appbar-height-sm + 72px;\n }\n }\n}\n\n/* 抽屉栏不是透明时添加阴影 */\n.mdui-drawer[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n .mdui-shadow(16);\n}\n\n/* 抽屉栏 100% 高度,覆盖在导航栏上面 */\n.mdui-drawer-full-height {\n top: 0 !important;\n}\n\n\n/**\n * =============================================================================\n * ************ Drawer dark ************\n * =============================================================================\n */\n.layout-theme({\n // 手机平板上的样式\n @media (max-width: @screen-sm-max) {\n .mdui-drawer {\n background-color: @layout-dark-color-4;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Dialog 提示框 ************\n * =============================================================================\n */\n\n@import '../button/index';\n\n.mdui-dialog {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @z-index-dialog;\n display: none;\n box-sizing: border-box;\n width: 92%;\n min-width: 180px;\n max-width: 728px;\n max-height: 90%;\n margin: auto;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(0.95);\n opacity: 0;\n transition-duration: .3s;\n transition-property: transform, opacity, visibility;\n will-change: top, opacity, transform;\n\n @media (min-width: @screen-sm-min) {\n width: 85%;\n max-height: 85%;\n }\n @media (min-width: @screen-md-min) {\n width: 80%;\n max-height: 80%;\n }\n\n .mdui-shadow(24);\n}\n\n/* 打开提示框 */\n.mdui-dialog-open {\n transform: scale(1);\n opacity: 1;\n}\n\n/* 提示框标题 */\n.mdui-dialog-title {\n box-sizing: border-box;\n font-weight: 500;\n font-size: 20px;\n line-height: 24px;\n text-align: left;\n}\n\n/* 标题固定在顶部 */\n.mdui-dialog>.mdui-dialog-title {\n padding: 24px 24px 20px 24px;\n}\n\n/* 提示框内容 */\n.mdui-dialog-content {\n box-sizing: border-box;\n padding: 24px;\n overflow-y: auto;\n color: rgba(0, 0, 0, 0.7);\n font-size: 15px;\n line-height: 1.5;\n -webkit-overflow-scrolling: touch;\n}\n\n/* 标题随内容滚动 */\n.mdui-dialog-content>.mdui-dialog-title {\n padding-bottom: 20px;\n}\n\n.mdui-dialog-title + .mdui-dialog-content {\n padding-top: 0;\n}\n\n/* 提示框底部按钮 */\n.mdui-dialog-actions {\n box-sizing: border-box;\n padding: 8px;\n text-align: right;\n .mdui-btn {\n min-width: 64px;\n margin-left: 8px;\n .mdui-text-color(@color-accent-default-name);\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n/* 底部按钮滚随内容动 */\n.mdui-dialog-content>.mdui-dialog-actions {\n margin: 0 -24px -24px -24px;\n padding-top: 32px;\n}\n\n/* 使提示框底部按钮竖排 */\n.mdui-dialog-actions-stacked {\n padding: 8px 0 8px 0;\n .mdui-btn {\n width: 100%;\n height: 48px;\n margin: 0;\n line-height: 48px !important;\n text-align: right;\n border-radius: 0;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Dialog 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n .mdui-dialog-actions {\n .mdui-btn {\n .mdui-text-color(@colorName);\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Dialog dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-dialog {\n color: #fff;\n background-color: @layout-dark-color-4;\n }\n .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n }\n});\n","/**\n * =============================================================================\n * ************ Dialog alert ************\n * =============================================================================\n */\n\n @import './index';\n\n.mdui-dialog-alert {\n max-width: 448px;\n}\n","/**\n * =============================================================================\n * ************ Dialog confirm ************\n * =============================================================================\n */\n\n @import './index';\n\n.mdui-dialog-confirm {\n max-width: 448px;\n}\n","/**\n * =============================================================================\n * ************ Dialog prompt ************\n * =============================================================================\n */\n\n@import '../textfield/index';\n@import './index';\n\n.mdui-dialog-prompt {\n max-width: 448px;\n\n .mdui-textfield {\n padding-top: 0;\n }\n}\n","/**\n * =============================================================================\n * ************ Tooltip 工具提示 ************\n * =============================================================================\n */\n\n.mdui-tooltip {\n position: absolute;\n z-index: @z-index-tooltip;\n display: inline-block;\n box-sizing: border-box;\n max-width: 180px;\n min-height: 32px;\n padding: 8px 16px;\n color: #fff;\n font-weight: 500;\n\n // 移动端样式\n font-size: 14px;\n line-height: 22px;\n text-align: left;\n background-color: rgba(red(@color-grey-700), green(@color-grey-700), blue(@color-grey-700), 0.9);\n border-radius: 2px;\n transform: scale(0);\n opacity: 0;\n transition-timing-function: @animation-curve-default;\n transition-duration: 0.15s;\n transition-property: opacity, transform;\n will-change: opacity, transform;\n\n // 桌面端样式\n @media (min-width: @screen-md-min) {\n max-width: 200px;\n min-height: 24px;\n padding: 4px 8px;\n font-size: 12px;\n line-height: 18px;\n }\n}\n\n/* 显示工具提示 */\n.mdui-tooltip-open {\n transform: scale(1);\n opacity: 1;\n}","/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n\n@import '../button/index';\n\n.mdui-snackbar {\n position: fixed;\n z-index: @z-index-snackbar;\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n\n // 手机端的样式\n width: 100%;\n min-height: 48px;\n padding: 0 24px 0 24px;\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n background-color: #323232;\n will-change: transform;\n\n // 平板、桌面端样式\n @media (min-width: @screen-sm-min) {\n width: auto;\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n }\n}\n\n.mdui-snackbar-bottom,\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-top,\n.mdui-snackbar-right-bottom {\n transition: transform .3s @animation-curve-default;\n}\n\n/* 位置 */\n.mdui-snackbar-bottom,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-bottom {\n bottom: 0;\n}\n\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-right-top {\n top: 0;\n}\n\n.mdui-snackbar-top,\n.mdui-snackbar-bottom {\n left: 50%;\n}\n\n// 平板、桌面端位置\n@media (min-width: @screen-sm-min) {\n .mdui-snackbar-left-top {\n top: 24px;\n left: 24px;\n }\n\n .mdui-snackbar-left-bottom {\n bottom: 24px;\n left: 24px;\n }\n\n .mdui-snackbar-right-top {\n top: 24px;\n right: 24px;\n }\n\n .mdui-snackbar-right-bottom {\n right: 24px;\n bottom: 24px;\n }\n}\n\n/* 文本 */\n.mdui-snackbar-text {\n position: relative;\n max-width: 100%;\n padding: 14px 0 14px 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* 按钮 */\n.mdui-snackbar-action {\n margin-right: -16px;\n white-space: nowrap;\n .mdui-text-color(@color-accent-default-name, a100);\n}\n\n\n/**\n * =============================================================================\n * ************ Snackbar 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n .mdui-snackbar-action {\n .mdui-text-color(@colorName, a100);\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Snackbar dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-snackbar {\n background-color: #5d5d5d;\n }\n});\n","/**\n * =============================================================================\n * ************ Chip 纸片 ************\n * =============================================================================\n */\n\n@chip-height: 32px;\n\n.mdui-chip {\n display: inline-block;\n box-sizing: border-box;\n height: @chip-height;\n margin: 2px 0;\n color: inherit;\n white-space: nowrap;\n background-color: #e0e0e0;\n border-radius: @chip-height / 2;\n cursor: pointer;\n user-select: none;\n .mdui-hoverable(2);\n\n &:active {\n background-color: #d6d6d6;\n }\n}\n\n/* 左侧的图标 */\n.mdui-chip-icon {\n position: relative;\n display: inline-block;\n width: @chip-height;\n height: @chip-height;\n margin-right: -4px;\n overflow: hidden;\n color: #fff;\n font-size: 18px;\n line-height: @chip-height;\n text-align: center;\n vertical-align: middle;\n background-color: #989898;\n border-radius: 50%;\n\n .mdui-icon {\n position: absolute;\n top: 4px;\n left: 4px;\n color: #fff;\n }\n}\n\n/* 文本 */\n.mdui-chip-title {\n display: inline-block;\n height: @chip-height;\n padding-right: 12px;\n padding-left: 12px;\n font-size: 14px;\n line-height: @chip-height;\n vertical-align: middle;\n}\n\n/* 删除按钮 */\n.mdui-chip-delete {\n display: inline-block;\n width: 24px;\n height: 24px;\n margin-right: 4px;\n margin-left: -8px;\n overflow: hidden;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n border-radius: 50%;\n cursor: pointer;\n opacity: .54;\n transition: opacity .25s @animation-curve-default;\n will-change: opacity;\n &:hover,\n &:focus {\n opacity: .87;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Chip dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-chip {\n background-color: #484848;\n &:active {\n background-color: #5d5d5d;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n\n@import '../headroom/index';\n\n.mdui-bottom-nav {\n position: relative;\n display: flex;\n height: 56px;\n margin: 0 auto;\n padding: 0;\n overflow: hidden;\n white-space: nowrap;\n\n @media (min-width: @screen-sm-min) {\n &::before {\n flex-grow: 1;\n content: ' ';\n }\n &::after {\n flex-grow: 1;\n content: ' ';\n }\n }\n\n a {\n display: flex;\n flex: 1;\n\n // 使图标和文本垂直排列\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n max-width: none;\n padding: 8px 12px 10px 12px;\n overflow: hidden;\n color: inherit;\n font-size: 12px;\n text-align: center;\n text-decoration: none;\n text-overflow: ellipsis;\n cursor: pointer;\n opacity: 0.7;\n transition: all .2s @animation-curve-default ;\n user-select: none;\n will-change: padding;\n\n @media (min-width: @screen-sm-min) {\n max-width: 144px;\n }\n\n .mdui-icon {\n opacity: 0.7;\n }\n\n label {;\n display: block;\n width: 100%;\n cursor: pointer;\n transition: transform .2s @animation-curve-default ;\n will-change: font-size;\n }\n\n .mdui-icon + label {\n margin-top: 6px;\n }\n\n // 激活状态的导航项\n &.mdui-bottom-nav-active {\n color: @color-default-500;\n font-size: 14px;\n opacity: 1;\n\n .mdui-icon {\n opacity: 1;\n }\n }\n }\n}\n\n/* 只在激活时显示文本 */\n&.mdui-bottom-nav-text-auto {\n a {\n min-width: 32px;\n padding-right: 0;\n padding-left: 0;\n @media (min-width: @screen-sm-min) {\n max-width: 156px;\n }\n .mdui-icon {\n padding-top: 16px;\n transition: padding-top .2s @animation-curve-default;\n will-change: padding-top;\n }\n label {\n transform: scale(0);\n }\n\n &.mdui-bottom-nav-active {\n padding-right: 18px;\n padding-left: 18px;\n .mdui-icon {\n padding-top: 0;\n }\n label {\n transform: scale(1);\n }\n }\n }\n}\n\n/* 固定到页面底部 */\n.mdui-bottom-nav-fixed {\n .mdui-bottom-nav {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n padding-bottom: 56px;\n}\n\n/**\n * =============================================================================\n * ************ Bottom Nav 主色 ************\n * =============================================================================\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n/* 带背景色的底部导航栏 */\n.mdui-bottom-nav[class*=\"mdui-color-\"] {\n .mdui-bottom-nav-active {\n color: inherit !important;\n }\n}\n","/**\n * =============================================================================\n * ************ Progress Linear 线性进度条 ************\n * =============================================================================\n */\n\n/* 线性进度条 */\n.mdui-progress {\n position: relative;\n display: block;\n width: 100%;\n height: 4px;\n overflow: hidden;\n background-color: rgba(red(@color-default-500), green(@color-default-500), blue(@color-default-500), .2);\n border-radius: 2px;\n}\n\n/* 确定进度的线性进度条 */\n.mdui-progress-determinate {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: @color-default-500;\n transition: width .3s linear;\n}\n\n/* 不确定进度的线性进度条 */\n.mdui-progress-indeterminate {\n background-color: @color-default-500;\n\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: inherit;\n animation: mdui-progress-indeterminate 2s linear infinite;\n content: ' ';\n will-change: left, width;\n }\n\n &::after {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: inherit;\n animation: mdui-progress-indeterminate-short 2s linear infinite;\n content: ' ';\n will-change: left, width;\n }\n}\n\n@keyframes mdui-progress-indeterminate {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 30%;\n width: 70%;\n }\n 75% {\n left: 100%;\n width: 0;\n }\n}\n\n@keyframes mdui-progress-indeterminate-short {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 0;\n width: 0;\n }\n 75% {\n left: 0;\n width: 25%;\n }\n 100% {\n left: 100%;\n width: 0;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Progress linear 主色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n .mdui-progress {\n background-color: rgba(red(@@color), green(@@color), blue(@@color), .2);\n }\n .mdui-progress-determinate,\n .mdui-progress-indeterminate {\n .mdui-background-color(@colorName);\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n","/**\n * =============================================================================\n * ************ Progress Circular 圆形进度条 ************\n * =============================================================================\n */\n\n.mdui-spinner {\n position: relative;\n display: inline-block;\n width: 28px;\n height: 28px;\n animation: mdui-spinner 1568ms linear infinite;\n}\n\n@keyframes mdui-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n.mdui-spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n border-color: @color-default-500;\n opacity: 0;\n opacity: 1;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-1 {\n border-color: @color-blue-400 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-1-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-2 {\n border-color: @color-red-500 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-2-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-3 {\n border-color: @color-yellow-600 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-3-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-4 {\n border-color: @color-green-500 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-4-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n@keyframes mdui-spinner-layer-fill-unfill-rotate {\n 12.5% { transform: rotate(135deg); }\n 25% { transform: rotate(270deg); }\n 37.5% { transform: rotate(405deg); }\n 50% { transform: rotate(540deg); }\n 62.5% { transform: rotate(675deg); }\n 75% { transform: rotate(810deg); }\n 87.5% { transform: rotate(945deg); }\n to { transform: rotate(1080deg); }\n}\n\n@keyframes mdui-spinner-layer-1-fade-in-out {\n from { opacity: 1; }\n 25% { opacity: 1; }\n 26% { opacity: 0; }\n 89% { opacity: 0; }\n 90% { opacity: 1; }\n 100% { opacity: 1; }\n}\n\n@keyframes mdui-spinner-layer-2-fade-in-out {\n from { opacity: 0; }\n 15% { opacity: 0; }\n 25% { opacity: 1; }\n 50% { opacity: 1; }\n 51% { opacity: 0; }\n}\n\n@keyframes mdui-spinner-layer-3-fade-in-out {\n from { opacity: 0; }\n 40% { opacity: 0; }\n 50% { opacity: 1; }\n 75% { opacity: 1; }\n 76% { opacity: 0; }\n}\n\n@keyframes mdui-spinner-layer-4-fade-in-out {\n from { opacity: 0; }\n 65% { opacity: 0; }\n 75% { opacity: 1; }\n 90% { opacity: 1; }\n 100% { opacity: 0; }\n}\n\n.mdui-spinner-gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n .mdui-spinner-circle {\n left: -450%;\n box-sizing: border-box;\n width: 1000%;\n }\n}\n\n.mdui-spinner-circle-clipper {\n position: relative;\n display: inline-block;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n .mdui-spinner-circle {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n box-sizing: border-box;\n width: 200%;\n height: 100%;\n border-color: inherit;\n border-style: solid;\n border-width: 3px;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n }\n\n &.mdui-spinner-left {\n float: left;\n\n .mdui-spinner-circle {\n left: 0;\n border-right-color: transparent !important;\n transform: rotate(129deg);\n animation: mdui-spinner-left-spin 1333ms @animation-curve-default infinite both;\n }\n }\n\n &.mdui-spinner-right {\n float: right;\n\n .mdui-spinner-circle {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg);\n animation: mdui-spinner-right-spin 1333ms @animation-curve-default infinite both;\n }\n }\n}\n\n@keyframes mdui-spinner-left-spin {\n from { transform: rotate(130deg); }\n 50% { transform: rotate(-5deg); }\n to { transform: rotate(130deg); }\n}\n\n@keyframes mdui-spinner-right-spin {\n from { transform: rotate(-130deg); }\n 50% { transform: rotate(5deg); }\n to { transform: rotate(-130deg); }\n}\n\n\n/**\n * =============================================================================\n * ************ Spinner linear 主色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n .mdui-spinner-layer {\n border-color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n","/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n\n// 普通菜单宽度基数\n@menu-simple-x: 56px;\n\n// 级联菜单宽度基数\n@menu-cascade-x: 64px;\n\n/* 菜单 */\n.mdui-menu {\n position: fixed;\n z-index: 99999;\n display: block;\n box-sizing: border-box;\n width: @menu-simple-x * 3;\n margin: 0;\n padding: 8px 0;\n\n // 简单菜单高度超出窗口高度时,使菜单边框和窗口保持一定距离,菜单内出现滚动条\n overflow-y: auto;\n color: @color-black-text;\n font-size: 16px;\n list-style: none;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(0);\n visibility: hidden;\n opacity: 0;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n transition-duration: .3s;\n transition-property: transform, opacity, visibility;\n will-change: transform, opacity, visibility;\n -webkit-overflow-scrolling: touch;\n .mdui-shadow(8);\n\n // 菜单中的分隔线,默认上下有 8px 的外边距\n .mdui-divider {\n margin-top: 8px;\n margin-bottom: 8px;\n }\n}\n\n/* 打开状态的菜单 */\n.mdui-menu-open {\n transform: scale(1);\n visibility: visible;\n opacity: 1;\n}\n\n/* 关闭中的菜单 */\n.mdui-menu-closing {\n transform: scale(1);\n visibility: visible;\n opacity: 0;\n}\n\n/* 菜单项 */\n.mdui-menu-item {\n position: relative;\n\n &>a {\n position: relative;\n display: block;\n height: 48px;\n padding: 0 16px;\n color: inherit;\n line-height: 48px;\n text-decoration: none;\n user-select: none;\n .mdui-text-truncate();\n\n &:hover {\n background-color: @color-grey-200;\n }\n }\n\n // 子菜单默认隐藏,阴影更深\n &>.mdui-menu {\n position: absolute;\n .mdui-shadow(9);\n }\n\n // 禁用的菜单条目\n &[disabled] {\n &>a {\n color: @color-black-disabled !important;\n cursor: default;\n\n &:hover {\n background-color: inherit !important;\n }\n\n .mdui-icon {\n color: @color-black-icon-disabled;\n }\n }\n }\n}\n\n/* 激活状态的菜单项 */\n.mdui-menu-item-active {\n background-color: @color-grey-200;\n}\n\n/* 菜单中的图标 */\n.mdui-menu-item-icon {\n display: inline-block;\n box-sizing: border-box;\n width: 40px;\n padding-right: 16px;\n color: @color-black-icon;\n}\n\n/* 菜单中的辅助文本或图标 */\n.mdui-menu-item-helper {\n float: right;\n}\n\n/* 有子菜单的条目的图标 */\n.mdui-menu-item-more {\n float: right;\n width: 24px;\n height: 24px;\n margin: 4px 0;\n //background-image: data-uri('image/svg+xml', './components/menu/svg/arrow_right_dark.svg');\n // https://www.zhangxinxu.com/sp/svgo/ CSS 转义\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' opacity='.54'/%3E%3C/svg%3E\");\n}\n\n\n/* 级联菜单 */\n.mdui-menu-cascade {\n width: @menu-cascade-x * 5;\n padding: 16px 0;\n\n // 级联菜单内部不出现滚动条\n overflow: visible;\n font-size: 15px;\n\n &>.mdui-menu-item {\n &>a {\n height: 32px;\n padding: 0 24px;\n line-height: 32px;\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Menu dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-menu {\n color: #fff;\n background-color: @layout-dark-color-4;\n }\n\n .mdui-menu-item {\n &>a {\n &:hover {\n background-color: @color-grey-700;\n }\n }\n\n &[disabled] {\n &>a {\n color: @color-white-disabled !important;\n\n .mdui-icon {\n color: @color-white-icon-disabled;\n }\n }\n }\n }\n\n .mdui-menu-item-active {\n background-color: @color-grey-700;\n }\n\n .mdui-menu-item-icon {\n color: @color-white-icon;\n }\n\n .mdui-menu-item-more {\n //background-image: data-uri('image/svg+xml', './components/menu/svg/arrow_right_light.svg');\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E\");\n }\n});\n"]} \ No newline at end of file diff --git a/static/mdui/css/mdui.min.css b/static/mdui/css/mdui.min.css new file mode 100644 index 0000000..b845c4c --- /dev/null +++ b/static/mdui/css/mdui.min.css @@ -0,0 +1,6 @@ +/*! + * mdui 1.0.1 (https://mdui.org) + * Copyright 2016-2020 zdhxiong + * Licensed under MIT + *//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*{-webkit-tap-highlight-color:transparent}body{color:rgba(0,0,0,.87);font-size:14px;font-family:Roboto,Noto,Helvetica,Arial,sans-serif;background-color:#fff}@media (min-width:600px){body{font-size:14.5px}}@media (min-width:1024px){body{font-size:15px}}body ::-webkit-scrollbar{width:5px;height:5px;background:0 0}@media (min-width:1024px){body ::-webkit-scrollbar{width:8px;height:8px}}body ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2)}body.mdui-locked{overflow:hidden}.mdui-overlay{position:fixed;top:-5000px;right:-5000px;bottom:-5000px;left:-5000px;z-index:2000;background:rgba(0,0,0,.4);-webkit-backface-visibility:hidden;backface-visibility:hidden;visibility:hidden;opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,visibility;transition-property:opacity,visibility;will-change:opacity}.mdui-overlay-show{visibility:visible;opacity:1}.mdui-no-transition{-webkit-transition-property:none!important;transition-property:none!important}.mdui-theme-layout-dark{color:#fff;background-color:#303030}.mdui-theme-layout-dark ::-webkit-scrollbar{width:5px;height:5px;background:0 0}@media (min-width:1024px){.mdui-theme-layout-dark ::-webkit-scrollbar{width:8px;height:8px}}.mdui-theme-layout-dark ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto{color:#fff;background-color:#303030}.mdui-theme-layout-auto ::-webkit-scrollbar{width:5px;height:5px;background:0 0}.mdui-theme-layout-auto ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3)}}@media (prefers-color-scheme:dark) and (min-width:1024px){.mdui-theme-layout-auto ::-webkit-scrollbar{width:8px;height:8px}}.mdui-theme-primary-amber .mdui-color-theme{background-color:#ffc107!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-50{background-color:#fff8e1!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-100{background-color:#ffecb3!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-200{background-color:#ffe082!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-300{background-color:#ffd54f!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-400{background-color:#ffca28!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-500{background-color:#ffc107!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-600{background-color:#ffb300!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-700{background-color:#ffa000!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-800{background-color:#ff8f00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-amber .mdui-color-theme-900{background-color:#ff6f00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue .mdui-color-theme{background-color:#2196f3!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue .mdui-color-theme-50{background-color:#e3f2fd!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue .mdui-color-theme-100{background-color:#bbdefb!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue .mdui-color-theme-200{background-color:#90caf9!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue .mdui-color-theme-300{background-color:#64b5f6!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue .mdui-color-theme-400{background-color:#42a5f5!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue .mdui-color-theme-500{background-color:#2196f3!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue .mdui-color-theme-600{background-color:#1e88e5!important;color:#fff!important}.mdui-theme-primary-blue .mdui-color-theme-700{background-color:#1976d2!important;color:#fff!important}.mdui-theme-primary-blue .mdui-color-theme-800{background-color:#1565c0!important;color:#fff!important}.mdui-theme-primary-blue .mdui-color-theme-900{background-color:#0d47a1!important;color:#fff!important}.mdui-theme-primary-blue-grey .mdui-color-theme{background-color:#607d8b!important;color:#fff!important}.mdui-theme-primary-blue-grey .mdui-color-theme-50{background-color:#eceff1!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue-grey .mdui-color-theme-100{background-color:#cfd8dc!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue-grey .mdui-color-theme-200{background-color:#b0bec5!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue-grey .mdui-color-theme-300{background-color:#90a4ae!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-blue-grey .mdui-color-theme-400{background-color:#78909c!important;color:#fff!important}.mdui-theme-primary-blue-grey .mdui-color-theme-500{background-color:#607d8b!important;color:#fff!important}.mdui-theme-primary-blue-grey .mdui-color-theme-600{background-color:#546e7a!important;color:#fff!important}.mdui-theme-primary-blue-grey .mdui-color-theme-700{background-color:#455a64!important;color:#fff!important}.mdui-theme-primary-blue-grey .mdui-color-theme-800{background-color:#37474f!important;color:#fff!important}.mdui-theme-primary-blue-grey .mdui-color-theme-900{background-color:#263238!important;color:#fff!important}.mdui-theme-primary-brown .mdui-color-theme{background-color:#795548!important;color:#fff!important}.mdui-theme-primary-brown .mdui-color-theme-50{background-color:#efebe9!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-brown .mdui-color-theme-100{background-color:#d7ccc8!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-brown .mdui-color-theme-200{background-color:#bcaaa4!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-brown .mdui-color-theme-300{background-color:#a1887f!important;color:#fff!important}.mdui-theme-primary-brown .mdui-color-theme-400{background-color:#8d6e63!important;color:#fff!important}.mdui-theme-primary-brown .mdui-color-theme-500{background-color:#795548!important;color:#fff!important}.mdui-theme-primary-brown .mdui-color-theme-600{background-color:#6d4c41!important;color:#fff!important}.mdui-theme-primary-brown .mdui-color-theme-700{background-color:#5d4037!important;color:#fff!important}.mdui-theme-primary-brown .mdui-color-theme-800{background-color:#4e342e!important;color:#fff!important}.mdui-theme-primary-brown .mdui-color-theme-900{background-color:#3e2723!important;color:#fff!important}.mdui-theme-primary-cyan .mdui-color-theme{background-color:#00bcd4!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-cyan .mdui-color-theme-50{background-color:#e0f7fa!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-cyan .mdui-color-theme-100{background-color:#b2ebf2!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-cyan .mdui-color-theme-200{background-color:#80deea!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-cyan .mdui-color-theme-300{background-color:#4dd0e1!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-cyan .mdui-color-theme-400{background-color:#26c6da!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-cyan .mdui-color-theme-500{background-color:#00bcd4!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-cyan .mdui-color-theme-600{background-color:#00acc1!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-cyan .mdui-color-theme-700{background-color:#0097a7!important;color:#fff!important}.mdui-theme-primary-cyan .mdui-color-theme-800{background-color:#00838f!important;color:#fff!important}.mdui-theme-primary-cyan .mdui-color-theme-900{background-color:#006064!important;color:#fff!important}.mdui-theme-primary-deep-orange .mdui-color-theme{background-color:#ff5722!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-orange .mdui-color-theme-50{background-color:#fbe9e7!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-orange .mdui-color-theme-100{background-color:#ffccbc!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-orange .mdui-color-theme-200{background-color:#ffab91!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-orange .mdui-color-theme-300{background-color:#ff8a65!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-orange .mdui-color-theme-400{background-color:#ff7043!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-orange .mdui-color-theme-500{background-color:#ff5722!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-orange .mdui-color-theme-600{background-color:#f4511e!important;color:#fff!important}.mdui-theme-primary-deep-orange .mdui-color-theme-700{background-color:#e64a19!important;color:#fff!important}.mdui-theme-primary-deep-orange .mdui-color-theme-800{background-color:#d84315!important;color:#fff!important}.mdui-theme-primary-deep-orange .mdui-color-theme-900{background-color:#bf360c!important;color:#fff!important}.mdui-theme-primary-deep-purple .mdui-color-theme{background-color:#673ab7!important;color:#fff!important}.mdui-theme-primary-deep-purple .mdui-color-theme-50{background-color:#ede7f6!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-purple .mdui-color-theme-100{background-color:#d1c4e9!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-purple .mdui-color-theme-200{background-color:#b39ddb!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-deep-purple .mdui-color-theme-300{background-color:#9575cd!important;color:#fff!important}.mdui-theme-primary-deep-purple .mdui-color-theme-400{background-color:#7e57c2!important;color:#fff!important}.mdui-theme-primary-deep-purple .mdui-color-theme-500{background-color:#673ab7!important;color:#fff!important}.mdui-theme-primary-deep-purple .mdui-color-theme-600{background-color:#5e35b1!important;color:#fff!important}.mdui-theme-primary-deep-purple .mdui-color-theme-700{background-color:#512da8!important;color:#fff!important}.mdui-theme-primary-deep-purple .mdui-color-theme-800{background-color:#4527a0!important;color:#fff!important}.mdui-theme-primary-deep-purple .mdui-color-theme-900{background-color:#311b92!important;color:#fff!important}.mdui-theme-primary-green .mdui-color-theme{background-color:#4caf50!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-green .mdui-color-theme-50{background-color:#e8f5e9!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-green .mdui-color-theme-100{background-color:#c8e6c9!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-green .mdui-color-theme-200{background-color:#a5d6a7!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-green .mdui-color-theme-300{background-color:#81c784!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-green .mdui-color-theme-400{background-color:#66bb6a!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-green .mdui-color-theme-500{background-color:#4caf50!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-green .mdui-color-theme-600{background-color:#43a047!important;color:#fff!important}.mdui-theme-primary-green .mdui-color-theme-700{background-color:#388e3c!important;color:#fff!important}.mdui-theme-primary-green .mdui-color-theme-800{background-color:#2e7d32!important;color:#fff!important}.mdui-theme-primary-green .mdui-color-theme-900{background-color:#1b5e20!important;color:#fff!important}.mdui-theme-primary-grey .mdui-color-theme{background-color:#9e9e9e!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-grey .mdui-color-theme-50{background-color:#fafafa!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-grey .mdui-color-theme-100{background-color:#f5f5f5!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-grey .mdui-color-theme-200{background-color:#eee!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-grey .mdui-color-theme-300{background-color:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-grey .mdui-color-theme-400{background-color:#bdbdbd!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-grey .mdui-color-theme-500{background-color:#9e9e9e!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-grey .mdui-color-theme-600{background-color:#757575!important;color:#fff!important}.mdui-theme-primary-grey .mdui-color-theme-700{background-color:#616161!important;color:#fff!important}.mdui-theme-primary-grey .mdui-color-theme-800{background-color:#424242!important;color:#fff!important}.mdui-theme-primary-grey .mdui-color-theme-900{background-color:#212121!important;color:#fff!important}.mdui-theme-primary-indigo .mdui-color-theme{background-color:#3f51b5!important;color:#fff!important}.mdui-theme-primary-indigo .mdui-color-theme-50{background-color:#e8eaf6!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-indigo .mdui-color-theme-100{background-color:#c5cae9!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-indigo .mdui-color-theme-200{background-color:#9fa8da!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-indigo .mdui-color-theme-300{background-color:#7986cb!important;color:#fff!important}.mdui-theme-primary-indigo .mdui-color-theme-400{background-color:#5c6bc0!important;color:#fff!important}.mdui-theme-primary-indigo .mdui-color-theme-500{background-color:#3f51b5!important;color:#fff!important}.mdui-theme-primary-indigo .mdui-color-theme-600{background-color:#3949ab!important;color:#fff!important}.mdui-theme-primary-indigo .mdui-color-theme-700{background-color:#303f9f!important;color:#fff!important}.mdui-theme-primary-indigo .mdui-color-theme-800{background-color:#283593!important;color:#fff!important}.mdui-theme-primary-indigo .mdui-color-theme-900{background-color:#1a237e!important;color:#fff!important}.mdui-theme-primary-light-blue .mdui-color-theme{background-color:#03a9f4!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-blue .mdui-color-theme-50{background-color:#e1f5fe!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-blue .mdui-color-theme-100{background-color:#b3e5fc!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-blue .mdui-color-theme-200{background-color:#81d4fa!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-blue .mdui-color-theme-300{background-color:#4fc3f7!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-blue .mdui-color-theme-400{background-color:#29b6f6!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-blue .mdui-color-theme-500{background-color:#03a9f4!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-blue .mdui-color-theme-600{background-color:#039be5!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-blue .mdui-color-theme-700{background-color:#0288d1!important;color:#fff!important}.mdui-theme-primary-light-blue .mdui-color-theme-800{background-color:#0277bd!important;color:#fff!important}.mdui-theme-primary-light-blue .mdui-color-theme-900{background-color:#01579b!important;color:#fff!important}.mdui-theme-primary-light-green .mdui-color-theme{background-color:#8bc34a!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-green .mdui-color-theme-50{background-color:#f1f8e9!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-green .mdui-color-theme-100{background-color:#dcedc8!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-green .mdui-color-theme-200{background-color:#c5e1a5!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-green .mdui-color-theme-300{background-color:#aed581!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-green .mdui-color-theme-400{background-color:#9ccc65!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-green .mdui-color-theme-500{background-color:#8bc34a!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-green .mdui-color-theme-600{background-color:#7cb342!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-green .mdui-color-theme-700{background-color:#689f38!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-light-green .mdui-color-theme-800{background-color:#558b2f!important;color:#fff!important}.mdui-theme-primary-light-green .mdui-color-theme-900{background-color:#33691e!important;color:#fff!important}.mdui-theme-primary-lime .mdui-color-theme{background-color:#cddc39!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-50{background-color:#f9fbe7!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-100{background-color:#f0f4c3!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-200{background-color:#e6ee9c!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-300{background-color:#dce775!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-400{background-color:#d4e157!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-500{background-color:#cddc39!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-600{background-color:#c0ca33!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-700{background-color:#afb42b!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-800{background-color:#9e9d24!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-lime .mdui-color-theme-900{background-color:#827717!important;color:#fff!important}.mdui-theme-primary-orange .mdui-color-theme{background-color:#ff9800!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-50{background-color:#fff3e0!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-100{background-color:#ffe0b2!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-200{background-color:#ffcc80!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-300{background-color:#ffb74d!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-400{background-color:#ffa726!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-500{background-color:#ff9800!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-600{background-color:#fb8c00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-700{background-color:#f57c00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-800{background-color:#ef6c00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-orange .mdui-color-theme-900{background-color:#e65100!important;color:#fff!important}.mdui-theme-primary-pink .mdui-color-theme{background-color:#e91e63!important;color:#fff!important}.mdui-theme-primary-pink .mdui-color-theme-50{background-color:#fce4ec!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-pink .mdui-color-theme-100{background-color:#f8bbd0!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-pink .mdui-color-theme-200{background-color:#f48fb1!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-pink .mdui-color-theme-300{background-color:#f06292!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-pink .mdui-color-theme-400{background-color:#ec407a!important;color:#fff!important}.mdui-theme-primary-pink .mdui-color-theme-500{background-color:#e91e63!important;color:#fff!important}.mdui-theme-primary-pink .mdui-color-theme-600{background-color:#d81b60!important;color:#fff!important}.mdui-theme-primary-pink .mdui-color-theme-700{background-color:#c2185b!important;color:#fff!important}.mdui-theme-primary-pink .mdui-color-theme-800{background-color:#ad1457!important;color:#fff!important}.mdui-theme-primary-pink .mdui-color-theme-900{background-color:#880e4f!important;color:#fff!important}.mdui-theme-primary-purple .mdui-color-theme{background-color:#9c27b0!important;color:#fff!important}.mdui-theme-primary-purple .mdui-color-theme-50{background-color:#f3e5f5!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-purple .mdui-color-theme-100{background-color:#e1bee7!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-purple .mdui-color-theme-200{background-color:#ce93d8!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-purple .mdui-color-theme-300{background-color:#ba68c8!important;color:#fff!important}.mdui-theme-primary-purple .mdui-color-theme-400{background-color:#ab47bc!important;color:#fff!important}.mdui-theme-primary-purple .mdui-color-theme-500{background-color:#9c27b0!important;color:#fff!important}.mdui-theme-primary-purple .mdui-color-theme-600{background-color:#8e24aa!important;color:#fff!important}.mdui-theme-primary-purple .mdui-color-theme-700{background-color:#7b1fa2!important;color:#fff!important}.mdui-theme-primary-purple .mdui-color-theme-800{background-color:#6a1b9a!important;color:#fff!important}.mdui-theme-primary-purple .mdui-color-theme-900{background-color:#4a148c!important;color:#fff!important}.mdui-theme-primary-red .mdui-color-theme{background-color:#f44336!important;color:#fff!important}.mdui-theme-primary-red .mdui-color-theme-50{background-color:#ffebee!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-red .mdui-color-theme-100{background-color:#ffcdd2!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-red .mdui-color-theme-200{background-color:#ef9a9a!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-red .mdui-color-theme-300{background-color:#e57373!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-red .mdui-color-theme-400{background-color:#ef5350!important;color:#fff!important}.mdui-theme-primary-red .mdui-color-theme-500{background-color:#f44336!important;color:#fff!important}.mdui-theme-primary-red .mdui-color-theme-600{background-color:#e53935!important;color:#fff!important}.mdui-theme-primary-red .mdui-color-theme-700{background-color:#d32f2f!important;color:#fff!important}.mdui-theme-primary-red .mdui-color-theme-800{background-color:#c62828!important;color:#fff!important}.mdui-theme-primary-red .mdui-color-theme-900{background-color:#b71c1c!important;color:#fff!important}.mdui-theme-primary-teal .mdui-color-theme{background-color:#009688!important;color:#fff!important}.mdui-theme-primary-teal .mdui-color-theme-50{background-color:#e0f2f1!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-teal .mdui-color-theme-100{background-color:#b2dfdb!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-teal .mdui-color-theme-200{background-color:#80cbc4!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-teal .mdui-color-theme-300{background-color:#4db6ac!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-teal .mdui-color-theme-400{background-color:#26a69a!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-teal .mdui-color-theme-500{background-color:#009688!important;color:#fff!important}.mdui-theme-primary-teal .mdui-color-theme-600{background-color:#00897b!important;color:#fff!important}.mdui-theme-primary-teal .mdui-color-theme-700{background-color:#00796b!important;color:#fff!important}.mdui-theme-primary-teal .mdui-color-theme-800{background-color:#00695c!important;color:#fff!important}.mdui-theme-primary-teal .mdui-color-theme-900{background-color:#004d40!important;color:#fff!important}.mdui-theme-primary-yellow .mdui-color-theme{background-color:#ffeb3b!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-50{background-color:#fffde7!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-100{background-color:#fff9c4!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-200{background-color:#fff59d!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-300{background-color:#fff176!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-400{background-color:#ffee58!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-500{background-color:#ffeb3b!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-600{background-color:#fdd835!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-700{background-color:#fbc02d!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-800{background-color:#f9a825!important;color:rgba(0,0,0,.87)!important}.mdui-theme-primary-yellow .mdui-color-theme-900{background-color:#f57f17!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-amber .mdui-color-theme-accent{background-color:#ffd740!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-amber .mdui-color-theme-a100{background-color:#ffe57f!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-amber .mdui-color-theme-a200{background-color:#ffd740!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-amber .mdui-color-theme-a400{background-color:#ffc400!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-amber .mdui-color-theme-a700{background-color:#ffab00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-blue .mdui-color-theme-accent{background-color:#448aff!important;color:#fff!important}.mdui-theme-accent-blue .mdui-color-theme-a100{background-color:#82b1ff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-blue .mdui-color-theme-a200{background-color:#448aff!important;color:#fff!important}.mdui-theme-accent-blue .mdui-color-theme-a400{background-color:#2979ff!important;color:#fff!important}.mdui-theme-accent-blue .mdui-color-theme-a700{background-color:#2962ff!important;color:#fff!important}.mdui-theme-accent-cyan .mdui-color-theme-accent{background-color:#18ffff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-cyan .mdui-color-theme-a100{background-color:#84ffff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-cyan .mdui-color-theme-a200{background-color:#18ffff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-cyan .mdui-color-theme-a400{background-color:#00e5ff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-cyan .mdui-color-theme-a700{background-color:#00b8d4!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-deep-orange .mdui-color-theme-accent{background-color:#ff6e40!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a100{background-color:#ff9e80!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a200{background-color:#ff6e40!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a400{background-color:#ff3d00!important;color:#fff!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a700{background-color:#dd2c00!important;color:#fff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-accent{background-color:#7c4dff!important;color:#fff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a100{background-color:#b388ff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a200{background-color:#7c4dff!important;color:#fff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a400{background-color:#651fff!important;color:#fff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a700{background-color:#6200ea!important;color:#fff!important}.mdui-theme-accent-green .mdui-color-theme-accent{background-color:#69f0ae!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-green .mdui-color-theme-a100{background-color:#b9f6ca!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-green .mdui-color-theme-a200{background-color:#69f0ae!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-green .mdui-color-theme-a400{background-color:#00e676!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-green .mdui-color-theme-a700{background-color:#00c853!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-indigo .mdui-color-theme-accent{background-color:#536dfe!important;color:#fff!important}.mdui-theme-accent-indigo .mdui-color-theme-a100{background-color:#8c9eff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-indigo .mdui-color-theme-a200{background-color:#536dfe!important;color:#fff!important}.mdui-theme-accent-indigo .mdui-color-theme-a400{background-color:#3d5afe!important;color:#fff!important}.mdui-theme-accent-indigo .mdui-color-theme-a700{background-color:#304ffe!important;color:#fff!important}.mdui-theme-accent-light-blue .mdui-color-theme-accent{background-color:#40c4ff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-light-blue .mdui-color-theme-a100{background-color:#80d8ff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-light-blue .mdui-color-theme-a200{background-color:#40c4ff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-light-blue .mdui-color-theme-a400{background-color:#00b0ff!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-light-blue .mdui-color-theme-a700{background-color:#0091ea!important;color:#fff!important}.mdui-theme-accent-light-green .mdui-color-theme-accent{background-color:#b2ff59!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-light-green .mdui-color-theme-a100{background-color:#ccff90!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-light-green .mdui-color-theme-a200{background-color:#b2ff59!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-light-green .mdui-color-theme-a400{background-color:#76ff03!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-light-green .mdui-color-theme-a700{background-color:#64dd17!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-lime .mdui-color-theme-accent{background-color:#eeff41!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-lime .mdui-color-theme-a100{background-color:#f4ff81!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-lime .mdui-color-theme-a200{background-color:#eeff41!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-lime .mdui-color-theme-a400{background-color:#c6ff00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-lime .mdui-color-theme-a700{background-color:#aeea00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-orange .mdui-color-theme-accent{background-color:#ffab40!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-orange .mdui-color-theme-a100{background-color:#ffd180!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-orange .mdui-color-theme-a200{background-color:#ffab40!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-orange .mdui-color-theme-a400{background-color:#ff9100!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-orange .mdui-color-theme-a700{background-color:#ff6d00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-pink .mdui-color-theme-accent{background-color:#ff4081!important;color:#fff!important}.mdui-theme-accent-pink .mdui-color-theme-a100{background-color:#ff80ab!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-pink .mdui-color-theme-a200{background-color:#ff4081!important;color:#fff!important}.mdui-theme-accent-pink .mdui-color-theme-a400{background-color:#f50057!important;color:#fff!important}.mdui-theme-accent-pink .mdui-color-theme-a700{background-color:#c51162!important;color:#fff!important}.mdui-theme-accent-purple .mdui-color-theme-accent{background-color:#e040fb!important;color:#fff!important}.mdui-theme-accent-purple .mdui-color-theme-a100{background-color:#ea80fc!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-purple .mdui-color-theme-a200{background-color:#e040fb!important;color:#fff!important}.mdui-theme-accent-purple .mdui-color-theme-a400{background-color:#d500f9!important;color:#fff!important}.mdui-theme-accent-purple .mdui-color-theme-a700{background-color:#a0f!important;color:#fff!important}.mdui-theme-accent-red .mdui-color-theme-accent{background-color:#ff5252!important;color:#fff!important}.mdui-theme-accent-red .mdui-color-theme-a100{background-color:#ff8a80!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-red .mdui-color-theme-a200{background-color:#ff5252!important;color:#fff!important}.mdui-theme-accent-red .mdui-color-theme-a400{background-color:#ff1744!important;color:#fff!important}.mdui-theme-accent-red .mdui-color-theme-a700{background-color:#d50000!important;color:#fff!important}.mdui-theme-accent-teal .mdui-color-theme-accent{background-color:#64ffda!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-teal .mdui-color-theme-a100{background-color:#a7ffeb!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-teal .mdui-color-theme-a200{background-color:#64ffda!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-teal .mdui-color-theme-a400{background-color:#1de9b6!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-teal .mdui-color-theme-a700{background-color:#00bfa5!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-yellow .mdui-color-theme-accent{background-color:#ff0!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-yellow .mdui-color-theme-a100{background-color:#ffff8d!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-yellow .mdui-color-theme-a200{background-color:#ff0!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-yellow .mdui-color-theme-a400{background-color:#ffea00!important;color:rgba(0,0,0,.87)!important}.mdui-theme-accent-yellow .mdui-color-theme-a700{background-color:#ffd600!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber{background-color:#ffc107!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-50{background-color:#fff8e1!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-100{background-color:#ffecb3!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-200{background-color:#ffe082!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-300{background-color:#ffd54f!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-400{background-color:#ffca28!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-500{background-color:#ffc107!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-600{background-color:#ffb300!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-700{background-color:#ffa000!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-800{background-color:#ff8f00!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-900{background-color:#ff6f00!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue{background-color:#2196f3!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-50{background-color:#e3f2fd!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-100{background-color:#bbdefb!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-200{background-color:#90caf9!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-300{background-color:#64b5f6!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-400{background-color:#42a5f5!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-500{background-color:#2196f3!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-600{background-color:#1e88e5!important;color:#fff!important}.mdui-color-blue-700{background-color:#1976d2!important;color:#fff!important}.mdui-color-blue-800{background-color:#1565c0!important;color:#fff!important}.mdui-color-blue-900{background-color:#0d47a1!important;color:#fff!important}.mdui-color-blue-grey{background-color:#607d8b!important;color:#fff!important}.mdui-color-blue-grey-50{background-color:#eceff1!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-grey-100{background-color:#cfd8dc!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-grey-200{background-color:#b0bec5!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-grey-300{background-color:#90a4ae!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-grey-400{background-color:#78909c!important;color:#fff!important}.mdui-color-blue-grey-500{background-color:#607d8b!important;color:#fff!important}.mdui-color-blue-grey-600{background-color:#546e7a!important;color:#fff!important}.mdui-color-blue-grey-700{background-color:#455a64!important;color:#fff!important}.mdui-color-blue-grey-800{background-color:#37474f!important;color:#fff!important}.mdui-color-blue-grey-900{background-color:#263238!important;color:#fff!important}.mdui-color-brown{background-color:#795548!important;color:#fff!important}.mdui-color-brown-50{background-color:#efebe9!important;color:rgba(0,0,0,.87)!important}.mdui-color-brown-100{background-color:#d7ccc8!important;color:rgba(0,0,0,.87)!important}.mdui-color-brown-200{background-color:#bcaaa4!important;color:rgba(0,0,0,.87)!important}.mdui-color-brown-300{background-color:#a1887f!important;color:#fff!important}.mdui-color-brown-400{background-color:#8d6e63!important;color:#fff!important}.mdui-color-brown-500{background-color:#795548!important;color:#fff!important}.mdui-color-brown-600{background-color:#6d4c41!important;color:#fff!important}.mdui-color-brown-700{background-color:#5d4037!important;color:#fff!important}.mdui-color-brown-800{background-color:#4e342e!important;color:#fff!important}.mdui-color-brown-900{background-color:#3e2723!important;color:#fff!important}.mdui-color-cyan{background-color:#00bcd4!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-50{background-color:#e0f7fa!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-100{background-color:#b2ebf2!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-200{background-color:#80deea!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-300{background-color:#4dd0e1!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-400{background-color:#26c6da!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-500{background-color:#00bcd4!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-600{background-color:#00acc1!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-700{background-color:#0097a7!important;color:#fff!important}.mdui-color-cyan-800{background-color:#00838f!important;color:#fff!important}.mdui-color-cyan-900{background-color:#006064!important;color:#fff!important}.mdui-color-deep-orange{background-color:#ff5722!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-50{background-color:#fbe9e7!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-100{background-color:#ffccbc!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-200{background-color:#ffab91!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-300{background-color:#ff8a65!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-400{background-color:#ff7043!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-500{background-color:#ff5722!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-600{background-color:#f4511e!important;color:#fff!important}.mdui-color-deep-orange-700{background-color:#e64a19!important;color:#fff!important}.mdui-color-deep-orange-800{background-color:#d84315!important;color:#fff!important}.mdui-color-deep-orange-900{background-color:#bf360c!important;color:#fff!important}.mdui-color-deep-purple{background-color:#673ab7!important;color:#fff!important}.mdui-color-deep-purple-50{background-color:#ede7f6!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-purple-100{background-color:#d1c4e9!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-purple-200{background-color:#b39ddb!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-purple-300{background-color:#9575cd!important;color:#fff!important}.mdui-color-deep-purple-400{background-color:#7e57c2!important;color:#fff!important}.mdui-color-deep-purple-500{background-color:#673ab7!important;color:#fff!important}.mdui-color-deep-purple-600{background-color:#5e35b1!important;color:#fff!important}.mdui-color-deep-purple-700{background-color:#512da8!important;color:#fff!important}.mdui-color-deep-purple-800{background-color:#4527a0!important;color:#fff!important}.mdui-color-deep-purple-900{background-color:#311b92!important;color:#fff!important}.mdui-color-green{background-color:#4caf50!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-50{background-color:#e8f5e9!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-100{background-color:#c8e6c9!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-200{background-color:#a5d6a7!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-300{background-color:#81c784!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-400{background-color:#66bb6a!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-500{background-color:#4caf50!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-600{background-color:#43a047!important;color:#fff!important}.mdui-color-green-700{background-color:#388e3c!important;color:#fff!important}.mdui-color-green-800{background-color:#2e7d32!important;color:#fff!important}.mdui-color-green-900{background-color:#1b5e20!important;color:#fff!important}.mdui-color-grey{background-color:#9e9e9e!important;color:rgba(0,0,0,.87)!important}.mdui-color-grey-50{background-color:#fafafa!important;color:rgba(0,0,0,.87)!important}.mdui-color-grey-100{background-color:#f5f5f5!important;color:rgba(0,0,0,.87)!important}.mdui-color-grey-200{background-color:#eee!important;color:rgba(0,0,0,.87)!important}.mdui-color-grey-300{background-color:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.mdui-color-grey-400{background-color:#bdbdbd!important;color:rgba(0,0,0,.87)!important}.mdui-color-grey-500{background-color:#9e9e9e!important;color:rgba(0,0,0,.87)!important}.mdui-color-grey-600{background-color:#757575!important;color:#fff!important}.mdui-color-grey-700{background-color:#616161!important;color:#fff!important}.mdui-color-grey-800{background-color:#424242!important;color:#fff!important}.mdui-color-grey-900{background-color:#212121!important;color:#fff!important}.mdui-color-indigo{background-color:#3f51b5!important;color:#fff!important}.mdui-color-indigo-50{background-color:#e8eaf6!important;color:rgba(0,0,0,.87)!important}.mdui-color-indigo-100{background-color:#c5cae9!important;color:rgba(0,0,0,.87)!important}.mdui-color-indigo-200{background-color:#9fa8da!important;color:rgba(0,0,0,.87)!important}.mdui-color-indigo-300{background-color:#7986cb!important;color:#fff!important}.mdui-color-indigo-400{background-color:#5c6bc0!important;color:#fff!important}.mdui-color-indigo-500{background-color:#3f51b5!important;color:#fff!important}.mdui-color-indigo-600{background-color:#3949ab!important;color:#fff!important}.mdui-color-indigo-700{background-color:#303f9f!important;color:#fff!important}.mdui-color-indigo-800{background-color:#283593!important;color:#fff!important}.mdui-color-indigo-900{background-color:#1a237e!important;color:#fff!important}.mdui-color-light-blue{background-color:#03a9f4!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-50{background-color:#e1f5fe!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-100{background-color:#b3e5fc!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-200{background-color:#81d4fa!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-300{background-color:#4fc3f7!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-400{background-color:#29b6f6!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-500{background-color:#03a9f4!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-600{background-color:#039be5!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-700{background-color:#0288d1!important;color:#fff!important}.mdui-color-light-blue-800{background-color:#0277bd!important;color:#fff!important}.mdui-color-light-blue-900{background-color:#01579b!important;color:#fff!important}.mdui-color-light-green{background-color:#8bc34a!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-50{background-color:#f1f8e9!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-100{background-color:#dcedc8!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-200{background-color:#c5e1a5!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-300{background-color:#aed581!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-400{background-color:#9ccc65!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-500{background-color:#8bc34a!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-600{background-color:#7cb342!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-700{background-color:#689f38!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-800{background-color:#558b2f!important;color:#fff!important}.mdui-color-light-green-900{background-color:#33691e!important;color:#fff!important}.mdui-color-lime{background-color:#cddc39!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-50{background-color:#f9fbe7!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-100{background-color:#f0f4c3!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-200{background-color:#e6ee9c!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-300{background-color:#dce775!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-400{background-color:#d4e157!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-500{background-color:#cddc39!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-600{background-color:#c0ca33!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-700{background-color:#afb42b!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-800{background-color:#9e9d24!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-900{background-color:#827717!important;color:#fff!important}.mdui-color-orange{background-color:#ff9800!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-50{background-color:#fff3e0!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-100{background-color:#ffe0b2!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-200{background-color:#ffcc80!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-300{background-color:#ffb74d!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-400{background-color:#ffa726!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-500{background-color:#ff9800!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-600{background-color:#fb8c00!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-700{background-color:#f57c00!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-800{background-color:#ef6c00!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-900{background-color:#e65100!important;color:#fff!important}.mdui-color-pink{background-color:#e91e63!important;color:#fff!important}.mdui-color-pink-50{background-color:#fce4ec!important;color:rgba(0,0,0,.87)!important}.mdui-color-pink-100{background-color:#f8bbd0!important;color:rgba(0,0,0,.87)!important}.mdui-color-pink-200{background-color:#f48fb1!important;color:rgba(0,0,0,.87)!important}.mdui-color-pink-300{background-color:#f06292!important;color:rgba(0,0,0,.87)!important}.mdui-color-pink-400{background-color:#ec407a!important;color:#fff!important}.mdui-color-pink-500{background-color:#e91e63!important;color:#fff!important}.mdui-color-pink-600{background-color:#d81b60!important;color:#fff!important}.mdui-color-pink-700{background-color:#c2185b!important;color:#fff!important}.mdui-color-pink-800{background-color:#ad1457!important;color:#fff!important}.mdui-color-pink-900{background-color:#880e4f!important;color:#fff!important}.mdui-color-purple{background-color:#9c27b0!important;color:#fff!important}.mdui-color-purple-50{background-color:#f3e5f5!important;color:rgba(0,0,0,.87)!important}.mdui-color-purple-100{background-color:#e1bee7!important;color:rgba(0,0,0,.87)!important}.mdui-color-purple-200{background-color:#ce93d8!important;color:rgba(0,0,0,.87)!important}.mdui-color-purple-300{background-color:#ba68c8!important;color:#fff!important}.mdui-color-purple-400{background-color:#ab47bc!important;color:#fff!important}.mdui-color-purple-500{background-color:#9c27b0!important;color:#fff!important}.mdui-color-purple-600{background-color:#8e24aa!important;color:#fff!important}.mdui-color-purple-700{background-color:#7b1fa2!important;color:#fff!important}.mdui-color-purple-800{background-color:#6a1b9a!important;color:#fff!important}.mdui-color-purple-900{background-color:#4a148c!important;color:#fff!important}.mdui-color-red{background-color:#f44336!important;color:#fff!important}.mdui-color-red-50{background-color:#ffebee!important;color:rgba(0,0,0,.87)!important}.mdui-color-red-100{background-color:#ffcdd2!important;color:rgba(0,0,0,.87)!important}.mdui-color-red-200{background-color:#ef9a9a!important;color:rgba(0,0,0,.87)!important}.mdui-color-red-300{background-color:#e57373!important;color:rgba(0,0,0,.87)!important}.mdui-color-red-400{background-color:#ef5350!important;color:#fff!important}.mdui-color-red-500{background-color:#f44336!important;color:#fff!important}.mdui-color-red-600{background-color:#e53935!important;color:#fff!important}.mdui-color-red-700{background-color:#d32f2f!important;color:#fff!important}.mdui-color-red-800{background-color:#c62828!important;color:#fff!important}.mdui-color-red-900{background-color:#b71c1c!important;color:#fff!important}.mdui-color-teal{background-color:#009688!important;color:#fff!important}.mdui-color-teal-50{background-color:#e0f2f1!important;color:rgba(0,0,0,.87)!important}.mdui-color-teal-100{background-color:#b2dfdb!important;color:rgba(0,0,0,.87)!important}.mdui-color-teal-200{background-color:#80cbc4!important;color:rgba(0,0,0,.87)!important}.mdui-color-teal-300{background-color:#4db6ac!important;color:rgba(0,0,0,.87)!important}.mdui-color-teal-400{background-color:#26a69a!important;color:rgba(0,0,0,.87)!important}.mdui-color-teal-500{background-color:#009688!important;color:#fff!important}.mdui-color-teal-600{background-color:#00897b!important;color:#fff!important}.mdui-color-teal-700{background-color:#00796b!important;color:#fff!important}.mdui-color-teal-800{background-color:#00695c!important;color:#fff!important}.mdui-color-teal-900{background-color:#004d40!important;color:#fff!important}.mdui-color-yellow{background-color:#ffeb3b!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-50{background-color:#fffde7!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-100{background-color:#fff9c4!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-200{background-color:#fff59d!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-300{background-color:#fff176!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-400{background-color:#ffee58!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-500{background-color:#ffeb3b!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-600{background-color:#fdd835!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-700{background-color:#fbc02d!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-800{background-color:#f9a825!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-900{background-color:#f57f17!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-accent{background-color:#ffd740!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-a100{background-color:#ffe57f!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-a200{background-color:#ffd740!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-a400{background-color:#ffc400!important;color:rgba(0,0,0,.87)!important}.mdui-color-amber-a700{background-color:#ffab00!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-accent{background-color:#448aff!important;color:#fff!important}.mdui-color-blue-a100{background-color:#82b1ff!important;color:rgba(0,0,0,.87)!important}.mdui-color-blue-a200{background-color:#448aff!important;color:#fff!important}.mdui-color-blue-a400{background-color:#2979ff!important;color:#fff!important}.mdui-color-blue-a700{background-color:#2962ff!important;color:#fff!important}.mdui-color-cyan-accent{background-color:#18ffff!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-a100{background-color:#84ffff!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-a200{background-color:#18ffff!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-a400{background-color:#00e5ff!important;color:rgba(0,0,0,.87)!important}.mdui-color-cyan-a700{background-color:#00b8d4!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-accent{background-color:#ff6e40!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-a100{background-color:#ff9e80!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-a200{background-color:#ff6e40!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-orange-a400{background-color:#ff3d00!important;color:#fff!important}.mdui-color-deep-orange-a700{background-color:#dd2c00!important;color:#fff!important}.mdui-color-deep-purple-accent{background-color:#7c4dff!important;color:#fff!important}.mdui-color-deep-purple-a100{background-color:#b388ff!important;color:rgba(0,0,0,.87)!important}.mdui-color-deep-purple-a200{background-color:#7c4dff!important;color:#fff!important}.mdui-color-deep-purple-a400{background-color:#651fff!important;color:#fff!important}.mdui-color-deep-purple-a700{background-color:#6200ea!important;color:#fff!important}.mdui-color-green-accent{background-color:#69f0ae!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-a100{background-color:#b9f6ca!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-a200{background-color:#69f0ae!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-a400{background-color:#00e676!important;color:rgba(0,0,0,.87)!important}.mdui-color-green-a700{background-color:#00c853!important;color:rgba(0,0,0,.87)!important}.mdui-color-indigo-accent{background-color:#536dfe!important;color:#fff!important}.mdui-color-indigo-a100{background-color:#8c9eff!important;color:rgba(0,0,0,.87)!important}.mdui-color-indigo-a200{background-color:#536dfe!important;color:#fff!important}.mdui-color-indigo-a400{background-color:#3d5afe!important;color:#fff!important}.mdui-color-indigo-a700{background-color:#304ffe!important;color:#fff!important}.mdui-color-light-blue-accent{background-color:#40c4ff!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-a100{background-color:#80d8ff!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-a200{background-color:#40c4ff!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-a400{background-color:#00b0ff!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-blue-a700{background-color:#0091ea!important;color:#fff!important}.mdui-color-light-green-accent{background-color:#b2ff59!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-a100{background-color:#ccff90!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-a200{background-color:#b2ff59!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-a400{background-color:#76ff03!important;color:rgba(0,0,0,.87)!important}.mdui-color-light-green-a700{background-color:#64dd17!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-accent{background-color:#eeff41!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-a100{background-color:#f4ff81!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-a200{background-color:#eeff41!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-a400{background-color:#c6ff00!important;color:rgba(0,0,0,.87)!important}.mdui-color-lime-a700{background-color:#aeea00!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-accent{background-color:#ffab40!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-a100{background-color:#ffd180!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-a200{background-color:#ffab40!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-a400{background-color:#ff9100!important;color:rgba(0,0,0,.87)!important}.mdui-color-orange-a700{background-color:#ff6d00!important;color:rgba(0,0,0,.87)!important}.mdui-color-pink-accent{background-color:#ff4081!important;color:#fff!important}.mdui-color-pink-a100{background-color:#ff80ab!important;color:rgba(0,0,0,.87)!important}.mdui-color-pink-a200{background-color:#ff4081!important;color:#fff!important}.mdui-color-pink-a400{background-color:#f50057!important;color:#fff!important}.mdui-color-pink-a700{background-color:#c51162!important;color:#fff!important}.mdui-color-purple-accent{background-color:#e040fb!important;color:#fff!important}.mdui-color-purple-a100{background-color:#ea80fc!important;color:rgba(0,0,0,.87)!important}.mdui-color-purple-a200{background-color:#e040fb!important;color:#fff!important}.mdui-color-purple-a400{background-color:#d500f9!important;color:#fff!important}.mdui-color-purple-a700{background-color:#a0f!important;color:#fff!important}.mdui-color-red-accent{background-color:#ff5252!important;color:#fff!important}.mdui-color-red-a100{background-color:#ff8a80!important;color:rgba(0,0,0,.87)!important}.mdui-color-red-a200{background-color:#ff5252!important;color:#fff!important}.mdui-color-red-a400{background-color:#ff1744!important;color:#fff!important}.mdui-color-red-a700{background-color:#d50000!important;color:#fff!important}.mdui-color-teal-accent{background-color:#64ffda!important;color:rgba(0,0,0,.87)!important}.mdui-color-teal-a100{background-color:#a7ffeb!important;color:rgba(0,0,0,.87)!important}.mdui-color-teal-a200{background-color:#64ffda!important;color:rgba(0,0,0,.87)!important}.mdui-color-teal-a400{background-color:#1de9b6!important;color:rgba(0,0,0,.87)!important}.mdui-color-teal-a700{background-color:#00bfa5!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-accent{background-color:#ff0!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-a100{background-color:#ffff8d!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-a200{background-color:#ff0!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-a400{background-color:#ffea00!important;color:rgba(0,0,0,.87)!important}.mdui-color-yellow-a700{background-color:#ffd600!important;color:rgba(0,0,0,.87)!important}.mdui-color-black{color:#fff!important;background-color:#000!important}.mdui-color-white{color:rgba(0,0,0,.87)!important;background-color:#fff!important}.mdui-color-transparent{background-color:transparent!important}.mdui-theme-primary-amber .mdui-text-color-theme{color:#ffc107!important}.mdui-theme-primary-amber .mdui-text-color-theme-50{color:#fff8e1!important}.mdui-theme-primary-amber .mdui-text-color-theme-100{color:#ffecb3!important}.mdui-theme-primary-amber .mdui-text-color-theme-200{color:#ffe082!important}.mdui-theme-primary-amber .mdui-text-color-theme-300{color:#ffd54f!important}.mdui-theme-primary-amber .mdui-text-color-theme-400{color:#ffca28!important}.mdui-theme-primary-amber .mdui-text-color-theme-500{color:#ffc107!important}.mdui-theme-primary-amber .mdui-text-color-theme-600{color:#ffb300!important}.mdui-theme-primary-amber .mdui-text-color-theme-700{color:#ffa000!important}.mdui-theme-primary-amber .mdui-text-color-theme-800{color:#ff8f00!important}.mdui-theme-primary-amber .mdui-text-color-theme-900{color:#ff6f00!important}.mdui-theme-primary-blue .mdui-text-color-theme{color:#2196f3!important}.mdui-theme-primary-blue .mdui-text-color-theme-50{color:#e3f2fd!important}.mdui-theme-primary-blue .mdui-text-color-theme-100{color:#bbdefb!important}.mdui-theme-primary-blue .mdui-text-color-theme-200{color:#90caf9!important}.mdui-theme-primary-blue .mdui-text-color-theme-300{color:#64b5f6!important}.mdui-theme-primary-blue .mdui-text-color-theme-400{color:#42a5f5!important}.mdui-theme-primary-blue .mdui-text-color-theme-500{color:#2196f3!important}.mdui-theme-primary-blue .mdui-text-color-theme-600{color:#1e88e5!important}.mdui-theme-primary-blue .mdui-text-color-theme-700{color:#1976d2!important}.mdui-theme-primary-blue .mdui-text-color-theme-800{color:#1565c0!important}.mdui-theme-primary-blue .mdui-text-color-theme-900{color:#0d47a1!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme{color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-50{color:#eceff1!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-100{color:#cfd8dc!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-200{color:#b0bec5!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-300{color:#90a4ae!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-400{color:#78909c!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-500{color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-600{color:#546e7a!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-700{color:#455a64!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-800{color:#37474f!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-900{color:#263238!important}.mdui-theme-primary-brown .mdui-text-color-theme{color:#795548!important}.mdui-theme-primary-brown .mdui-text-color-theme-50{color:#efebe9!important}.mdui-theme-primary-brown .mdui-text-color-theme-100{color:#d7ccc8!important}.mdui-theme-primary-brown .mdui-text-color-theme-200{color:#bcaaa4!important}.mdui-theme-primary-brown .mdui-text-color-theme-300{color:#a1887f!important}.mdui-theme-primary-brown .mdui-text-color-theme-400{color:#8d6e63!important}.mdui-theme-primary-brown .mdui-text-color-theme-500{color:#795548!important}.mdui-theme-primary-brown .mdui-text-color-theme-600{color:#6d4c41!important}.mdui-theme-primary-brown .mdui-text-color-theme-700{color:#5d4037!important}.mdui-theme-primary-brown .mdui-text-color-theme-800{color:#4e342e!important}.mdui-theme-primary-brown .mdui-text-color-theme-900{color:#3e2723!important}.mdui-theme-primary-cyan .mdui-text-color-theme{color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-text-color-theme-50{color:#e0f7fa!important}.mdui-theme-primary-cyan .mdui-text-color-theme-100{color:#b2ebf2!important}.mdui-theme-primary-cyan .mdui-text-color-theme-200{color:#80deea!important}.mdui-theme-primary-cyan .mdui-text-color-theme-300{color:#4dd0e1!important}.mdui-theme-primary-cyan .mdui-text-color-theme-400{color:#26c6da!important}.mdui-theme-primary-cyan .mdui-text-color-theme-500{color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-text-color-theme-600{color:#00acc1!important}.mdui-theme-primary-cyan .mdui-text-color-theme-700{color:#0097a7!important}.mdui-theme-primary-cyan .mdui-text-color-theme-800{color:#00838f!important}.mdui-theme-primary-cyan .mdui-text-color-theme-900{color:#006064!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme{color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-50{color:#fbe9e7!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-100{color:#ffccbc!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-200{color:#ffab91!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-300{color:#ff8a65!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-400{color:#ff7043!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-500{color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-600{color:#f4511e!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-700{color:#e64a19!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-800{color:#d84315!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-900{color:#bf360c!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme{color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-50{color:#ede7f6!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-100{color:#d1c4e9!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-200{color:#b39ddb!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-300{color:#9575cd!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-400{color:#7e57c2!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-500{color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-600{color:#5e35b1!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-700{color:#512da8!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-800{color:#4527a0!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-900{color:#311b92!important}.mdui-theme-primary-green .mdui-text-color-theme{color:#4caf50!important}.mdui-theme-primary-green .mdui-text-color-theme-50{color:#e8f5e9!important}.mdui-theme-primary-green .mdui-text-color-theme-100{color:#c8e6c9!important}.mdui-theme-primary-green .mdui-text-color-theme-200{color:#a5d6a7!important}.mdui-theme-primary-green .mdui-text-color-theme-300{color:#81c784!important}.mdui-theme-primary-green .mdui-text-color-theme-400{color:#66bb6a!important}.mdui-theme-primary-green .mdui-text-color-theme-500{color:#4caf50!important}.mdui-theme-primary-green .mdui-text-color-theme-600{color:#43a047!important}.mdui-theme-primary-green .mdui-text-color-theme-700{color:#388e3c!important}.mdui-theme-primary-green .mdui-text-color-theme-800{color:#2e7d32!important}.mdui-theme-primary-green .mdui-text-color-theme-900{color:#1b5e20!important}.mdui-theme-primary-grey .mdui-text-color-theme{color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-text-color-theme-50{color:#fafafa!important}.mdui-theme-primary-grey .mdui-text-color-theme-100{color:#f5f5f5!important}.mdui-theme-primary-grey .mdui-text-color-theme-200{color:#eee!important}.mdui-theme-primary-grey .mdui-text-color-theme-300{color:#e0e0e0!important}.mdui-theme-primary-grey .mdui-text-color-theme-400{color:#bdbdbd!important}.mdui-theme-primary-grey .mdui-text-color-theme-500{color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-text-color-theme-600{color:#757575!important}.mdui-theme-primary-grey .mdui-text-color-theme-700{color:#616161!important}.mdui-theme-primary-grey .mdui-text-color-theme-800{color:#424242!important}.mdui-theme-primary-grey .mdui-text-color-theme-900{color:#212121!important}.mdui-theme-primary-indigo .mdui-text-color-theme{color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-text-color-theme-50{color:#e8eaf6!important}.mdui-theme-primary-indigo .mdui-text-color-theme-100{color:#c5cae9!important}.mdui-theme-primary-indigo .mdui-text-color-theme-200{color:#9fa8da!important}.mdui-theme-primary-indigo .mdui-text-color-theme-300{color:#7986cb!important}.mdui-theme-primary-indigo .mdui-text-color-theme-400{color:#5c6bc0!important}.mdui-theme-primary-indigo .mdui-text-color-theme-500{color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-text-color-theme-600{color:#3949ab!important}.mdui-theme-primary-indigo .mdui-text-color-theme-700{color:#303f9f!important}.mdui-theme-primary-indigo .mdui-text-color-theme-800{color:#283593!important}.mdui-theme-primary-indigo .mdui-text-color-theme-900{color:#1a237e!important}.mdui-theme-primary-light-blue .mdui-text-color-theme{color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-50{color:#e1f5fe!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-100{color:#b3e5fc!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-200{color:#81d4fa!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-300{color:#4fc3f7!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-400{color:#29b6f6!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-500{color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-600{color:#039be5!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-700{color:#0288d1!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-800{color:#0277bd!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-900{color:#01579b!important}.mdui-theme-primary-light-green .mdui-text-color-theme{color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-text-color-theme-50{color:#f1f8e9!important}.mdui-theme-primary-light-green .mdui-text-color-theme-100{color:#dcedc8!important}.mdui-theme-primary-light-green .mdui-text-color-theme-200{color:#c5e1a5!important}.mdui-theme-primary-light-green .mdui-text-color-theme-300{color:#aed581!important}.mdui-theme-primary-light-green .mdui-text-color-theme-400{color:#9ccc65!important}.mdui-theme-primary-light-green .mdui-text-color-theme-500{color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-text-color-theme-600{color:#7cb342!important}.mdui-theme-primary-light-green .mdui-text-color-theme-700{color:#689f38!important}.mdui-theme-primary-light-green .mdui-text-color-theme-800{color:#558b2f!important}.mdui-theme-primary-light-green .mdui-text-color-theme-900{color:#33691e!important}.mdui-theme-primary-lime .mdui-text-color-theme{color:#cddc39!important}.mdui-theme-primary-lime .mdui-text-color-theme-50{color:#f9fbe7!important}.mdui-theme-primary-lime .mdui-text-color-theme-100{color:#f0f4c3!important}.mdui-theme-primary-lime .mdui-text-color-theme-200{color:#e6ee9c!important}.mdui-theme-primary-lime .mdui-text-color-theme-300{color:#dce775!important}.mdui-theme-primary-lime .mdui-text-color-theme-400{color:#d4e157!important}.mdui-theme-primary-lime .mdui-text-color-theme-500{color:#cddc39!important}.mdui-theme-primary-lime .mdui-text-color-theme-600{color:#c0ca33!important}.mdui-theme-primary-lime .mdui-text-color-theme-700{color:#afb42b!important}.mdui-theme-primary-lime .mdui-text-color-theme-800{color:#9e9d24!important}.mdui-theme-primary-lime .mdui-text-color-theme-900{color:#827717!important}.mdui-theme-primary-orange .mdui-text-color-theme{color:#ff9800!important}.mdui-theme-primary-orange .mdui-text-color-theme-50{color:#fff3e0!important}.mdui-theme-primary-orange .mdui-text-color-theme-100{color:#ffe0b2!important}.mdui-theme-primary-orange .mdui-text-color-theme-200{color:#ffcc80!important}.mdui-theme-primary-orange .mdui-text-color-theme-300{color:#ffb74d!important}.mdui-theme-primary-orange .mdui-text-color-theme-400{color:#ffa726!important}.mdui-theme-primary-orange .mdui-text-color-theme-500{color:#ff9800!important}.mdui-theme-primary-orange .mdui-text-color-theme-600{color:#fb8c00!important}.mdui-theme-primary-orange .mdui-text-color-theme-700{color:#f57c00!important}.mdui-theme-primary-orange .mdui-text-color-theme-800{color:#ef6c00!important}.mdui-theme-primary-orange .mdui-text-color-theme-900{color:#e65100!important}.mdui-theme-primary-pink .mdui-text-color-theme{color:#e91e63!important}.mdui-theme-primary-pink .mdui-text-color-theme-50{color:#fce4ec!important}.mdui-theme-primary-pink .mdui-text-color-theme-100{color:#f8bbd0!important}.mdui-theme-primary-pink .mdui-text-color-theme-200{color:#f48fb1!important}.mdui-theme-primary-pink .mdui-text-color-theme-300{color:#f06292!important}.mdui-theme-primary-pink .mdui-text-color-theme-400{color:#ec407a!important}.mdui-theme-primary-pink .mdui-text-color-theme-500{color:#e91e63!important}.mdui-theme-primary-pink .mdui-text-color-theme-600{color:#d81b60!important}.mdui-theme-primary-pink .mdui-text-color-theme-700{color:#c2185b!important}.mdui-theme-primary-pink .mdui-text-color-theme-800{color:#ad1457!important}.mdui-theme-primary-pink .mdui-text-color-theme-900{color:#880e4f!important}.mdui-theme-primary-purple .mdui-text-color-theme{color:#9c27b0!important}.mdui-theme-primary-purple .mdui-text-color-theme-50{color:#f3e5f5!important}.mdui-theme-primary-purple .mdui-text-color-theme-100{color:#e1bee7!important}.mdui-theme-primary-purple .mdui-text-color-theme-200{color:#ce93d8!important}.mdui-theme-primary-purple .mdui-text-color-theme-300{color:#ba68c8!important}.mdui-theme-primary-purple .mdui-text-color-theme-400{color:#ab47bc!important}.mdui-theme-primary-purple .mdui-text-color-theme-500{color:#9c27b0!important}.mdui-theme-primary-purple .mdui-text-color-theme-600{color:#8e24aa!important}.mdui-theme-primary-purple .mdui-text-color-theme-700{color:#7b1fa2!important}.mdui-theme-primary-purple .mdui-text-color-theme-800{color:#6a1b9a!important}.mdui-theme-primary-purple .mdui-text-color-theme-900{color:#4a148c!important}.mdui-theme-primary-red .mdui-text-color-theme{color:#f44336!important}.mdui-theme-primary-red .mdui-text-color-theme-50{color:#ffebee!important}.mdui-theme-primary-red .mdui-text-color-theme-100{color:#ffcdd2!important}.mdui-theme-primary-red .mdui-text-color-theme-200{color:#ef9a9a!important}.mdui-theme-primary-red .mdui-text-color-theme-300{color:#e57373!important}.mdui-theme-primary-red .mdui-text-color-theme-400{color:#ef5350!important}.mdui-theme-primary-red .mdui-text-color-theme-500{color:#f44336!important}.mdui-theme-primary-red .mdui-text-color-theme-600{color:#e53935!important}.mdui-theme-primary-red .mdui-text-color-theme-700{color:#d32f2f!important}.mdui-theme-primary-red .mdui-text-color-theme-800{color:#c62828!important}.mdui-theme-primary-red .mdui-text-color-theme-900{color:#b71c1c!important}.mdui-theme-primary-teal .mdui-text-color-theme{color:#009688!important}.mdui-theme-primary-teal .mdui-text-color-theme-50{color:#e0f2f1!important}.mdui-theme-primary-teal .mdui-text-color-theme-100{color:#b2dfdb!important}.mdui-theme-primary-teal .mdui-text-color-theme-200{color:#80cbc4!important}.mdui-theme-primary-teal .mdui-text-color-theme-300{color:#4db6ac!important}.mdui-theme-primary-teal .mdui-text-color-theme-400{color:#26a69a!important}.mdui-theme-primary-teal .mdui-text-color-theme-500{color:#009688!important}.mdui-theme-primary-teal .mdui-text-color-theme-600{color:#00897b!important}.mdui-theme-primary-teal .mdui-text-color-theme-700{color:#00796b!important}.mdui-theme-primary-teal .mdui-text-color-theme-800{color:#00695c!important}.mdui-theme-primary-teal .mdui-text-color-theme-900{color:#004d40!important}.mdui-theme-primary-yellow .mdui-text-color-theme{color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-text-color-theme-50{color:#fffde7!important}.mdui-theme-primary-yellow .mdui-text-color-theme-100{color:#fff9c4!important}.mdui-theme-primary-yellow .mdui-text-color-theme-200{color:#fff59d!important}.mdui-theme-primary-yellow .mdui-text-color-theme-300{color:#fff176!important}.mdui-theme-primary-yellow .mdui-text-color-theme-400{color:#ffee58!important}.mdui-theme-primary-yellow .mdui-text-color-theme-500{color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-text-color-theme-600{color:#fdd835!important}.mdui-theme-primary-yellow .mdui-text-color-theme-700{color:#fbc02d!important}.mdui-theme-primary-yellow .mdui-text-color-theme-800{color:#f9a825!important}.mdui-theme-primary-yellow .mdui-text-color-theme-900{color:#f57f17!important}.mdui-theme-accent-amber .mdui-text-color-theme-accent{color:#ffd740!important}.mdui-theme-accent-amber .mdui-text-color-theme-a100{color:#ffe57f!important}.mdui-theme-accent-amber .mdui-text-color-theme-a200{color:#ffd740!important}.mdui-theme-accent-amber .mdui-text-color-theme-a400{color:#ffc400!important}.mdui-theme-accent-amber .mdui-text-color-theme-a700{color:#ffab00!important}.mdui-theme-accent-blue .mdui-text-color-theme-accent{color:#448aff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a100{color:#82b1ff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a200{color:#448aff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a400{color:#2979ff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a700{color:#2962ff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-accent{color:#18ffff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a100{color:#84ffff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a200{color:#18ffff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a400{color:#00e5ff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a700{color:#00b8d4!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent{color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100{color:#ff9e80!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200{color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400{color:#ff3d00!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700{color:#dd2c00!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent{color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100{color:#b388ff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200{color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400{color:#651fff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700{color:#6200ea!important}.mdui-theme-accent-green .mdui-text-color-theme-accent{color:#69f0ae!important}.mdui-theme-accent-green .mdui-text-color-theme-a100{color:#b9f6ca!important}.mdui-theme-accent-green .mdui-text-color-theme-a200{color:#69f0ae!important}.mdui-theme-accent-green .mdui-text-color-theme-a400{color:#00e676!important}.mdui-theme-accent-green .mdui-text-color-theme-a700{color:#00c853!important}.mdui-theme-accent-indigo .mdui-text-color-theme-accent{color:#536dfe!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a100{color:#8c9eff!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a200{color:#536dfe!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a400{color:#3d5afe!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a700{color:#304ffe!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-accent{color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a100{color:#80d8ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a200{color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a400{color:#00b0ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a700{color:#0091ea!important}.mdui-theme-accent-light-green .mdui-text-color-theme-accent{color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a100{color:#ccff90!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a200{color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a400{color:#76ff03!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a700{color:#64dd17!important}.mdui-theme-accent-lime .mdui-text-color-theme-accent{color:#eeff41!important}.mdui-theme-accent-lime .mdui-text-color-theme-a100{color:#f4ff81!important}.mdui-theme-accent-lime .mdui-text-color-theme-a200{color:#eeff41!important}.mdui-theme-accent-lime .mdui-text-color-theme-a400{color:#c6ff00!important}.mdui-theme-accent-lime .mdui-text-color-theme-a700{color:#aeea00!important}.mdui-theme-accent-orange .mdui-text-color-theme-accent{color:#ffab40!important}.mdui-theme-accent-orange .mdui-text-color-theme-a100{color:#ffd180!important}.mdui-theme-accent-orange .mdui-text-color-theme-a200{color:#ffab40!important}.mdui-theme-accent-orange .mdui-text-color-theme-a400{color:#ff9100!important}.mdui-theme-accent-orange .mdui-text-color-theme-a700{color:#ff6d00!important}.mdui-theme-accent-pink .mdui-text-color-theme-accent{color:#ff4081!important}.mdui-theme-accent-pink .mdui-text-color-theme-a100{color:#ff80ab!important}.mdui-theme-accent-pink .mdui-text-color-theme-a200{color:#ff4081!important}.mdui-theme-accent-pink .mdui-text-color-theme-a400{color:#f50057!important}.mdui-theme-accent-pink .mdui-text-color-theme-a700{color:#c51162!important}.mdui-theme-accent-purple .mdui-text-color-theme-accent{color:#e040fb!important}.mdui-theme-accent-purple .mdui-text-color-theme-a100{color:#ea80fc!important}.mdui-theme-accent-purple .mdui-text-color-theme-a200{color:#e040fb!important}.mdui-theme-accent-purple .mdui-text-color-theme-a400{color:#d500f9!important}.mdui-theme-accent-purple .mdui-text-color-theme-a700{color:#a0f!important}.mdui-theme-accent-red .mdui-text-color-theme-accent{color:#ff5252!important}.mdui-theme-accent-red .mdui-text-color-theme-a100{color:#ff8a80!important}.mdui-theme-accent-red .mdui-text-color-theme-a200{color:#ff5252!important}.mdui-theme-accent-red .mdui-text-color-theme-a400{color:#ff1744!important}.mdui-theme-accent-red .mdui-text-color-theme-a700{color:#d50000!important}.mdui-theme-accent-teal .mdui-text-color-theme-accent{color:#64ffda!important}.mdui-theme-accent-teal .mdui-text-color-theme-a100{color:#a7ffeb!important}.mdui-theme-accent-teal .mdui-text-color-theme-a200{color:#64ffda!important}.mdui-theme-accent-teal .mdui-text-color-theme-a400{color:#1de9b6!important}.mdui-theme-accent-teal .mdui-text-color-theme-a700{color:#00bfa5!important}.mdui-theme-accent-yellow .mdui-text-color-theme-accent{color:#ff0!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a100{color:#ffff8d!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a200{color:#ff0!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a400{color:#ffea00!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a700{color:#ffd600!important}.mdui-text-color-amber{color:#ffc107!important}.mdui-text-color-amber-50{color:#fff8e1!important}.mdui-text-color-amber-100{color:#ffecb3!important}.mdui-text-color-amber-200{color:#ffe082!important}.mdui-text-color-amber-300{color:#ffd54f!important}.mdui-text-color-amber-400{color:#ffca28!important}.mdui-text-color-amber-500{color:#ffc107!important}.mdui-text-color-amber-600{color:#ffb300!important}.mdui-text-color-amber-700{color:#ffa000!important}.mdui-text-color-amber-800{color:#ff8f00!important}.mdui-text-color-amber-900{color:#ff6f00!important}.mdui-text-color-blue{color:#2196f3!important}.mdui-text-color-blue-50{color:#e3f2fd!important}.mdui-text-color-blue-100{color:#bbdefb!important}.mdui-text-color-blue-200{color:#90caf9!important}.mdui-text-color-blue-300{color:#64b5f6!important}.mdui-text-color-blue-400{color:#42a5f5!important}.mdui-text-color-blue-500{color:#2196f3!important}.mdui-text-color-blue-600{color:#1e88e5!important}.mdui-text-color-blue-700{color:#1976d2!important}.mdui-text-color-blue-800{color:#1565c0!important}.mdui-text-color-blue-900{color:#0d47a1!important}.mdui-text-color-blue-grey{color:#607d8b!important}.mdui-text-color-blue-grey-50{color:#eceff1!important}.mdui-text-color-blue-grey-100{color:#cfd8dc!important}.mdui-text-color-blue-grey-200{color:#b0bec5!important}.mdui-text-color-blue-grey-300{color:#90a4ae!important}.mdui-text-color-blue-grey-400{color:#78909c!important}.mdui-text-color-blue-grey-500{color:#607d8b!important}.mdui-text-color-blue-grey-600{color:#546e7a!important}.mdui-text-color-blue-grey-700{color:#455a64!important}.mdui-text-color-blue-grey-800{color:#37474f!important}.mdui-text-color-blue-grey-900{color:#263238!important}.mdui-text-color-brown{color:#795548!important}.mdui-text-color-brown-50{color:#efebe9!important}.mdui-text-color-brown-100{color:#d7ccc8!important}.mdui-text-color-brown-200{color:#bcaaa4!important}.mdui-text-color-brown-300{color:#a1887f!important}.mdui-text-color-brown-400{color:#8d6e63!important}.mdui-text-color-brown-500{color:#795548!important}.mdui-text-color-brown-600{color:#6d4c41!important}.mdui-text-color-brown-700{color:#5d4037!important}.mdui-text-color-brown-800{color:#4e342e!important}.mdui-text-color-brown-900{color:#3e2723!important}.mdui-text-color-cyan{color:#00bcd4!important}.mdui-text-color-cyan-50{color:#e0f7fa!important}.mdui-text-color-cyan-100{color:#b2ebf2!important}.mdui-text-color-cyan-200{color:#80deea!important}.mdui-text-color-cyan-300{color:#4dd0e1!important}.mdui-text-color-cyan-400{color:#26c6da!important}.mdui-text-color-cyan-500{color:#00bcd4!important}.mdui-text-color-cyan-600{color:#00acc1!important}.mdui-text-color-cyan-700{color:#0097a7!important}.mdui-text-color-cyan-800{color:#00838f!important}.mdui-text-color-cyan-900{color:#006064!important}.mdui-text-color-deep-orange{color:#ff5722!important}.mdui-text-color-deep-orange-50{color:#fbe9e7!important}.mdui-text-color-deep-orange-100{color:#ffccbc!important}.mdui-text-color-deep-orange-200{color:#ffab91!important}.mdui-text-color-deep-orange-300{color:#ff8a65!important}.mdui-text-color-deep-orange-400{color:#ff7043!important}.mdui-text-color-deep-orange-500{color:#ff5722!important}.mdui-text-color-deep-orange-600{color:#f4511e!important}.mdui-text-color-deep-orange-700{color:#e64a19!important}.mdui-text-color-deep-orange-800{color:#d84315!important}.mdui-text-color-deep-orange-900{color:#bf360c!important}.mdui-text-color-deep-purple{color:#673ab7!important}.mdui-text-color-deep-purple-50{color:#ede7f6!important}.mdui-text-color-deep-purple-100{color:#d1c4e9!important}.mdui-text-color-deep-purple-200{color:#b39ddb!important}.mdui-text-color-deep-purple-300{color:#9575cd!important}.mdui-text-color-deep-purple-400{color:#7e57c2!important}.mdui-text-color-deep-purple-500{color:#673ab7!important}.mdui-text-color-deep-purple-600{color:#5e35b1!important}.mdui-text-color-deep-purple-700{color:#512da8!important}.mdui-text-color-deep-purple-800{color:#4527a0!important}.mdui-text-color-deep-purple-900{color:#311b92!important}.mdui-text-color-green{color:#4caf50!important}.mdui-text-color-green-50{color:#e8f5e9!important}.mdui-text-color-green-100{color:#c8e6c9!important}.mdui-text-color-green-200{color:#a5d6a7!important}.mdui-text-color-green-300{color:#81c784!important}.mdui-text-color-green-400{color:#66bb6a!important}.mdui-text-color-green-500{color:#4caf50!important}.mdui-text-color-green-600{color:#43a047!important}.mdui-text-color-green-700{color:#388e3c!important}.mdui-text-color-green-800{color:#2e7d32!important}.mdui-text-color-green-900{color:#1b5e20!important}.mdui-text-color-grey{color:#9e9e9e!important}.mdui-text-color-grey-50{color:#fafafa!important}.mdui-text-color-grey-100{color:#f5f5f5!important}.mdui-text-color-grey-200{color:#eee!important}.mdui-text-color-grey-300{color:#e0e0e0!important}.mdui-text-color-grey-400{color:#bdbdbd!important}.mdui-text-color-grey-500{color:#9e9e9e!important}.mdui-text-color-grey-600{color:#757575!important}.mdui-text-color-grey-700{color:#616161!important}.mdui-text-color-grey-800{color:#424242!important}.mdui-text-color-grey-900{color:#212121!important}.mdui-text-color-indigo{color:#3f51b5!important}.mdui-text-color-indigo-50{color:#e8eaf6!important}.mdui-text-color-indigo-100{color:#c5cae9!important}.mdui-text-color-indigo-200{color:#9fa8da!important}.mdui-text-color-indigo-300{color:#7986cb!important}.mdui-text-color-indigo-400{color:#5c6bc0!important}.mdui-text-color-indigo-500{color:#3f51b5!important}.mdui-text-color-indigo-600{color:#3949ab!important}.mdui-text-color-indigo-700{color:#303f9f!important}.mdui-text-color-indigo-800{color:#283593!important}.mdui-text-color-indigo-900{color:#1a237e!important}.mdui-text-color-light-blue{color:#03a9f4!important}.mdui-text-color-light-blue-50{color:#e1f5fe!important}.mdui-text-color-light-blue-100{color:#b3e5fc!important}.mdui-text-color-light-blue-200{color:#81d4fa!important}.mdui-text-color-light-blue-300{color:#4fc3f7!important}.mdui-text-color-light-blue-400{color:#29b6f6!important}.mdui-text-color-light-blue-500{color:#03a9f4!important}.mdui-text-color-light-blue-600{color:#039be5!important}.mdui-text-color-light-blue-700{color:#0288d1!important}.mdui-text-color-light-blue-800{color:#0277bd!important}.mdui-text-color-light-blue-900{color:#01579b!important}.mdui-text-color-light-green{color:#8bc34a!important}.mdui-text-color-light-green-50{color:#f1f8e9!important}.mdui-text-color-light-green-100{color:#dcedc8!important}.mdui-text-color-light-green-200{color:#c5e1a5!important}.mdui-text-color-light-green-300{color:#aed581!important}.mdui-text-color-light-green-400{color:#9ccc65!important}.mdui-text-color-light-green-500{color:#8bc34a!important}.mdui-text-color-light-green-600{color:#7cb342!important}.mdui-text-color-light-green-700{color:#689f38!important}.mdui-text-color-light-green-800{color:#558b2f!important}.mdui-text-color-light-green-900{color:#33691e!important}.mdui-text-color-lime{color:#cddc39!important}.mdui-text-color-lime-50{color:#f9fbe7!important}.mdui-text-color-lime-100{color:#f0f4c3!important}.mdui-text-color-lime-200{color:#e6ee9c!important}.mdui-text-color-lime-300{color:#dce775!important}.mdui-text-color-lime-400{color:#d4e157!important}.mdui-text-color-lime-500{color:#cddc39!important}.mdui-text-color-lime-600{color:#c0ca33!important}.mdui-text-color-lime-700{color:#afb42b!important}.mdui-text-color-lime-800{color:#9e9d24!important}.mdui-text-color-lime-900{color:#827717!important}.mdui-text-color-orange{color:#ff9800!important}.mdui-text-color-orange-50{color:#fff3e0!important}.mdui-text-color-orange-100{color:#ffe0b2!important}.mdui-text-color-orange-200{color:#ffcc80!important}.mdui-text-color-orange-300{color:#ffb74d!important}.mdui-text-color-orange-400{color:#ffa726!important}.mdui-text-color-orange-500{color:#ff9800!important}.mdui-text-color-orange-600{color:#fb8c00!important}.mdui-text-color-orange-700{color:#f57c00!important}.mdui-text-color-orange-800{color:#ef6c00!important}.mdui-text-color-orange-900{color:#e65100!important}.mdui-text-color-pink{color:#e91e63!important}.mdui-text-color-pink-50{color:#fce4ec!important}.mdui-text-color-pink-100{color:#f8bbd0!important}.mdui-text-color-pink-200{color:#f48fb1!important}.mdui-text-color-pink-300{color:#f06292!important}.mdui-text-color-pink-400{color:#ec407a!important}.mdui-text-color-pink-500{color:#e91e63!important}.mdui-text-color-pink-600{color:#d81b60!important}.mdui-text-color-pink-700{color:#c2185b!important}.mdui-text-color-pink-800{color:#ad1457!important}.mdui-text-color-pink-900{color:#880e4f!important}.mdui-text-color-purple{color:#9c27b0!important}.mdui-text-color-purple-50{color:#f3e5f5!important}.mdui-text-color-purple-100{color:#e1bee7!important}.mdui-text-color-purple-200{color:#ce93d8!important}.mdui-text-color-purple-300{color:#ba68c8!important}.mdui-text-color-purple-400{color:#ab47bc!important}.mdui-text-color-purple-500{color:#9c27b0!important}.mdui-text-color-purple-600{color:#8e24aa!important}.mdui-text-color-purple-700{color:#7b1fa2!important}.mdui-text-color-purple-800{color:#6a1b9a!important}.mdui-text-color-purple-900{color:#4a148c!important}.mdui-text-color-red{color:#f44336!important}.mdui-text-color-red-50{color:#ffebee!important}.mdui-text-color-red-100{color:#ffcdd2!important}.mdui-text-color-red-200{color:#ef9a9a!important}.mdui-text-color-red-300{color:#e57373!important}.mdui-text-color-red-400{color:#ef5350!important}.mdui-text-color-red-500{color:#f44336!important}.mdui-text-color-red-600{color:#e53935!important}.mdui-text-color-red-700{color:#d32f2f!important}.mdui-text-color-red-800{color:#c62828!important}.mdui-text-color-red-900{color:#b71c1c!important}.mdui-text-color-teal{color:#009688!important}.mdui-text-color-teal-50{color:#e0f2f1!important}.mdui-text-color-teal-100{color:#b2dfdb!important}.mdui-text-color-teal-200{color:#80cbc4!important}.mdui-text-color-teal-300{color:#4db6ac!important}.mdui-text-color-teal-400{color:#26a69a!important}.mdui-text-color-teal-500{color:#009688!important}.mdui-text-color-teal-600{color:#00897b!important}.mdui-text-color-teal-700{color:#00796b!important}.mdui-text-color-teal-800{color:#00695c!important}.mdui-text-color-teal-900{color:#004d40!important}.mdui-text-color-yellow{color:#ffeb3b!important}.mdui-text-color-yellow-50{color:#fffde7!important}.mdui-text-color-yellow-100{color:#fff9c4!important}.mdui-text-color-yellow-200{color:#fff59d!important}.mdui-text-color-yellow-300{color:#fff176!important}.mdui-text-color-yellow-400{color:#ffee58!important}.mdui-text-color-yellow-500{color:#ffeb3b!important}.mdui-text-color-yellow-600{color:#fdd835!important}.mdui-text-color-yellow-700{color:#fbc02d!important}.mdui-text-color-yellow-800{color:#f9a825!important}.mdui-text-color-yellow-900{color:#f57f17!important}.mdui-text-color-amber-accent{color:#ffd740!important}.mdui-text-color-amber-a100{color:#ffe57f!important}.mdui-text-color-amber-a200{color:#ffd740!important}.mdui-text-color-amber-a400{color:#ffc400!important}.mdui-text-color-amber-a700{color:#ffab00!important}.mdui-text-color-blue-accent{color:#448aff!important}.mdui-text-color-blue-a100{color:#82b1ff!important}.mdui-text-color-blue-a200{color:#448aff!important}.mdui-text-color-blue-a400{color:#2979ff!important}.mdui-text-color-blue-a700{color:#2962ff!important}.mdui-text-color-cyan-accent{color:#18ffff!important}.mdui-text-color-cyan-a100{color:#84ffff!important}.mdui-text-color-cyan-a200{color:#18ffff!important}.mdui-text-color-cyan-a400{color:#00e5ff!important}.mdui-text-color-cyan-a700{color:#00b8d4!important}.mdui-text-color-deep-orange-accent{color:#ff6e40!important}.mdui-text-color-deep-orange-a100{color:#ff9e80!important}.mdui-text-color-deep-orange-a200{color:#ff6e40!important}.mdui-text-color-deep-orange-a400{color:#ff3d00!important}.mdui-text-color-deep-orange-a700{color:#dd2c00!important}.mdui-text-color-deep-purple-accent{color:#7c4dff!important}.mdui-text-color-deep-purple-a100{color:#b388ff!important}.mdui-text-color-deep-purple-a200{color:#7c4dff!important}.mdui-text-color-deep-purple-a400{color:#651fff!important}.mdui-text-color-deep-purple-a700{color:#6200ea!important}.mdui-text-color-green-accent{color:#69f0ae!important}.mdui-text-color-green-a100{color:#b9f6ca!important}.mdui-text-color-green-a200{color:#69f0ae!important}.mdui-text-color-green-a400{color:#00e676!important}.mdui-text-color-green-a700{color:#00c853!important}.mdui-text-color-indigo-accent{color:#536dfe!important}.mdui-text-color-indigo-a100{color:#8c9eff!important}.mdui-text-color-indigo-a200{color:#536dfe!important}.mdui-text-color-indigo-a400{color:#3d5afe!important}.mdui-text-color-indigo-a700{color:#304ffe!important}.mdui-text-color-light-blue-accent{color:#40c4ff!important}.mdui-text-color-light-blue-a100{color:#80d8ff!important}.mdui-text-color-light-blue-a200{color:#40c4ff!important}.mdui-text-color-light-blue-a400{color:#00b0ff!important}.mdui-text-color-light-blue-a700{color:#0091ea!important}.mdui-text-color-light-green-accent{color:#b2ff59!important}.mdui-text-color-light-green-a100{color:#ccff90!important}.mdui-text-color-light-green-a200{color:#b2ff59!important}.mdui-text-color-light-green-a400{color:#76ff03!important}.mdui-text-color-light-green-a700{color:#64dd17!important}.mdui-text-color-lime-accent{color:#eeff41!important}.mdui-text-color-lime-a100{color:#f4ff81!important}.mdui-text-color-lime-a200{color:#eeff41!important}.mdui-text-color-lime-a400{color:#c6ff00!important}.mdui-text-color-lime-a700{color:#aeea00!important}.mdui-text-color-orange-accent{color:#ffab40!important}.mdui-text-color-orange-a100{color:#ffd180!important}.mdui-text-color-orange-a200{color:#ffab40!important}.mdui-text-color-orange-a400{color:#ff9100!important}.mdui-text-color-orange-a700{color:#ff6d00!important}.mdui-text-color-pink-accent{color:#ff4081!important}.mdui-text-color-pink-a100{color:#ff80ab!important}.mdui-text-color-pink-a200{color:#ff4081!important}.mdui-text-color-pink-a400{color:#f50057!important}.mdui-text-color-pink-a700{color:#c51162!important}.mdui-text-color-purple-accent{color:#e040fb!important}.mdui-text-color-purple-a100{color:#ea80fc!important}.mdui-text-color-purple-a200{color:#e040fb!important}.mdui-text-color-purple-a400{color:#d500f9!important}.mdui-text-color-purple-a700{color:#a0f!important}.mdui-text-color-red-accent{color:#ff5252!important}.mdui-text-color-red-a100{color:#ff8a80!important}.mdui-text-color-red-a200{color:#ff5252!important}.mdui-text-color-red-a400{color:#ff1744!important}.mdui-text-color-red-a700{color:#d50000!important}.mdui-text-color-teal-accent{color:#64ffda!important}.mdui-text-color-teal-a100{color:#a7ffeb!important}.mdui-text-color-teal-a200{color:#64ffda!important}.mdui-text-color-teal-a400{color:#1de9b6!important}.mdui-text-color-teal-a700{color:#00bfa5!important}.mdui-text-color-yellow-accent{color:#ff0!important}.mdui-text-color-yellow-a100{color:#ffff8d!important}.mdui-text-color-yellow-a200{color:#ff0!important}.mdui-text-color-yellow-a400{color:#ffea00!important}.mdui-text-color-yellow-a700{color:#ffd600!important}.mdui-text-color-black{color:#000!important}.mdui-text-color-black-text,.mdui-text-color-theme-text{color:rgba(0,0,0,.87)!important}.mdui-text-color-black-secondary,.mdui-text-color-theme-secondary{color:rgba(0,0,0,.54)!important}.mdui-text-color-black-disabled,.mdui-text-color-theme-disabled{color:rgba(0,0,0,.38)!important}.mdui-text-color-black-divider,.mdui-text-color-theme-divider{color:rgba(0,0,0,.12)!important}.mdui-text-color-black-icon,.mdui-text-color-theme-icon{color:rgba(0,0,0,.54)!important}.mdui-text-color-black-icon-disabled,.mdui-text-color-theme-icon-disabled{color:rgba(0,0,0,.26)!important}.mdui-text-color-white{color:#fff!important}.mdui-text-color-white-text{color:#fff!important}.mdui-text-color-white-secondary{color:rgba(255,255,255,.7)!important}.mdui-text-color-white-disabled{color:rgba(255,255,255,.5)!important}.mdui-text-color-white-divider{color:rgba(255,255,255,.12)!important}.mdui-text-color-white-icon{color:#fff!important}.mdui-text-color-white-icon-disabled{color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-text-color-theme-text{color:#fff!important}.mdui-theme-layout-dark .mdui-text-color-theme-secondary{color:rgba(255,255,255,.7)!important}.mdui-theme-layout-dark .mdui-text-color-theme-disabled{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-dark .mdui-text-color-theme-divider{color:rgba(255,255,255,.12)!important}.mdui-theme-layout-dark .mdui-text-color-theme-icon{color:#fff!important}.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled{color:rgba(255,255,255,.3)!important}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-text-color-theme-text{color:#fff!important}.mdui-theme-layout-auto .mdui-text-color-theme-secondary{color:rgba(255,255,255,.7)!important}.mdui-theme-layout-auto .mdui-text-color-theme-disabled{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-auto .mdui-text-color-theme-divider{color:rgba(255,255,255,.12)!important}.mdui-theme-layout-auto .mdui-text-color-theme-icon{color:#fff!important}.mdui-theme-layout-auto .mdui-text-color-theme-icon-disabled{color:rgba(255,255,255,.3)!important}}.mdui-m-a-0{margin:0!important}.mdui-m-t-0{margin-top:0!important}.mdui-m-r-0{margin-right:0!important}.mdui-m-b-0{margin-bottom:0!important}.mdui-m-l-0{margin-left:0!important}.mdui-m-x-0{margin-right:0!important;margin-left:0!important}.mdui-m-y-0{margin-top:0!important;margin-bottom:0!important}.mdui-p-a-0{padding:0!important}.mdui-p-t-0{padding-top:0!important}.mdui-p-r-0{padding-right:0!important}.mdui-p-b-0{padding-bottom:0!important}.mdui-p-l-0{padding-left:0!important}.mdui-p-x-0{padding-right:0!important;padding-left:0!important}.mdui-p-y-0{padding-top:0!important;padding-bottom:0!important}.mdui-m-a-1{margin:8px!important}.mdui-m-t-1{margin-top:8px!important}.mdui-m-r-1{margin-right:8px!important}.mdui-m-b-1{margin-bottom:8px!important}.mdui-m-l-1{margin-left:8px!important}.mdui-m-x-1{margin-right:8px!important;margin-left:8px!important}.mdui-m-y-1{margin-top:8px!important;margin-bottom:8px!important}.mdui-p-a-1{padding:8px!important}.mdui-p-t-1{padding-top:8px!important}.mdui-p-r-1{padding-right:8px!important}.mdui-p-b-1{padding-bottom:8px!important}.mdui-p-l-1{padding-left:8px!important}.mdui-p-x-1{padding-right:8px!important;padding-left:8px!important}.mdui-p-y-1{padding-top:8px!important;padding-bottom:8px!important}.mdui-m-a-2{margin:16px!important}.mdui-m-t-2{margin-top:16px!important}.mdui-m-r-2{margin-right:16px!important}.mdui-m-b-2{margin-bottom:16px!important}.mdui-m-l-2{margin-left:16px!important}.mdui-m-x-2{margin-right:16px!important;margin-left:16px!important}.mdui-m-y-2{margin-top:16px!important;margin-bottom:16px!important}.mdui-p-a-2{padding:16px!important}.mdui-p-t-2{padding-top:16px!important}.mdui-p-r-2{padding-right:16px!important}.mdui-p-b-2{padding-bottom:16px!important}.mdui-p-l-2{padding-left:16px!important}.mdui-p-x-2{padding-right:16px!important;padding-left:16px!important}.mdui-p-y-2{padding-top:16px!important;padding-bottom:16px!important}.mdui-m-a-3{margin:24px!important}.mdui-m-t-3{margin-top:24px!important}.mdui-m-r-3{margin-right:24px!important}.mdui-m-b-3{margin-bottom:24px!important}.mdui-m-l-3{margin-left:24px!important}.mdui-m-x-3{margin-right:24px!important;margin-left:24px!important}.mdui-m-y-3{margin-top:24px!important;margin-bottom:24px!important}.mdui-p-a-3{padding:24px!important}.mdui-p-t-3{padding-top:24px!important}.mdui-p-r-3{padding-right:24px!important}.mdui-p-b-3{padding-bottom:24px!important}.mdui-p-l-3{padding-left:24px!important}.mdui-p-x-3{padding-right:24px!important;padding-left:24px!important}.mdui-p-y-3{padding-top:24px!important;padding-bottom:24px!important}.mdui-m-a-4{margin:32px!important}.mdui-m-t-4{margin-top:32px!important}.mdui-m-r-4{margin-right:32px!important}.mdui-m-b-4{margin-bottom:32px!important}.mdui-m-l-4{margin-left:32px!important}.mdui-m-x-4{margin-right:32px!important;margin-left:32px!important}.mdui-m-y-4{margin-top:32px!important;margin-bottom:32px!important}.mdui-p-a-4{padding:32px!important}.mdui-p-t-4{padding-top:32px!important}.mdui-p-r-4{padding-right:32px!important}.mdui-p-b-4{padding-bottom:32px!important}.mdui-p-l-4{padding-left:32px!important}.mdui-p-x-4{padding-right:32px!important;padding-left:32px!important}.mdui-p-y-4{padding-top:32px!important;padding-bottom:32px!important}.mdui-m-a-5{margin:40px!important}.mdui-m-t-5{margin-top:40px!important}.mdui-m-r-5{margin-right:40px!important}.mdui-m-b-5{margin-bottom:40px!important}.mdui-m-l-5{margin-left:40px!important}.mdui-m-x-5{margin-right:40px!important;margin-left:40px!important}.mdui-m-y-5{margin-top:40px!important;margin-bottom:40px!important}.mdui-p-a-5{padding:40px!important}.mdui-p-t-5{padding-top:40px!important}.mdui-p-r-5{padding-right:40px!important}.mdui-p-b-5{padding-bottom:40px!important}.mdui-p-l-5{padding-left:40px!important}.mdui-p-x-5{padding-right:40px!important;padding-left:40px!important}.mdui-p-y-5{padding-top:40px!important;padding-bottom:40px!important}.mdui-float-left{float:left!important}.mdui-float-right{float:right!important}.mdui-center{display:block!important;margin-right:auto!important;margin-left:auto!important}.mdui-valign{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.mdui-text-left{text-align:left!important}.mdui-text-center{text-align:center!important}.mdui-text-right{text-align:right!important}.mdui-text-lowercase{text-transform:lowercase!important}.mdui-text-uppercase{text-transform:uppercase!important}.mdui-text-capitalize{text-transform:capitalize!important}.mdui-text-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-clearfix::after,.mdui-clearfix::before{display:table;content:' '}.mdui-clearfix::after{clear:both}.mdui-hidden,[hidden]{display:none!important}.mdui-invisible{visibility:hidden}@media (max-width:599.9px){.mdui-hidden-xs{display:none!important}}@media (min-width:600px) and (max-width:1023.9px){.mdui-hidden-sm{display:none!important}}@media (min-width:1024px) and (max-width:1439.9px){.mdui-hidden-md{display:none!important}}@media (min-width:1440px) and (max-width:1919.9px){.mdui-hidden-lg{display:none!important}}@media (min-width:1920px){.mdui-hidden-xl{display:none!important}}@media (max-width:599.9px){.mdui-hidden-xs-down{display:none!important}}@media (max-width:1023.9px){.mdui-hidden-sm-down{display:none!important}}@media (max-width:1439.9px){.mdui-hidden-md-down{display:none!important}}@media (max-width:1919.9px){.mdui-hidden-lg-down{display:none!important}}.mdui-hidden-xl-down{display:none!important}.mdui-hidden-xs-up{display:none!important}@media (min-width:600px){.mdui-hidden-sm-up{display:none!important}}@media (min-width:1024px){.mdui-hidden-md-up{display:none!important}}@media (min-width:1440px){.mdui-hidden-lg-up{display:none!important}}@media (min-width:1920px){.mdui-hidden-xl-up{display:none!important}}.mdui-icon,.mdui-icon::before{color:inherit;font-weight:400;font-size:24px;font-style:normal;line-height:1;direction:ltr;letter-spacing:normal;white-space:nowrap;text-transform:none;vertical-align:middle;word-wrap:normal}.mdui-icon{display:inline-block;text-align:center}.mdui-icon::before{display:block!important;width:24px;height:24px}@font-face{font-weight:400;font-family:'Material Icons';font-style:normal;src:local('Material Icons'),local('MaterialIcons-Regular'),url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'),url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff')}.material-icons{font-family:'Material Icons';-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:'liga';font-feature-settings:'liga'}.mdui-img-fluid,.mdui-video-fluid{display:block;max-width:100%;height:auto}.mdui-img-rounded{border-radius:2px}.mdui-img-circle{border-radius:50%}.mdui-video-container{position:relative;height:0;padding-bottom:56.25%;overflow:hidden}.mdui-video-container embed,.mdui-video-container iframe,.mdui-video-container object{position:absolute;top:0;left:0;width:100%;height:100%}@font-face{font-weight:100;font-family:Roboto;font-style:normal;font-display:swap;src:local('Roboto Thin'),local('Roboto-Thin'),url(../fonts/roboto/Roboto-Thin.woff2) format('woff2'),url(../fonts/roboto/Roboto-Thin.woff) format('woff')}@font-face{font-weight:100;font-family:Roboto;font-style:italic;font-display:swap;src:local('Roboto ThinItalic'),local('Roboto-ThinItalic'),url(../fonts/roboto/Roboto-ThinItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-ThinItalic.woff) format('woff')}@font-face{font-weight:300;font-family:Roboto;font-style:normal;font-display:swap;src:local('Roboto Light'),local('Roboto-Light'),url(../fonts/roboto/Roboto-Light.woff2) format('woff2'),url(../fonts/roboto/Roboto-Light.woff) format('woff')}@font-face{font-weight:300;font-family:Roboto;font-style:italic;font-display:swap;src:local('Roboto LightItalic'),local('Roboto-LightItalic'),url(../fonts/roboto/Roboto-LightItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-LightItalic.woff) format('woff')}@font-face{font-weight:400;font-family:Roboto;font-style:normal;font-display:swap;src:local('Roboto Regular'),local('Roboto-Regular'),url(../fonts/roboto/Roboto-Regular.woff2) format('woff2'),url(../fonts/roboto/Roboto-Regular.woff) format('woff')}@font-face{font-weight:400;font-family:Roboto;font-style:italic;font-display:swap;src:local('Roboto RegularItalic'),local('Roboto-RegularItalic'),url(../fonts/roboto/Roboto-RegularItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-RegularItalic.woff) format('woff')}@font-face{font-weight:500;font-family:Roboto;font-style:normal;font-display:swap;src:local('Roboto Medium'),local('Roboto-Medium'),url(../fonts/roboto/Roboto-Medium.woff2) format('woff2'),url(../fonts/roboto/Roboto-Medium.woff) format('woff')}@font-face{font-weight:500;font-family:Roboto;font-style:italic;font-display:swap;src:local('Roboto MediumItalic'),local('Roboto-MediumItalic'),url(../fonts/roboto/Roboto-MediumItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-MediumItalic.woff) format('woff')}@font-face{font-weight:700;font-family:Roboto;font-style:normal;font-display:swap;src:local('Roboto Bold'),local('Roboto-Bold'),url(../fonts/roboto/Roboto-Bold.woff2) format('woff2'),url(../fonts/roboto/Roboto-Bold.woff) format('woff')}@font-face{font-weight:700;font-family:Roboto;font-style:italic;font-display:swap;src:local('Roboto BoldItalic'),local('Roboto-BoldItalic'),url(../fonts/roboto/Roboto-BoldItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-BoldItalic.woff) format('woff')}@font-face{font-weight:900;font-family:Roboto;font-style:normal;font-display:swap;src:local('Roboto Black'),local('Roboto-Black'),url(../fonts/roboto/Roboto-Black.woff2) format('woff2'),url(../fonts/roboto/Roboto-Black.woff) format('woff')}@font-face{font-weight:900;font-family:Roboto;font-style:italic;font-display:swap;src:local('Roboto BlackItalic'),local('Roboto-BlackItalic'),url(../fonts/roboto/Roboto-BlackItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-BlackItalic.woff) format('woff')}.mdui-typo-display-4,.mdui-typo-display-4-opacity{font-weight:300;font-size:112px;letter-spacing:-.04em}.mdui-typo-display-4-opacity{opacity:.54}.mdui-typo-display-3,.mdui-typo-display-3-opacity{font-weight:400;font-size:56px;letter-spacing:-.02em}.mdui-typo-display-3-opacity{opacity:.54}.mdui-typo-display-2,.mdui-typo-display-2-opacity{font-weight:400;font-size:45px;letter-spacing:0}.mdui-typo-display-2-opacity{opacity:.54}.mdui-typo-display-1,.mdui-typo-display-1-opacity{font-weight:400;font-size:34px;letter-spacing:0}.mdui-typo-display-1-opacity{opacity:.54}.mdui-typo-headline,.mdui-typo-headline-opacity{font-weight:400;font-size:24px;-moz-osx-font-smoothing:grayscale}.mdui-typo-headline-opacity{opacity:.87}.mdui-typo-title,.mdui-typo-title-opacity{font-weight:500;font-size:20px;letter-spacing:.02em}.mdui-typo-title-opacity{opacity:.87}.mdui-typo-subheading,.mdui-typo-subheading-opacity{font-weight:400;font-size:16px;letter-spacing:.04em}.mdui-typo-subheading-opacity{opacity:.87}.mdui-typo-body-2,.mdui-typo-body-2-opacity{font-weight:500;font-size:14px;letter-spacing:.04em}.mdui-typo-body-2-opacity{opacity:.87}.mdui-typo-body-1,.mdui-typo-body-1-opacity{font-weight:400;font-size:14px;letter-spacing:.04em}.mdui-typo-body-1-opacity{opacity:.87}.mdui-typo-caption,.mdui-typo-caption-opacity{font-weight:400;font-size:12px;letter-spacing:.08em}.mdui-typo-caption-opacity{opacity:.54}.mdui-typo{line-height:1.8;word-wrap:break-word}.mdui-typo address,.mdui-typo caption,.mdui-typo cite,.mdui-typo code,.mdui-typo dfn,.mdui-typo th{font-weight:400;font-style:normal}.mdui-typo caption,.mdui-typo th{text-align:left}.mdui-typo q::after,.mdui-typo q::before{content:''}.mdui-typo code,.mdui-typo kbd,.mdui-typo pre,.mdui-typo pre tt,.mdui-typo samp{font-family:Consolas,Courier,'Courier New',monospace}.mdui-typo figcaption{color:rgba(0,0,0,.54);font-size:80%}.mdui-typo [draggable=true],.mdui-typo [draggable]{cursor:move}.mdui-typo [draggable=false]{cursor:inherit}.mdui-typo .mdui-table,.mdui-typo .mdui-table-fluid,.mdui-typo dl,.mdui-typo figure,.mdui-typo form,.mdui-typo hr,.mdui-typo ol,.mdui-typo p,.mdui-typo pre,.mdui-typo table,.mdui-typo ul{margin:0 0 1.2em 0}.mdui-typo .mdui-table-fluid:last-child,.mdui-typo .mdui-table:last-child,.mdui-typo dl:last-child,.mdui-typo figure:last-child,.mdui-typo form:last-child,.mdui-typo hr:last-child,.mdui-typo ol:last-child,.mdui-typo p:last-child,.mdui-typo pre:last-child,.mdui-typo table:last-child,.mdui-typo ul:last-child{margin-bottom:0}.mdui-typo a{color:#ff4081;position:relative;display:inline-block;overflow:hidden;text-decoration:none;vertical-align:top;outline:0}.mdui-typo a::before{position:absolute;top:auto;bottom:1px;left:0;width:100%;height:1px;background-color:#ff4081;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:all .2s;transition:all .2s;content:' '}.mdui-typo a:focus::before,.mdui-typo a:hover::before{-webkit-transform:scaleX(1);transform:scaleX(1)}.mdui-typo small{font-size:80%}.mdui-typo blockquote{margin:1em 3em 1em 2em;padding-left:1em;font-weight:400;border-left:4px solid rgba(0,0,0,.12)}@media only screen and (max-width:599.9px){.mdui-typo blockquote{margin:1em 0}}.mdui-typo blockquote:last-child{margin-bottom:0}.mdui-typo blockquote footer{color:rgba(0,0,0,.54);font-size:86%}.mdui-typo mark{margin:0 5px;padding:2px;background:#fffdd1;border-bottom:1px solid #ffedce}.mdui-typo h1,.mdui-typo h2,.mdui-typo h3,.mdui-typo h4,.mdui-typo h5,.mdui-typo h6{margin-top:1.2em;margin-bottom:.6em;color:inherit;font-weight:400;font-family:inherit;line-height:1.35}.mdui-typo h1:last-child,.mdui-typo h2:last-child,.mdui-typo h3:last-child,.mdui-typo h4:last-child,.mdui-typo h5:last-child,.mdui-typo h6:last-child{margin-bottom:0}.mdui-typo h1 small,.mdui-typo h2 small,.mdui-typo h3 small,.mdui-typo h4 small,.mdui-typo h5 small,.mdui-typo h6 small{color:rgba(0,0,0,.54);font-weight:400;font-size:65%;line-height:1}.mdui-typo h1{font-size:2em}.mdui-typo h2{font-size:1.8em}.mdui-typo h3{font-size:1.6em}.mdui-typo h4{font-size:1.4em}.mdui-typo h5{font-size:1.2em}.mdui-typo h6{font-size:1.1em}.mdui-typo code{padding:2px 6px;color:#c7254e;background-color:#f7f7f9;border-radius:2px}.mdui-typo pre code{padding:0;color:inherit;font-size:inherit;line-height:1.7;background-color:transparent;border-radius:0}.mdui-typo abbr[title]{text-decoration:none;border-bottom:1px dotted;cursor:help}.mdui-typo ins{text-decoration:none;border-bottom:1px solid}.mdui-typo u{text-decoration:none;border-bottom:1px solid}.mdui-typo del{text-decoration:line-through}.mdui-typo hr{height:10px;margin-bottom:.8em;border:none;border-bottom:1px solid rgba(0,0,0,.12)}.mdui-typo pre{padding:12px 16px;overflow-x:auto;border:1px solid rgba(0,0,0,.12);border-radius:2px;-webkit-overflow-scrolling:touch}.mdui-typo kbd{padding:2px 6px;color:#fff;font-size:90%;background-color:#333;border-radius:2px}.mdui-typo ul{padding-left:2em;list-style:disc}.mdui-typo ol{padding-left:2em;list-style:decimal}.mdui-typo li ol,.mdui-typo li ul{margin:.8em 0}.mdui-typo li ul{list-style:circle}.mdui-typo img,.mdui-typo video{max-width:100%}.mdui-typo figure{text-align:center}.mdui-typo figure figcaption{margin-top:8px;color:#999;font-size:14px}.mdui-typo figure figcaption:empty::before{z-index:-1;color:#bfbfbf;cursor:text;content:attr(placeholder)}.mdui-theme-accent-amber .mdui-typo a{color:#ffd740}.mdui-theme-accent-amber .mdui-typo a::before{background-color:#ffd740}.mdui-theme-accent-blue .mdui-typo a{color:#448aff}.mdui-theme-accent-blue .mdui-typo a::before{background-color:#448aff}.mdui-theme-accent-cyan .mdui-typo a{color:#18ffff}.mdui-theme-accent-cyan .mdui-typo a::before{background-color:#18ffff}.mdui-theme-accent-deep-orange .mdui-typo a{color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-typo a::before{background-color:#ff6e40}.mdui-theme-accent-deep-purple .mdui-typo a{color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-typo a::before{background-color:#7c4dff}.mdui-theme-accent-green .mdui-typo a{color:#69f0ae}.mdui-theme-accent-green .mdui-typo a::before{background-color:#69f0ae}.mdui-theme-accent-indigo .mdui-typo a{color:#536dfe}.mdui-theme-accent-indigo .mdui-typo a::before{background-color:#536dfe}.mdui-theme-accent-light-blue .mdui-typo a{color:#40c4ff}.mdui-theme-accent-light-blue .mdui-typo a::before{background-color:#40c4ff}.mdui-theme-accent-light-green .mdui-typo a{color:#b2ff59}.mdui-theme-accent-light-green .mdui-typo a::before{background-color:#b2ff59}.mdui-theme-accent-lime .mdui-typo a{color:#eeff41}.mdui-theme-accent-lime .mdui-typo a::before{background-color:#eeff41}.mdui-theme-accent-orange .mdui-typo a{color:#ffab40}.mdui-theme-accent-orange .mdui-typo a::before{background-color:#ffab40}.mdui-theme-accent-pink .mdui-typo a{color:#ff4081}.mdui-theme-accent-pink .mdui-typo a::before{background-color:#ff4081}.mdui-theme-accent-purple .mdui-typo a{color:#e040fb}.mdui-theme-accent-purple .mdui-typo a::before{background-color:#e040fb}.mdui-theme-accent-red .mdui-typo a{color:#ff5252}.mdui-theme-accent-red .mdui-typo a::before{background-color:#ff5252}.mdui-theme-accent-teal .mdui-typo a{color:#64ffda}.mdui-theme-accent-teal .mdui-typo a::before{background-color:#64ffda}.mdui-theme-accent-yellow .mdui-typo a{color:#ff0}.mdui-theme-accent-yellow .mdui-typo a::before{background-color:#ff0}.mdui-theme-layout-dark .mdui-typo blockquote{border-left-color:rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-typo blockquote footer{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-typo figcaption{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-typo mark{background:#aaa;border-bottom-color:#bbb}.mdui-theme-layout-dark .mdui-typo h1 small,.mdui-theme-layout-dark .mdui-typo h2 small,.mdui-theme-layout-dark .mdui-typo h3 small,.mdui-theme-layout-dark .mdui-typo h4 small,.mdui-theme-layout-dark .mdui-typo h5 small,.mdui-theme-layout-dark .mdui-typo h6 small{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-typo code{color:#ffcdd2;background-color:#424242}.mdui-theme-layout-dark .mdui-typo pre{background:#424242;border-color:rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-typo kbd{background:#424242}.mdui-theme-layout-dark .mdui-typo hr{border-color:rgba(255,255,255,.12)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-typo blockquote{border-left-color:rgba(255,255,255,.12)}.mdui-theme-layout-auto .mdui-typo blockquote footer{color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-typo figcaption{color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-typo mark{background:#aaa;border-bottom-color:#bbb}.mdui-theme-layout-auto .mdui-typo h1 small,.mdui-theme-layout-auto .mdui-typo h2 small,.mdui-theme-layout-auto .mdui-typo h3 small,.mdui-theme-layout-auto .mdui-typo h4 small,.mdui-theme-layout-auto .mdui-typo h5 small,.mdui-theme-layout-auto .mdui-typo h6 small{color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-typo code{color:#ffcdd2;background-color:#424242}.mdui-theme-layout-auto .mdui-typo pre{background:#424242;border-color:rgba(255,255,255,.12)}.mdui-theme-layout-auto .mdui-typo kbd{background:#424242}.mdui-theme-layout-auto .mdui-typo hr{border-color:rgba(255,255,255,.12)}}.mdui-container,.mdui-container-fluid{-webkit-box-sizing:border-box;box-sizing:border-box;margin-right:auto;margin-left:auto;padding-right:8px;padding-left:8px}.mdui-container-fluid::after,.mdui-container::after{display:table;clear:both;content:''}.mdui-container{width:96%;max-width:1280px}@media (min-width:600px){.mdui-container{width:94%}}@media (min-width:1024px){.mdui-container{width:92%}}.mdui-row,[class*=mdui-row-]{margin-right:-8px;margin-left:-8px}.mdui-row::after,[class*=mdui-row-]::after{display:table;clear:both;content:''}.mdui-col,[class*=mdui-col-lg-],[class*=mdui-col-md-],[class*=mdui-col-sm-],[class*=mdui-col-xl-],[class*=mdui-col-xs-]{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;min-height:1px;padding-right:8px;padding-left:8px}.mdui-row-gapless .mdui-col,.mdui-row-gapless [class*=mdui-col-lg-],.mdui-row-gapless [class*=mdui-col-md-],.mdui-row-gapless [class*=mdui-col-sm-],.mdui-row-gapless [class*=mdui-col-xl-],.mdui-row-gapless [class*=mdui-col-xs-]{padding-right:0;padding-left:0}.mdui-row-gapless .mdui-row,.mdui-row-gapless [class*=mdui-row-]{margin-right:0;margin-left:0}.mdui-col-xs-1{float:left;width:8.333333%}.mdui-col-offset-xs-1{margin-left:8.333333%}.mdui-row-xs-1 .mdui-col{float:left;width:100%}.mdui-col-xs-2{float:left;width:16.666667%}.mdui-col-offset-xs-2{margin-left:16.666667%}.mdui-row-xs-2 .mdui-col{float:left;width:50%}.mdui-col-xs-3{float:left;width:25%}.mdui-col-offset-xs-3{margin-left:25%}.mdui-row-xs-3 .mdui-col{float:left;width:33.333333%}.mdui-col-xs-4{float:left;width:33.333333%}.mdui-col-offset-xs-4{margin-left:33.333333%}.mdui-row-xs-4 .mdui-col{float:left;width:25%}.mdui-col-xs-5{float:left;width:41.666667%}.mdui-col-offset-xs-5{margin-left:41.666667%}.mdui-row-xs-5 .mdui-col{float:left;width:20%}.mdui-col-xs-6{float:left;width:50%}.mdui-col-offset-xs-6{margin-left:50%}.mdui-row-xs-6 .mdui-col{float:left;width:16.666667%}.mdui-col-xs-7{float:left;width:58.333333%}.mdui-col-offset-xs-7{margin-left:58.333333%}.mdui-row-xs-7 .mdui-col{float:left;width:14.285714%}.mdui-col-xs-8{float:left;width:66.666667%}.mdui-col-offset-xs-8{margin-left:66.666667%}.mdui-row-xs-8 .mdui-col{float:left;width:12.5%}.mdui-col-xs-9{float:left;width:75%}.mdui-col-offset-xs-9{margin-left:75%}.mdui-row-xs-9 .mdui-col{float:left;width:11.111111%}.mdui-col-xs-10{float:left;width:83.333333%}.mdui-col-offset-xs-10{margin-left:83.333333%}.mdui-row-xs-10 .mdui-col{float:left;width:10%}.mdui-col-xs-11{float:left;width:91.666667%}.mdui-col-offset-xs-11{margin-left:91.666667%}.mdui-row-xs-11 .mdui-col{float:left;width:9.090909%}.mdui-col-xs-12{float:left;width:100%}.mdui-col-offset-xs-12{margin-left:100%}.mdui-row-xs-12 .mdui-col{float:left;width:8.333333%}@media (min-width:600px){.mdui-col-sm-1{float:left;width:8.333333%}.mdui-col-offset-sm-1{margin-left:8.333333%}.mdui-row-sm-1 .mdui-col{float:left;width:100%}.mdui-col-sm-2{float:left;width:16.666667%}.mdui-col-offset-sm-2{margin-left:16.666667%}.mdui-row-sm-2 .mdui-col{float:left;width:50%}.mdui-col-sm-3{float:left;width:25%}.mdui-col-offset-sm-3{margin-left:25%}.mdui-row-sm-3 .mdui-col{float:left;width:33.333333%}.mdui-col-sm-4{float:left;width:33.333333%}.mdui-col-offset-sm-4{margin-left:33.333333%}.mdui-row-sm-4 .mdui-col{float:left;width:25%}.mdui-col-sm-5{float:left;width:41.666667%}.mdui-col-offset-sm-5{margin-left:41.666667%}.mdui-row-sm-5 .mdui-col{float:left;width:20%}.mdui-col-sm-6{float:left;width:50%}.mdui-col-offset-sm-6{margin-left:50%}.mdui-row-sm-6 .mdui-col{float:left;width:16.666667%}.mdui-col-sm-7{float:left;width:58.333333%}.mdui-col-offset-sm-7{margin-left:58.333333%}.mdui-row-sm-7 .mdui-col{float:left;width:14.285714%}.mdui-col-sm-8{float:left;width:66.666667%}.mdui-col-offset-sm-8{margin-left:66.666667%}.mdui-row-sm-8 .mdui-col{float:left;width:12.5%}.mdui-col-sm-9{float:left;width:75%}.mdui-col-offset-sm-9{margin-left:75%}.mdui-row-sm-9 .mdui-col{float:left;width:11.111111%}.mdui-col-sm-10{float:left;width:83.333333%}.mdui-col-offset-sm-10{margin-left:83.333333%}.mdui-row-sm-10 .mdui-col{float:left;width:10%}.mdui-col-sm-11{float:left;width:91.666667%}.mdui-col-offset-sm-11{margin-left:91.666667%}.mdui-row-sm-11 .mdui-col{float:left;width:9.090909%}.mdui-col-sm-12{float:left;width:100%}.mdui-col-offset-sm-12{margin-left:100%}.mdui-row-sm-12 .mdui-col{float:left;width:8.333333%}}@media (min-width:1024px){.mdui-col-md-1{float:left;width:8.333333%}.mdui-col-offset-md-1{margin-left:8.333333%}.mdui-row-md-1 .mdui-col{float:left;width:100%}.mdui-col-md-2{float:left;width:16.666667%}.mdui-col-offset-md-2{margin-left:16.666667%}.mdui-row-md-2 .mdui-col{float:left;width:50%}.mdui-col-md-3{float:left;width:25%}.mdui-col-offset-md-3{margin-left:25%}.mdui-row-md-3 .mdui-col{float:left;width:33.333333%}.mdui-col-md-4{float:left;width:33.333333%}.mdui-col-offset-md-4{margin-left:33.333333%}.mdui-row-md-4 .mdui-col{float:left;width:25%}.mdui-col-md-5{float:left;width:41.666667%}.mdui-col-offset-md-5{margin-left:41.666667%}.mdui-row-md-5 .mdui-col{float:left;width:20%}.mdui-col-md-6{float:left;width:50%}.mdui-col-offset-md-6{margin-left:50%}.mdui-row-md-6 .mdui-col{float:left;width:16.666667%}.mdui-col-md-7{float:left;width:58.333333%}.mdui-col-offset-md-7{margin-left:58.333333%}.mdui-row-md-7 .mdui-col{float:left;width:14.285714%}.mdui-col-md-8{float:left;width:66.666667%}.mdui-col-offset-md-8{margin-left:66.666667%}.mdui-row-md-8 .mdui-col{float:left;width:12.5%}.mdui-col-md-9{float:left;width:75%}.mdui-col-offset-md-9{margin-left:75%}.mdui-row-md-9 .mdui-col{float:left;width:11.111111%}.mdui-col-md-10{float:left;width:83.333333%}.mdui-col-offset-md-10{margin-left:83.333333%}.mdui-row-md-10 .mdui-col{float:left;width:10%}.mdui-col-md-11{float:left;width:91.666667%}.mdui-col-offset-md-11{margin-left:91.666667%}.mdui-row-md-11 .mdui-col{float:left;width:9.090909%}.mdui-col-md-12{float:left;width:100%}.mdui-col-offset-md-12{margin-left:100%}.mdui-row-md-12 .mdui-col{float:left;width:8.333333%}}@media (min-width:1440px){.mdui-col-lg-1{float:left;width:8.333333%}.mdui-col-offset-lg-1{margin-left:8.333333%}.mdui-row-lg-1 .mdui-col{float:left;width:100%}.mdui-col-lg-2{float:left;width:16.666667%}.mdui-col-offset-lg-2{margin-left:16.666667%}.mdui-row-lg-2 .mdui-col{float:left;width:50%}.mdui-col-lg-3{float:left;width:25%}.mdui-col-offset-lg-3{margin-left:25%}.mdui-row-lg-3 .mdui-col{float:left;width:33.333333%}.mdui-col-lg-4{float:left;width:33.333333%}.mdui-col-offset-lg-4{margin-left:33.333333%}.mdui-row-lg-4 .mdui-col{float:left;width:25%}.mdui-col-lg-5{float:left;width:41.666667%}.mdui-col-offset-lg-5{margin-left:41.666667%}.mdui-row-lg-5 .mdui-col{float:left;width:20%}.mdui-col-lg-6{float:left;width:50%}.mdui-col-offset-lg-6{margin-left:50%}.mdui-row-lg-6 .mdui-col{float:left;width:16.666667%}.mdui-col-lg-7{float:left;width:58.333333%}.mdui-col-offset-lg-7{margin-left:58.333333%}.mdui-row-lg-7 .mdui-col{float:left;width:14.285714%}.mdui-col-lg-8{float:left;width:66.666667%}.mdui-col-offset-lg-8{margin-left:66.666667%}.mdui-row-lg-8 .mdui-col{float:left;width:12.5%}.mdui-col-lg-9{float:left;width:75%}.mdui-col-offset-lg-9{margin-left:75%}.mdui-row-lg-9 .mdui-col{float:left;width:11.111111%}.mdui-col-lg-10{float:left;width:83.333333%}.mdui-col-offset-lg-10{margin-left:83.333333%}.mdui-row-lg-10 .mdui-col{float:left;width:10%}.mdui-col-lg-11{float:left;width:91.666667%}.mdui-col-offset-lg-11{margin-left:91.666667%}.mdui-row-lg-11 .mdui-col{float:left;width:9.090909%}.mdui-col-lg-12{float:left;width:100%}.mdui-col-offset-lg-12{margin-left:100%}.mdui-row-lg-12 .mdui-col{float:left;width:8.333333%}}@media (min-width:1920px){.mdui-col-xl-1{float:left;width:8.333333%}.mdui-col-offset-xl-1{margin-left:8.333333%}.mdui-row-xl-1 .mdui-col{float:left;width:100%}.mdui-col-xl-2{float:left;width:16.666667%}.mdui-col-offset-xl-2{margin-left:16.666667%}.mdui-row-xl-2 .mdui-col{float:left;width:50%}.mdui-col-xl-3{float:left;width:25%}.mdui-col-offset-xl-3{margin-left:25%}.mdui-row-xl-3 .mdui-col{float:left;width:33.333333%}.mdui-col-xl-4{float:left;width:33.333333%}.mdui-col-offset-xl-4{margin-left:33.333333%}.mdui-row-xl-4 .mdui-col{float:left;width:25%}.mdui-col-xl-5{float:left;width:41.666667%}.mdui-col-offset-xl-5{margin-left:41.666667%}.mdui-row-xl-5 .mdui-col{float:left;width:20%}.mdui-col-xl-6{float:left;width:50%}.mdui-col-offset-xl-6{margin-left:50%}.mdui-row-xl-6 .mdui-col{float:left;width:16.666667%}.mdui-col-xl-7{float:left;width:58.333333%}.mdui-col-offset-xl-7{margin-left:58.333333%}.mdui-row-xl-7 .mdui-col{float:left;width:14.285714%}.mdui-col-xl-8{float:left;width:66.666667%}.mdui-col-offset-xl-8{margin-left:66.666667%}.mdui-row-xl-8 .mdui-col{float:left;width:12.5%}.mdui-col-xl-9{float:left;width:75%}.mdui-col-offset-xl-9{margin-left:75%}.mdui-row-xl-9 .mdui-col{float:left;width:11.111111%}.mdui-col-xl-10{float:left;width:83.333333%}.mdui-col-offset-xl-10{margin-left:83.333333%}.mdui-row-xl-10 .mdui-col{float:left;width:10%}.mdui-col-xl-11{float:left;width:91.666667%}.mdui-col-offset-xl-11{margin-left:91.666667%}.mdui-row-xl-11 .mdui-col{float:left;width:9.090909%}.mdui-col-xl-12{float:left;width:100%}.mdui-col-offset-xl-12{margin-left:100%}.mdui-row-xl-12 .mdui-col{float:left;width:8.333333%}}.mdui-shadow-0{-webkit-box-shadow:none!important;box-shadow:none!important}.mdui-shadow-1{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)!important;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)!important}.mdui-shadow-2{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important}.mdui-shadow-3{-webkit-box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)!important;box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)!important}.mdui-shadow-4{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)!important;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)!important}.mdui-shadow-5{-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)!important;box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)!important}.mdui-shadow-6{-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)!important;box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)!important}.mdui-shadow-7{-webkit-box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)!important;box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)!important}.mdui-shadow-8{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)!important;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)!important}.mdui-shadow-9{-webkit-box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)!important;box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)!important}.mdui-shadow-10{-webkit-box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)!important;box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)!important}.mdui-shadow-11{-webkit-box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)!important;box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)!important}.mdui-shadow-12{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)!important;box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)!important}.mdui-shadow-13{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)!important;box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)!important}.mdui-shadow-14{-webkit-box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)!important;box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)!important}.mdui-shadow-15{-webkit-box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)!important;box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)!important}.mdui-shadow-16{-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)!important;box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)!important}.mdui-shadow-17{-webkit-box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)!important;box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)!important}.mdui-shadow-18{-webkit-box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)!important;box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)!important}.mdui-shadow-19{-webkit-box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)!important;box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)!important}.mdui-shadow-20{-webkit-box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)!important;box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)!important}.mdui-shadow-21{-webkit-box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)!important;box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)!important}.mdui-shadow-22{-webkit-box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)!important;box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)!important}.mdui-shadow-23{-webkit-box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)!important;box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)!important}.mdui-shadow-24{-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)!important;box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)!important}.mdui-hoverable{-webkit-transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);will-change:box-shadow}.mdui-hoverable:focus,.mdui-hoverable:hover{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-headroom{-webkit-transition:all .3s cubic-bezier(.4,0,.2,1)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.mdui-headroom-pinned-top{-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.mdui-headroom-unpinned-top{-webkit-transform:translate3d(0,-100%,0)!important;transform:translate3d(0,-100%,0)!important;-webkit-box-shadow:none!important;box-shadow:none!important}.mdui-headroom-pinned-down{-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.mdui-headroom-unpinned-down{-webkit-transform:translate3d(0,100%,0)!important;transform:translate3d(0,100%,0)!important;-webkit-box-shadow:none!important;box-shadow:none!important}.mdui-headroom-pinned-toolbar{-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.mdui-headroom-unpinned-toolbar{-webkit-transform:translate3d(0,-56px,0)!important;transform:translate3d(0,-56px,0)!important}@media (min-width:600px){.mdui-headroom-unpinned-toolbar{-webkit-transform:translate3d(0,-64px,0)!important;transform:translate3d(0,-64px,0)!important}}@media (orientation:landscape) and (max-width:959.9px){.mdui-headroom-unpinned-toolbar{-webkit-transform:translate3d(0,-48px,0)!important;transform:translate3d(0,-48px,0)!important}}.mdui-collapse-item-header .mdui-collapse-item-arrow,.mdui-collapse-item-header.mdui-collapse-item-arrow{-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);will-change:transform}.mdui-collapse-item-body{height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);will-change:height}.mdui-collapse-item-body .mdui-list-item{padding-left:72px}.mdui-collapse-item-open>.mdui-collapse-item-header .mdui-collapse-item-arrow,.mdui-collapse-item-open>.mdui-collapse-item-header.mdui-collapse-item-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.mdui-collapse-item-open>.mdui-collapse-item-body{height:auto}.mdui-panel{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.mdui-panel-item{color:rgba(0,0,0,.87);background-color:#fff;-webkit-transition:margin .3s cubic-bezier(.4,0,.2,1);transition:margin .3s cubic-bezier(.4,0,.2,1);will-change:margin;border-bottom:1px solid rgba(0,0,0,.12);-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-panel-item:last-child{border-bottom:none}.mdui-panel-item-header{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:48px;padding:0 24px;font-size:15px;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);will-change:height,background-color;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-panel-item-header:active{background-color:#eee}.mdui-panel-item-title{-webkit-box-sizing:border-box;box-sizing:border-box;width:36%;min-width:36%;padding-right:16px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-panel-item-summary{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:16px;color:rgba(0,0,0,.54);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-panel-item-arrow{position:absolute;top:12px;right:24px;color:rgba(0,0,0,.54);-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:transform,top}.mdui-panel-item-summary+.mdui-panel-item-arrow{position:relative;top:0!important;right:0}.mdui-panel-item-body{height:0;padding:0 24px;overflow:hidden;-webkit-transition:height .3s cubic-bezier(.4,0,.2,1);transition:height .3s cubic-bezier(.4,0,.2,1);will-change:height}.mdui-panel-item-body::after,.mdui-panel-item-body::before{display:table;content:' '}.mdui-panel-item-body::after{clear:both}.mdui-panel-item-body::after,.mdui-panel-item-body::before{display:table;content:' '}.mdui-panel-item-body::after{clear:both}.mdui-panel-item-body::after{height:16px}.mdui-panel-item-actions{display:block;width:100%;margin:16px -24px 0 -24px;padding:16px 24px 0 24px;text-align:right;border-top:1px solid rgba(0,0,0,.12)}.mdui-panel-item-actions .mdui-btn{margin-left:8px}.mdui-panel-item-actions .mdui-btn:first-child{margin-left:0}.mdui-panel-item-open{height:auto;margin-top:16px;margin-bottom:16px}.mdui-panel-item-open>.mdui-panel-item-header{height:64px}.mdui-panel-item-open>.mdui-panel-item-header .mdui-panel-item-arrow{top:20px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.mdui-panel-item-open>.mdui-panel-item-body{height:auto}.mdui-panel-gapless{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-panel-gapless .mdui-panel-item{-webkit-box-shadow:none;box-shadow:none}.mdui-panel-gapless .mdui-panel-item-open{margin-top:0;margin-bottom:0}.mdui-panel-popout .mdui-panel-item-open{margin-right:-16px;margin-left:-16px}.mdui-theme-layout-dark .mdui-panel-item{color:#fff;background-color:#303030;border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-panel-item:last-child{border-bottom:none}.mdui-theme-layout-dark .mdui-panel-item-header:active{background-color:#424242}.mdui-theme-layout-dark .mdui-panel-item-summary{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-panel-item-arrow{color:#fff}.mdui-theme-layout-dark .mdui-panel-item-actions{border-top:1px solid rgba(255,255,255,.12)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-panel-item{color:#fff;background-color:#303030;border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-auto .mdui-panel-item:last-child{border-bottom:none}.mdui-theme-layout-auto .mdui-panel-item-header:active{background-color:#424242}.mdui-theme-layout-auto .mdui-panel-item-summary{color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-panel-item-arrow{color:#fff}.mdui-theme-layout-auto .mdui-panel-item-actions{border-top:1px solid rgba(255,255,255,.12)}}.mdui-table{position:relative;width:100%;background-color:#fff;border:1px solid rgba(0,0,0,.12);border-bottom:none;border-collapse:separate;border-spacing:0;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-table tbody tr{position:relative;-webkit-transition:background-color .28s cubic-bezier(.4,0,.2,1);transition:background-color .28s cubic-bezier(.4,0,.2,1)}.mdui-table td,.mdui-table th{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;padding:12px 28px;text-align:left;vertical-align:middle;border-bottom:1px solid rgba(0,0,0,.12)}.mdui-table th{color:rgba(0,0,0,.54);font-weight:700;font-size:13px;line-height:32px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-table td{color:rgba(0,0,0,.87);font-size:14px;line-height:24px}.mdui-table-cell-checkbox{padding-top:0!important;padding-bottom:0!important;padding-left:24px!important}.mdui-table-cell-checkbox .mdui-checkbox{margin-top:7px}.mdui-table-cell-checkbox+td,.mdui-table-cell-checkbox+th{padding-left:6px!important}th.mdui-table-cell-checkbox .mdui-checkbox{margin-top:11px}.mdui-table td:last-child,.mdui-table th:last-child{padding-right:24px}.mdui-table td:first-child,.mdui-table th:first-child{padding-right:0;padding-left:24px}.mdui-table td:nth-child(2),.mdui-table th:nth-child(2){padding-left:24px}.mdui-table-hoverable tbody tr:hover{background-color:#eee}.mdui-table-fluid{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(0,0,0,.12);border-bottom:none;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-table-fluid .mdui-table{-webkit-box-shadow:none;box-shadow:none;margin:0;border:none}.mdui-table-col-numeric{text-align:right!important}.mdui-table-row-selected{background-color:#f5f5f5}.mdui-theme-layout-dark .mdui-table{background-color:#303030;border:1px solid rgba(255,255,255,.12);border-bottom:none}.mdui-theme-layout-dark .mdui-table td,.mdui-theme-layout-dark .mdui-table th{border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-table th{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-table td{color:#fff}.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover{background-color:#616161}.mdui-theme-layout-dark .mdui-table-fluid{border:1px solid rgba(255,255,255,.12);border-bottom:none}.mdui-theme-layout-dark .mdui-table-fluid .mdui-table{-webkit-box-shadow:none;box-shadow:none;border:none}.mdui-theme-layout-dark .mdui-table-row-selected{background-color:#424242}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-table{background-color:#303030;border:1px solid rgba(255,255,255,.12);border-bottom:none}.mdui-theme-layout-auto .mdui-table td,.mdui-theme-layout-auto .mdui-table th{border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-auto .mdui-table th{color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-table td{color:#fff}.mdui-theme-layout-auto .mdui-table-hoverable tbody tr:hover{background-color:#616161}.mdui-theme-layout-auto .mdui-table-fluid{border:1px solid rgba(255,255,255,.12);border-bottom:none}.mdui-theme-layout-auto .mdui-table-fluid .mdui-table{-webkit-box-shadow:none;box-shadow:none;border:none}.mdui-theme-layout-auto .mdui-table-row-selected{background-color:#424242}}.mdui-divider,.mdui-divider-dark,.mdui-divider-inset,.mdui-divider-inset-dark,.mdui-divider-inset-light,.mdui-divider-light{height:1px;margin:-1px 0 0 0;border:none}.mdui-divider-inset,.mdui-divider-inset-dark,.mdui-divider-inset-light{margin-left:72px}.mdui-divider,.mdui-divider-inset{background-color:rgba(0,0,0,.12)}.mdui-divider-inset-light,.mdui-divider-light{background-color:rgba(255,255,255,.12)}.mdui-divider-dark,.mdui-divider-inset-dark{background-color:rgba(0,0,0,.12)}.mdui-theme-layout-dark .mdui-divider,.mdui-theme-layout-dark .mdui-divider-inset{background-color:rgba(255,255,255,.12)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-divider,.mdui-theme-layout-auto .mdui-divider-inset{background-color:rgba(255,255,255,.12)}}.mdui-ripple{position:relative;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-ripple-wave{position:absolute!important;top:0;left:0;z-index:1;margin:0;padding:0;font-size:0;background-color:rgba(0,0,0,.1);border-radius:50%;-webkit-transform:translate3d(0,0,0) scale(0);transform:translate3d(0,0,0) scale(0);-webkit-transition-duration:1.4s;transition-duration:1.4s;pointer-events:none}.mdui-ripple[class*=mdui-color-] .mdui-ripple-wave{background-color:rgba(255,255,255,.3)}.mdui-ripple-white .mdui-ripple-wave{background-color:rgba(255,255,255,.3)!important}.mdui-ripple-black .mdui-ripple-wave{background-color:rgba(0,0,0,.1)!important}.mdui-ripple-wave-fill{opacity:.35;-webkit-transition-duration:.3s;transition-duration:.3s}.mdui-ripple-wave-out{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s}.mdui-ripple-amber .mdui-ripple-wave{background-color:rgba(255,193,7,.3)!important}.mdui-ripple-blue .mdui-ripple-wave{background-color:rgba(33,150,243,.3)!important}.mdui-ripple-blue-grey .mdui-ripple-wave{background-color:rgba(96,125,139,.3)!important}.mdui-ripple-brown .mdui-ripple-wave{background-color:rgba(121,85,72,.3)!important}.mdui-ripple-cyan .mdui-ripple-wave{background-color:rgba(0,188,212,.3)!important}.mdui-ripple-deep-orange .mdui-ripple-wave{background-color:rgba(255,87,34,.3)!important}.mdui-ripple-deep-purple .mdui-ripple-wave{background-color:rgba(103,58,183,.3)!important}.mdui-ripple-green .mdui-ripple-wave{background-color:rgba(76,175,80,.3)!important}.mdui-ripple-grey .mdui-ripple-wave{background-color:rgba(158,158,158,.3)!important}.mdui-ripple-indigo .mdui-ripple-wave{background-color:rgba(63,81,181,.3)!important}.mdui-ripple-light-blue .mdui-ripple-wave{background-color:rgba(3,169,244,.3)!important}.mdui-ripple-light-green .mdui-ripple-wave{background-color:rgba(139,195,74,.3)!important}.mdui-ripple-lime .mdui-ripple-wave{background-color:rgba(205,220,57,.3)!important}.mdui-ripple-orange .mdui-ripple-wave{background-color:rgba(255,152,0,.3)!important}.mdui-ripple-pink .mdui-ripple-wave{background-color:rgba(233,30,99,.3)!important}.mdui-ripple-purple .mdui-ripple-wave{background-color:rgba(156,39,176,.3)!important}.mdui-ripple-red .mdui-ripple-wave{background-color:rgba(244,67,54,.3)!important}.mdui-ripple-teal .mdui-ripple-wave{background-color:rgba(0,150,136,.3)!important}.mdui-ripple-yellow .mdui-ripple-wave{background-color:rgba(255,235,59,.3)!important}.mdui-theme-layout-dark .mdui-ripple-wave{background-color:rgba(255,255,255,.3)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-ripple-wave{background-color:rgba(255,255,255,.3)}}.mdui-textfield{position:relative;padding-top:16px;padding-bottom:8px;overflow:hidden}.mdui-textfield-has-bottom{padding-bottom:28px}.mdui-textfield-input{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:36px;margin:0;padding:8px 0;overflow:hidden;color:rgba(0,0,0,.87);font-size:16px;font-family:inherit;line-height:20px;background:0 0;border:none;border-bottom:1px solid rgba(0,0,0,.42);border-radius:0;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:border-bottom-color,padding-right,-webkit-box-shadow;transition-property:border-bottom-color,padding-right,-webkit-box-shadow;transition-property:border-bottom-color,padding-right,box-shadow;transition-property:border-bottom-color,padding-right,box-shadow,-webkit-box-shadow;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:none}.mdui-textfield-input::-webkit-input-placeholder{color:inherit;opacity:.42}.mdui-textfield-input:not([disabled]):hover{border-bottom:1px solid rgba(0,0,0,.87);-webkit-box-shadow:0 1px 0 0 rgba(0,0,0,.87);box-shadow:0 1px 0 0 rgba(0,0,0,.87);cursor:pointer}.mdui-textfield-input[rows]{height:auto!important;overflow:auto;-webkit-overflow-scrolling:touch}.mdui-textfield-label{display:block;width:100%;color:rgba(0,0,0,.54);font-size:16px;-webkit-transform:scale(.75) translateY(0);transform:scale(.75) translateY(0);-webkit-transform-origin:left;transform-origin:left;-webkit-transition:all .2s;transition:all .2s;pointer-events:none}.mdui-textfield-error,.mdui-textfield-helper{position:absolute;bottom:8px;height:12px;font-size:12px;line-height:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-textfield-error{color:rgba(255,23,68,.87);visibility:hidden}.mdui-textfield-helper{color:rgba(0,0,0,.54)}.mdui-textfield .mdui-icon{position:absolute;bottom:8px;padding:6px;color:rgba(0,0,0,.54)}.mdui-textfield .mdui-icon~.mdui-textfield-error,.mdui-textfield .mdui-icon~.mdui-textfield-flex-wrap,.mdui-textfield .mdui-icon~.mdui-textfield-helper,.mdui-textfield .mdui-icon~.mdui-textfield-input,.mdui-textfield .mdui-icon~.mdui-textfield-label{width:calc(100% - 56px);margin-left:56px}.mdui-textfield-has-bottom .mdui-icon{bottom:28px}.mdui-textfield-focus .mdui-textfield-input,.mdui-textfield-focus .mdui-textfield-input:hover{border-bottom-color:#c51162;-webkit-box-shadow:0 1px 0 0 #c51162;box-shadow:0 1px 0 0 #c51162}.mdui-textfield-focus .mdui-icon,.mdui-textfield-focus .mdui-textfield-label{color:rgba(197,17,98,.87)}.mdui-textfield-floating-label .mdui-textfield-label{color:rgba(0,0,0,.35);-webkit-transform:scale(1) translateY(27px);transform:scale(1) translateY(27px)}.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label{color:rgba(0,0,0,.65);-webkit-transform:scale(.75) translateY(0);transform:scale(.75) translateY(0)}.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label{color:#e91e63}.mdui-textfield-expandable{width:36px;min-height:36px;padding:1px 0;-webkit-transition:width .3s cubic-bezier(.4,0,.2,1);transition:width .3s cubic-bezier(.4,0,.2,1)}.mdui-textfield-expandable .mdui-icon{bottom:0;padding:0}.mdui-textfield-expandable .mdui-textfield-input{width:calc(100% - 36px);margin-left:36px;padding-right:0}.mdui-textfield-expandable .mdui-textfield-icon{position:absolute;top:0;left:0}.mdui-textfield-expandable .mdui-textfield-close{position:absolute;top:0;right:0;-webkit-transform:scale(0);transform:scale(0)}.mdui-textfield-expandable.mdui-textfield-expanded{width:100%}.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input{padding-right:36px}.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close{-webkit-transform:scale(1);transform:scale(1)}.mdui-textfield-invalid .mdui-textfield-input,.mdui-textfield-invalid-html5 .mdui-textfield-input,.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input,.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff1744!important;-webkit-box-shadow:0 1px 0 0 #ff1744!important;box-shadow:0 1px 0 0 #ff1744!important}.mdui-textfield-invalid .mdui-textfield-label,.mdui-textfield-invalid-html5 .mdui-textfield-label{color:#ff1744!important}.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label,.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label{color:rgba(255,23,68,.35)!important}.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label,.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label{color:#ff1744!important}.mdui-textfield-invalid .mdui-textfield-error,.mdui-textfield-invalid-html5 .mdui-textfield-error{visibility:visible}.mdui-textfield-invalid .mdui-textfield-error+.mdui-textfield-helper,.mdui-textfield-invalid-html5 .mdui-textfield-error+.mdui-textfield-helper{visibility:hidden}.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder,.mdui-textfield-disabled .mdui-textfield-label{color:rgba(0,0,0,.38)}.mdui-textfield-disabled .mdui-textfield-input{color:rgba(0,0,0,.42);cursor:default}.mdui-textfield-disabled .mdui-textfield-input{border-bottom:1px dashed rgba(0,0,0,.42)}.mdui-textfield-counter{position:absolute;right:8px;bottom:8px;height:12px;color:rgba(0,0,0,.54);font-size:12px;line-height:12px}.mdui-theme-layout-dark .mdui-textfield-input{color:#fff;border-bottom-color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover{border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 0 #fff;box-shadow:0 1px 0 0 #fff}.mdui-theme-layout-dark .mdui-textfield .mdui-icon{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-label{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label{color:rgba(255,255,255,.35)}.mdui-theme-layout-dark .mdui-textfield-error{color:#ff1744}.mdui-theme-layout-dark .mdui-textfield-helper{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-counter{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input,.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover{border-bottom-color:#ff4081;-webkit-box-shadow:0 1px 0 0 #ff4081;box-shadow:0 1px 0 0 #ff4081}.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff4081}.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder,.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input{border-bottom-color:rgba(255,255,255,.7)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-textfield-input{color:#fff;border-bottom-color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-textfield-input::-webkit-input-placeholder{color:rgba(255,255,255,.5)}.mdui-theme-layout-auto .mdui-textfield-input:not([disabled]):hover{border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 0 #fff;box-shadow:0 1px 0 0 #fff}.mdui-theme-layout-auto .mdui-textfield .mdui-icon{color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-textfield-label{color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-textfield-floating-label .mdui-textfield-label{color:rgba(255,255,255,.35)}.mdui-theme-layout-auto .mdui-textfield-error{color:#ff1744}.mdui-theme-layout-auto .mdui-textfield-helper{color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-textfield-counter{color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input,.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input:hover{border-bottom-color:#ff4081;-webkit-box-shadow:0 1px 0 0 #ff4081;box-shadow:0 1px 0 0 #ff4081}.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#ff4081}.mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder,.mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-label{color:rgba(255,255,255,.5)}.mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input{color:rgba(255,255,255,.5)}.mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input{border-bottom-color:rgba(255,255,255,.7)}}.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffab00;-webkit-box-shadow:0 1px 0 0 #ffab00;box-shadow:0 1px 0 0 #ffab00}.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label{color:rgba(255,171,0,.87)}.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffd740;-webkit-box-shadow:0 1px 0 0 #ffd740;box-shadow:0 1px 0 0 #ffd740}.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ffd740}@media (prefers-color-scheme:dark){.mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffd740;-webkit-box-shadow:0 1px 0 0 #ffd740;box-shadow:0 1px 0 0 #ffd740}.mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#ffd740}}.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#2962ff;-webkit-box-shadow:0 1px 0 0 #2962ff;box-shadow:0 1px 0 0 #2962ff}.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label{color:rgba(41,98,255,.87)}.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#448aff;-webkit-box-shadow:0 1px 0 0 #448aff;box-shadow:0 1px 0 0 #448aff}.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#448aff}@media (prefers-color-scheme:dark){.mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#448aff;-webkit-box-shadow:0 1px 0 0 #448aff;box-shadow:0 1px 0 0 #448aff}.mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#448aff}}.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#00b8d4;-webkit-box-shadow:0 1px 0 0 #00b8d4;box-shadow:0 1px 0 0 #00b8d4}.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,184,212,.87)}.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#18ffff;-webkit-box-shadow:0 1px 0 0 #18ffff;box-shadow:0 1px 0 0 #18ffff}.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#18ffff}@media (prefers-color-scheme:dark){.mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#18ffff;-webkit-box-shadow:0 1px 0 0 #18ffff;box-shadow:0 1px 0 0 #18ffff}.mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#18ffff}}.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#dd2c00;-webkit-box-shadow:0 1px 0 0 #dd2c00;box-shadow:0 1px 0 0 #dd2c00}.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label{color:rgba(221,44,0,.87)}.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff6e40;-webkit-box-shadow:0 1px 0 0 #ff6e40;box-shadow:0 1px 0 0 #ff6e40}.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff6e40}@media (prefers-color-scheme:dark){.mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff6e40;-webkit-box-shadow:0 1px 0 0 #ff6e40;box-shadow:0 1px 0 0 #ff6e40}.mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#ff6e40}}.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#6200ea;-webkit-box-shadow:0 1px 0 0 #6200ea;box-shadow:0 1px 0 0 #6200ea}.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label{color:rgba(98,0,234,.87)}.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#7c4dff;-webkit-box-shadow:0 1px 0 0 #7c4dff;box-shadow:0 1px 0 0 #7c4dff}.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#7c4dff}@media (prefers-color-scheme:dark){.mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#7c4dff;-webkit-box-shadow:0 1px 0 0 #7c4dff;box-shadow:0 1px 0 0 #7c4dff}.mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#7c4dff}}.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#00c853;-webkit-box-shadow:0 1px 0 0 #00c853;box-shadow:0 1px 0 0 #00c853}.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,200,83,.87)}.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#69f0ae;-webkit-box-shadow:0 1px 0 0 #69f0ae;box-shadow:0 1px 0 0 #69f0ae}.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#69f0ae}@media (prefers-color-scheme:dark){.mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#69f0ae;-webkit-box-shadow:0 1px 0 0 #69f0ae;box-shadow:0 1px 0 0 #69f0ae}.mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#69f0ae}}.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#304ffe;-webkit-box-shadow:0 1px 0 0 #304ffe;box-shadow:0 1px 0 0 #304ffe}.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label{color:rgba(48,79,254,.87)}.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#536dfe;-webkit-box-shadow:0 1px 0 0 #536dfe;box-shadow:0 1px 0 0 #536dfe}.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#536dfe}@media (prefers-color-scheme:dark){.mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#536dfe;-webkit-box-shadow:0 1px 0 0 #536dfe;box-shadow:0 1px 0 0 #536dfe}.mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#536dfe}}.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#0091ea;-webkit-box-shadow:0 1px 0 0 #0091ea;box-shadow:0 1px 0 0 #0091ea}.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,145,234,.87)}.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#40c4ff;-webkit-box-shadow:0 1px 0 0 #40c4ff;box-shadow:0 1px 0 0 #40c4ff}.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#40c4ff}@media (prefers-color-scheme:dark){.mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#40c4ff;-webkit-box-shadow:0 1px 0 0 #40c4ff;box-shadow:0 1px 0 0 #40c4ff}.mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#40c4ff}}.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#64dd17;-webkit-box-shadow:0 1px 0 0 #64dd17;box-shadow:0 1px 0 0 #64dd17}.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label{color:rgba(100,221,23,.87)}.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#b2ff59;-webkit-box-shadow:0 1px 0 0 #b2ff59;box-shadow:0 1px 0 0 #b2ff59}.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#b2ff59}@media (prefers-color-scheme:dark){.mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#b2ff59;-webkit-box-shadow:0 1px 0 0 #b2ff59;box-shadow:0 1px 0 0 #b2ff59}.mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#b2ff59}}.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#aeea00;-webkit-box-shadow:0 1px 0 0 #aeea00;box-shadow:0 1px 0 0 #aeea00}.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label{color:rgba(174,234,0,.87)}.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#eeff41;-webkit-box-shadow:0 1px 0 0 #eeff41;box-shadow:0 1px 0 0 #eeff41}.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#eeff41}@media (prefers-color-scheme:dark){.mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#eeff41;-webkit-box-shadow:0 1px 0 0 #eeff41;box-shadow:0 1px 0 0 #eeff41}.mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#eeff41}}.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff6d00;-webkit-box-shadow:0 1px 0 0 #ff6d00;box-shadow:0 1px 0 0 #ff6d00}.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label{color:rgba(255,109,0,.87)}.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffab40;-webkit-box-shadow:0 1px 0 0 #ffab40;box-shadow:0 1px 0 0 #ffab40}.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ffab40}@media (prefers-color-scheme:dark){.mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffab40;-webkit-box-shadow:0 1px 0 0 #ffab40;box-shadow:0 1px 0 0 #ffab40}.mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#ffab40}}.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#c51162;-webkit-box-shadow:0 1px 0 0 #c51162;box-shadow:0 1px 0 0 #c51162}.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label{color:rgba(197,17,98,.87)}.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff4081;-webkit-box-shadow:0 1px 0 0 #ff4081;box-shadow:0 1px 0 0 #ff4081}.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff4081}@media (prefers-color-scheme:dark){.mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff4081;-webkit-box-shadow:0 1px 0 0 #ff4081;box-shadow:0 1px 0 0 #ff4081}.mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#ff4081}}.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#a0f;-webkit-box-shadow:0 1px 0 0 #a0f;box-shadow:0 1px 0 0 #a0f}.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label{color:rgba(170,0,255,.87)}.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#e040fb;-webkit-box-shadow:0 1px 0 0 #e040fb;box-shadow:0 1px 0 0 #e040fb}.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#e040fb}@media (prefers-color-scheme:dark){.mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#e040fb;-webkit-box-shadow:0 1px 0 0 #e040fb;box-shadow:0 1px 0 0 #e040fb}.mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#e040fb}}.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#d50000;-webkit-box-shadow:0 1px 0 0 #d50000;box-shadow:0 1px 0 0 #d50000}.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label{color:rgba(213,0,0,.87)}.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff5252;-webkit-box-shadow:0 1px 0 0 #ff5252;box-shadow:0 1px 0 0 #ff5252}.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff5252}@media (prefers-color-scheme:dark){.mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff5252;-webkit-box-shadow:0 1px 0 0 #ff5252;box-shadow:0 1px 0 0 #ff5252}.mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#ff5252}}.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#00bfa5;-webkit-box-shadow:0 1px 0 0 #00bfa5;box-shadow:0 1px 0 0 #00bfa5}.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,191,165,.87)}.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#64ffda;-webkit-box-shadow:0 1px 0 0 #64ffda;box-shadow:0 1px 0 0 #64ffda}.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#64ffda}@media (prefers-color-scheme:dark){.mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#64ffda;-webkit-box-shadow:0 1px 0 0 #64ffda;box-shadow:0 1px 0 0 #64ffda}.mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#64ffda}}.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffd600;-webkit-box-shadow:0 1px 0 0 #ffd600;box-shadow:0 1px 0 0 #ffd600}.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label{color:rgba(255,214,0,.87)}.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff0;-webkit-box-shadow:0 1px 0 0 #ff0;box-shadow:0 1px 0 0 #ff0}.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff0}@media (prefers-color-scheme:dark){.mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff0;-webkit-box-shadow:0 1px 0 0 #ff0;box-shadow:0 1px 0 0 #ff0}.mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label{color:#ff0}}.mdui-checkbox{position:relative;display:inline-block;height:36px;padding-left:36px;line-height:36px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-checkbox input[type=checkbox]{position:absolute;width:0;height:0;overflow:hidden;opacity:0}.mdui-checkbox-icon{position:absolute;top:9px;left:0;display:inline-block;width:18px;height:18px;vertical-align:middle;background-color:transparent;border:none;border-radius:18px;-webkit-transition:-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1)}.mdui-checkbox-icon::after{position:absolute;top:0;left:0;z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:18px;height:18px;border:2px solid rgba(0,0,0,.54);border-radius:2px;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);content:' '}.mdui-checkbox-icon::before{position:absolute;top:2px;left:0;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;width:8px;height:13px;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg) scale(0);transform:rotateZ(37deg) scale(0);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);content:' '}.mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after{background-color:#ff4081;border-color:#ff4081}.mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::before{-webkit-transform:rotateZ(37deg) scale(1);transform:rotateZ(37deg) scale(1);opacity:1}.mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#ff4081;border-color:#ff4081}.mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::before{top:8px;left:3px;width:12px;height:0;border-right:none;border-bottom:2px solid #fff;border-radius:1px;-webkit-transform:rotateZ(0) scale(1);transform:rotateZ(0) scale(1);opacity:1}.mdui-checkbox input[type=checkbox]:disabled+.mdui-checkbox-icon::after{border-color:rgba(0,0,0,.26)}.mdui-checkbox input[type=checkbox]:disabled:checked+.mdui-checkbox-icon::after,.mdui-checkbox input[type=checkbox]:disabled:indeterminate+.mdui-checkbox-icon::after{background-color:rgba(0,0,0,.26)!important;border-color:transparent!important}.mdui-checkbox input[type=checkbox]:focus+.mdui-checkbox-icon,.mdui-checkbox:active input[type=checkbox]+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(0,0,0,.1);box-shadow:0 0 0 15px rgba(0,0,0,.1)}.mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#ffd740;border-color:#ffd740}.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-amber .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-amber .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,215,64,.16);box-shadow:0 0 0 15px rgba(255,215,64,.16)}.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#448aff;border-color:#448aff}.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(68,138,255,.16);box-shadow:0 0 0 15px rgba(68,138,255,.16)}.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#18ffff;border-color:#18ffff}.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-cyan .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-cyan .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(24,255,255,.16);box-shadow:0 0 0 15px rgba(24,255,255,.16)}.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#ff6e40;border-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,110,64,.16);box-shadow:0 0 0 15px rgba(255,110,64,.16)}.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#7c4dff;border-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(124,77,255,.16);box-shadow:0 0 0 15px rgba(124,77,255,.16)}.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#69f0ae;border-color:#69f0ae}.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(105,240,174,.16);box-shadow:0 0 0 15px rgba(105,240,174,.16)}.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#536dfe;border-color:#536dfe}.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-indigo .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-indigo .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(83,109,254,.16);box-shadow:0 0 0 15px rgba(83,109,254,.16)}.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#40c4ff;border-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(64,196,255,.16);box-shadow:0 0 0 15px rgba(64,196,255,.16)}.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#b2ff59;border-color:#b2ff59}.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-light-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(178,255,89,.16);box-shadow:0 0 0 15px rgba(178,255,89,.16)}.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#eeff41;border-color:#eeff41}.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-lime .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-lime .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(238,255,65,.16);box-shadow:0 0 0 15px rgba(238,255,65,.16)}.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#ffab40;border-color:#ffab40}.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,171,64,.16);box-shadow:0 0 0 15px rgba(255,171,64,.16)}.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#ff4081;border-color:#ff4081}.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-pink .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-pink .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#e040fb;border-color:#e040fb}.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(224,64,251,.16);box-shadow:0 0 0 15px rgba(224,64,251,.16)}.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#ff5252;border-color:#ff5252}.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-red .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-red .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,82,82,.16);box-shadow:0 0 0 15px rgba(255,82,82,.16)}.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#64ffda;border-color:#64ffda}.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-teal .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-teal .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(100,255,218,.16);box-shadow:0 0 0 15px rgba(100,255,218,.16)}.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon::after,.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon::after{background-color:#ff0;border-color:#ff0}.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-yellow .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-yellow .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,0,.16);box-shadow:0 0 0 15px rgba(255,255,0,.16)}.mdui-theme-layout-dark .mdui-checkbox-icon::after{border-color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-checkbox-icon::before{border-right-color:#303030!important;border-bottom-color:#303030!important}.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:disabled+.mdui-checkbox-icon::after{border-color:rgba(255,255,255,.3)}.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:disabled:checked+.mdui-checkbox-icon::after,.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:disabled:indeterminate+.mdui-checkbox-icon::after{background-color:rgba(255,255,255,.3)!important;border-color:transparent!important}.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:focus+.mdui-checkbox-icon,.mdui-theme-layout-dark .mdui-checkbox:active input[type=checkbox]+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,255,.1);box-shadow:0 0 0 15px rgba(255,255,255,.1)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-checkbox-icon::after{border-color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-checkbox-icon::before{border-right-color:#303030!important;border-bottom-color:#303030!important}.mdui-theme-layout-auto .mdui-checkbox input[type=checkbox]:disabled+.mdui-checkbox-icon::after{border-color:rgba(255,255,255,.3)}.mdui-theme-layout-auto .mdui-checkbox input[type=checkbox]:disabled:checked+.mdui-checkbox-icon::after,.mdui-theme-layout-auto .mdui-checkbox input[type=checkbox]:disabled:indeterminate+.mdui-checkbox-icon::after{background-color:rgba(255,255,255,.3)!important;border-color:transparent!important}.mdui-theme-layout-auto .mdui-checkbox input[type=checkbox]:focus+.mdui-checkbox-icon,.mdui-theme-layout-auto .mdui-checkbox:active input[type=checkbox]+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,255,.1);box-shadow:0 0 0 15px rgba(255,255,255,.1)}}.mdui-radio{position:relative;display:inline-block;height:36px;padding-left:36px;line-height:36px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-radio input{position:absolute;width:0;height:0;overflow:hidden;opacity:0}.mdui-radio-icon{position:absolute;top:9px;left:0;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;width:18px;height:18px;vertical-align:middle;border:2px solid rgba(0,0,0,.54);border-radius:18px;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1),box-shadow .14s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1),box-shadow .14s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1)}.mdui-radio-icon::before{position:absolute;top:0;left:0;width:14px;height:14px;background-color:#ff4081;border-radius:14px;-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);content:' '}.mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff4081}.mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{-webkit-transform:scale(.68);transform:scale(.68);opacity:1}.mdui-radio input[type=radio]:disabled+.mdui-radio-icon{border-color:rgba(0,0,0,.26)!important}.mdui-radio input[type=radio]:disabled:checked+.mdui-radio-icon::before{background-color:rgba(0,0,0,.26)!important}.mdui-radio input[type=radio]:focus+.mdui-radio-icon,.mdui-radio:active input[type=radio]+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(0,0,0,.1);box-shadow:0 0 0 15px rgba(0,0,0,.1)}.mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-amber .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ffd740}.mdui-theme-accent-amber .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#ffd740}.mdui-theme-accent-amber .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-amber .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,215,64,.16);box-shadow:0 0 0 15px rgba(255,215,64,.16)}.mdui-theme-accent-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#448aff}.mdui-theme-accent-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#448aff}.mdui-theme-accent-blue .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-blue .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(68,138,255,.16);box-shadow:0 0 0 15px rgba(68,138,255,.16)}.mdui-theme-accent-cyan .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#18ffff}.mdui-theme-accent-cyan .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#18ffff}.mdui-theme-accent-cyan .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-cyan .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(24,255,255,.16);box-shadow:0 0 0 15px rgba(24,255,255,.16)}.mdui-theme-accent-deep-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-deep-orange .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,110,64,.16);box-shadow:0 0 0 15px rgba(255,110,64,.16)}.mdui-theme-accent-deep-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-deep-purple .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(124,77,255,.16);box-shadow:0 0 0 15px rgba(124,77,255,.16)}.mdui-theme-accent-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#69f0ae}.mdui-theme-accent-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#69f0ae}.mdui-theme-accent-green .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-green .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(105,240,174,.16);box-shadow:0 0 0 15px rgba(105,240,174,.16)}.mdui-theme-accent-indigo .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#536dfe}.mdui-theme-accent-indigo .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#536dfe}.mdui-theme-accent-indigo .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-indigo .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(83,109,254,.16);box-shadow:0 0 0 15px rgba(83,109,254,.16)}.mdui-theme-accent-light-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-light-blue .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(64,196,255,.16);box-shadow:0 0 0 15px rgba(64,196,255,.16)}.mdui-theme-accent-light-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#b2ff59}.mdui-theme-accent-light-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#b2ff59}.mdui-theme-accent-light-green .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-light-green .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(178,255,89,.16);box-shadow:0 0 0 15px rgba(178,255,89,.16)}.mdui-theme-accent-lime .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#eeff41}.mdui-theme-accent-lime .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#eeff41}.mdui-theme-accent-lime .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-lime .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(238,255,65,.16);box-shadow:0 0 0 15px rgba(238,255,65,.16)}.mdui-theme-accent-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ffab40}.mdui-theme-accent-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#ffab40}.mdui-theme-accent-orange .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-orange .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,171,64,.16);box-shadow:0 0 0 15px rgba(255,171,64,.16)}.mdui-theme-accent-pink .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff4081}.mdui-theme-accent-pink .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#ff4081}.mdui-theme-accent-pink .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-pink .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#e040fb}.mdui-theme-accent-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#e040fb}.mdui-theme-accent-purple .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-purple .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(224,64,251,.16);box-shadow:0 0 0 15px rgba(224,64,251,.16)}.mdui-theme-accent-red .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff5252}.mdui-theme-accent-red .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#ff5252}.mdui-theme-accent-red .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-red .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,82,82,.16);box-shadow:0 0 0 15px rgba(255,82,82,.16)}.mdui-theme-accent-teal .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#64ffda}.mdui-theme-accent-teal .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#64ffda}.mdui-theme-accent-teal .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-teal .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(100,255,218,.16);box-shadow:0 0 0 15px rgba(100,255,218,.16)}.mdui-theme-accent-yellow .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff0}.mdui-theme-accent-yellow .mdui-radio input[type=radio]:checked+.mdui-radio-icon::before{background-color:#ff0}.mdui-theme-accent-yellow .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-yellow .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,0,.16);box-shadow:0 0 0 15px rgba(255,255,0,.16)}.mdui-theme-layout-dark .mdui-radio-icon{border-color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-radio input[type=radio]:disabled+.mdui-radio-icon{border-color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-radio input[type=radio]:disabled:checked+.mdui-radio-icon::before{background-color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-radio input[type=radio]:focus+.mdui-radio-icon,.mdui-theme-layout-dark .mdui-radio:active input[type=radio]+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,255,.1);box-shadow:0 0 0 15px rgba(255,255,255,.1)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-radio-icon{border-color:rgba(255,255,255,.7)}.mdui-theme-layout-auto .mdui-radio input[type=radio]:disabled+.mdui-radio-icon{border-color:rgba(255,255,255,.3)!important}.mdui-theme-layout-auto .mdui-radio input[type=radio]:disabled:checked+.mdui-radio-icon::before{background-color:rgba(255,255,255,.3)!important}.mdui-theme-layout-auto .mdui-radio input[type=radio]:focus+.mdui-radio-icon,.mdui-theme-layout-auto .mdui-radio:active input[type=radio]+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,255,.1);box-shadow:0 0 0 15px rgba(255,255,255,.1)}}.mdui-switch{display:inline-block;height:36px;line-height:36px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-switch input{position:absolute;width:0;height:0;overflow:hidden;opacity:0}.mdui-switch-icon{position:relative;display:inline-block;width:36px;height:14px;vertical-align:middle;background-color:rgba(0,0,0,.38);border-radius:14px;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1)}.mdui-switch-icon::before{position:absolute;top:-3px;left:-3px;display:inline-block;width:20px;height:20px;background-color:#fafafa;border-radius:20px;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);content:' ';-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,64,129,.5)}.mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{left:20px;background-color:#ff4081}.mdui-switch input[type=checkbox]:focus+.mdui-switch-icon::before,.mdui-switch:active input[type=checkbox]+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(0,0,0,.1);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(0,0,0,.1)}.mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16)}.mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon{background-color:rgba(0,0,0,.12)!important}.mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon::before{background-color:#bdbdbd!important}.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,215,64,.5)}.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ffd740}.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-amber .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,215,64,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,215,64,.16)}.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(68,138,255,.5)}.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#448aff}.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-blue .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(68,138,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(68,138,255,.16)}.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(24,255,255,.5)}.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#18ffff}.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-cyan .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(24,255,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(24,255,255,.16)}.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,110,64,.5)}.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-deep-orange .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,110,64,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,110,64,.16)}.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(124,77,255,.5)}.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-deep-purple .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(124,77,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(124,77,255,.16)}.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(105,240,174,.5)}.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#69f0ae}.mdui-theme-accent-green .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-green .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(105,240,174,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(105,240,174,.16)}.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(83,109,254,.5)}.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#536dfe}.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-indigo .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(83,109,254,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(83,109,254,.16)}.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(64,196,255,.5)}.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-light-blue .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(64,196,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(64,196,255,.16)}.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(178,255,89,.5)}.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#b2ff59}.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-light-green .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(178,255,89,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(178,255,89,.16)}.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(238,255,65,.5)}.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#eeff41}.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-lime .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(238,255,65,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(238,255,65,.16)}.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,171,64,.5)}.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ffab40}.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-orange .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,171,64,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,171,64,.16)}.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,64,129,.5)}.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff4081}.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-pink .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(224,64,251,.5)}.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#e040fb}.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-purple .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(224,64,251,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(224,64,251,.16)}.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,82,82,.5)}.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff5252}.mdui-theme-accent-red .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-red .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,82,82,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,82,82,.16)}.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(100,255,218,.5)}.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#64ffda}.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-teal .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(100,255,218,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(100,255,218,.16)}.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,255,0,.5)}.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff0}.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon::before,.mdui-theme-accent-yellow .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,0,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,0,.16)}.mdui-theme-layout-dark .mdui-switch-icon{background-color:rgba(255,255,255,.3)}.mdui-theme-layout-dark .mdui-switch-icon::before{background-color:#bdbdbd}.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,229,127,.5)}.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ffe57f}.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(130,177,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#82b1ff}.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(132,255,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#84ffff}.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,158,128,.5)}.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff9e80}.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(179,136,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#b388ff}.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(185,246,202,.5)}.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#b9f6ca}.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(140,158,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#8c9eff}.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(128,216,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#80d8ff}.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(204,255,144,.5)}.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ccff90}.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(244,255,129,.5)}.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#f4ff81}.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,209,128,.5)}.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ffd180}.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,128,171,.5)}.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff80ab}.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(234,128,252,.5)}.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ea80fc}.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,138,128,.5)}.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff8a80}.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(167,255,235,.5)}.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#a7ffeb}.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,255,141,.5)}.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ffff8d}.mdui-theme-layout-dark .mdui-switch input[type=checkbox]:focus+.mdui-switch-icon::before,.mdui-theme-layout-dark .mdui-switch:active input[type=checkbox]+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,255,.1);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,255,.1)}.mdui-theme-layout-dark .mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon{background-color:rgba(255,255,255,.1)!important}.mdui-theme-layout-dark .mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon::before{background-color:#424242!important}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-switch-icon{background-color:rgba(255,255,255,.3)}.mdui-theme-layout-auto .mdui-switch-icon::before{background-color:#bdbdbd}.mdui-theme-layout-auto.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,229,127,.5)}.mdui-theme-layout-auto.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ffe57f}.mdui-theme-layout-auto.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(130,177,255,.5)}.mdui-theme-layout-auto.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#82b1ff}.mdui-theme-layout-auto.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(132,255,255,.5)}.mdui-theme-layout-auto.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#84ffff}.mdui-theme-layout-auto.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,158,128,.5)}.mdui-theme-layout-auto.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff9e80}.mdui-theme-layout-auto.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(179,136,255,.5)}.mdui-theme-layout-auto.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#b388ff}.mdui-theme-layout-auto.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(185,246,202,.5)}.mdui-theme-layout-auto.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#b9f6ca}.mdui-theme-layout-auto.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(140,158,255,.5)}.mdui-theme-layout-auto.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#8c9eff}.mdui-theme-layout-auto.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(128,216,255,.5)}.mdui-theme-layout-auto.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#80d8ff}.mdui-theme-layout-auto.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(204,255,144,.5)}.mdui-theme-layout-auto.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ccff90}.mdui-theme-layout-auto.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(244,255,129,.5)}.mdui-theme-layout-auto.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#f4ff81}.mdui-theme-layout-auto.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,209,128,.5)}.mdui-theme-layout-auto.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ffd180}.mdui-theme-layout-auto.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,128,171,.5)}.mdui-theme-layout-auto.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff80ab}.mdui-theme-layout-auto.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(234,128,252,.5)}.mdui-theme-layout-auto.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ea80fc}.mdui-theme-layout-auto.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,138,128,.5)}.mdui-theme-layout-auto.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ff8a80}.mdui-theme-layout-auto.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(167,255,235,.5)}.mdui-theme-layout-auto.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#a7ffeb}.mdui-theme-layout-auto.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,255,141,.5)}.mdui-theme-layout-auto.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon::before{background-color:#ffff8d}.mdui-theme-layout-auto .mdui-switch input[type=checkbox]:focus+.mdui-switch-icon::before,.mdui-theme-layout-auto .mdui-switch:active input[type=checkbox]+.mdui-switch-icon::before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,255,.1);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,255,.1)}.mdui-theme-layout-auto .mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon{background-color:rgba(255,255,255,.1)!important}.mdui-theme-layout-auto .mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon::before{background-color:#424242!important}}.mdui-slider{position:relative;display:block;width:100%;height:36px}.mdui-slider input[type=range]{position:absolute;top:50%;left:0;z-index:2;width:100%;height:20px;margin-top:-10px;cursor:pointer;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mdui-slider-fill,.mdui-slider-track{position:absolute;top:50%;-webkit-box-sizing:border-box;box-sizing:border-box;height:2px;margin-top:-1px}.mdui-slider-fill::before,.mdui-slider-track::before{display:block;width:100%;height:100%;content:' '}.mdui-slider-track{right:0}.mdui-slider-track::before{background-color:#bdbdbd;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1)}.mdui-slider-fill{left:0}.mdui-slider-fill::before{background-color:#ff4081}.mdui-slider-thumb{position:absolute;top:50%;-webkit-box-sizing:border-box;box-sizing:border-box;width:12px;height:12px;margin-top:-6px;background-color:#ff4081;border:2px solid #ff4081;border-radius:50%;-webkit-transform:translate(-50%);transform:translate(-50%);-webkit-transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1);transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);will-change:background,border-color,transform,border-radius}.mdui-theme-accent-amber .mdui-slider-fill::before{background-color:#ffd740}.mdui-theme-accent-amber .mdui-slider-thumb{background-color:#ffd740;border:2px solid #ffd740}.mdui-theme-accent-blue .mdui-slider-fill::before{background-color:#448aff}.mdui-theme-accent-blue .mdui-slider-thumb{background-color:#448aff;border:2px solid #448aff}.mdui-theme-accent-cyan .mdui-slider-fill::before{background-color:#18ffff}.mdui-theme-accent-cyan .mdui-slider-thumb{background-color:#18ffff;border:2px solid #18ffff}.mdui-theme-accent-deep-orange .mdui-slider-fill::before{background-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-slider-thumb{background-color:#ff6e40;border:2px solid #ff6e40}.mdui-theme-accent-deep-purple .mdui-slider-fill::before{background-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-slider-thumb{background-color:#7c4dff;border:2px solid #7c4dff}.mdui-theme-accent-green .mdui-slider-fill::before{background-color:#69f0ae}.mdui-theme-accent-green .mdui-slider-thumb{background-color:#69f0ae;border:2px solid #69f0ae}.mdui-theme-accent-indigo .mdui-slider-fill::before{background-color:#536dfe}.mdui-theme-accent-indigo .mdui-slider-thumb{background-color:#536dfe;border:2px solid #536dfe}.mdui-theme-accent-light-blue .mdui-slider-fill::before{background-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-slider-thumb{background-color:#40c4ff;border:2px solid #40c4ff}.mdui-theme-accent-light-green .mdui-slider-fill::before{background-color:#b2ff59}.mdui-theme-accent-light-green .mdui-slider-thumb{background-color:#b2ff59;border:2px solid #b2ff59}.mdui-theme-accent-lime .mdui-slider-fill::before{background-color:#eeff41}.mdui-theme-accent-lime .mdui-slider-thumb{background-color:#eeff41;border:2px solid #eeff41}.mdui-theme-accent-orange .mdui-slider-fill::before{background-color:#ffab40}.mdui-theme-accent-orange .mdui-slider-thumb{background-color:#ffab40;border:2px solid #ffab40}.mdui-theme-accent-pink .mdui-slider-fill::before{background-color:#ff4081}.mdui-theme-accent-pink .mdui-slider-thumb{background-color:#ff4081;border:2px solid #ff4081}.mdui-theme-accent-purple .mdui-slider-fill::before{background-color:#e040fb}.mdui-theme-accent-purple .mdui-slider-thumb{background-color:#e040fb;border:2px solid #e040fb}.mdui-theme-accent-red .mdui-slider-fill::before{background-color:#ff5252}.mdui-theme-accent-red .mdui-slider-thumb{background-color:#ff5252;border:2px solid #ff5252}.mdui-theme-accent-teal .mdui-slider-fill::before{background-color:#64ffda}.mdui-theme-accent-teal .mdui-slider-thumb{background-color:#64ffda;border:2px solid #64ffda}.mdui-theme-accent-yellow .mdui-slider-fill::before{background-color:#ff0}.mdui-theme-accent-yellow .mdui-slider-thumb{background-color:#ff0;border:2px solid #ff0}.mdui-slider-focus .mdui-slider-track::before{background-color:#9e9e9e}.mdui-slider-focus .mdui-slider-thumb{-webkit-transform:translate(-50%) scale(1.6);transform:translate(-50%) scale(1.6)}.mdui-slider-zero .mdui-slider-thumb{background-color:#fff;border-color:#bdbdbd}.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{border-color:#9e9e9e}.mdui-slider-disabled input[type=range]{cursor:default}.mdui-slider-disabled .mdui-slider-track::before{background-color:#bdbdbd}.mdui-slider-disabled .mdui-slider-fill::before{background-color:#bdbdbd}.mdui-slider-disabled .mdui-slider-thumb{background-color:#bdbdbd;border-color:transparent!important;-webkit-transform:translate(-50%) scale(.72);transform:translate(-50%) scale(.72)}.mdui-slider-discrete .mdui-slider-thumb{width:30px;height:30px;margin-top:-15px;margin-left:-15px;border:none;-webkit-transform:rotate(-45deg) scale(.4);transform:rotate(-45deg) scale(.4)}.mdui-slider-discrete .mdui-slider-thumb span{position:absolute;top:9px;left:-1px;width:100%;color:#fff;font-size:12px;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0;-webkit-transition:opacity .25s cubic-bezier(.4,0,.2,1);transition:opacity .25s cubic-bezier(.4,0,.2,1)}.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb{border-radius:15px 15px 15px 0;-webkit-transform:rotate(-45deg) scale(1) translate(22px,-22px);transform:rotate(-45deg) scale(1) translate(22px,-22px)}.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span{opacity:1}.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb{background-color:#323232}.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{background-color:#bdbdbd}.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb{-webkit-transform:rotate(-45deg) scale(.288);transform:rotate(-45deg) scale(.288)}.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb{background-color:#bdbdbd}.mdui-theme-layout-dark .mdui-slider-track::before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track::before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb{background-color:#303030;border-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{border-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track::before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill::before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb{background-color:#fefefe}.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{background-color:#5c5c5c}.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb{background-color:#4c4c4c}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-slider-track::before{background-color:#4c4c4c}.mdui-theme-layout-auto .mdui-slider-focus .mdui-slider-track::before{background-color:#4c4c4c}.mdui-theme-layout-auto .mdui-slider-zero .mdui-slider-thumb{background-color:#303030;border-color:#4c4c4c}.mdui-theme-layout-auto .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{border-color:#4c4c4c}.mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-track::before{background-color:#4c4c4c}.mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-fill::before{background-color:#4c4c4c}.mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-thumb{background-color:#4c4c4c}.mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb{background-color:#fefefe}.mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{background-color:#5c5c5c}.mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb{background-color:#4c4c4c}}.mdui-btn,.mdui-fab{position:relative;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:88px;height:36px;margin:0;padding:0 16px;overflow:hidden;color:inherit;font-weight:500;font-size:14px;line-height:36px;letter-spacing:.04em;white-space:nowrap;text-align:center;text-transform:uppercase;text-decoration:none;vertical-align:middle;background:0 0;border:none;border-radius:2px;outline:0;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1);transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:manipulation;touch-action:manipulation;will-change:box-shadow;zoom:1;-webkit-user-drag:none}.mdui-btn:hover,.mdui-fab:hover{background-color:rgba(0,0,0,.1)}.mdui-btn:not(.mdui-ripple):active,.mdui-fab:not(.mdui-ripple):active{background-color:rgba(0,0,0,.165)}.mdui-btn[class*=mdui-color-]:hover,.mdui-fab[class*=mdui-color-]:hover{opacity:.87}.mdui-btn:not(.mdui-ripple)[class*=mdui-color-]:active,.mdui-fab:not(.mdui-ripple)[class*=mdui-color-]:active{opacity:.76}.mdui-btn .mdui-icon-left,.mdui-btn .mdui-icon-left::before,.mdui-btn .mdui-icon-right,.mdui-btn .mdui-icon-right::before{height:inherit;font-size:1.3em;line-height:inherit}.mdui-btn .mdui-icon-left{float:left;margin-right:.4em}.mdui-btn .mdui-icon-right{float:right;margin-left:.4em}input.mdui-btn[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.mdui-btn-raised{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-btn-raised:hover{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mdui-btn-raised:active{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-btn[disabled],.mdui-btn[disabled]:active,.mdui-btn[disabled]:focus,.mdui-btn[disabled]:hover,.mdui-fab[disabled],.mdui-fab[disabled]:active,.mdui-fab[disabled]:focus,.mdui-fab[disabled]:hover{color:rgba(0,0,0,.26)!important;background-color:transparent!important;cursor:default!important;opacity:1!important;-webkit-box-shadow:none!important;box-shadow:none!important}.mdui-btn[disabled] .mdui-icon,.mdui-btn[disabled]:active .mdui-icon,.mdui-btn[disabled]:focus .mdui-icon,.mdui-btn[disabled]:hover .mdui-icon,.mdui-fab[disabled] .mdui-icon,.mdui-fab[disabled]:active .mdui-icon,.mdui-fab[disabled]:focus .mdui-icon,.mdui-fab[disabled]:hover .mdui-icon{color:rgba(0,0,0,.26)!important}.mdui-btn-raised[disabled],.mdui-btn-raised[disabled]:active,.mdui-btn-raised[disabled]:focus,.mdui-btn-raised[disabled]:hover,.mdui-fab[disabled],.mdui-fab[disabled]:active,.mdui-fab[disabled]:focus,.mdui-fab[disabled]:hover{background-color:rgba(0,0,0,.12)!important;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important}.mdui-btn-bold{font-weight:700}.mdui-btn-icon{width:36px;min-width:36px;height:36px;margin-right:0;margin-left:0;padding:0;overflow:hidden;font-size:24px;line-height:normal;border-radius:50%}.mdui-btn-icon .mdui-icon{position:absolute;top:50%;left:50%;width:24px;line-height:24px;-webkit-transform:translate(-12px,-12px);transform:translate(-12px,-12px)}.mdui-btn-icon.mdui-ripple{-webkit-transform:translateZ(0);transform:translateZ(0)}.mdui-btn-block{display:block;width:100%}.mdui-btn-dense{height:32px;font-size:13px;line-height:32px}.mdui-btn-dense.mdui-btn-icon{width:32px;min-width:32px}.mdui-btn-group{position:relative;display:inline-block;vertical-align:middle}.mdui-btn-group .mdui-btn{float:left;min-width:inherit;padding:0 12px;color:rgba(0,0,0,.54);border-radius:0}.mdui-btn-group .mdui-btn::before{position:absolute;top:0;bottom:0;left:0;border-left:1px solid transparent;content:' '}.mdui-btn-group .mdui-btn:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.mdui-btn-group .mdui-btn:first-child::before{border-left:none}.mdui-btn-group .mdui-btn:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px}.mdui-btn-group .mdui-btn.mdui-btn-active{color:rgba(0,0,0,.87);background-color:rgba(0,0,0,.215)}.mdui-btn-group .mdui-btn.mdui-btn-active+.mdui-btn-active::before{border-left:1px solid rgba(0,0,0,.145)}.mdui-theme-layout-dark .mdui-btn:hover,.mdui-theme-layout-dark .mdui-fab:hover{background-color:rgba(255,255,255,.1)}.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active,.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active{background-color:rgba(255,255,255,.165)}.mdui-theme-layout-dark .mdui-btn[class*=mdui-color-]:hover,.mdui-theme-layout-dark .mdui-fab[class*=mdui-color-]:hover{opacity:.87}.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*=mdui-color-]:active,.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*=mdui-color-]:active{opacity:.76}.mdui-theme-layout-dark .mdui-btn[disabled],.mdui-theme-layout-dark .mdui-btn[disabled]:active,.mdui-theme-layout-dark .mdui-btn[disabled]:focus,.mdui-theme-layout-dark .mdui-btn[disabled]:hover,.mdui-theme-layout-dark .mdui-fab[disabled],.mdui-theme-layout-dark .mdui-fab[disabled]:active,.mdui-theme-layout-dark .mdui-fab[disabled]:focus,.mdui-theme-layout-dark .mdui-fab[disabled]:hover{color:rgba(255,255,255,.3)!important;background-color:transparent!important}.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon,.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon,.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon,.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon{color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-btn-raised[disabled],.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active,.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus,.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover,.mdui-theme-layout-dark .mdui-fab[disabled],.mdui-theme-layout-dark .mdui-fab[disabled]:active,.mdui-theme-layout-dark .mdui-fab[disabled]:focus,.mdui-theme-layout-dark .mdui-fab[disabled]:hover{background-color:rgba(255,255,255,.12)!important}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-btn:hover,.mdui-theme-layout-auto .mdui-fab:hover{background-color:rgba(255,255,255,.1)}.mdui-theme-layout-auto .mdui-btn:not(.mdui-ripple):active,.mdui-theme-layout-auto .mdui-fab:not(.mdui-ripple):active{background-color:rgba(255,255,255,.165)}.mdui-theme-layout-auto .mdui-btn[class*=mdui-color-]:hover,.mdui-theme-layout-auto .mdui-fab[class*=mdui-color-]:hover{opacity:.87}.mdui-theme-layout-auto .mdui-btn:not(.mdui-ripple)[class*=mdui-color-]:active,.mdui-theme-layout-auto .mdui-fab:not(.mdui-ripple)[class*=mdui-color-]:active{opacity:.76}.mdui-theme-layout-auto .mdui-btn[disabled],.mdui-theme-layout-auto .mdui-btn[disabled]:active,.mdui-theme-layout-auto .mdui-btn[disabled]:focus,.mdui-theme-layout-auto .mdui-btn[disabled]:hover,.mdui-theme-layout-auto .mdui-fab[disabled],.mdui-theme-layout-auto .mdui-fab[disabled]:active,.mdui-theme-layout-auto .mdui-fab[disabled]:focus,.mdui-theme-layout-auto .mdui-fab[disabled]:hover{color:rgba(255,255,255,.3)!important;background-color:transparent!important}.mdui-theme-layout-auto .mdui-btn[disabled] .mdui-icon,.mdui-theme-layout-auto .mdui-btn[disabled]:active .mdui-icon,.mdui-theme-layout-auto .mdui-btn[disabled]:focus .mdui-icon,.mdui-theme-layout-auto .mdui-btn[disabled]:hover .mdui-icon,.mdui-theme-layout-auto .mdui-fab[disabled] .mdui-icon,.mdui-theme-layout-auto .mdui-fab[disabled]:active .mdui-icon,.mdui-theme-layout-auto .mdui-fab[disabled]:focus .mdui-icon,.mdui-theme-layout-auto .mdui-fab[disabled]:hover .mdui-icon{color:rgba(255,255,255,.3)!important}.mdui-theme-layout-auto .mdui-btn-raised[disabled],.mdui-theme-layout-auto .mdui-btn-raised[disabled]:active,.mdui-theme-layout-auto .mdui-btn-raised[disabled]:focus,.mdui-theme-layout-auto .mdui-btn-raised[disabled]:hover,.mdui-theme-layout-auto .mdui-fab[disabled],.mdui-theme-layout-auto .mdui-fab[disabled]:active,.mdui-theme-layout-auto .mdui-fab[disabled]:focus,.mdui-theme-layout-auto .mdui-fab[disabled]:hover{background-color:rgba(255,255,255,.12)!important}}.mdui-fab{width:56px;min-width:56px;height:56px;margin:auto;padding:0!important;overflow:hidden;font-size:24px;line-height:normal!important;border-radius:50%;-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mdui-fab:hover{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-fab:active{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12);box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mdui-fab .mdui-icon{position:absolute;top:0;left:0;width:24px;margin-top:16px;margin-left:16px;line-height:24px}.mdui-fab-mini{width:40px;min-width:40px;height:40px}.mdui-fab-mini .mdui-icon{margin-top:8px;margin-left:8px}.mdui-fab-fixed,.mdui-fab-wrapper{position:fixed!important;right:16px;bottom:16px}@media (min-width:1024px){.mdui-fab-fixed,.mdui-fab-wrapper{right:24px;bottom:24px}}.mdui-fab-wrapper{position:relative;z-index:4000;width:56px;height:56px;padding-top:8px;text-align:center}.mdui-fab-wrapper>.mdui-fab .mdui-icon:not(.mdui-fab-opened){opacity:1;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.mdui-fab-wrapper>.mdui-fab .mdui-icon.mdui-fab-opened{-webkit-transform:rotate(225deg);transform:rotate(225deg);opacity:0;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.mdui-fab-wrapper>.mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened){-webkit-transform:rotate(225deg);transform:rotate(225deg);opacity:0}.mdui-fab-wrapper>.mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened{-webkit-transform:rotate(360deg);transform:rotate(360deg);opacity:1}.mdui-fab-wrapper>.mdui-fab-mini{margin-top:8px}.mdui-fab-wrapper .mdui-fab-dial{position:absolute;right:0;bottom:64px;left:0;height:0;text-align:center;visibility:visible}.mdui-fab-wrapper .mdui-fab-dial .mdui-fab{margin:8px 0;-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:color .2s cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform 150ms cubic-bezier(.4,0,.2,1);transition:color .2s cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform 150ms cubic-bezier(.4,0,.2,1);transition:box-shadow .2s cubic-bezier(.4,0,1,1),color .2s cubic-bezier(.4,0,.2,1),transform 150ms cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1);transition:box-shadow .2s cubic-bezier(.4,0,1,1),color .2s cubic-bezier(.4,0,.2,1),transform 150ms cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform 150ms cubic-bezier(.4,0,.2,1)}.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mdui-fab,.mdui-fab-mini,.mdui-fab-wrapper{-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);-webkit-transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform .2s;transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform .2s;transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1),transform .2s;transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1),transform .2s,-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform .2s;will-change:transform}.mdui-fab-mini.mdui-fab-hide,.mdui-fab-wrapper.mdui-fab-hide,.mdui-fab.mdui-fab-hide{-webkit-transform:scale(0) translateZ(0);transform:scale(0) translateZ(0)}.mdui-select{position:relative;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;height:36px;padding-right:24px;padding-left:0;font-size:16px;font-family:Roboto,Noto,Helvetica,Arial,sans-serif;vertical-align:middle;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' opacity='.54'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;border:none;border-bottom:1px solid rgba(0,0,0,.12);outline:0;cursor:pointer;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,background-position-x,-webkit-box-shadow;transition-property:background-color,background-position-x,-webkit-box-shadow;transition-property:background-color,box-shadow,background-position-x;transition-property:background-color,box-shadow,background-position-x,-webkit-box-shadow;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:background-color,box-shadow,background-position-x}.mdui-select.mdui-select-open{border-bottom:none}.mdui-select-position-top{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' opacity='.54'/%3E%3C/svg%3E")}.mdui-select-open.mdui-select-position-bottom,.mdui-select-open.mdui-select-position-top{z-index:99999;background-color:#fff;background-position-x:calc(100% - 12px);border-radius:2px}.mdui-select-open.mdui-select-position-top{border-top:1px solid rgba(0,0,0,.12);border-bottom:2px solid transparent;border-top-left-radius:0;border-top-right-radius:0;-webkit-box-shadow:0 10px 10px -3px rgba(0,0,0,.2),0 0 14px 1px rgba(0,0,0,.14),0 -7px 24px 2px rgba(0,0,0,.12);box-shadow:0 10px 10px -3px rgba(0,0,0,.2),0 0 14px 1px rgba(0,0,0,.14),0 -7px 24px 2px rgba(0,0,0,.12)}.mdui-select-open.mdui-select-position-top .mdui-select-menu{border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-box-shadow:0 -4px 4px -2px rgba(0,0,0,.06),8px 0 8px -4px rgba(0,0,0,.12),-8px 0 8px -4px rgba(0,0,0,.12);box-shadow:0 -4px 4px -2px rgba(0,0,0,.06),8px 0 8px -4px rgba(0,0,0,.12),-8px 0 8px -4px rgba(0,0,0,.12)}.mdui-select-open.mdui-select-position-bottom{border-bottom:1px solid rgba(0,0,0,.12);border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-select-open.mdui-select-position-bottom .mdui-select-menu{border-top-left-radius:0;border-top-right-radius:0;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 9px 9px 1px rgba(0,0,0,.14),0 8px 8px 2px rgba(0,0,0,.06);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 9px 9px 1px rgba(0,0,0,.14),0 8px 8px 2px rgba(0,0,0,.06)}.mdui-select-selected{position:absolute;top:50%;right:24px;left:0;display:block;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:left .2s cubic-bezier(0,0,.2,1);transition:left .2s cubic-bezier(0,0,.2,1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-select-open .mdui-select-selected{right:32px;left:16px}.mdui-select-open.mdui-select-position-auto .mdui-select-selected{visibility:hidden}.mdui-select-menu{position:relative;z-index:99999;-webkit-box-sizing:border-box;box-sizing:border-box;height:36px;margin:0 -24px 0 0;overflow-y:scroll;color:rgba(0,0,0,.87);background-color:#fff;border-radius:2px;-webkit-transform:scale(1,0);transform:scale(1,0);visibility:hidden;cursor:default;opacity:0;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity,visibility,-webkit-transform;transition-property:opacity,visibility,-webkit-transform;transition-property:transform,opacity,visibility;transition-property:transform,opacity,visibility,-webkit-transform;will-change:transform,opacity,visibility;-webkit-overflow-scrolling:touch;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-select-open .mdui-select-menu{overflow-y:hidden;-webkit-transform:scale(1,1);transform:scale(1,1);visibility:visible;opacity:1}.mdui-select-closing .mdui-select-menu{overflow-y:hidden;-webkit-box-shadow:none;box-shadow:none;-webkit-transform:scale(1,1);transform:scale(1,1);visibility:visible;opacity:0}.mdui-select-menu-item{height:48px;padding:0 16px;line-height:48px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-select-menu-item:hover{background-color:#eee}.mdui-select-menu-item:first-child{margin-top:8px}.mdui-select-menu-item:last-child{margin-bottom:8px}.mdui-select-menu-item[disabled]{color:rgba(0,0,0,.38)!important;cursor:default}.mdui-select-menu-item[disabled]:hover{background-color:inherit!important}.mdui-select-menu-item[selected]{color:#ff4081}select.mdui-select{background-color:transparent}select.mdui-select option{color:rgba(0,0,0,.87)}select.mdui-select::-ms-expand{display:none}select.mdui-select[multiple]{height:auto;padding:0;font-size:15px;background-color:#fff;background-image:none;border:1px solid rgba(0,0,0,.38);cursor:default}select.mdui-select[multiple] optgroup{margin:8px 0 0 0;padding:0 0 0 16px;color:rgba(0,0,0,.38)}select.mdui-select[multiple] optgroup:last-child{margin-bottom:8px}select.mdui-select[multiple] optgroup:not(:first-child){padding-top:8px;border-top:1px solid rgba(0,0,0,.12)}select.mdui-select[multiple] option{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:32px;margin:0 0 0 -16px;padding:0 16px;color:rgba(0,0,0,.87)}select.mdui-select[multiple] option:first-child{margin-top:8px}select.mdui-select[multiple] option:last-child{margin-bottom:8px}.mdui-theme-accent-amber .mdui-select-menu-item[selected]{color:#ffc107}.mdui-theme-accent-blue .mdui-select-menu-item[selected]{color:#2196f3}.mdui-theme-accent-cyan .mdui-select-menu-item[selected]{color:#00bcd4}.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected]{color:#ff5722}.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected]{color:#673ab7}.mdui-theme-accent-green .mdui-select-menu-item[selected]{color:#4caf50}.mdui-theme-accent-indigo .mdui-select-menu-item[selected]{color:#3f51b5}.mdui-theme-accent-light-blue .mdui-select-menu-item[selected]{color:#03a9f4}.mdui-theme-accent-light-green .mdui-select-menu-item[selected]{color:#8bc34a}.mdui-theme-accent-lime .mdui-select-menu-item[selected]{color:#cddc39}.mdui-theme-accent-orange .mdui-select-menu-item[selected]{color:#ff9800}.mdui-theme-accent-pink .mdui-select-menu-item[selected]{color:#e91e63}.mdui-theme-accent-purple .mdui-select-menu-item[selected]{color:#9c27b0}.mdui-theme-accent-red .mdui-select-menu-item[selected]{color:#f44336}.mdui-theme-accent-teal .mdui-select-menu-item[selected]{color:#009688}.mdui-theme-accent-yellow .mdui-select-menu-item[selected]{color:#ffeb3b}.mdui-theme-layout-dark .mdui-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E");border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-select-position-top{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E")}.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom,.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top{background-color:#424242}.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top{border-top:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom{border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-select-menu{color:#fff;background-color:#424242}.mdui-theme-layout-dark .mdui-select-menu-item:hover{background-color:#616161}.mdui-theme-layout-dark .mdui-select-menu-item[disabled]{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-dark select.mdui-select{color:#fff;background-color:#303030}.mdui-theme-layout-dark select.mdui-select option{color:#fff;background-color:#303030}.mdui-theme-layout-dark select.mdui-select[multiple]{border:1px solid rgba(255,255,255,.5)}.mdui-theme-layout-dark select.mdui-select[multiple] optgroup{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child){border-top:1px solid rgba(255,255,255,.12)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E");border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-auto .mdui-select-position-top{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E")}.mdui-theme-layout-auto .mdui-select-open.mdui-select-position-bottom,.mdui-theme-layout-auto .mdui-select-open.mdui-select-position-top{background-color:#424242}.mdui-theme-layout-auto .mdui-select-open.mdui-select-position-top{border-top:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-auto .mdui-select-open.mdui-select-position-bottom{border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-auto .mdui-select-menu{color:#fff;background-color:#424242}.mdui-theme-layout-auto .mdui-select-menu-item:hover{background-color:#616161}.mdui-theme-layout-auto .mdui-select-menu-item[disabled]{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-auto select.mdui-select{color:#fff;background-color:#303030}.mdui-theme-layout-auto select.mdui-select option{color:#fff;background-color:#303030}.mdui-theme-layout-auto select.mdui-select[multiple]{border:1px solid rgba(255,255,255,.5)}.mdui-theme-layout-auto select.mdui-select[multiple] optgroup{color:rgba(255,255,255,.5)}.mdui-theme-layout-auto select.mdui-select[multiple] optgroup:not(:first-child){border-top:1px solid rgba(255,255,255,.12)}}.mdui-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.mdui-toolbar>*{margin:0 16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-toolbar[class*=mdui-color-]:not(.mdui-color-transparent) .mdui-btn:hover{background-color:rgba(255,255,255,.1)}.mdui-toolbar[class*=mdui-color-]:not(.mdui-color-transparent) .mdui-btn:active{background-color:rgba(255,255,255,.165)}.mdui-toolbar>a{color:inherit;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-toolbar>.mdui-btn-icon{width:48px;min-width:48px;height:48px}@media (orientation:landscape) and (max-width:959.9px){.mdui-toolbar>.mdui-btn-icon{width:40px;min-width:40px;height:40px}}.mdui-toolbar>.mdui-btn-icon .mdui-icon{height:24px;line-height:24px}.mdui-toolbar .mdui-icon{color:inherit}.mdui-toolbar-spacer{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:0}.mdui-toolbar{height:56px;line-height:56px}.mdui-toolbar>.mdui-btn{margin:0 4px}.mdui-toolbar>.mdui-btn+.mdui-btn{margin-left:0}@media (min-width:600px){.mdui-appbar .mdui-toolbar{height:64px;line-height:64px}.mdui-appbar .mdui-toolbar>.mdui-btn{margin:0 8px}.mdui-appbar .mdui-toolbar>.mdui-btn+.mdui-btn{margin-left:0}}@media (orientation:landscape) and (max-width:959.9px){.mdui-appbar .mdui-toolbar{height:48px;line-height:48px}.mdui-appbar .mdui-toolbar>.mdui-btn{margin:0 4px}.mdui-appbar .mdui-toolbar>.mdui-btn+.mdui-btn{margin-left:0}}.mdui-appbar{z-index:1000;-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mdui-appbar-fixed{position:fixed;top:0;right:0;left:0;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:left,right;transition-property:left,right;will-change:left,right}@media (min-width:1024px){.mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed{left:240px}}@media (min-width:1024px){.mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed{right:240px}}.mdui-appbar-with-toolbar{padding-top:56px}@media (min-width:600px){.mdui-appbar-with-toolbar{padding-top:64px}}@media (orientation:landscape) and (max-width:959.9px){.mdui-appbar-with-toolbar{padding-top:48px}}.mdui-appbar-with-tab{padding-top:48px}.mdui-appbar-with-tab-larger{padding-top:72px}.mdui-appbar-with-toolbar.mdui-appbar-with-tab{padding-top:104px}@media (min-width:600px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab{padding-top:112px}}@media (orientation:landscape) and (max-width:959.9px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab{padding-top:96px}}.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger{padding-top:128px}@media (min-width:600px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger{padding-top:136px}}@media (orientation:landscape) and (max-width:959.9px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger{padding-top:120px}}.mdui-theme-layout-dark .mdui-appbar>[class*=mdui-color-]:not(.mdui-color-transparent){color:#fff!important;background-color:#212121!important}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-appbar>[class*=mdui-color-]:not(.mdui-color-transparent){color:#fff!important;background-color:#212121!important}}.mdui-card{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;color:#000;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-card-header{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;height:72px;padding:16px}.mdui-card-header-avatar{float:left;width:40px;height:40px;border-radius:50%}.mdui-card-header-title{display:block;margin-left:52px;font-weight:500;font-size:16px;line-height:20px;opacity:.87;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-card-header-subtitle{display:block;margin-left:52px;font-weight:400;font-size:14px;line-height:20px;opacity:.54;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-card-primary{position:relative;padding:24px 16px 16px 16px}.mdui-card-primary-title{display:block;font-size:24px;line-height:36px;opacity:.87}.mdui-card-primary-subtitle{display:block;font-size:14px;line-height:24px;opacity:.54}.mdui-card-content{position:relative;padding:16px;font-size:14px;line-height:24px}.mdui-card-menu{position:absolute;top:16px;right:16px;z-index:1}.mdui-card-menu .mdui-btn{margin-left:8px}.mdui-card-actions{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px}.mdui-card-actions::after,.mdui-card-actions::before{display:table;content:' '}.mdui-card-actions::after{clear:both}.mdui-card-actions::after,.mdui-card-actions::before{display:table;content:' '}.mdui-card-actions::after{clear:both}.mdui-card-actions .mdui-btn{max-width:100%;margin:0 8px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-card-actions .mdui-btn-icon{width:36px;height:36px;margin:0 8px}.mdui-card-actions-stacked .mdui-btn{display:block;margin:0 0 4px 0}.mdui-card-actions-stacked .mdui-btn:last-child{margin:0}.mdui-card-media{position:relative}.mdui-card-media img,.mdui-card-media video{display:block;width:100%}.mdui-card-media-covered{position:absolute;right:0;bottom:0;left:0;color:#fff;background:rgba(0,0,0,.2)}.mdui-card-media-covered .mdui-card-primary-title{opacity:1}.mdui-card-media-covered .mdui-card-primary-subtitle{opacity:.7}.mdui-card-media-covered-top{top:0;bottom:auto}.mdui-card-media-covered-transparent{background:0 0}.mdui-card-media-covered-gradient{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to top,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-card-media-covered-gradient.mdui-card-media-covered-top{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to bottom,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-theme-layout-dark .mdui-card{color:#fff;background-color:#424242}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-card{color:#fff;background-color:#424242}}.mdui-tab{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;min-height:48px;max-height:72px;margin:0 auto;padding:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch}.mdui-tab a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:72px;min-height:48px;max-height:72px;padding:12px;overflow:hidden;color:inherit;font-size:14px;text-align:center;text-transform:uppercase;text-decoration:none;text-overflow:ellipsis;outline:0;cursor:pointer;opacity:.7;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-tab a .mdui-icon{opacity:.7}@media (min-width:600px){.mdui-tab a{-webkit-box-flex:0;-ms-flex:none;flex:none;min-width:99px;max-width:264px;padding:12px 24px}}@media (min-width:1024px){.mdui-tab a{min-width:112px}}@media (min-width:1440px){.mdui-tab a{min-width:136px}}@media (min-width:1920px){.mdui-tab a{min-width:160px}}.mdui-tab a label{display:block;width:100%;cursor:pointer}.mdui-tab a .mdui-icon+label{margin-top:8px}.mdui-tab a[disabled]{cursor:default;opacity:.38}.mdui-tab a[disabled] label{cursor:default}.mdui-tab .mdui-tab-active{color:#3f51b5;opacity:1}.mdui-tab .mdui-tab-active .mdui-icon{opacity:1}@media (min-width:600px){.mdui-tab-centered::before{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;content:' '}.mdui-tab-centered::after{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;content:' '}.mdui-tab-centered a{-webkit-box-flex:0;-ms-flex:none;flex:none}}.mdui-tab-full-width a{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:none}.mdui-tab-scrollable{padding-left:56px}.mdui-tab-scrollable a{-webkit-box-flex:0;-ms-flex:none;flex:none}@media (max-width:599.9px){.mdui-tab-scrollable{padding-left:60px}}.mdui-tab-indicator{position:absolute;bottom:0;height:2px;background-color:#3f51b5;-webkit-transition:all .35s cubic-bezier(.4,0,.2,1);transition:all .35s cubic-bezier(.4,0,.2,1);will-change:left,width}.mdui-theme-primary-amber .mdui-tab .mdui-tab-active{color:#ffc107}.mdui-theme-primary-amber .mdui-tab-indicator{background-color:#ffc107}.mdui-theme-primary-blue .mdui-tab .mdui-tab-active{color:#2196f3}.mdui-theme-primary-blue .mdui-tab-indicator{background-color:#2196f3}.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active{color:#607d8b}.mdui-theme-primary-blue-grey .mdui-tab-indicator{background-color:#607d8b}.mdui-theme-primary-brown .mdui-tab .mdui-tab-active{color:#795548}.mdui-theme-primary-brown .mdui-tab-indicator{background-color:#795548}.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active{color:#00bcd4}.mdui-theme-primary-cyan .mdui-tab-indicator{background-color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active{color:#ff5722}.mdui-theme-primary-deep-orange .mdui-tab-indicator{background-color:#ff5722}.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active{color:#673ab7}.mdui-theme-primary-deep-purple .mdui-tab-indicator{background-color:#673ab7}.mdui-theme-primary-green .mdui-tab .mdui-tab-active{color:#4caf50}.mdui-theme-primary-green .mdui-tab-indicator{background-color:#4caf50}.mdui-theme-primary-grey .mdui-tab .mdui-tab-active{color:#9e9e9e}.mdui-theme-primary-grey .mdui-tab-indicator{background-color:#9e9e9e}.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active{color:#3f51b5}.mdui-theme-primary-indigo .mdui-tab-indicator{background-color:#3f51b5}.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active{color:#03a9f4}.mdui-theme-primary-light-blue .mdui-tab-indicator{background-color:#03a9f4}.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active{color:#8bc34a}.mdui-theme-primary-light-green .mdui-tab-indicator{background-color:#8bc34a}.mdui-theme-primary-lime .mdui-tab .mdui-tab-active{color:#cddc39}.mdui-theme-primary-lime .mdui-tab-indicator{background-color:#cddc39}.mdui-theme-primary-orange .mdui-tab .mdui-tab-active{color:#ff9800}.mdui-theme-primary-orange .mdui-tab-indicator{background-color:#ff9800}.mdui-theme-primary-pink .mdui-tab .mdui-tab-active{color:#e91e63}.mdui-theme-primary-pink .mdui-tab-indicator{background-color:#e91e63}.mdui-theme-primary-purple .mdui-tab .mdui-tab-active{color:#9c27b0}.mdui-theme-primary-purple .mdui-tab-indicator{background-color:#9c27b0}.mdui-theme-primary-red .mdui-tab .mdui-tab-active{color:#f44336}.mdui-theme-primary-red .mdui-tab-indicator{background-color:#f44336}.mdui-theme-primary-teal .mdui-tab .mdui-tab-active{color:#009688}.mdui-theme-primary-teal .mdui-tab-indicator{background-color:#009688}.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active{color:#ffeb3b}.mdui-theme-primary-yellow .mdui-tab-indicator{background-color:#ffeb3b}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white) .mdui-tab-active{color:inherit}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white) .mdui-tab-indicator{background-color:#fff}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white)::-webkit-scrollbar{width:5px;height:5px;background:0 0}@media (min-width:1024px){.mdui-tab[class*=mdui-color-]:not(.mdui-color-white)::-webkit-scrollbar{width:8px;height:8px}}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white)::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3)}.mdui-subheader,.mdui-subheader-inset{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;height:48px;padding-right:16px;padding-left:16px;color:rgba(0,0,0,.54);font-weight:500;font-size:14px;line-height:48px;cursor:default;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-subheader-inset{padding-left:72px}.mdui-theme-layout-dark .mdui-subheader,.mdui-theme-layout-dark .mdui-subheader-inset{color:rgba(255,255,255,.7)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-subheader,.mdui-theme-layout-auto .mdui-subheader-inset{color:rgba(255,255,255,.7)}}.mdui-grid-list{margin:0 -2px}.mdui-grid-list .mdui-col,.mdui-grid-list [class*=mdui-col-lg-],.mdui-grid-list [class*=mdui-col-md-],.mdui-grid-list [class*=mdui-col-sm-],.mdui-grid-list [class*=mdui-col-xl-],.mdui-grid-list [class*=mdui-col-xs-]{padding-right:2px;padding-left:2px}.mdui-grid-tile{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:4px;overflow:hidden}.mdui-grid-tile img{display:block;width:100%}.mdui-grid-tile-actions{position:absolute;right:0;bottom:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-height:48px;max-height:68px;padding:16px;color:#fff;background:rgba(0,0,0,.2)}.mdui-grid-tile-actions .mdui-icon{color:#fff}.mdui-grid-tile-text{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}.mdui-grid-tile-title{height:16px;font-size:16px;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-grid-tile-title .mdui-icon{margin-right:8px}.mdui-grid-tile-subtitle{height:18px;margin-top:4px;font-size:12px;line-height:18px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-grid-tile-subtitle .mdui-icon{margin-right:8px;font-size:18px}.mdui-grid-tile-buttons{-webkit-box-flex:0;-ms-flex:none;flex:none;margin:-8px;white-space:nowrap}.mdui-grid-tile-buttons .mdui-btn{margin-left:8px}.mdui-grid-tile-buttons .mdui-btn:first-child{margin-left:0}.mdui-grid-tile-text+.mdui-grid-tile-buttons{margin-left:8px}.mdui-grid-tile-buttons+.mdui-grid-tile-text{margin-left:16px}.mdui-grid-tile-actions-top{top:0;bottom:auto}.mdui-grid-tile-actions-transparent{background:0 0}.mdui-grid-tile-actions-gradient{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to top,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to bottom,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-list{margin:0;padding:8px 0;list-style:none;background-color:transparent}.mdui-list .mdui-list{padding:0}.mdui-list>.mdui-divider,.mdui-list>.mdui-divider-dark,.mdui-list>.mdui-divider-inset,.mdui-list>.mdui-divider-inset-dark,.mdui-list>.mdui-divider-inset-light,.mdui-list>.mdui-divider-light{margin-top:8px;margin-bottom:8px}.mdui-list a{color:inherit;text-decoration:none}.mdui-list .mdui-subheader,.mdui-list .mdui-subheader-inset{margin-top:8px}.mdui-list .mdui-subheader-inset::before,.mdui-list .mdui-subheader::before{position:absolute;right:0;left:0;display:block;height:1px;background-color:rgba(0,0,0,.12);content:' '}.mdui-list .mdui-subheader-inset:first-child,.mdui-list .mdui-subheader:first-child{margin-top:-8px}.mdui-list .mdui-subheader-inset:first-child::before,.mdui-list .mdui-subheader:first-child::before{background-color:transparent}.mdui-list .mdui-subheader-inset::before{left:72px}.mdui-list-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-height:48px;padding:0 16px;text-decoration:none;cursor:pointer;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1)}.mdui-list-item:hover{background-color:rgba(0,0,0,.08)}.mdui-list-item::after{height:48px;visibility:hidden;content:' '}.mdui-list-item-icon{width:24px;min-width:24px;height:24px;color:rgba(0,0,0,.54)}.mdui-list-item-avatar{min-width:40px;max-width:40px;height:40px;margin-top:8px;margin-bottom:8px;color:#fff;line-height:40px;text-align:center;background-color:#bdbdbd;border-radius:50%}.mdui-list-item-avatar img{width:100%;height:100%;border-radius:50%}.mdui-list-item-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding-top:14px;padding-bottom:14px;font-weight:400;font-size:16px;line-height:20px}.mdui-list-item-text{font-size:14px;opacity:.54}.mdui-list-item-title~.mdui-list-item-text{margin-top:4px}.mdui-list-item-active{font-weight:700;background-color:rgba(0,0,0,.08)}.mdui-list-item-active .mdui-list-item-content{font-weight:700}.mdui-list-item-active .mdui-list-item-text{font-weight:400}.mdui-list-item-one-line,.mdui-list-item-three-line,.mdui-list-item-two-line{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.mdui-list-item-one-line{-webkit-line-clamp:1;height:20px}.mdui-list-item-two-line{-webkit-line-clamp:2;height:40px}.mdui-list-item-three-line{-webkit-line-clamp:3;height:60px}.mdui-list-item-icon~.mdui-list-item-content{margin-left:32px}.mdui-checkbox~.mdui-list-item-content,.mdui-radio~.mdui-list-item-content,.mdui-switch~.mdui-list-item-content{margin-left:20px}.mdui-list-item-avatar~.mdui-list-item-content{margin-left:16px}.mdui-list-item-content~.mdui-checkbox,.mdui-list-item-content~.mdui-list-item-avatar,.mdui-list-item-content~.mdui-list-item-icon,.mdui-list-item-content~.mdui-radio,.mdui-list-item-content~.mdui-switch{margin-left:16px}.mdui-list-item-content~.mdui-checkbox,.mdui-list-item-content~.mdui-radio{padding-left:24px}.mdui-list-dense{padding:4px 0;font-size:13px}.mdui-list-dense>.mdui-divider,.mdui-list-dense>.mdui-divider-dark,.mdui-list-dense>.mdui-divider-inset,.mdui-list-dense>.mdui-divider-inset-dark,.mdui-list-dense>.mdui-divider-inset-light,.mdui-list-dense>.mdui-divider-light{margin-top:4px;margin-bottom:4px}.mdui-list-dense .mdui-subheader,.mdui-list-dense .mdui-subheader-inset{height:40px;margin-top:4px;font-size:12px;line-height:40px}.mdui-list-dense .mdui-subheader-inset:first-child,.mdui-list-dense .mdui-subheader:first-child{margin-top:-4px}.mdui-list-dense .mdui-list-item{min-height:40px}.mdui-list-dense .mdui-list-item::after{height:40px}.mdui-list-dense .mdui-list-item-icon{width:20px;height:20px;font-size:20px}.mdui-list-dense .mdui-list-item-avatar{width:36px;min-width:36px;height:36px;min-height:36px}.mdui-list-dense .mdui-list-item-content{padding-top:11px;padding-bottom:11px;font-size:13px;line-height:18px}.mdui-list-dense .mdui-list-item-text{font-size:13px}.mdui-list-dense .mdui-list-item-title~.mdui-list-item-text{margin-top:2px}.mdui-list-dense .mdui-list-item-one-line{height:18px}.mdui-list-dense .mdui-list-item-two-line{height:36px}.mdui-list-dense .mdui-list-item-three-line{height:54px}.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset::before,.mdui-theme-layout-dark .mdui-list .mdui-subheader::before{background-color:rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child::before,.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child::before{background-color:transparent}.mdui-theme-layout-dark .mdui-list-item{color:#fff}.mdui-theme-layout-dark .mdui-list-item:hover{background-color:rgba(255,255,255,.08)}.mdui-theme-layout-dark .mdui-list-item-icon{color:#fff}.mdui-theme-layout-dark .mdui-list-item-text{opacity:.7}.mdui-theme-layout-dark .mdui-list-item-active{background-color:rgba(255,255,255,.08)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-list .mdui-subheader-inset::before,.mdui-theme-layout-auto .mdui-list .mdui-subheader::before{background-color:rgba(255,255,255,.12)}.mdui-theme-layout-auto .mdui-list .mdui-subheader-inset:first-child::before,.mdui-theme-layout-auto .mdui-list .mdui-subheader:first-child::before{background-color:transparent}.mdui-theme-layout-auto .mdui-list-item{color:#fff}.mdui-theme-layout-auto .mdui-list-item:hover{background-color:rgba(255,255,255,.08)}.mdui-theme-layout-auto .mdui-list-item-icon{color:#fff}.mdui-theme-layout-auto .mdui-list-item-text{opacity:.7}.mdui-theme-layout-auto .mdui-list-item-active{background-color:rgba(255,255,255,.08)}}[class*=mdui-color-] .mdui-list-item{color:inherit}[class*=mdui-color-] .mdui-list-item-icon{color:inherit}body.mdui-loaded{-webkit-transition:padding .3s cubic-bezier(0,0,.2,1);transition:padding .3s cubic-bezier(0,0,.2,1)}body.mdui-loaded .mdui-drawer{-webkit-transition:all .3s cubic-bezier(0,0,.2,1);transition:all .3s cubic-bezier(0,0,.2,1)}.mdui-drawer{position:fixed;top:0;bottom:0;left:0;z-index:5000;-webkit-box-sizing:border-box;box-sizing:border-box;width:calc(100% - 56px);max-width:280px;margin:0;overflow-x:hidden;overflow-y:auto;white-space:nowrap;will-change:transform;-webkit-overflow-scrolling:touch}@media (max-width:1023.9px){.mdui-drawer:not(.mdui-drawer-open){-webkit-box-shadow:none!important;box-shadow:none!important}}@media (min-width:600px){.mdui-drawer{width:calc(100% - 64px);max-width:320px}}@media (min-width:1024px){.mdui-drawer{width:240px;max-width:none}.mdui-drawer.mdui-drawer-close{-webkit-box-shadow:none!important;box-shadow:none!important}}.mdui-drawer-right{right:0;left:auto}@media (max-width:1023.9px){.mdui-drawer{background-color:#fff;-webkit-transform:translateX(-330px);transform:translateX(-330px);-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mdui-drawer-right{-webkit-transform:translateX(330px);transform:translateX(330px)}}@media (max-width:599.9px){.mdui-drawer{-webkit-transform:translateX(-290px);transform:translateX(-290px)}.mdui-drawer-right{-webkit-transform:translateX(290px);transform:translateX(290px)}}.mdui-drawer-close{-webkit-transform:translateX(-290px);transform:translateX(-290px)}.mdui-drawer-close.mdui-drawer-right{-webkit-transform:translateX(290px);transform:translateX(290px)}@media (min-width:600px){.mdui-drawer-close{-webkit-transform:translateX(-330px);transform:translateX(-330px)}.mdui-drawer-close.mdui-drawer-right{-webkit-transform:translateX(330px);transform:translateX(330px)}}@media (min-width:1024px){.mdui-drawer-close{-webkit-transform:translateX(-250px);transform:translateX(-250px)}.mdui-drawer-close.mdui-drawer-right{-webkit-transform:translateX(250px);transform:translateX(250px)}}.mdui-drawer-open{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}@media (min-width:1024px){.mdui-drawer-body-left{padding-left:240px}.mdui-drawer-body-right{padding-right:240px}.mdui-appbar-with-toolbar .mdui-drawer{top:64px}.mdui-appbar-with-tab .mdui-drawer{top:48px}.mdui-appbar-with-tab-larger .mdui-drawer{top:72px}.mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer{top:112px}.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer{top:136px}}.mdui-drawer[class*=mdui-color-]:not(.mdui-color-transparent){-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mdui-drawer-full-height{top:0!important}@media (max-width:1023.9px){.mdui-theme-layout-dark .mdui-drawer{background-color:#424242}}@media (prefers-color-scheme:dark) and (max-width:1023.9px){.mdui-theme-layout-auto .mdui-drawer{background-color:#424242}}.mdui-dialog{position:fixed;right:0;left:0;z-index:6000;display:none;-webkit-box-sizing:border-box;box-sizing:border-box;width:92%;min-width:180px;max-width:728px;max-height:90%;margin:auto;overflow:hidden;color:#000;background-color:#fff;border-radius:2px;-webkit-transform:scale(.95);transform:scale(.95);opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,visibility,-webkit-transform;transition-property:opacity,visibility,-webkit-transform;transition-property:transform,opacity,visibility;transition-property:transform,opacity,visibility,-webkit-transform;will-change:top,opacity,transform;-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}@media (min-width:600px){.mdui-dialog{width:85%;max-height:85%}}@media (min-width:1024px){.mdui-dialog{width:80%;max-height:80%}}.mdui-dialog-open{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mdui-dialog-title{-webkit-box-sizing:border-box;box-sizing:border-box;font-weight:500;font-size:20px;line-height:24px;text-align:left}.mdui-dialog>.mdui-dialog-title{padding:24px 24px 20px 24px}.mdui-dialog-content{-webkit-box-sizing:border-box;box-sizing:border-box;padding:24px;overflow-y:auto;color:rgba(0,0,0,.7);font-size:15px;line-height:1.5;-webkit-overflow-scrolling:touch}.mdui-dialog-content>.mdui-dialog-title{padding-bottom:20px}.mdui-dialog-title+.mdui-dialog-content{padding-top:0}.mdui-dialog-actions{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;text-align:right}.mdui-dialog-actions .mdui-btn{min-width:64px;margin-left:8px;color:#e91e63}.mdui-dialog-actions .mdui-btn:first-child{margin-left:0}.mdui-dialog-content>.mdui-dialog-actions{margin:0 -24px -24px -24px;padding-top:32px}.mdui-dialog-actions-stacked{padding:8px 0 8px 0}.mdui-dialog-actions-stacked .mdui-btn{width:100%;height:48px;margin:0;line-height:48px!important;text-align:right;border-radius:0}.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn{color:#ffc107}.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn{color:#2196f3}.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn{color:#00bcd4}.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn{color:#ff5722}.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn{color:#673ab7}.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn{color:#4caf50}.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn{color:#3f51b5}.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn{color:#03a9f4}.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn{color:#8bc34a}.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn{color:#cddc39}.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn{color:#ff9800}.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn{color:#e91e63}.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn{color:#9c27b0}.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn{color:#f44336}.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn{color:#009688}.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn{color:#ffeb3b}.mdui-theme-layout-dark .mdui-dialog{color:#fff;background-color:#424242}.mdui-theme-layout-dark .mdui-dialog-content{color:rgba(255,255,255,.7)}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-dialog{color:#fff;background-color:#424242}.mdui-theme-layout-auto .mdui-dialog-content{color:rgba(255,255,255,.7)}}.mdui-dialog-alert{max-width:448px}.mdui-dialog-confirm{max-width:448px}.mdui-dialog-prompt{max-width:448px}.mdui-dialog-prompt .mdui-textfield{padding-top:0}.mdui-tooltip{position:absolute;z-index:9000;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:180px;min-height:32px;padding:8px 16px;color:#fff;font-weight:500;font-size:14px;line-height:22px;text-align:left;background-color:rgba(97,97,97,.9);border-radius:2px;-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;will-change:opacity,transform}@media (min-width:1024px){.mdui-tooltip{max-width:200px;min-height:24px;padding:4px 8px;font-size:12px;line-height:18px}}.mdui-tooltip-open{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mdui-snackbar{position:fixed;z-index:7000;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;min-height:48px;padding:0 24px 0 24px;color:#fff;font-size:14px;line-height:20px;background-color:#323232;will-change:transform}@media (min-width:600px){.mdui-snackbar{width:auto;min-width:288px;max-width:568px;border-radius:2px}}.mdui-snackbar-bottom,.mdui-snackbar-left-bottom,.mdui-snackbar-left-top,.mdui-snackbar-right-bottom,.mdui-snackbar-right-top,.mdui-snackbar-top{-webkit-transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1)}.mdui-snackbar-bottom,.mdui-snackbar-left-bottom,.mdui-snackbar-right-bottom{bottom:0}.mdui-snackbar-left-top,.mdui-snackbar-right-top,.mdui-snackbar-top{top:0}.mdui-snackbar-bottom,.mdui-snackbar-top{left:50%}@media (min-width:600px){.mdui-snackbar-left-top{top:24px;left:24px}.mdui-snackbar-left-bottom{bottom:24px;left:24px}.mdui-snackbar-right-top{top:24px;right:24px}.mdui-snackbar-right-bottom{right:24px;bottom:24px}}.mdui-snackbar-text{position:relative;max-width:100%;padding:14px 0 14px 0;overflow:hidden;text-overflow:ellipsis}.mdui-snackbar-action{margin-right:-16px;white-space:nowrap;color:#ff80ab}.mdui-theme-accent-amber .mdui-snackbar-action{color:#ffe57f}.mdui-theme-accent-blue .mdui-snackbar-action{color:#82b1ff}.mdui-theme-accent-cyan .mdui-snackbar-action{color:#84ffff}.mdui-theme-accent-deep-orange .mdui-snackbar-action{color:#ff9e80}.mdui-theme-accent-deep-purple .mdui-snackbar-action{color:#b388ff}.mdui-theme-accent-green .mdui-snackbar-action{color:#b9f6ca}.mdui-theme-accent-indigo .mdui-snackbar-action{color:#8c9eff}.mdui-theme-accent-light-blue .mdui-snackbar-action{color:#80d8ff}.mdui-theme-accent-light-green .mdui-snackbar-action{color:#ccff90}.mdui-theme-accent-lime .mdui-snackbar-action{color:#f4ff81}.mdui-theme-accent-orange .mdui-snackbar-action{color:#ffd180}.mdui-theme-accent-pink .mdui-snackbar-action{color:#ff80ab}.mdui-theme-accent-purple .mdui-snackbar-action{color:#ea80fc}.mdui-theme-accent-red .mdui-snackbar-action{color:#ff8a80}.mdui-theme-accent-teal .mdui-snackbar-action{color:#a7ffeb}.mdui-theme-accent-yellow .mdui-snackbar-action{color:#ffff8d}.mdui-theme-layout-dark .mdui-snackbar{background-color:#5d5d5d}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-snackbar{background-color:#5d5d5d}}.mdui-chip{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:32px;margin:2px 0;color:inherit;white-space:nowrap;background-color:#e0e0e0;border-radius:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);will-change:box-shadow}.mdui-chip:focus,.mdui-chip:hover{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-chip:active{background-color:#d6d6d6}.mdui-chip-icon{position:relative;display:inline-block;width:32px;height:32px;margin-right:-4px;overflow:hidden;color:#fff;font-size:18px;line-height:32px;text-align:center;vertical-align:middle;background-color:#989898;border-radius:50%}.mdui-chip-icon .mdui-icon{position:absolute;top:4px;left:4px;color:#fff}.mdui-chip-title{display:inline-block;height:32px;padding-right:12px;padding-left:12px;font-size:14px;line-height:32px;vertical-align:middle}.mdui-chip-delete{display:inline-block;width:24px;height:24px;margin-right:4px;margin-left:-8px;overflow:hidden;text-align:center;text-decoration:none;vertical-align:middle;border-radius:50%;cursor:pointer;opacity:.54;-webkit-transition:opacity .25s cubic-bezier(.4,0,.2,1);transition:opacity .25s cubic-bezier(.4,0,.2,1);will-change:opacity}.mdui-chip-delete:focus,.mdui-chip-delete:hover{opacity:.87}.mdui-theme-layout-dark .mdui-chip{background-color:#484848}.mdui-theme-layout-dark .mdui-chip:active{background-color:#5d5d5d}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-chip{background-color:#484848}.mdui-theme-layout-auto .mdui-chip:active{background-color:#5d5d5d}}.mdui-bottom-nav{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;height:56px;margin:0 auto;padding:0;overflow:hidden;white-space:nowrap}@media (min-width:600px){.mdui-bottom-nav::before{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;content:' '}.mdui-bottom-nav::after{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;content:' '}}.mdui-bottom-nav a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:32px;max-width:none;padding:8px 12px 10px 12px;overflow:hidden;color:inherit;font-size:12px;text-align:center;text-decoration:none;text-overflow:ellipsis;cursor:pointer;opacity:.7;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:padding}@media (min-width:600px){.mdui-bottom-nav a{max-width:144px}}.mdui-bottom-nav a .mdui-icon{opacity:.7}.mdui-bottom-nav a label{display:block;width:100%;cursor:pointer;-webkit-transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);will-change:font-size}.mdui-bottom-nav a .mdui-icon+label{margin-top:6px}.mdui-bottom-nav a.mdui-bottom-nav-active{color:#3f51b5;font-size:14px;opacity:1}.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon{opacity:1}.mdui-bottom-nav-text-auto a{min-width:32px;padding-right:0;padding-left:0}@media (min-width:600px){.mdui-bottom-nav-text-auto a{max-width:156px}}.mdui-bottom-nav-text-auto a .mdui-icon{padding-top:16px;-webkit-transition:padding-top .2s cubic-bezier(.4,0,.2,1);transition:padding-top .2s cubic-bezier(.4,0,.2,1);will-change:padding-top}.mdui-bottom-nav-text-auto a label{-webkit-transform:scale(0);transform:scale(0)}.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active{padding-right:18px;padding-left:18px}.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon{padding-top:0}.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label{-webkit-transform:scale(1);transform:scale(1)}.mdui-bottom-nav-fixed{padding-bottom:56px}.mdui-bottom-nav-fixed .mdui-bottom-nav{position:fixed;right:0;bottom:0;left:0}.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ffc107}.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active{color:#2196f3}.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active{color:#607d8b}.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active{color:#795548}.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active{color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ff5722}.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active{color:#673ab7}.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active{color:#4caf50}.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active{color:#9e9e9e}.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active{color:#3f51b5}.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active{color:#03a9f4}.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active{color:#8bc34a}.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active{color:#cddc39}.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ff9800}.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active{color:#e91e63}.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active{color:#9c27b0}.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active{color:#f44336}.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active{color:#009688}.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ffeb3b}.mdui-bottom-nav[class*=mdui-color-] .mdui-bottom-nav-active{color:inherit!important}.mdui-progress{position:relative;display:block;width:100%;height:4px;overflow:hidden;background-color:rgba(63,81,181,.2);border-radius:2px}.mdui-progress-determinate{position:absolute;top:0;bottom:0;left:0;background-color:#3f51b5;-webkit-transition:width .3s linear;transition:width .3s linear}.mdui-progress-indeterminate{background-color:#3f51b5}.mdui-progress-indeterminate::before{position:absolute;top:0;bottom:0;left:0;background-color:inherit;-webkit-animation:mdui-progress-indeterminate 2s linear infinite;animation:mdui-progress-indeterminate 2s linear infinite;content:' ';will-change:left,width}.mdui-progress-indeterminate::after{position:absolute;top:0;bottom:0;left:0;background-color:inherit;-webkit-animation:mdui-progress-indeterminate-short 2s linear infinite;animation:mdui-progress-indeterminate-short 2s linear infinite;content:' ';will-change:left,width}@-webkit-keyframes mdui-progress-indeterminate{0%{left:0;width:0}50%{left:30%;width:70%}75%{left:100%;width:0}}@keyframes mdui-progress-indeterminate{0%{left:0;width:0}50%{left:30%;width:70%}75%{left:100%;width:0}}@-webkit-keyframes mdui-progress-indeterminate-short{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}100%{left:100%;width:0}}@keyframes mdui-progress-indeterminate-short{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}100%{left:100%;width:0}}.mdui-theme-primary-amber .mdui-progress{background-color:rgba(255,193,7,.2)}.mdui-theme-primary-amber .mdui-progress-determinate,.mdui-theme-primary-amber .mdui-progress-indeterminate{background-color:#ffc107}.mdui-theme-primary-blue .mdui-progress{background-color:rgba(33,150,243,.2)}.mdui-theme-primary-blue .mdui-progress-determinate,.mdui-theme-primary-blue .mdui-progress-indeterminate{background-color:#2196f3}.mdui-theme-primary-blue-grey .mdui-progress{background-color:rgba(96,125,139,.2)}.mdui-theme-primary-blue-grey .mdui-progress-determinate,.mdui-theme-primary-blue-grey .mdui-progress-indeterminate{background-color:#607d8b}.mdui-theme-primary-brown .mdui-progress{background-color:rgba(121,85,72,.2)}.mdui-theme-primary-brown .mdui-progress-determinate,.mdui-theme-primary-brown .mdui-progress-indeterminate{background-color:#795548}.mdui-theme-primary-cyan .mdui-progress{background-color:rgba(0,188,212,.2)}.mdui-theme-primary-cyan .mdui-progress-determinate,.mdui-theme-primary-cyan .mdui-progress-indeterminate{background-color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-progress{background-color:rgba(255,87,34,.2)}.mdui-theme-primary-deep-orange .mdui-progress-determinate,.mdui-theme-primary-deep-orange .mdui-progress-indeterminate{background-color:#ff5722}.mdui-theme-primary-deep-purple .mdui-progress{background-color:rgba(103,58,183,.2)}.mdui-theme-primary-deep-purple .mdui-progress-determinate,.mdui-theme-primary-deep-purple .mdui-progress-indeterminate{background-color:#673ab7}.mdui-theme-primary-green .mdui-progress{background-color:rgba(76,175,80,.2)}.mdui-theme-primary-green .mdui-progress-determinate,.mdui-theme-primary-green .mdui-progress-indeterminate{background-color:#4caf50}.mdui-theme-primary-grey .mdui-progress{background-color:rgba(158,158,158,.2)}.mdui-theme-primary-grey .mdui-progress-determinate,.mdui-theme-primary-grey .mdui-progress-indeterminate{background-color:#9e9e9e}.mdui-theme-primary-indigo .mdui-progress{background-color:rgba(63,81,181,.2)}.mdui-theme-primary-indigo .mdui-progress-determinate,.mdui-theme-primary-indigo .mdui-progress-indeterminate{background-color:#3f51b5}.mdui-theme-primary-light-blue .mdui-progress{background-color:rgba(3,169,244,.2)}.mdui-theme-primary-light-blue .mdui-progress-determinate,.mdui-theme-primary-light-blue .mdui-progress-indeterminate{background-color:#03a9f4}.mdui-theme-primary-light-green .mdui-progress{background-color:rgba(139,195,74,.2)}.mdui-theme-primary-light-green .mdui-progress-determinate,.mdui-theme-primary-light-green .mdui-progress-indeterminate{background-color:#8bc34a}.mdui-theme-primary-lime .mdui-progress{background-color:rgba(205,220,57,.2)}.mdui-theme-primary-lime .mdui-progress-determinate,.mdui-theme-primary-lime .mdui-progress-indeterminate{background-color:#cddc39}.mdui-theme-primary-orange .mdui-progress{background-color:rgba(255,152,0,.2)}.mdui-theme-primary-orange .mdui-progress-determinate,.mdui-theme-primary-orange .mdui-progress-indeterminate{background-color:#ff9800}.mdui-theme-primary-pink .mdui-progress{background-color:rgba(233,30,99,.2)}.mdui-theme-primary-pink .mdui-progress-determinate,.mdui-theme-primary-pink .mdui-progress-indeterminate{background-color:#e91e63}.mdui-theme-primary-purple .mdui-progress{background-color:rgba(156,39,176,.2)}.mdui-theme-primary-purple .mdui-progress-determinate,.mdui-theme-primary-purple .mdui-progress-indeterminate{background-color:#9c27b0}.mdui-theme-primary-red .mdui-progress{background-color:rgba(244,67,54,.2)}.mdui-theme-primary-red .mdui-progress-determinate,.mdui-theme-primary-red .mdui-progress-indeterminate{background-color:#f44336}.mdui-theme-primary-teal .mdui-progress{background-color:rgba(0,150,136,.2)}.mdui-theme-primary-teal .mdui-progress-determinate,.mdui-theme-primary-teal .mdui-progress-indeterminate{background-color:#009688}.mdui-theme-primary-yellow .mdui-progress{background-color:rgba(255,235,59,.2)}.mdui-theme-primary-yellow .mdui-progress-determinate,.mdui-theme-primary-yellow .mdui-progress-indeterminate{background-color:#ffeb3b}.mdui-spinner{position:relative;display:inline-block;width:28px;height:28px;-webkit-animation:mdui-spinner 1568ms linear infinite;animation:mdui-spinner 1568ms linear infinite}@-webkit-keyframes mdui-spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mdui-spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.mdui-spinner-layer{position:absolute;width:100%;height:100%;border-color:#3f51b5;opacity:0;opacity:1;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-1{border-color:#42a5f5!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-2{border-color:#f44336!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-3{border-color:#fdd835!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-4{border-color:#4caf50!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes mdui-spinner-layer-fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes mdui-spinner-layer-fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes mdui-spinner-layer-1-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes mdui-spinner-layer-1-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes mdui-spinner-layer-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes mdui-spinner-layer-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes mdui-spinner-layer-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes mdui-spinner-layer-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes mdui-spinner-layer-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes mdui-spinner-layer-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.mdui-spinner-gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.mdui-spinner-gap-patch .mdui-spinner-circle{left:-450%;-webkit-box-sizing:border-box;box-sizing:border-box;width:1000%}.mdui-spinner-circle-clipper{position:relative;display:inline-block;width:50%;height:100%;overflow:hidden;border-color:inherit}.mdui-spinner-circle-clipper .mdui-spinner-circle{position:absolute;top:0;right:0;bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:200%;height:100%;border-color:inherit;border-style:solid;border-width:3px;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none}.mdui-spinner-circle-clipper.mdui-spinner-left{float:left}.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle{left:0;border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg);-webkit-animation:mdui-spinner-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-circle-clipper.mdui-spinner-right{float:right}.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg);-webkit-animation:mdui-spinner-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes mdui-spinner-left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@keyframes mdui-spinner-left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes mdui-spinner-right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}@keyframes mdui-spinner-right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}.mdui-theme-primary-amber .mdui-spinner-layer{border-color:#ffc107}.mdui-theme-primary-blue .mdui-spinner-layer{border-color:#2196f3}.mdui-theme-primary-blue-grey .mdui-spinner-layer{border-color:#607d8b}.mdui-theme-primary-brown .mdui-spinner-layer{border-color:#795548}.mdui-theme-primary-cyan .mdui-spinner-layer{border-color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-spinner-layer{border-color:#ff5722}.mdui-theme-primary-deep-purple .mdui-spinner-layer{border-color:#673ab7}.mdui-theme-primary-green .mdui-spinner-layer{border-color:#4caf50}.mdui-theme-primary-grey .mdui-spinner-layer{border-color:#9e9e9e}.mdui-theme-primary-indigo .mdui-spinner-layer{border-color:#3f51b5}.mdui-theme-primary-light-blue .mdui-spinner-layer{border-color:#03a9f4}.mdui-theme-primary-light-green .mdui-spinner-layer{border-color:#8bc34a}.mdui-theme-primary-lime .mdui-spinner-layer{border-color:#cddc39}.mdui-theme-primary-orange .mdui-spinner-layer{border-color:#ff9800}.mdui-theme-primary-pink .mdui-spinner-layer{border-color:#e91e63}.mdui-theme-primary-purple .mdui-spinner-layer{border-color:#9c27b0}.mdui-theme-primary-red .mdui-spinner-layer{border-color:#f44336}.mdui-theme-primary-teal .mdui-spinner-layer{border-color:#009688}.mdui-theme-primary-yellow .mdui-spinner-layer{border-color:#ffeb3b}.mdui-menu{position:fixed;z-index:99999;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:168px;margin:0;padding:8px 0;overflow-y:auto;color:rgba(0,0,0,.87);font-size:16px;list-style:none;background-color:#fff;border-radius:2px;-webkit-transform:scale(0);transform:scale(0);visibility:hidden;opacity:0;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,visibility,-webkit-transform;transition-property:opacity,visibility,-webkit-transform;transition-property:transform,opacity,visibility;transition-property:transform,opacity,visibility,-webkit-transform;will-change:transform,opacity,visibility;-webkit-overflow-scrolling:touch;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-menu .mdui-divider{margin-top:8px;margin-bottom:8px}.mdui-menu-open{-webkit-transform:scale(1);transform:scale(1);visibility:visible;opacity:1}.mdui-menu-closing{-webkit-transform:scale(1);transform:scale(1);visibility:visible;opacity:0}.mdui-menu-item{position:relative}.mdui-menu-item>a{position:relative;display:block;height:48px;padding:0 16px;color:inherit;line-height:48px;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mdui-menu-item>a:hover{background-color:#eee}.mdui-menu-item>.mdui-menu{position:absolute;-webkit-box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12);box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mdui-menu-item[disabled]>a{color:rgba(0,0,0,.38)!important;cursor:default}.mdui-menu-item[disabled]>a:hover{background-color:inherit!important}.mdui-menu-item[disabled]>a .mdui-icon{color:rgba(0,0,0,.26)}.mdui-menu-item-active{background-color:#eee}.mdui-menu-item-icon{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;width:40px;padding-right:16px;color:rgba(0,0,0,.54)}.mdui-menu-item-helper{float:right}.mdui-menu-item-more{float:right;width:24px;height:24px;margin:4px 0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' opacity='.54'/%3E%3C/svg%3E")}.mdui-menu-cascade{width:320px;padding:16px 0;overflow:visible;font-size:15px}.mdui-menu-cascade>.mdui-menu-item>a{height:32px;padding:0 24px;line-height:32px}.mdui-theme-layout-dark .mdui-menu{color:#fff;background-color:#424242}.mdui-theme-layout-dark .mdui-menu-item>a:hover{background-color:#616161}.mdui-theme-layout-dark .mdui-menu-item[disabled]>a{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-dark .mdui-menu-item[disabled]>a .mdui-icon{color:rgba(255,255,255,.3)}.mdui-theme-layout-dark .mdui-menu-item-active{background-color:#616161}.mdui-theme-layout-dark .mdui-menu-item-icon{color:#fff}.mdui-theme-layout-dark .mdui-menu-item-more{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){.mdui-theme-layout-auto .mdui-menu{color:#fff;background-color:#424242}.mdui-theme-layout-auto .mdui-menu-item>a:hover{background-color:#616161}.mdui-theme-layout-auto .mdui-menu-item[disabled]>a{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-auto .mdui-menu-item[disabled]>a .mdui-icon{color:rgba(255,255,255,.3)}.mdui-theme-layout-auto .mdui-menu-item-active{background-color:#616161}.mdui-theme-layout-auto .mdui-menu-item-icon{color:#fff}.mdui-theme-layout-auto .mdui-menu-item-more{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E")}} +/*# sourceMappingURL=mdui.min.css.map */ diff --git a/static/mdui/css/mdui.min.css.map b/static/mdui/css/mdui.min.css.map new file mode 100644 index 0000000..169ea77 --- /dev/null +++ b/static/mdui/css/mdui.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.css","../node_modules/normalize.css/normalize.css","styles/global.less","styles/mixin/helper.less","styles/mixin/layout-theme.less","styles/variable/shadow.less","styles/mixin/color.less","styles/color.less","styles/helper.less","styles/icon.less","styles/material-icons.less","styles/media.less","styles/mixin/media.less","styles/roboto.less","styles/typo-styles.less","styles/mixin/typo.less","styles/typo.less","styles/grid.less","styles/mixin/shadow.less","styles/shadow.less","components/headroom/index.less","components/collapse/index.less","components/panel/index.less","styles/mixin/divider.less","components/table/index.less","components/divider/index.less","components/ripple/index.less","components/textfield/index.less","components/selection_control/checkbox.less","components/selection_control/radio.less","components/selection_control/switch.less","components/slider/index.less","components/button/index.less","components/fab/index.less","components/select/index.less","components/toolbar/index.less","components/appbar/index.less","components/card/index.less","components/tab/index.less","components/subheader/index.less","components/grid_list/index.less","components/list/index.less","components/drawer/index.less","components/dialog/index.less","components/dialog/alert.less","components/dialog/confirm.less","components/dialog/prompt.less","components/tooltip/index.less","components/snackbar/index.less","components/chip/index.less","components/bottom_nav/index.less","components/progress/progress.less","components/progress/spinner.less","components/menu/index.less"],"names":[],"mappings":"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BAAA,kBAzCE,MAAA,eDHH,mDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oDC4CC,iBAAA,kBAzCE,MAAA,eDHH,oDC4CC,iBAAA,kBAzCE,MAAA,eDHH,oDC4CC,iBAAA,kBAzCE,MAAA,eDHH,oDC4CC,iBAAA,kBAzCE,MAAA,eDHH,oDC4CC,iBAAA,kBAzCE,MAAA,eDHH,oDC4CC,iBAAA,kBAzCE,MAAA,eDHH,4CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,2CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,8CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,kDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,kDC4CC,iBAAA,kBAzCE,MAAA,eDHH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,4CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,2CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,8CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,eAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,6CC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAzCE,MAAA,eDHH,qDC4CC,iBAAA,kBAzCE,MAAA,eDHH,qDC4CC,iBAAA,kBAzCE,MAAA,eDHH,kDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,2CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,8CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,6CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,2CC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,6CC4CC,iBAAA,kBAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,0CC4CC,iBAAA,kBAzCE,MAAA,eDHH,6CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,8CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,8CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,8CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,8CC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAzCE,MAAA,eDHH,2CC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,6CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,kDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,wDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,sDC4CC,iBAAA,kBAzCE,MAAA,eDHH,kDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,gDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,mDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,uDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qDC4CC,iBAAA,kBAzCE,MAAA,eDHH,wDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,mDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,+CC4CC,iBAAA,kBAzCE,MAAA,eDHH,mDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,eAzCE,MAAA,eDHH,gDC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,8CC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAzCE,MAAA,eDHH,8CC4CC,iBAAA,kBAzCE,MAAA,eDHH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+CC4CC,iBAAA,kBAtCE,MAAA,0BDNH,mDC4CC,iBAAA,eAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,eAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iDC4CC,iBAAA,kBAtCE,MAAA,0BDNH,kBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,iBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,yBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,0BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,0BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,0BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,0BC4CC,iBAAA,kBAzCE,MAAA,eDHH,0BC4CC,iBAAA,kBAzCE,MAAA,eDHH,0BC4CC,iBAAA,kBAzCE,MAAA,eDHH,0BC4CC,iBAAA,kBAzCE,MAAA,eDHH,0BC4CC,iBAAA,kBAzCE,MAAA,eDHH,0BC4CC,iBAAA,kBAzCE,MAAA,eDHH,kBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,iBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,2BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAzCE,MAAA,eDHH,2BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,kBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,iBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,eAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,mBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,0BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,2BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,2BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,2BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,2BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,2BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,2BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,2BC4CC,iBAAA,kBAzCE,MAAA,eDHH,2BC4CC,iBAAA,kBAzCE,MAAA,eDHH,2BC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,2BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,iBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,mBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,iBC4CC,iBAAA,kBAzCE,MAAA,eDHH,oBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,mBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,gBC4CC,iBAAA,kBAzCE,MAAA,eDHH,mBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,oBC4CC,iBAAA,kBAzCE,MAAA,eDHH,oBC4CC,iBAAA,kBAzCE,MAAA,eDHH,oBC4CC,iBAAA,kBAzCE,MAAA,eDHH,oBC4CC,iBAAA,kBAzCE,MAAA,eDHH,oBC4CC,iBAAA,kBAzCE,MAAA,eDHH,oBC4CC,iBAAA,kBAzCE,MAAA,eDHH,iBC4CC,iBAAA,kBAzCE,MAAA,eDHH,oBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,mBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,yBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,+BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,6BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,6BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,6BC4CC,iBAAA,kBAzCE,MAAA,eDHH,6BC4CC,iBAAA,kBAzCE,MAAA,eDHH,+BC4CC,iBAAA,kBAzCE,MAAA,eDHH,6BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,6BC4CC,iBAAA,kBAzCE,MAAA,eDHH,6BC4CC,iBAAA,kBAzCE,MAAA,eDHH,6BC4CC,iBAAA,kBAzCE,MAAA,eDHH,yBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,uBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,0BC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAzCE,MAAA,eDHH,8BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,4BC4CC,iBAAA,kBAzCE,MAAA,eDHH,+BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,6BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,6BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,6BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,6BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,0BC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,sBC4CC,iBAAA,kBAzCE,MAAA,eDHH,0BC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,eAzCE,MAAA,eDHH,uBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,qBC4CC,iBAAA,kBAzCE,MAAA,eDHH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,sBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,0BC4CC,iBAAA,eAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,eAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAtCE,MAAA,0BDNH,wBC4CC,iBAAA,kBAtCE,MAAA,0BCsJJ,kBACE,MAAA,eACA,iBAAA,eAGF,kBACE,MAAA,0BACA,iBAAA,eAGF,wBACE,iBAAA,sBFvKD,iDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,gDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,wDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,iDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,gDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,uDC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,uDC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,iDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,gDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,eD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,kDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,yDC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,uDC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,gDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,kDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,gDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,kDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,+CC4DG,MAAA,kBD5DH,kDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,gDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,kDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,uDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,6DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,6DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,uDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,qDC4DG,MAAA,kBD5DH,wDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,4DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,0DC4DG,MAAA,kBD5DH,6DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,2DC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,wDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,wDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,eD5DH,qDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,mDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,oDC4DG,MAAA,kBD5DH,wDC4DG,MAAA,eD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,eD5DH,sDC4DG,MAAA,kBD5DH,sDC4DG,MAAA,kBD5DH,uBC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,sBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,8BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,uBC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,sBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,uBC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,sBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,eD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,wBC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,gCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,sBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,wBC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,sBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,wBC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,qBC4DG,MAAA,kBD5DH,wBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,sBC4DG,MAAA,kBD5DH,yBC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,wBC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,8BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,oCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,oCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,8BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,4BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,mCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,iCC4DG,MAAA,kBD5DH,oCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,kCC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,eD5DH,4BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,0BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,2BC4DG,MAAA,kBD5DH,+BC4DG,MAAA,eD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,eD5DH,6BC4DG,MAAA,kBD5DH,6BC4DG,MAAA,kBC+PJ,uBACE,MAAA,eAEF,4BPsqIA,4BOpqIE,MAAA,0BAEF,iCPsqIA,iCOpqIE,MAAA,0BAEF,gCPsqIA,gCOpqIE,MAAA,0BAEF,+BPsqIA,+BOpqIE,MAAA,0BAEF,4BPsqIA,4BOpqIE,MAAA,0BAEF,qCPsqIA,qCOpqIE,MAAA,0BAOF,uBACE,MAAA,eAEF,4BACE,MAAA,eAEF,iCACE,MAAA,+BAEF,gCACE,MAAA,+BAEF,+BACE,MAAA,gCAEF,4BACE,MAAA,eAEF,qCACE,MAAA,+BH5WE,oDGoXA,MAAA,eHpXA,yDGuXA,MAAA,+BHvXA,wDG0XA,MAAA,+BH1XA,uDG6XA,MAAA,gCH7XA,oDGgYA,MAAA,eHhYA,6DGmYA,MAAA,+BH9XA,mCACE,oDG8WF,MAAA,eH9WE,yDGiXF,MAAA,+BHjXE,wDGoXF,MAAA,+BHpXE,uDGuXF,MAAA,gCHvXE,oDG0XF,MAAA,eH1XE,6DG6XF,MAAA,gCFrYH,YFEC,OAAA,YEFD,YFKC,WAAA,YELD,YFQC,aAAA,YERD,YFWC,cAAA,YEXD,YFcC,YAAA,YEdD,YFiBC,aAAA,YACA,YAAA,YElBD,YFqBC,WAAA,YACA,cAAA,YEtBD,YF0BC,QAAA,YE1BD,YF6BC,YAAA,YE7BD,YFgCC,cAAA,YEhCD,YFmCC,eAAA,YEnCD,YFsCC,aAAA,YEtCD,YFyCC,cAAA,YACA,aAAA,YE1CD,YF6CC,YAAA,YACA,eAAA,YE9CD,YFEC,OAAA,cEFD,YFKC,WAAA,cELD,YFQC,aAAA,cERD,YFWC,cAAA,cEXD,YFcC,YAAA,cEdD,YFiBC,aAAA,cACA,YAAA,cElBD,YFqBC,WAAA,cACA,cAAA,cEtBD,YF0BC,QAAA,cE1BD,YF6BC,YAAA,cE7BD,YFgCC,cAAA,cEhCD,YFmCC,eAAA,cEnCD,YFsCC,aAAA,cEtCD,YFyCC,cAAA,cACA,aAAA,cE1CD,YF6CC,YAAA,cACA,eAAA,cE9CD,YFEC,OAAA,eEFD,YFKC,WAAA,eELD,YFQC,aAAA,eERD,YFWC,cAAA,eEXD,YFcC,YAAA,eEdD,YFiBC,aAAA,eACA,YAAA,eElBD,YFqBC,WAAA,eACA,cAAA,eEtBD,YF0BC,QAAA,eE1BD,YF6BC,YAAA,eE7BD,YFgCC,cAAA,eEhCD,YFmCC,eAAA,eEnCD,YFsCC,aAAA,eEtCD,YFyCC,cAAA,eACA,aAAA,eE1CD,YF6CC,YAAA,eACA,eAAA,eE9CD,YFEC,OAAA,eEFD,YFKC,WAAA,eELD,YFQC,aAAA,eERD,YFWC,cAAA,eEXD,YFcC,YAAA,eEdD,YFiBC,aAAA,eACA,YAAA,eElBD,YFqBC,WAAA,eACA,cAAA,eEtBD,YF0BC,QAAA,eE1BD,YF6BC,YAAA,eE7BD,YFgCC,cAAA,eEhCD,YFmCC,eAAA,eEnCD,YFsCC,aAAA,eEtCD,YFyCC,cAAA,eACA,aAAA,eE1CD,YF6CC,YAAA,eACA,eAAA,eE9CD,YFEC,OAAA,eEFD,YFKC,WAAA,eELD,YFQC,aAAA,eERD,YFWC,cAAA,eEXD,YFcC,YAAA,eEdD,YFiBC,aAAA,eACA,YAAA,eElBD,YFqBC,WAAA,eACA,cAAA,eEtBD,YF0BC,QAAA,eE1BD,YF6BC,YAAA,eE7BD,YFgCC,cAAA,eEhCD,YFmCC,eAAA,eEnCD,YFsCC,aAAA,eEtCD,YFyCC,cAAA,eACA,aAAA,eE1CD,YF6CC,YAAA,eACA,eAAA,eE9CD,YFEC,OAAA,eEFD,YFKC,WAAA,eELD,YFQC,aAAA,eERD,YFWC,cAAA,eEXD,YFcC,YAAA,eEdD,YFiBC,aAAA,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KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,MZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,IZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,UZ5DH,gBY+CG,MAAA,KACA,MAAA,KZhDH,uBYqDG,YAAA,KZrDH,0BY2DG,MAAA,KACA,MAAA,UA2EJ,yBZvIC,eY+CG,MAAA,KACA,MAAA,UZhDH,sBYqDG,YAAA,UZrDH,yBY2DG,MAAA,KACA,MAAA,KZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,MZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,IZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,UZ5DH,gBY+CG,MAAA,KACA,MAAA,KZhDH,uBYqDG,YAAA,KZrDH,0BY2DG,MAAA,KACA,MAAA,WA+EJ,0BZ3IC,eY+CG,MAAA,KACA,MAAA,UZhDH,sBYqDG,YAAA,UZrDH,yBY2DG,MAAA,KACA,MAAA,KZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,MZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,IZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,UZ5DH,gBY+CG,MAAA,KACA,MAAA,KZhDH,uBYqDG,YAAA,KZrDH,0BY2DG,MAAA,KACA,MAAA,WAmFJ,0BZ/IC,eY+CG,MAAA,KACA,MAAA,UZhDH,sBYqDG,YAAA,UZrDH,yBY2DG,MAAA,KACA,MAAA,KZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,MZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,IZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,UZ5DH,gBY+CG,MAAA,KACA,MAAA,KZhDH,uBYqDG,YAAA,KZrDH,0BY2DG,MAAA,KACA,MAAA,WAuFJ,0BZnJC,eY+CG,MAAA,KACA,MAAA,UZhDH,sBYqDG,YAAA,UZrDH,yBY2DG,MAAA,KACA,MAAA,KZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,IZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,eY+CG,MAAA,KACA,MAAA,WZhDH,sBYqDG,YAAA,WZrDH,yBY2DG,MAAA,KACA,MAAA,MZ5DH,eY+CG,MAAA,KACA,MAAA,IZhDH,sBYqDG,YAAA,IZrDH,yBY2DG,MAAA,KACA,MAAA,WZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,IZ5DH,gBY+CG,MAAA,KACA,MAAA,WZhDH,uBYqDG,YAAA,WZrDH,0BY2DG,MAAA,KACA,MAAA,UZ5DH,gBY+CG,MAAA,KACA,MAAA,KZhDH,uBYqDG,YAAA,KZrDH,0BY2DG,MAAA,KACA,MAAA,WZ5DH,eaIC,mBAAA,eAAA,WAAA,ebJD,eaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,0BbJD,eaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,0BbJD,eaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,0BbJD,eaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,0BbJD,eaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,0BbJD,eaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,0BbJD,eaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,eaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,eaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BbJD,gBaIC,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,0BAAA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,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,qDACE,GACE,KAAA,EACA,MAAA,EAEF,IACE,KAAA,EACA,MAAA,EAEF,IACE,KAAA,EACA,MAAA,IAEF,KACE,KAAA,KACA,MAAA,GAfJ,6CACE,GACE,KAAA,EACA,MAAA,EAEF,IACE,KAAA,EACA,MAAA,EAEF,IACE,KAAA,EACA,MAAA,IAEF,KACE,KAAA,KACA,MAAA,G9CpFH,yC8CsGO,iBAAA,mB9CtGP,qDLigZD,uDMr9YE,iBAAA,QD5CD,wC8CsGO,iBAAA,oB9CtGP,oDLwgZD,sDM59YE,iBAAA,QD5CD,6C8CsGO,iBAAA,oB9CtGP,yDL+gZD,2DMn+YE,iBAAA,QD5CD,yC8CsGO,iBAAA,mB9CtGP,qDLshZD,uDM1+YE,iBAAA,QD5CD,wC8CsGO,iBAAA,mB9CtGP,oDL6hZD,sDMj/YE,iBAAA,QD5CD,+C8CsGO,iBAAA,mB9CtGP,2DLoiZD,6DMx/YE,iBAAA,QD5CD,+C8CsGO,iBAAA,oB9CtGP,2DL2iZD,6DM//YE,iBAAA,QD5CD,yC8CsGO,iBAAA,mB9CtGP,qDLkjZD,uDMtgZE,iBAAA,QD5CD,wC8CsGO,iBAAA,qB9CtGP,oDLyjZD,sDM7gZE,iBAAA,QD5CD,0C8CsGO,iBAAA,mB9CtGP,sDLgkZD,wDMphZE,iBAAA,QD5CD,8C8CsGO,iBAAA,mB9CtGP,0DLukZD,4DM3hZE,iBAAA,QD5CD,+C8CsGO,iBAAA,oB9CtGP,2DL8kZD,6DMliZE,iBAAA,QD5CD,wC8CsGO,iBAAA,oB9CtGP,oDLqlZD,sDMziZE,iBAAA,QD5CD,0C8CsGO,iBAAA,mB9CtGP,sDL4lZD,wDMhjZE,iBAAA,QD5CD,wC8CsGO,iBAAA,mB9CtGP,oDLmmZD,sDMvjZE,iBAAA,QD5CD,0C8CsGO,iBAAA,oB9CtGP,sDL0mZD,wDM9jZE,iBAAA,QD5CD,uC8CsGO,iBAAA,mB9CtGP,mDLinZD,qDMrkZE,iBAAA,QD5CD,wC8CsGO,iBAAA,mB9CtGP,oDLwnZD,sDM5kZE,iBAAA,QD5CD,0C8CsGO,iBAAA,oB9CtGP,sDL+nZD,wDMnlZE,iBAAA,Q8CtCF,cACE,SAAA,SACA,QAAA,aACA,MAAA,KACA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","file":"mdui.min.css","sourcesContent":["/*!\n * mdui 1.0.1 (https://mdui.org)\n * Copyright 2016-2020 zdhxiong\n * Licensed under MIT\n *//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\n/**\n * =============================================================================\n * ************ 公共样式 ************\n * =============================================================================\n */\n* {\n -webkit-tap-highlight-color: transparent;\n}\nbody {\n color: rgba(0, 0, 0, 0.87);\n font-size: 14px;\n font-family: Roboto, Noto, Helvetica, Arial, sans-serif;\n background-color: #fff;\n}\n@media (min-width: 600px) {\n body {\n font-size: 14.5px;\n }\n}\n@media (min-width: 1024px) {\n body {\n font-size: 15px;\n }\n}\nbody *::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n}\n@media (min-width: 1024px) {\n body *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\nbody *::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n}\n/* 锁定屏幕 */\nbody.mdui-locked {\n overflow: hidden;\n}\n/* 遮罩层 */\n.mdui-overlay {\n position: fixed;\n top: -5000px;\n right: -5000px;\n bottom: -5000px;\n left: -5000px;\n z-index: 2000;\n background: rgba(0, 0, 0, 0.4);\n backface-visibility: hidden;\n visibility: hidden;\n opacity: 0;\n transition-duration: 0.3s;\n transition-property: opacity, visibility;\n will-change: opacity;\n}\n/* 显示遮罩层 */\n.mdui-overlay-show {\n visibility: visible;\n opacity: 1;\n}\n/* 取消 transition 过渡效果 */\n.mdui-no-transition {\n transition-property: none !important;\n}\n/**\n * =============================================================================\n * ************ Global dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark {\n color: #fff;\n background-color: #303030;\n}\n.mdui-theme-layout-dark *::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n}\n@media (min-width: 1024px) {\n .mdui-theme-layout-dark *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\n.mdui-theme-layout-dark *::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto {\n color: #fff;\n background-color: #303030;\n }\n .mdui-theme-layout-auto *::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n }\n .mdui-theme-layout-auto *::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n }\n}\n@media (prefers-color-scheme: dark) and (min-width: 1024px) {\n .mdui-theme-layout-auto *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\n/**\n * =============================================================================\n * ************ Color 颜色 ************\n * =============================================================================\n */\n/**\n * .mdui-theme-primary-[color] .mdui-color-theme\n * .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n */\n.mdui-theme-primary-amber .mdui-color-theme {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-50 {\n background-color: #FFF8E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-100 {\n background-color: #FFECB3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-200 {\n background-color: #FFE082 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-300 {\n background-color: #FFD54F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-400 {\n background-color: #FFCA28 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-500 {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-600 {\n background-color: #FFB300 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-700 {\n background-color: #FFA000 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-800 {\n background-color: #FF8F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-900 {\n background-color: #FF6F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-50 {\n background-color: #E3F2FD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-100 {\n background-color: #BBDEFB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-200 {\n background-color: #90CAF9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-300 {\n background-color: #64B5F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-400 {\n background-color: #42A5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-500 {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-600 {\n background-color: #1E88E5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-700 {\n background-color: #1976D2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-800 {\n background-color: #1565C0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-900 {\n background-color: #0D47A1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-50 {\n background-color: #ECEFF1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-100 {\n background-color: #CFD8DC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-200 {\n background-color: #B0BEC5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-300 {\n background-color: #90A4AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-400 {\n background-color: #78909C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-500 {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-600 {\n background-color: #546E7A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-700 {\n background-color: #455A64 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-800 {\n background-color: #37474F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-900 {\n background-color: #263238 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-50 {\n background-color: #EFEBE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-100 {\n background-color: #D7CCC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-200 {\n background-color: #BCAAA4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-300 {\n background-color: #A1887F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-400 {\n background-color: #8D6E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-500 {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-600 {\n background-color: #6D4C41 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-700 {\n background-color: #5D4037 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-800 {\n background-color: #4E342E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-900 {\n background-color: #3E2723 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-50 {\n background-color: #E0F7FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-100 {\n background-color: #B2EBF2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-200 {\n background-color: #80DEEA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-300 {\n background-color: #4DD0E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-400 {\n background-color: #26C6DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-500 {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-600 {\n background-color: #00ACC1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-700 {\n background-color: #0097A7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-800 {\n background-color: #00838F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-900 {\n background-color: #006064 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-50 {\n background-color: #FBE9E7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-100 {\n background-color: #FFCCBC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-200 {\n background-color: #FFAB91 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-300 {\n background-color: #FF8A65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-400 {\n background-color: #FF7043 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-500 {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-600 {\n background-color: #F4511E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-700 {\n background-color: #E64A19 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-800 {\n background-color: #D84315 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-900 {\n background-color: #BF360C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-50 {\n background-color: #EDE7F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-100 {\n background-color: #D1C4E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-200 {\n background-color: #B39DDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-300 {\n background-color: #9575CD !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-400 {\n background-color: #7E57C2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-500 {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-600 {\n background-color: #5E35B1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-700 {\n background-color: #512DA8 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-800 {\n background-color: #4527A0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-900 {\n background-color: #311B92 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-50 {\n background-color: #E8F5E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-100 {\n background-color: #C8E6C9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-200 {\n background-color: #A5D6A7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-300 {\n background-color: #81C784 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-400 {\n background-color: #66BB6A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-500 {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-600 {\n background-color: #43A047 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-700 {\n background-color: #388E3C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-800 {\n background-color: #2E7D32 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-900 {\n background-color: #1B5E20 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-50 {\n background-color: #FAFAFA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-100 {\n background-color: #F5F5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-200 {\n background-color: #EEEEEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-300 {\n background-color: #E0E0E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-400 {\n background-color: #BDBDBD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-500 {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-600 {\n background-color: #757575 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-700 {\n background-color: #616161 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-800 {\n background-color: #424242 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-900 {\n background-color: #212121 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-50 {\n background-color: #E8EAF6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-100 {\n background-color: #C5CAE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-200 {\n background-color: #9FA8DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-300 {\n background-color: #7986CB !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-400 {\n background-color: #5C6BC0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-500 {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-600 {\n background-color: #3949AB !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-700 {\n background-color: #303F9F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-800 {\n background-color: #283593 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-900 {\n background-color: #1A237E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-50 {\n background-color: #E1F5FE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-100 {\n background-color: #B3E5FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-200 {\n background-color: #81D4FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-300 {\n background-color: #4FC3F7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-400 {\n background-color: #29B6F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-500 {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-600 {\n background-color: #039BE5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-700 {\n background-color: #0288D1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-800 {\n background-color: #0277BD !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-900 {\n background-color: #01579B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-50 {\n background-color: #F1F8E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-100 {\n background-color: #DCEDC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-200 {\n background-color: #C5E1A5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-300 {\n background-color: #AED581 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-400 {\n background-color: #9CCC65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-500 {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-600 {\n background-color: #7CB342 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-700 {\n background-color: #689F38 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-800 {\n background-color: #558B2F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-900 {\n background-color: #33691E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-50 {\n background-color: #F9FBE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-100 {\n background-color: #F0F4C3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-200 {\n background-color: #E6EE9C !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-300 {\n background-color: #DCE775 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-400 {\n background-color: #D4E157 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-500 {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-600 {\n background-color: #C0CA33 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-700 {\n background-color: #AFB42B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-800 {\n background-color: #9E9D24 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-900 {\n background-color: #827717 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-50 {\n background-color: #FFF3E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-100 {\n background-color: #FFE0B2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-200 {\n background-color: #FFCC80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-300 {\n background-color: #FFB74D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-400 {\n background-color: #FFA726 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-500 {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-600 {\n background-color: #FB8C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-700 {\n background-color: #F57C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-800 {\n background-color: #EF6C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-900 {\n background-color: #E65100 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-50 {\n background-color: #FCE4EC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-100 {\n background-color: #F8BBD0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-200 {\n background-color: #F48FB1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-300 {\n background-color: #F06292 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-400 {\n background-color: #EC407A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-500 {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-600 {\n background-color: #D81B60 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-700 {\n background-color: #C2185B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-800 {\n background-color: #AD1457 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-900 {\n background-color: #880E4F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-50 {\n background-color: #F3E5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-100 {\n background-color: #E1BEE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-200 {\n background-color: #CE93D8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-300 {\n background-color: #BA68C8 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-400 {\n background-color: #AB47BC !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-500 {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-600 {\n background-color: #8E24AA !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-700 {\n background-color: #7B1FA2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-800 {\n background-color: #6A1B9A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-900 {\n background-color: #4A148C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-50 {\n background-color: #FFEBEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-100 {\n background-color: #FFCDD2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-200 {\n background-color: #EF9A9A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-300 {\n background-color: #E57373 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-400 {\n background-color: #EF5350 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-500 {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-600 {\n background-color: #E53935 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-700 {\n background-color: #D32F2F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-800 {\n background-color: #C62828 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-900 {\n background-color: #B71C1C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-50 {\n background-color: #E0F2F1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-100 {\n background-color: #B2DFDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-200 {\n background-color: #80CBC4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-300 {\n background-color: #4DB6AC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-400 {\n background-color: #26A69A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-500 {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-600 {\n background-color: #00897B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-700 {\n background-color: #00796B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-800 {\n background-color: #00695C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-900 {\n background-color: #004D40 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-50 {\n background-color: #FFFDE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-100 {\n background-color: #FFF9C4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-200 {\n background-color: #FFF59D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-300 {\n background-color: #FFF176 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-400 {\n background-color: #FFEE58 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-500 {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-600 {\n background-color: #FDD835 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-700 {\n background-color: #FBC02D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-800 {\n background-color: #F9A825 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-900 {\n background-color: #F57F17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-theme-accent-[color] .mdui-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n */\n.mdui-theme-accent-amber .mdui-color-theme-accent {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a100 {\n background-color: #FFE57F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a200 {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a400 {\n background-color: #FFC400 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a700 {\n background-color: #FFAB00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-accent {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a100 {\n background-color: #82B1FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a200 {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a400 {\n background-color: #2979FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a700 {\n background-color: #2962FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-accent {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a100 {\n background-color: #84FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a200 {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a400 {\n background-color: #00E5FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a700 {\n background-color: #00B8D4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-accent {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a100 {\n background-color: #FF9E80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a200 {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a400 {\n background-color: #FF3D00 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a700 {\n background-color: #DD2C00 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-accent {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a100 {\n background-color: #B388FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a200 {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a400 {\n background-color: #651FFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a700 {\n background-color: #6200EA !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-accent {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a100 {\n background-color: #B9F6CA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a200 {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a400 {\n background-color: #00E676 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a700 {\n background-color: #00C853 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-accent {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a100 {\n background-color: #8C9EFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a200 {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a400 {\n background-color: #3D5AFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a700 {\n background-color: #304FFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-accent {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a100 {\n background-color: #80D8FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a200 {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a400 {\n background-color: #00B0FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a700 {\n background-color: #0091EA !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-accent {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a100 {\n background-color: #CCFF90 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a200 {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a400 {\n background-color: #76FF03 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a700 {\n background-color: #64DD17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-accent {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a100 {\n background-color: #F4FF81 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a200 {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a400 {\n background-color: #C6FF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a700 {\n background-color: #AEEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-accent {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a100 {\n background-color: #FFD180 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a200 {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a400 {\n background-color: #FF9100 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a700 {\n background-color: #FF6D00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-accent {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a100 {\n background-color: #FF80AB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a200 {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a400 {\n background-color: #F50057 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a700 {\n background-color: #C51162 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-accent {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a100 {\n background-color: #EA80FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a200 {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a400 {\n background-color: #D500F9 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a700 {\n background-color: #AA00FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-accent {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a100 {\n background-color: #FF8A80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a200 {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a400 {\n background-color: #FF1744 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a700 {\n background-color: #D50000 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-accent {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a100 {\n background-color: #A7FFEB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a200 {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a400 {\n background-color: #1DE9B6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a700 {\n background-color: #00BFA5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-accent {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a100 {\n background-color: #FFFF8D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a200 {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a400 {\n background-color: #FFEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a700 {\n background-color: #FFD600 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-[color]\n * .mdui-color-[color]-[degree]\n */\n.mdui-color-amber {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-50 {\n background-color: #FFF8E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-100 {\n background-color: #FFECB3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-200 {\n background-color: #FFE082 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-300 {\n background-color: #FFD54F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-400 {\n background-color: #FFCA28 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-500 {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-600 {\n background-color: #FFB300 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-700 {\n background-color: #FFA000 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-800 {\n background-color: #FF8F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-900 {\n background-color: #FF6F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-50 {\n background-color: #E3F2FD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-100 {\n background-color: #BBDEFB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-200 {\n background-color: #90CAF9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-300 {\n background-color: #64B5F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-400 {\n background-color: #42A5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-500 {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-600 {\n background-color: #1E88E5 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-700 {\n background-color: #1976D2 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-800 {\n background-color: #1565C0 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-900 {\n background-color: #0D47A1 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-50 {\n background-color: #ECEFF1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-100 {\n background-color: #CFD8DC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-200 {\n background-color: #B0BEC5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-300 {\n background-color: #90A4AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-400 {\n background-color: #78909C !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-500 {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-600 {\n background-color: #546E7A !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-700 {\n background-color: #455A64 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-800 {\n background-color: #37474F !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-900 {\n background-color: #263238 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-50 {\n background-color: #EFEBE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-100 {\n background-color: #D7CCC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-200 {\n background-color: #BCAAA4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-300 {\n background-color: #A1887F !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-400 {\n background-color: #8D6E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-500 {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-600 {\n background-color: #6D4C41 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-700 {\n background-color: #5D4037 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-800 {\n background-color: #4E342E !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-900 {\n background-color: #3E2723 !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-50 {\n background-color: #E0F7FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-100 {\n background-color: #B2EBF2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-200 {\n background-color: #80DEEA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-300 {\n background-color: #4DD0E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-400 {\n background-color: #26C6DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-500 {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-600 {\n background-color: #00ACC1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-700 {\n background-color: #0097A7 !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-800 {\n background-color: #00838F !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-900 {\n background-color: #006064 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-50 {\n background-color: #FBE9E7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-100 {\n background-color: #FFCCBC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-200 {\n background-color: #FFAB91 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-300 {\n background-color: #FF8A65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-400 {\n background-color: #FF7043 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-500 {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-600 {\n background-color: #F4511E !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-700 {\n background-color: #E64A19 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-800 {\n background-color: #D84315 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-900 {\n background-color: #BF360C !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-50 {\n background-color: #EDE7F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-100 {\n background-color: #D1C4E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-200 {\n background-color: #B39DDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-300 {\n background-color: #9575CD !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-400 {\n background-color: #7E57C2 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-500 {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-600 {\n background-color: #5E35B1 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-700 {\n background-color: #512DA8 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-800 {\n background-color: #4527A0 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-900 {\n background-color: #311B92 !important;\n color: #ffffff !important;\n}\n.mdui-color-green {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-50 {\n background-color: #E8F5E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-100 {\n background-color: #C8E6C9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-200 {\n background-color: #A5D6A7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-300 {\n background-color: #81C784 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-400 {\n background-color: #66BB6A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-500 {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-600 {\n background-color: #43A047 !important;\n color: #ffffff !important;\n}\n.mdui-color-green-700 {\n background-color: #388E3C !important;\n color: #ffffff !important;\n}\n.mdui-color-green-800 {\n background-color: #2E7D32 !important;\n color: #ffffff !important;\n}\n.mdui-color-green-900 {\n background-color: #1B5E20 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-50 {\n background-color: #FAFAFA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-100 {\n background-color: #F5F5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-200 {\n background-color: #EEEEEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-300 {\n background-color: #E0E0E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-400 {\n background-color: #BDBDBD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-500 {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-600 {\n background-color: #757575 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-700 {\n background-color: #616161 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-800 {\n background-color: #424242 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-900 {\n background-color: #212121 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-50 {\n background-color: #E8EAF6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-100 {\n background-color: #C5CAE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-200 {\n background-color: #9FA8DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-300 {\n background-color: #7986CB !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-400 {\n background-color: #5C6BC0 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-500 {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-600 {\n background-color: #3949AB !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-700 {\n background-color: #303F9F !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-800 {\n background-color: #283593 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-900 {\n background-color: #1A237E !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-50 {\n background-color: #E1F5FE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-100 {\n background-color: #B3E5FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-200 {\n background-color: #81D4FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-300 {\n background-color: #4FC3F7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-400 {\n background-color: #29B6F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-500 {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-600 {\n background-color: #039BE5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-700 {\n background-color: #0288D1 !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-800 {\n background-color: #0277BD !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-900 {\n background-color: #01579B !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-50 {\n background-color: #F1F8E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-100 {\n background-color: #DCEDC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-200 {\n background-color: #C5E1A5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-300 {\n background-color: #AED581 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-400 {\n background-color: #9CCC65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-500 {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-600 {\n background-color: #7CB342 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-700 {\n background-color: #689F38 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-800 {\n background-color: #558B2F !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green-900 {\n background-color: #33691E !important;\n color: #ffffff !important;\n}\n.mdui-color-lime {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-50 {\n background-color: #F9FBE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-100 {\n background-color: #F0F4C3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-200 {\n background-color: #E6EE9C !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-300 {\n background-color: #DCE775 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-400 {\n background-color: #D4E157 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-500 {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-600 {\n background-color: #C0CA33 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-700 {\n background-color: #AFB42B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-800 {\n background-color: #9E9D24 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-900 {\n background-color: #827717 !important;\n color: #ffffff !important;\n}\n.mdui-color-orange {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-50 {\n background-color: #FFF3E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-100 {\n background-color: #FFE0B2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-200 {\n background-color: #FFCC80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-300 {\n background-color: #FFB74D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-400 {\n background-color: #FFA726 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-500 {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-600 {\n background-color: #FB8C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-700 {\n background-color: #F57C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-800 {\n background-color: #EF6C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-900 {\n background-color: #E65100 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-50 {\n background-color: #FCE4EC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-100 {\n background-color: #F8BBD0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-200 {\n background-color: #F48FB1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-300 {\n background-color: #F06292 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-400 {\n background-color: #EC407A !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-500 {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-600 {\n background-color: #D81B60 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-700 {\n background-color: #C2185B !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-800 {\n background-color: #AD1457 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-900 {\n background-color: #880E4F !important;\n color: #ffffff !important;\n}\n.mdui-color-purple {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-50 {\n background-color: #F3E5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-100 {\n background-color: #E1BEE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-200 {\n background-color: #CE93D8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-300 {\n background-color: #BA68C8 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-400 {\n background-color: #AB47BC !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-500 {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-600 {\n background-color: #8E24AA !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-700 {\n background-color: #7B1FA2 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-800 {\n background-color: #6A1B9A !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-900 {\n background-color: #4A148C !important;\n color: #ffffff !important;\n}\n.mdui-color-red {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-50 {\n background-color: #FFEBEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-100 {\n background-color: #FFCDD2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-200 {\n background-color: #EF9A9A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-300 {\n background-color: #E57373 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-400 {\n background-color: #EF5350 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-500 {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-600 {\n background-color: #E53935 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-700 {\n background-color: #D32F2F !important;\n color: #ffffff !important;\n}\n.mdui-color-red-800 {\n background-color: #C62828 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-900 {\n background-color: #B71C1C !important;\n color: #ffffff !important;\n}\n.mdui-color-teal {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-50 {\n background-color: #E0F2F1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-100 {\n background-color: #B2DFDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-200 {\n background-color: #80CBC4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-300 {\n background-color: #4DB6AC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-400 {\n background-color: #26A69A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-500 {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-600 {\n background-color: #00897B !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-700 {\n background-color: #00796B !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-800 {\n background-color: #00695C !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-900 {\n background-color: #004D40 !important;\n color: #ffffff !important;\n}\n.mdui-color-yellow {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-50 {\n background-color: #FFFDE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-100 {\n background-color: #FFF9C4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-200 {\n background-color: #FFF59D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-300 {\n background-color: #FFF176 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-400 {\n background-color: #FFEE58 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-500 {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-600 {\n background-color: #FDD835 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-700 {\n background-color: #FBC02D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-800 {\n background-color: #F9A825 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-900 {\n background-color: #F57F17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-[color]-accent\n * .mdui-color-[color]-[degree]\n */\n.mdui-color-amber-accent {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a100 {\n background-color: #FFE57F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a200 {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a400 {\n background-color: #FFC400 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a700 {\n background-color: #FFAB00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-accent {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a100 {\n background-color: #82B1FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-a200 {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a400 {\n background-color: #2979FF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a700 {\n background-color: #2962FF !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-accent {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a100 {\n background-color: #84FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a200 {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a400 {\n background-color: #00E5FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a700 {\n background-color: #00B8D4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-accent {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a100 {\n background-color: #FF9E80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a200 {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a400 {\n background-color: #FF3D00 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-a700 {\n background-color: #DD2C00 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-accent {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a100 {\n background-color: #B388FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-a200 {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a400 {\n background-color: #651FFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a700 {\n background-color: #6200EA !important;\n color: #ffffff !important;\n}\n.mdui-color-green-accent {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a100 {\n background-color: #B9F6CA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a200 {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a400 {\n background-color: #00E676 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a700 {\n background-color: #00C853 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-accent {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a100 {\n background-color: #8C9EFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-a200 {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a400 {\n background-color: #3D5AFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a700 {\n background-color: #304FFE !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-accent {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a100 {\n background-color: #80D8FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a200 {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a400 {\n background-color: #00B0FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a700 {\n background-color: #0091EA !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green-accent {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a100 {\n background-color: #CCFF90 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a200 {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a400 {\n background-color: #76FF03 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a700 {\n background-color: #64DD17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-accent {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a100 {\n background-color: #F4FF81 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a200 {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a400 {\n background-color: #C6FF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a700 {\n background-color: #AEEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-accent {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a100 {\n background-color: #FFD180 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a200 {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a400 {\n background-color: #FF9100 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a700 {\n background-color: #FF6D00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-accent {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a100 {\n background-color: #FF80AB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-a200 {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a400 {\n background-color: #F50057 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a700 {\n background-color: #C51162 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-accent {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a100 {\n background-color: #EA80FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-a200 {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a400 {\n background-color: #D500F9 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a700 {\n background-color: #AA00FF !important;\n color: #ffffff !important;\n}\n.mdui-color-red-accent {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a100 {\n background-color: #FF8A80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-a200 {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a400 {\n background-color: #FF1744 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a700 {\n background-color: #D50000 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-accent {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a100 {\n background-color: #A7FFEB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a200 {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a400 {\n background-color: #1DE9B6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a700 {\n background-color: #00BFA5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-accent {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a100 {\n background-color: #FFFF8D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a200 {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a400 {\n background-color: #FFEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a700 {\n background-color: #FFD600 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-black\n * .mdui-color-white\n * .mdui-color-transparent\n */\n.mdui-color-black {\n color: #ffffff !important;\n background-color: #000000 !important;\n}\n.mdui-color-white {\n color: rgba(0, 0, 0, 0.87) !important;\n background-color: #FFFFFF !important;\n}\n.mdui-color-transparent {\n background-color: transparent !important;\n}\n/**\n * .mdui-theme-primary-[color] .mdui-text-color-theme\n * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n */\n.mdui-theme-primary-amber .mdui-text-color-theme {\n color: #FFC107 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-50 {\n color: #FFF8E1 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-100 {\n color: #FFECB3 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-200 {\n color: #FFE082 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-300 {\n color: #FFD54F !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-400 {\n color: #FFCA28 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-500 {\n color: #FFC107 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-600 {\n color: #FFB300 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-700 {\n color: #FFA000 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-800 {\n color: #FF8F00 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-900 {\n color: #FF6F00 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme {\n color: #2196F3 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-50 {\n color: #E3F2FD !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-100 {\n color: #BBDEFB !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-200 {\n color: #90CAF9 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-300 {\n color: #64B5F6 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-400 {\n color: #42A5F5 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-500 {\n color: #2196F3 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-600 {\n color: #1E88E5 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-700 {\n color: #1976D2 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-800 {\n color: #1565C0 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-900 {\n color: #0D47A1 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme {\n color: #607D8B !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-50 {\n color: #ECEFF1 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-100 {\n color: #CFD8DC !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-200 {\n color: #B0BEC5 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-300 {\n color: #90A4AE !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-400 {\n color: #78909C !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-500 {\n color: #607D8B !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-600 {\n color: #546E7A !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-700 {\n color: #455A64 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-800 {\n color: #37474F !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-900 {\n color: #263238 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme {\n color: #795548 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-50 {\n color: #EFEBE9 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-100 {\n color: #D7CCC8 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-200 {\n color: #BCAAA4 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-300 {\n color: #A1887F !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-400 {\n color: #8D6E63 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-500 {\n color: #795548 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-600 {\n color: #6D4C41 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-700 {\n color: #5D4037 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-800 {\n color: #4E342E !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-900 {\n color: #3E2723 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme {\n color: #00BCD4 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-50 {\n color: #E0F7FA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-100 {\n color: #B2EBF2 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-200 {\n color: #80DEEA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-300 {\n color: #4DD0E1 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-400 {\n color: #26C6DA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-500 {\n color: #00BCD4 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-600 {\n color: #00ACC1 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-700 {\n color: #0097A7 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-800 {\n color: #00838F !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-900 {\n color: #006064 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme {\n color: #FF5722 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-50 {\n color: #FBE9E7 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-100 {\n color: #FFCCBC !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-200 {\n color: #FFAB91 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-300 {\n color: #FF8A65 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-400 {\n color: #FF7043 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-500 {\n color: #FF5722 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-600 {\n color: #F4511E !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-700 {\n color: #E64A19 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-800 {\n color: #D84315 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-900 {\n color: #BF360C !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme {\n color: #673AB7 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-50 {\n color: #EDE7F6 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-100 {\n color: #D1C4E9 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-200 {\n color: #B39DDB !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-300 {\n color: #9575CD !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-400 {\n color: #7E57C2 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-500 {\n color: #673AB7 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-600 {\n color: #5E35B1 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-700 {\n color: #512DA8 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-800 {\n color: #4527A0 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-900 {\n color: #311B92 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme {\n color: #4CAF50 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-50 {\n color: #E8F5E9 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-100 {\n color: #C8E6C9 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-200 {\n color: #A5D6A7 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-300 {\n color: #81C784 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-400 {\n color: #66BB6A !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-500 {\n color: #4CAF50 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-600 {\n color: #43A047 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-700 {\n color: #388E3C !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-800 {\n color: #2E7D32 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-900 {\n color: #1B5E20 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme {\n color: #9E9E9E !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-50 {\n color: #FAFAFA !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-100 {\n color: #F5F5F5 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-200 {\n color: #EEEEEE !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-300 {\n color: #E0E0E0 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-400 {\n color: #BDBDBD !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-500 {\n color: #9E9E9E !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-600 {\n color: #757575 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-700 {\n color: #616161 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-800 {\n color: #424242 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-900 {\n color: #212121 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme {\n color: #3F51B5 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-50 {\n color: #E8EAF6 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-100 {\n color: #C5CAE9 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-200 {\n color: #9FA8DA !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-300 {\n color: #7986CB !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-400 {\n color: #5C6BC0 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-500 {\n color: #3F51B5 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-600 {\n color: #3949AB !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-700 {\n color: #303F9F !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-800 {\n color: #283593 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-900 {\n color: #1A237E !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme {\n color: #03A9F4 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-50 {\n color: #E1F5FE !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-100 {\n color: #B3E5FC !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-200 {\n color: #81D4FA !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-300 {\n color: #4FC3F7 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-400 {\n color: #29B6F6 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-500 {\n color: #03A9F4 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-600 {\n color: #039BE5 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-700 {\n color: #0288D1 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-800 {\n color: #0277BD !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-900 {\n color: #01579B !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme {\n color: #8BC34A !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-50 {\n color: #F1F8E9 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-100 {\n color: #DCEDC8 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-200 {\n color: #C5E1A5 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-300 {\n color: #AED581 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-400 {\n color: #9CCC65 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-500 {\n color: #8BC34A !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-600 {\n color: #7CB342 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-700 {\n color: #689F38 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-800 {\n color: #558B2F !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-900 {\n color: #33691E !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme {\n color: #CDDC39 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-50 {\n color: #F9FBE7 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-100 {\n color: #F0F4C3 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-200 {\n color: #E6EE9C !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-300 {\n color: #DCE775 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-400 {\n color: #D4E157 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-500 {\n color: #CDDC39 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-600 {\n color: #C0CA33 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-700 {\n color: #AFB42B !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-800 {\n color: #9E9D24 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-900 {\n color: #827717 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme {\n color: #FF9800 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-50 {\n color: #FFF3E0 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-100 {\n color: #FFE0B2 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-200 {\n color: #FFCC80 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-300 {\n color: #FFB74D !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-400 {\n color: #FFA726 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-500 {\n color: #FF9800 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-600 {\n color: #FB8C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-700 {\n color: #F57C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-800 {\n color: #EF6C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-900 {\n color: #E65100 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme {\n color: #E91E63 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-50 {\n color: #FCE4EC !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-100 {\n color: #F8BBD0 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-200 {\n color: #F48FB1 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-300 {\n color: #F06292 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-400 {\n color: #EC407A !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-500 {\n color: #E91E63 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-600 {\n color: #D81B60 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-700 {\n color: #C2185B !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-800 {\n color: #AD1457 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-900 {\n color: #880E4F !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme {\n color: #9C27B0 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-50 {\n color: #F3E5F5 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-100 {\n color: #E1BEE7 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-200 {\n color: #CE93D8 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-300 {\n color: #BA68C8 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-400 {\n color: #AB47BC !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-500 {\n color: #9C27B0 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-600 {\n color: #8E24AA !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-700 {\n color: #7B1FA2 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-800 {\n color: #6A1B9A !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-900 {\n color: #4A148C !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme {\n color: #F44336 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-50 {\n color: #FFEBEE !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-100 {\n color: #FFCDD2 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-200 {\n color: #EF9A9A !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-300 {\n color: #E57373 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-400 {\n color: #EF5350 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-500 {\n color: #F44336 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-600 {\n color: #E53935 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-700 {\n color: #D32F2F !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-800 {\n color: #C62828 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-900 {\n color: #B71C1C !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme {\n color: #009688 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-50 {\n color: #E0F2F1 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-100 {\n color: #B2DFDB !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-200 {\n color: #80CBC4 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-300 {\n color: #4DB6AC !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-400 {\n color: #26A69A !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-500 {\n color: #009688 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-600 {\n color: #00897B !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-700 {\n color: #00796B !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-800 {\n color: #00695C !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-900 {\n color: #004D40 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme {\n color: #FFEB3B !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-50 {\n color: #FFFDE7 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-100 {\n color: #FFF9C4 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-200 {\n color: #FFF59D !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-300 {\n color: #FFF176 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-400 {\n color: #FFEE58 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-500 {\n color: #FFEB3B !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-600 {\n color: #FDD835 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-700 {\n color: #FBC02D !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-800 {\n color: #F9A825 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-900 {\n color: #F57F17 !important;\n}\n/**\n * .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n */\n.mdui-theme-accent-amber .mdui-text-color-theme-accent {\n color: #FFD740 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a100 {\n color: #FFE57F !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a200 {\n color: #FFD740 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a400 {\n color: #FFC400 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a700 {\n color: #FFAB00 !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-accent {\n color: #448AFF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a100 {\n color: #82B1FF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a200 {\n color: #448AFF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a400 {\n color: #2979FF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a700 {\n color: #2962FF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-accent {\n color: #18FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a100 {\n color: #84FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a200 {\n color: #18FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a400 {\n color: #00E5FF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a700 {\n color: #00B8D4 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent {\n color: #FF6E40 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100 {\n color: #FF9E80 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200 {\n color: #FF6E40 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400 {\n color: #FF3D00 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700 {\n color: #DD2C00 !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent {\n color: #7C4DFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100 {\n color: #B388FF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200 {\n color: #7C4DFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400 {\n color: #651FFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700 {\n color: #6200EA !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-accent {\n color: #69F0AE !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a100 {\n color: #B9F6CA !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a200 {\n color: #69F0AE !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a400 {\n color: #00E676 !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a700 {\n color: #00C853 !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-accent {\n color: #536DFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a100 {\n color: #8C9EFF !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a200 {\n color: #536DFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a400 {\n color: #3D5AFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a700 {\n color: #304FFE !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-accent {\n color: #40C4FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a100 {\n color: #80D8FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a200 {\n color: #40C4FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a400 {\n color: #00B0FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a700 {\n color: #0091EA !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-accent {\n color: #B2FF59 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a100 {\n color: #CCFF90 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a200 {\n color: #B2FF59 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a400 {\n color: #76FF03 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a700 {\n color: #64DD17 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-accent {\n color: #EEFF41 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a100 {\n color: #F4FF81 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a200 {\n color: #EEFF41 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a400 {\n color: #C6FF00 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a700 {\n color: #AEEA00 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-accent {\n color: #FFAB40 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a100 {\n color: #FFD180 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a200 {\n color: #FFAB40 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a400 {\n color: #FF9100 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a700 {\n color: #FF6D00 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-accent {\n color: #FF4081 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a100 {\n color: #FF80AB !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a200 {\n color: #FF4081 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a400 {\n color: #F50057 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a700 {\n color: #C51162 !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-accent {\n color: #E040FB !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a100 {\n color: #EA80FC !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a200 {\n color: #E040FB !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a400 {\n color: #D500F9 !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a700 {\n color: #AA00FF !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-accent {\n color: #FF5252 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a100 {\n color: #FF8A80 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a200 {\n color: #FF5252 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a400 {\n color: #FF1744 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a700 {\n color: #D50000 !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-accent {\n color: #64FFDA !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a100 {\n color: #A7FFEB !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a200 {\n color: #64FFDA !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a400 {\n color: #1DE9B6 !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a700 {\n color: #00BFA5 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-accent {\n color: #FFFF00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a100 {\n color: #FFFF8D !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a200 {\n color: #FFFF00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a400 {\n color: #FFEA00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a700 {\n color: #FFD600 !important;\n}\n/**\n * .mdui-text-color-[color]\n * .mdui-text-color-[color]-[degree]\n */\n.mdui-text-color-amber {\n color: #FFC107 !important;\n}\n.mdui-text-color-amber-50 {\n color: #FFF8E1 !important;\n}\n.mdui-text-color-amber-100 {\n color: #FFECB3 !important;\n}\n.mdui-text-color-amber-200 {\n color: #FFE082 !important;\n}\n.mdui-text-color-amber-300 {\n color: #FFD54F !important;\n}\n.mdui-text-color-amber-400 {\n color: #FFCA28 !important;\n}\n.mdui-text-color-amber-500 {\n color: #FFC107 !important;\n}\n.mdui-text-color-amber-600 {\n color: #FFB300 !important;\n}\n.mdui-text-color-amber-700 {\n color: #FFA000 !important;\n}\n.mdui-text-color-amber-800 {\n color: #FF8F00 !important;\n}\n.mdui-text-color-amber-900 {\n color: #FF6F00 !important;\n}\n.mdui-text-color-blue {\n color: #2196F3 !important;\n}\n.mdui-text-color-blue-50 {\n color: #E3F2FD !important;\n}\n.mdui-text-color-blue-100 {\n color: #BBDEFB !important;\n}\n.mdui-text-color-blue-200 {\n color: #90CAF9 !important;\n}\n.mdui-text-color-blue-300 {\n color: #64B5F6 !important;\n}\n.mdui-text-color-blue-400 {\n color: #42A5F5 !important;\n}\n.mdui-text-color-blue-500 {\n color: #2196F3 !important;\n}\n.mdui-text-color-blue-600 {\n color: #1E88E5 !important;\n}\n.mdui-text-color-blue-700 {\n color: #1976D2 !important;\n}\n.mdui-text-color-blue-800 {\n color: #1565C0 !important;\n}\n.mdui-text-color-blue-900 {\n color: #0D47A1 !important;\n}\n.mdui-text-color-blue-grey {\n color: #607D8B !important;\n}\n.mdui-text-color-blue-grey-50 {\n color: #ECEFF1 !important;\n}\n.mdui-text-color-blue-grey-100 {\n color: #CFD8DC !important;\n}\n.mdui-text-color-blue-grey-200 {\n color: #B0BEC5 !important;\n}\n.mdui-text-color-blue-grey-300 {\n color: #90A4AE !important;\n}\n.mdui-text-color-blue-grey-400 {\n color: #78909C !important;\n}\n.mdui-text-color-blue-grey-500 {\n color: #607D8B !important;\n}\n.mdui-text-color-blue-grey-600 {\n color: #546E7A !important;\n}\n.mdui-text-color-blue-grey-700 {\n color: #455A64 !important;\n}\n.mdui-text-color-blue-grey-800 {\n color: #37474F !important;\n}\n.mdui-text-color-blue-grey-900 {\n color: #263238 !important;\n}\n.mdui-text-color-brown {\n color: #795548 !important;\n}\n.mdui-text-color-brown-50 {\n color: #EFEBE9 !important;\n}\n.mdui-text-color-brown-100 {\n color: #D7CCC8 !important;\n}\n.mdui-text-color-brown-200 {\n color: #BCAAA4 !important;\n}\n.mdui-text-color-brown-300 {\n color: #A1887F !important;\n}\n.mdui-text-color-brown-400 {\n color: #8D6E63 !important;\n}\n.mdui-text-color-brown-500 {\n color: #795548 !important;\n}\n.mdui-text-color-brown-600 {\n color: #6D4C41 !important;\n}\n.mdui-text-color-brown-700 {\n color: #5D4037 !important;\n}\n.mdui-text-color-brown-800 {\n color: #4E342E !important;\n}\n.mdui-text-color-brown-900 {\n color: #3E2723 !important;\n}\n.mdui-text-color-cyan {\n color: #00BCD4 !important;\n}\n.mdui-text-color-cyan-50 {\n color: #E0F7FA !important;\n}\n.mdui-text-color-cyan-100 {\n color: #B2EBF2 !important;\n}\n.mdui-text-color-cyan-200 {\n color: #80DEEA !important;\n}\n.mdui-text-color-cyan-300 {\n color: #4DD0E1 !important;\n}\n.mdui-text-color-cyan-400 {\n color: #26C6DA !important;\n}\n.mdui-text-color-cyan-500 {\n color: #00BCD4 !important;\n}\n.mdui-text-color-cyan-600 {\n color: #00ACC1 !important;\n}\n.mdui-text-color-cyan-700 {\n color: #0097A7 !important;\n}\n.mdui-text-color-cyan-800 {\n color: #00838F !important;\n}\n.mdui-text-color-cyan-900 {\n color: #006064 !important;\n}\n.mdui-text-color-deep-orange {\n color: #FF5722 !important;\n}\n.mdui-text-color-deep-orange-50 {\n color: #FBE9E7 !important;\n}\n.mdui-text-color-deep-orange-100 {\n color: #FFCCBC !important;\n}\n.mdui-text-color-deep-orange-200 {\n color: #FFAB91 !important;\n}\n.mdui-text-color-deep-orange-300 {\n color: #FF8A65 !important;\n}\n.mdui-text-color-deep-orange-400 {\n color: #FF7043 !important;\n}\n.mdui-text-color-deep-orange-500 {\n color: #FF5722 !important;\n}\n.mdui-text-color-deep-orange-600 {\n color: #F4511E !important;\n}\n.mdui-text-color-deep-orange-700 {\n color: #E64A19 !important;\n}\n.mdui-text-color-deep-orange-800 {\n color: #D84315 !important;\n}\n.mdui-text-color-deep-orange-900 {\n color: #BF360C !important;\n}\n.mdui-text-color-deep-purple {\n color: #673AB7 !important;\n}\n.mdui-text-color-deep-purple-50 {\n color: #EDE7F6 !important;\n}\n.mdui-text-color-deep-purple-100 {\n color: #D1C4E9 !important;\n}\n.mdui-text-color-deep-purple-200 {\n color: #B39DDB !important;\n}\n.mdui-text-color-deep-purple-300 {\n color: #9575CD !important;\n}\n.mdui-text-color-deep-purple-400 {\n color: #7E57C2 !important;\n}\n.mdui-text-color-deep-purple-500 {\n color: #673AB7 !important;\n}\n.mdui-text-color-deep-purple-600 {\n color: #5E35B1 !important;\n}\n.mdui-text-color-deep-purple-700 {\n color: #512DA8 !important;\n}\n.mdui-text-color-deep-purple-800 {\n color: #4527A0 !important;\n}\n.mdui-text-color-deep-purple-900 {\n color: #311B92 !important;\n}\n.mdui-text-color-green {\n color: #4CAF50 !important;\n}\n.mdui-text-color-green-50 {\n color: #E8F5E9 !important;\n}\n.mdui-text-color-green-100 {\n color: #C8E6C9 !important;\n}\n.mdui-text-color-green-200 {\n color: #A5D6A7 !important;\n}\n.mdui-text-color-green-300 {\n color: #81C784 !important;\n}\n.mdui-text-color-green-400 {\n color: #66BB6A !important;\n}\n.mdui-text-color-green-500 {\n color: #4CAF50 !important;\n}\n.mdui-text-color-green-600 {\n color: #43A047 !important;\n}\n.mdui-text-color-green-700 {\n color: #388E3C !important;\n}\n.mdui-text-color-green-800 {\n color: #2E7D32 !important;\n}\n.mdui-text-color-green-900 {\n color: #1B5E20 !important;\n}\n.mdui-text-color-grey {\n color: #9E9E9E !important;\n}\n.mdui-text-color-grey-50 {\n color: #FAFAFA !important;\n}\n.mdui-text-color-grey-100 {\n color: #F5F5F5 !important;\n}\n.mdui-text-color-grey-200 {\n color: #EEEEEE !important;\n}\n.mdui-text-color-grey-300 {\n color: #E0E0E0 !important;\n}\n.mdui-text-color-grey-400 {\n color: #BDBDBD !important;\n}\n.mdui-text-color-grey-500 {\n color: #9E9E9E !important;\n}\n.mdui-text-color-grey-600 {\n color: #757575 !important;\n}\n.mdui-text-color-grey-700 {\n color: #616161 !important;\n}\n.mdui-text-color-grey-800 {\n color: #424242 !important;\n}\n.mdui-text-color-grey-900 {\n color: #212121 !important;\n}\n.mdui-text-color-indigo {\n color: #3F51B5 !important;\n}\n.mdui-text-color-indigo-50 {\n color: #E8EAF6 !important;\n}\n.mdui-text-color-indigo-100 {\n color: #C5CAE9 !important;\n}\n.mdui-text-color-indigo-200 {\n color: #9FA8DA !important;\n}\n.mdui-text-color-indigo-300 {\n color: #7986CB !important;\n}\n.mdui-text-color-indigo-400 {\n color: #5C6BC0 !important;\n}\n.mdui-text-color-indigo-500 {\n color: #3F51B5 !important;\n}\n.mdui-text-color-indigo-600 {\n color: #3949AB !important;\n}\n.mdui-text-color-indigo-700 {\n color: #303F9F !important;\n}\n.mdui-text-color-indigo-800 {\n color: #283593 !important;\n}\n.mdui-text-color-indigo-900 {\n color: #1A237E !important;\n}\n.mdui-text-color-light-blue {\n color: #03A9F4 !important;\n}\n.mdui-text-color-light-blue-50 {\n color: #E1F5FE !important;\n}\n.mdui-text-color-light-blue-100 {\n color: #B3E5FC !important;\n}\n.mdui-text-color-light-blue-200 {\n color: #81D4FA !important;\n}\n.mdui-text-color-light-blue-300 {\n color: #4FC3F7 !important;\n}\n.mdui-text-color-light-blue-400 {\n color: #29B6F6 !important;\n}\n.mdui-text-color-light-blue-500 {\n color: #03A9F4 !important;\n}\n.mdui-text-color-light-blue-600 {\n color: #039BE5 !important;\n}\n.mdui-text-color-light-blue-700 {\n color: #0288D1 !important;\n}\n.mdui-text-color-light-blue-800 {\n color: #0277BD !important;\n}\n.mdui-text-color-light-blue-900 {\n color: #01579B !important;\n}\n.mdui-text-color-light-green {\n color: #8BC34A !important;\n}\n.mdui-text-color-light-green-50 {\n color: #F1F8E9 !important;\n}\n.mdui-text-color-light-green-100 {\n color: #DCEDC8 !important;\n}\n.mdui-text-color-light-green-200 {\n color: #C5E1A5 !important;\n}\n.mdui-text-color-light-green-300 {\n color: #AED581 !important;\n}\n.mdui-text-color-light-green-400 {\n color: #9CCC65 !important;\n}\n.mdui-text-color-light-green-500 {\n color: #8BC34A !important;\n}\n.mdui-text-color-light-green-600 {\n color: #7CB342 !important;\n}\n.mdui-text-color-light-green-700 {\n color: #689F38 !important;\n}\n.mdui-text-color-light-green-800 {\n color: #558B2F !important;\n}\n.mdui-text-color-light-green-900 {\n color: #33691E !important;\n}\n.mdui-text-color-lime {\n color: #CDDC39 !important;\n}\n.mdui-text-color-lime-50 {\n color: #F9FBE7 !important;\n}\n.mdui-text-color-lime-100 {\n color: #F0F4C3 !important;\n}\n.mdui-text-color-lime-200 {\n color: #E6EE9C !important;\n}\n.mdui-text-color-lime-300 {\n color: #DCE775 !important;\n}\n.mdui-text-color-lime-400 {\n color: #D4E157 !important;\n}\n.mdui-text-color-lime-500 {\n color: #CDDC39 !important;\n}\n.mdui-text-color-lime-600 {\n color: #C0CA33 !important;\n}\n.mdui-text-color-lime-700 {\n color: #AFB42B !important;\n}\n.mdui-text-color-lime-800 {\n color: #9E9D24 !important;\n}\n.mdui-text-color-lime-900 {\n color: #827717 !important;\n}\n.mdui-text-color-orange {\n color: #FF9800 !important;\n}\n.mdui-text-color-orange-50 {\n color: #FFF3E0 !important;\n}\n.mdui-text-color-orange-100 {\n color: #FFE0B2 !important;\n}\n.mdui-text-color-orange-200 {\n color: #FFCC80 !important;\n}\n.mdui-text-color-orange-300 {\n color: #FFB74D !important;\n}\n.mdui-text-color-orange-400 {\n color: #FFA726 !important;\n}\n.mdui-text-color-orange-500 {\n color: #FF9800 !important;\n}\n.mdui-text-color-orange-600 {\n color: #FB8C00 !important;\n}\n.mdui-text-color-orange-700 {\n color: #F57C00 !important;\n}\n.mdui-text-color-orange-800 {\n color: #EF6C00 !important;\n}\n.mdui-text-color-orange-900 {\n color: #E65100 !important;\n}\n.mdui-text-color-pink {\n color: #E91E63 !important;\n}\n.mdui-text-color-pink-50 {\n color: #FCE4EC !important;\n}\n.mdui-text-color-pink-100 {\n color: #F8BBD0 !important;\n}\n.mdui-text-color-pink-200 {\n color: #F48FB1 !important;\n}\n.mdui-text-color-pink-300 {\n color: #F06292 !important;\n}\n.mdui-text-color-pink-400 {\n color: #EC407A !important;\n}\n.mdui-text-color-pink-500 {\n color: #E91E63 !important;\n}\n.mdui-text-color-pink-600 {\n color: #D81B60 !important;\n}\n.mdui-text-color-pink-700 {\n color: #C2185B !important;\n}\n.mdui-text-color-pink-800 {\n color: #AD1457 !important;\n}\n.mdui-text-color-pink-900 {\n color: #880E4F !important;\n}\n.mdui-text-color-purple {\n color: #9C27B0 !important;\n}\n.mdui-text-color-purple-50 {\n color: #F3E5F5 !important;\n}\n.mdui-text-color-purple-100 {\n color: #E1BEE7 !important;\n}\n.mdui-text-color-purple-200 {\n color: #CE93D8 !important;\n}\n.mdui-text-color-purple-300 {\n color: #BA68C8 !important;\n}\n.mdui-text-color-purple-400 {\n color: #AB47BC !important;\n}\n.mdui-text-color-purple-500 {\n color: #9C27B0 !important;\n}\n.mdui-text-color-purple-600 {\n color: #8E24AA !important;\n}\n.mdui-text-color-purple-700 {\n color: #7B1FA2 !important;\n}\n.mdui-text-color-purple-800 {\n color: #6A1B9A !important;\n}\n.mdui-text-color-purple-900 {\n color: #4A148C !important;\n}\n.mdui-text-color-red {\n color: #F44336 !important;\n}\n.mdui-text-color-red-50 {\n color: #FFEBEE !important;\n}\n.mdui-text-color-red-100 {\n color: #FFCDD2 !important;\n}\n.mdui-text-color-red-200 {\n color: #EF9A9A !important;\n}\n.mdui-text-color-red-300 {\n color: #E57373 !important;\n}\n.mdui-text-color-red-400 {\n color: #EF5350 !important;\n}\n.mdui-text-color-red-500 {\n color: #F44336 !important;\n}\n.mdui-text-color-red-600 {\n color: #E53935 !important;\n}\n.mdui-text-color-red-700 {\n color: #D32F2F !important;\n}\n.mdui-text-color-red-800 {\n color: #C62828 !important;\n}\n.mdui-text-color-red-900 {\n color: #B71C1C !important;\n}\n.mdui-text-color-teal {\n color: #009688 !important;\n}\n.mdui-text-color-teal-50 {\n color: #E0F2F1 !important;\n}\n.mdui-text-color-teal-100 {\n color: #B2DFDB !important;\n}\n.mdui-text-color-teal-200 {\n color: #80CBC4 !important;\n}\n.mdui-text-color-teal-300 {\n color: #4DB6AC !important;\n}\n.mdui-text-color-teal-400 {\n color: #26A69A !important;\n}\n.mdui-text-color-teal-500 {\n color: #009688 !important;\n}\n.mdui-text-color-teal-600 {\n color: #00897B !important;\n}\n.mdui-text-color-teal-700 {\n color: #00796B !important;\n}\n.mdui-text-color-teal-800 {\n color: #00695C !important;\n}\n.mdui-text-color-teal-900 {\n color: #004D40 !important;\n}\n.mdui-text-color-yellow {\n color: #FFEB3B !important;\n}\n.mdui-text-color-yellow-50 {\n color: #FFFDE7 !important;\n}\n.mdui-text-color-yellow-100 {\n color: #FFF9C4 !important;\n}\n.mdui-text-color-yellow-200 {\n color: #FFF59D !important;\n}\n.mdui-text-color-yellow-300 {\n color: #FFF176 !important;\n}\n.mdui-text-color-yellow-400 {\n color: #FFEE58 !important;\n}\n.mdui-text-color-yellow-500 {\n color: #FFEB3B !important;\n}\n.mdui-text-color-yellow-600 {\n color: #FDD835 !important;\n}\n.mdui-text-color-yellow-700 {\n color: #FBC02D !important;\n}\n.mdui-text-color-yellow-800 {\n color: #F9A825 !important;\n}\n.mdui-text-color-yellow-900 {\n color: #F57F17 !important;\n}\n/**\n * .mdui-text-color-[color]-accent\n * .mdui-text-color-[color]-[degree]\n */\n.mdui-text-color-amber-accent {\n color: #FFD740 !important;\n}\n.mdui-text-color-amber-a100 {\n color: #FFE57F !important;\n}\n.mdui-text-color-amber-a200 {\n color: #FFD740 !important;\n}\n.mdui-text-color-amber-a400 {\n color: #FFC400 !important;\n}\n.mdui-text-color-amber-a700 {\n color: #FFAB00 !important;\n}\n.mdui-text-color-blue-accent {\n color: #448AFF !important;\n}\n.mdui-text-color-blue-a100 {\n color: #82B1FF !important;\n}\n.mdui-text-color-blue-a200 {\n color: #448AFF !important;\n}\n.mdui-text-color-blue-a400 {\n color: #2979FF !important;\n}\n.mdui-text-color-blue-a700 {\n color: #2962FF !important;\n}\n.mdui-text-color-cyan-accent {\n color: #18FFFF !important;\n}\n.mdui-text-color-cyan-a100 {\n color: #84FFFF !important;\n}\n.mdui-text-color-cyan-a200 {\n color: #18FFFF !important;\n}\n.mdui-text-color-cyan-a400 {\n color: #00E5FF !important;\n}\n.mdui-text-color-cyan-a700 {\n color: #00B8D4 !important;\n}\n.mdui-text-color-deep-orange-accent {\n color: #FF6E40 !important;\n}\n.mdui-text-color-deep-orange-a100 {\n color: #FF9E80 !important;\n}\n.mdui-text-color-deep-orange-a200 {\n color: #FF6E40 !important;\n}\n.mdui-text-color-deep-orange-a400 {\n color: #FF3D00 !important;\n}\n.mdui-text-color-deep-orange-a700 {\n color: #DD2C00 !important;\n}\n.mdui-text-color-deep-purple-accent {\n color: #7C4DFF !important;\n}\n.mdui-text-color-deep-purple-a100 {\n color: #B388FF !important;\n}\n.mdui-text-color-deep-purple-a200 {\n color: #7C4DFF !important;\n}\n.mdui-text-color-deep-purple-a400 {\n color: #651FFF !important;\n}\n.mdui-text-color-deep-purple-a700 {\n color: #6200EA !important;\n}\n.mdui-text-color-green-accent {\n color: #69F0AE !important;\n}\n.mdui-text-color-green-a100 {\n color: #B9F6CA !important;\n}\n.mdui-text-color-green-a200 {\n color: #69F0AE !important;\n}\n.mdui-text-color-green-a400 {\n color: #00E676 !important;\n}\n.mdui-text-color-green-a700 {\n color: #00C853 !important;\n}\n.mdui-text-color-indigo-accent {\n color: #536DFE !important;\n}\n.mdui-text-color-indigo-a100 {\n color: #8C9EFF !important;\n}\n.mdui-text-color-indigo-a200 {\n color: #536DFE !important;\n}\n.mdui-text-color-indigo-a400 {\n color: #3D5AFE !important;\n}\n.mdui-text-color-indigo-a700 {\n color: #304FFE !important;\n}\n.mdui-text-color-light-blue-accent {\n color: #40C4FF !important;\n}\n.mdui-text-color-light-blue-a100 {\n color: #80D8FF !important;\n}\n.mdui-text-color-light-blue-a200 {\n color: #40C4FF !important;\n}\n.mdui-text-color-light-blue-a400 {\n color: #00B0FF !important;\n}\n.mdui-text-color-light-blue-a700 {\n color: #0091EA !important;\n}\n.mdui-text-color-light-green-accent {\n color: #B2FF59 !important;\n}\n.mdui-text-color-light-green-a100 {\n color: #CCFF90 !important;\n}\n.mdui-text-color-light-green-a200 {\n color: #B2FF59 !important;\n}\n.mdui-text-color-light-green-a400 {\n color: #76FF03 !important;\n}\n.mdui-text-color-light-green-a700 {\n color: #64DD17 !important;\n}\n.mdui-text-color-lime-accent {\n color: #EEFF41 !important;\n}\n.mdui-text-color-lime-a100 {\n color: #F4FF81 !important;\n}\n.mdui-text-color-lime-a200 {\n color: #EEFF41 !important;\n}\n.mdui-text-color-lime-a400 {\n color: #C6FF00 !important;\n}\n.mdui-text-color-lime-a700 {\n color: #AEEA00 !important;\n}\n.mdui-text-color-orange-accent {\n color: #FFAB40 !important;\n}\n.mdui-text-color-orange-a100 {\n color: #FFD180 !important;\n}\n.mdui-text-color-orange-a200 {\n color: #FFAB40 !important;\n}\n.mdui-text-color-orange-a400 {\n color: #FF9100 !important;\n}\n.mdui-text-color-orange-a700 {\n color: #FF6D00 !important;\n}\n.mdui-text-color-pink-accent {\n color: #FF4081 !important;\n}\n.mdui-text-color-pink-a100 {\n color: #FF80AB !important;\n}\n.mdui-text-color-pink-a200 {\n color: #FF4081 !important;\n}\n.mdui-text-color-pink-a400 {\n color: #F50057 !important;\n}\n.mdui-text-color-pink-a700 {\n color: #C51162 !important;\n}\n.mdui-text-color-purple-accent {\n color: #E040FB !important;\n}\n.mdui-text-color-purple-a100 {\n color: #EA80FC !important;\n}\n.mdui-text-color-purple-a200 {\n color: #E040FB !important;\n}\n.mdui-text-color-purple-a400 {\n color: #D500F9 !important;\n}\n.mdui-text-color-purple-a700 {\n color: #AA00FF !important;\n}\n.mdui-text-color-red-accent {\n color: #FF5252 !important;\n}\n.mdui-text-color-red-a100 {\n color: #FF8A80 !important;\n}\n.mdui-text-color-red-a200 {\n color: #FF5252 !important;\n}\n.mdui-text-color-red-a400 {\n color: #FF1744 !important;\n}\n.mdui-text-color-red-a700 {\n color: #D50000 !important;\n}\n.mdui-text-color-teal-accent {\n color: #64FFDA !important;\n}\n.mdui-text-color-teal-a100 {\n color: #A7FFEB !important;\n}\n.mdui-text-color-teal-a200 {\n color: #64FFDA !important;\n}\n.mdui-text-color-teal-a400 {\n color: #1DE9B6 !important;\n}\n.mdui-text-color-teal-a700 {\n color: #00BFA5 !important;\n}\n.mdui-text-color-yellow-accent {\n color: #FFFF00 !important;\n}\n.mdui-text-color-yellow-a100 {\n color: #FFFF8D !important;\n}\n.mdui-text-color-yellow-a200 {\n color: #FFFF00 !important;\n}\n.mdui-text-color-yellow-a400 {\n color: #FFEA00 !important;\n}\n.mdui-text-color-yellow-a700 {\n color: #FFD600 !important;\n}\n/**\n * .mdui-text-color-black\n * .mdui-text-color-black-[]\n * .mdui-text-color-theme-[]\n */\n.mdui-text-color-black {\n color: #000000 !important;\n}\n.mdui-text-color-black-text,\n.mdui-text-color-theme-text {\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-text-color-black-secondary,\n.mdui-text-color-theme-secondary {\n color: rgba(0, 0, 0, 0.54) !important;\n}\n.mdui-text-color-black-disabled,\n.mdui-text-color-theme-disabled {\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.mdui-text-color-black-divider,\n.mdui-text-color-theme-divider {\n color: rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-text-color-black-icon,\n.mdui-text-color-theme-icon {\n color: rgba(0, 0, 0, 0.54) !important;\n}\n.mdui-text-color-black-icon-disabled,\n.mdui-text-color-theme-icon-disabled {\n color: rgba(0, 0, 0, 0.26) !important;\n}\n/**\n * .mdui-text-color-white\n * .mdui-text-color-white-[]\n */\n.mdui-text-color-white {\n color: #FFFFFF !important;\n}\n.mdui-text-color-white-text {\n color: #ffffff !important;\n}\n.mdui-text-color-white-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n}\n.mdui-text-color-white-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-text-color-white-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n}\n.mdui-text-color-white-icon {\n color: #ffffff !important;\n}\n.mdui-text-color-white-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n/**\n * .mdui-text-color-theme-[] 深色主题\n */\n.mdui-theme-layout-dark .mdui-text-color-theme-text {\n color: #ffffff !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-icon {\n color: #ffffff !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-text-color-theme-text {\n color: #ffffff !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-icon {\n color: #ffffff !important;\n }\n .mdui-theme-layout-auto .mdui-text-color-theme-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n }\n}\n/**\n * =============================================================================\n * ************ Helper 辅助类 ************\n * =============================================================================\n */\n/**\n * =================== 边距\n */\n.mdui-m-a-0 {\n margin: 0px !important;\n}\n.mdui-m-t-0 {\n margin-top: 0px !important;\n}\n.mdui-m-r-0 {\n margin-right: 0px !important;\n}\n.mdui-m-b-0 {\n margin-bottom: 0px !important;\n}\n.mdui-m-l-0 {\n margin-left: 0px !important;\n}\n.mdui-m-x-0 {\n margin-right: 0px !important;\n margin-left: 0px !important;\n}\n.mdui-m-y-0 {\n margin-top: 0px !important;\n margin-bottom: 0px !important;\n}\n.mdui-p-a-0 {\n padding: 0px !important;\n}\n.mdui-p-t-0 {\n padding-top: 0px !important;\n}\n.mdui-p-r-0 {\n padding-right: 0px !important;\n}\n.mdui-p-b-0 {\n padding-bottom: 0px !important;\n}\n.mdui-p-l-0 {\n padding-left: 0px !important;\n}\n.mdui-p-x-0 {\n padding-right: 0px !important;\n padding-left: 0px !important;\n}\n.mdui-p-y-0 {\n padding-top: 0px !important;\n padding-bottom: 0px !important;\n}\n.mdui-m-a-1 {\n margin: 8px !important;\n}\n.mdui-m-t-1 {\n margin-top: 8px !important;\n}\n.mdui-m-r-1 {\n margin-right: 8px !important;\n}\n.mdui-m-b-1 {\n margin-bottom: 8px !important;\n}\n.mdui-m-l-1 {\n margin-left: 8px !important;\n}\n.mdui-m-x-1 {\n margin-right: 8px !important;\n margin-left: 8px !important;\n}\n.mdui-m-y-1 {\n margin-top: 8px !important;\n margin-bottom: 8px !important;\n}\n.mdui-p-a-1 {\n padding: 8px !important;\n}\n.mdui-p-t-1 {\n padding-top: 8px !important;\n}\n.mdui-p-r-1 {\n padding-right: 8px !important;\n}\n.mdui-p-b-1 {\n padding-bottom: 8px !important;\n}\n.mdui-p-l-1 {\n padding-left: 8px !important;\n}\n.mdui-p-x-1 {\n padding-right: 8px !important;\n padding-left: 8px !important;\n}\n.mdui-p-y-1 {\n padding-top: 8px !important;\n padding-bottom: 8px !important;\n}\n.mdui-m-a-2 {\n margin: 16px !important;\n}\n.mdui-m-t-2 {\n margin-top: 16px !important;\n}\n.mdui-m-r-2 {\n margin-right: 16px !important;\n}\n.mdui-m-b-2 {\n margin-bottom: 16px !important;\n}\n.mdui-m-l-2 {\n margin-left: 16px !important;\n}\n.mdui-m-x-2 {\n margin-right: 16px !important;\n margin-left: 16px !important;\n}\n.mdui-m-y-2 {\n margin-top: 16px !important;\n margin-bottom: 16px !important;\n}\n.mdui-p-a-2 {\n padding: 16px !important;\n}\n.mdui-p-t-2 {\n padding-top: 16px !important;\n}\n.mdui-p-r-2 {\n padding-right: 16px !important;\n}\n.mdui-p-b-2 {\n padding-bottom: 16px !important;\n}\n.mdui-p-l-2 {\n padding-left: 16px !important;\n}\n.mdui-p-x-2 {\n padding-right: 16px !important;\n padding-left: 16px !important;\n}\n.mdui-p-y-2 {\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n.mdui-m-a-3 {\n margin: 24px !important;\n}\n.mdui-m-t-3 {\n margin-top: 24px !important;\n}\n.mdui-m-r-3 {\n margin-right: 24px !important;\n}\n.mdui-m-b-3 {\n margin-bottom: 24px !important;\n}\n.mdui-m-l-3 {\n margin-left: 24px !important;\n}\n.mdui-m-x-3 {\n margin-right: 24px !important;\n margin-left: 24px !important;\n}\n.mdui-m-y-3 {\n margin-top: 24px !important;\n margin-bottom: 24px !important;\n}\n.mdui-p-a-3 {\n padding: 24px !important;\n}\n.mdui-p-t-3 {\n padding-top: 24px !important;\n}\n.mdui-p-r-3 {\n padding-right: 24px !important;\n}\n.mdui-p-b-3 {\n padding-bottom: 24px !important;\n}\n.mdui-p-l-3 {\n padding-left: 24px !important;\n}\n.mdui-p-x-3 {\n padding-right: 24px !important;\n padding-left: 24px !important;\n}\n.mdui-p-y-3 {\n padding-top: 24px !important;\n padding-bottom: 24px !important;\n}\n.mdui-m-a-4 {\n margin: 32px !important;\n}\n.mdui-m-t-4 {\n margin-top: 32px !important;\n}\n.mdui-m-r-4 {\n margin-right: 32px !important;\n}\n.mdui-m-b-4 {\n margin-bottom: 32px !important;\n}\n.mdui-m-l-4 {\n margin-left: 32px !important;\n}\n.mdui-m-x-4 {\n margin-right: 32px !important;\n margin-left: 32px !important;\n}\n.mdui-m-y-4 {\n margin-top: 32px !important;\n margin-bottom: 32px !important;\n}\n.mdui-p-a-4 {\n padding: 32px !important;\n}\n.mdui-p-t-4 {\n padding-top: 32px !important;\n}\n.mdui-p-r-4 {\n padding-right: 32px !important;\n}\n.mdui-p-b-4 {\n padding-bottom: 32px !important;\n}\n.mdui-p-l-4 {\n padding-left: 32px !important;\n}\n.mdui-p-x-4 {\n padding-right: 32px !important;\n padding-left: 32px !important;\n}\n.mdui-p-y-4 {\n padding-top: 32px !important;\n padding-bottom: 32px !important;\n}\n.mdui-m-a-5 {\n margin: 40px !important;\n}\n.mdui-m-t-5 {\n margin-top: 40px !important;\n}\n.mdui-m-r-5 {\n margin-right: 40px !important;\n}\n.mdui-m-b-5 {\n margin-bottom: 40px !important;\n}\n.mdui-m-l-5 {\n margin-left: 40px !important;\n}\n.mdui-m-x-5 {\n margin-right: 40px !important;\n margin-left: 40px !important;\n}\n.mdui-m-y-5 {\n margin-top: 40px !important;\n margin-bottom: 40px !important;\n}\n.mdui-p-a-5 {\n padding: 40px !important;\n}\n.mdui-p-t-5 {\n padding-top: 40px !important;\n}\n.mdui-p-r-5 {\n padding-right: 40px !important;\n}\n.mdui-p-b-5 {\n padding-bottom: 40px !important;\n}\n.mdui-p-l-5 {\n padding-left: 40px !important;\n}\n.mdui-p-x-5 {\n padding-right: 40px !important;\n padding-left: 40px !important;\n}\n.mdui-p-y-5 {\n padding-top: 40px !important;\n padding-bottom: 40px !important;\n}\n/**\n * ======================== 快速浮动\n */\n/* 向左浮动 */\n.mdui-float-left {\n float: left !important;\n}\n/* 向右浮动 */\n.mdui-float-right {\n float: right !important;\n}\n/**\n * ========================= 水平居中\n */\n/* 水平居中 */\n.mdui-center {\n display: block !important;\n margin-right: auto !important;\n margin-left: auto !important;\n}\n/**\n * ========================= 垂直居中\n */\n/* 垂直居中 */\n.mdui-valign {\n display: flex !important;\n align-items: center !important;\n}\n/**\n * ========================= 文本对齐方式\n */\n/* 文本左对齐 */\n.mdui-text-left {\n text-align: left !important;\n}\n/* 文本居中对齐 */\n.mdui-text-center {\n text-align: center !important;\n}\n/* 文本向右对齐 */\n.mdui-text-right {\n text-align: right !important;\n}\n/**\n * ========================= 文本大小写转换\n */\n/* 文本转为小写 */\n.mdui-text-lowercase {\n text-transform: lowercase !important;\n}\n/* 文本转为大写 */\n.mdui-text-uppercase {\n text-transform: uppercase !important;\n}\n/* 文本转为单词的首字母大写 */\n.mdui-text-capitalize {\n text-transform: capitalize !important;\n}\n/**\n * ======================== 文本截断\n */\n/* 文本截断 */\n.mdui-text-truncate {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/**\n * ========================= 清除浮动\n */\n/* 清除浮动 */\n.mdui-clearfix::before,\n.mdui-clearfix::after {\n display: table;\n content: ' ';\n}\n.mdui-clearfix::after {\n clear: both;\n}\n/**\n * ========================= 隐藏内容\n */\n/* 隐藏元素 */\n.mdui-hidden,\n[hidden] {\n display: none !important;\n}\n/* 使元素不可见 */\n.mdui-invisible {\n visibility: hidden;\n}\n/* Responsive utilities 响应式工具\n ========================================================================== */\n/* 在特定屏幕的特备上隐藏 */\n@media (max-width: 599.9px) {\n .mdui-hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 600px) and (max-width: 1023.9px) {\n .mdui-hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 1024px) and (max-width: 1439.9px) {\n .mdui-hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1440px) and (max-width: 1919.9px) {\n .mdui-hidden-lg {\n display: none !important;\n }\n}\n@media (min-width: 1920px) {\n .mdui-hidden-xl {\n display: none !important;\n }\n}\n/* 在比特定屏幕小的设备上隐藏 */\n@media (max-width: 599.9px) {\n .mdui-hidden-xs-down {\n display: none !important;\n }\n}\n@media (max-width: 1023.9px) {\n .mdui-hidden-sm-down {\n display: none !important;\n }\n}\n@media (max-width: 1439.9px) {\n .mdui-hidden-md-down {\n display: none !important;\n }\n}\n@media (max-width: 1919.9px) {\n .mdui-hidden-lg-down {\n display: none !important;\n }\n}\n.mdui-hidden-xl-down {\n display: none !important;\n}\n/* 在比特定屏幕大的设备上隐藏 */\n.mdui-hidden-xs-up {\n display: none !important;\n}\n@media (min-width: 600px) {\n .mdui-hidden-sm-up {\n display: none !important;\n }\n}\n@media (min-width: 1024px) {\n .mdui-hidden-md-up {\n display: none !important;\n }\n}\n@media (min-width: 1440px) {\n .mdui-hidden-lg-up {\n display: none !important;\n }\n}\n@media (min-width: 1920px) {\n .mdui-hidden-xl-up {\n display: none !important;\n }\n}\n/**\n * =============================================================================\n * ************ Icon 图标 ************\n * =============================================================================\n */\n.mdui-icon,\n.mdui-icon::before {\n color: inherit;\n font-weight: normal;\n font-size: 24px;\n /* Preferred icon size */\n font-style: normal;\n line-height: 1;\n direction: ltr;\n letter-spacing: normal;\n white-space: nowrap;\n text-transform: none;\n vertical-align: middle;\n word-wrap: normal;\n}\n.mdui-icon {\n display: inline-block;\n text-align: center;\n}\n.mdui-icon::before {\n display: block !important;\n width: 24px;\n height: 24px;\n}\n/**\n * =============================================================================\n * ************ Material Icons ************\n * =============================================================================\n *\n * https://github.com/google/material-design-icons/\n * v3.0.1\n */\n@font-face {\n font-weight: 400;\n font-family: 'Material Icons';\n font-style: normal;\n src: local('Material Icons'), local('MaterialIcons-Regular'), url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'), url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff');\n}\n.material-icons {\n /* stylelint-disable-next-line */\n font-family: 'Material Icons';\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n/**\n * =============================================================================\n * ************ Media 媒体工具 ************\n * =============================================================================\n */\n/* 响应式图片和视频 */\n.mdui-img-fluid,\n.mdui-video-fluid {\n display: block;\n max-width: 100%;\n height: auto;\n}\n/* 圆角图片 */\n.mdui-img-rounded {\n border-radius: 2px;\n}\n/* 圆形图片 */\n.mdui-img-circle {\n border-radius: 50%;\n}\n.mdui-video-container {\n position: relative;\n height: 0;\n padding-bottom: 56.25%;\n overflow: hidden;\n}\n.mdui-video-container iframe,\n.mdui-video-container object,\n.mdui-video-container embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n/**\n * =============================================================================\n * ************ Roboto 字体 ************\n * =============================================================================\n */\n@font-face {\n font-weight: 100;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Thin'), local('Roboto-Thin'), url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'), url('../fonts/roboto/Roboto-Thin.woff') format('woff');\n}\n@font-face {\n font-weight: 100;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'), url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 300;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Light'), local('Roboto-Light'), url('../fonts/roboto/Roboto-Light.woff2') format('woff2'), url('../fonts/roboto/Roboto-Light.woff') format('woff');\n}\n@font-face {\n font-weight: 300;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto LightItalic'), local('Roboto-LightItalic'), url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-LightItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 400;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Regular'), local('Roboto-Regular'), url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'), url('../fonts/roboto/Roboto-Regular.woff') format('woff');\n}\n@font-face {\n font-weight: 400;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'), url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 500;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Medium'), local('Roboto-Medium'), url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'), url('../fonts/roboto/Roboto-Medium.woff') format('woff');\n}\n@font-face {\n font-weight: 500;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'), url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 700;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'), url('../fonts/roboto/Roboto-Bold.woff') format('woff');\n}\n@font-face {\n font-weight: 700;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'), url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff');\n}\n@font-face {\n font-weight: 900;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Black'), local('Roboto-Black'), url('../fonts/roboto/Roboto-Black.woff2') format('woff2'), url('../fonts/roboto/Roboto-Black.woff') format('woff');\n}\n@font-face {\n font-weight: 900;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'), url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff');\n}\n/**\n * =============================================================================\n * ************ Typography 样式排版 ************\n * =============================================================================\n */\n/* .mdui-typo-display-4 */\n.mdui-typo-display-4,\n.mdui-typo-display-4-opacity {\n font-weight: 300;\n font-size: 112px;\n letter-spacing: -0.04em;\n}\n.mdui-typo-display-4-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-3 */\n.mdui-typo-display-3,\n.mdui-typo-display-3-opacity {\n font-weight: 400;\n font-size: 56px;\n letter-spacing: -0.02em;\n}\n.mdui-typo-display-3-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-2 */\n.mdui-typo-display-2,\n.mdui-typo-display-2-opacity {\n font-weight: 400;\n font-size: 45px;\n letter-spacing: 0;\n}\n.mdui-typo-display-2-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-1 */\n.mdui-typo-display-1,\n.mdui-typo-display-1-opacity {\n font-weight: 400;\n font-size: 34px;\n letter-spacing: 0;\n}\n.mdui-typo-display-1-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-headline */\n.mdui-typo-headline,\n.mdui-typo-headline-opacity {\n font-weight: 400;\n font-size: 24px;\n -moz-osx-font-smoothing: grayscale;\n}\n.mdui-typo-headline-opacity {\n opacity: 0.87;\n}\n/* .mdui-typo-title */\n.mdui-typo-title,\n.mdui-typo-title-opacity {\n font-weight: 500;\n font-size: 20px;\n letter-spacing: 0.02em;\n}\n.mdui-typo-title-opacity {\n opacity: 0.87;\n}\n.mdui-typo-subheading,\n.mdui-typo-subheading-opacity {\n font-weight: 400;\n font-size: 16px;\n letter-spacing: 0.04em;\n}\n.mdui-typo-subheading-opacity {\n opacity: 0.87;\n}\n.mdui-typo-body-2,\n.mdui-typo-body-2-opacity {\n font-weight: 500;\n font-size: 14px;\n letter-spacing: 0.04em;\n}\n.mdui-typo-body-2-opacity {\n opacity: 0.87;\n}\n.mdui-typo-body-1,\n.mdui-typo-body-1-opacity {\n font-weight: 400;\n font-size: 14px;\n letter-spacing: 0.04em;\n}\n.mdui-typo-body-1-opacity {\n opacity: 0.87;\n}\n.mdui-typo-caption,\n.mdui-typo-caption-opacity {\n font-weight: 400;\n font-size: 12px;\n letter-spacing: 0.08em;\n}\n.mdui-typo-caption-opacity {\n opacity: 0.54;\n}\n/**\n * =============================================================================\n * ************ Typography 文章排版 ************\n * =============================================================================\n */\n.mdui-typo {\n line-height: 1.8;\n word-wrap: break-word;\n /* a */\n /* small */\n /* blockquote */\n /* mark */\n /* h1 - h6 */\n /* code */\n /* pre code */\n /* abbr */\n /* ins */\n /* u */\n /* del */\n /* hr */\n /* pre */\n /* kbd */\n /* ul / ol */\n /* img, video */\n}\n.mdui-typo address,\n.mdui-typo caption,\n.mdui-typo cite,\n.mdui-typo code,\n.mdui-typo dfn,\n.mdui-typo th {\n font-weight: 400;\n font-style: normal;\n}\n.mdui-typo caption,\n.mdui-typo th {\n text-align: left;\n}\n.mdui-typo q::before,\n.mdui-typo q::after {\n content: '';\n}\n.mdui-typo pre,\n.mdui-typo code,\n.mdui-typo kbd,\n.mdui-typo samp,\n.mdui-typo pre tt {\n font-family: Consolas, Courier, 'Courier New', monospace;\n}\n.mdui-typo figcaption {\n color: rgba(0, 0, 0, 0.54);\n font-size: 80%;\n}\n.mdui-typo [draggable],\n.mdui-typo [draggable=\"true\"] {\n cursor: move;\n}\n.mdui-typo [draggable=\"false\"] {\n cursor: inherit;\n}\n.mdui-typo p,\n.mdui-typo pre,\n.mdui-typo ul,\n.mdui-typo ol,\n.mdui-typo dl,\n.mdui-typo form,\n.mdui-typo hr,\n.mdui-typo figure,\n.mdui-typo table,\n.mdui-typo .mdui-table,\n.mdui-typo .mdui-table-fluid {\n margin: 0 0 1.2em 0;\n}\n.mdui-typo p:last-child,\n.mdui-typo pre:last-child,\n.mdui-typo ul:last-child,\n.mdui-typo ol:last-child,\n.mdui-typo dl:last-child,\n.mdui-typo form:last-child,\n.mdui-typo hr:last-child,\n.mdui-typo figure:last-child,\n.mdui-typo table:last-child,\n.mdui-typo .mdui-table:last-child,\n.mdui-typo .mdui-table-fluid:last-child {\n margin-bottom: 0;\n}\n.mdui-typo a {\n color: #FF4081;\n position: relative;\n display: inline-block;\n overflow: hidden;\n text-decoration: none;\n vertical-align: top;\n outline: none;\n}\n.mdui-typo a::before {\n position: absolute;\n top: auto;\n bottom: 1px;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: #FF4081;\n transform: scaleX(0);\n backface-visibility: hidden;\n transition: all 0.2s;\n content: ' ';\n}\n.mdui-typo a:hover::before,\n.mdui-typo a:focus::before {\n transform: scaleX(1);\n}\n.mdui-typo small {\n font-size: 80%;\n}\n.mdui-typo blockquote {\n margin: 1em 3em 1em 2em;\n padding-left: 1em;\n font-weight: 400;\n border-left: 4px solid rgba(0, 0, 0, 0.12);\n}\n@media only screen and (max-width: 599.9px) {\n .mdui-typo blockquote {\n margin: 1em 0;\n }\n}\n.mdui-typo blockquote:last-child {\n margin-bottom: 0;\n}\n.mdui-typo blockquote footer {\n color: rgba(0, 0, 0, 0.54);\n font-size: 86%;\n}\n.mdui-typo mark {\n margin: 0 5px;\n padding: 2px;\n background: #fffdd1;\n border-bottom: 1px solid #ffedce;\n}\n.mdui-typo h1,\n.mdui-typo h2,\n.mdui-typo h3,\n.mdui-typo h4,\n.mdui-typo h5,\n.mdui-typo h6 {\n margin-top: 1.2em;\n margin-bottom: 0.6em;\n color: inherit;\n font-weight: 400;\n font-family: inherit;\n line-height: 1.35;\n}\n.mdui-typo h1:last-child,\n.mdui-typo h2:last-child,\n.mdui-typo h3:last-child,\n.mdui-typo h4:last-child,\n.mdui-typo h5:last-child,\n.mdui-typo h6:last-child {\n margin-bottom: 0;\n}\n.mdui-typo h1 small,\n.mdui-typo h2 small,\n.mdui-typo h3 small,\n.mdui-typo h4 small,\n.mdui-typo h5 small,\n.mdui-typo h6 small {\n color: rgba(0, 0, 0, 0.54);\n font-weight: 400;\n font-size: 65%;\n line-height: 1;\n}\n.mdui-typo h1 {\n font-size: 2em;\n}\n.mdui-typo h2 {\n font-size: 1.8em;\n}\n.mdui-typo h3 {\n font-size: 1.6em;\n}\n.mdui-typo h4 {\n font-size: 1.4em;\n}\n.mdui-typo h5 {\n font-size: 1.2em;\n}\n.mdui-typo h6 {\n font-size: 1.1em;\n}\n.mdui-typo code {\n padding: 2px 6px;\n color: #c7254e;\n background-color: #f7f7f9;\n border-radius: 2px;\n}\n.mdui-typo pre code {\n padding: 0;\n color: inherit;\n font-size: inherit;\n line-height: 1.7;\n background-color: transparent;\n border-radius: 0;\n}\n.mdui-typo abbr[title] {\n text-decoration: none;\n border-bottom: 1px dotted;\n cursor: help;\n}\n.mdui-typo ins {\n text-decoration: none;\n border-bottom: 1px solid ;\n}\n.mdui-typo u {\n text-decoration: none;\n border-bottom: 1px solid;\n}\n.mdui-typo del {\n text-decoration: line-through;\n}\n.mdui-typo hr {\n height: 10px;\n margin-bottom: 0.8em;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-typo pre {\n padding: 12px 16px;\n overflow-x: auto;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-radius: 2px;\n -webkit-overflow-scrolling: touch;\n}\n.mdui-typo kbd {\n padding: 2px 6px;\n color: #fff;\n font-size: 90%;\n background-color: #333;\n border-radius: 2px;\n}\n.mdui-typo ul {\n padding-left: 2em;\n list-style: disc;\n}\n.mdui-typo ol {\n padding-left: 2em;\n list-style: decimal;\n}\n.mdui-typo li ul,\n.mdui-typo li ol {\n margin: 0.8em 0;\n}\n.mdui-typo li ul {\n list-style: circle;\n}\n.mdui-typo img,\n.mdui-typo video {\n max-width: 100%;\n}\n.mdui-typo figure {\n text-align: center;\n}\n.mdui-typo figure figcaption {\n margin-top: 8px;\n color: #999;\n font-size: 14px;\n}\n.mdui-typo figure figcaption:empty::before {\n z-index: -1;\n color: #bfbfbf;\n cursor: text;\n content: attr(placeholder);\n}\n/**\n * =============================================================================\n * ************ Typo 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-typo a {\n color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-typo a::before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-blue .mdui-typo a {\n color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-typo a::before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-typo a {\n color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-typo a::before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-typo a {\n color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-typo a::before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-typo a {\n color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-typo a::before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-typo a {\n color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-typo a::before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-typo a {\n color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-typo a::before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-typo a {\n color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-typo a::before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-typo a {\n color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-typo a::before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-typo a {\n color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-typo a::before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-typo a {\n color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-typo a::before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-typo a {\n color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-typo a::before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-purple .mdui-typo a {\n color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-typo a::before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-red .mdui-typo a {\n color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-typo a::before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-teal .mdui-typo a {\n color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-typo a::before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-typo a {\n color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-typo a::before {\n background-color: #FFFF00;\n}\n/**\n * =============================================================================\n * ************ Typo dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-typo blockquote {\n border-left-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-typo blockquote footer {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo figcaption {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo mark {\n background: #aaa;\n border-bottom-color: #bbb;\n}\n.mdui-theme-layout-dark .mdui-typo h1 small,\n.mdui-theme-layout-dark .mdui-typo h2 small,\n.mdui-theme-layout-dark .mdui-typo h3 small,\n.mdui-theme-layout-dark .mdui-typo h4 small,\n.mdui-theme-layout-dark .mdui-typo h5 small,\n.mdui-theme-layout-dark .mdui-typo h6 small {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo code {\n color: #FFCDD2;\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-typo pre {\n background: #424242;\n border-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-typo kbd {\n background: #424242;\n}\n.mdui-theme-layout-dark .mdui-typo hr {\n border-color: rgba(255, 255, 255, 0.12);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-typo blockquote {\n border-left-color: rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-typo blockquote footer {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-typo figcaption {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-typo mark {\n background: #aaa;\n border-bottom-color: #bbb;\n }\n .mdui-theme-layout-auto .mdui-typo h1 small,\n .mdui-theme-layout-auto .mdui-typo h2 small,\n .mdui-theme-layout-auto .mdui-typo h3 small,\n .mdui-theme-layout-auto .mdui-typo h4 small,\n .mdui-theme-layout-auto .mdui-typo h5 small,\n .mdui-theme-layout-auto .mdui-typo h6 small {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-typo code {\n color: #FFCDD2;\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-typo pre {\n background: #424242;\n border-color: rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-typo kbd {\n background: #424242;\n }\n .mdui-theme-layout-auto .mdui-typo hr {\n border-color: rgba(255, 255, 255, 0.12);\n }\n}\n/**\n * =============================================================================\n * ************ Grid 网格系统 ************\n * =============================================================================\n */\n.mdui-container,\n.mdui-container-fluid {\n box-sizing: border-box;\n margin-right: auto;\n margin-left: auto;\n padding-right: 8px;\n padding-left: 8px;\n}\n.mdui-container::after,\n.mdui-container-fluid::after {\n display: table;\n clear: both;\n content: '';\n}\n.mdui-container {\n width: 96%;\n max-width: 1280px;\n}\n@media (min-width: 600px) {\n .mdui-container {\n width: 94%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-container {\n width: 92%;\n }\n}\n.mdui-row,\n[class*=\"mdui-row-\"] {\n margin-right: -8px;\n margin-left: -8px;\n}\n.mdui-row::after,\n[class*=\"mdui-row-\"]::after {\n display: table;\n clear: both;\n content: '';\n}\n[class*=\"mdui-col-xs-\"],\n[class*=\"mdui-col-sm-\"],\n[class*=\"mdui-col-md-\"],\n[class*=\"mdui-col-lg-\"],\n[class*=\"mdui-col-xl-\"],\n.mdui-col {\n position: relative;\n box-sizing: border-box;\n min-height: 1px;\n padding-right: 8px;\n padding-left: 8px;\n}\n/* 取消列间距 */\n.mdui-row-gapless .mdui-col,\n.mdui-row-gapless [class*=\"mdui-col-xs-\"],\n.mdui-row-gapless [class*=\"mdui-col-sm-\"],\n.mdui-row-gapless [class*=\"mdui-col-md-\"],\n.mdui-row-gapless [class*=\"mdui-col-lg-\"],\n.mdui-row-gapless [class*=\"mdui-col-xl-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.mdui-row-gapless .mdui-row,\n.mdui-row-gapless [class*=\"mdui-row-\"] {\n margin-right: 0;\n margin-left: 0;\n}\n.mdui-col-xs-1 {\n float: left;\n width: 8.333333%;\n}\n.mdui-col-offset-xs-1 {\n margin-left: 8.333333%;\n}\n.mdui-row-xs-1 .mdui-col {\n float: left;\n width: 100%;\n}\n.mdui-col-xs-2 {\n float: left;\n width: 16.666667%;\n}\n.mdui-col-offset-xs-2 {\n margin-left: 16.666667%;\n}\n.mdui-row-xs-2 .mdui-col {\n float: left;\n width: 50%;\n}\n.mdui-col-xs-3 {\n float: left;\n width: 25%;\n}\n.mdui-col-offset-xs-3 {\n margin-left: 25%;\n}\n.mdui-row-xs-3 .mdui-col {\n float: left;\n width: 33.333333%;\n}\n.mdui-col-xs-4 {\n float: left;\n width: 33.333333%;\n}\n.mdui-col-offset-xs-4 {\n margin-left: 33.333333%;\n}\n.mdui-row-xs-4 .mdui-col {\n float: left;\n width: 25%;\n}\n.mdui-col-xs-5 {\n float: left;\n width: 41.666667%;\n}\n.mdui-col-offset-xs-5 {\n margin-left: 41.666667%;\n}\n.mdui-row-xs-5 .mdui-col {\n float: left;\n width: 20%;\n}\n.mdui-col-xs-6 {\n float: left;\n width: 50%;\n}\n.mdui-col-offset-xs-6 {\n margin-left: 50%;\n}\n.mdui-row-xs-6 .mdui-col {\n float: left;\n width: 16.666667%;\n}\n.mdui-col-xs-7 {\n float: left;\n width: 58.333333%;\n}\n.mdui-col-offset-xs-7 {\n margin-left: 58.333333%;\n}\n.mdui-row-xs-7 .mdui-col {\n float: left;\n width: 14.285714%;\n}\n.mdui-col-xs-8 {\n float: left;\n width: 66.666667%;\n}\n.mdui-col-offset-xs-8 {\n margin-left: 66.666667%;\n}\n.mdui-row-xs-8 .mdui-col {\n float: left;\n width: 12.5%;\n}\n.mdui-col-xs-9 {\n float: left;\n width: 75%;\n}\n.mdui-col-offset-xs-9 {\n margin-left: 75%;\n}\n.mdui-row-xs-9 .mdui-col {\n float: left;\n width: 11.111111%;\n}\n.mdui-col-xs-10 {\n float: left;\n width: 83.333333%;\n}\n.mdui-col-offset-xs-10 {\n margin-left: 83.333333%;\n}\n.mdui-row-xs-10 .mdui-col {\n float: left;\n width: 10%;\n}\n.mdui-col-xs-11 {\n float: left;\n width: 91.666667%;\n}\n.mdui-col-offset-xs-11 {\n margin-left: 91.666667%;\n}\n.mdui-row-xs-11 .mdui-col {\n float: left;\n width: 9.090909%;\n}\n.mdui-col-xs-12 {\n float: left;\n width: 100%;\n}\n.mdui-col-offset-xs-12 {\n margin-left: 100%;\n}\n.mdui-row-xs-12 .mdui-col {\n float: left;\n width: 8.333333%;\n}\n@media (min-width: 600px) {\n .mdui-col-sm-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-sm-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-sm-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-sm-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-sm-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-sm-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-sm-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-sm-3 {\n margin-left: 25%;\n }\n .mdui-row-sm-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-sm-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-sm-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-sm-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-sm-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-sm-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-sm-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-sm-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-sm-6 {\n margin-left: 50%;\n }\n .mdui-row-sm-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-sm-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-sm-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-sm-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-sm-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-sm-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-sm-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-sm-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-sm-9 {\n margin-left: 75%;\n }\n .mdui-row-sm-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-sm-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-sm-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-sm-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-sm-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-sm-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-sm-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-sm-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-sm-12 {\n margin-left: 100%;\n }\n .mdui-row-sm-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-col-md-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-md-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-md-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-md-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-md-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-md-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-md-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-md-3 {\n margin-left: 25%;\n }\n .mdui-row-md-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-md-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-md-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-md-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-md-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-md-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-md-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-md-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-md-6 {\n margin-left: 50%;\n }\n .mdui-row-md-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-md-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-md-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-md-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-md-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-md-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-md-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-md-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-md-9 {\n margin-left: 75%;\n }\n .mdui-row-md-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-md-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-md-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-md-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-md-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-md-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-md-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-md-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-md-12 {\n margin-left: 100%;\n }\n .mdui-row-md-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1440px) {\n .mdui-col-lg-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-lg-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-lg-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-lg-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-lg-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-lg-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-lg-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-lg-3 {\n margin-left: 25%;\n }\n .mdui-row-lg-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-lg-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-lg-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-lg-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-lg-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-lg-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-lg-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-lg-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-lg-6 {\n margin-left: 50%;\n }\n .mdui-row-lg-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-lg-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-lg-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-lg-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-lg-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-lg-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-lg-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-lg-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-lg-9 {\n margin-left: 75%;\n }\n .mdui-row-lg-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-lg-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-lg-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-lg-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-lg-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-lg-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-lg-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-lg-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-lg-12 {\n margin-left: 100%;\n }\n .mdui-row-lg-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1920px) {\n .mdui-col-xl-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-xl-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-xl-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-xl-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-xl-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-xl-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-xl-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-xl-3 {\n margin-left: 25%;\n }\n .mdui-row-xl-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-xl-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-xl-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-xl-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-xl-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-xl-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-xl-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-xl-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-xl-6 {\n margin-left: 50%;\n }\n .mdui-row-xl-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-xl-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-xl-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-xl-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-xl-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-xl-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-xl-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-xl-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-xl-9 {\n margin-left: 75%;\n }\n .mdui-row-xl-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-xl-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-xl-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-xl-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-xl-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-xl-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-xl-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-xl-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-xl-12 {\n margin-left: 100%;\n }\n .mdui-row-xl-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n/**\n * =============================================================================\n * ************ Shadow 阴影 ************\n * =============================================================================\n */\n.mdui-shadow-0 {\n box-shadow: none !important;\n}\n.mdui-shadow-1 {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-2 {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-3 {\n box-shadow: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-4 {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-5 {\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 5px 8px 0 rgba(0, 0, 0, 0.14), 0 1px 14px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-6 {\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-7 {\n box-shadow: 0 4px 5px -2px rgba(0, 0, 0, 0.2), 0 7px 10px 1px rgba(0, 0, 0, 0.14), 0 2px 16px 1px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-8 {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-9 {\n box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-10 {\n box-shadow: 0 6px 6px -3px rgba(0, 0, 0, 0.2), 0 10px 14px 1px rgba(0, 0, 0, 0.14), 0 4px 18px 3px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-11 {\n box-shadow: 0 6px 7px -4px rgba(0, 0, 0, 0.2), 0 11px 15px 1px rgba(0, 0, 0, 0.14), 0 4px 20px 3px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-12 {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-13 {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 13px 19px 2px rgba(0, 0, 0, 0.14), 0 5px 24px 4px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-14 {\n box-shadow: 0 7px 9px -4px rgba(0, 0, 0, 0.2), 0 14px 21px 2px rgba(0, 0, 0, 0.14), 0 5px 26px 4px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-15 {\n box-shadow: 0 8px 9px -5px rgba(0, 0, 0, 0.2), 0 15px 22px 2px rgba(0, 0, 0, 0.14), 0 6px 28px 5px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-16 {\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-17 {\n box-shadow: 0 8px 11px -5px rgba(0, 0, 0, 0.2), 0 17px 26px 2px rgba(0, 0, 0, 0.14), 0 6px 32px 5px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-18 {\n box-shadow: 0 9px 11px -5px rgba(0, 0, 0, 0.2), 0 18px 28px 2px rgba(0, 0, 0, 0.14), 0 7px 34px 6px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-19 {\n box-shadow: 0 9px 12px -6px rgba(0, 0, 0, 0.2), 0 19px 29px 2px rgba(0, 0, 0, 0.14), 0 7px 36px 6px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-20 {\n box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 20px 31px 3px rgba(0, 0, 0, 0.14), 0 8px 38px 7px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-21 {\n box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 21px 33px 3px rgba(0, 0, 0, 0.14), 0 8px 40px 7px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-22 {\n box-shadow: 0 10px 14px -6px rgba(0, 0, 0, 0.2), 0 22px 35px 3px rgba(0, 0, 0, 0.14), 0 8px 42px 7px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-23 {\n box-shadow: 0 11px 14px -7px rgba(0, 0, 0, 0.2), 0 23px 36px 3px rgba(0, 0, 0, 0.14), 0 9px 44px 8px rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-shadow-24 {\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12) !important;\n}\n/* 鼠标悬浮时加深阴影 */\n.mdui-hoverable {\n transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: box-shadow;\n}\n.mdui-hoverable:hover,\n.mdui-hoverable:focus {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n/**\n * =============================================================================\n * ************ Headroom ************\n * =============================================================================\n */\n.mdui-headroom {\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;\n}\n/* 固定在顶部时 */\n.mdui-headroom-pinned-top {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 在顶部隐藏时 */\n.mdui-headroom-unpinned-top {\n transform: translate3d(0, -100%, 0) !important;\n box-shadow: none !important;\n}\n/* 固定在底部时 */\n.mdui-headroom-pinned-down {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 在底部隐藏时 */\n.mdui-headroom-unpinned-down {\n transform: translate3d(0, 100%, 0) !important;\n box-shadow: none !important;\n}\n/* 固定应用栏中的工具栏 */\n.mdui-headroom-pinned-toolbar {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 隐藏应用栏中的工具栏 */\n.mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -56px, 0) !important;\n}\n@media (min-width: 600px) {\n .mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -64px, 0) !important;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -48px, 0) !important;\n }\n}\n/**\n * =============================================================================\n * ************ Collapse 折叠插件 ************\n * =============================================================================\n */\n.mdui-collapse-item-header .mdui-collapse-item-arrow,\n.mdui-collapse-item-header.mdui-collapse-item-arrow {\n transform: rotate(0);\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n}\n.mdui-collapse-item-body {\n height: 0;\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 0;\n padding-bottom: 0;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: height;\n}\n.mdui-collapse-item-body .mdui-list-item {\n padding-left: 72px;\n}\n.mdui-collapse-item-open > .mdui-collapse-item-header .mdui-collapse-item-arrow,\n.mdui-collapse-item-open > .mdui-collapse-item-header.mdui-collapse-item-arrow {\n transform: rotate(180deg);\n}\n.mdui-collapse-item-open > .mdui-collapse-item-body {\n height: auto;\n}\n/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n/* 可扩展面板 */\n.mdui-panel {\n box-sizing: border-box;\n width: 100%;\n}\n/* 面板项 */\n.mdui-panel-item {\n color: rgba(0, 0, 0, 0.87);\n background-color: #fff;\n transition: margin 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: margin;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-item:last-child {\n border-bottom: none;\n}\n/* 面板头部 */\n.mdui-panel-item-header {\n position: relative;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n height: 48px;\n padding: 0 24px;\n font-size: 15px;\n cursor: pointer;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: height, background-color;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-panel-item-header:active {\n background-color: #EEEEEE;\n}\n/* 面板项标题 */\n.mdui-panel-item-title {\n box-sizing: border-box;\n width: 36%;\n min-width: 36%;\n padding-right: 16px;\n font-weight: 500;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/* 面板项内容 */\n.mdui-panel-item-summary {\n flex-grow: 1;\n box-sizing: border-box;\n padding-right: 16px;\n color: rgba(0, 0, 0, 0.54);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/* 展开收起的图标 */\n.mdui-panel-item-arrow {\n position: absolute;\n top: 12px;\n right: 24px;\n color: rgba(0, 0, 0, 0.54);\n transform: rotate(0);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n user-select: none;\n will-change: transform, top;\n}\n.mdui-panel-item-summary + .mdui-panel-item-arrow {\n position: relative;\n top: 0 !important;\n right: 0;\n}\n/* 面板项内容 */\n.mdui-panel-item-body {\n height: 0;\n padding: 0 24px;\n overflow: hidden;\n transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: height;\n}\n.mdui-panel-item-body::before,\n.mdui-panel-item-body::after {\n display: table;\n content: ' ';\n}\n.mdui-panel-item-body::after {\n clear: both;\n}\n.mdui-panel-item-body::before,\n.mdui-panel-item-body::after {\n display: table;\n content: ' ';\n}\n.mdui-panel-item-body::after {\n clear: both;\n}\n.mdui-panel-item-body::after {\n height: 16px;\n}\n/* 面板项操作栏 */\n.mdui-panel-item-actions {\n display: block;\n width: 100%;\n margin: 16px -24px 0 -24px;\n padding: 16px 24px 0 24px;\n text-align: right;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-item-actions .mdui-btn {\n margin-left: 8px;\n}\n.mdui-panel-item-actions .mdui-btn:first-child {\n margin-left: 0;\n}\n/* 打开状态的面板项 */\n.mdui-panel-item-open {\n height: auto;\n margin-top: 16px;\n margin-bottom: 16px;\n}\n.mdui-panel-item-open > .mdui-panel-item-header {\n height: 64px;\n}\n.mdui-panel-item-open > .mdui-panel-item-header .mdui-panel-item-arrow {\n top: 20px;\n transform: rotate(180deg);\n}\n.mdui-panel-item-open > .mdui-panel-item-body {\n height: auto;\n}\n/* 使打开项上下没有边距 */\n.mdui-panel-gapless {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-gapless .mdui-panel-item {\n box-shadow: none;\n}\n.mdui-panel-gapless .mdui-panel-item-open {\n margin-top: 0;\n margin-bottom: 0;\n}\n/* 弹出面板 */\n.mdui-panel-popout .mdui-panel-item-open {\n margin-right: -16px;\n margin-left: -16px;\n}\n/**\n * =============================================================================\n * ************ Expansion panel dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark {\n /* stylelint-disable-next-line */\n}\n.mdui-theme-layout-dark .mdui-panel-item {\n color: #fff;\n background-color: #303030;\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-panel-item:last-child {\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-panel-item-header:active {\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-panel-item-summary {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-panel-item-arrow {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-panel-item-actions {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto {\n /* stylelint-disable-next-line */\n }\n .mdui-theme-layout-auto .mdui-panel-item {\n color: #fff;\n background-color: #303030;\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-panel-item:last-child {\n border-bottom: none;\n }\n .mdui-theme-layout-auto .mdui-panel-item-header:active {\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-panel-item-summary {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-panel-item-arrow {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-panel-item-actions {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n}\n/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n.mdui-table {\n position: relative;\n width: 100%;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n border-collapse: separate;\n border-spacing: 0;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-table tbody tr {\n position: relative;\n transition: background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-table th,\n.mdui-table td {\n position: relative;\n box-sizing: border-box;\n padding: 12px 28px;\n text-align: left;\n vertical-align: middle;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-table th {\n color: rgba(0, 0, 0, 0.54);\n font-weight: 700;\n font-size: 13px;\n line-height: 32px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-table td {\n color: rgba(0, 0, 0, 0.87);\n font-size: 14px;\n line-height: 24px;\n}\n/* 每一行前面的复选框 */\n.mdui-table-cell-checkbox {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n padding-left: 24px !important;\n}\n.mdui-table-cell-checkbox .mdui-checkbox {\n margin-top: 7px;\n}\n.mdui-table-cell-checkbox + td,\n.mdui-table-cell-checkbox + th {\n padding-left: 6px !important;\n}\nth.mdui-table-cell-checkbox .mdui-checkbox {\n margin-top: 11px;\n}\n.mdui-table th:last-child,\n.mdui-table td:last-child {\n padding-right: 24px;\n}\n.mdui-table th:first-child,\n.mdui-table td:first-child {\n padding-right: 0;\n padding-left: 24px;\n}\n.mdui-table th:nth-child(2),\n.mdui-table td:nth-child(2) {\n padding-left: 24px;\n}\n/* 鼠标悬浮时行背景加深 */\n.mdui-table-hoverable tbody tr:hover {\n background-color: #EEEEEE;\n}\n/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */\n.mdui-table-fluid {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-table-fluid .mdui-table {\n box-shadow: none;\n margin: 0;\n border: none;\n}\n/* 数字列,右对齐 */\n.mdui-table-col-numeric {\n text-align: right !important;\n}\n/* 行处于选中状态 */\n.mdui-table-row-selected {\n background-color: #F5F5F5;\n}\n/**\n * =============================================================================\n * ************ Table dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-table {\n background-color: #303030;\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-table th,\n.mdui-theme-layout-dark .mdui-table td {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-table th {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-table td {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-table-fluid {\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-table-fluid .mdui-table {\n box-shadow: none;\n border: none;\n}\n.mdui-theme-layout-dark .mdui-table-row-selected {\n background-color: #424242;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-table {\n background-color: #303030;\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n }\n .mdui-theme-layout-auto .mdui-table th,\n .mdui-theme-layout-auto .mdui-table td {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-table th {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-table td {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-table-hoverable tbody tr:hover {\n background-color: #616161;\n }\n .mdui-theme-layout-auto .mdui-table-fluid {\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n }\n .mdui-theme-layout-auto .mdui-table-fluid .mdui-table {\n box-shadow: none;\n border: none;\n }\n .mdui-theme-layout-auto .mdui-table-row-selected {\n background-color: #424242;\n }\n}\n/**\n * =============================================================================\n * ************ Divider 分割线 ************\n * =============================================================================\n */\n.mdui-divider,\n.mdui-divider-light,\n.mdui-divider-dark,\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n height: 1px;\n margin: -1px 0 0 0;\n border: none;\n}\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin-left: 72px;\n}\n.mdui-divider,\n.mdui-divider-inset {\n background-color: rgba(0, 0, 0, 0.12);\n}\n.mdui-divider-light,\n.mdui-divider-inset-light {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-divider-dark,\n.mdui-divider-inset-dark {\n background-color: rgba(0, 0, 0, 0.12);\n}\n/**\n * =============================================================================\n * ************ Divider dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-divider,\n.mdui-theme-layout-dark .mdui-divider-inset {\n background-color: rgba(255, 255, 255, 0.12);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-divider,\n .mdui-theme-layout-auto .mdui-divider-inset {\n background-color: rgba(255, 255, 255, 0.12);\n }\n}\n/**\n * =============================================================================\n * ************ 涟漪动画 ************\n * =============================================================================\n */\n.mdui-ripple {\n position: relative;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n}\n/* Ripple */\n.mdui-ripple-wave {\n position: absolute !important;\n top: 0;\n left: 0;\n z-index: 1;\n margin: 0;\n padding: 0;\n font-size: 0;\n background-color: rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n transform: translate3d(0, 0, 0) scale(0);\n transition-duration: 1400ms;\n pointer-events: none;\n}\n/* 有背景色的默认使用白色涟漪 */\n.mdui-ripple[class*=\"mdui-color-\"] .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n}\n/* 白色涟漪 */\n.mdui-ripple-white .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n/* 黑色涟漪 */\n.mdui-ripple-black .mdui-ripple-wave {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n.mdui-ripple-wave-fill {\n opacity: 0.35;\n transition-duration: 300ms;\n}\n.mdui-ripple-wave-out {\n opacity: 0;\n transition-duration: 600ms;\n}\n/**\n * =============================================================================\n * ************ Ripple 颜色 ************\n * =============================================================================\n */\n.mdui-ripple-amber .mdui-ripple-wave {\n background-color: rgba(255, 193, 7, 0.3) !important;\n}\n.mdui-ripple-blue .mdui-ripple-wave {\n background-color: rgba(33, 150, 243, 0.3) !important;\n}\n.mdui-ripple-blue-grey .mdui-ripple-wave {\n background-color: rgba(96, 125, 139, 0.3) !important;\n}\n.mdui-ripple-brown .mdui-ripple-wave {\n background-color: rgba(121, 85, 72, 0.3) !important;\n}\n.mdui-ripple-cyan .mdui-ripple-wave {\n background-color: rgba(0, 188, 212, 0.3) !important;\n}\n.mdui-ripple-deep-orange .mdui-ripple-wave {\n background-color: rgba(255, 87, 34, 0.3) !important;\n}\n.mdui-ripple-deep-purple .mdui-ripple-wave {\n background-color: rgba(103, 58, 183, 0.3) !important;\n}\n.mdui-ripple-green .mdui-ripple-wave {\n background-color: rgba(76, 175, 80, 0.3) !important;\n}\n.mdui-ripple-grey .mdui-ripple-wave {\n background-color: rgba(158, 158, 158, 0.3) !important;\n}\n.mdui-ripple-indigo .mdui-ripple-wave {\n background-color: rgba(63, 81, 181, 0.3) !important;\n}\n.mdui-ripple-light-blue .mdui-ripple-wave {\n background-color: rgba(3, 169, 244, 0.3) !important;\n}\n.mdui-ripple-light-green .mdui-ripple-wave {\n background-color: rgba(139, 195, 74, 0.3) !important;\n}\n.mdui-ripple-lime .mdui-ripple-wave {\n background-color: rgba(205, 220, 57, 0.3) !important;\n}\n.mdui-ripple-orange .mdui-ripple-wave {\n background-color: rgba(255, 152, 0, 0.3) !important;\n}\n.mdui-ripple-pink .mdui-ripple-wave {\n background-color: rgba(233, 30, 99, 0.3) !important;\n}\n.mdui-ripple-purple .mdui-ripple-wave {\n background-color: rgba(156, 39, 176, 0.3) !important;\n}\n.mdui-ripple-red .mdui-ripple-wave {\n background-color: rgba(244, 67, 54, 0.3) !important;\n}\n.mdui-ripple-teal .mdui-ripple-wave {\n background-color: rgba(0, 150, 136, 0.3) !important;\n}\n.mdui-ripple-yellow .mdui-ripple-wave {\n background-color: rgba(255, 235, 59, 0.3) !important;\n}\n/**\n * =============================================================================\n * ************ Ripple dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n}\n/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n/* 文本框外层 */\n.mdui-textfield {\n position: relative;\n padding-top: 16px;\n padding-bottom: 8px;\n overflow: hidden;\n}\n.mdui-textfield-has-bottom {\n padding-bottom: 28px;\n}\n/* 输入框 */\n.mdui-textfield-input {\n display: block;\n box-sizing: border-box;\n width: 100%;\n height: 36px;\n margin: 0;\n padding: 8px 0;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.87);\n font-size: 16px;\n font-family: inherit;\n line-height: 20px;\n background: none;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.42);\n border-radius: 0;\n outline: none;\n box-shadow: none;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.2s;\n transition-property: border-bottom-color, padding-right, box-shadow;\n appearance: none;\n resize: none;\n}\n.mdui-textfield-input::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.42;\n}\n.mdui-textfield-input:not([disabled]):hover {\n border-bottom: 1px solid rgba(0, 0, 0, 0.87);\n box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.87);\n cursor: pointer;\n}\n.mdui-textfield-input[rows] {\n height: auto !important;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n/* 文本框 label */\n.mdui-textfield-label {\n display: block;\n width: 100%;\n color: rgba(0, 0, 0, 0.54);\n font-size: 16px;\n transform: scale(0.75) translateY(0);\n transform-origin: left;\n transition: all 0.2s;\n pointer-events: none;\n}\n/* 表单验证错误提示、帮助文本提示 */\n.mdui-textfield-error,\n.mdui-textfield-helper {\n position: absolute;\n bottom: 8px;\n height: 12px;\n font-size: 12px;\n line-height: 12px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-textfield-error {\n color: rgba(255, 23, 68, 0.87);\n visibility: hidden;\n}\n.mdui-textfield-helper {\n color: rgba(0, 0, 0, 0.54);\n}\n/* 表单中的图标\n ========== */\n.mdui-textfield .mdui-icon {\n position: absolute;\n bottom: 8px;\n padding: 6px;\n color: rgba(0, 0, 0, 0.54);\n}\n.mdui-textfield .mdui-icon ~ .mdui-textfield-label,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-input,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-error,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-helper,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-flex-wrap {\n /* stylelint-disable-next-line */\n width: calc(100% - 56px);\n margin-left: 56px;\n}\n.mdui-textfield-has-bottom .mdui-icon {\n bottom: 28px;\n}\n/* 聚焦状态的文本框\n ============= */\n.mdui-textfield-focus .mdui-textfield-input,\n.mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #C51162;\n box-shadow: 0 1px 0 0 #C51162;\n}\n.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-focus .mdui-icon {\n color: rgba(197, 17, 98, 0.87);\n}\n/* 含有浮动标签的文本框\n ================ */\n.mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(0, 0, 0, 0.35);\n transform: scale(1) translateY(27px);\n}\n.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label {\n color: rgba(0, 0, 0, 0.65);\n transform: scale(0.75) translateY(0);\n}\n.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label {\n color: #E91E63;\n}\n/* 可展开文本框,默认向右展开\n ========== */\n.mdui-textfield-expandable {\n width: 36px;\n min-height: 36px;\n padding: 1px 0;\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-textfield-expandable .mdui-icon {\n bottom: 0;\n padding: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-input {\n /* stylelint-disable-next-line */\n width: calc(100% - 36px);\n margin-left: 36px;\n padding-right: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-icon {\n position: absolute;\n top: 0;\n left: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-close {\n position: absolute;\n top: 0;\n right: 0;\n transform: scale(0);\n}\n.mdui-textfield-expandable.mdui-textfield-expanded {\n width: 100%;\n}\n.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input {\n padding-right: 36px;\n}\n.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close {\n transform: scale(1);\n}\n/* 表单验证不通过\n =========== */\n.mdui-textfield-invalid .mdui-textfield-input,\n.mdui-textfield-invalid-html5 .mdui-textfield-input,\n.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input,\n.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF1744 !important;\n box-shadow: 0 1px 0 0 #FF1744 !important;\n}\n.mdui-textfield-invalid .mdui-textfield-label,\n.mdui-textfield-invalid-html5 .mdui-textfield-label {\n color: #FF1744 !important;\n}\n.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 23, 68, 0.35) !important;\n}\n.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label {\n color: #FF1744 !important;\n}\n.mdui-textfield-invalid .mdui-textfield-error,\n.mdui-textfield-invalid-html5 .mdui-textfield-error {\n visibility: visible;\n}\n.mdui-textfield-invalid .mdui-textfield-error + .mdui-textfield-helper,\n.mdui-textfield-invalid-html5 .mdui-textfield-error + .mdui-textfield-helper {\n visibility: hidden;\n}\n/* 禁用表单\n ====== */\n.mdui-textfield-disabled .mdui-textfield-label,\n.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.38);\n}\n.mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(0, 0, 0, 0.42);\n cursor: default;\n}\n.mdui-textfield-disabled .mdui-textfield-input {\n border-bottom: 1px dashed rgba(0, 0, 0, 0.42);\n}\n/* 字数统计\n ====== */\n.mdui-textfield-counter {\n position: absolute;\n right: 8px;\n bottom: 8px;\n height: 12px;\n color: rgba(0, 0, 0, 0.54);\n font-size: 12px;\n line-height: 12px;\n}\n/**\n * =============================================================================\n * ************ Textfield dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover {\n border-bottom-color: #ffffff;\n box-shadow: 0 1px 0 0 #ffffff;\n}\n.mdui-theme-layout-dark .mdui-textfield .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n}\n.mdui-theme-layout-dark .mdui-textfield-error {\n color: #FF1744;\n}\n.mdui-theme-layout-dark .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-counter {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input,\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n}\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label {\n color: #FF4081;\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label,\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, 0.7);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto .mdui-textfield-input:not([disabled]):hover {\n border-bottom-color: #ffffff;\n box-shadow: 0 1px 0 0 #ffffff;\n }\n .mdui-theme-layout-auto .mdui-textfield .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n }\n .mdui-theme-layout-auto .mdui-textfield-error {\n color: #FF1744;\n }\n .mdui-theme-layout-auto .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-counter {\n color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input,\n .mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n }\n .mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label {\n color: #FF4081;\n }\n .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-label,\n .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto .mdui-textfield-disabled .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, 0.7);\n }\n}\n/**\n * =============================================================================\n * ************ Textfield 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB00;\n box-shadow: 0 1px 0 0 #FFAB00;\n}\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 171, 0, 0.87);\n}\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD740;\n box-shadow: 0 1px 0 0 #FFD740;\n}\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFD740;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD740;\n box-shadow: 0 1px 0 0 #FFD740;\n }\n .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-amber.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FFD740;\n }\n}\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #2962FF;\n box-shadow: 0 1px 0 0 #2962FF;\n}\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon {\n color: rgba(41, 98, 255, 0.87);\n}\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #448AFF;\n box-shadow: 0 1px 0 0 #448AFF;\n}\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #448AFF;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #448AFF;\n box-shadow: 0 1px 0 0 #448AFF;\n }\n .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #448AFF;\n }\n}\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00B8D4;\n box-shadow: 0 1px 0 0 #00B8D4;\n}\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 184, 212, 0.87);\n}\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #18FFFF;\n box-shadow: 0 1px 0 0 #18FFFF;\n}\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #18FFFF;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #18FFFF;\n box-shadow: 0 1px 0 0 #18FFFF;\n }\n .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-cyan.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #18FFFF;\n }\n}\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #DD2C00;\n box-shadow: 0 1px 0 0 #DD2C00;\n}\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon {\n color: rgba(221, 44, 0, 0.87);\n}\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6E40;\n box-shadow: 0 1px 0 0 #FF6E40;\n}\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF6E40;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6E40;\n box-shadow: 0 1px 0 0 #FF6E40;\n }\n .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-deep-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FF6E40;\n }\n}\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #6200EA;\n box-shadow: 0 1px 0 0 #6200EA;\n}\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon {\n color: rgba(98, 0, 234, 0.87);\n}\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #7C4DFF;\n box-shadow: 0 1px 0 0 #7C4DFF;\n}\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #7C4DFF;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #7C4DFF;\n box-shadow: 0 1px 0 0 #7C4DFF;\n }\n .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-deep-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #7C4DFF;\n }\n}\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00C853;\n box-shadow: 0 1px 0 0 #00C853;\n}\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 200, 83, 0.87);\n}\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #69F0AE;\n box-shadow: 0 1px 0 0 #69F0AE;\n}\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #69F0AE;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #69F0AE;\n box-shadow: 0 1px 0 0 #69F0AE;\n }\n .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #69F0AE;\n }\n}\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #304FFE;\n box-shadow: 0 1px 0 0 #304FFE;\n}\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon {\n color: rgba(48, 79, 254, 0.87);\n}\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #536DFE;\n box-shadow: 0 1px 0 0 #536DFE;\n}\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #536DFE;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #536DFE;\n box-shadow: 0 1px 0 0 #536DFE;\n }\n .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-indigo.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #536DFE;\n }\n}\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #0091EA;\n box-shadow: 0 1px 0 0 #0091EA;\n}\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 145, 234, 0.87);\n}\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #40C4FF;\n box-shadow: 0 1px 0 0 #40C4FF;\n}\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #40C4FF;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #40C4FF;\n box-shadow: 0 1px 0 0 #40C4FF;\n }\n .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-light-blue.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #40C4FF;\n }\n}\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64DD17;\n box-shadow: 0 1px 0 0 #64DD17;\n}\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon {\n color: rgba(100, 221, 23, 0.87);\n}\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #B2FF59;\n box-shadow: 0 1px 0 0 #B2FF59;\n}\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #B2FF59;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #B2FF59;\n box-shadow: 0 1px 0 0 #B2FF59;\n }\n .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-light-green.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #B2FF59;\n }\n}\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #AEEA00;\n box-shadow: 0 1px 0 0 #AEEA00;\n}\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon {\n color: rgba(174, 234, 0, 0.87);\n}\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #EEFF41;\n box-shadow: 0 1px 0 0 #EEFF41;\n}\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #EEFF41;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #EEFF41;\n box-shadow: 0 1px 0 0 #EEFF41;\n }\n .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-lime.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #EEFF41;\n }\n}\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6D00;\n box-shadow: 0 1px 0 0 #FF6D00;\n}\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 109, 0, 0.87);\n}\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB40;\n box-shadow: 0 1px 0 0 #FFAB40;\n}\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFAB40;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB40;\n box-shadow: 0 1px 0 0 #FFAB40;\n }\n .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-orange.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FFAB40;\n }\n}\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #C51162;\n box-shadow: 0 1px 0 0 #C51162;\n}\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon {\n color: rgba(197, 17, 98, 0.87);\n}\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n}\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF4081;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n }\n .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-pink.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FF4081;\n }\n}\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #AA00FF;\n box-shadow: 0 1px 0 0 #AA00FF;\n}\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon {\n color: rgba(170, 0, 255, 0.87);\n}\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #E040FB;\n box-shadow: 0 1px 0 0 #E040FB;\n}\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #E040FB;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #E040FB;\n box-shadow: 0 1px 0 0 #E040FB;\n }\n .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-purple.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #E040FB;\n }\n}\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #D50000;\n box-shadow: 0 1px 0 0 #D50000;\n}\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon {\n color: rgba(213, 0, 0, 0.87);\n}\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF5252;\n box-shadow: 0 1px 0 0 #FF5252;\n}\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF5252;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF5252;\n box-shadow: 0 1px 0 0 #FF5252;\n }\n .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-red.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FF5252;\n }\n}\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00BFA5;\n box-shadow: 0 1px 0 0 #00BFA5;\n}\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 191, 165, 0.87);\n}\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64FFDA;\n box-shadow: 0 1px 0 0 #64FFDA;\n}\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #64FFDA;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64FFDA;\n box-shadow: 0 1px 0 0 #64FFDA;\n }\n .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-teal.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #64FFDA;\n }\n}\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD600;\n box-shadow: 0 1px 0 0 #FFD600;\n}\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 214, 0, 0.87);\n}\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFFF00;\n box-shadow: 0 1px 0 0 #FFFF00;\n}\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFFF00;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFFF00;\n box-shadow: 0 1px 0 0 #FFFF00;\n }\n .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-theme-accent-yellow.mdui-theme-layout-auto .mdui-textfield-focus .mdui-icon {\n color: #FFFF00;\n }\n}\n/**\n * =============================================================================\n * ************ Checkbox 复选框 ************\n * =============================================================================\n */\n.mdui-checkbox {\n position: relative;\n display: inline-block;\n height: 36px;\n padding-left: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-checkbox input[type=\"checkbox\"] {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n}\n/* 透明的圆形,用于生成圆形阴影 */\n.mdui-checkbox-icon {\n position: absolute;\n top: 9px;\n left: 0;\n display: inline-block;\n width: 18px;\n height: 18px;\n vertical-align: middle;\n background-color: transparent;\n border: none;\n border-radius: 18px;\n transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-checkbox-icon::after {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 0;\n box-sizing: border-box;\n width: 18px;\n height: 18px;\n border: 2px solid rgba(0, 0, 0, 0.54);\n border-radius: 2px;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n content: ' ';\n}\n.mdui-checkbox-icon::before {\n position: absolute;\n top: 2px;\n left: 0;\n z-index: 1;\n box-sizing: border-box;\n width: 8px;\n height: 13px;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transform: rotateZ(37deg) scale(0);\n transform-origin: 100% 100%;\n opacity: 0;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n content: ' ';\n}\n/* 各种状态的图标 */\n.mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after {\n background-color: #FF4081;\n border-color: #FF4081;\n}\n.mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::before {\n transform: rotateZ(37deg) scale(1);\n opacity: 1;\n}\n.mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FF4081;\n border-color: #FF4081;\n}\n.mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::before {\n top: 8px;\n left: 3px;\n width: 12px;\n height: 0;\n border-right: none;\n border-bottom: 2px solid #fff;\n border-radius: 1px;\n transform: rotateZ(0) scale(1);\n opacity: 1;\n}\n.mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon::after {\n border-color: rgba(0, 0, 0, 0.26);\n}\n.mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon::after,\n.mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon::after {\n background-color: rgba(0, 0, 0, 0.26) !important;\n border-color: transparent !important;\n}\n/* 阴影 */\n.mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n.mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/**\n * =============================================================================\n * ************ Checkbox 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FFD740;\n border-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #448AFF;\n border-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #18FFFF;\n border-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FF6E40;\n border-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #7C4DFF;\n border-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #69F0AE;\n border-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #536DFE;\n border-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #40C4FF;\n border-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #B2FF59;\n border-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #EEFF41;\n border-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FFAB40;\n border-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FF4081;\n border-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #E040FB;\n border-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FF5252;\n border-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #64FFDA;\n border-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon::after,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon::after {\n background-color: #FFFF00;\n border-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Checkbox dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-checkbox-icon::after {\n border-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-checkbox-icon::before {\n border-right-color: #303030 !important;\n border-bottom-color: #303030 !important;\n}\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon::after {\n border-color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon::after,\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon::after {\n background-color: rgba(255, 255, 255, 0.3) !important;\n border-color: transparent !important;\n}\n.mdui-theme-layout-dark .mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-checkbox-icon::after {\n border-color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-checkbox-icon::before {\n border-right-color: #303030 !important;\n border-bottom-color: #303030 !important;\n }\n .mdui-theme-layout-auto .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon::after {\n border-color: rgba(255, 255, 255, 0.3);\n }\n .mdui-theme-layout-auto .mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon::after,\n .mdui-theme-layout-auto .mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon::after {\n background-color: rgba(255, 255, 255, 0.3) !important;\n border-color: transparent !important;\n }\n .mdui-theme-layout-auto .mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n .mdui-theme-layout-auto .mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n}\n/**\n * =============================================================================\n * ************ Radio 单选框 ************\n * =============================================================================\n */\n.mdui-radio {\n position: relative;\n display: inline-block;\n height: 36px;\n padding-left: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-radio input {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n}\n/* 图标外圈 */\n.mdui-radio-icon {\n position: absolute;\n top: 9px;\n left: 0;\n display: inline-block;\n box-sizing: border-box;\n width: 18px;\n height: 18px;\n vertical-align: middle;\n border: 2px solid rgba(0, 0, 0, 0.54);\n border-radius: 18px;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-radio-icon::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n height: 14px;\n background-color: #FF4081;\n border-radius: 14px;\n transform: scale(0);\n opacity: 0;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n content: ' ';\n}\n/* 选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF4081;\n}\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n transform: scale(0.68);\n opacity: 1;\n}\n/* 禁用状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 禁用且选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon::before {\n background-color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 未选中、禁用时 按下的阴影 */\n.mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n.mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n/* 已选中时按下的阴影 */\n.mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon::before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon::before {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n }\n .mdui-theme-layout-auto .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.3) !important;\n }\n .mdui-theme-layout-auto .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon::before {\n background-color: rgba(255, 255, 255, 0.3) !important;\n }\n .mdui-theme-layout-auto .mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n .mdui-theme-layout-auto .mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n}\n/**\n * =============================================================================\n * ************ Switch 单选框 ************\n * =============================================================================\n */\n.mdui-switch {\n display: inline-block;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-switch input {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n}\n/* 图标轨道 */\n.mdui-switch-icon {\n position: relative;\n display: inline-block;\n width: 36px;\n height: 14px;\n vertical-align: middle;\n background-color: rgba(0, 0, 0, 0.38);\n border-radius: 14px;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-switch-icon::before {\n position: absolute;\n top: -3px;\n left: -3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n background-color: #FAFAFA;\n border-radius: 20px;\n transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n content: ' ';\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n}\n/* 选中状态的图标 */\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 64, 129, 0.5);\n}\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n left: 20px;\n background-color: #FF4081;\n}\n/* 未选中时或禁用时 按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon::before,\n.mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n/* 已选中时按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/* 禁用状态 */\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon::before {\n background-color: #BDBDBD !important;\n}\n/**\n * =============================================================================\n * ************ Switch 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 215, 64, 0.5);\n}\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(68, 138, 255, 0.5);\n}\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(24, 255, 255, 0.5);\n}\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 110, 64, 0.5);\n}\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(124, 77, 255, 0.5);\n}\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(105, 240, 174, 0.5);\n}\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(83, 109, 254, 0.5);\n}\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(64, 196, 255, 0.5);\n}\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(178, 255, 89, 0.5);\n}\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(238, 255, 65, 0.5);\n}\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 171, 64, 0.5);\n}\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 64, 129, 0.5);\n}\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(224, 64, 251, 0.5);\n}\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 82, 82, 0.5);\n}\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(100, 255, 218, 0.5);\n}\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 0, 0.5);\n}\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon::before,\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-switch-icon::before {\n background-color: #BDBDBD;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 229, 127, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFE57F;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(130, 177, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #82B1FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(132, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #84FFFF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 158, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF9E80;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(179, 136, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B388FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(185, 246, 202, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B9F6CA;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(140, 158, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #8C9EFF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(128, 216, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #80D8FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(204, 255, 144, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #CCFF90;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(244, 255, 129, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #F4FF81;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 209, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFD180;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 128, 171, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF80AB;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(234, 128, 252, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #EA80FC;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 138, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF8A80;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(167, 255, 235, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #A7FFEB;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 141, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFFF8D;\n}\n.mdui-theme-layout-dark .mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon::before,\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n}\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon::before {\n background-color: #424242 !important;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n }\n .mdui-theme-layout-auto .mdui-switch-icon::before {\n background-color: #BDBDBD;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 229, 127, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFE57F;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(130, 177, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #82B1FF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(132, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #84FFFF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 158, 128, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF9E80;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(179, 136, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B388FF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(185, 246, 202, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #B9F6CA;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(140, 158, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #8C9EFF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(128, 216, 255, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #80D8FF;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(204, 255, 144, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #CCFF90;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(244, 255, 129, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #F4FF81;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 209, 128, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFD180;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 128, 171, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF80AB;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(234, 128, 252, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #EA80FC;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 138, 128, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FF8A80;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(167, 255, 235, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #A7FFEB;\n }\n .mdui-theme-layout-auto.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 141, 0.5);\n }\n .mdui-theme-layout-auto.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon::before {\n background-color: #FFFF8D;\n }\n .mdui-theme-layout-auto .mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon::before,\n .mdui-theme-layout-auto .mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon::before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n .mdui-theme-layout-auto .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n }\n .mdui-theme-layout-auto .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon::before {\n background-color: #424242 !important;\n }\n}\n/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n.mdui-slider {\n position: relative;\n display: block;\n width: 100%;\n height: 36px;\n}\n.mdui-slider input[type=\"range\"] {\n position: absolute;\n top: 50%;\n left: 0;\n z-index: 2;\n width: 100%;\n height: 20px;\n margin-top: -10px;\n cursor: pointer;\n opacity: 0;\n appearance: none;\n}\n.mdui-slider-track,\n.mdui-slider-fill {\n position: absolute;\n top: 50%;\n box-sizing: border-box;\n height: 2px;\n margin-top: -1px;\n}\n.mdui-slider-track::before,\n.mdui-slider-fill::before {\n display: block;\n width: 100%;\n height: 100%;\n content: ' ';\n}\n/* 轨道 */\n.mdui-slider-track {\n right: 0;\n}\n.mdui-slider-track::before {\n background-color: #bdbdbd;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 已滑动部分 */\n.mdui-slider-fill {\n left: 0;\n}\n.mdui-slider-fill::before {\n background-color: #FF4081;\n}\n/* 滑块 */\n.mdui-slider-thumb {\n position: absolute;\n top: 50%;\n box-sizing: border-box;\n width: 12px;\n height: 12px;\n margin-top: -6px;\n background-color: #FF4081;\n border: 2px solid #FF4081;\n border-radius: 50%;\n transform: translate(-50%);\n transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: background, border-color, transform, border-radius;\n}\n/**\n * =============================================================================\n * ************ Slider 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-slider-fill::before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-slider-thumb {\n background-color: #FFD740;\n border: 2px solid #FFD740;\n}\n.mdui-theme-accent-blue .mdui-slider-fill::before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-slider-thumb {\n background-color: #448AFF;\n border: 2px solid #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-slider-fill::before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-slider-thumb {\n background-color: #18FFFF;\n border: 2px solid #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-slider-fill::before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-slider-thumb {\n background-color: #FF6E40;\n border: 2px solid #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-slider-fill::before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-slider-thumb {\n background-color: #7C4DFF;\n border: 2px solid #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-slider-fill::before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-slider-thumb {\n background-color: #69F0AE;\n border: 2px solid #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-slider-fill::before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-slider-thumb {\n background-color: #536DFE;\n border: 2px solid #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-slider-fill::before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-slider-thumb {\n background-color: #40C4FF;\n border: 2px solid #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-slider-fill::before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-slider-thumb {\n background-color: #B2FF59;\n border: 2px solid #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-slider-fill::before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-slider-thumb {\n background-color: #EEFF41;\n border: 2px solid #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-slider-fill::before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-slider-thumb {\n background-color: #FFAB40;\n border: 2px solid #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-slider-fill::before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-slider-thumb {\n background-color: #FF4081;\n border: 2px solid #FF4081;\n}\n.mdui-theme-accent-purple .mdui-slider-fill::before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-slider-thumb {\n background-color: #E040FB;\n border: 2px solid #E040FB;\n}\n.mdui-theme-accent-red .mdui-slider-fill::before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-slider-thumb {\n background-color: #FF5252;\n border: 2px solid #FF5252;\n}\n.mdui-theme-accent-teal .mdui-slider-fill::before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-slider-thumb {\n background-color: #64FFDA;\n border: 2px solid #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-slider-fill::before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-slider-thumb {\n background-color: #FFFF00;\n border: 2px solid #FFFF00;\n}\n/**\n * =============================================================================\n * ============ Slider 的不同状态 ============\n * =============================================================================\n */\n/* 鼠标按下状态 */\n.mdui-slider-focus .mdui-slider-track::before {\n background-color: #9e9e9e;\n}\n.mdui-slider-focus .mdui-slider-thumb {\n transform: translate(-50%) scale(1.6);\n}\n/* 滑块值为 0 */\n.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fff;\n border-color: #bdbdbd;\n}\n/* 滑块值为 0,且鼠标按下 */\n.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #9e9e9e;\n}\n/* 禁用状态 */\n.mdui-slider-disabled input[type=\"range\"] {\n cursor: default;\n}\n.mdui-slider-disabled .mdui-slider-track::before {\n background-color: #bdbdbd;\n}\n.mdui-slider-disabled .mdui-slider-fill::before {\n background-color: #bdbdbd;\n}\n.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #bdbdbd;\n border-color: transparent !important;\n transform: translate(-50%) scale(0.72);\n}\n/**\n * =============================================================================\n * ============ 间续型滑块 ============\n * =============================================================================\n */\n.mdui-slider-discrete .mdui-slider-thumb {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n margin-left: -15px;\n border: none;\n transform: rotate(-45deg) scale(0.4);\n}\n.mdui-slider-discrete .mdui-slider-thumb span {\n position: absolute;\n top: 9px;\n left: -1px;\n width: 100%;\n color: #fff;\n font-size: 12px;\n text-align: center;\n transform: rotate(45deg);\n opacity: 0;\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb {\n border-radius: 15px 15px 15px 0;\n transform: rotate(-45deg) scale(1) translate(22px, -22px);\n}\n.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span {\n opacity: 1;\n}\n.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #323232;\n}\n.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #bdbdbd;\n}\n.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb {\n transform: rotate(-45deg) scale(0.288);\n}\n.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #bdbdbd;\n}\n/**\n * =============================================================================\n * ************ Slider dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-slider-track::before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track::before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb {\n background-color: #303030;\n border-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track::before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill::before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fefefe;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #5c5c5c;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-slider-track::before {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-focus .mdui-slider-track::before {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-zero .mdui-slider-thumb {\n background-color: #303030;\n border-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-track::before {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-fill::before {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n }\n .mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fefefe;\n }\n .mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #5c5c5c;\n }\n .mdui-theme-layout-auto .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n }\n}\n/**\n * =============================================================================\n * ************ Button 按钮 ************\n * =============================================================================\n */\n/* 默认为 Flat 扁平按钮 */\n.mdui-btn,\n.mdui-fab {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n min-width: 88px;\n height: 36px;\n margin: 0;\n padding: 0 16px;\n overflow: hidden;\n color: inherit;\n font-weight: 500;\n font-size: 14px;\n line-height: 36px;\n letter-spacing: 0.04em;\n white-space: nowrap;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n vertical-align: middle;\n background: transparent;\n border: none;\n border-radius: 2px;\n outline: none;\n cursor: pointer;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n touch-action: manipulation;\n will-change: box-shadow;\n zoom: 1;\n -webkit-user-drag: none;\n}\n.mdui-btn:hover,\n.mdui-fab:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.mdui-btn:not(.mdui-ripple):active,\n.mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(0, 0, 0, 0.165);\n}\n.mdui-btn[class*=\"mdui-color-\"]:hover,\n.mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n}\n.mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n.mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n}\n/* 按钮内的图标 */\n.mdui-btn .mdui-icon-left,\n.mdui-btn .mdui-icon-right,\n.mdui-btn .mdui-icon-left::before,\n.mdui-btn .mdui-icon-right::before {\n height: inherit;\n font-size: 1.3em;\n line-height: inherit;\n}\n.mdui-btn .mdui-icon-left {\n float: left;\n margin-right: 0.4em;\n}\n.mdui-btn .mdui-icon-right {\n float: right;\n margin-left: 0.4em;\n}\ninput.mdui-btn[type=\"submit\"] {\n appearance: none;\n}\n/* Raised button 浮动按钮 */\n.mdui-btn-raised {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-btn-raised:hover {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-btn-raised:active {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n/* 禁用按钮 */\n.mdui-btn[disabled],\n.mdui-fab[disabled],\n.mdui-btn[disabled]:hover,\n.mdui-fab[disabled]:hover,\n.mdui-btn[disabled]:active,\n.mdui-fab[disabled]:active,\n.mdui-btn[disabled]:focus,\n.mdui-fab[disabled]:focus {\n color: rgba(0, 0, 0, 0.26) !important;\n background-color: transparent !important;\n cursor: default !important;\n opacity: 1 !important;\n box-shadow: none !important;\n}\n.mdui-btn[disabled] .mdui-icon,\n.mdui-fab[disabled] .mdui-icon,\n.mdui-btn[disabled]:hover .mdui-icon,\n.mdui-fab[disabled]:hover .mdui-icon,\n.mdui-btn[disabled]:active .mdui-icon,\n.mdui-fab[disabled]:active .mdui-icon,\n.mdui-btn[disabled]:focus .mdui-icon,\n.mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 禁用状态浮动按钮和浮动操作按钮 */\n.mdui-btn-raised[disabled],\n.mdui-fab[disabled],\n.mdui-btn-raised[disabled]:hover,\n.mdui-fab[disabled]:hover,\n.mdui-btn-raised[disabled]:active,\n.mdui-fab[disabled]:active,\n.mdui-btn-raised[disabled]:focus,\n.mdui-fab[disabled]:focus {\n background-color: rgba(0, 0, 0, 0.12) !important;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important;\n}\n/* 加粗按钮文本 */\n.mdui-btn-bold {\n font-weight: bold;\n}\n/* 图标按钮 */\n.mdui-btn-icon {\n width: 36px;\n min-width: 36px;\n height: 36px;\n margin-right: 0;\n margin-left: 0;\n padding: 0;\n overflow: hidden;\n font-size: 24px;\n line-height: normal;\n border-radius: 50%;\n}\n.mdui-btn-icon .mdui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 24px;\n line-height: 24px;\n transform: translate(-12px, -12px);\n}\n.mdui-btn-icon.mdui-ripple {\n transform: translateZ(0);\n}\n/* 按钮 100% 宽度 */\n.mdui-btn-block {\n display: block;\n width: 100%;\n}\n/* 密集型按钮 */\n.mdui-btn-dense {\n height: 32px;\n font-size: 13px;\n line-height: 32px;\n}\n.mdui-btn-dense.mdui-btn-icon {\n width: 32px;\n min-width: 32px;\n}\n/* 按钮组 */\n.mdui-btn-group {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.mdui-btn-group .mdui-btn {\n float: left;\n min-width: inherit;\n padding: 0 12px;\n color: rgba(0, 0, 0, 0.54);\n border-radius: 0;\n}\n.mdui-btn-group .mdui-btn::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n border-left: 1px solid transparent;\n content: ' ';\n}\n.mdui-btn-group .mdui-btn:first-child {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\n.mdui-btn-group .mdui-btn:first-child::before {\n border-left: none;\n}\n.mdui-btn-group .mdui-btn:last-child {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n}\n.mdui-btn-group .mdui-btn.mdui-btn-active {\n color: rgba(0, 0, 0, 0.87);\n background-color: rgba(0, 0, 0, 0.215);\n}\n.mdui-btn-group .mdui-btn.mdui-btn-active + .mdui-btn-active::before {\n border-left: 1px solid rgba(0, 0, 0, 0.145);\n}\n/**\n * =============================================================================\n * ************ Button dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-btn:hover,\n.mdui-theme-layout-dark .mdui-fab:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active,\n.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n}\n.mdui-theme-layout-dark .mdui-btn[class*=\"mdui-color-\"]:hover,\n.mdui-theme-layout-dark .mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n}\n.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n}\n.mdui-theme-layout-dark .mdui-btn[disabled],\n.mdui-theme-layout-dark .mdui-fab[disabled],\n.mdui-theme-layout-dark .mdui-btn[disabled]:hover,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover,\n.mdui-theme-layout-dark .mdui-btn[disabled]:active,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active,\n.mdui-theme-layout-dark .mdui-btn[disabled]:focus,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus {\n color: rgba(255, 255, 255, 0.3) !important;\n background-color: transparent !important;\n}\n.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-btn-raised[disabled],\n.mdui-theme-layout-dark .mdui-fab[disabled],\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover,\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active,\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus {\n background-color: rgba(255, 255, 255, 0.12) !important;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-btn:hover,\n .mdui-theme-layout-auto .mdui-fab:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n .mdui-theme-layout-auto .mdui-btn:not(.mdui-ripple):active,\n .mdui-theme-layout-auto .mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n .mdui-theme-layout-auto .mdui-btn[class*=\"mdui-color-\"]:hover,\n .mdui-theme-layout-auto .mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n .mdui-theme-layout-auto .mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n .mdui-theme-layout-auto .mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n .mdui-theme-layout-auto .mdui-btn[disabled],\n .mdui-theme-layout-auto .mdui-fab[disabled],\n .mdui-theme-layout-auto .mdui-btn[disabled]:hover,\n .mdui-theme-layout-auto .mdui-fab[disabled]:hover,\n .mdui-theme-layout-auto .mdui-btn[disabled]:active,\n .mdui-theme-layout-auto .mdui-fab[disabled]:active,\n .mdui-theme-layout-auto .mdui-btn[disabled]:focus,\n .mdui-theme-layout-auto .mdui-fab[disabled]:focus {\n color: rgba(255, 255, 255, 0.3) !important;\n background-color: transparent !important;\n }\n .mdui-theme-layout-auto .mdui-btn[disabled] .mdui-icon,\n .mdui-theme-layout-auto .mdui-fab[disabled] .mdui-icon,\n .mdui-theme-layout-auto .mdui-btn[disabled]:hover .mdui-icon,\n .mdui-theme-layout-auto .mdui-fab[disabled]:hover .mdui-icon,\n .mdui-theme-layout-auto .mdui-btn[disabled]:active .mdui-icon,\n .mdui-theme-layout-auto .mdui-fab[disabled]:active .mdui-icon,\n .mdui-theme-layout-auto .mdui-btn[disabled]:focus .mdui-icon,\n .mdui-theme-layout-auto .mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(255, 255, 255, 0.3) !important;\n }\n .mdui-theme-layout-auto .mdui-btn-raised[disabled],\n .mdui-theme-layout-auto .mdui-fab[disabled],\n .mdui-theme-layout-auto .mdui-btn-raised[disabled]:hover,\n .mdui-theme-layout-auto .mdui-fab[disabled]:hover,\n .mdui-theme-layout-auto .mdui-btn-raised[disabled]:active,\n .mdui-theme-layout-auto .mdui-fab[disabled]:active,\n .mdui-theme-layout-auto .mdui-btn-raised[disabled]:focus,\n .mdui-theme-layout-auto .mdui-fab[disabled]:focus {\n background-color: rgba(255, 255, 255, 0.12) !important;\n }\n}\n/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n/* 浮动操作按钮 */\n.mdui-fab {\n width: 56px;\n min-width: 56px;\n height: 56px;\n margin: auto;\n padding: 0 !important;\n overflow: hidden;\n font-size: 24px;\n line-height: normal !important;\n border-radius: 50%;\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-fab:hover {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-fab:active {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-fab .mdui-icon {\n position: absolute;\n top: 0;\n left: 0;\n width: 24px;\n margin-top: 16px;\n margin-left: 16px;\n line-height: 24px;\n}\n/* mini 型浮动操作按钮 */\n.mdui-fab-mini {\n width: 40px;\n min-width: 40px;\n height: 40px;\n}\n.mdui-fab-mini .mdui-icon {\n margin-top: 8px;\n margin-left: 8px;\n}\n/* 固定到右下角的 FAB 按钮 */\n.mdui-fab-fixed,\n.mdui-fab-wrapper {\n position: fixed !important;\n /* 手机平板上距离屏幕右下角 16px */\n right: 16px;\n bottom: 16px;\n}\n@media (min-width: 1024px) {\n .mdui-fab-fixed,\n .mdui-fab-wrapper {\n /* 电脑上距离屏幕右下角 24px */\n right: 24px;\n bottom: 24px;\n }\n}\n/* 含菜单的浮动操作按钮 */\n.mdui-fab-wrapper {\n position: relative;\n z-index: 4000;\n width: 56px;\n height: 56px;\n padding-top: 8px;\n text-align: center;\n}\n.mdui-fab-wrapper > .mdui-fab .mdui-icon:not(.mdui-fab-opened) {\n opacity: 1;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: opacity, transform;\n}\n.mdui-fab-wrapper > .mdui-fab .mdui-icon.mdui-fab-opened {\n transform: rotate(225deg);\n opacity: 0;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: opacity, transform;\n}\n.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened) {\n transform: rotate(225deg);\n opacity: 0;\n}\n.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened {\n transform: rotate(360deg);\n opacity: 1;\n}\n.mdui-fab-wrapper > .mdui-fab-mini {\n margin-top: 8px;\n}\n.mdui-fab-wrapper .mdui-fab-dial {\n position: absolute;\n right: 0;\n bottom: 64px;\n left: 0;\n height: 0;\n text-align: center;\n visibility: visible;\n}\n.mdui-fab-wrapper .mdui-fab-dial .mdui-fab {\n margin: 8px 0;\n transform: scale(0);\n opacity: 0;\n transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab {\n transform: scale(1);\n opacity: 1;\n}\n/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */\n.mdui-fab,\n.mdui-fab-mini,\n.mdui-fab-wrapper {\n transform: scale(1) translateZ(0);\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), transform 0.2s;\n will-change: transform;\n}\n.mdui-fab.mdui-fab-hide,\n.mdui-fab-mini.mdui-fab-hide,\n.mdui-fab-wrapper.mdui-fab-hide {\n transform: scale(0) translateZ(0);\n}\n/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n.mdui-select {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n max-width: 100%;\n height: 36px;\n padding-right: 24px;\n padding-left: 0;\n font-size: 16px;\n font-family: Roboto, Noto, Helvetica, Arial, sans-serif;\n vertical-align: middle;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' opacity='.54'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right center;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n outline: none;\n cursor: pointer;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.2s;\n transition-property: background-color, box-shadow, background-position-x;\n appearance: none;\n user-select: none;\n will-change: background-color, box-shadow, background-position-x;\n}\n.mdui-select.mdui-select-open {\n border-bottom: none;\n}\n.mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' opacity='.54'/%3E%3C/svg%3E\");\n}\n/* 底部和顶部菜单的样式 */\n.mdui-select-open.mdui-select-position-top,\n.mdui-select-open.mdui-select-position-bottom {\n z-index: 99999;\n background-color: #fff;\n /* stylelint-disable-next-line */\n background-position-x: calc(100% - 12px);\n border-radius: 2px;\n}\n.mdui-select-open.mdui-select-position-top {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 2px solid transparent;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n box-shadow: 0 10px 10px -3px rgba(0, 0, 0, 0.2), 0 0 14px 1px rgba(0, 0, 0, 0.14), 0 -7px 24px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-top .mdui-select-menu {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n box-shadow: 0 -4px 4px -2px rgba(0, 0, 0, 0.06), 8px 0 8px -4px rgba(0, 0, 0, 0.12), -8px 0 8px -4px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-bottom .mdui-select-menu {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 1px rgba(0, 0, 0, 0.14), 0 8px 8px 2px rgba(0, 0, 0, 0.06);\n}\n/* 当前选中项文本 */\n.mdui-select-selected {\n position: absolute;\n top: 50%;\n right: 24px;\n left: 0;\n display: block;\n transform: translateY(-50%);\n transition: left 0.2s cubic-bezier(0, 0, 0.2, 1);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-select-open .mdui-select-selected {\n right: 32px;\n left: 16px;\n}\n.mdui-select-open.mdui-select-position-auto .mdui-select-selected {\n visibility: hidden;\n}\n/* 菜单 */\n.mdui-select-menu {\n position: relative;\n z-index: 99999;\n box-sizing: border-box;\n height: 36px;\n margin: 0 -24px 0 0;\n overflow-y: scroll;\n color: rgba(0, 0, 0, 0.87);\n background-color: #fff;\n border-radius: 2px;\n transform: scale(1, 0);\n visibility: hidden;\n cursor: default;\n opacity: 0;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.2s;\n transition-property: transform, opacity, visibility;\n will-change: transform, opacity, visibility;\n -webkit-overflow-scrolling: touch;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open .mdui-select-menu {\n overflow-y: hidden;\n transform: scale(1, 1);\n visibility: visible;\n opacity: 1;\n}\n.mdui-select-closing .mdui-select-menu {\n overflow-y: hidden;\n box-shadow: none;\n transform: scale(1, 1);\n visibility: visible;\n opacity: 0;\n}\n/* 菜单项 */\n.mdui-select-menu-item {\n height: 48px;\n padding: 0 16px;\n line-height: 48px;\n cursor: pointer;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-select-menu-item:hover {\n background-color: #EEEEEE;\n}\n.mdui-select-menu-item:first-child {\n margin-top: 8px;\n}\n.mdui-select-menu-item:last-child {\n margin-bottom: 8px;\n}\n.mdui-select-menu-item[disabled] {\n color: rgba(0, 0, 0, 0.38) !important;\n cursor: default;\n}\n.mdui-select-menu-item[disabled]:hover {\n background-color: inherit !important;\n}\n.mdui-select-menu-item[selected] {\n color: #FF4081;\n}\n/* 原生 select 组件 */\nselect.mdui-select {\n background-color: transparent;\n}\nselect.mdui-select option {\n color: rgba(0, 0, 0, 0.87);\n}\nselect.mdui-select::-ms-expand {\n display: none;\n}\n/* 原生多选 select 组件 */\nselect.mdui-select[multiple] {\n height: auto;\n padding: 0;\n font-size: 15px;\n background-color: #FFF;\n background-image: none;\n border: 1px solid rgba(0, 0, 0, 0.38);\n cursor: default;\n}\nselect.mdui-select[multiple] optgroup {\n margin: 8px 0 0 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.38);\n}\nselect.mdui-select[multiple] optgroup:last-child {\n margin-bottom: 8px;\n}\nselect.mdui-select[multiple] optgroup:not(:first-child) {\n padding-top: 8px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\nselect.mdui-select[multiple] option {\n display: flex;\n align-items: center;\n height: 32px;\n margin: 0 0 0 -16px;\n padding: 0 16px;\n color: rgba(0, 0, 0, 0.87);\n}\nselect.mdui-select[multiple] option:first-child {\n margin-top: 8px;\n}\nselect.mdui-select[multiple] option:last-child {\n margin-bottom: 8px;\n}\n/**\n * =============================================================================\n * ************ Select 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-select-menu-item[selected] {\n color: #FFC107;\n}\n.mdui-theme-accent-blue .mdui-select-menu-item[selected] {\n color: #2196F3;\n}\n.mdui-theme-accent-cyan .mdui-select-menu-item[selected] {\n color: #00BCD4;\n}\n.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected] {\n color: #FF5722;\n}\n.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected] {\n color: #673AB7;\n}\n.mdui-theme-accent-green .mdui-select-menu-item[selected] {\n color: #4CAF50;\n}\n.mdui-theme-accent-indigo .mdui-select-menu-item[selected] {\n color: #3F51B5;\n}\n.mdui-theme-accent-light-blue .mdui-select-menu-item[selected] {\n color: #03A9F4;\n}\n.mdui-theme-accent-light-green .mdui-select-menu-item[selected] {\n color: #8BC34A;\n}\n.mdui-theme-accent-lime .mdui-select-menu-item[selected] {\n color: #CDDC39;\n}\n.mdui-theme-accent-orange .mdui-select-menu-item[selected] {\n color: #FF9800;\n}\n.mdui-theme-accent-pink .mdui-select-menu-item[selected] {\n color: #E91E63;\n}\n.mdui-theme-accent-purple .mdui-select-menu-item[selected] {\n color: #9C27B0;\n}\n.mdui-theme-accent-red .mdui-select-menu-item[selected] {\n color: #F44336;\n}\n.mdui-theme-accent-teal .mdui-select-menu-item[selected] {\n color: #009688;\n}\n.mdui-theme-accent-yellow .mdui-select-menu-item[selected] {\n color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Select dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-select {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E\");\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E\");\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top,\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom {\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-menu {\n color: #fff;\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-select-menu-item:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-select-menu-item[disabled] {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark select.mdui-select {\n color: #FFF;\n background-color: #303030;\n}\n.mdui-theme-layout-dark select.mdui-select option {\n color: #FFF;\n background-color: #303030;\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] optgroup {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-select {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E\");\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E\");\n }\n .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-top,\n .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-bottom {\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-select-open.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-select-menu {\n color: #fff;\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-select-menu-item:hover {\n background-color: #616161;\n }\n .mdui-theme-layout-auto .mdui-select-menu-item[disabled] {\n color: rgba(255, 255, 255, 0.5) !important;\n }\n .mdui-theme-layout-auto select.mdui-select {\n color: #FFF;\n background-color: #303030;\n }\n .mdui-theme-layout-auto select.mdui-select option {\n color: #FFF;\n background-color: #303030;\n }\n .mdui-theme-layout-auto select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto select.mdui-select[multiple] optgroup {\n color: rgba(255, 255, 255, 0.5);\n }\n .mdui-theme-layout-auto select.mdui-select[multiple] optgroup:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n}\n/**\n * =============================================================================\n * ************ Toolbar 工具栏 ************\n * =============================================================================\n */\n.mdui-toolbar {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n}\n.mdui-toolbar > * {\n margin: 0 16px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-toolbar[class*=\"mdui-color-\"]:not(.mdui-color-transparent) .mdui-btn:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mdui-toolbar[class*=\"mdui-color-\"]:not(.mdui-color-transparent) .mdui-btn:active {\n background-color: rgba(255, 255, 255, 0.165);\n}\n.mdui-toolbar > a {\n color: inherit;\n text-decoration: none;\n user-select: none;\n}\n.mdui-toolbar > .mdui-btn-icon {\n width: 48px;\n min-width: 48px;\n height: 48px;\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-toolbar > .mdui-btn-icon {\n width: 40px;\n min-width: 40px;\n height: 40px;\n }\n}\n.mdui-toolbar > .mdui-btn-icon .mdui-icon {\n height: 24px;\n line-height: 24px;\n}\n.mdui-toolbar .mdui-icon {\n color: inherit;\n}\n.mdui-toolbar-spacer {\n flex-grow: 1;\n margin: 0;\n}\n/* 手机 */\n.mdui-toolbar {\n height: 56px;\n line-height: 56px;\n}\n.mdui-toolbar > .mdui-btn {\n margin: 0 4px;\n}\n.mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n}\n@media (min-width: 600px) {\n .mdui-appbar .mdui-toolbar {\n height: 64px;\n line-height: 64px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn {\n margin: 0 8px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-appbar .mdui-toolbar {\n height: 48px;\n line-height: 48px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn {\n margin: 0 4px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n }\n}\n/**\n * =============================================================================\n * ************ Appbar 应用栏 ************\n * =============================================================================\n */\n.mdui-appbar {\n z-index: 1000;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n/* appbar 固定在顶部 */\n.mdui-appbar-fixed {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.3s;\n transition-property: left, right;\n will-change: left, right;\n}\n/* 左侧留出抽屉栏的距离 */\n@media (min-width: 1024px) {\n .mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed {\n left: 240px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed {\n right: 240px;\n }\n}\n/* 含工具栏 */\n.mdui-appbar-with-toolbar {\n padding-top: 56px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar {\n padding-top: 64px;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-appbar-with-toolbar {\n padding-top: 48px;\n }\n}\n/* 含 Tab */\n.mdui-appbar-with-tab {\n padding-top: 48px;\n}\n/* 含大 Tab */\n.mdui-appbar-with-tab-larger {\n padding-top: 72px;\n}\n/* 含工具栏和 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 104px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 112px;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 96px;\n }\n}\n/* 含工具栏和大 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 128px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 136px;\n }\n}\n@media (orientation: landscape) and (max-width: 959.9px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 120px;\n }\n}\n/**\n * =============================================================================\n * ************ Appbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-appbar > [class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n color: #fff !important;\n background-color: #212121 !important;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-appbar > [class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n color: #fff !important;\n background-color: #212121 !important;\n }\n}\n/**\n * =============================================================================\n * ************ Card 卡片 ************\n * =============================================================================\n */\n/* 卡片 */\n.mdui-card {\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n border-radius: 2px;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n/**\n * ===================== 头部,包含头像、标题、副标题\n */\n.mdui-card-header {\n position: relative;\n box-sizing: border-box;\n height: 72px;\n padding: 16px;\n}\n/* 卡片头部头像 */\n.mdui-card-header-avatar {\n float: left;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n}\n/* 卡片头部标题 */\n.mdui-card-header-title {\n display: block;\n margin-left: 52px;\n font-weight: 500;\n font-size: 16px;\n line-height: 20px;\n opacity: 0.87;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/* 卡片头部副标题 */\n.mdui-card-header-subtitle {\n display: block;\n margin-left: 52px;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n opacity: 0.54;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/**\n * =========================== 主标题区域\n */\n.mdui-card-primary {\n position: relative;\n padding: 24px 16px 16px 16px;\n}\n/* 主标题区域标题 */\n.mdui-card-primary-title {\n display: block;\n font-size: 24px;\n line-height: 36px;\n opacity: 0.87;\n}\n/* 主标题区域副标题 */\n.mdui-card-primary-subtitle {\n display: block;\n font-size: 14px;\n line-height: 24px;\n opacity: 0.54;\n}\n/**\n * ============================ 内容区域\n */\n.mdui-card-content {\n position: relative;\n padding: 16px;\n font-size: 14px;\n line-height: 24px;\n}\n/**\n * ============================ 卡片菜单\n */\n.mdui-card-menu {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n}\n.mdui-card-menu .mdui-btn {\n margin-left: 8px;\n}\n/**\n * =========================== 按钮区域\n */\n.mdui-card-actions {\n position: relative;\n box-sizing: border-box;\n padding: 8px;\n}\n.mdui-card-actions::before,\n.mdui-card-actions::after {\n display: table;\n content: ' ';\n}\n.mdui-card-actions::after {\n clear: both;\n}\n.mdui-card-actions::before,\n.mdui-card-actions::after {\n display: table;\n content: ' ';\n}\n.mdui-card-actions::after {\n clear: both;\n}\n.mdui-card-actions .mdui-btn {\n max-width: 100%;\n margin: 0 8px 0 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-card-actions .mdui-btn-icon {\n width: 36px;\n height: 36px;\n margin: 0 8px;\n}\n/* 使按钮竖向排列 */\n.mdui-card-actions-stacked .mdui-btn {\n display: block;\n margin: 0 0 4px 0;\n}\n.mdui-card-actions-stacked .mdui-btn:last-child {\n margin: 0;\n}\n/**\n * ============================= 媒体元素区域\n */\n.mdui-card-media {\n position: relative;\n}\n.mdui-card-media img,\n.mdui-card-media video {\n display: block;\n width: 100%;\n}\n/* 覆盖在媒体元素上的内容 */\n.mdui-card-media-covered {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n /* 覆盖在媒体元素上的标题 */\n}\n.mdui-card-media-covered .mdui-card-primary-title {\n opacity: 1;\n}\n.mdui-card-media-covered .mdui-card-primary-subtitle {\n opacity: 0.7;\n}\n/* 覆盖在媒体元素顶部 */\n.mdui-card-media-covered-top {\n top: 0;\n bottom: auto;\n}\n/* 覆盖层透明 */\n.mdui-card-media-covered-transparent {\n background: transparent;\n}\n/* 覆盖层渐变 */\n.mdui-card-media-covered-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n.mdui-card-media-covered-gradient.mdui-card-media-covered-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n/**\n * =============================================================================\n * ************ Card dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-card {\n color: #fff;\n background-color: #424242;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-card {\n color: #fff;\n background-color: #424242;\n }\n}\n/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n *\n * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分\n */\n/* 选项卡,默认的选项卡为全宽 */\n.mdui-tab {\n position: relative;\n display: flex;\n min-height: 48px;\n max-height: 72px;\n margin: 0 auto;\n padding: 0;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n}\n.mdui-tab a {\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 72px;\n min-height: 48px;\n max-height: 72px;\n padding: 12px;\n overflow: hidden;\n color: inherit;\n font-size: 14px;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n text-overflow: ellipsis;\n outline: none;\n cursor: pointer;\n opacity: 0.7;\n user-select: none;\n}\n.mdui-tab a .mdui-icon {\n opacity: 0.7;\n}\n@media (min-width: 600px) {\n .mdui-tab a {\n flex: none;\n min-width: 99px;\n max-width: 264px;\n padding: 12px 24px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-tab a {\n min-width: 112px;\n }\n}\n@media (min-width: 1440px) {\n .mdui-tab a {\n min-width: 136px;\n }\n}\n@media (min-width: 1920px) {\n .mdui-tab a {\n min-width: 160px;\n }\n}\n.mdui-tab a label {\n display: block;\n width: 100%;\n cursor: pointer;\n}\n.mdui-tab a .mdui-icon + label {\n margin-top: 8px;\n}\n.mdui-tab a[disabled] {\n cursor: default;\n opacity: 0.38;\n}\n.mdui-tab a[disabled] label {\n cursor: default;\n}\n.mdui-tab .mdui-tab-active {\n color: #3F51B5;\n opacity: 1;\n}\n.mdui-tab .mdui-tab-active .mdui-icon {\n opacity: 1;\n}\n/* 选项卡居中 */\n@media (min-width: 600px) {\n .mdui-tab-centered::before {\n flex-grow: 1;\n content: ' ';\n }\n .mdui-tab-centered::after {\n flex-grow: 1;\n content: ' ';\n }\n .mdui-tab-centered a {\n flex: none;\n }\n}\n/* 选项卡始终全宽等分 */\n.mdui-tab-full-width a {\n flex: 1;\n max-width: none;\n}\n/* 可横向滚动的选项卡 */\n.mdui-tab-scrollable {\n padding-left: 56px;\n}\n.mdui-tab-scrollable a {\n flex: none;\n}\n@media (max-width: 599.9px) {\n .mdui-tab-scrollable {\n padding-left: 60px;\n }\n}\n/* 下划线指示器 */\n.mdui-tab-indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: #3F51B5;\n transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: left, width;\n}\n/**\n * =============================================================================\n * ************ Tab 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-tab .mdui-tab-active {\n color: #FFC107;\n}\n.mdui-theme-primary-amber .mdui-tab-indicator {\n background-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-tab .mdui-tab-active {\n color: #2196F3;\n}\n.mdui-theme-primary-blue .mdui-tab-indicator {\n background-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active {\n color: #607D8B;\n}\n.mdui-theme-primary-blue-grey .mdui-tab-indicator {\n background-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-tab .mdui-tab-active {\n color: #795548;\n}\n.mdui-theme-primary-brown .mdui-tab-indicator {\n background-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active {\n color: #00BCD4;\n}\n.mdui-theme-primary-cyan .mdui-tab-indicator {\n background-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active {\n color: #FF5722;\n}\n.mdui-theme-primary-deep-orange .mdui-tab-indicator {\n background-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active {\n color: #673AB7;\n}\n.mdui-theme-primary-deep-purple .mdui-tab-indicator {\n background-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-tab .mdui-tab-active {\n color: #4CAF50;\n}\n.mdui-theme-primary-green .mdui-tab-indicator {\n background-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-tab .mdui-tab-active {\n color: #9E9E9E;\n}\n.mdui-theme-primary-grey .mdui-tab-indicator {\n background-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active {\n color: #3F51B5;\n}\n.mdui-theme-primary-indigo .mdui-tab-indicator {\n background-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active {\n color: #03A9F4;\n}\n.mdui-theme-primary-light-blue .mdui-tab-indicator {\n background-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active {\n color: #8BC34A;\n}\n.mdui-theme-primary-light-green .mdui-tab-indicator {\n background-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-tab .mdui-tab-active {\n color: #CDDC39;\n}\n.mdui-theme-primary-lime .mdui-tab-indicator {\n background-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-tab .mdui-tab-active {\n color: #FF9800;\n}\n.mdui-theme-primary-orange .mdui-tab-indicator {\n background-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-tab .mdui-tab-active {\n color: #E91E63;\n}\n.mdui-theme-primary-pink .mdui-tab-indicator {\n background-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-tab .mdui-tab-active {\n color: #9C27B0;\n}\n.mdui-theme-primary-purple .mdui-tab-indicator {\n background-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-tab .mdui-tab-active {\n color: #F44336;\n}\n.mdui-theme-primary-red .mdui-tab-indicator {\n background-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-tab .mdui-tab-active {\n color: #009688;\n}\n.mdui-theme-primary-teal .mdui-tab-indicator {\n background-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active {\n color: #FFEB3B;\n}\n.mdui-theme-primary-yellow .mdui-tab-indicator {\n background-color: #FFEB3B;\n}\n/* 带背景色的选项卡 */\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) .mdui-tab-active {\n color: inherit;\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) .mdui-tab-indicator {\n background-color: #FFFFFF;\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n}\n@media (min-width: 1024px) {\n .mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n}\n/**\n * =============================================================================\n * ************ Subheader 副标题 ************\n * =============================================================================\n *\n * 用于 List 和 Grid list 组件\n */\n.mdui-subheader,\n.mdui-subheader-inset {\n position: relative;\n box-sizing: border-box;\n height: 48px;\n padding-right: 16px;\n padding-left: 16px;\n color: rgba(0, 0, 0, 0.54);\n font-weight: 500;\n font-size: 14px;\n line-height: 48px;\n cursor: default;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-subheader-inset {\n padding-left: 72px;\n}\n/**\n * =============================================================================\n * ************ Subheader dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-subheader,\n.mdui-theme-layout-dark .mdui-subheader-inset {\n color: rgba(255, 255, 255, 0.7);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-subheader,\n .mdui-theme-layout-auto .mdui-subheader-inset {\n color: rgba(255, 255, 255, 0.7);\n }\n}\n/**\n * =============================================================================\n * ************ Grid List 网格列表 ************\n * =============================================================================\n */\n/* 调整网格边距 */\n.mdui-grid-list {\n margin: 0 -2px;\n}\n.mdui-grid-list .mdui-col,\n.mdui-grid-list [class*=\"mdui-col-xs-\"],\n.mdui-grid-list [class*=\"mdui-col-sm-\"],\n.mdui-grid-list [class*=\"mdui-col-md-\"],\n.mdui-grid-list [class*=\"mdui-col-lg-\"],\n.mdui-grid-list [class*=\"mdui-col-xl-\"] {\n padding-right: 2px;\n padding-left: 2px;\n}\n/* 单元格 */\n.mdui-grid-tile {\n position: relative;\n box-sizing: border-box;\n margin-bottom: 4px;\n overflow: hidden;\n}\n.mdui-grid-tile img {\n display: block;\n width: 100%;\n}\n/* 操作栏 */\n.mdui-grid-tile-actions {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n max-height: 68px;\n padding: 16px;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n}\n.mdui-grid-tile-actions .mdui-icon {\n color: #fff;\n}\n/* 操作栏内的文本 */\n.mdui-grid-tile-text {\n flex: 1;\n overflow: hidden;\n}\n/* 标题 */\n.mdui-grid-tile-title {\n height: 16px;\n font-size: 16px;\n line-height: 16px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-grid-tile-title .mdui-icon {\n margin-right: 8px;\n}\n/* 副标题 */\n.mdui-grid-tile-subtitle {\n height: 18px;\n margin-top: 4px;\n font-size: 12px;\n line-height: 18px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-grid-tile-subtitle .mdui-icon {\n margin-right: 8px;\n font-size: 18px;\n}\n/* 操作栏内的按钮 */\n.mdui-grid-tile-buttons {\n flex: none;\n margin: -8px;\n white-space: nowrap;\n}\n.mdui-grid-tile-buttons .mdui-btn {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons .mdui-btn:first-child {\n margin-left: 0;\n}\n.mdui-grid-tile-text + .mdui-grid-tile-buttons {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons + .mdui-grid-tile-text {\n margin-left: 16px;\n}\n/* 操作栏位于顶部 */\n.mdui-grid-tile-actions-top {\n top: 0;\n bottom: auto;\n}\n/* 操作栏背景透明 */\n.mdui-grid-tile-actions-transparent {\n background: transparent;\n}\n/* 操作栏背景渐变 */\n.mdui-grid-tile-actions-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n/**\n * =============================================================================\n * ************ List 列表 ************\n * =============================================================================\n */\n/* 列表 */\n.mdui-list {\n margin: 0;\n padding: 8px 0;\n list-style: none;\n background-color: transparent;\n}\n.mdui-list .mdui-list {\n padding: 0;\n}\n.mdui-list > .mdui-divider,\n.mdui-list > .mdui-divider-light,\n.mdui-list > .mdui-divider-dark,\n.mdui-list > .mdui-divider-inset,\n.mdui-list > .mdui-divider-inset-light,\n.mdui-list > .mdui-divider-inset-dark {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.mdui-list a {\n color: inherit;\n text-decoration: none;\n}\n.mdui-list .mdui-subheader,\n.mdui-list .mdui-subheader-inset {\n margin-top: 8px;\n}\n.mdui-list .mdui-subheader::before,\n.mdui-list .mdui-subheader-inset::before {\n position: absolute;\n right: 0;\n left: 0;\n display: block;\n height: 1px;\n background-color: rgba(0, 0, 0, 0.12);\n content: ' ';\n}\n.mdui-list .mdui-subheader:first-child,\n.mdui-list .mdui-subheader-inset:first-child {\n margin-top: -8px;\n}\n.mdui-list .mdui-subheader:first-child::before,\n.mdui-list .mdui-subheader-inset:first-child::before {\n background-color: transparent;\n}\n.mdui-list .mdui-subheader-inset::before {\n left: 72px;\n}\n/* 列表项 */\n.mdui-list-item {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n padding: 0 16px;\n text-decoration: none;\n cursor: pointer;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-list-item:hover {\n background-color: rgba(0, 0, 0, 0.08);\n}\n.mdui-list-item::after {\n height: 48px;\n visibility: hidden;\n content: ' ';\n}\n/* 列表项图标 */\n.mdui-list-item-icon {\n width: 24px;\n min-width: 24px;\n height: 24px;\n color: rgba(0, 0, 0, 0.54);\n}\n/* 列表项头像 */\n.mdui-list-item-avatar {\n min-width: 40px;\n max-width: 40px;\n height: 40px;\n margin-top: 8px;\n margin-bottom: 8px;\n color: #FFFFFF;\n line-height: 40px;\n text-align: center;\n background-color: #BDBDBD;\n border-radius: 50%;\n}\n.mdui-list-item-avatar img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n}\n/* 列表项内容 */\n.mdui-list-item-content {\n flex-grow: 1;\n padding-top: 14px;\n padding-bottom: 14px;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n}\n/* 列表项内容的副内容 */\n.mdui-list-item-text {\n font-size: 14px;\n opacity: 0.54;\n}\n.mdui-list-item-title ~ .mdui-list-item-text {\n margin-top: 4px;\n}\n/* 激活状态的列表项 */\n.mdui-list-item-active {\n font-weight: 700;\n background-color: rgba(0, 0, 0, 0.08);\n}\n.mdui-list-item-active .mdui-list-item-content {\n font-weight: 700;\n}\n.mdui-list-item-active .mdui-list-item-text {\n font-weight: 400;\n}\n/* 限制文本高度 */\n.mdui-list-item-one-line,\n.mdui-list-item-two-line,\n.mdui-list-item-three-line {\n display: -webkit-box;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n}\n.mdui-list-item-one-line {\n -webkit-line-clamp: 1;\n height: 20px;\n}\n.mdui-list-item-two-line {\n -webkit-line-clamp: 2;\n height: 40px;\n}\n.mdui-list-item-three-line {\n -webkit-line-clamp: 3;\n height: 60px;\n}\n/* 列表项内的元素间添加间距 */\n.mdui-list-item-icon ~ .mdui-list-item-content {\n margin-left: 32px;\n}\n.mdui-checkbox ~ .mdui-list-item-content,\n.mdui-radio ~ .mdui-list-item-content,\n.mdui-switch ~ .mdui-list-item-content {\n margin-left: 20px;\n}\n.mdui-list-item-avatar ~ .mdui-list-item-content {\n margin-left: 16px;\n}\n.mdui-list-item-content ~ .mdui-list-item-icon,\n.mdui-list-item-content ~ .mdui-list-item-avatar,\n.mdui-list-item-content ~ .mdui-checkbox,\n.mdui-list-item-content ~ .mdui-radio,\n.mdui-list-item-content ~ .mdui-switch {\n margin-left: 16px;\n}\n.mdui-list-item-content ~ .mdui-checkbox,\n.mdui-list-item-content ~ .mdui-radio {\n padding-left: 24px;\n}\n/* 密集型列表 */\n.mdui-list-dense {\n padding: 4px 0;\n font-size: 13px;\n}\n.mdui-list-dense > .mdui-divider,\n.mdui-list-dense > .mdui-divider-light,\n.mdui-list-dense > .mdui-divider-dark,\n.mdui-list-dense > .mdui-divider-inset,\n.mdui-list-dense > .mdui-divider-inset-light,\n.mdui-list-dense > .mdui-divider-inset-dark {\n margin-top: 4px;\n margin-bottom: 4px;\n}\n.mdui-list-dense .mdui-subheader,\n.mdui-list-dense .mdui-subheader-inset {\n height: 40px;\n margin-top: 4px;\n font-size: 12px;\n line-height: 40px;\n}\n.mdui-list-dense .mdui-subheader:first-child,\n.mdui-list-dense .mdui-subheader-inset:first-child {\n margin-top: -4px;\n}\n.mdui-list-dense .mdui-list-item {\n min-height: 40px;\n}\n.mdui-list-dense .mdui-list-item::after {\n height: 40px;\n}\n.mdui-list-dense .mdui-list-item-icon {\n width: 20px;\n height: 20px;\n font-size: 20px;\n}\n.mdui-list-dense .mdui-list-item-avatar {\n width: 36px;\n min-width: 36px;\n height: 36px;\n min-height: 36px;\n}\n.mdui-list-dense .mdui-list-item-content {\n padding-top: 11px;\n padding-bottom: 11px;\n font-size: 13px;\n line-height: 18px;\n}\n.mdui-list-dense .mdui-list-item-text {\n font-size: 13px;\n}\n.mdui-list-dense .mdui-list-item-title ~ .mdui-list-item-text {\n margin-top: 2px;\n}\n.mdui-list-dense .mdui-list-item-one-line {\n height: 18px;\n}\n.mdui-list-dense .mdui-list-item-two-line {\n height: 36px;\n}\n.mdui-list-dense .mdui-list-item-three-line {\n height: 54px;\n}\n/**\n * =============================================================================\n * ************ List dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-list .mdui-subheader::before,\n.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset::before {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child::before,\n.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child::before {\n background-color: transparent;\n}\n.mdui-theme-layout-dark .mdui-list-item {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-list-item:hover {\n background-color: rgba(255, 255, 255, 0.08);\n}\n.mdui-theme-layout-dark .mdui-list-item-icon {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-list-item-text {\n opacity: 0.7;\n}\n.mdui-theme-layout-dark .mdui-list-item-active {\n background-color: rgba(255, 255, 255, 0.08);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-list .mdui-subheader::before,\n .mdui-theme-layout-auto .mdui-list .mdui-subheader-inset::before {\n background-color: rgba(255, 255, 255, 0.12);\n }\n .mdui-theme-layout-auto .mdui-list .mdui-subheader:first-child::before,\n .mdui-theme-layout-auto .mdui-list .mdui-subheader-inset:first-child::before {\n background-color: transparent;\n }\n .mdui-theme-layout-auto .mdui-list-item {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-list-item:hover {\n background-color: rgba(255, 255, 255, 0.08);\n }\n .mdui-theme-layout-auto .mdui-list-item-icon {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-list-item-text {\n opacity: 0.7;\n }\n .mdui-theme-layout-auto .mdui-list-item-active {\n background-color: rgba(255, 255, 255, 0.08);\n }\n}\n/**\n * ==============================================================================\n * ************ List inner theme ************\n * ==============================================================================\n */\n[class*=\"mdui-color-\"] .mdui-list-item {\n color: inherit;\n}\n[class*=\"mdui-color-\"] .mdui-list-item-icon {\n color: inherit;\n}\n/**\n * =============================================================================\n * ************ Drawer 抽屉栏导航 ************\n * =============================================================================\n */\n/* DOM 加载完后再添加 transition */\nbody.mdui-loaded {\n transition: padding 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\nbody.mdui-loaded .mdui-drawer {\n transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\n/* 抽屉栏外层,默认出现在左侧且隐藏 */\n.mdui-drawer {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 5000;\n box-sizing: border-box;\n /* stylelint-disable-next-line */\n width: calc(100% - 56px);\n max-width: 280px;\n margin: 0;\n overflow-x: hidden;\n overflow-y: auto;\n white-space: nowrap;\n will-change: transform;\n -webkit-overflow-scrolling: touch;\n}\n@media (max-width: 1023.9px) {\n .mdui-drawer:not(.mdui-drawer-open) {\n box-shadow: none !important;\n }\n}\n@media (min-width: 600px) {\n .mdui-drawer {\n /* stylelint-disable-next-line */\n width: calc(100% - 64px);\n max-width: 320px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer {\n width: 240px;\n max-width: none;\n }\n .mdui-drawer.mdui-drawer-close {\n box-shadow: none !important;\n }\n}\n/* 出现在右侧的抽屉栏 */\n.mdui-drawer-right {\n right: 0;\n left: auto;\n}\n/* 平板上的样式 */\n@media (max-width: 1023.9px) {\n .mdui-drawer {\n /* 始终有背景和阴影 */\n background-color: #fff;\n /* 默认隐藏 */\n transform: translateX(-330px);\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n }\n .mdui-drawer-right {\n /* 右侧 drawer 也默认隐藏 */\n transform: translateX(330px);\n }\n}\n/* 手机上的样式 */\n@media (max-width: 599.9px) {\n .mdui-drawer {\n transform: translateX(-290px);\n }\n .mdui-drawer-right {\n transform: translateX(290px);\n }\n}\n/* 强制隐藏抽屉栏 */\n.mdui-drawer-close {\n transform: translateX(-290px);\n}\n.mdui-drawer-close.mdui-drawer-right {\n transform: translateX(290px);\n}\n@media (min-width: 600px) {\n .mdui-drawer-close {\n transform: translateX(-330px);\n }\n .mdui-drawer-close.mdui-drawer-right {\n transform: translateX(330px);\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer-close {\n transform: translateX(-250px);\n }\n .mdui-drawer-close.mdui-drawer-right {\n transform: translateX(250px);\n }\n}\n/* 强制显示抽屉栏 */\n.mdui-drawer-open {\n transform: translateX(0) !important;\n}\n/* PC 上的样式 */\n@media (min-width: 1024px) {\n /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */\n .mdui-drawer-body-left {\n padding-left: 240px;\n }\n .mdui-drawer-body-right {\n padding-right: 240px;\n }\n /* PC 上默认有上边距 */\n .mdui-appbar-with-toolbar .mdui-drawer {\n top: 64px;\n }\n .mdui-appbar-with-tab .mdui-drawer {\n top: 48px;\n }\n .mdui-appbar-with-tab-larger .mdui-drawer {\n top: 72px;\n }\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer {\n top: 112px;\n }\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer {\n top: 136px;\n }\n}\n/* 抽屉栏不是透明时添加阴影 */\n.mdui-drawer[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n/* 抽屉栏 100% 高度,覆盖在导航栏上面 */\n.mdui-drawer-full-height {\n top: 0 !important;\n}\n/**\n * =============================================================================\n * ************ Drawer dark ************\n * =============================================================================\n */\n@media (max-width: 1023.9px) {\n .mdui-theme-layout-dark .mdui-drawer {\n background-color: #424242;\n }\n}\n@media (prefers-color-scheme: dark) and (max-width: 1023.9px) {\n .mdui-theme-layout-auto .mdui-drawer {\n background-color: #424242;\n }\n}\n/**\n * =============================================================================\n * ************ Dialog 提示框 ************\n * =============================================================================\n */\n.mdui-dialog {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 6000;\n display: none;\n box-sizing: border-box;\n width: 92%;\n min-width: 180px;\n max-width: 728px;\n max-height: 90%;\n margin: auto;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(0.95);\n opacity: 0;\n transition-duration: 0.3s;\n transition-property: transform, opacity, visibility;\n will-change: top, opacity, transform;\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n@media (min-width: 600px) {\n .mdui-dialog {\n width: 85%;\n max-height: 85%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-dialog {\n width: 80%;\n max-height: 80%;\n }\n}\n/* 打开提示框 */\n.mdui-dialog-open {\n transform: scale(1);\n opacity: 1;\n}\n/* 提示框标题 */\n.mdui-dialog-title {\n box-sizing: border-box;\n font-weight: 500;\n font-size: 20px;\n line-height: 24px;\n text-align: left;\n}\n/* 标题固定在顶部 */\n.mdui-dialog > .mdui-dialog-title {\n padding: 24px 24px 20px 24px;\n}\n/* 提示框内容 */\n.mdui-dialog-content {\n box-sizing: border-box;\n padding: 24px;\n overflow-y: auto;\n color: rgba(0, 0, 0, 0.7);\n font-size: 15px;\n line-height: 1.5;\n -webkit-overflow-scrolling: touch;\n}\n/* 标题随内容滚动 */\n.mdui-dialog-content > .mdui-dialog-title {\n padding-bottom: 20px;\n}\n.mdui-dialog-title + .mdui-dialog-content {\n padding-top: 0;\n}\n/* 提示框底部按钮 */\n.mdui-dialog-actions {\n box-sizing: border-box;\n padding: 8px;\n text-align: right;\n}\n.mdui-dialog-actions .mdui-btn {\n min-width: 64px;\n margin-left: 8px;\n color: #E91E63;\n}\n.mdui-dialog-actions .mdui-btn:first-child {\n margin-left: 0;\n}\n/* 底部按钮滚随内容动 */\n.mdui-dialog-content > .mdui-dialog-actions {\n margin: 0 -24px -24px -24px;\n padding-top: 32px;\n}\n/* 使提示框底部按钮竖排 */\n.mdui-dialog-actions-stacked {\n padding: 8px 0 8px 0;\n}\n.mdui-dialog-actions-stacked .mdui-btn {\n width: 100%;\n height: 48px;\n margin: 0;\n line-height: 48px !important;\n text-align: right;\n border-radius: 0;\n}\n/**\n * =============================================================================\n * ************ Dialog 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn {\n color: #FFC107;\n}\n.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn {\n color: #2196F3;\n}\n.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn {\n color: #00BCD4;\n}\n.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn {\n color: #FF5722;\n}\n.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn {\n color: #673AB7;\n}\n.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn {\n color: #4CAF50;\n}\n.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn {\n color: #3F51B5;\n}\n.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn {\n color: #03A9F4;\n}\n.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn {\n color: #8BC34A;\n}\n.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn {\n color: #CDDC39;\n}\n.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn {\n color: #FF9800;\n}\n.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn {\n color: #E91E63;\n}\n.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn {\n color: #9C27B0;\n}\n.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn {\n color: #F44336;\n}\n.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn {\n color: #009688;\n}\n.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn {\n color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Dialog dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-dialog {\n color: #fff;\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-dialog {\n color: #fff;\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n }\n}\n/**\n * =============================================================================\n * ************ Dialog alert ************\n * =============================================================================\n */\n.mdui-dialog-alert {\n max-width: 448px;\n}\n/**\n * =============================================================================\n * ************ Dialog confirm ************\n * =============================================================================\n */\n.mdui-dialog-confirm {\n max-width: 448px;\n}\n/**\n * =============================================================================\n * ************ Dialog prompt ************\n * =============================================================================\n */\n.mdui-dialog-prompt {\n max-width: 448px;\n}\n.mdui-dialog-prompt .mdui-textfield {\n padding-top: 0;\n}\n/**\n * =============================================================================\n * ************ Tooltip 工具提示 ************\n * =============================================================================\n */\n.mdui-tooltip {\n position: absolute;\n z-index: 9000;\n display: inline-block;\n box-sizing: border-box;\n max-width: 180px;\n min-height: 32px;\n padding: 8px 16px;\n color: #fff;\n font-weight: 500;\n font-size: 14px;\n line-height: 22px;\n text-align: left;\n background-color: rgba(97, 97, 97, 0.9);\n border-radius: 2px;\n transform: scale(0);\n opacity: 0;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.15s;\n transition-property: opacity, transform;\n will-change: opacity, transform;\n}\n@media (min-width: 1024px) {\n .mdui-tooltip {\n max-width: 200px;\n min-height: 24px;\n padding: 4px 8px;\n font-size: 12px;\n line-height: 18px;\n }\n}\n/* 显示工具提示 */\n.mdui-tooltip-open {\n transform: scale(1);\n opacity: 1;\n}\n/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n.mdui-snackbar {\n position: fixed;\n z-index: 7000;\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n width: 100%;\n min-height: 48px;\n padding: 0 24px 0 24px;\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n background-color: #323232;\n will-change: transform;\n}\n@media (min-width: 600px) {\n .mdui-snackbar {\n width: auto;\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n }\n}\n.mdui-snackbar-bottom,\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-top,\n.mdui-snackbar-right-bottom {\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 位置 */\n.mdui-snackbar-bottom,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-bottom {\n bottom: 0;\n}\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-right-top {\n top: 0;\n}\n.mdui-snackbar-top,\n.mdui-snackbar-bottom {\n left: 50%;\n}\n@media (min-width: 600px) {\n .mdui-snackbar-left-top {\n top: 24px;\n left: 24px;\n }\n .mdui-snackbar-left-bottom {\n bottom: 24px;\n left: 24px;\n }\n .mdui-snackbar-right-top {\n top: 24px;\n right: 24px;\n }\n .mdui-snackbar-right-bottom {\n right: 24px;\n bottom: 24px;\n }\n}\n/* 文本 */\n.mdui-snackbar-text {\n position: relative;\n max-width: 100%;\n padding: 14px 0 14px 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n/* 按钮 */\n.mdui-snackbar-action {\n margin-right: -16px;\n white-space: nowrap;\n color: #FF80AB;\n}\n/**\n * =============================================================================\n * ************ Snackbar 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-snackbar-action {\n color: #FFE57F;\n}\n.mdui-theme-accent-blue .mdui-snackbar-action {\n color: #82B1FF;\n}\n.mdui-theme-accent-cyan .mdui-snackbar-action {\n color: #84FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-snackbar-action {\n color: #FF9E80;\n}\n.mdui-theme-accent-deep-purple .mdui-snackbar-action {\n color: #B388FF;\n}\n.mdui-theme-accent-green .mdui-snackbar-action {\n color: #B9F6CA;\n}\n.mdui-theme-accent-indigo .mdui-snackbar-action {\n color: #8C9EFF;\n}\n.mdui-theme-accent-light-blue .mdui-snackbar-action {\n color: #80D8FF;\n}\n.mdui-theme-accent-light-green .mdui-snackbar-action {\n color: #CCFF90;\n}\n.mdui-theme-accent-lime .mdui-snackbar-action {\n color: #F4FF81;\n}\n.mdui-theme-accent-orange .mdui-snackbar-action {\n color: #FFD180;\n}\n.mdui-theme-accent-pink .mdui-snackbar-action {\n color: #FF80AB;\n}\n.mdui-theme-accent-purple .mdui-snackbar-action {\n color: #EA80FC;\n}\n.mdui-theme-accent-red .mdui-snackbar-action {\n color: #FF8A80;\n}\n.mdui-theme-accent-teal .mdui-snackbar-action {\n color: #A7FFEB;\n}\n.mdui-theme-accent-yellow .mdui-snackbar-action {\n color: #FFFF8D;\n}\n/**\n * =============================================================================\n * ************ Snackbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-snackbar {\n background-color: #5d5d5d;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-snackbar {\n background-color: #5d5d5d;\n }\n}\n/**\n * =============================================================================\n * ************ Chip 纸片 ************\n * =============================================================================\n */\n.mdui-chip {\n display: inline-block;\n box-sizing: border-box;\n height: 32px;\n margin: 2px 0;\n color: inherit;\n white-space: nowrap;\n background-color: #e0e0e0;\n border-radius: 16px;\n cursor: pointer;\n user-select: none;\n transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: box-shadow;\n}\n.mdui-chip:hover,\n.mdui-chip:focus {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-chip:active {\n background-color: #d6d6d6;\n}\n/* 左侧的图标 */\n.mdui-chip-icon {\n position: relative;\n display: inline-block;\n width: 32px;\n height: 32px;\n margin-right: -4px;\n overflow: hidden;\n color: #fff;\n font-size: 18px;\n line-height: 32px;\n text-align: center;\n vertical-align: middle;\n background-color: #989898;\n border-radius: 50%;\n}\n.mdui-chip-icon .mdui-icon {\n position: absolute;\n top: 4px;\n left: 4px;\n color: #fff;\n}\n/* 文本 */\n.mdui-chip-title {\n display: inline-block;\n height: 32px;\n padding-right: 12px;\n padding-left: 12px;\n font-size: 14px;\n line-height: 32px;\n vertical-align: middle;\n}\n/* 删除按钮 */\n.mdui-chip-delete {\n display: inline-block;\n width: 24px;\n height: 24px;\n margin-right: 4px;\n margin-left: -8px;\n overflow: hidden;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n border-radius: 50%;\n cursor: pointer;\n opacity: 0.54;\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: opacity;\n}\n.mdui-chip-delete:hover,\n.mdui-chip-delete:focus {\n opacity: 0.87;\n}\n/**\n * =============================================================================\n * ************ Chip dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-chip {\n background-color: #484848;\n}\n.mdui-theme-layout-dark .mdui-chip:active {\n background-color: #5d5d5d;\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-chip {\n background-color: #484848;\n }\n .mdui-theme-layout-auto .mdui-chip:active {\n background-color: #5d5d5d;\n }\n}\n/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n.mdui-bottom-nav {\n position: relative;\n display: flex;\n height: 56px;\n margin: 0 auto;\n padding: 0;\n overflow: hidden;\n white-space: nowrap;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav::before {\n flex-grow: 1;\n content: ' ';\n }\n .mdui-bottom-nav::after {\n flex-grow: 1;\n content: ' ';\n }\n}\n.mdui-bottom-nav a {\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n max-width: none;\n padding: 8px 12px 10px 12px;\n overflow: hidden;\n color: inherit;\n font-size: 12px;\n text-align: center;\n text-decoration: none;\n text-overflow: ellipsis;\n cursor: pointer;\n opacity: 0.7;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n user-select: none;\n will-change: padding;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav a {\n max-width: 144px;\n }\n}\n.mdui-bottom-nav a .mdui-icon {\n opacity: 0.7;\n}\n.mdui-bottom-nav a label {\n display: block;\n width: 100%;\n cursor: pointer;\n transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: font-size;\n}\n.mdui-bottom-nav a .mdui-icon + label {\n margin-top: 6px;\n}\n.mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #3F51B5;\n font-size: 14px;\n opacity: 1;\n}\n.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon {\n opacity: 1;\n}\n/* 只在激活时显示文本 */\n.mdui-bottom-nav-text-auto a {\n min-width: 32px;\n padding-right: 0;\n padding-left: 0;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav-text-auto a {\n max-width: 156px;\n }\n}\n.mdui-bottom-nav-text-auto a .mdui-icon {\n padding-top: 16px;\n transition: padding-top 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: padding-top;\n}\n.mdui-bottom-nav-text-auto a label {\n transform: scale(0);\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active {\n padding-right: 18px;\n padding-left: 18px;\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon {\n padding-top: 0;\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label {\n transform: scale(1);\n}\n/* 固定到页面底部 */\n.mdui-bottom-nav-fixed {\n padding-bottom: 56px;\n}\n.mdui-bottom-nav-fixed .mdui-bottom-nav {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n}\n/**\n * =============================================================================\n * ************ Bottom Nav 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FFEB3B;\n}\n/* 带背景色的底部导航栏 */\n.mdui-bottom-nav[class*=\"mdui-color-\"] .mdui-bottom-nav-active {\n color: inherit !important;\n}\n/**\n * =============================================================================\n * ************ Progress Linear 线性进度条 ************\n * =============================================================================\n */\n/* 线性进度条 */\n.mdui-progress {\n position: relative;\n display: block;\n width: 100%;\n height: 4px;\n overflow: hidden;\n background-color: rgba(63, 81, 181, 0.2);\n border-radius: 2px;\n}\n/* 确定进度的线性进度条 */\n.mdui-progress-determinate {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: #3F51B5;\n transition: width 0.3s linear;\n}\n/* 不确定进度的线性进度条 */\n.mdui-progress-indeterminate {\n background-color: #3F51B5;\n}\n.mdui-progress-indeterminate::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: inherit;\n animation: mdui-progress-indeterminate 2s linear infinite;\n content: ' ';\n will-change: left, width;\n}\n.mdui-progress-indeterminate::after {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: inherit;\n animation: mdui-progress-indeterminate-short 2s linear infinite;\n content: ' ';\n will-change: left, width;\n}\n@keyframes mdui-progress-indeterminate {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 30%;\n width: 70%;\n }\n 75% {\n left: 100%;\n width: 0;\n }\n}\n@keyframes mdui-progress-indeterminate-short {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 0;\n width: 0;\n }\n 75% {\n left: 0;\n width: 25%;\n }\n 100% {\n left: 100%;\n width: 0;\n }\n}\n/**\n * =============================================================================\n * ************ Progress linear 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-progress {\n background-color: rgba(255, 193, 7, 0.2);\n}\n.mdui-theme-primary-amber .mdui-progress-determinate,\n.mdui-theme-primary-amber .mdui-progress-indeterminate {\n background-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-progress {\n background-color: rgba(33, 150, 243, 0.2);\n}\n.mdui-theme-primary-blue .mdui-progress-determinate,\n.mdui-theme-primary-blue .mdui-progress-indeterminate {\n background-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-progress {\n background-color: rgba(96, 125, 139, 0.2);\n}\n.mdui-theme-primary-blue-grey .mdui-progress-determinate,\n.mdui-theme-primary-blue-grey .mdui-progress-indeterminate {\n background-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-progress {\n background-color: rgba(121, 85, 72, 0.2);\n}\n.mdui-theme-primary-brown .mdui-progress-determinate,\n.mdui-theme-primary-brown .mdui-progress-indeterminate {\n background-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-progress {\n background-color: rgba(0, 188, 212, 0.2);\n}\n.mdui-theme-primary-cyan .mdui-progress-determinate,\n.mdui-theme-primary-cyan .mdui-progress-indeterminate {\n background-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-progress {\n background-color: rgba(255, 87, 34, 0.2);\n}\n.mdui-theme-primary-deep-orange .mdui-progress-determinate,\n.mdui-theme-primary-deep-orange .mdui-progress-indeterminate {\n background-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-progress {\n background-color: rgba(103, 58, 183, 0.2);\n}\n.mdui-theme-primary-deep-purple .mdui-progress-determinate,\n.mdui-theme-primary-deep-purple .mdui-progress-indeterminate {\n background-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-progress {\n background-color: rgba(76, 175, 80, 0.2);\n}\n.mdui-theme-primary-green .mdui-progress-determinate,\n.mdui-theme-primary-green .mdui-progress-indeterminate {\n background-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-progress {\n background-color: rgba(158, 158, 158, 0.2);\n}\n.mdui-theme-primary-grey .mdui-progress-determinate,\n.mdui-theme-primary-grey .mdui-progress-indeterminate {\n background-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-progress {\n background-color: rgba(63, 81, 181, 0.2);\n}\n.mdui-theme-primary-indigo .mdui-progress-determinate,\n.mdui-theme-primary-indigo .mdui-progress-indeterminate {\n background-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-progress {\n background-color: rgba(3, 169, 244, 0.2);\n}\n.mdui-theme-primary-light-blue .mdui-progress-determinate,\n.mdui-theme-primary-light-blue .mdui-progress-indeterminate {\n background-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-progress {\n background-color: rgba(139, 195, 74, 0.2);\n}\n.mdui-theme-primary-light-green .mdui-progress-determinate,\n.mdui-theme-primary-light-green .mdui-progress-indeterminate {\n background-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-progress {\n background-color: rgba(205, 220, 57, 0.2);\n}\n.mdui-theme-primary-lime .mdui-progress-determinate,\n.mdui-theme-primary-lime .mdui-progress-indeterminate {\n background-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-progress {\n background-color: rgba(255, 152, 0, 0.2);\n}\n.mdui-theme-primary-orange .mdui-progress-determinate,\n.mdui-theme-primary-orange .mdui-progress-indeterminate {\n background-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-progress {\n background-color: rgba(233, 30, 99, 0.2);\n}\n.mdui-theme-primary-pink .mdui-progress-determinate,\n.mdui-theme-primary-pink .mdui-progress-indeterminate {\n background-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-progress {\n background-color: rgba(156, 39, 176, 0.2);\n}\n.mdui-theme-primary-purple .mdui-progress-determinate,\n.mdui-theme-primary-purple .mdui-progress-indeterminate {\n background-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-progress {\n background-color: rgba(244, 67, 54, 0.2);\n}\n.mdui-theme-primary-red .mdui-progress-determinate,\n.mdui-theme-primary-red .mdui-progress-indeterminate {\n background-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-progress {\n background-color: rgba(0, 150, 136, 0.2);\n}\n.mdui-theme-primary-teal .mdui-progress-determinate,\n.mdui-theme-primary-teal .mdui-progress-indeterminate {\n background-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-progress {\n background-color: rgba(255, 235, 59, 0.2);\n}\n.mdui-theme-primary-yellow .mdui-progress-determinate,\n.mdui-theme-primary-yellow .mdui-progress-indeterminate {\n background-color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Progress Circular 圆形进度条 ************\n * =============================================================================\n */\n.mdui-spinner {\n position: relative;\n display: inline-block;\n width: 28px;\n height: 28px;\n animation: mdui-spinner 1568ms linear infinite;\n}\n@keyframes mdui-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n.mdui-spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n border-color: #3F51B5;\n opacity: 0;\n opacity: 1;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-1 {\n border-color: #42A5F5 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-2 {\n border-color: #F44336 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-3 {\n border-color: #FDD835 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-4 {\n border-color: #4CAF50 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n@keyframes mdui-spinner-layer-fill-unfill-rotate {\n 12.5% {\n transform: rotate(135deg);\n }\n 25% {\n transform: rotate(270deg);\n }\n 37.5% {\n transform: rotate(405deg);\n }\n 50% {\n transform: rotate(540deg);\n }\n 62.5% {\n transform: rotate(675deg);\n }\n 75% {\n transform: rotate(810deg);\n }\n 87.5% {\n transform: rotate(945deg);\n }\n to {\n transform: rotate(1080deg);\n }\n}\n@keyframes mdui-spinner-layer-1-fade-in-out {\n from {\n opacity: 1;\n }\n 25% {\n opacity: 1;\n }\n 26% {\n opacity: 0;\n }\n 89% {\n opacity: 0;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes mdui-spinner-layer-2-fade-in-out {\n from {\n opacity: 0;\n }\n 15% {\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n opacity: 1;\n }\n 51% {\n opacity: 0;\n }\n}\n@keyframes mdui-spinner-layer-3-fade-in-out {\n from {\n opacity: 0;\n }\n 40% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 75% {\n opacity: 1;\n }\n 76% {\n opacity: 0;\n }\n}\n@keyframes mdui-spinner-layer-4-fade-in-out {\n from {\n opacity: 0;\n }\n 65% {\n opacity: 0;\n }\n 75% {\n opacity: 1;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n.mdui-spinner-gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n.mdui-spinner-gap-patch .mdui-spinner-circle {\n left: -450%;\n box-sizing: border-box;\n width: 1000%;\n}\n.mdui-spinner-circle-clipper {\n position: relative;\n display: inline-block;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n.mdui-spinner-circle-clipper .mdui-spinner-circle {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n box-sizing: border-box;\n width: 200%;\n height: 100%;\n border-color: inherit;\n border-style: solid;\n border-width: 3px;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-left {\n float: left;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle {\n left: 0;\n border-right-color: transparent !important;\n transform: rotate(129deg);\n animation: mdui-spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-right {\n float: right;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg);\n animation: mdui-spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n@keyframes mdui-spinner-left-spin {\n from {\n transform: rotate(130deg);\n }\n 50% {\n transform: rotate(-5deg);\n }\n to {\n transform: rotate(130deg);\n }\n}\n@keyframes mdui-spinner-right-spin {\n from {\n transform: rotate(-130deg);\n }\n 50% {\n transform: rotate(5deg);\n }\n to {\n transform: rotate(-130deg);\n }\n}\n/**\n * =============================================================================\n * ************ Spinner linear 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-spinner-layer {\n border-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-spinner-layer {\n border-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-spinner-layer {\n border-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-spinner-layer {\n border-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-spinner-layer {\n border-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-spinner-layer {\n border-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-spinner-layer {\n border-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-spinner-layer {\n border-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-spinner-layer {\n border-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-spinner-layer {\n border-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-spinner-layer {\n border-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-spinner-layer {\n border-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-spinner-layer {\n border-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-spinner-layer {\n border-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-spinner-layer {\n border-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-spinner-layer {\n border-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-spinner-layer {\n border-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-spinner-layer {\n border-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-spinner-layer {\n border-color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n/* 菜单 */\n.mdui-menu {\n position: fixed;\n z-index: 99999;\n display: block;\n box-sizing: border-box;\n width: 168px;\n margin: 0;\n padding: 8px 0;\n overflow-y: auto;\n color: rgba(0, 0, 0, 0.87);\n font-size: 16px;\n list-style: none;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(0);\n visibility: hidden;\n opacity: 0;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.3s;\n transition-property: transform, opacity, visibility;\n will-change: transform, opacity, visibility;\n -webkit-overflow-scrolling: touch;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-menu .mdui-divider {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n/* 打开状态的菜单 */\n.mdui-menu-open {\n transform: scale(1);\n visibility: visible;\n opacity: 1;\n}\n/* 关闭中的菜单 */\n.mdui-menu-closing {\n transform: scale(1);\n visibility: visible;\n opacity: 0;\n}\n/* 菜单项 */\n.mdui-menu-item {\n position: relative;\n}\n.mdui-menu-item > a {\n position: relative;\n display: block;\n height: 48px;\n padding: 0 16px;\n color: inherit;\n line-height: 48px;\n text-decoration: none;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mdui-menu-item > a:hover {\n background-color: #EEEEEE;\n}\n.mdui-menu-item > .mdui-menu {\n position: absolute;\n box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-menu-item[disabled] > a {\n color: rgba(0, 0, 0, 0.38) !important;\n cursor: default;\n}\n.mdui-menu-item[disabled] > a:hover {\n background-color: inherit !important;\n}\n.mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(0, 0, 0, 0.26);\n}\n/* 激活状态的菜单项 */\n.mdui-menu-item-active {\n background-color: #EEEEEE;\n}\n/* 菜单中的图标 */\n.mdui-menu-item-icon {\n display: inline-block;\n box-sizing: border-box;\n width: 40px;\n padding-right: 16px;\n color: rgba(0, 0, 0, 0.54);\n}\n/* 菜单中的辅助文本或图标 */\n.mdui-menu-item-helper {\n float: right;\n}\n/* 有子菜单的条目的图标 */\n.mdui-menu-item-more {\n float: right;\n width: 24px;\n height: 24px;\n margin: 4px 0;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' opacity='.54'/%3E%3C/svg%3E\");\n}\n/* 级联菜单 */\n.mdui-menu-cascade {\n width: 320px;\n padding: 16px 0;\n overflow: visible;\n font-size: 15px;\n}\n.mdui-menu-cascade > .mdui-menu-item > a {\n height: 32px;\n padding: 0 24px;\n line-height: 32px;\n}\n/**\n * =============================================================================\n * ************ Menu dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-menu {\n color: #fff;\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-menu-item > a:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-menu-item[disabled] > a {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark .mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-menu-item-active {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-menu-item-icon {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-menu-item-more {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E\");\n}\n@media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto .mdui-menu {\n color: #fff;\n background-color: #424242;\n }\n .mdui-theme-layout-auto .mdui-menu-item > a:hover {\n background-color: #616161;\n }\n .mdui-theme-layout-auto .mdui-menu-item[disabled] > a {\n color: rgba(255, 255, 255, 0.5) !important;\n }\n .mdui-theme-layout-auto .mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(255, 255, 255, 0.3);\n }\n .mdui-theme-layout-auto .mdui-menu-item-active {\n background-color: #616161;\n }\n .mdui-theme-layout-auto .mdui-menu-item-icon {\n color: #ffffff;\n }\n .mdui-theme-layout-auto .mdui-menu-item-more {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E\");\n }\n}\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","/**\n * =============================================================================\n * ************ 公共样式 ************\n * =============================================================================\n */\n* {\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n color: @body-text-color;\n font-size: @screen-xs-font-size;\n font-family: @font-family-base;\n background-color: @body-background-color;\n @media (min-width: @screen-sm-min) {\n font-size: @screen-sm-font-size;\n }\n @media (min-width: @screen-md-min) {\n font-size: @screen-md-font-size;\n }\n\n // 滚动条样式\n * {\n .mdui-scrollbar-beautify(light);\n }\n}\n\n/* 锁定屏幕 */\nbody.mdui-locked {\n overflow: hidden;\n}\n\n/* 遮罩层 */\n.mdui-overlay {\n position: fixed;\n top: -5000px;\n right: -5000px;\n bottom: -5000px;\n left: -5000px;\n z-index: @z-index-overlay;\n background: rgba(0, 0, 0, .4);\n backface-visibility: hidden;\n visibility: hidden;\n opacity: 0;\n transition-duration: .3s;\n transition-property: opacity, visibility;\n will-change: opacity;\n}\n\n/* 显示遮罩层 */\n.mdui-overlay-show {\n visibility: visible;\n opacity: 1;\n}\n\n/* 取消 transition 过渡效果 */\n.mdui-no-transition {\n transition-property: none !important;\n}\n\n\n/**\n * =============================================================================\n * ************ Global dark ************\n * =============================================================================\n */\n.layout-theme({\n color: #fff;\n background-color: @layout-dark-color-3;\n\n // 夜间模式滚动条样式\n * {\n .mdui-scrollbar-beautify(dark);\n }\n});\n","// ======================== 边距\n.mdui-m-a(@spacing) {\n margin: @spacing * @spacing-base;\n}\n.mdui-m-t(@spacing) {\n margin-top: @spacing * @spacing-base;\n}\n.mdui-m-r(@spacing) {\n margin-right: @spacing * @spacing-base;\n}\n.mdui-m-b(@spacing) {\n margin-bottom: @spacing * @spacing-base;\n}\n.mdui-m-l(@spacing) {\n margin-left: @spacing * @spacing-base;\n}\n.mdui-m-x(@spacing) {\n margin-right: @spacing * @spacing-base;\n margin-left: @spacing * @spacing-base;\n}\n.mdui-m-y(@spacing) {\n margin-top: @spacing * @spacing-base;\n margin-bottom: @spacing * @spacing-base;\n}\n\n.mdui-p-a(@spacing) {\n padding: @spacing * @spacing-base;\n}\n.mdui-p-t(@spacing) {\n padding-top: @spacing * @spacing-base;\n}\n.mdui-p-r(@spacing) {\n padding-right: @spacing * @spacing-base;\n}\n.mdui-p-b(@spacing) {\n padding-bottom: @spacing * @spacing-base;\n}\n.mdui-p-l(@spacing) {\n padding-left: @spacing * @spacing-base;\n}\n.mdui-p-x(@spacing) {\n padding-right: @spacing * @spacing-base;\n padding-left: @spacing * @spacing-base;\n}\n.mdui-p-y(@spacing) {\n padding-top: @spacing * @spacing-base;\n padding-bottom: @spacing * @spacing-base;\n}\n\n//=========================== 清除浮动\n// 清除浮动\n.mdui-clearfix() {\n &::before,\n &::after {\n display: table;\n content: ' ';\n }\n &::after {\n clear: both;\n }\n}\n\n// 用省略号代替被截断的文本\n.mdui-text-truncate() {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n// 文本强制换行\n.mdui-textwrap() {\n word-wrap: break-word;\n word-break: break-all;\n}\n\n// 使子元素垂直居中\n.mdui-valign() {\n display: flex;\n align-items: center;\n}\n\n// 使元素水平居中\n.mdui-center() {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n\n// 美化滚动条样式\n.mdui-scrollbar-beautify(@layout: light) {\n // 亮色主题\n & when (@layout = light) {\n &::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n // 桌面端\n @media (min-width: @screen-md-min) {\n width: 8px;\n height: 8px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n }\n }\n\n // 暗色主题\n & when (@layout = dark) {\n &::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background: transparent;\n // 桌面端\n @media (min-width: @screen-md-min) {\n width: 8px;\n height: 8px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n }\n }\n}\n",".layout-theme(@rules) {\n & when (@globalLayoutDark = true) {\n .mdui-theme-layout-dark {\n @rules();\n }\n }\n & when (@globalLayoutAuto = true) {\n @media (prefers-color-scheme: dark) {\n .mdui-theme-layout-auto {\n @rules();\n }\n }\n }\n}\n","// 阴影\n@shadow-key-umbra-opacity: 0.2;\n@shadow-key-penumbra-opacity: 0.14;\n@shadow-ambient-shadow-opacity: 0.12;\n\n\n@shadow-depth-0: none;\n\n@shadow-depth-1: 0 2px 1px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 1px 1px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 3px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-2: 0 3px 1px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 2px 2px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 5px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-3: 0 3px 3px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 3px 4px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 8px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-4: 0 2px 4px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 4px 5px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 10px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-5: 0 3px 5px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 5px 8px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 14px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-6: 0 3px 5px -1px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 6px 10px 0 rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 1px 18px 0 rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-7: 0 4px 5px -2px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 7px 10px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 2px 16px 1px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-8: 0 5px 5px -3px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 8px 10px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 3px 14px 2px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-9: 0 5px 6px -3px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 9px 12px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 3px 16px 2px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-10: 0 6px 6px -3px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 10px 14px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 4px 18px 3px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-11: 0 6px 7px -4px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 11px 15px 1px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 4px 20px 3px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-12: 0 7px 8px -4px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 12px 17px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 5px 22px 4px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-13: 0 7px 8px -4px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 13px 19px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 5px 24px 4px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-14: 0 7px 9px -4px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 14px 21px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 5px 26px 4px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-15: 0 8px 9px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 15px 22px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 6px 28px 5px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-16: 0 8px 10px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 16px 24px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 6px 30px 5px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-17: 0 8px 11px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 17px 26px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 6px 32px 5px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-18: 0 9px 11px -5px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 18px 28px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 7px 34px 6px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-19: 0 9px 12px -6px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 19px 29px 2px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 7px 36px 6px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-20: 0 10px 13px -6px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 20px 31px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 8px 38px 7px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-21: 0 10px 13px -6px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 21px 33px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 8px 40px 7px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-22: 0 10px 14px -6px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 22px 35px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 8px 42px 7px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-23: 0 11px 14px -7px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 23px 36px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 9px 44px 8px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n\n@shadow-depth-24: 0 11px 15px -7px rgba(0, 0, 0, @shadow-key-umbra-opacity),\n0 24px 38px 3px rgba(0, 0, 0, @shadow-key-penumbra-opacity),\n0 9px 46px 8px rgba(0, 0, 0, @shadow-ambient-shadow-opacity);\n","// 根据背景色设置文本色\n._mdui-color-text-color(@color-is-dark) {\n & when (@color-is-dark = true) {\n color: @color-white-text;\n }\n & when (@color-is-dark = false) {\n color: @color-black-text;\n }\n}\n\n// hover 状态背景色\n._mdui-background-color-hover(@colorName) {\n @color-is-dark: 'color-@{colorName}-500-is-dark';\n & when (@@color-is-dark = true) {\n @color: 'color-@{colorName}-400';\n\n background-color: @@color;\n }\n & when (@@color-is-dark = false) {\n @color: 'color-@{colorName}-600';\n\n background-color: @@color;\n }\n}\n\n// active 状态背景色\n._mdui-background-color-active(@colorName) {\n @color-is-dark: 'color-@{colorName}-500-is-dark';\n & when (@@color-is-dark = true) {\n @color: 'color-@{colorName}-300';\n\n background-color: @@color;\n }\n & when (@@color-is-dark = false) {\n @color: 'color-@{colorName}-700';\n\n background-color: @@color;\n }\n}\n\n// 仅设置背景色\n.mdui-background-color(@colorName, @degree: 500) {\n @color: 'color-@{colorName}-@{degree}';\n\n background-color: @@color;\n}\n\n// 背景色和文本色\n.mdui-color(@colorName, @degree: 500) {\n .mdui-background-color(@colorName, @degree);\n\n @color-is-dark: 'color-@{colorName}-@{degree}-is-dark';\n ._mdui-color-text-color(@@color-is-dark);\n}\n\n// 文本色\n.mdui-text-color(@colorName, @degree: 500, @opacity: 1) {\n @color: 'color-@{colorName}-@{degree}';\n\n & when (@opacity = 1) {\n color: @@color;\n }\n & when (@opacity < 1) {\n color: rgba(red(@@color), green(@@color), blue(@@color), @opacity);\n }\n}\n","/**\n * =============================================================================\n * ************ Color 颜色 ************\n * =============================================================================\n */\n\n@global-primary-color-degrees-length: length(@globalPrimaryColorDegrees);\n@global-primary-colors-length: length(@globalPrimaryColors);\n@global-accent-color-degrees-length: length(@globalAccentColorDegrees);\n@global-accent-colors-length: length(@globalAccentColors);\n\n\n/**\n * .mdui-theme-primary-[color] .mdui-color-theme\n * .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n\n // .mdui-theme-primary-[color] .mdui-color-theme\n .mdui-color-theme {\n .mdui-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n .mdui-color-theme-@{degree} when not (@degree = null) {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-theme-accent-[color] .mdui-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // .mdui-theme-accent-[color] .mdui-color-theme-accent\n .mdui-color-theme-accent {\n .mdui-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n .mdui-color-theme-@{degree} when not (@degree = null) {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-color-[color]\n * .mdui-color-[color]-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n & {\n // .mdui-color-[color]\n .mdui-color-@{colorName} when not (@colorName = null) {\n .mdui-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-color-[color]-[degree]\n .mdui-color-@{colorName}-@{degree} when not (@degree = null) {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-color-[color]-accent\n * .mdui-color-[color]-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n &{\n // .mdui-color-[color]-accent\n .mdui-color-@{colorName}-accent when not (@colorName = null) {\n .mdui-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-color-[color]-[degree]\n .mdui-color-@{colorName}-@{degree} when not (@degree = null) {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-color-black\n * .mdui-color-white\n * .mdui-color-transparent\n */\n\n.mdui-color-black {\n color: @color-white-text !important;\n background-color: @color-black !important;\n}\n\n.mdui-color-white {\n color: @color-black-text !important;\n background-color: @color-white !important;\n}\n\n.mdui-color-transparent {\n background-color: @color-transparent !important;\n}\n\n\n/**\n * .mdui-theme-primary-[color] .mdui-text-color-theme\n * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n\n // .mdui-theme-primary-[color] .mdui-text-color-theme\n .mdui-text-color-theme {\n .mdui-text-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n .mdui-text-color-theme-@{degree} when not (@degree = null) {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n .mdui-text-color-theme-accent {\n .mdui-text-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n .mdui-text-color-theme-@{degree} when not (@degree = null) {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-text-color-[color]\n * .mdui-text-color-[color]-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n &{\n // .mdui-text-color-[color]\n .mdui-text-color-@{colorName} when not (@colorName = null) {\n .mdui-text-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-text-color-[color]-[degree]\n .mdui-text-color-@{colorName}-@{degree} when not (@degree = null) {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-text-color-[color]-accent\n * .mdui-text-color-[color]-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n &{\n // .mdui-text-color-[color]-accent\n .mdui-text-color-@{colorName}-accent when not (@colorName = null) {\n .mdui-text-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-text-color-[color]-[degree]\n .mdui-text-color-@{colorName}-@{degree} when not (@degree = null) {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-text-color-black\n * .mdui-text-color-black-[]\n * .mdui-text-color-theme-[]\n */\n\n.mdui-text-color-black {\n color: @color-black !important;\n}\n.mdui-text-color-black-text,\n.mdui-text-color-theme-text {\n color: @color-black-text !important;\n}\n.mdui-text-color-black-secondary,\n.mdui-text-color-theme-secondary {\n color: @color-black-secondary !important;\n}\n.mdui-text-color-black-disabled,\n.mdui-text-color-theme-disabled {\n color: @color-black-disabled !important;\n}\n.mdui-text-color-black-divider,\n.mdui-text-color-theme-divider {\n color: @color-black-divider !important;\n}\n.mdui-text-color-black-icon,\n.mdui-text-color-theme-icon {\n color: @color-black-icon !important;\n}\n.mdui-text-color-black-icon-disabled,\n.mdui-text-color-theme-icon-disabled {\n color: @color-black-icon-disabled !important;\n}\n\n/**\n * .mdui-text-color-white\n * .mdui-text-color-white-[]\n */\n.mdui-text-color-white {\n color: @color-white !important;\n}\n.mdui-text-color-white-text {\n color: @color-white-text !important;\n}\n.mdui-text-color-white-secondary {\n color: @color-white-secondary !important;\n}\n.mdui-text-color-white-disabled {\n color: @color-white-disabled !important;\n}\n.mdui-text-color-white-divider {\n color: @color-white-divider !important;\n}\n.mdui-text-color-white-icon {\n color: @color-white-icon !important;\n}\n.mdui-text-color-white-icon-disabled {\n color: @color-white-icon-disabled !important;\n}\n\n/**\n * .mdui-text-color-theme-[] 深色主题\n */\n.layout-theme({\n .mdui-text-color-theme-text {\n color: @color-white-text !important;\n }\n .mdui-text-color-theme-secondary {\n color: @color-white-secondary !important;\n }\n .mdui-text-color-theme-disabled {\n color: @color-white-disabled !important;\n }\n .mdui-text-color-theme-divider {\n color: @color-white-divider !important;\n }\n .mdui-text-color-theme-icon {\n color: @color-white-icon !important;\n }\n .mdui-text-color-theme-icon-disabled {\n color: @color-white-icon-disabled !important;\n }\n});\n","/**\n * =============================================================================\n * ************ Helper 辅助类 ************\n * =============================================================================\n */\n\n/**\n * =================== 边距\n */\n._spacing_margin_mixin(@spacing) when (@spacing > -1) {\n ._spacing_margin_mixin(@spacing - 1);\n\n .mdui-m-a-@{spacing} {\n .mdui-m-a(@spacing) !important;\n }\n .mdui-m-t-@{spacing} {\n .mdui-m-t(@spacing) !important;\n }\n .mdui-m-r-@{spacing} {\n .mdui-m-r(@spacing) !important;\n }\n .mdui-m-b-@{spacing} {\n .mdui-m-b(@spacing) !important;\n }\n .mdui-m-l-@{spacing} {\n .mdui-m-l(@spacing) !important;\n }\n .mdui-m-x-@{spacing} {\n .mdui-m-x(@spacing) !important;\n }\n .mdui-m-y-@{spacing} {\n .mdui-m-y(@spacing) !important;\n }\n\n .mdui-p-a-@{spacing} {\n .mdui-p-a(@spacing) !important;\n }\n .mdui-p-t-@{spacing} {\n .mdui-p-t(@spacing) !important;\n }\n .mdui-p-r-@{spacing} {\n .mdui-p-r(@spacing) !important;\n }\n .mdui-p-b-@{spacing} {\n .mdui-p-b(@spacing) !important;\n }\n .mdui-p-l-@{spacing} {\n .mdui-p-l(@spacing) !important;\n }\n .mdui-p-x-@{spacing} {\n .mdui-p-x(@spacing) !important;\n }\n .mdui-p-y-@{spacing} {\n .mdui-p-y(@spacing) !important;\n }\n}\n\n._spacing_margin_mixin(5);\n\n\n/**\n * ======================== 快速浮动\n */\n\n/* 向左浮动 */\n.mdui-float-left {\n float: left !important;\n}\n\n/* 向右浮动 */\n.mdui-float-right {\n float: right !important;\n}\n\n/**\n * ========================= 水平居中\n */\n\n/* 水平居中 */\n.mdui-center {\n .mdui-center() !important;\n}\n\n/**\n * ========================= 垂直居中\n */\n\n/* 垂直居中 */\n.mdui-valign {\n .mdui-valign() !important;\n}\n\n/**\n * ========================= 文本对齐方式\n */\n\n/* 文本左对齐 */\n.mdui-text-left {\n text-align: left !important;\n}\n\n/* 文本居中对齐 */\n.mdui-text-center {\n text-align: center !important;\n}\n\n/* 文本向右对齐 */\n.mdui-text-right {\n text-align: right !important;\n}\n\n/**\n * ========================= 文本大小写转换\n */\n\n/* 文本转为小写 */\n.mdui-text-lowercase {\n text-transform: lowercase !important;\n}\n\n/* 文本转为大写 */\n.mdui-text-uppercase {\n text-transform: uppercase !important;\n}\n\n/* 文本转为单词的首字母大写 */\n.mdui-text-capitalize {\n text-transform: capitalize !important;\n}\n\n/**\n * ======================== 文本截断\n */\n\n/* 文本截断 */\n.mdui-text-truncate {\n .mdui-text-truncate();\n}\n\n/**\n * ========================= 清除浮动\n */\n\n/* 清除浮动 */\n.mdui-clearfix {\n .mdui-clearfix();\n}\n\n/**\n * ========================= 隐藏内容\n */\n\n/* 隐藏元素 */\n.mdui-hidden,\n[hidden] {\n display: none !important;\n}\n\n/* 使元素不可见 */\n.mdui-invisible {\n visibility: hidden;\n}\n\n/* Responsive utilities 响应式工具\n ========================================================================== */\n\n/* 在特定屏幕的特备上隐藏 */\n@media (max-width: @screen-xs-max) {\n .mdui-hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .mdui-hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .mdui-hidden-md {\n display: none !important;\n }\n}\n@media (min-width: @screen-lg-min) and (max-width: @screen-lg-max) {\n .mdui-hidden-lg {\n display: none !important;\n }\n}\n@media (min-width: @screen-xl-min) {\n .mdui-hidden-xl {\n display: none !important;\n }\n}\n\n/* 在比特定屏幕小的设备上隐藏 */\n@media (max-width: @screen-xs-max) {\n .mdui-hidden-xs-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-sm-max) {\n .mdui-hidden-sm-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-md-max) {\n .mdui-hidden-md-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-lg-max) {\n .mdui-hidden-lg-down {\n display: none !important;\n }\n}\n.mdui-hidden-xl-down {\n display: none !important;\n}\n\n/* 在比特定屏幕大的设备上隐藏 */\n.mdui-hidden-xs-up {\n display: none !important;\n}\n@media (min-width: @screen-sm-min) {\n .mdui-hidden-sm-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-md-min) {\n .mdui-hidden-md-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-lg-min) {\n .mdui-hidden-lg-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-xl-min) {\n .mdui-hidden-xl-up {\n display: none !important;\n }\n}\n","/**\n * =============================================================================\n * ************ Icon 图标 ************\n * =============================================================================\n */\n\n.mdui-icon,\n.mdui-icon::before {\n color: inherit;\n font-weight: normal;\n font-size: 24px; /* Preferred icon size */\n font-style: normal;\n line-height: 1;\n direction: ltr;\n letter-spacing: normal;\n white-space: nowrap;\n text-transform: none;\n vertical-align: middle;\n word-wrap: normal;\n}\n\n.mdui-icon {\n display: inline-block;\n text-align: center;\n}\n\n.mdui-icon::before {\n display: block !important;\n width: 24px;\n height: 24px;\n}\n","/**\n * =============================================================================\n * ************ Material Icons ************\n * =============================================================================\n *\n * https://github.com/google/material-design-icons/\n * v3.0.1\n */\n\n@import './icon';\n\n@font-face {\n font-weight: 400;\n font-family: 'Material Icons';\n font-style: normal;\n src: local('Material Icons'), local('MaterialIcons-Regular'),\n url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'),\n url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff');\n}\n\n.material-icons {\n /* stylelint-disable-next-line */\n font-family: 'Material Icons';\n\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n","/**\n * =============================================================================\n * ************ Media 媒体工具 ************\n * =============================================================================\n */\n\n/* 响应式图片和视频 */\n.mdui-img-fluid,\n.mdui-video-fluid {\n .mdui-img-fluid();\n}\n\n/* 圆角图片 */\n.mdui-img-rounded {\n border-radius: 2px;\n}\n\n/* 圆形图片 */\n.mdui-img-circle {\n border-radius: 50%;\n}\n\n// embed\n.mdui-video-container {\n position: relative;\n height: 0;\n padding-bottom: 56.25%;\n overflow: hidden;\n\n iframe,\n object,\n embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%\n }\n}\n",".mdui-img-fluid() {\n display: block;\n max-width: 100%;\n height: auto;\n}\n\n.mdui-video-fluid() {\n display: block;\n max-width: 100%;\n height: auto;\n}\n","/**\n * =============================================================================\n * ************ Roboto 字体 ************\n * =============================================================================\n */\n\n@font-face {\n font-weight: 100;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Thin'), local('Roboto-Thin'),\n url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Thin.woff') format('woff');\n}\n\n@font-face {\n font-weight: 100;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'),\n url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 300;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Light'), local('Roboto-Light'),\n url('../fonts/roboto/Roboto-Light.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Light.woff') format('woff');\n}\n\n@font-face {\n font-weight: 300;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto LightItalic'), local('Roboto-LightItalic'),\n url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-LightItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 400;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Regular'), local('Roboto-Regular'),\n url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Regular.woff') format('woff');\n}\n\n@font-face {\n font-weight: 400;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'),\n url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 500;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Medium'), local('Roboto-Medium'),\n url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Medium.woff') format('woff');\n}\n\n@font-face {\n font-weight: 500;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'),\n url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 700;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Bold'), local('Roboto-Bold'),\n url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Bold.woff') format('woff');\n}\n\n@font-face {\n font-weight: 700;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'),\n url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff');\n}\n\n@font-face {\n font-weight: 900;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local('Roboto Black'), local('Roboto-Black'),\n url('../fonts/roboto/Roboto-Black.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Black.woff') format('woff');\n}\n\n@font-face {\n font-weight: 900;\n font-family: 'Roboto';\n font-style: italic;\n font-display: swap;\n src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'),\n url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff');\n}\n","/**\n * =============================================================================\n * ************ Typography 样式排版 ************\n * =============================================================================\n */\n\n/* .mdui-typo-display-4 */\n.mdui-typo-display-4,\n.mdui-typo-display-4-opacity {\n .mdui-typo-display-4();\n}\n.mdui-typo-display-4-opacity {\n ._mdui-typo-display-4-opacity();\n}\n\n/* .mdui-typo-display-3 */\n.mdui-typo-display-3,\n.mdui-typo-display-3-opacity {\n .mdui-typo-display-3();\n}\n.mdui-typo-display-3-opacity {\n ._mdui-typo-display-3-opacity();\n}\n\n/* .mdui-typo-display-2 */\n.mdui-typo-display-2,\n.mdui-typo-display-2-opacity {\n .mdui-typo-display-2();\n}\n.mdui-typo-display-2-opacity {\n ._mdui-typo-display-2-opacity();\n}\n\n/* .mdui-typo-display-1 */\n.mdui-typo-display-1,\n.mdui-typo-display-1-opacity {\n .mdui-typo-display-1();\n}\n.mdui-typo-display-1-opacity {\n ._mdui-typo-display-1-opacity();\n}\n\n/* .mdui-typo-headline */\n.mdui-typo-headline,\n.mdui-typo-headline-opacity {\n .mdui-typo-headline();\n}\n.mdui-typo-headline-opacity {\n ._mdui-typo-headline-opacity();\n}\n\n/* .mdui-typo-title */\n.mdui-typo-title,\n.mdui-typo-title-opacity {\n .mdui-typo-title();\n}\n.mdui-typo-title-opacity {\n ._mdui-typo-title-opacity();\n}\n\n.mdui-typo-subheading,\n.mdui-typo-subheading-opacity {\n .mdui-typo-subheading();\n}\n.mdui-typo-subheading-opacity {\n ._mdui-typo-subheading-opacity();\n}\n\n.mdui-typo-body-2,\n.mdui-typo-body-2-opacity {\n .mdui-typo-body-2();\n}\n.mdui-typo-body-2-opacity {\n ._mdui-typo-body-2-opacity();\n}\n\n.mdui-typo-body-1,\n.mdui-typo-body-1-opacity {\n .mdui-typo-body-1();\n}\n.mdui-typo-body-1-opacity {\n ._mdui-typo-body-1-opacity();\n}\n\n.mdui-typo-caption,\n.mdui-typo-caption-opacity {\n .mdui-typo-caption();\n}\n.mdui-typo-caption-opacity {\n ._mdui-typo-caption-opacity();\n}\n","._mdui-typo-display-4-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-4(@opacity: false) {\n font-weight: 300;\n font-size: 112px;\n letter-spacing: -0.04em;\n & when (@opacity = true) {\n ._mdui-typo-display-4-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-3-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-3(@opacity: false) {\n font-weight: 400;\n font-size: 56px;\n letter-spacing: -0.02em;\n & when (@opacity = true) {\n ._mdui-typo-display-3-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-2-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-2(@opacity: false) {\n font-weight: 400;\n font-size: 45px;\n letter-spacing: 0;\n & when (@opacity = true) {\n ._mdui-typo-display-2-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-1-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-1(@opacity: false) {\n font-weight: 400;\n font-size: 34px;\n letter-spacing: 0;\n & when (@opacity = true) {\n ._mdui-typo-display-1-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-headline-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-headline(@opacity: false) {\n font-weight: 400;\n font-size: 24px;\n -moz-osx-font-smoothing: grayscale;\n & when (@opacity = true) {\n ._mdui-typo-headline-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-title-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-title(@opacity: false) {\n font-weight: 500;\n font-size: 20px;\n letter-spacing: 0.02em;\n & when (@opacity = true) {\n ._mdui-typo-title-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-subheading-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-subheading(@opacity: false) {\n font-weight: 400;\n font-size: 16px;\n letter-spacing: 0.04em;\n & when (@opacity = true) {\n ._mdui-typo-subheading-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-body-2-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-body-2(@opacity: false) {\n font-weight: 500;\n font-size: 14px;\n letter-spacing: 0.04em;\n & when (@opacity = true) {\n ._mdui-typo-body-2-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-body-1-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-body-1(@opacity: false) {\n font-weight: 400;\n font-size: 14px;\n letter-spacing: 0.04em;\n & when (@opacity = true) {\n ._mdui-typo-body-1-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-caption-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-caption(@opacity: false) {\n font-weight: 400;\n font-size: 12px;\n letter-spacing: 0.08em;\n & when (@opacity = true) {\n ._mdui-typo-caption-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n","/**\n * =============================================================================\n * ************ Typography 文章排版 ************\n * =============================================================================\n */\n\n.mdui-typo {\n line-height: 1.8;\n word-wrap: break-word;\n\n address, caption, cite, code, dfn, th {\n font-weight: 400;\n font-style: normal;\n }\n\n caption, th {\n text-align: left;\n }\n\n q::before, q::after {\n content: '';\n }\n\n pre, code, kbd, samp, pre tt {\n font-family: Consolas, Courier, 'Courier New', monospace;\n }\n\n figcaption {\n color: @color-black-secondary;\n font-size: 80%;\n }\n\n [draggable],\n [draggable=\"true\"] {\n cursor: move;\n }\n\n [draggable=\"false\"] {\n cursor: inherit;\n }\n\n p, pre, ul, ol, dl, form, hr, figure, table, .mdui-table, .mdui-table-fluid {\n margin: 0 0 1.2em 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n /* a */\n a {\n .mdui-text-color(@color-accent-default-name, a200);\n\n position: relative;\n display: inline-block;\n overflow: hidden;\n text-decoration: none;\n vertical-align: top;\n outline: none;\n\n &::before {\n position: absolute;\n top: auto;\n bottom: 1px;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: @color-default-a200;\n transform: scaleX(0);\n backface-visibility: hidden;\n transition: all 0.2s;\n content: ' ';\n }\n\n &:hover::before,\n &:focus::before {\n transform: scaleX(1);\n }\n }\n\n /* small */\n small {\n font-size: 80%;\n }\n\n /* blockquote */\n blockquote {\n margin: 1em 3em 1em 2em;\n padding-left: 1em;\n font-weight: 400;\n border-left: 4px solid @color-black-divider;\n @media only screen and (max-width: @screen-xs-max) {\n margin: 1em 0;\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n\n footer {\n color: @color-black-secondary;\n font-size: 86%;\n }\n }\n\n /* mark */\n mark {\n margin: 0 5px;\n padding: 2px;\n background: #fffdd1;\n border-bottom: 1px solid #ffedce;\n }\n\n /* h1 - h6 */\n h1, h2, h3, h4, h5, h6 {\n margin-top: 1.2em;\n margin-bottom: 0.6em;\n color: inherit;\n font-weight: 400;\n font-family: inherit;\n line-height: 1.35;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n small {\n color: @color-black-secondary;\n font-weight: 400;\n font-size: 65%;\n line-height: 1;\n }\n }\n h1 {\n font-size: 2em;\n }\n h2 {\n font-size: 1.8em;\n }\n h3 {\n font-size: 1.6em;\n }\n h4 {\n font-size: 1.4em;\n }\n h5 {\n font-size: 1.2em;\n }\n h6 {\n font-size: 1.1em;\n }\n\n /* code */\n code {\n padding: 2px 6px;\n color: #c7254e;\n background-color: #f7f7f9;\n border-radius: 2px;\n }\n\n /* pre code */\n pre code {\n padding: 0;\n color: inherit;\n font-size: inherit;\n line-height: 1.7;\n background-color: transparent;\n border-radius: 0;\n }\n\n /* abbr */\n abbr[title] {\n text-decoration: none;\n border-bottom: 1px dotted;\n cursor: help;\n }\n\n /* ins */\n ins {\n text-decoration: none;\n border-bottom: 1px solid ;\n }\n\n /* u */\n u {\n text-decoration: none;\n border-bottom: 1px solid;\n }\n\n /* del */\n del {\n text-decoration: line-through;\n }\n\n /* hr */\n hr {\n height: 10px;\n margin-bottom: 0.8em;\n border: none;\n border-bottom: 1px solid @color-black-divider;\n }\n\n /* pre */\n pre {\n padding: 12px 16px;\n overflow-x: auto;\n border: 1px solid @color-black-divider;\n border-radius: 2px;\n -webkit-overflow-scrolling: touch;\n }\n\n /* kbd */\n kbd {\n padding: 2px 6px;\n color: #fff;\n font-size: 90%;\n background-color: #333;\n border-radius: 2px;\n }\n\n /* ul / ol */\n ul {\n padding-left: 2em;\n list-style: disc;\n }\n ol {\n padding-left: 2em;\n list-style: decimal;\n }\n li ul,\n li ol {\n margin: 0.8em 0;\n }\n li ul {\n list-style: circle;\n }\n\n /* img, video */\n img, video {\n max-width: 100%;\n }\n\n figure {\n text-align: center;\n\n figcaption {\n margin-top: 8px;\n color: #999;\n font-size: 14px;\n }\n\n figcaption:empty::before {\n z-index: -1;\n color: #bfbfbf;\n cursor: text;\n content: attr(placeholder);\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Typo 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n .mdui-typo {\n a {\n .mdui-text-color(@colorName, a200);\n\n &::before {\n .mdui-background-color(@colorName, a200);\n }\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Typo dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-typo {\n\n blockquote {\n border-left-color: @color-white-divider;\n\n footer {\n color: @color-white-secondary;\n }\n }\n\n figcaption {\n color: @color-white-secondary;\n }\n\n mark {\n background: #aaa;\n border-bottom-color: #bbb;\n }\n\n h1, h2, h3, h4, h5, h6 {\n small {\n color: @color-white-secondary;\n }\n }\n\n code {\n color: @color-red-100;\n background-color: #424242;\n }\n\n pre {\n background: #424242;\n border-color: @color-white-divider;\n }\n\n kbd {\n background: #424242;\n }\n\n hr {\n border-color: @color-white-divider;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Grid 网格系统 ************\n * =============================================================================\n */\n\n@_screen-col-1: 8.333333%;\n@_screen-col-2: 16.666667%;\n@_screen-col-3: 25%;\n@_screen-col-4: 33.333333%;\n@_screen-col-5: 41.666667%;\n@_screen-col-6: 50%;\n@_screen-col-7: 58.333333%;\n@_screen-col-8: 66.666667%;\n@_screen-col-9: 75%;\n@_screen-col-10: 83.333333%;\n@_screen-col-11: 91.666667%;\n@_screen-col-12: 100%;\n\n// 等分列\n@_screen-average-1: 100%;\n@_screen-average-2: 50%;\n@_screen-average-3: 33.333333%;\n@_screen-average-4: 25%;\n@_screen-average-5: 20%;\n@_screen-average-6: 16.666667%;\n@_screen-average-7: 14.285714%;\n@_screen-average-8: 12.5%;\n@_screen-average-9: 11.111111%;\n@_screen-average-10: 10%;\n@_screen-average-11: 9.090909%;\n@_screen-average-12: 8.333333%;\n\n//间隔\n@grid-gap-8: 8px;\n@grid-gap-16: 16px;\n@grid-gap-24: 24px;\n@grid-gap-40: 40px;\n\n// 生成列、列偏移\n._grid_col_loop(@cols, @screen) when (@cols > 0) {\n ._grid_col_loop((@cols - 1), @screen);\n\n @widthName: '_screen-col-@{cols}';\n\n // 列宽度\n .mdui-col-@{screen}-@{cols} {\n float: left;\n width: @@widthName;\n }\n\n // 列偏移\n .mdui-col-offset-@{screen}-@{cols} {\n margin-left: @@widthName;\n }\n\n // 等分列\n @averageName: '_screen-average-@{cols}';\n .mdui-row-@{screen}-@{cols} .mdui-col {\n float: left;\n width: @@averageName;\n }\n}\n\n.mdui-container,\n.mdui-container-fluid {\n box-sizing: border-box;\n margin-right: auto;\n margin-left: auto;\n padding-right: @grid-gap-16 / 2;\n padding-left: @grid-gap-16 / 2;\n &::after{\n display: table;\n clear: both;\n content: '';\n }\n}\n\n.mdui-container {\n width: 96%;\n max-width: 1280px;\n @media (min-width: @screen-sm-min) {\n width: 94%;\n }\n @media (min-width: @screen-md-min) {\n width: 92%;\n }\n}\n\n.mdui-row,\n[class*=\"mdui-row-\"] {\n margin-right: -@grid-gap-16 / 2;\n margin-left: -@grid-gap-16 / 2;\n &::after {\n display: table;\n clear: both;\n content: '';\n }\n}\n\n[class*=\"mdui-col-xs-\"],\n[class*=\"mdui-col-sm-\"],\n[class*=\"mdui-col-md-\"],\n[class*=\"mdui-col-lg-\"],\n[class*=\"mdui-col-xl-\"],\n.mdui-col {\n position: relative;\n box-sizing: border-box;\n min-height: 1px;\n padding-right: @grid-gap-16 / 2;\n padding-left: @grid-gap-16 / 2;\n}\n\n/* 取消列间距 */\n.mdui-row-gapless {\n .mdui-col,\n [class*=\"mdui-col-xs-\"],\n [class*=\"mdui-col-sm-\"],\n [class*=\"mdui-col-md-\"],\n [class*=\"mdui-col-lg-\"],\n [class*=\"mdui-col-xl-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n\n // 嵌套元素的内补\n .mdui-row,\n [class*=\"mdui-row-\"] {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n._grid_col_loop(12, ~\"xs\");\n\n@media (min-width: @screen-sm-min) {\n ._grid_col_loop(12, ~\"sm\");\n}\n\n@media (min-width: @screen-md-min) {\n ._grid_col_loop(12, ~\"md\");\n}\n\n@media (min-width: @screen-lg-min) {\n ._grid_col_loop(12, ~\"lg\");\n}\n\n@media (min-width: @screen-xl-min) {\n ._grid_col_loop(12, ~\"xl\");\n}","// 阴影\n.mdui-shadow(@depth) {\n @shadow: 'shadow-depth-@{depth}';\n\n box-shadow: @@shadow;\n}\n\n// hover 时添加阴影\n.mdui-hoverable(@depth: 8) {\n transition: box-shadow 0.25s @animation-curve-default;\n will-change: box-shadow;\n\n &:hover,\n &:focus {\n .mdui-shadow(@depth);\n }\n}\n","/**\n * =============================================================================\n * ************ Shadow 阴影 ************\n * =============================================================================\n */\n\n._md_shadow(@shadow) when (@shadow > -1) {\n ._md_shadow(@shadow - 1);\n\n .mdui-shadow-@{shadow} {\n .mdui-shadow(@shadow) !important;\n }\n}\n\n._md_shadow(24);\n\n/* 鼠标悬浮时加深阴影 */\n.mdui-hoverable {\n .mdui-hoverable(8);\n}\n","/**\n * =============================================================================\n * ************ Headroom ************\n * =============================================================================\n */\n\n .mdui-headroom {\n transition: all .3s @animation-curve-default !important;\n}\n\n/* 固定在顶部时 */\n.mdui-headroom-pinned-top {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 在顶部隐藏时 */\n.mdui-headroom-unpinned-top {\n transform: translate3d(0, -100%, 0) !important;\n .mdui-shadow(0) !important;\n}\n\n/* 固定在底部时 */\n.mdui-headroom-pinned-down {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 在底部隐藏时 */\n.mdui-headroom-unpinned-down {\n transform: translate3d(0, 100%, 0) !important;\n .mdui-shadow(0) !important;\n}\n\n/* 固定应用栏中的工具栏 */\n.mdui-headroom-pinned-toolbar {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 隐藏应用栏中的工具栏 */\n.mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -@appbar-height-xs-portrait, 0) !important;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n transform: translate3d(0, -@appbar-height-sm, 0) !important;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n transform: translate3d(0, -@appbar-height-xs-landscape, 0) !important;\n }\n}\n","/**\n * =============================================================================\n * ************ Collapse 折叠插件 ************\n * =============================================================================\n */\n\n .mdui-collapse-item-header {\n // 图标,打开时翻转 180 度\n .mdui-collapse-item-arrow,\n &.mdui-collapse-item-arrow {\n transform: rotate(0);\n transition: transform .3s @animation-curve-default;\n will-change: transform;\n }\n}\n\n.mdui-collapse-item-body {\n height: 0;\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 0;\n padding-bottom: 0;\n overflow: hidden;\n transition: all .3s @animation-curve-default;\n will-change: height;\n\n // 使子列表缩进\n .mdui-list-item {\n padding-left: 72px;\n }\n}\n\n.mdui-collapse-item-open {\n &>.mdui-collapse-item-header {\n .mdui-collapse-item-arrow,\n &.mdui-collapse-item-arrow {\n transform: rotate(180deg);\n }\n }\n\n &>.mdui-collapse-item-body {\n height: auto;\n }\n}\n","/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n\n/* 可扩展面板 */\n.mdui-panel {\n box-sizing: border-box;\n width: 100%;\n}\n\n/* 面板项 */\n.mdui-panel-item {\n color: @color-black-text;\n background-color: #fff;\n transition: margin .3s @animation-curve-default;\n will-change: margin;\n .mdui-divider-bottom-dark();\n .mdui-shadow(2);\n\n &:last-child {\n border-bottom: none;\n }\n}\n\n/* 面板头部 */\n.mdui-panel-item-header {\n position: relative;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n height: 48px;\n padding: 0 24px;\n font-size: 15px;\n cursor: pointer;\n transition: all .3s @animation-curve-default;\n will-change: height, background-color;\n .mdui-text-truncate();\n\n &:active {\n background-color: @color-grey-200;\n }\n}\n\n/* 面板项标题 */\n.mdui-panel-item-title {\n box-sizing: border-box;\n width: 36%;\n min-width: 36%;\n padding-right: 16px;\n font-weight: 500;\n .mdui-text-truncate();\n}\n\n/* 面板项内容 */\n.mdui-panel-item-summary {\n flex-grow: 1;\n box-sizing: border-box;\n padding-right: 16px;\n color: @color-black-secondary;\n .mdui-text-truncate();\n}\n\n/* 展开收起的图标 */\n.mdui-panel-item-arrow {\n position: absolute;\n top: 12px;\n right: 24px;\n color: @color-black-icon;\n transform: rotate(0);\n transition: all .3s @animation-curve-default;\n user-select: none;\n will-change: transform, top;\n}\n\n.mdui-panel-item-summary + .mdui-panel-item-arrow {\n position: relative;\n top: 0 !important;\n right: 0;\n}\n\n/* 面板项内容 */\n.mdui-panel-item-body {\n height: 0;\n padding: 0 24px;\n overflow: hidden;\n transition: height .3s @animation-curve-default;\n will-change: height;\n .mdui-clearfix();\n\n &::after {\n height: 16px;\n }\n}\n\n/* 面板项操作栏 */\n.mdui-panel-item-actions {\n display: block;\n width: 100%;\n margin: 16px -24px 0 -24px;\n padding: 16px 24px 0 24px;\n text-align: right;\n .mdui-divider-top-dark();\n\n .mdui-btn {\n margin-left: 8px;\n\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n/* 打开状态的面板项 */\n.mdui-panel-item-open {\n height: auto;\n margin-top: 16px;\n margin-bottom: 16px;\n\n // 打开状态的面板头部更高\n &>.mdui-panel-item-header {\n height: 64px;\n\n .mdui-panel-item-arrow {\n top: 20px;\n transform: rotate(180deg);\n }\n }\n\n &>.mdui-panel-item-body {\n height: auto;\n }\n}\n\n/* 使打开项上下没有边距 */\n.mdui-panel-gapless {\n .mdui-shadow(2);\n\n .mdui-panel-item {\n .mdui-shadow(0);\n }\n\n .mdui-panel-item-open {\n margin-top: 0;\n margin-bottom: 0;\n }\n}\n\n/* 弹出面板 */\n.mdui-panel-popout {\n .mdui-panel-item-open {\n margin-right: -16px;\n margin-left: -16px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Expansion panel dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-panel-item {\n color: #fff;\n background-color: @layout-dark-color-3;\n .mdui-divider-bottom-light();\n\n &:last-child {\n border-bottom: none;\n }\n }\n .mdui-panel-item-header {\n &:active {\n background-color: @color-grey-800;\n }\n }\n .mdui-panel-item-summary {\n color: @color-white-secondary;\n }\n\n /* stylelint-disable-next-line */\n .mdui-panel-item-arrow {\n color: @color-white-icon;\n }\n .mdui-panel-item-actions {\n .mdui-divider-top-light();\n }\n});\n","// 分割线\n// =============================================================================\n\n// 添加边框作为分割线,亮色的分割线,用于深色背景\n.mdui-divider-top-light() {\n border-top: 1px solid @color-white-divider;\n}\n.mdui-divider-bottom-light() {\n border-bottom: 1px solid @color-white-divider;\n}\n.mdui-divider-left-light() {\n border-left: 1px solid @color-white-divider;\n}\n.mdui-divider-right-light() {\n border-right: 1px solid @color-white-divider;\n}\n\n// 添加边框作为分割线,深色的分割线,用于浅色背景\n.mdui-divider-top-dark() {\n border-top: 1px solid @color-black-divider;\n}\n.mdui-divider-bottom-dark() {\n border-bottom: 1px solid @color-black-divider;\n}\n.mdui-divider-left-dark() {\n border-left: 1px solid @color-black-divider;\n}\n.mdui-divider-right-dark() {\n border-right: 1px solid @color-black-divider;\n}\n","/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n\n@import '../selection_control/checkbox';\n\n.mdui-table {\n position: relative;\n width: 100%;\n background-color: #fff;\n border: 1px solid @color-black-divider;\n border-bottom: none;\n border-collapse: separate;\n border-spacing: 0;\n .mdui-shadow(2);\n\n tbody {\n tr {\n position: relative;\n transition: background-color 0.28s @animation-curve-default;\n }\n }\n\n th, td {\n position: relative;\n box-sizing: border-box;\n padding: 12px 28px;\n text-align: left;\n vertical-align: middle;\n .mdui-divider-bottom-dark();\n }\n\n th {\n color: @color-black-secondary;\n font-weight: 700;\n font-size: 13px;\n line-height: 32px;\n .mdui-text-truncate();\n }\n\n td {\n color: @color-black-text;\n font-size: 14px;\n line-height: 24px;\n }\n}\n\n/* 每一行前面的复选框 */\n.mdui-table-cell-checkbox {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n padding-left: 24px !important;\n\n .mdui-checkbox {\n margin-top: 7px;\n }\n\n & + td,\n & + th {\n padding-left: 6px !important;\n }\n}\nth.mdui-table-cell-checkbox {\n .mdui-checkbox {\n margin-top: 11px;\n }\n}\n\n.mdui-table {\n th, td {\n &:last-child {\n padding-right: 24px;\n }\n &:first-child {\n padding-right: 0;\n padding-left: 24px\n }\n &:nth-child(2) {\n padding-left: 24px;\n }\n }\n}\n\n/* 鼠标悬浮时行背景加深 */\n.mdui-table-hoverable {\n tbody tr {\n &:hover {\n background-color: @color-grey-200;\n }\n }\n}\n\n/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */\n.mdui-table-fluid {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border: 1px solid @color-black-divider;\n border-bottom: none;\n .mdui-shadow(2);\n\n .mdui-table {\n .mdui-shadow(0);\n\n margin: 0;\n border: none;\n }\n}\n\n/* 数字列,右对齐 */\n.mdui-table-col-numeric {\n text-align: right !important;\n}\n\n/* 行处于选中状态 */\n.mdui-table-row-selected {\n background-color: @color-grey-100;\n}\n\n\n/**\n * =============================================================================\n * ************ Table dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-table {\n background-color: @layout-dark-color-3;\n border: 1px solid @color-white-divider;\n border-bottom: none;\n\n th, td {\n .mdui-divider-bottom-light();\n }\n\n th {\n color: @color-white-secondary;\n }\n\n td {\n color: @color-white-text;\n }\n }\n\n .mdui-table-hoverable {\n tbody tr {\n &:hover {\n background-color: @color-grey-700;\n }\n }\n }\n\n .mdui-table-fluid {\n border: 1px solid @color-white-divider;\n border-bottom: none;\n\n .mdui-table {\n .mdui-shadow(0);\n\n border: none;\n }\n }\n\n .mdui-table-row-selected {\n background-color: @color-grey-800;\n }\n});\n","/**\n * =============================================================================\n * ************ Divider 分割线 ************\n * =============================================================================\n */\n\n.mdui-divider,\n.mdui-divider-light,\n.mdui-divider-dark,\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n height: 1px;\n margin: -1px 0 0 0;\n border: none;\n}\n\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin-left: 72px;\n}\n\n.mdui-divider,\n.mdui-divider-inset {\n background-color: @color-black-divider;\n}\n\n.mdui-divider-light,\n.mdui-divider-inset-light {\n background-color: @color-white-divider;\n}\n\n.mdui-divider-dark,\n.mdui-divider-inset-dark {\n background-color: @color-black-divider;\n}\n\n/**\n * =============================================================================\n * ************ Divider dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-divider,\n .mdui-divider-inset {\n background-color: @color-white-divider;\n }\n});\n","/**\n * =============================================================================\n * ************ 涟漪动画 ************\n * =============================================================================\n */\n\n.mdui-ripple {\n position: relative;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n}\n\n/* Ripple */\n.mdui-ripple-wave {\n position: absolute !important;\n top: 0;\n left: 0;\n z-index: 1;\n margin: 0;\n padding: 0;\n font-size: 0;\n background-color: rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n transform: translate3d(0, 0, 0) scale(0);\n transition-duration: 1400ms;\n pointer-events: none;\n}\n\n/* 有背景色的默认使用白色涟漪 */\n.mdui-ripple[class*=\"mdui-color-\"] {\n .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n}\n\n/* 白色涟漪 */\n.mdui-ripple-white .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n\n/* 黑色涟漪 */\n.mdui-ripple-black .mdui-ripple-wave {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n.mdui-ripple-wave-fill {\n opacity: 0.35;\n transition-duration: 300ms;\n}\n\n.mdui-ripple-wave-out {\n opacity: 0;\n transition-duration: 600ms;\n}\n\n\n/**\n * =============================================================================\n * ************ Ripple 颜色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n // 指定涟漪颜色\n .mdui-ripple-@{colorName} when not (@colorName = null) {\n .mdui-ripple-wave {\n @color: 'color-@{colorName}-500';\n\n background-color: rgba(red(@@color), green(@@color), blue(@@color), 0.3) !important;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Ripple dark ************\n * =============================================================================\n */\n.layout-theme({\n // 深色主题下使用白色涟漪\n .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n});\n","/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n\n/* 文本框外层 */\n.mdui-textfield {\n position: relative;\n padding-top: 16px;\n padding-bottom: 8px;\n overflow: hidden;\n}\n\n.mdui-textfield-has-bottom {\n padding-bottom: 28px;\n}\n\n/* 输入框 */\n.mdui-textfield-input {\n display: block;\n box-sizing: border-box;\n width: 100%;\n height: 36px;\n margin: 0;\n padding: 8px 0;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.87);\n font-size: 16px;\n font-family: inherit;\n line-height: 20px;\n background: none;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, .42);\n border-radius: 0;\n outline: none;\n box-shadow: none;\n transition-timing-function: @animation-curve-default;\n transition-duration: .2s;\n transition-property: border-bottom-color, padding-right, box-shadow;\n appearance: none;\n resize: none;\n\n &::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.42;\n }\n\n &:not([disabled]):hover {\n border-bottom: 1px solid rgba(0, 0, 0, .87);\n box-shadow: 0 1px 0 0 rgba(0, 0, 0, .87);\n cursor: pointer;\n }\n\n &[rows] {\n height: auto !important;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n/* 文本框 label */\n.mdui-textfield-label {\n display: block;\n width: 100%;\n color: rgba(0, 0, 0, 0.54);\n font-size: 16px;\n transform: scale(0.75) translateY(0);\n transform-origin: left;\n transition: all .2s;\n pointer-events: none;\n}\n\n/* 表单验证错误提示、帮助文本提示 */\n.mdui-textfield-error,\n.mdui-textfield-helper {\n position: absolute;\n bottom: 8px;\n height: 12px;\n font-size: 12px;\n line-height: 12px;\n .mdui-text-truncate();\n}\n\n.mdui-textfield-error {\n color: rgba(red(@color-red-a400), green(@color-red-a400), blue(@color-red-a400), .87);\n visibility: hidden;\n}\n\n.mdui-textfield-helper {\n color: rgba(0, 0, 0, 0.54);\n}\n\n\n/* 表单中的图标\n ========== */\n.mdui-textfield {\n .mdui-icon {\n position: absolute;\n bottom: 8px;\n padding: 6px;\n color: @color-black-icon;\n\n ~ .mdui-textfield-label,\n ~ .mdui-textfield-input,\n ~ .mdui-textfield-error,\n ~ .mdui-textfield-helper,\n ~ .mdui-textfield-flex-wrap {\n /* stylelint-disable-next-line */\n width: calc(~\"100% - 56px\");\n margin-left: 56px;\n }\n }\n}\n\n.mdui-textfield-has-bottom {\n .mdui-icon {\n bottom: 28px;\n }\n}\n\n/* 聚焦状态的文本框\n ============= */\n.mdui-textfield-focus {\n\n .mdui-textfield-input,\n .mdui-textfield-input:hover {\n border-bottom-color: @color-default-a700;\n box-shadow: 0 1px 0 0 @color-default-a700;\n }\n\n .mdui-textfield-label,\n .mdui-icon {\n color: rgba(red(@color-default-a700), green(@color-default-a700), blue(@color-default-a700), .87);\n }\n}\n\n/* 含有浮动标签的文本框\n ================ */\n.mdui-textfield-floating-label {\n\n .mdui-textfield-label {\n color: rgba(0, 0, 0, 0.35);\n transform: scale(1) translateY(27px);\n }\n\n &.mdui-textfield-focus,\n &.mdui-textfield-not-empty {\n .mdui-textfield-label {\n color: rgba(0, 0, 0, 0.65);\n transform: scale(0.75) translateY(0);\n }\n }\n &.mdui-textfield-focus {\n .mdui-textfield-label {\n .mdui-text-color(@color-accent-default-name);\n }\n }\n}\n\n/* 可展开文本框,默认向右展开\n ========== */\n.mdui-textfield-expandable {\n width: 36px;\n min-height: 36px;\n padding: 1px 0;\n transition: width .3s @animation-curve-default;\n\n .mdui-icon {\n bottom: 0;\n padding: 0;\n }\n\n .mdui-textfield-input {\n /* stylelint-disable-next-line */\n width: calc(~\"100% - 36px\");\n margin-left: 36px;\n padding-right: 0;\n }\n\n .mdui-textfield-icon {\n position: absolute;\n top: 0;\n left: 0;\n }\n\n .mdui-textfield-close {\n position: absolute;\n top: 0;\n right: 0;\n transform: scale(0);\n }\n\n &.mdui-textfield-expanded {\n width: 100%;\n\n .mdui-textfield-input {\n padding-right: 36px;\n }\n\n .mdui-textfield-close {\n transform: scale(1);\n }\n }\n}\n\n/* 表单验证不通过\n =========== */\n.mdui-textfield-invalid,\n.mdui-textfield-invalid-html5 {\n\n .mdui-textfield-input,\n &.mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: @color-red-a400 !important;\n box-shadow: 0 1px 0 0 @color-red-a400 !important;\n }\n\n .mdui-textfield-label {\n color: @color-red-a400 !important;\n }\n\n &.mdui-textfield-floating-label {\n .mdui-textfield-label {\n color: rgba(red(@color-red-a400), green(@color-red-a400), blue(@color-red-a400), 0.35) !important;\n }\n\n &.mdui-textfield-focus,\n &.mdui-textfield-not-empty {\n .mdui-textfield-label {\n color: @color-red-a400 !important;\n }\n }\n }\n\n .mdui-textfield-error {\n visibility: visible;\n\n &+.mdui-textfield-helper {\n visibility: hidden;\n }\n }\n}\n\n/* 禁用表单\n ====== */\n.mdui-textfield-disabled {\n .mdui-textfield-label,\n .mdui-textfield-input::-webkit-input-placeholder {\n color: @color-black-disabled;\n }\n\n .mdui-textfield-input {\n color: rgba(0, 0, 0, .42);\n cursor: default;\n }\n\n .mdui-textfield-input {\n border-bottom: 1px dashed rgba(0, 0, 0, .42);\n }\n}\n\n/* 字数统计\n ====== */\n.mdui-textfield-counter {\n position: absolute;\n right: 8px;\n bottom: 8px;\n height: 12px;\n color: @color-black-secondary;\n font-size: 12px;\n line-height: 12px;\n}\n\n\n/**\n * =============================================================================\n * ************ Textfield dark ************\n * =============================================================================\n */\n.layout-theme({\n // 输入框颜色\n .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, .7);\n\n &::-webkit-input-placeholder {\n color: rgba(255, 255, 255, .5);\n }\n\n &:not([disabled]):hover {\n border-bottom-color: rgba(255, 255, 255, 1);\n box-shadow: 0 1px 0 0 rgba(255, 255, 255, 1);\n }\n }\n\n // 图标颜色\n .mdui-textfield {\n .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n }\n }\n\n // 标签颜色\n .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n }\n\n .mdui-textfield-floating-label {\n .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n }\n }\n\n // 错误文本颜色\n .mdui-textfield-error {\n color: @color-red-a400;\n }\n\n // 帮助文本颜色\n .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n }\n\n // 字数统计颜色\n .mdui-textfield-counter {\n color: @color-white-secondary;\n }\n\n // 聚焦状态\n .mdui-textfield-focus {\n\n .mdui-textfield-input,\n .mdui-textfield-input:hover {\n border-bottom-color: @color-default-a200;\n box-shadow: 0 1px 0 0 @color-default-a200;\n }\n\n .mdui-textfield-label {\n color: @color-default-a200;\n }\n }\n\n // 禁用状态\n .mdui-textfield-disabled {\n .mdui-textfield-label,\n .mdui-textfield-input::-webkit-input-placeholder {\n color: @color-white-disabled;\n }\n\n .mdui-textfield-input {\n color: @color-white-disabled;\n }\n\n .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, .7);\n }\n }\n});\n\n\n/**\n * =============================================================================\n * ************ Textfield 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n @colorA700: 'color-@{colorName}-a700';\n @colorA200: 'color-@{colorName}-a200';\n\n .mdui-textfield-focus {\n\n .mdui-textfield-input {\n border-bottom-color: @@colorA700;\n box-shadow: 0 1px 0 0 @@colorA700;\n }\n\n .mdui-textfield-label,\n .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-icon {\n color: rgba(red(@@colorA700), green(@@colorA700), blue(@@colorA700), .87);\n }\n }\n\n // 暗色主题\n & {\n .dark-mode() {\n .mdui-textfield-focus {\n\n .mdui-textfield-input {\n border-bottom-color: @@colorA200;\n box-shadow: 0 1px 0 0 @@colorA200;\n }\n\n .mdui-textfield-label,\n .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-icon {\n color: @@colorA200;\n }\n }\n }\n\n & when (@globalLayoutDark = true) {\n &.mdui-theme-layout-dark {\n .dark-mode();\n }\n }\n\n & when (@globalLayoutAuto = true) {\n @media (prefers-color-scheme: dark) {\n &.mdui-theme-layout-auto {\n .dark-mode();\n }\n }\n }\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n","/**\n * =============================================================================\n * ************ Checkbox 复选框 ************\n * =============================================================================\n */\n\n.mdui-checkbox {\n position: relative;\n display: inline-block;\n height: 36px;\n padding-left: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input[type=\"checkbox\"] {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n }\n}\n\n/* 透明的圆形,用于生成圆形阴影 */\n.mdui-checkbox-icon {\n position: absolute;\n top: 9px;\n left: 0;\n display: inline-block;\n width: 18px;\n height: 18px;\n vertical-align: middle;\n background-color: transparent;\n border: none;\n border-radius: 18px;\n transition: box-shadow .14s @animation-curve-default;\n\n // 图标的边框和背景\n &::after {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 0;\n box-sizing: border-box;\n width: 18px;\n height: 18px;\n border: 2px solid @color-black-icon;\n border-radius: 2px;\n transition: all .3s @animation-curve-default;\n content: ' ';\n }\n\n // 选中状态图标内部的勾\n &::before {\n position: absolute;\n top: 2px;\n left: 0;\n z-index: 1;\n box-sizing: border-box;\n width: 8px;\n height: 13px;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transform: rotateZ(37deg) scale(0);\n transform-origin: 100% 100%;\n opacity: 0;\n transition: all .3s @animation-curve-default;\n content: ' ';\n }\n}\n\n/* 各种状态的图标 */\n.mdui-checkbox input[type=\"checkbox\"] {\n\n // 选中状态的图标\n &:checked + .mdui-checkbox-icon {\n &::after {\n background-color: @color-default-a200;\n border-color: @color-default-a200;\n }\n\n &::before {\n transform: rotateZ(37deg) scale(1);\n opacity: 1;\n }\n }\n\n // 不确定状态的图标\n &:indeterminate + .mdui-checkbox-icon {\n &::after {\n background-color: @color-default-a200;\n border-color: @color-default-a200;\n }\n\n &::before {\n top: 8px;\n left: 3px;\n width: 12px;\n height: 0;\n border-right: none;\n border-bottom: 2px solid #fff;\n border-radius: 1px;\n transform: rotateZ(0) scale(1);\n opacity: 1;\n }\n }\n\n // 禁用状态的图标\n &:disabled + .mdui-checkbox-icon {\n &::after {\n border-color: @color-black-icon-disabled;\n }\n }\n\n // 禁用且选中状态\n &:disabled:checked + .mdui-checkbox-icon,\n &:disabled:indeterminate + .mdui-checkbox-icon {\n &::after {\n background-color: @color-black-icon-disabled !important;\n border-color: transparent !important;\n }\n }\n}\n\n/* 阴影 */\n.mdui-checkbox:active input[type=\"checkbox\"],\n.mdui-checkbox input[type=\"checkbox\"]:focus {\n // 未选中、禁用时 按下的阴影\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n\n // 已选中时按下的阴影\n &:not(:disabled):checked,\n &:not(:disabled):indeterminate {\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Checkbox 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // 选中状态的图标\n .mdui-checkbox input[type=\"checkbox\"]:checked,\n .mdui-checkbox input[type=\"checkbox\"]:indeterminate {\n & + .mdui-checkbox-icon::after {\n background-color: @@color;\n border-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-checkbox:active input[type=\"checkbox\"],\n .mdui-checkbox input[type=\"checkbox\"]:focus {\n &:not(:disabled):checked + .mdui-checkbox-icon,\n &:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Checkbox dark ************\n * =============================================================================\n */\n.layout-theme({\n // 未选中的图标\n .mdui-checkbox-icon {\n &::after {\n border-color: rgba(255, 255, 255, 0.7);\n }\n\n &::before {\n border-right-color: @layout-dark-color-3 !important;\n border-bottom-color: @layout-dark-color-3 !important;\n }\n }\n\n // 禁用状态\n .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon {\n &::after {\n border-color: @color-white-icon-disabled;\n }\n }\n\n // 禁用且选中状态\n .mdui-checkbox input[type=\"checkbox\"] {\n &:disabled:checked + .mdui-checkbox-icon,\n &:disabled:indeterminate + .mdui-checkbox-icon {\n &::after {\n background-color: @color-white-icon-disabled !important;\n border-color: transparent !important;\n }\n }\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-checkbox:active input[type=\"checkbox\"],\n .mdui-checkbox input[type=\"checkbox\"]:focus {\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Radio 单选框 ************\n * =============================================================================\n */\n\n.mdui-radio {\n position: relative;\n display: inline-block;\n height: 36px;\n padding-left: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n }\n}\n\n/* 图标外圈 */\n.mdui-radio-icon {\n position: absolute;\n top: 9px;\n left: 0;\n display: inline-block;\n box-sizing: border-box;\n width: 18px;\n height: 18px;\n vertical-align: middle;\n border: 2px solid @color-black-icon;\n border-radius: 18px;\n transition: all .3s @animation-curve-default,\n box-shadow .14s @animation-curve-default;\n\n // 图标内部圆圈\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n height: 14px;\n background-color: @color-default-a200;\n border-radius: 14px;\n transform: scale(0);\n opacity: 0;\n transition: all .3s @animation-curve-default;\n content: ' ';\n }\n}\n\n/* 选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: @color-default-a200;\n\n &::before {\n transform: scale(0.68);\n opacity: 1;\n }\n}\n\n/* 禁用状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: @color-black-icon-disabled !important;\n}\n\n/* 禁用且选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon {\n &::before {\n background-color: @color-black-icon-disabled !important;\n }\n}\n\n/* 未选中、禁用时 按下的阴影 */\n.mdui-radio:active input[type=\"radio\"],\n.mdui-radio input[type=\"radio\"]:focus {\n & + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n}\n\n/* 已选中时按下的阴影 */\n.mdui-radio:active input[type=\"radio\"],\n.mdui-radio input[type=\"radio\"]:focus {\n &:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n}\n\n/**\n * =============================================================================\n * ************ Radio 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // 选中状态的图标\n .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: @@color;\n\n &::before {\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-radio:active input[type=\"radio\"],\n .mdui-radio input[type=\"radio\"]:focus {\n &:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.layout-theme({\n // 图标外圈\n .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n }\n\n // 禁用状态\n .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: @color-white-icon-disabled !important;\n }\n\n // 禁用且选中状态\n .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon {\n &::before {\n background-color: @color-white-icon-disabled !important;\n }\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-radio:active input[type=\"radio\"],\n .mdui-radio input[type=\"radio\"]:focus {\n & + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Switch 单选框 ************\n * =============================================================================\n */\n\n.mdui-switch {\n display: inline-block;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n opacity: 0;\n }\n}\n\n/* 图标轨道 */\n.mdui-switch-icon {\n position: relative;\n display: inline-block;\n width: 36px;\n height: 14px;\n vertical-align: middle;\n background-color: rgba(0, 0, 0, 0.38);\n border-radius: 14px;\n transition: background-color .3s @animation-curve-default;\n\n // 圆形图标\n &::before {\n position: absolute;\n top: -3px;\n left: -3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n background-color: @color-grey-50;\n border-radius: 20px;\n transition: box-shadow .14s @animation-curve-default,\n background-color .3s @animation-curve-default,\n left .3s @animation-curve-default;\n content: ' ';\n .mdui-shadow(1);\n }\n}\n\n/* 选中状态的图标 */\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.5);\n\n &::before {\n left: 20px;\n background-color: @color-default-a200;\n }\n}\n\n/* 未选中时或禁用时 按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"],\n.mdui-switch input[type=\"checkbox\"]:focus {\n & + .mdui-switch-icon::before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n}\n\n/* 已选中时按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"],\n.mdui-switch input[type=\"checkbox\"]:focus {\n &:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n}\n\n/* 禁用状态 */\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(0, 0, 0, 0.12) !important;\n\n &::before {\n background-color: @color-grey-400 !important;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Switch 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n // 选中状态的图标\n .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@@color), green(@@color), blue(@@color), 0.5);\n\n &::before {\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-switch:active input[type=\"checkbox\"],\n .mdui-switch input[type=\"checkbox\"]:focus {\n &:checked:not(:disabled) + .mdui-switch-icon::before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.layout-theme({\n // 默认状态\n .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n\n &::before {\n background-color: @color-grey-400;\n }\n }\n\n // 选中状态\n & {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n @color-a100: 'color-@{colorName}-a100';\n\n &.mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@@color-a100), green(@@color-a100), blue(@@color-a100), 0.5);\n\n &::before {\n background-color: @@color-a100;\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-switch:active input[type=\"checkbox\"],\n .mdui-switch input[type=\"checkbox\"]:focus {\n & + .mdui-switch-icon::before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n\n // 禁用状态\n .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n\n &::before {\n background-color: @color-grey-800 !important;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n\n@slider-light-color: #bdbdbd; // rgba(0, 0, 0, .26)\n@slider-light-color-focus: #9e9e9e; // rgba(0, 0, 0, .38)\n@slider-light-color-disabled: #bdbdbd; // rgba(0, 0, 0, .26)\n\n@slider-dark-color: #4c4c4c; // rgba(255, 255, 255, .3)\n@slider-dark-color-focus: #4c4c4c; // rgba(255, 255, 255, .3)\n@slider-dark-color-disabled: #4c4c4c; // rgba(255, 255, 255, .3)\n\n.mdui-slider {\n position: relative;\n display: block;\n width: 100%;\n height: 36px;\n\n input[type=\"range\"] {\n position: absolute;\n top: 50%;\n left: 0;\n z-index: 2;\n width: 100%;\n height: 20px;\n margin-top: -10px;\n cursor: pointer;\n opacity: 0;\n appearance: none;\n }\n}\n\n.mdui-slider-track,\n.mdui-slider-fill {\n position: absolute;\n top: 50%;\n box-sizing: border-box;\n height: 2px;\n margin-top: -1px;\n\n &::before {\n display: block;\n width: 100%;\n height: 100%;\n content: ' ';\n }\n}\n\n/* 轨道 */\n.mdui-slider-track {\n right: 0;\n\n &::before {\n background-color: @slider-light-color;\n transition: background-color .3s @animation-curve-default;\n }\n}\n\n/* 已滑动部分 */\n.mdui-slider-fill {\n left: 0;\n\n &::before {\n background-color: @color-default-a200;\n }\n}\n\n/* 滑块 */\n.mdui-slider-thumb {\n position: absolute;\n top: 50%;\n box-sizing: border-box;\n width: 12px;\n height: 12px;\n margin-top: -6px;\n background-color: @color-default-a200;\n border: 2px solid @color-default-a200;\n border-radius: 50%;\n transform: translate(-50%);\n transition:\n background .45s @animation-curve-default,\n border-color .45s @animation-curve-default,\n transform .2s @animation-curve-default,\n border-radius .2s @animation-curve-default;\n will-change: background, border-color, transform, border-radius;\n}\n\n\n/**\n * =============================================================================\n * ************ Slider 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n .mdui-slider-fill {\n\n &::before {\n background-color: @@color;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @@color;\n border: 2px solid @@color;\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ============ Slider 的不同状态 ============\n * =============================================================================\n */\n\n/* 鼠标按下状态 */\n.mdui-slider-focus {\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-light-color-focus;\n }\n }\n\n .mdui-slider-thumb {\n transform: translate(-50%) scale(1.6);\n }\n}\n\n/* 滑块值为 0 */\n.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #fff;\n border-color: @slider-light-color;\n }\n}\n\n/* 滑块值为 0,且鼠标按下 */\n.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n border-color: @slider-light-color-focus;\n }\n}\n\n/* 禁用状态 */\n.mdui-slider-disabled {\n input[type=\"range\"] {\n cursor: default;\n }\n\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-light-color-disabled;\n }\n }\n\n .mdui-slider-fill {\n\n &::before {\n background-color: @slider-light-color-disabled;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @slider-light-color-disabled;\n border-color: transparent !important;\n transform: translate(-50%) scale(.72);\n }\n}\n\n/**\n * =============================================================================\n * ============ 间续型滑块 ============\n * =============================================================================\n */\n.mdui-slider-discrete {\n\n .mdui-slider-thumb {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n margin-left: -15px;\n border: none;\n transform: rotate(-45deg) scale(.4);\n\n // 间续型滑块的值显示\n span {\n position: absolute;\n top: 9px;\n left: -1px;\n width: 100%;\n color: #fff;\n font-size: 12px;\n text-align: center;\n transform: rotate(45deg);\n opacity: 0;\n transition: opacity .25s @animation-curve-default;\n }\n }\n\n // 鼠标按下状态\n &.mdui-slider-focus {\n .mdui-slider-thumb {\n border-radius: 15px 15px 15px 0;\n transform: rotate(-45deg) scale(1) translate(22px, -22px);\n\n span {\n opacity: 1;\n }\n }\n }\n\n // 滑块值为 0\n &.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #323232;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n &.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n background-color: @slider-light-color;\n }\n }\n\n // 禁用状态\n &.mdui-slider-disabled {\n .mdui-slider-thumb {\n transform: rotate(-45deg) scale(.288);\n }\n }\n\n // 滑块值为 0,且禁用\n &.mdui-slider-zero.mdui-slider-disabled {\n .mdui-slider-thumb {\n background-color: @slider-light-color;\n }\n }\n}\n\n/**\n * =============================================================================\n * ************ Slider dark ************\n * =============================================================================\n */\n.layout-theme({\n // 轨道\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-dark-color;\n }\n }\n\n // 鼠标按下状态\n .mdui-slider-focus {\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-dark-color-focus;\n }\n }\n }\n\n // 滑块值为 0\n .mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: @layout-dark-color-3;\n border-color: @slider-dark-color;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n .mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n border-color: @slider-dark-color-focus;\n }\n }\n\n // 禁用状态\n .mdui-slider-disabled {\n .mdui-slider-track {\n\n &::before {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n .mdui-slider-fill {\n\n &::before {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n // 间续型滑块\n .mdui-slider-discrete {\n\n // 滑块值为 0\n &.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #fefefe;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n &.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n background-color: #5c5c5c;\n }\n }\n\n // 滑块值为 0,且禁用\n &.mdui-slider-zero.mdui-slider-disabled {\n .mdui-slider-thumb {\n background-color: @slider-dark-color-disabled;\n }\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Button 按钮 ************\n * =============================================================================\n */\n\n/* 默认为 Flat 扁平按钮 */\n.mdui-btn,\n.mdui-fab {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n min-width: 88px;\n height: @button-height;\n margin: 0;\n padding: 0 16px;\n overflow: hidden;\n color: inherit;\n font-weight: 500;\n font-size: 14px;\n line-height: @button-height;\n letter-spacing: 0.04em;\n white-space: nowrap;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n vertical-align: middle;\n background: transparent;\n border: none;\n border-radius: 2px;\n outline: none;\n cursor: pointer;\n transition: all .2s @animation-curve-default,\n box-shadow .2s @animation-curve-fast-out-linear-in;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n // 移除点击延迟触发\n touch-action: manipulation;\n will-change: box-shadow;\n zoom: 1;\n -webkit-user-drag: none;\n\n // 透明按钮 hover、active 时颜色加深\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n }\n &:not(.mdui-ripple):active {\n background-color: rgba(0, 0, 0, 0.165);\n }\n\n // 带背景色的按钮 hover、active 时增加透明度\n &[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n &:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n}\n\n/* 按钮内的图标 */\n.mdui-btn {\n .mdui-icon-left,\n .mdui-icon-right {\n &,\n &::before {\n height: inherit;\n font-size: 1.3em;\n line-height: inherit;\n }\n }\n .mdui-icon-left {\n float: left;\n margin-right: 0.4em;\n }\n .mdui-icon-right {\n float: right;\n margin-left: 0.4em;\n }\n}\n\ninput.mdui-btn[type=\"submit\"] {\n appearance: none;\n}\n\n/* Raised button 浮动按钮 */\n.mdui-btn-raised {\n .mdui-shadow(2);\n\n &:hover {\n .mdui-shadow(4);\n }\n\n &:active {\n .mdui-shadow(8);\n }\n}\n\n/* 禁用按钮 */\n.mdui-btn,\n.mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n color: rgba(0, 0, 0, .26) !important;\n background-color: transparent !important;\n cursor: default !important;\n opacity: 1 !important;\n .mdui-shadow(0) !important;\n .mdui-icon {\n color: rgba(0, 0, 0, .26) !important;\n }\n }\n }\n}\n\n/* 禁用状态浮动按钮和浮动操作按钮 */\n.mdui-btn-raised,\n.mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: rgba(0, 0, 0, .12) !important;\n .mdui-shadow(2) !important;\n }\n }\n}\n\n/* 加粗按钮文本 */\n.mdui-btn-bold {\n font-weight: bold;\n}\n\n/* 图标按钮 */\n.mdui-btn-icon {\n width: 36px;\n min-width: 36px;\n height: 36px;\n margin-right: 0;\n margin-left: 0;\n padding: 0;\n overflow: hidden;\n font-size: 24px;\n line-height: normal;\n border-radius: 50%;\n\n .mdui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 24px;\n line-height: 24px;\n transform: translate(-12px, -12px);\n }\n\n &.mdui-ripple {\n transform: translateZ(0);\n }\n}\n\n/* 按钮 100% 宽度 */\n.mdui-btn-block {\n display: block;\n width: 100%;\n}\n\n/* 密集型按钮 */\n.mdui-btn-dense {\n height: 32px;\n font-size: 13px;\n line-height: 32px;\n\n &.mdui-btn-icon {\n width: 32px;\n min-width: 32px;\n }\n}\n\n/* 按钮组 */\n.mdui-btn-group {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n\n .mdui-btn {\n float: left;\n min-width: inherit;\n padding: 0 12px;\n color: rgba(0, 0, 0, 0.54);\n border-radius: 0;\n\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n border-left: 1px solid transparent;\n content: ' ';\n }\n\n &:first-child {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n\n &::before {\n border-left: none;\n }\n }\n\n &:last-child {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n\n // 激活状态\n &.mdui-btn-active {\n color: rgba(0, 0, 0, 0.87);\n background-color: rgba(0, 0, 0, 0.215);\n\n &+.mdui-btn-active {\n &::before {\n border-left: 1px solid rgba(0, 0, 0, 0.145);\n }\n }\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Button dark ************\n * =============================================================================\n */\n.layout-theme({\n // 透明按钮 hover、active 时颜色变浅\n .mdui-btn,\n .mdui-fab {\n // 透明按钮 hover、active 时颜色变浅\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n &:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n\n // 带背景的按钮 hover、active 时增加透明度\n &[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n &:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n }\n\n // 禁用按钮\n .mdui-btn,\n .mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n color: @color-white-icon-disabled !important;\n background-color: transparent !important;\n .mdui-icon {\n color: @color-white-icon-disabled !important;\n }\n }\n }\n }\n\n // 禁用状态浮动按钮和浮动操作按钮\n .mdui-btn-raised,\n .mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: rgba(255, 255, 255, .12) !important;\n }\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n\n@import '../button/index';\n\n@fab-size: 56px;\n@fab-size-mini: 40px;\n\n/* 浮动操作按钮 */\n.mdui-fab {\n width: @fab-size;\n min-width: @fab-size;\n height: @fab-size;\n margin: auto;\n padding: 0 !important;\n overflow: hidden;\n font-size: 24px;\n line-height: normal !important;\n border-radius: 50%;\n .mdui-shadow(6);\n\n &:hover{\n .mdui-shadow(8);\n }\n\n &:active {\n .mdui-shadow(12);\n }\n\n // 浮动操作按钮中的图标\n .mdui-icon {\n position: absolute;\n top: 0;\n left: 0;\n width: 24px;\n margin-top: 16px;\n margin-left: 16px;\n line-height: 24px;\n }\n}\n\n/* mini 型浮动操作按钮 */\n.mdui-fab-mini {\n width: @fab-size-mini;\n min-width: @fab-size-mini;\n height: @fab-size-mini;\n\n // mini 型浮动操作按钮中的图标\n .mdui-icon {\n margin-top: 8px;\n margin-left: 8px;\n }\n}\n\n/* 固定到右下角的 FAB 按钮 */\n.mdui-fab-fixed,\n.mdui-fab-wrapper {\n position: fixed !important;\n\n /* 手机平板上距离屏幕右下角 16px */\n right: 16px;\n bottom: 16px;\n\n @media (min-width: @screen-md-min) {\n /* 电脑上距离屏幕右下角 24px */\n right: 24px;\n bottom: 24px;\n }\n}\n\n/* 含菜单的浮动操作按钮 */\n.mdui-fab-wrapper {\n position: relative;\n z-index: @z-index-fab;\n width: @fab-size;\n height: @fab-size;\n padding-top: 8px;\n text-align: center;\n\n // 菜单打开前\n &>.mdui-fab {\n .mdui-icon:not(.mdui-fab-opened) {\n opacity: 1;\n transition: all .2s @animation-curve-default;\n will-change: opacity, transform;\n }\n .mdui-icon.mdui-fab-opened {\n transform: rotate(225deg);\n opacity: 0;\n transition: all .2s @animation-curve-default;\n will-change: opacity, transform;\n }\n }\n\n // 菜单打开后\n &>.mdui-fab.mdui-fab-opened {\n .mdui-icon:not(.mdui-fab-opened) {\n transform: rotate(225deg);\n opacity: 0;\n }\n .mdui-icon.mdui-fab-opened {\n transform: rotate(360deg);\n opacity: 1;\n }\n }\n\n // mini 按钮需要垂直居中\n &>.mdui-fab-mini {\n margin-top: (@fab-size - @fab-size-mini) / 2;\n }\n\n .mdui-fab-dial {\n position: absolute;\n right: 0;\n bottom: @fab-size + 8px;\n left: 0;\n height: 0;\n text-align: center;\n visibility: visible;\n\n .mdui-fab {\n margin: 8px 0;\n transform: scale(0);\n opacity: 0;\n transition: box-shadow .2s @animation-curve-fast-out-linear-in,\n color .2s @animation-curve-default,\n // fab\n transform 150ms @animation-curve-default,\n opacity 150ms @animation-curve-default;\n }\n\n &.mdui-fab-dial-show {\n .mdui-fab {\n transform: scale(1);\n opacity: 1;\n }\n }\n }\n}\n\n/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */\n.mdui-fab,\n.mdui-fab-mini,\n.mdui-fab-wrapper {\n transform: scale(1) translateZ(0);\n transition: all .2s @animation-curve-default,\n box-shadow .2s @animation-curve-fast-out-linear-in,\n // fab\n transform .2s;\n will-change: transform;\n\n &.mdui-fab-hide {\n transform: scale(0) translateZ(0);\n }\n}\n","/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n\n.mdui-select {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n max-width: 100%;\n height: 36px;\n padding-right: 24px;\n padding-left: 0;\n font-size: 16px;\n font-family: @font-family-base;\n vertical-align: middle;\n //background-image: data-uri('image/svg+xml', './components/select/svg/arrow_down_dark.svg');\n // https://www.zhangxinxu.com/sp/svgo/ CSS 转义\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' opacity='.54'/%3E%3C/svg%3E\");\n\n // 箭头\n background-repeat: no-repeat;\n background-position: right center;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n outline: none;\n cursor: pointer;\n transition-timing-function: @animation-curve-default;\n transition-duration: .2s;\n transition-property: background-color, box-shadow, background-position-x;\n appearance: none;\n user-select: none;\n will-change: background-color, box-shadow, background-position-x;\n\n &.mdui-select-open {\n border-bottom: none;\n }\n}\n\n.mdui-select-position-top {\n //background-image: data-uri('image/svg+xml', './components/select/svg/arrow_up_dark.svg');\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' opacity='.54'/%3E%3C/svg%3E\");\n}\n\n/* 底部和顶部菜单的样式 */\n.mdui-select-open {\n &.mdui-select-position-top,\n &.mdui-select-position-bottom {\n z-index: 99999;\n background-color: #fff;\n /* stylelint-disable-next-line */\n background-position-x: calc(~'100% - 12px');\n border-radius: 2px;\n }\n\n &.mdui-select-position-top {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 2px solid transparent;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n box-shadow: 0 10px 10px -3px rgba(0,0,0,.2), 0 0 14px 1px rgba(0,0,0,.14), 0 -7px 24px 2px rgba(0,0,0,.12);\n\n .mdui-select-menu {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n\n // 隐藏下方的阴影\n box-shadow: 0 -4px 4px -2px rgba(0,0,0,.06), 8px 0 8px -4px rgba(0,0,0,.12), -8px 0 8px -4px rgba(0,0,0,.12)\n }\n }\n\n &.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n .mdui-shadow(8);\n\n .mdui-select-menu {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n\n // 隐藏上方阴影\n box-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 9px 9px 1px rgba(0,0,0,.14), 0 8px 8px 2px rgba(0,0,0,.06);\n }\n }\n}\n\n/* 当前选中项文本 */\n.mdui-select-selected {\n position: absolute;\n top: 50%;\n right: 24px;\n left: 0;\n display: block;\n transform: translateY(-50%);\n transition: left .2s @animation-curve-linear-out-slow-in;\n .mdui-text-truncate();\n\n .mdui-select-open & {\n right: 32px;\n left: 16px;\n }\n\n .mdui-select-open.mdui-select-position-auto & {\n visibility: hidden;\n }\n}\n\n/* 菜单 */\n.mdui-select-menu {\n position: relative;\n z-index: 99999;\n box-sizing: border-box;\n height: 36px;\n margin: 0 -24px 0 0;\n\n // 在计算宽度时,把滚动条计算进去\n overflow-y: scroll;\n color: @color-black-text;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(1, 0);\n visibility: hidden;\n cursor: default;\n opacity: 0;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n transition-duration: .2s;\n transition-property: transform, opacity, visibility;\n will-change: transform, opacity, visibility;\n -webkit-overflow-scrolling: touch;\n .mdui-shadow(8);\n\n // 打开状态的菜单\n .mdui-select-open & {\n overflow-y: hidden;\n transform: scale(1, 1);\n visibility: visible;\n opacity: 1;\n }\n\n // 关闭状态的菜单\n .mdui-select-closing & {\n overflow-y: hidden;\n box-shadow: none;\n transform: scale(1, 1);\n visibility: visible;\n opacity: 0;\n }\n}\n\n/* 菜单项 */\n.mdui-select-menu-item {\n height: 48px;\n padding: 0 16px;\n line-height: 48px;\n cursor: pointer;\n .mdui-text-truncate();\n\n &:hover {\n background-color: @color-grey-200;\n }\n\n &:first-child {\n margin-top: 8px;\n }\n\n &:last-child {\n margin-bottom: 8px;\n }\n\n // 禁用项\n &[disabled] {\n color: @color-black-disabled !important;\n cursor: default;\n\n &:hover {\n background-color: inherit !important;\n }\n }\n\n // 已选中项\n &[selected] {\n color: @color-default-a200;\n }\n}\n\n\n/* 原生 select 组件 */\nselect.mdui-select {\n background-color: transparent;\n\n option {\n color: rgba(0, 0, 0, 0.87);\n }\n\n // 移除 IE 的下拉按钮\n &::-ms-expand {\n display: none;\n }\n}\n\n/* 原生多选 select 组件 */\nselect.mdui-select[multiple] {\n height: auto;\n padding: 0;\n font-size: 15px;\n background-color: #FFF;\n background-image: none;\n border: 1px solid rgba(0, 0, 0, 0.38);\n cursor: default;\n\n optgroup {\n margin: 8px 0 0 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.38);\n\n &:last-child {\n margin-bottom: 8px;\n }\n\n &:not(:first-child) {\n padding-top: 8px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n }\n }\n\n option {\n display: flex;\n align-items: center;\n height: 32px;\n margin: 0 0 0 -16px;\n padding: 0 16px;\n color: rgba(0, 0, 0, 0.87);\n\n &:first-child {\n margin-top: 8px;\n }\n\n &:last-child {\n margin-bottom: 8px;\n }\n }\n}\n\n/**\n * =============================================================================\n * ************ Select 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n\n .mdui-select-menu-item {\n // 菜单中已选中项\n &[selected] {\n .mdui-text-color(@colorName);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Select dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-select {\n //background-image: data-uri('image/svg+xml', './components/select/svg/arrow_down_light.svg');\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M-.003 2.5l5 5 5-5h-10z' fill='%23FFF'/%3E%3C/svg%3E\");\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n\n .mdui-select-position-top {\n //background-image: data-uri('image/svg+xml', './components/select/svg/arrow_up_light.svg');\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10.003 7.5l-5-5-5 5h10z' fill='%23FFF'/%3E%3C/svg%3E\");\n }\n\n .mdui-select-open {\n &.mdui-select-position-top,\n &.mdui-select-position-bottom {\n background-color: @layout-dark-color-4;\n }\n\n &.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n\n &.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n }\n\n .mdui-select-menu {\n color: #fff;\n background-color: @layout-dark-color-4;\n }\n\n .mdui-select-menu-item {\n &:hover {\n background-color: @color-grey-700;\n }\n\n &[disabled] {\n color: @color-white-disabled !important;\n }\n }\n\n // 原生 select 组件\n select.mdui-select {\n color: #FFF;\n background-color: @layout-dark-color-3;\n\n option {\n color: #FFF;\n background-color: @layout-dark-color-3;\n }\n }\n\n // 原生多选 select 组件\n select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n\n optgroup {\n color: rgba(255, 255, 255, 0.5);\n\n &:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Toolbar 工具栏 ************\n * =============================================================================\n */\n\n.mdui-toolbar {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n &>* {\n margin: 0 16px;\n .mdui-text-truncate();\n }\n\n // 工具栏默认有背景色时,工具栏中的按钮,hover 和 active 时颜色变浅\n &[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n .mdui-btn {\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n &:active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n }\n }\n\n &>a {\n color: inherit;\n text-decoration: none;\n user-select: none;\n }\n\n &>.mdui-btn-icon {\n width: @appbar-icon-width;\n min-width: @appbar-icon-width;\n height: @appbar-icon-width;\n\n // 手机横屏时\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n width: @appbar-icon-width-xs-landscape;\n min-width: @appbar-icon-width-xs-landscape;\n height: @appbar-icon-width-xs-landscape;\n }\n\n .mdui-icon {\n height: 24px;\n line-height: 24px;\n }\n }\n\n .mdui-icon {\n color: inherit;\n }\n}\n\n.mdui-toolbar-spacer {\n flex-grow: 1;\n margin: 0;\n}\n\n// 响应式。只有在应用栏中的工具栏,才具有响应式特性,不在应用栏中,则使用手机样式\n._toolbar_responsive_mixed(@toolbar-height, @icon-width) {\n .mdui-toolbar {\n height: @toolbar-height;\n line-height: @toolbar-height;\n\n &>.mdui-btn {\n margin: 0 (@toolbar-height - @icon-width) / 2;\n\n & + .mdui-btn {\n margin-left: 0;\n }\n }\n }\n}\n\n/* 手机 */\n._toolbar_responsive_mixed(@appbar-height-xs-portrait, @appbar-icon-width);\n\n.mdui-appbar {\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n ._toolbar_responsive_mixed(@appbar-height-sm, @appbar-icon-width);\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n ._toolbar_responsive_mixed(@appbar-height-xs-landscape, @appbar-icon-width-xs-landscape);\n }\n}\n","/**\n * =============================================================================\n * ************ Appbar 应用栏 ************\n * =============================================================================\n */\n\n@import '../toolbar/index';\n@import '../headroom/index';\n\n.mdui-appbar {\n z-index: @z-index-appbar;\n .mdui-shadow(4);\n}\n\n/* appbar 固定在顶部 */\n.mdui-appbar-fixed {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n transition-duration: 0.3s;\n transition-property: left, right;\n will-change: left, right;\n}\n\n/* 左侧留出抽屉栏的距离 */\n.mdui-appbar-inset.mdui-appbar-fixed {\n .mdui-drawer-body-left & {\n @media (min-width: @screen-md-min) {\n left: @drawer-width-md;\n }\n }\n\n .mdui-drawer-body-right & {\n @media (min-width: @screen-md-min) {\n right: @drawer-width-md;\n }\n }\n}\n\n/* 含工具栏 */\n.mdui-appbar-with-toolbar {\n padding-top: @appbar-height-xs-portrait;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape;\n }\n}\n\n/* 含 Tab */\n.mdui-appbar-with-tab {\n padding-top: 48px;\n}\n\n/* 含大 Tab */\n.mdui-appbar-with-tab-larger {\n padding-top: 72px;\n}\n\n/* 含工具栏和 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: @appbar-height-xs-portrait + 48px;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm + 48px;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape + 48px;\n }\n}\n\n/* 含工具栏和大 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: @appbar-height-xs-portrait + 72px;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm + 72px;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape + 72px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Appbar dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-appbar {\n &>[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n color: #fff !important;\n background-color: @layout-dark-color-2 !important;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Card 卡片 ************\n * =============================================================================\n */\n\n/* 卡片 */\n.mdui-card {\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n border-radius: 2px;\n .mdui-shadow(2);\n}\n\n/**\n * ===================== 头部,包含头像、标题、副标题\n */\n.mdui-card-header {\n position: relative;\n box-sizing: border-box;\n height: 72px;\n padding: 16px;\n}\n\n/* 卡片头部头像 */\n.mdui-card-header-avatar {\n float: left;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n}\n\n/* 卡片头部标题 */\n.mdui-card-header-title {\n display: block;\n margin-left: 52px;\n font-weight: 500;\n font-size: 16px;\n line-height: 20px;\n opacity: @opacity-black-text;\n .mdui-text-truncate();\n}\n\n/* 卡片头部副标题 */\n.mdui-card-header-subtitle {\n display: block;\n margin-left: 52px;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n opacity: @opacity-black-secondary;\n .mdui-text-truncate();\n}\n\n/**\n * =========================== 主标题区域\n */\n.mdui-card-primary {\n position: relative;\n padding: 24px 16px 16px 16px;\n}\n\n/* 主标题区域标题 */\n.mdui-card-primary-title {\n display: block;\n font-size: 24px;\n line-height: 36px;\n opacity: @opacity-black-text;\n}\n\n/* 主标题区域副标题 */\n.mdui-card-primary-subtitle {\n display: block;\n font-size: 14px;\n line-height: 24px;\n opacity: @opacity-black-secondary;\n}\n\n/**\n * ============================ 内容区域\n */\n.mdui-card-content {\n position: relative;\n padding: 16px;\n font-size: 14px;\n line-height: 24px;\n}\n\n/**\n * ============================ 卡片菜单\n */\n.mdui-card-menu {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n\n .mdui-btn {\n margin-left: 8px;\n }\n}\n\n/**\n * =========================== 按钮区域\n */\n.mdui-card-actions {\n .mdui-clearfix();\n\n position: relative;\n box-sizing: border-box;\n padding: 8px;\n\n .mdui-btn {\n max-width: 100%;\n margin: 0 8px 0 0;\n .mdui-text-truncate();\n }\n\n .mdui-btn-icon {\n width: @button-height;\n height: @button-height;\n margin: 0 8px;\n }\n}\n\n/* 使按钮竖向排列 */\n.mdui-card-actions-stacked {\n .mdui-btn {\n display: block;\n margin: 0 0 4px 0;\n &:last-child {\n margin: 0;\n }\n }\n}\n\n/**\n * ============================= 媒体元素区域\n */\n.mdui-card-media {\n position: relative;\n img, video {\n display: block;\n width: 100%;\n }\n}\n\n/* 覆盖在媒体元素上的内容 */\n.mdui-card-media-covered {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n\n /* 覆盖在媒体元素上的标题 */\n .mdui-card-primary-title {\n opacity: @opacity-white-text;\n }\n .mdui-card-primary-subtitle {\n opacity: @opacity-white-secondary;\n }\n}\n\n/* 覆盖在媒体元素顶部 */\n.mdui-card-media-covered-top {\n top: 0;\n bottom: auto;\n}\n\n/* 覆盖层透明 */\n.mdui-card-media-covered-transparent {\n background: transparent;\n}\n\n/* 覆盖层渐变 */\n.mdui-card-media-covered-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n\n &.mdui-card-media-covered-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Card dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-card {\n color: #fff;\n background-color: @layout-dark-color-4;\n }\n});\n","/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n *\n * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分\n */\n\n/* 选项卡,默认的选项卡为全宽 */\n.mdui-tab {\n position: relative;\n display: flex;\n min-height: 48px;\n max-height: 72px;\n margin: 0 auto;\n padding: 0;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n\n a {\n display: flex;\n // 手机上始终等分选项卡\n flex: 1;\n\n // 使图标和文本垂直排列\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 72px;\n min-height: 48px;\n max-height: 72px;\n padding: 12px;\n overflow: hidden;\n color: inherit;\n font-size: 14px;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n text-overflow: ellipsis;\n outline: none;\n cursor: pointer;\n opacity: 0.7;\n user-select: none;\n\n .mdui-icon {\n opacity: 0.7;\n }\n\n // 平板或以上设备\n @media (min-width: @screen-sm-min) {\n\n // 平板/pc上选项卡左对齐\n flex: none;\n min-width: 99px;\n max-width: 264px;\n\n // 手机上 padding 12px,平板/pc上 padding 24px\n padding: 12px 24px;\n }\n\n @media (min-width: @screen-md-min) {\n min-width: 112px;\n }\n\n @media (min-width: @screen-lg-min) {\n min-width: 136px;\n }\n\n @media (min-width: @screen-xl-min) {\n min-width: 160px;\n }\n\n label {\n display: block;\n width: 100%;\n cursor: pointer;\n }\n\n .mdui-icon + label {\n margin-top: 8px;\n }\n\n &[disabled] {\n cursor: default;\n opacity: 0.38;\n\n label {\n cursor: default;\n }\n }\n }\n\n // 激活状态的选项\n .mdui-tab-active {\n color: @color-default-500;\n opacity: 1;\n .mdui-icon {\n opacity: 1;\n }\n }\n}\n\n/* 选项卡居中 */\n.mdui-tab-centered {\n @media (min-width: @screen-sm-min) {\n &::before {\n flex-grow: 1;\n content: ' ';\n }\n &::after {\n flex-grow: 1;\n content: ' ';\n }\n a {\n flex: none;\n }\n }\n}\n\n/* 选项卡始终全宽等分 */\n.mdui-tab-full-width {\n a {\n flex: 1;\n max-width: none;\n }\n}\n\n\n/* 可横向滚动的选项卡 */\n.mdui-tab-scrollable {\n padding-left: 56px;\n\n a {\n flex: none;\n }\n\n @media (max-width: @screen-xs-max) {\n padding-left: 60px;\n }\n\n}\n\n/* 下划线指示器 */\n.mdui-tab-indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: @color-default-500;\n transition: all .35s @animation-curve-default;\n will-change: left, width;\n}\n\n/**\n * =============================================================================\n * ************ Tab 主色 ************\n * =============================================================================\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n .mdui-tab .mdui-tab-active {\n color: @@color;\n }\n\n .mdui-tab-indicator {\n background-color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n/* 带背景色的选项卡 */\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) {\n .mdui-tab-active {\n color: inherit;\n }\n .mdui-tab-indicator {\n background-color: @color-white-500;\n }\n\n // 带背景色的选项卡中使用浅色滚动条\n & {\n .mdui-scrollbar-beautify(dark);\n }\n}\n","/**\n * =============================================================================\n * ************ Subheader 副标题 ************\n * =============================================================================\n *\n * 用于 List 和 Grid list 组件\n */\n\n.mdui-subheader,\n.mdui-subheader-inset {\n position: relative;\n box-sizing: border-box;\n height: 48px;\n padding-right: 16px;\n padding-left: 16px;\n color: @color-black-secondary;\n font-weight: 500;\n font-size: 14px;\n line-height: 48px;\n cursor: default;\n .mdui-text-truncate();\n}\n\n.mdui-subheader-inset {\n padding-left: 72px;\n}\n\n/**\n * =============================================================================\n * ************ Subheader dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-subheader,\n .mdui-subheader-inset {\n color: @color-white-secondary;\n }\n});\n","/**\n * =============================================================================\n * ************ Grid List 网格列表 ************\n * =============================================================================\n */\n\n/* 调整网格边距 */\n.mdui-grid-list {\n margin: 0 -@grid-list-gutter / 2;\n\n .mdui-col,\n [class*=\"mdui-col-xs-\"],\n [class*=\"mdui-col-sm-\"],\n [class*=\"mdui-col-md-\"],\n [class*=\"mdui-col-lg-\"],\n [class*=\"mdui-col-xl-\"] {\n padding-right: @grid-list-gutter / 2;\n padding-left: @grid-list-gutter / 2;\n }\n}\n\n/* 单元格 */\n.mdui-grid-tile {\n position: relative;\n box-sizing: border-box;\n margin-bottom: @grid-list-gutter;\n overflow: hidden;\n\n img {\n display: block;\n width: 100%;\n }\n}\n\n/* 操作栏 */\n.mdui-grid-tile-actions {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n max-height: 68px;\n padding: 16px;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n\n .mdui-icon {\n color: #fff;\n }\n}\n\n/* 操作栏内的文本 */\n.mdui-grid-tile-text {\n flex: 1;\n overflow: hidden;\n}\n\n/* 标题 */\n.mdui-grid-tile-title {\n height: 16px;\n font-size: 16px;\n line-height: 16px;\n .mdui-text-truncate();\n\n .mdui-icon {\n margin-right: 8px;\n }\n}\n\n/* 副标题 */\n.mdui-grid-tile-subtitle {\n height: 18px;\n margin-top: 4px;\n font-size: 12px;\n line-height: 18px;\n .mdui-text-truncate();\n\n .mdui-icon {\n margin-right: 8px;\n font-size: 18px;\n }\n}\n\n/* 操作栏内的按钮 */\n.mdui-grid-tile-buttons {\n flex: none;\n margin: -8px;\n white-space: nowrap;\n\n .mdui-btn {\n margin-left: 8px;\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n.mdui-grid-tile-text + .mdui-grid-tile-buttons {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons + .mdui-grid-tile-text {\n margin-left: 16px;\n}\n\n/* 操作栏位于顶部 */\n.mdui-grid-tile-actions-top {\n top: 0;\n bottom: auto;\n}\n\n/* 操作栏背景透明 */\n.mdui-grid-tile-actions-transparent {\n background: transparent;\n}\n\n/* 操作栏背景渐变 */\n.mdui-grid-tile-actions-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n\n &.mdui-grid-tile-actions-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n }\n}","/**\n * =============================================================================\n * ************ List 列表 ************\n * =============================================================================\n */\n\n/* 列表 */\n.mdui-list {\n margin: 0;\n padding: 8px 0;\n list-style: none;\n background-color: transparent;\n\n // 子列表没有上下间距\n .mdui-list {\n padding: 0;\n }\n\n // 分割线上下边距\n &>.mdui-divider,\n &>.mdui-divider-light,\n &>.mdui-divider-dark,\n &>.mdui-divider-inset,\n &>.mdui-divider-inset-light,\n &>.mdui-divider-inset-dark {\n margin-top: 8px;\n margin-bottom: 8px;\n }\n\n a {\n color: inherit;\n text-decoration: none;\n }\n\n // 使用副标题时自动添加分割线\n .mdui-subheader,\n .mdui-subheader-inset {\n &::before {\n position: absolute;\n right: 0;\n left: 0;\n display: block;\n height: 1px;\n background-color: @color-black-divider;\n content: ' ';\n }\n\n margin-top: 8px;\n\n &:first-child {\n &::before {\n background-color: transparent;\n }\n\n // 第一个副标题把列表的 padding-top 抵消掉\n margin-top: -8px;\n }\n }\n .mdui-subheader-inset {\n &::before {\n left: 72px;\n }\n }\n}\n\n/* 列表项 */\n.mdui-list-item {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n padding: 0 16px;\n text-decoration: none;\n cursor: pointer;\n transition: background-color .3s @animation-curve-default;\n\n &:hover {\n background-color: @color-hover-black;\n }\n\n // http://stackoverflow.com/a/31915203\n &::after {\n height: 48px;\n visibility: hidden;\n content: ' ';\n }\n}\n\n/* 列表项图标 */\n.mdui-list-item-icon {\n width: 24px;\n min-width: 24px;\n height: 24px;\n color: @color-black-icon;\n}\n\n/* 列表项头像 */\n.mdui-list-item-avatar {\n min-width: 40px;\n max-width: 40px;\n height: 40px;\n margin-top: 8px;\n margin-bottom: 8px;\n color: @color-white;\n line-height: 40px;\n text-align: center;\n background-color: @color-grey-400;\n border-radius: 50%;\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n }\n}\n\n/* 列表项内容 */\n.mdui-list-item-content {\n flex-grow: 1;\n padding-top: 14px;\n padding-bottom: 14px;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n}\n\n/* 列表项内容的副内容 */\n.mdui-list-item-text {\n font-size: 14px;\n opacity: @opacity-black-secondary;\n}\n.mdui-list-item-title {\n ~ .mdui-list-item-text {\n margin-top: 4px;\n }\n}\n\n/* 激活状态的列表项 */\n.mdui-list-item-active {\n font-weight: 700;\n background-color: @color-hover-black;\n\n .mdui-list-item-content {\n font-weight: 700;\n }\n .mdui-list-item-text {\n font-weight: 400;\n }\n}\n\n/* 限制文本高度 */\n.mdui-list-item-one-line,\n.mdui-list-item-two-line,\n.mdui-list-item-three-line {\n display: -webkit-box;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n}\n.mdui-list-item-one-line {\n -webkit-line-clamp: 1;\n height: 20px;\n}\n.mdui-list-item-two-line {\n -webkit-line-clamp: 2;\n height: 40px;\n}\n.mdui-list-item-three-line {\n -webkit-line-clamp: 3;\n height: 60px;\n}\n\n/* 列表项内的元素间添加间距 */\n.mdui-list-item-icon {\n ~ .mdui-list-item-content {\n margin-left: 32px;\n }\n}\n.mdui-checkbox,\n.mdui-radio,\n.mdui-switch {\n ~ .mdui-list-item-content {\n margin-left: 20px;\n }\n}\n\n\n.mdui-list-item-avatar {\n ~ .mdui-list-item-content {\n margin-left: 16px;\n }\n}\n.mdui-list-item-content {\n ~ .mdui-list-item-icon,\n ~ .mdui-list-item-avatar,\n ~ .mdui-checkbox,\n ~ .mdui-radio,\n ~ .mdui-switch {\n margin-left: 16px;\n }\n\n ~ .mdui-checkbox,\n ~ .mdui-radio {\n padding-left: 24px;\n }\n}\n\n/* 密集型列表 */\n.mdui-list-dense {\n padding: 4px 0;\n font-size: 13px;\n\n &>.mdui-divider,\n &>.mdui-divider-light,\n &>.mdui-divider-dark,\n &>.mdui-divider-inset,\n &>.mdui-divider-inset-light,\n &>.mdui-divider-inset-dark {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n\n // 副标题\n .mdui-subheader,\n .mdui-subheader-inset {\n height: 40px;\n margin-top: 4px;\n font-size: 12px;\n line-height: 40px;\n\n &:first-child {\n margin-top: -4px;\n }\n }\n\n // 密集型列表项\n .mdui-list-item {\n min-height: 40px;\n\n &::after {\n height: 40px;\n }\n }\n\n // 图标\n .mdui-list-item-icon {\n width: 20px;\n height: 20px;\n font-size: 20px;\n }\n\n // 头像\n .mdui-list-item-avatar {\n width: 36px;\n min-width: 36px;\n height: 36px;\n min-height: 36px;\n }\n\n // 列表项内容\n .mdui-list-item-content {\n padding-top: 11px;\n padding-bottom: 11px;\n font-size: 13px;\n line-height: 18px;\n }\n .mdui-list-item-text {\n font-size: 13px;\n }\n .mdui-list-item-title {\n ~ .mdui-list-item-text {\n margin-top: 2px;\n }\n }\n\n // 限制文本高度\n .mdui-list-item-one-line {\n height: 18px;\n }\n .mdui-list-item-two-line {\n height: 36px;\n }\n .mdui-list-item-three-line {\n height: 54px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ List dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-list {\n // 副标题的分割线\n .mdui-subheader,\n .mdui-subheader-inset {\n &::before {\n background-color: @color-white-divider;\n }\n\n &:first-child {\n &::before {\n background-color: transparent;\n }\n }\n }\n }\n\n // 列表项\n .mdui-list-item {\n color: @color-white-text;\n\n &:hover {\n background-color: @color-hover-white;\n }\n }\n\n // 列表项图标\n .mdui-list-item-icon {\n color: @color-white-icon;\n }\n\n // 列表内容副内容\n .mdui-list-item-text {\n opacity: @opacity-white-secondary;\n }\n\n // 激活状态的列表项\n .mdui-list-item-active {\n background-color: @color-hover-white;\n }\n});\n\n/**\n * ==============================================================================\n * ************ List inner theme ************\n * ==============================================================================\n */\n[class*=\"mdui-color-\"] {\n .mdui-list-item {\n color: inherit;\n }\n .mdui-list-item-icon {\n color: inherit;\n }\n}\n","/**\n * =============================================================================\n * ************ Drawer 抽屉栏导航 ************\n * =============================================================================\n */\n\n/* DOM 加载完后再添加 transition */\nbody.mdui-loaded {\n transition: padding .3s @animation-curve-linear-out-slow-in;\n}\nbody.mdui-loaded .mdui-drawer {\n transition: all .3s @animation-curve-linear-out-slow-in;\n}\n\n/* 抽屉栏外层,默认出现在左侧且隐藏 */\n.mdui-drawer {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: @z-index-drawer;\n box-sizing: border-box;\n\n // 手机端宽度为 100% - 56px,最大为 280px\n /* stylelint-disable-next-line */\n width: calc(~\"100% - 56px\");\n max-width: @drawer-width-xs;\n margin: 0;\n overflow-x: hidden;\n overflow-y: auto;\n white-space: nowrap;\n will-change: transform;\n -webkit-overflow-scrolling: touch;\n\n // 隐藏时不显示阴影\n @media (max-width: @screen-sm-max) {\n &:not(.mdui-drawer-open) {\n box-shadow: none !important;\n }\n }\n\n // 平板端宽度为 100% - 64px,最大为 320px\n @media (min-width: @screen-sm-min) {\n /* stylelint-disable-next-line */\n width: calc(~\"100% - 64px\");\n max-width: @drawer-width-sm;\n }\n\n // 桌面端宽度\n @media (min-width: @screen-md-min) {\n width: @drawer-width-md;\n max-width: none;\n\n // 隐藏时不显示阴影\n &.mdui-drawer-close {\n box-shadow: none !important;\n }\n }\n}\n\n/* 出现在右侧的抽屉栏 */\n.mdui-drawer-right {\n right: 0;\n left: auto;\n}\n\n/* 平板上的样式 */\n@media (max-width: @screen-sm-max) {\n .mdui-drawer {\n /* 始终有背景和阴影 */\n background-color: #fff;\n\n /* 默认隐藏 */\n transform: translateX(-@drawer-width-sm - 10);\n .mdui-shadow(16);\n }\n\n .mdui-drawer-right {\n /* 右侧 drawer 也默认隐藏 */\n transform: translateX(@drawer-width-sm + 10);\n }\n}\n\n/* 手机上的样式 */\n@media (max-width: @screen-xs-max) {\n .mdui-drawer {\n transform: translateX(-@drawer-width-xs - 10);\n }\n\n .mdui-drawer-right {\n transform: translateX(@drawer-width-xs + 10);\n }\n}\n\n/* 强制隐藏抽屉栏 */\n._drawer_close(@drawer-width) {\n .mdui-drawer-close {\n transform: translateX(-@drawer-width - 10);\n &.mdui-drawer-right {\n transform: translateX(@drawer-width + 10);\n }\n }\n}\n\n._drawer_close(@drawer-width-xs);\n\n@media (min-width: @screen-sm-min) {\n ._drawer_close(@drawer-width-sm);\n}\n\n@media (min-width: @screen-md-min) {\n ._drawer_close(@drawer-width-md);\n}\n\n/* 强制显示抽屉栏 */\n.mdui-drawer-open {\n transform: translateX(0) !important;\n}\n\n/* PC 上的样式 */\n@media (min-width: @screen-md-min) {\n /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */\n .mdui-drawer-body-left {\n padding-left: @drawer-width-md;\n }\n .mdui-drawer-body-right {\n padding-right: @drawer-width-md;\n }\n\n /* PC 上默认有上边距 */\n .mdui-drawer {\n .mdui-appbar-with-toolbar & {\n top: @appbar-height-sm;\n }\n\n .mdui-appbar-with-tab & {\n top: 48px;\n }\n\n .mdui-appbar-with-tab-larger & {\n top: 72px;\n }\n\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab & {\n top: @appbar-height-sm + 48px;\n }\n\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger & {\n top: @appbar-height-sm + 72px;\n }\n }\n}\n\n/* 抽屉栏不是透明时添加阴影 */\n.mdui-drawer[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n .mdui-shadow(16);\n}\n\n/* 抽屉栏 100% 高度,覆盖在导航栏上面 */\n.mdui-drawer-full-height {\n top: 0 !important;\n}\n\n\n/**\n * =============================================================================\n * ************ Drawer dark ************\n * =============================================================================\n */\n.layout-theme({\n // 手机平板上的样式\n @media (max-width: @screen-sm-max) {\n .mdui-drawer {\n background-color: @layout-dark-color-4;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Dialog 提示框 ************\n * =============================================================================\n */\n\n@import '../button/index';\n\n.mdui-dialog {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @z-index-dialog;\n display: none;\n box-sizing: border-box;\n width: 92%;\n min-width: 180px;\n max-width: 728px;\n max-height: 90%;\n margin: auto;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(0.95);\n opacity: 0;\n transition-duration: .3s;\n transition-property: transform, opacity, visibility;\n will-change: top, opacity, transform;\n\n @media (min-width: @screen-sm-min) {\n width: 85%;\n max-height: 85%;\n }\n @media (min-width: @screen-md-min) {\n width: 80%;\n max-height: 80%;\n }\n\n .mdui-shadow(24);\n}\n\n/* 打开提示框 */\n.mdui-dialog-open {\n transform: scale(1);\n opacity: 1;\n}\n\n/* 提示框标题 */\n.mdui-dialog-title {\n box-sizing: border-box;\n font-weight: 500;\n font-size: 20px;\n line-height: 24px;\n text-align: left;\n}\n\n/* 标题固定在顶部 */\n.mdui-dialog>.mdui-dialog-title {\n padding: 24px 24px 20px 24px;\n}\n\n/* 提示框内容 */\n.mdui-dialog-content {\n box-sizing: border-box;\n padding: 24px;\n overflow-y: auto;\n color: rgba(0, 0, 0, 0.7);\n font-size: 15px;\n line-height: 1.5;\n -webkit-overflow-scrolling: touch;\n}\n\n/* 标题随内容滚动 */\n.mdui-dialog-content>.mdui-dialog-title {\n padding-bottom: 20px;\n}\n\n.mdui-dialog-title + .mdui-dialog-content {\n padding-top: 0;\n}\n\n/* 提示框底部按钮 */\n.mdui-dialog-actions {\n box-sizing: border-box;\n padding: 8px;\n text-align: right;\n .mdui-btn {\n min-width: 64px;\n margin-left: 8px;\n .mdui-text-color(@color-accent-default-name);\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n/* 底部按钮滚随内容动 */\n.mdui-dialog-content>.mdui-dialog-actions {\n margin: 0 -24px -24px -24px;\n padding-top: 32px;\n}\n\n/* 使提示框底部按钮竖排 */\n.mdui-dialog-actions-stacked {\n padding: 8px 0 8px 0;\n .mdui-btn {\n width: 100%;\n height: 48px;\n margin: 0;\n line-height: 48px !important;\n text-align: right;\n border-radius: 0;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Dialog 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n .mdui-dialog-actions {\n .mdui-btn {\n .mdui-text-color(@colorName);\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Dialog dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-dialog {\n color: #fff;\n background-color: @layout-dark-color-4;\n }\n .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n }\n});\n","/**\n * =============================================================================\n * ************ Dialog alert ************\n * =============================================================================\n */\n\n @import './index';\n\n.mdui-dialog-alert {\n max-width: 448px;\n}\n","/**\n * =============================================================================\n * ************ Dialog confirm ************\n * =============================================================================\n */\n\n @import './index';\n\n.mdui-dialog-confirm {\n max-width: 448px;\n}\n","/**\n * =============================================================================\n * ************ Dialog prompt ************\n * =============================================================================\n */\n\n@import '../textfield/index';\n@import './index';\n\n.mdui-dialog-prompt {\n max-width: 448px;\n\n .mdui-textfield {\n padding-top: 0;\n }\n}\n","/**\n * =============================================================================\n * ************ Tooltip 工具提示 ************\n * =============================================================================\n */\n\n.mdui-tooltip {\n position: absolute;\n z-index: @z-index-tooltip;\n display: inline-block;\n box-sizing: border-box;\n max-width: 180px;\n min-height: 32px;\n padding: 8px 16px;\n color: #fff;\n font-weight: 500;\n\n // 移动端样式\n font-size: 14px;\n line-height: 22px;\n text-align: left;\n background-color: rgba(red(@color-grey-700), green(@color-grey-700), blue(@color-grey-700), 0.9);\n border-radius: 2px;\n transform: scale(0);\n opacity: 0;\n transition-timing-function: @animation-curve-default;\n transition-duration: 0.15s;\n transition-property: opacity, transform;\n will-change: opacity, transform;\n\n // 桌面端样式\n @media (min-width: @screen-md-min) {\n max-width: 200px;\n min-height: 24px;\n padding: 4px 8px;\n font-size: 12px;\n line-height: 18px;\n }\n}\n\n/* 显示工具提示 */\n.mdui-tooltip-open {\n transform: scale(1);\n opacity: 1;\n}","/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n\n@import '../button/index';\n\n.mdui-snackbar {\n position: fixed;\n z-index: @z-index-snackbar;\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n\n // 手机端的样式\n width: 100%;\n min-height: 48px;\n padding: 0 24px 0 24px;\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n background-color: #323232;\n will-change: transform;\n\n // 平板、桌面端样式\n @media (min-width: @screen-sm-min) {\n width: auto;\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n }\n}\n\n.mdui-snackbar-bottom,\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-top,\n.mdui-snackbar-right-bottom {\n transition: transform .3s @animation-curve-default;\n}\n\n/* 位置 */\n.mdui-snackbar-bottom,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-bottom {\n bottom: 0;\n}\n\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-right-top {\n top: 0;\n}\n\n.mdui-snackbar-top,\n.mdui-snackbar-bottom {\n left: 50%;\n}\n\n// 平板、桌面端位置\n@media (min-width: @screen-sm-min) {\n .mdui-snackbar-left-top {\n top: 24px;\n left: 24px;\n }\n\n .mdui-snackbar-left-bottom {\n bottom: 24px;\n left: 24px;\n }\n\n .mdui-snackbar-right-top {\n top: 24px;\n right: 24px;\n }\n\n .mdui-snackbar-right-bottom {\n right: 24px;\n bottom: 24px;\n }\n}\n\n/* 文本 */\n.mdui-snackbar-text {\n position: relative;\n max-width: 100%;\n padding: 14px 0 14px 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* 按钮 */\n.mdui-snackbar-action {\n margin-right: -16px;\n white-space: nowrap;\n .mdui-text-color(@color-accent-default-name, a100);\n}\n\n\n/**\n * =============================================================================\n * ************ Snackbar 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} when not (@colorName = null) {\n .mdui-snackbar-action {\n .mdui-text-color(@colorName, a100);\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Snackbar dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-snackbar {\n background-color: #5d5d5d;\n }\n});\n","/**\n * =============================================================================\n * ************ Chip 纸片 ************\n * =============================================================================\n */\n\n@chip-height: 32px;\n\n.mdui-chip {\n display: inline-block;\n box-sizing: border-box;\n height: @chip-height;\n margin: 2px 0;\n color: inherit;\n white-space: nowrap;\n background-color: #e0e0e0;\n border-radius: @chip-height / 2;\n cursor: pointer;\n user-select: none;\n .mdui-hoverable(2);\n\n &:active {\n background-color: #d6d6d6;\n }\n}\n\n/* 左侧的图标 */\n.mdui-chip-icon {\n position: relative;\n display: inline-block;\n width: @chip-height;\n height: @chip-height;\n margin-right: -4px;\n overflow: hidden;\n color: #fff;\n font-size: 18px;\n line-height: @chip-height;\n text-align: center;\n vertical-align: middle;\n background-color: #989898;\n border-radius: 50%;\n\n .mdui-icon {\n position: absolute;\n top: 4px;\n left: 4px;\n color: #fff;\n }\n}\n\n/* 文本 */\n.mdui-chip-title {\n display: inline-block;\n height: @chip-height;\n padding-right: 12px;\n padding-left: 12px;\n font-size: 14px;\n line-height: @chip-height;\n vertical-align: middle;\n}\n\n/* 删除按钮 */\n.mdui-chip-delete {\n display: inline-block;\n width: 24px;\n height: 24px;\n margin-right: 4px;\n margin-left: -8px;\n overflow: hidden;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n border-radius: 50%;\n cursor: pointer;\n opacity: .54;\n transition: opacity .25s @animation-curve-default;\n will-change: opacity;\n &:hover,\n &:focus {\n opacity: .87;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Chip dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-chip {\n background-color: #484848;\n &:active {\n background-color: #5d5d5d;\n }\n }\n});\n","/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n\n@import '../headroom/index';\n\n.mdui-bottom-nav {\n position: relative;\n display: flex;\n height: 56px;\n margin: 0 auto;\n padding: 0;\n overflow: hidden;\n white-space: nowrap;\n\n @media (min-width: @screen-sm-min) {\n &::before {\n flex-grow: 1;\n content: ' ';\n }\n &::after {\n flex-grow: 1;\n content: ' ';\n }\n }\n\n a {\n display: flex;\n flex: 1;\n\n // 使图标和文本垂直排列\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n max-width: none;\n padding: 8px 12px 10px 12px;\n overflow: hidden;\n color: inherit;\n font-size: 12px;\n text-align: center;\n text-decoration: none;\n text-overflow: ellipsis;\n cursor: pointer;\n opacity: 0.7;\n transition: all .2s @animation-curve-default ;\n user-select: none;\n will-change: padding;\n\n @media (min-width: @screen-sm-min) {\n max-width: 144px;\n }\n\n .mdui-icon {\n opacity: 0.7;\n }\n\n label {;\n display: block;\n width: 100%;\n cursor: pointer;\n transition: transform .2s @animation-curve-default ;\n will-change: font-size;\n }\n\n .mdui-icon + label {\n margin-top: 6px;\n }\n\n // 激活状态的导航项\n &.mdui-bottom-nav-active {\n color: @color-default-500;\n font-size: 14px;\n opacity: 1;\n\n .mdui-icon {\n opacity: 1;\n }\n }\n }\n}\n\n/* 只在激活时显示文本 */\n&.mdui-bottom-nav-text-auto {\n a {\n min-width: 32px;\n padding-right: 0;\n padding-left: 0;\n @media (min-width: @screen-sm-min) {\n max-width: 156px;\n }\n .mdui-icon {\n padding-top: 16px;\n transition: padding-top .2s @animation-curve-default;\n will-change: padding-top;\n }\n label {\n transform: scale(0);\n }\n\n &.mdui-bottom-nav-active {\n padding-right: 18px;\n padding-left: 18px;\n .mdui-icon {\n padding-top: 0;\n }\n label {\n transform: scale(1);\n }\n }\n }\n}\n\n/* 固定到页面底部 */\n.mdui-bottom-nav-fixed {\n .mdui-bottom-nav {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n padding-bottom: 56px;\n}\n\n/**\n * =============================================================================\n * ************ Bottom Nav 主色 ************\n * =============================================================================\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n/* 带背景色的底部导航栏 */\n.mdui-bottom-nav[class*=\"mdui-color-\"] {\n .mdui-bottom-nav-active {\n color: inherit !important;\n }\n}\n","/**\n * =============================================================================\n * ************ Progress Linear 线性进度条 ************\n * =============================================================================\n */\n\n/* 线性进度条 */\n.mdui-progress {\n position: relative;\n display: block;\n width: 100%;\n height: 4px;\n overflow: hidden;\n background-color: rgba(red(@color-default-500), green(@color-default-500), blue(@color-default-500), .2);\n border-radius: 2px;\n}\n\n/* 确定进度的线性进度条 */\n.mdui-progress-determinate {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: @color-default-500;\n transition: width .3s linear;\n}\n\n/* 不确定进度的线性进度条 */\n.mdui-progress-indeterminate {\n background-color: @color-default-500;\n\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: inherit;\n animation: mdui-progress-indeterminate 2s linear infinite;\n content: ' ';\n will-change: left, width;\n }\n\n &::after {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: inherit;\n animation: mdui-progress-indeterminate-short 2s linear infinite;\n content: ' ';\n will-change: left, width;\n }\n}\n\n@keyframes mdui-progress-indeterminate {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 30%;\n width: 70%;\n }\n 75% {\n left: 100%;\n width: 0;\n }\n}\n\n@keyframes mdui-progress-indeterminate-short {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 0;\n width: 0;\n }\n 75% {\n left: 0;\n width: 25%;\n }\n 100% {\n left: 100%;\n width: 0;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Progress linear 主色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n .mdui-progress {\n background-color: rgba(red(@@color), green(@@color), blue(@@color), .2);\n }\n .mdui-progress-determinate,\n .mdui-progress-indeterminate {\n .mdui-background-color(@colorName);\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n","/**\n * =============================================================================\n * ************ Progress Circular 圆形进度条 ************\n * =============================================================================\n */\n\n.mdui-spinner {\n position: relative;\n display: inline-block;\n width: 28px;\n height: 28px;\n animation: mdui-spinner 1568ms linear infinite;\n}\n\n@keyframes mdui-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n.mdui-spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n border-color: @color-default-500;\n opacity: 0;\n opacity: 1;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-1 {\n border-color: @color-blue-400 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-1-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-2 {\n border-color: @color-red-500 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-2-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-3 {\n border-color: @color-yellow-600 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-3-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-4 {\n border-color: @color-green-500 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-4-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n@keyframes mdui-spinner-layer-fill-unfill-rotate {\n 12.5% { transform: rotate(135deg); }\n 25% { transform: rotate(270deg); }\n 37.5% { transform: rotate(405deg); }\n 50% { transform: rotate(540deg); }\n 62.5% { transform: rotate(675deg); }\n 75% { transform: rotate(810deg); }\n 87.5% { transform: rotate(945deg); }\n to { transform: rotate(1080deg); }\n}\n\n@keyframes mdui-spinner-layer-1-fade-in-out {\n from { opacity: 1; }\n 25% { opacity: 1; }\n 26% { opacity: 0; }\n 89% { opacity: 0; }\n 90% { opacity: 1; }\n 100% { opacity: 1; }\n}\n\n@keyframes mdui-spinner-layer-2-fade-in-out {\n from { opacity: 0; }\n 15% { opacity: 0; }\n 25% { opacity: 1; }\n 50% { opacity: 1; }\n 51% { opacity: 0; }\n}\n\n@keyframes mdui-spinner-layer-3-fade-in-out {\n from { opacity: 0; }\n 40% { opacity: 0; }\n 50% { opacity: 1; }\n 75% { opacity: 1; }\n 76% { opacity: 0; }\n}\n\n@keyframes mdui-spinner-layer-4-fade-in-out {\n from { opacity: 0; }\n 65% { opacity: 0; }\n 75% { opacity: 1; }\n 90% { opacity: 1; }\n 100% { opacity: 0; }\n}\n\n.mdui-spinner-gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n .mdui-spinner-circle {\n left: -450%;\n box-sizing: border-box;\n width: 1000%;\n }\n}\n\n.mdui-spinner-circle-clipper {\n position: relative;\n display: inline-block;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n .mdui-spinner-circle {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n box-sizing: border-box;\n width: 200%;\n height: 100%;\n border-color: inherit;\n border-style: solid;\n border-width: 3px;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n }\n\n &.mdui-spinner-left {\n float: left;\n\n .mdui-spinner-circle {\n left: 0;\n border-right-color: transparent !important;\n transform: rotate(129deg);\n animation: mdui-spinner-left-spin 1333ms @animation-curve-default infinite both;\n }\n }\n\n &.mdui-spinner-right {\n float: right;\n\n .mdui-spinner-circle {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg);\n animation: mdui-spinner-right-spin 1333ms @animation-curve-default infinite both;\n }\n }\n}\n\n@keyframes mdui-spinner-left-spin {\n from { transform: rotate(130deg); }\n 50% { transform: rotate(-5deg); }\n to { transform: rotate(130deg); }\n}\n\n@keyframes mdui-spinner-right-spin {\n from { transform: rotate(-130deg); }\n 50% { transform: rotate(5deg); }\n to { transform: rotate(-130deg); }\n}\n\n\n/**\n * =============================================================================\n * ************ Spinner linear 主色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} when not (@colorName = null) {\n .mdui-spinner-layer {\n border-color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n","/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n\n// 普通菜单宽度基数\n@menu-simple-x: 56px;\n\n// 级联菜单宽度基数\n@menu-cascade-x: 64px;\n\n/* 菜单 */\n.mdui-menu {\n position: fixed;\n z-index: 99999;\n display: block;\n box-sizing: border-box;\n width: @menu-simple-x * 3;\n margin: 0;\n padding: 8px 0;\n\n // 简单菜单高度超出窗口高度时,使菜单边框和窗口保持一定距离,菜单内出现滚动条\n overflow-y: auto;\n color: @color-black-text;\n font-size: 16px;\n list-style: none;\n background-color: #fff;\n border-radius: 2px;\n transform: scale(0);\n visibility: hidden;\n opacity: 0;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n transition-duration: .3s;\n transition-property: transform, opacity, visibility;\n will-change: transform, opacity, visibility;\n -webkit-overflow-scrolling: touch;\n .mdui-shadow(8);\n\n // 菜单中的分隔线,默认上下有 8px 的外边距\n .mdui-divider {\n margin-top: 8px;\n margin-bottom: 8px;\n }\n}\n\n/* 打开状态的菜单 */\n.mdui-menu-open {\n transform: scale(1);\n visibility: visible;\n opacity: 1;\n}\n\n/* 关闭中的菜单 */\n.mdui-menu-closing {\n transform: scale(1);\n visibility: visible;\n opacity: 0;\n}\n\n/* 菜单项 */\n.mdui-menu-item {\n position: relative;\n\n &>a {\n position: relative;\n display: block;\n height: 48px;\n padding: 0 16px;\n color: inherit;\n line-height: 48px;\n text-decoration: none;\n user-select: none;\n .mdui-text-truncate();\n\n &:hover {\n background-color: @color-grey-200;\n }\n }\n\n // 子菜单默认隐藏,阴影更深\n &>.mdui-menu {\n position: absolute;\n .mdui-shadow(9);\n }\n\n // 禁用的菜单条目\n &[disabled] {\n &>a {\n color: @color-black-disabled !important;\n cursor: default;\n\n &:hover {\n background-color: inherit !important;\n }\n\n .mdui-icon {\n color: @color-black-icon-disabled;\n }\n }\n }\n}\n\n/* 激活状态的菜单项 */\n.mdui-menu-item-active {\n background-color: @color-grey-200;\n}\n\n/* 菜单中的图标 */\n.mdui-menu-item-icon {\n display: inline-block;\n box-sizing: border-box;\n width: 40px;\n padding-right: 16px;\n color: @color-black-icon;\n}\n\n/* 菜单中的辅助文本或图标 */\n.mdui-menu-item-helper {\n float: right;\n}\n\n/* 有子菜单的条目的图标 */\n.mdui-menu-item-more {\n float: right;\n width: 24px;\n height: 24px;\n margin: 4px 0;\n //background-image: data-uri('image/svg+xml', './components/menu/svg/arrow_right_dark.svg');\n // https://www.zhangxinxu.com/sp/svgo/ CSS 转义\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' opacity='.54'/%3E%3C/svg%3E\");\n}\n\n\n/* 级联菜单 */\n.mdui-menu-cascade {\n width: @menu-cascade-x * 5;\n padding: 16px 0;\n\n // 级联菜单内部不出现滚动条\n overflow: visible;\n font-size: 15px;\n\n &>.mdui-menu-item {\n &>a {\n height: 32px;\n padding: 0 24px;\n line-height: 32px;\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Menu dark ************\n * =============================================================================\n */\n.layout-theme({\n .mdui-menu {\n color: #fff;\n background-color: @layout-dark-color-4;\n }\n\n .mdui-menu-item {\n &>a {\n &:hover {\n background-color: @color-grey-700;\n }\n }\n\n &[disabled] {\n &>a {\n color: @color-white-disabled !important;\n\n .mdui-icon {\n color: @color-white-icon-disabled;\n }\n }\n }\n }\n\n .mdui-menu-item-active {\n background-color: @color-grey-700;\n }\n\n .mdui-menu-item-icon {\n color: @color-white-icon;\n }\n\n .mdui-menu-item-more {\n //background-image: data-uri('image/svg+xml', './components/menu/svg/arrow_right_light.svg');\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 17.5l5-5-5-5z' fill='%23FFF'/%3E%3C/svg%3E\");\n }\n});\n"]} \ No newline at end of file diff --git a/static/mdui/fonts/roboto/LICENSE.txt b/static/mdui/fonts/roboto/LICENSE.txt new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/static/mdui/fonts/roboto/LICENSE.txt @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/static/mdui/fonts/roboto/Roboto-Black.woff b/static/mdui/fonts/roboto/Roboto-Black.woff new file mode 100644 index 0000000..9b72779 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Black.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-Black.woff2 b/static/mdui/fonts/roboto/Roboto-Black.woff2 new file mode 100644 index 0000000..9559f02 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Black.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-BlackItalic.woff b/static/mdui/fonts/roboto/Roboto-BlackItalic.woff new file mode 100644 index 0000000..609bdf4 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-BlackItalic.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-BlackItalic.woff2 b/static/mdui/fonts/roboto/Roboto-BlackItalic.woff2 new file mode 100644 index 0000000..5cb417b Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-BlackItalic.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-Bold.woff b/static/mdui/fonts/roboto/Roboto-Bold.woff new file mode 100644 index 0000000..93a1d5a Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Bold.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-Bold.woff2 b/static/mdui/fonts/roboto/Roboto-Bold.woff2 new file mode 100644 index 0000000..715ac19 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Bold.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-BoldItalic.woff b/static/mdui/fonts/roboto/Roboto-BoldItalic.woff new file mode 100644 index 0000000..f1d7598 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-BoldItalic.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-BoldItalic.woff2 b/static/mdui/fonts/roboto/Roboto-BoldItalic.woff2 new file mode 100644 index 0000000..c91e0f8 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-BoldItalic.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-Light.woff b/static/mdui/fonts/roboto/Roboto-Light.woff new file mode 100644 index 0000000..404afba Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Light.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-Light.woff2 b/static/mdui/fonts/roboto/Roboto-Light.woff2 new file mode 100644 index 0000000..5f26201 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Light.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-LightItalic.woff b/static/mdui/fonts/roboto/Roboto-LightItalic.woff new file mode 100644 index 0000000..07117c5 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-LightItalic.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-LightItalic.woff2 b/static/mdui/fonts/roboto/Roboto-LightItalic.woff2 new file mode 100644 index 0000000..5fa7eed Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-LightItalic.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-Medium.woff b/static/mdui/fonts/roboto/Roboto-Medium.woff new file mode 100644 index 0000000..b18e6b8 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Medium.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-Medium.woff2 b/static/mdui/fonts/roboto/Roboto-Medium.woff2 new file mode 100644 index 0000000..f9f6913 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Medium.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-MediumItalic.woff b/static/mdui/fonts/roboto/Roboto-MediumItalic.woff new file mode 100644 index 0000000..2be7d89 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-MediumItalic.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-MediumItalic.woff2 b/static/mdui/fonts/roboto/Roboto-MediumItalic.woff2 new file mode 100644 index 0000000..9b7b828 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-MediumItalic.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-Regular.woff b/static/mdui/fonts/roboto/Roboto-Regular.woff new file mode 100644 index 0000000..2f53e7c Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Regular.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-Regular.woff2 b/static/mdui/fonts/roboto/Roboto-Regular.woff2 new file mode 100644 index 0000000..1d1539e Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Regular.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-RegularItalic.woff b/static/mdui/fonts/roboto/Roboto-RegularItalic.woff new file mode 100644 index 0000000..60f95dd Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-RegularItalic.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-RegularItalic.woff2 b/static/mdui/fonts/roboto/Roboto-RegularItalic.woff2 new file mode 100644 index 0000000..75495c3 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-RegularItalic.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-Thin.woff b/static/mdui/fonts/roboto/Roboto-Thin.woff new file mode 100644 index 0000000..e115692 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Thin.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-Thin.woff2 b/static/mdui/fonts/roboto/Roboto-Thin.woff2 new file mode 100644 index 0000000..a26400d Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-Thin.woff2 differ diff --git a/static/mdui/fonts/roboto/Roboto-ThinItalic.woff b/static/mdui/fonts/roboto/Roboto-ThinItalic.woff new file mode 100644 index 0000000..eab0271 Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-ThinItalic.woff differ diff --git a/static/mdui/fonts/roboto/Roboto-ThinItalic.woff2 b/static/mdui/fonts/roboto/Roboto-ThinItalic.woff2 new file mode 100644 index 0000000..f00aafc Binary files /dev/null and b/static/mdui/fonts/roboto/Roboto-ThinItalic.woff2 differ diff --git a/static/mdui/icons/material-icons/LICENSE.txt b/static/mdui/icons/material-icons/LICENSE.txt new file mode 100644 index 0000000..dc8853a --- /dev/null +++ b/static/mdui/icons/material-icons/LICENSE.txt @@ -0,0 +1,393 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the "Licensor." Except for the limited purpose of indicating +that material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/static/mdui/icons/material-icons/MaterialIcons-Regular.ijmap b/static/mdui/icons/material-icons/MaterialIcons-Regular.ijmap new file mode 100644 index 0000000..d9f1d25 --- /dev/null +++ b/static/mdui/icons/material-icons/MaterialIcons-Regular.ijmap @@ -0,0 +1 @@ +{"icons":{"e84d":{"name":"3d Rotation"},"eb3b":{"name":"Ac Unit"},"e190":{"name":"Access Alarm"},"e191":{"name":"Access Alarms"},"e192":{"name":"Access Time"},"e84e":{"name":"Accessibility"},"e914":{"name":"Accessible"},"e84f":{"name":"Account Balance"},"e850":{"name":"Account Balance Wallet"},"e851":{"name":"Account Box"},"e853":{"name":"Account Circle"},"e60e":{"name":"Adb"},"e145":{"name":"Add"},"e439":{"name":"Add A Photo"},"e193":{"name":"Add Alarm"},"e003":{"name":"Add Alert"},"e146":{"name":"Add Box"},"e147":{"name":"Add Circle"},"e148":{"name":"Add Circle Outline"},"e567":{"name":"Add Location"},"e854":{"name":"Add Shopping Cart"},"e39d":{"name":"Add To Photos"},"e05c":{"name":"Add To Queue"},"e39e":{"name":"Adjust"},"e630":{"name":"Airline Seat Flat"},"e631":{"name":"Airline Seat Flat Angled"},"e632":{"name":"Airline Seat Individual Suite"},"e633":{"name":"Airline Seat Legroom Extra"},"e634":{"name":"Airline Seat Legroom Normal"},"e635":{"name":"Airline Seat Legroom Reduced"},"e636":{"name":"Airline Seat Recline Extra"},"e637":{"name":"Airline Seat Recline Normal"},"e195":{"name":"Airplanemode Active"},"e194":{"name":"Airplanemode Inactive"},"e055":{"name":"Airplay"},"eb3c":{"name":"Airport Shuttle"},"e855":{"name":"Alarm"},"e856":{"name":"Alarm Add"},"e857":{"name":"Alarm Off"},"e858":{"name":"Alarm On"},"e019":{"name":"Album"},"eb3d":{"name":"All Inclusive"},"e90b":{"name":"All Out"},"e859":{"name":"Android"},"e85a":{"name":"Announcement"},"e5c3":{"name":"Apps"},"e149":{"name":"Archive"},"e5c4":{"name":"Arrow Back"},"e5db":{"name":"Arrow Downward"},"e5c5":{"name":"Arrow Drop Down"},"e5c6":{"name":"Arrow Drop Down Circle"},"e5c7":{"name":"Arrow Drop Up"},"e5c8":{"name":"Arrow Forward"},"e5d8":{"name":"Arrow Upward"},"e060":{"name":"Art Track"},"e85b":{"name":"Aspect Ratio"},"e85c":{"name":"Assessment"},"e85d":{"name":"Assignment"},"e85e":{"name":"Assignment Ind"},"e85f":{"name":"Assignment Late"},"e860":{"name":"Assignment Return"},"e861":{"name":"Assignment Returned"},"e862":{"name":"Assignment Turned In"},"e39f":{"name":"Assistant"},"e3a0":{"name":"Assistant Photo"},"e226":{"name":"Attach File"},"e227":{"name":"Attach Money"},"e2bc":{"name":"Attachment"},"e3a1":{"name":"Audiotrack"},"e863":{"name":"Autorenew"},"e01b":{"name":"Av Timer"},"e14a":{"name":"Backspace"},"e864":{"name":"Backup"},"e19c":{"name":"Battery Alert"},"e1a3":{"name":"Battery Charging Full"},"e1a4":{"name":"Battery Full"},"e1a5":{"name":"Battery Std"},"e1a6":{"name":"Battery Unknown"},"eb3e":{"name":"Beach Access"},"e52d":{"name":"Beenhere"},"e14b":{"name":"Block"},"e1a7":{"name":"Bluetooth"},"e60f":{"name":"Bluetooth Audio"},"e1a8":{"name":"Bluetooth Connected"},"e1a9":{"name":"Bluetooth Disabled"},"e1aa":{"name":"Bluetooth Searching"},"e3a2":{"name":"Blur Circular"},"e3a3":{"name":"Blur Linear"},"e3a4":{"name":"Blur Off"},"e3a5":{"name":"Blur On"},"e865":{"name":"Book"},"e866":{"name":"Bookmark"},"e867":{"name":"Bookmark Border"},"e228":{"name":"Border All"},"e229":{"name":"Border Bottom"},"e22a":{"name":"Border Clear"},"e22b":{"name":"Border Color"},"e22c":{"name":"Border Horizontal"},"e22d":{"name":"Border Inner"},"e22e":{"name":"Border Left"},"e22f":{"name":"Border Outer"},"e230":{"name":"Border Right"},"e231":{"name":"Border Style"},"e232":{"name":"Border Top"},"e233":{"name":"Border Vertical"},"e06b":{"name":"Branding Watermark"},"e3a6":{"name":"Brightness 1"},"e3a7":{"name":"Brightness 2"},"e3a8":{"name":"Brightness 3"},"e3a9":{"name":"Brightness 4"},"e3aa":{"name":"Brightness 5"},"e3ab":{"name":"Brightness 6"},"e3ac":{"name":"Brightness 7"},"e1ab":{"name":"Brightness Auto"},"e1ac":{"name":"Brightness High"},"e1ad":{"name":"Brightness Low"},"e1ae":{"name":"Brightness Medium"},"e3ad":{"name":"Broken Image"},"e3ae":{"name":"Brush"},"e6dd":{"name":"Bubble Chart"},"e868":{"name":"Bug Report"},"e869":{"name":"Build"},"e43c":{"name":"Burst Mode"},"e0af":{"name":"Business"},"eb3f":{"name":"Business Center"},"e86a":{"name":"Cached"},"e7e9":{"name":"Cake"},"e0b0":{"name":"Call"},"e0b1":{"name":"Call End"},"e0b2":{"name":"Call Made"},"e0b3":{"name":"Call Merge"},"e0b4":{"name":"Call Missed"},"e0e4":{"name":"Call Missed Outgoing"},"e0b5":{"name":"Call Received"},"e0b6":{"name":"Call Split"},"e06c":{"name":"Call To Action"},"e3af":{"name":"Camera"},"e3b0":{"name":"Camera Alt"},"e8fc":{"name":"Camera Enhance"},"e3b1":{"name":"Camera Front"},"e3b2":{"name":"Camera Rear"},"e3b3":{"name":"Camera Roll"},"e5c9":{"name":"Cancel"},"e8f6":{"name":"Card Giftcard"},"e8f7":{"name":"Card Membership"},"e8f8":{"name":"Card Travel"},"eb40":{"name":"Casino"},"e307":{"name":"Cast"},"e308":{"name":"Cast Connected"},"e3b4":{"name":"Center Focus Strong"},"e3b5":{"name":"Center Focus Weak"},"e86b":{"name":"Change History"},"e0b7":{"name":"Chat"},"e0ca":{"name":"Chat Bubble"},"e0cb":{"name":"Chat Bubble Outline"},"e5ca":{"name":"Check"},"e834":{"name":"Check Box"},"e835":{"name":"Check Box Outline Blank"},"e86c":{"name":"Check Circle"},"e5cb":{"name":"Chevron Left"},"e5cc":{"name":"Chevron Right"},"eb41":{"name":"Child Care"},"eb42":{"name":"Child Friendly"},"e86d":{"name":"Chrome Reader Mode"},"e86e":{"name":"Class"},"e14c":{"name":"Clear"},"e0b8":{"name":"Clear All"},"e5cd":{"name":"Close"},"e01c":{"name":"Closed Caption"},"e2bd":{"name":"Cloud"},"e2be":{"name":"Cloud Circle"},"e2bf":{"name":"Cloud Done"},"e2c0":{"name":"Cloud Download"},"e2c1":{"name":"Cloud Off"},"e2c2":{"name":"Cloud Queue"},"e2c3":{"name":"Cloud Upload"},"e86f":{"name":"Code"},"e3b6":{"name":"Collections"},"e431":{"name":"Collections Bookmark"},"e3b7":{"name":"Color Lens"},"e3b8":{"name":"Colorize"},"e0b9":{"name":"Comment"},"e3b9":{"name":"Compare"},"e915":{"name":"Compare Arrows"},"e30a":{"name":"Computer"},"e638":{"name":"Confirmation Number"},"e0d0":{"name":"Contact Mail"},"e0cf":{"name":"Contact Phone"},"e0ba":{"name":"Contacts"},"e14d":{"name":"Content Copy"},"e14e":{"name":"Content Cut"},"e14f":{"name":"Content Paste"},"e3ba":{"name":"Control Point"},"e3bb":{"name":"Control Point Duplicate"},"e90c":{"name":"Copyright"},"e150":{"name":"Create"},"e2cc":{"name":"Create New Folder"},"e870":{"name":"Credit Card"},"e3be":{"name":"Crop"},"e3bc":{"name":"Crop 16 9"},"e3bd":{"name":"Crop 3 2"},"e3bf":{"name":"Crop 5 4"},"e3c0":{"name":"Crop 7 5"},"e3c1":{"name":"Crop Din"},"e3c2":{"name":"Crop Free"},"e3c3":{"name":"Crop Landscape"},"e3c4":{"name":"Crop Original"},"e3c5":{"name":"Crop Portrait"},"e437":{"name":"Crop Rotate"},"e3c6":{"name":"Crop Square"},"e871":{"name":"Dashboard"},"e1af":{"name":"Data Usage"},"e916":{"name":"Date Range"},"e3c7":{"name":"Dehaze"},"e872":{"name":"Delete"},"e92b":{"name":"Delete Forever"},"e16c":{"name":"Delete Sweep"},"e873":{"name":"Description"},"e30b":{"name":"Desktop Mac"},"e30c":{"name":"Desktop Windows"},"e3c8":{"name":"Details"},"e30d":{"name":"Developer Board"},"e1b0":{"name":"Developer Mode"},"e335":{"name":"Device Hub"},"e1b1":{"name":"Devices"},"e337":{"name":"Devices Other"},"e0bb":{"name":"Dialer Sip"},"e0bc":{"name":"Dialpad"},"e52e":{"name":"Directions"},"e52f":{"name":"Directions Bike"},"e532":{"name":"Directions Boat"},"e530":{"name":"Directions Bus"},"e531":{"name":"Directions Car"},"e534":{"name":"Directions Railway"},"e566":{"name":"Directions Run"},"e533":{"name":"Directions Subway"},"e535":{"name":"Directions Transit"},"e536":{"name":"Directions Walk"},"e610":{"name":"Disc Full"},"e875":{"name":"Dns"},"e612":{"name":"Do Not Disturb"},"e611":{"name":"Do Not Disturb Alt"},"e643":{"name":"Do Not Disturb Off"},"e644":{"name":"Do Not Disturb On"},"e30e":{"name":"Dock"},"e7ee":{"name":"Domain"},"e876":{"name":"Done"},"e877":{"name":"Done All"},"e917":{"name":"Donut Large"},"e918":{"name":"Donut Small"},"e151":{"name":"Drafts"},"e25d":{"name":"Drag Handle"},"e613":{"name":"Drive Eta"},"e1b2":{"name":"Dvr"},"e3c9":{"name":"Edit"},"e568":{"name":"Edit Location"},"e8fb":{"name":"Eject"},"e0be":{"name":"Email"},"e63f":{"name":"Enhanced Encryption"},"e01d":{"name":"Equalizer"},"e000":{"name":"Error"},"e001":{"name":"Error Outline"},"e926":{"name":"Euro Symbol"},"e56d":{"name":"Ev Station"},"e878":{"name":"Event"},"e614":{"name":"Event Available"},"e615":{"name":"Event Busy"},"e616":{"name":"Event Note"},"e903":{"name":"Event Seat"},"e879":{"name":"Exit To App"},"e5ce":{"name":"Expand Less"},"e5cf":{"name":"Expand More"},"e01e":{"name":"Explicit"},"e87a":{"name":"Explore"},"e3ca":{"name":"Exposure"},"e3cb":{"name":"Exposure Neg 1"},"e3cc":{"name":"Exposure Neg 2"},"e3cd":{"name":"Exposure Plus 1"},"e3ce":{"name":"Exposure Plus 2"},"e3cf":{"name":"Exposure Zero"},"e87b":{"name":"Extension"},"e87c":{"name":"Face"},"e01f":{"name":"Fast Forward"},"e020":{"name":"Fast Rewind"},"e87d":{"name":"Favorite"},"e87e":{"name":"Favorite Border"},"e06d":{"name":"Featured Play List"},"e06e":{"name":"Featured Video"},"e87f":{"name":"Feedback"},"e05d":{"name":"Fiber Dvr"},"e061":{"name":"Fiber Manual Record"},"e05e":{"name":"Fiber New"},"e06a":{"name":"Fiber Pin"},"e062":{"name":"Fiber Smart Record"},"e2c4":{"name":"File Download"},"e2c6":{"name":"File Upload"},"e3d3":{"name":"Filter"},"e3d0":{"name":"Filter 1"},"e3d1":{"name":"Filter 2"},"e3d2":{"name":"Filter 3"},"e3d4":{"name":"Filter 4"},"e3d5":{"name":"Filter 5"},"e3d6":{"name":"Filter 6"},"e3d7":{"name":"Filter 7"},"e3d8":{"name":"Filter 8"},"e3d9":{"name":"Filter 9"},"e3da":{"name":"Filter 9 Plus"},"e3db":{"name":"Filter B And W"},"e3dc":{"name":"Filter Center Focus"},"e3dd":{"name":"Filter Drama"},"e3de":{"name":"Filter Frames"},"e3df":{"name":"Filter Hdr"},"e152":{"name":"Filter List"},"e3e0":{"name":"Filter None"},"e3e2":{"name":"Filter Tilt Shift"},"e3e3":{"name":"Filter Vintage"},"e880":{"name":"Find In Page"},"e881":{"name":"Find Replace"},"e90d":{"name":"Fingerprint"},"e5dc":{"name":"First Page"},"eb43":{"name":"Fitness Center"},"e153":{"name":"Flag"},"e3e4":{"name":"Flare"},"e3e5":{"name":"Flash Auto"},"e3e6":{"name":"Flash Off"},"e3e7":{"name":"Flash On"},"e539":{"name":"Flight"},"e904":{"name":"Flight Land"},"e905":{"name":"Flight Takeoff"},"e3e8":{"name":"Flip"},"e882":{"name":"Flip To Back"},"e883":{"name":"Flip To Front"},"e2c7":{"name":"Folder"},"e2c8":{"name":"Folder Open"},"e2c9":{"name":"Folder Shared"},"e617":{"name":"Folder Special"},"e167":{"name":"Font Download"},"e234":{"name":"Format Align Center"},"e235":{"name":"Format Align Justify"},"e236":{"name":"Format Align Left"},"e237":{"name":"Format Align Right"},"e238":{"name":"Format Bold"},"e239":{"name":"Format Clear"},"e23a":{"name":"Format Color Fill"},"e23b":{"name":"Format Color Reset"},"e23c":{"name":"Format Color Text"},"e23d":{"name":"Format Indent Decrease"},"e23e":{"name":"Format Indent Increase"},"e23f":{"name":"Format Italic"},"e240":{"name":"Format Line Spacing"},"e241":{"name":"Format List Bulleted"},"e242":{"name":"Format List Numbered"},"e243":{"name":"Format Paint"},"e244":{"name":"Format Quote"},"e25e":{"name":"Format Shapes"},"e245":{"name":"Format Size"},"e246":{"name":"Format Strikethrough"},"e247":{"name":"Format Textdirection L To R"},"e248":{"name":"Format Textdirection R To L"},"e249":{"name":"Format Underlined"},"e0bf":{"name":"Forum"},"e154":{"name":"Forward"},"e056":{"name":"Forward 10"},"e057":{"name":"Forward 30"},"e058":{"name":"Forward 5"},"eb44":{"name":"Free Breakfast"},"e5d0":{"name":"Fullscreen"},"e5d1":{"name":"Fullscreen Exit"},"e24a":{"name":"Functions"},"e927":{"name":"G Translate"},"e30f":{"name":"Gamepad"},"e021":{"name":"Games"},"e90e":{"name":"Gavel"},"e155":{"name":"Gesture"},"e884":{"name":"Get App"},"e908":{"name":"Gif"},"eb45":{"name":"Golf Course"},"e1b3":{"name":"Gps Fixed"},"e1b4":{"name":"Gps Not Fixed"},"e1b5":{"name":"Gps Off"},"e885":{"name":"Grade"},"e3e9":{"name":"Gradient"},"e3ea":{"name":"Grain"},"e1b8":{"name":"Graphic Eq"},"e3eb":{"name":"Grid Off"},"e3ec":{"name":"Grid On"},"e7ef":{"name":"Group"},"e7f0":{"name":"Group Add"},"e886":{"name":"Group Work"},"e052":{"name":"Hd"},"e3ed":{"name":"Hdr Off"},"e3ee":{"name":"Hdr On"},"e3f1":{"name":"Hdr Strong"},"e3f2":{"name":"Hdr Weak"},"e310":{"name":"Headset"},"e311":{"name":"Headset Mic"},"e3f3":{"name":"Healing"},"e023":{"name":"Hearing"},"e887":{"name":"Help"},"e8fd":{"name":"Help Outline"},"e024":{"name":"High Quality"},"e25f":{"name":"Highlight"},"e888":{"name":"Highlight Off"},"e889":{"name":"History"},"e88a":{"name":"Home"},"eb46":{"name":"Hot Tub"},"e53a":{"name":"Hotel"},"e88b":{"name":"Hourglass Empty"},"e88c":{"name":"Hourglass Full"},"e902":{"name":"Http"},"e88d":{"name":"Https"},"e3f4":{"name":"Image"},"e3f5":{"name":"Image Aspect Ratio"},"e0e0":{"name":"Import Contacts"},"e0c3":{"name":"Import Export"},"e912":{"name":"Important Devices"},"e156":{"name":"Inbox"},"e909":{"name":"Indeterminate Check Box"},"e88e":{"name":"Info"},"e88f":{"name":"Info Outline"},"e890":{"name":"Input"},"e24b":{"name":"Insert Chart"},"e24c":{"name":"Insert Comment"},"e24d":{"name":"Insert Drive File"},"e24e":{"name":"Insert Emoticon"},"e24f":{"name":"Insert Invitation"},"e250":{"name":"Insert Link"},"e251":{"name":"Insert Photo"},"e891":{"name":"Invert Colors"},"e0c4":{"name":"Invert Colors Off"},"e3f6":{"name":"Iso"},"e312":{"name":"Keyboard"},"e313":{"name":"Keyboard Arrow Down"},"e314":{"name":"Keyboard Arrow Left"},"e315":{"name":"Keyboard Arrow Right"},"e316":{"name":"Keyboard Arrow Up"},"e317":{"name":"Keyboard Backspace"},"e318":{"name":"Keyboard Capslock"},"e31a":{"name":"Keyboard Hide"},"e31b":{"name":"Keyboard Return"},"e31c":{"name":"Keyboard Tab"},"e31d":{"name":"Keyboard Voice"},"eb47":{"name":"Kitchen"},"e892":{"name":"Label"},"e893":{"name":"Label Outline"},"e3f7":{"name":"Landscape"},"e894":{"name":"Language"},"e31e":{"name":"Laptop"},"e31f":{"name":"Laptop Chromebook"},"e320":{"name":"Laptop Mac"},"e321":{"name":"Laptop Windows"},"e5dd":{"name":"Last Page"},"e895":{"name":"Launch"},"e53b":{"name":"Layers"},"e53c":{"name":"Layers Clear"},"e3f8":{"name":"Leak Add"},"e3f9":{"name":"Leak Remove"},"e3fa":{"name":"Lens"},"e02e":{"name":"Library Add"},"e02f":{"name":"Library Books"},"e030":{"name":"Library Music"},"e90f":{"name":"Lightbulb Outline"},"e919":{"name":"Line Style"},"e91a":{"name":"Line Weight"},"e260":{"name":"Linear Scale"},"e157":{"name":"Link"},"e438":{"name":"Linked Camera"},"e896":{"name":"List"},"e0c6":{"name":"Live Help"},"e639":{"name":"Live Tv"},"e53f":{"name":"Local Activity"},"e53d":{"name":"Local Airport"},"e53e":{"name":"Local Atm"},"e540":{"name":"Local Bar"},"e541":{"name":"Local Cafe"},"e542":{"name":"Local Car Wash"},"e543":{"name":"Local Convenience Store"},"e556":{"name":"Local Dining"},"e544":{"name":"Local Drink"},"e545":{"name":"Local Florist"},"e546":{"name":"Local Gas Station"},"e547":{"name":"Local Grocery Store"},"e548":{"name":"Local Hospital"},"e549":{"name":"Local Hotel"},"e54a":{"name":"Local Laundry Service"},"e54b":{"name":"Local Library"},"e54c":{"name":"Local Mall"},"e54d":{"name":"Local Movies"},"e54e":{"name":"Local Offer"},"e54f":{"name":"Local Parking"},"e550":{"name":"Local Pharmacy"},"e551":{"name":"Local Phone"},"e552":{"name":"Local Pizza"},"e553":{"name":"Local Play"},"e554":{"name":"Local Post Office"},"e555":{"name":"Local Printshop"},"e557":{"name":"Local See"},"e558":{"name":"Local Shipping"},"e559":{"name":"Local Taxi"},"e7f1":{"name":"Location City"},"e1b6":{"name":"Location Disabled"},"e0c7":{"name":"Location Off"},"e0c8":{"name":"Location On"},"e1b7":{"name":"Location Searching"},"e897":{"name":"Lock"},"e898":{"name":"Lock Open"},"e899":{"name":"Lock Outline"},"e3fc":{"name":"Looks"},"e3fb":{"name":"Looks 3"},"e3fd":{"name":"Looks 4"},"e3fe":{"name":"Looks 5"},"e3ff":{"name":"Looks 6"},"e400":{"name":"Looks One"},"e401":{"name":"Looks Two"},"e028":{"name":"Loop"},"e402":{"name":"Loupe"},"e16d":{"name":"Low Priority"},"e89a":{"name":"Loyalty"},"e158":{"name":"Mail"},"e0e1":{"name":"Mail Outline"},"e55b":{"name":"Map"},"e159":{"name":"Markunread"},"e89b":{"name":"Markunread Mailbox"},"e322":{"name":"Memory"},"e5d2":{"name":"Menu"},"e252":{"name":"Merge Type"},"e0c9":{"name":"Message"},"e029":{"name":"Mic"},"e02a":{"name":"Mic None"},"e02b":{"name":"Mic Off"},"e618":{"name":"Mms"},"e253":{"name":"Mode Comment"},"e254":{"name":"Mode Edit"},"e263":{"name":"Monetization On"},"e25c":{"name":"Money Off"},"e403":{"name":"Monochrome Photos"},"e7f2":{"name":"Mood"},"e7f3":{"name":"Mood Bad"},"e619":{"name":"More"},"e5d3":{"name":"More Horiz"},"e5d4":{"name":"More Vert"},"e91b":{"name":"Motorcycle"},"e323":{"name":"Mouse"},"e168":{"name":"Move To Inbox"},"e02c":{"name":"Movie"},"e404":{"name":"Movie Creation"},"e43a":{"name":"Movie Filter"},"e6df":{"name":"Multiline Chart"},"e405":{"name":"Music Note"},"e063":{"name":"Music Video"},"e55c":{"name":"My Location"},"e406":{"name":"Nature"},"e407":{"name":"Nature People"},"e408":{"name":"Navigate Before"},"e409":{"name":"Navigate Next"},"e55d":{"name":"Navigation"},"e569":{"name":"Near Me"},"e1b9":{"name":"Network Cell"},"e640":{"name":"Network Check"},"e61a":{"name":"Network Locked"},"e1ba":{"name":"Network Wifi"},"e031":{"name":"New Releases"},"e16a":{"name":"Next Week"},"e1bb":{"name":"Nfc"},"e641":{"name":"No Encryption"},"e0cc":{"name":"No Sim"},"e033":{"name":"Not Interested"},"e06f":{"name":"Note"},"e89c":{"name":"Note Add"},"e7f4":{"name":"Notifications"},"e7f7":{"name":"Notifications Active"},"e7f5":{"name":"Notifications None"},"e7f6":{"name":"Notifications Off"},"e7f8":{"name":"Notifications Paused"},"e90a":{"name":"Offline Pin"},"e63a":{"name":"Ondemand Video"},"e91c":{"name":"Opacity"},"e89d":{"name":"Open In Browser"},"e89e":{"name":"Open In New"},"e89f":{"name":"Open With"},"e7f9":{"name":"Pages"},"e8a0":{"name":"Pageview"},"e40a":{"name":"Palette"},"e925":{"name":"Pan Tool"},"e40b":{"name":"Panorama"},"e40c":{"name":"Panorama Fish Eye"},"e40d":{"name":"Panorama Horizontal"},"e40e":{"name":"Panorama Vertical"},"e40f":{"name":"Panorama Wide Angle"},"e7fa":{"name":"Party Mode"},"e034":{"name":"Pause"},"e035":{"name":"Pause Circle Filled"},"e036":{"name":"Pause Circle Outline"},"e8a1":{"name":"Payment"},"e7fb":{"name":"People"},"e7fc":{"name":"People Outline"},"e8a2":{"name":"Perm Camera Mic"},"e8a3":{"name":"Perm Contact Calendar"},"e8a4":{"name":"Perm Data Setting"},"e8a5":{"name":"Perm Device Information"},"e8a6":{"name":"Perm Identity"},"e8a7":{"name":"Perm Media"},"e8a8":{"name":"Perm Phone Msg"},"e8a9":{"name":"Perm Scan Wifi"},"e7fd":{"name":"Person"},"e7fe":{"name":"Person Add"},"e7ff":{"name":"Person Outline"},"e55a":{"name":"Person Pin"},"e56a":{"name":"Person Pin Circle"},"e63b":{"name":"Personal Video"},"e91d":{"name":"Pets"},"e0cd":{"name":"Phone"},"e324":{"name":"Phone Android"},"e61b":{"name":"Phone Bluetooth Speaker"},"e61c":{"name":"Phone Forwarded"},"e61d":{"name":"Phone In Talk"},"e325":{"name":"Phone Iphone"},"e61e":{"name":"Phone Locked"},"e61f":{"name":"Phone Missed"},"e620":{"name":"Phone Paused"},"e326":{"name":"Phonelink"},"e0db":{"name":"Phonelink Erase"},"e0dc":{"name":"Phonelink Lock"},"e327":{"name":"Phonelink Off"},"e0dd":{"name":"Phonelink Ring"},"e0de":{"name":"Phonelink Setup"},"e410":{"name":"Photo"},"e411":{"name":"Photo Album"},"e412":{"name":"Photo Camera"},"e43b":{"name":"Photo Filter"},"e413":{"name":"Photo Library"},"e432":{"name":"Photo Size Select Actual"},"e433":{"name":"Photo Size Select Large"},"e434":{"name":"Photo Size Select Small"},"e415":{"name":"Picture As Pdf"},"e8aa":{"name":"Picture In Picture"},"e911":{"name":"Picture In Picture Alt"},"e6c4":{"name":"Pie Chart"},"e6c5":{"name":"Pie Chart Outlined"},"e55e":{"name":"Pin Drop"},"e55f":{"name":"Place"},"e037":{"name":"Play Arrow"},"e038":{"name":"Play Circle Filled"},"e039":{"name":"Play Circle Outline"},"e906":{"name":"Play For Work"},"e03b":{"name":"Playlist Add"},"e065":{"name":"Playlist Add Check"},"e05f":{"name":"Playlist Play"},"e800":{"name":"Plus One"},"e801":{"name":"Poll"},"e8ab":{"name":"Polymer"},"eb48":{"name":"Pool"},"e0ce":{"name":"Portable Wifi Off"},"e416":{"name":"Portrait"},"e63c":{"name":"Power"},"e336":{"name":"Power Input"},"e8ac":{"name":"Power Settings New"},"e91e":{"name":"Pregnant Woman"},"e0df":{"name":"Present To All"},"e8ad":{"name":"Print"},"e645":{"name":"Priority High"},"e80b":{"name":"Public"},"e255":{"name":"Publish"},"e8ae":{"name":"Query Builder"},"e8af":{"name":"Question Answer"},"e03c":{"name":"Queue"},"e03d":{"name":"Queue Music"},"e066":{"name":"Queue Play Next"},"e03e":{"name":"Radio"},"e837":{"name":"Radio Button Checked"},"e836":{"name":"Radio Button Unchecked"},"e560":{"name":"Rate Review"},"e8b0":{"name":"Receipt"},"e03f":{"name":"Recent Actors"},"e91f":{"name":"Record Voice Over"},"e8b1":{"name":"Redeem"},"e15a":{"name":"Redo"},"e5d5":{"name":"Refresh"},"e15b":{"name":"Remove"},"e15c":{"name":"Remove Circle"},"e15d":{"name":"Remove Circle Outline"},"e067":{"name":"Remove From Queue"},"e417":{"name":"Remove Red Eye"},"e928":{"name":"Remove Shopping Cart"},"e8fe":{"name":"Reorder"},"e040":{"name":"Repeat"},"e041":{"name":"Repeat One"},"e042":{"name":"Replay"},"e059":{"name":"Replay 10"},"e05a":{"name":"Replay 30"},"e05b":{"name":"Replay 5"},"e15e":{"name":"Reply"},"e15f":{"name":"Reply All"},"e160":{"name":"Report"},"e8b2":{"name":"Report Problem"},"e56c":{"name":"Restaurant"},"e561":{"name":"Restaurant Menu"},"e8b3":{"name":"Restore"},"e929":{"name":"Restore Page"},"e0d1":{"name":"Ring Volume"},"e8b4":{"name":"Room"},"eb49":{"name":"Room Service"},"e418":{"name":"Rotate 90 Degrees Ccw"},"e419":{"name":"Rotate Left"},"e41a":{"name":"Rotate Right"},"e920":{"name":"Rounded Corner"},"e328":{"name":"Router"},"e921":{"name":"Rowing"},"e0e5":{"name":"Rss Feed"},"e642":{"name":"Rv Hookup"},"e562":{"name":"Satellite"},"e161":{"name":"Save"},"e329":{"name":"Scanner"},"e8b5":{"name":"Schedule"},"e80c":{"name":"School"},"e1be":{"name":"Screen Lock Landscape"},"e1bf":{"name":"Screen Lock Portrait"},"e1c0":{"name":"Screen Lock Rotation"},"e1c1":{"name":"Screen Rotation"},"e0e2":{"name":"Screen Share"},"e623":{"name":"Sd Card"},"e1c2":{"name":"Sd Storage"},"e8b6":{"name":"Search"},"e32a":{"name":"Security"},"e162":{"name":"Select All"},"e163":{"name":"Send"},"e811":{"name":"Sentiment Dissatisfied"},"e812":{"name":"Sentiment Neutral"},"e813":{"name":"Sentiment Satisfied"},"e814":{"name":"Sentiment Very Dissatisfied"},"e815":{"name":"Sentiment Very Satisfied"},"e8b8":{"name":"Settings"},"e8b9":{"name":"Settings Applications"},"e8ba":{"name":"Settings Backup Restore"},"e8bb":{"name":"Settings Bluetooth"},"e8bd":{"name":"Settings Brightness"},"e8bc":{"name":"Settings Cell"},"e8be":{"name":"Settings Ethernet"},"e8bf":{"name":"Settings Input Antenna"},"e8c0":{"name":"Settings Input Component"},"e8c1":{"name":"Settings Input Composite"},"e8c2":{"name":"Settings Input Hdmi"},"e8c3":{"name":"Settings Input Svideo"},"e8c4":{"name":"Settings Overscan"},"e8c5":{"name":"Settings Phone"},"e8c6":{"name":"Settings Power"},"e8c7":{"name":"Settings Remote"},"e1c3":{"name":"Settings System Daydream"},"e8c8":{"name":"Settings Voice"},"e80d":{"name":"Share"},"e8c9":{"name":"Shop"},"e8ca":{"name":"Shop Two"},"e8cb":{"name":"Shopping Basket"},"e8cc":{"name":"Shopping Cart"},"e261":{"name":"Short Text"},"e6e1":{"name":"Show Chart"},"e043":{"name":"Shuffle"},"e1c8":{"name":"Signal Cellular 4 Bar"},"e1cd":{"name":"Signal Cellular Connected No Internet 4 Bar"},"e1ce":{"name":"Signal Cellular No Sim"},"e1cf":{"name":"Signal Cellular Null"},"e1d0":{"name":"Signal Cellular Off"},"e1d8":{"name":"Signal Wifi 4 Bar"},"e1d9":{"name":"Signal Wifi 4 Bar Lock"},"e1da":{"name":"Signal Wifi Off"},"e32b":{"name":"Sim Card"},"e624":{"name":"Sim Card Alert"},"e044":{"name":"Skip Next"},"e045":{"name":"Skip Previous"},"e41b":{"name":"Slideshow"},"e068":{"name":"Slow Motion Video"},"e32c":{"name":"Smartphone"},"eb4a":{"name":"Smoke Free"},"eb4b":{"name":"Smoking Rooms"},"e625":{"name":"Sms"},"e626":{"name":"Sms Failed"},"e046":{"name":"Snooze"},"e164":{"name":"Sort"},"e053":{"name":"Sort By Alpha"},"eb4c":{"name":"Spa"},"e256":{"name":"Space Bar"},"e32d":{"name":"Speaker"},"e32e":{"name":"Speaker Group"},"e8cd":{"name":"Speaker Notes"},"e92a":{"name":"Speaker Notes Off"},"e0d2":{"name":"Speaker Phone"},"e8ce":{"name":"Spellcheck"},"e838":{"name":"Star"},"e83a":{"name":"Star Border"},"e839":{"name":"Star Half"},"e8d0":{"name":"Stars"},"e0d3":{"name":"Stay Current Landscape"},"e0d4":{"name":"Stay Current Portrait"},"e0d5":{"name":"Stay Primary Landscape"},"e0d6":{"name":"Stay Primary Portrait"},"e047":{"name":"Stop"},"e0e3":{"name":"Stop Screen Share"},"e1db":{"name":"Storage"},"e8d1":{"name":"Store"},"e563":{"name":"Store Mall Directory"},"e41c":{"name":"Straighten"},"e56e":{"name":"Streetview"},"e257":{"name":"Strikethrough S"},"e41d":{"name":"Style"},"e5d9":{"name":"Subdirectory Arrow Left"},"e5da":{"name":"Subdirectory Arrow Right"},"e8d2":{"name":"Subject"},"e064":{"name":"Subscriptions"},"e048":{"name":"Subtitles"},"e56f":{"name":"Subway"},"e8d3":{"name":"Supervisor Account"},"e049":{"name":"Surround Sound"},"e0d7":{"name":"Swap Calls"},"e8d4":{"name":"Swap Horiz"},"e8d5":{"name":"Swap Vert"},"e8d6":{"name":"Swap Vertical Circle"},"e41e":{"name":"Switch Camera"},"e41f":{"name":"Switch Video"},"e627":{"name":"Sync"},"e628":{"name":"Sync Disabled"},"e629":{"name":"Sync Problem"},"e62a":{"name":"System Update"},"e8d7":{"name":"System Update Alt"},"e8d8":{"name":"Tab"},"e8d9":{"name":"Tab Unselected"},"e32f":{"name":"Tablet"},"e330":{"name":"Tablet Android"},"e331":{"name":"Tablet Mac"},"e420":{"name":"Tag Faces"},"e62b":{"name":"Tap And Play"},"e564":{"name":"Terrain"},"e262":{"name":"Text Fields"},"e165":{"name":"Text Format"},"e0d8":{"name":"Textsms"},"e421":{"name":"Texture"},"e8da":{"name":"Theaters"},"e8db":{"name":"Thumb Down"},"e8dc":{"name":"Thumb Up"},"e8dd":{"name":"Thumbs Up Down"},"e62c":{"name":"Time To Leave"},"e422":{"name":"Timelapse"},"e922":{"name":"Timeline"},"e425":{"name":"Timer"},"e423":{"name":"Timer 10"},"e424":{"name":"Timer 3"},"e426":{"name":"Timer Off"},"e264":{"name":"Title"},"e8de":{"name":"Toc"},"e8df":{"name":"Today"},"e8e0":{"name":"Toll"},"e427":{"name":"Tonality"},"e913":{"name":"Touch App"},"e332":{"name":"Toys"},"e8e1":{"name":"Track Changes"},"e565":{"name":"Traffic"},"e570":{"name":"Train"},"e571":{"name":"Tram"},"e572":{"name":"Transfer Within A Station"},"e428":{"name":"Transform"},"e8e2":{"name":"Translate"},"e8e3":{"name":"Trending Down"},"e8e4":{"name":"Trending Flat"},"e8e5":{"name":"Trending Up"},"e429":{"name":"Tune"},"e8e6":{"name":"Turned In"},"e8e7":{"name":"Turned In Not"},"e333":{"name":"Tv"},"e169":{"name":"Unarchive"},"e166":{"name":"Undo"},"e5d6":{"name":"Unfold Less"},"e5d7":{"name":"Unfold More"},"e923":{"name":"Update"},"e1e0":{"name":"Usb"},"e8e8":{"name":"Verified User"},"e258":{"name":"Vertical Align Bottom"},"e259":{"name":"Vertical Align Center"},"e25a":{"name":"Vertical Align Top"},"e62d":{"name":"Vibration"},"e070":{"name":"Video Call"},"e071":{"name":"Video Label"},"e04a":{"name":"Video Library"},"e04b":{"name":"Videocam"},"e04c":{"name":"Videocam Off"},"e338":{"name":"Videogame Asset"},"e8e9":{"name":"View Agenda"},"e8ea":{"name":"View Array"},"e8eb":{"name":"View Carousel"},"e8ec":{"name":"View Column"},"e42a":{"name":"View Comfy"},"e42b":{"name":"View Compact"},"e8ed":{"name":"View Day"},"e8ee":{"name":"View Headline"},"e8ef":{"name":"View List"},"e8f0":{"name":"View Module"},"e8f1":{"name":"View Quilt"},"e8f2":{"name":"View Stream"},"e8f3":{"name":"View Week"},"e435":{"name":"Vignette"},"e8f4":{"name":"Visibility"},"e8f5":{"name":"Visibility Off"},"e62e":{"name":"Voice Chat"},"e0d9":{"name":"Voicemail"},"e04d":{"name":"Volume Down"},"e04e":{"name":"Volume Mute"},"e04f":{"name":"Volume Off"},"e050":{"name":"Volume Up"},"e0da":{"name":"Vpn Key"},"e62f":{"name":"Vpn Lock"},"e1bc":{"name":"Wallpaper"},"e002":{"name":"Warning"},"e334":{"name":"Watch"},"e924":{"name":"Watch Later"},"e42c":{"name":"Wb Auto"},"e42d":{"name":"Wb Cloudy"},"e42e":{"name":"Wb Incandescent"},"e436":{"name":"Wb Iridescent"},"e430":{"name":"Wb Sunny"},"e63d":{"name":"Wc"},"e051":{"name":"Web"},"e069":{"name":"Web Asset"},"e16b":{"name":"Weekend"},"e80e":{"name":"Whatshot"},"e1bd":{"name":"Widgets"},"e63e":{"name":"Wifi"},"e1e1":{"name":"Wifi Lock"},"e1e2":{"name":"Wifi Tethering"},"e8f9":{"name":"Work"},"e25b":{"name":"Wrap Text"},"e8fa":{"name":"Youtube Searched For"},"e8ff":{"name":"Zoom In"},"e900":{"name":"Zoom Out"},"e56b":{"name":"Zoom Out Map"}}} \ No newline at end of file diff --git a/static/mdui/icons/material-icons/MaterialIcons-Regular.woff b/static/mdui/icons/material-icons/MaterialIcons-Regular.woff new file mode 100644 index 0000000..b648a3e Binary files /dev/null and b/static/mdui/icons/material-icons/MaterialIcons-Regular.woff differ diff --git a/static/mdui/icons/material-icons/MaterialIcons-Regular.woff2 b/static/mdui/icons/material-icons/MaterialIcons-Regular.woff2 new file mode 100644 index 0000000..9fa2112 Binary files /dev/null and b/static/mdui/icons/material-icons/MaterialIcons-Regular.woff2 differ diff --git a/static/mdui/js/mdui.esm.js b/static/mdui/js/mdui.esm.js new file mode 100644 index 0000000..68a7f70 --- /dev/null +++ b/static/mdui/js/mdui.esm.js @@ -0,0 +1,5976 @@ +/*! + * mdui 1.0.1 (https://mdui.org) + * Copyright 2016-2020 zdhxiong + * Licensed under MIT + */ +function isFunction(target) { + return typeof target === 'function'; +} +function isString(target) { + return typeof target === 'string'; +} +function isNumber(target) { + return typeof target === 'number'; +} +function isBoolean(target) { + return typeof target === 'boolean'; +} +function isUndefined(target) { + return typeof target === 'undefined'; +} +function isNull(target) { + return target === null; +} +function isWindow(target) { + return target instanceof Window; +} +function isDocument(target) { + return target instanceof Document; +} +function isElement(target) { + return target instanceof Element; +} +function isNode(target) { + return target instanceof Node; +} +/** + * 是否是 IE 浏览器 + */ +function isIE() { + // @ts-ignore + return !!window.document.documentMode; +} +function isArrayLike(target) { + if (isFunction(target) || isWindow(target)) { + return false; + } + return isNumber(target.length); +} +function isObjectLike(target) { + return typeof target === 'object' && target !== null; +} +function toElement(target) { + return isDocument(target) ? target.documentElement : target; +} +/** + * 把用 - 分隔的字符串转为驼峰(如 box-sizing 转换为 boxSizing) + * @param string + */ +function toCamelCase(string) { + return string + .replace(/^-ms-/, 'ms-') + .replace(/-([a-z])/g, (_, letter) => letter.toUpperCase()); +} +/** + * 把驼峰法转为用 - 分隔的字符串(如 boxSizing 转换为 box-sizing) + * @param string + */ +function toKebabCase(string) { + return string.replace(/[A-Z]/g, (replacer) => '-' + replacer.toLowerCase()); +} +/** + * 获取元素的样式值 + * @param element + * @param name + */ +function getComputedStyleValue(element, name) { + return window.getComputedStyle(element).getPropertyValue(toKebabCase(name)); +} +/** + * 检查元素的 box-sizing 是否是 border-box + * @param element + */ +function isBorderBox(element) { + return getComputedStyleValue(element, 'box-sizing') === 'border-box'; +} +/** + * 获取元素的 padding, border, margin 宽度(两侧宽度的和,单位为px) + * @param element + * @param direction + * @param extra + */ +function getExtraWidth(element, direction, extra) { + const position = direction === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; + return [0, 1].reduce((prev, _, index) => { + let prop = extra + position[index]; + if (extra === 'border') { + prop += 'Width'; + } + return prev + parseFloat(getComputedStyleValue(element, prop) || '0'); + }, 0); +} +/** + * 获取元素的样式值,对 width 和 height 进行过处理 + * @param element + * @param name + */ +function getStyle(element, name) { + // width、height 属性使用 getComputedStyle 得到的值不准确,需要使用 getBoundingClientRect 获取 + if (name === 'width' || name === 'height') { + const valueNumber = element.getBoundingClientRect()[name]; + if (isBorderBox(element)) { + return `${valueNumber}px`; + } + return `${valueNumber - + getExtraWidth(element, name, 'border') - + getExtraWidth(element, name, 'padding')}px`; + } + return getComputedStyleValue(element, name); +} +/** + * 获取子节点组成的数组 + * @param target + * @param parent + */ +function getChildNodesArray(target, parent) { + const tempParent = document.createElement(parent); + tempParent.innerHTML = target; + return [].slice.call(tempParent.childNodes); +} +/** + * 始终返回 false 的函数 + */ +function returnFalse() { + return false; +} +/** + * 数值单位的 CSS 属性 + */ +const cssNumber = [ + 'animationIterationCount', + 'columnCount', + 'fillOpacity', + 'flexGrow', + 'flexShrink', + 'fontWeight', + 'gridArea', + 'gridColumn', + 'gridColumnEnd', + 'gridColumnStart', + 'gridRow', + 'gridRowEnd', + 'gridRowStart', + 'lineHeight', + 'opacity', + 'order', + 'orphans', + 'widows', + 'zIndex', + 'zoom', +]; + +function each(target, callback) { + if (isArrayLike(target)) { + for (let i = 0; i < target.length; i += 1) { + if (callback.call(target[i], i, target[i]) === false) { + return target; + } + } + } + else { + const keys = Object.keys(target); + for (let i = 0; i < keys.length; i += 1) { + if (callback.call(target[keys[i]], keys[i], target[keys[i]]) === false) { + return target; + } + } + } + return target; +} + +/** + * 为了使用模块扩充,这里不能使用默认导出 + */ +class JQ { + constructor(arr) { + this.length = 0; + if (!arr) { + return this; + } + each(arr, (i, item) => { + // @ts-ignore + this[i] = item; + }); + this.length = arr.length; + return this; + } +} + +function get$() { + const $ = function (selector) { + if (!selector) { + return new JQ(); + } + // JQ + if (selector instanceof JQ) { + return selector; + } + // function + if (isFunction(selector)) { + if (/complete|loaded|interactive/.test(document.readyState) && + document.body) { + selector.call(document, $); + } + else { + document.addEventListener('DOMContentLoaded', () => selector.call(document, $), false); + } + return new JQ([document]); + } + // String + if (isString(selector)) { + const html = selector.trim(); + // 根据 HTML 字符串创建 JQ 对象 + if (html[0] === '<' && html[html.length - 1] === '>') { + let toCreate = 'div'; + const tags = { + li: 'ul', + tr: 'tbody', + td: 'tr', + th: 'tr', + tbody: 'table', + option: 'select', + }; + each(tags, (childTag, parentTag) => { + if (html.indexOf(`<${childTag}`) === 0) { + toCreate = parentTag; + return false; + } + return; + }); + return new JQ(getChildNodesArray(html, toCreate)); + } + // 根据 CSS 选择器创建 JQ 对象 + const isIdSelector = selector[0] === '#' && !selector.match(/[ .<>:~]/); + if (!isIdSelector) { + return new JQ(document.querySelectorAll(selector)); + } + const element = document.getElementById(selector.slice(1)); + if (element) { + return new JQ([element]); + } + return new JQ(); + } + if (isArrayLike(selector) && !isNode(selector)) { + return new JQ(selector); + } + return new JQ([selector]); + }; + $.fn = JQ.prototype; + return $; +} +const $ = get$(); + +// 避免页面加载完后直接执行css动画 +// https://css-tricks.com/transitions-only-after-page-load/ +setTimeout(() => $('body').addClass('mdui-loaded')); +const mdui = { + $: $, +}; + +$.fn.each = function (callback) { + return each(this, callback); +}; + +/** + * 检查 container 元素内是否包含 contains 元素 + * @param container 父元素 + * @param contains 子元素 + * @example +```js +contains( document, document.body ); // true +contains( document.getElementById('test'), document ); // false +contains( $('.container').get(0), $('.contains').get(0) ); // false +``` + */ +function contains(container, contains) { + return container !== contains && toElement(container).contains(contains); +} + +/** + * 把第二个数组的元素追加到第一个数组中,并返回合并后的数组 + * @param first 第一个数组 + * @param second 该数组的元素将被追加到第一个数组中 + * @example +```js +merge( [ 0, 1, 2 ], [ 2, 3, 4 ] ) +// [ 0, 1, 2, 2, 3, 4 ] +``` + */ +function merge(first, second) { + each(second, (_, value) => { + first.push(value); + }); + return first; +} + +$.fn.get = function (index) { + return index === undefined + ? [].slice.call(this) + : this[index >= 0 ? index : index + this.length]; +}; + +$.fn.find = function (selector) { + const foundElements = []; + this.each((_, element) => { + merge(foundElements, $(element.querySelectorAll(selector)).get()); + }); + return new JQ(foundElements); +}; + +// 存储事件 +const handlers = {}; +// 元素ID +let mduiElementId = 1; +/** + * 为元素赋予一个唯一的ID + */ +function getElementId(element) { + const key = '_mduiEventId'; + // @ts-ignore + if (!element[key]) { + // @ts-ignore + element[key] = ++mduiElementId; + } + // @ts-ignore + return element[key]; +} +/** + * 解析事件名中的命名空间 + */ +function parse(type) { + const parts = type.split('.'); + return { + type: parts[0], + ns: parts.slice(1).sort().join(' '), + }; +} +/** + * 命名空间匹配规则 + */ +function matcherFor(ns) { + return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)'); +} +/** + * 获取匹配的事件 + * @param element + * @param type + * @param func + * @param selector + */ +function getHandlers(element, type, func, selector) { + const event = parse(type); + return (handlers[getElementId(element)] || []).filter((handler) => handler && + (!event.type || handler.type === event.type) && + (!event.ns || matcherFor(event.ns).test(handler.ns)) && + (!func || getElementId(handler.func) === getElementId(func)) && + (!selector || handler.selector === selector)); +} +/** + * 添加事件监听 + * @param element + * @param types + * @param func + * @param data + * @param selector + */ +function add(element, types, func, data, selector) { + const elementId = getElementId(element); + if (!handlers[elementId]) { + handlers[elementId] = []; + } + // 传入 data.useCapture 来设置 useCapture: true + let useCapture = false; + if (isObjectLike(data) && data.useCapture) { + useCapture = true; + } + types.split(' ').forEach((type) => { + if (!type) { + return; + } + const event = parse(type); + function callFn(e, elem) { + // 因为鼠标事件模拟事件的 detail 属性是只读的,因此在 e._detail 中存储参数 + const result = func.apply(elem, + // @ts-ignore + e._detail === undefined ? [e] : [e].concat(e._detail)); + if (result === false) { + e.preventDefault(); + e.stopPropagation(); + } + } + function proxyFn(e) { + // @ts-ignore + if (e._ns && !matcherFor(e._ns).test(event.ns)) { + return; + } + // @ts-ignore + e._data = data; + if (selector) { + // 事件代理 + $(element) + .find(selector) + .get() + .reverse() + .forEach((elem) => { + if (elem === e.target || + contains(elem, e.target)) { + callFn(e, elem); + } + }); + } + else { + // 不使用事件代理 + callFn(e, element); + } + } + const handler = { + type: event.type, + ns: event.ns, + func, + selector, + id: handlers[elementId].length, + proxy: proxyFn, + }; + handlers[elementId].push(handler); + element.addEventListener(handler.type, proxyFn, useCapture); + }); +} +/** + * 移除事件监听 + * @param element + * @param types + * @param func + * @param selector + */ +function remove(element, types, func, selector) { + const handlersInElement = handlers[getElementId(element)] || []; + const removeEvent = (handler) => { + delete handlersInElement[handler.id]; + element.removeEventListener(handler.type, handler.proxy, false); + }; + if (!types) { + handlersInElement.forEach((handler) => removeEvent(handler)); + } + else { + types.split(' ').forEach((type) => { + if (type) { + getHandlers(element, type, func, selector).forEach((handler) => removeEvent(handler)); + } + }); + } +} + +$.fn.trigger = function (type, extraParameters) { + const event = parse(type); + let eventObject; + const eventParams = { + bubbles: true, + cancelable: true, + }; + const isMouseEvent = ['click', 'mousedown', 'mouseup', 'mousemove'].indexOf(event.type) > -1; + if (isMouseEvent) { + // Note: MouseEvent 无法传入 detail 参数 + eventObject = new MouseEvent(event.type, eventParams); + } + else { + eventParams.detail = extraParameters; + eventObject = new CustomEvent(event.type, eventParams); + } + // @ts-ignore + eventObject._detail = extraParameters; + // @ts-ignore + eventObject._ns = event.ns; + return this.each(function () { + this.dispatchEvent(eventObject); + }); +}; + +function extend(target, object1, ...objectN) { + objectN.unshift(object1); + each(objectN, (_, object) => { + each(object, (prop, value) => { + if (!isUndefined(value)) { + target[prop] = value; + } + }); + }); + return target; +} + +/** + * 将数组或对象序列化,序列化后的字符串可作为 URL 查询字符串使用 + * + * 若传入数组,则格式必须和 serializeArray 方法的返回值一样 + * @param obj 对象或数组 + * @example +```js +param({ width: 1680, height: 1050 }); +// width=1680&height=1050 +``` + * @example +```js +param({ foo: { one: 1, two: 2 }}) +// foo[one]=1&foo[two]=2 +``` + * @example +```js +param({ids: [1, 2, 3]}) +// ids[]=1&ids[]=2&ids[]=3 +``` + * @example +```js +param([ + {"name":"name","value":"mdui"}, + {"name":"password","value":"123456"} +]) +// name=mdui&password=123456 +``` + */ +function param(obj) { + if (!isObjectLike(obj) && !Array.isArray(obj)) { + return ''; + } + const args = []; + function destructure(key, value) { + let keyTmp; + if (isObjectLike(value)) { + each(value, (i, v) => { + if (Array.isArray(value) && !isObjectLike(v)) { + keyTmp = ''; + } + else { + keyTmp = i; + } + destructure(`${key}[${keyTmp}]`, v); + }); + } + else { + if (value == null || value === '') { + keyTmp = '='; + } + else { + keyTmp = `=${encodeURIComponent(value)}`; + } + args.push(encodeURIComponent(key) + keyTmp); + } + } + if (Array.isArray(obj)) { + each(obj, function () { + destructure(this.name, this.value); + }); + } + else { + each(obj, destructure); + } + return args.join('&'); +} + +// 全局配置参数 +const globalOptions = {}; +// 全局事件名 +const ajaxEvents = { + ajaxStart: 'start.mdui.ajax', + ajaxSuccess: 'success.mdui.ajax', + ajaxError: 'error.mdui.ajax', + ajaxComplete: 'complete.mdui.ajax', +}; + +/** + * 判断此请求方法是否通过查询字符串提交参数 + * @param method 请求方法,大写 + */ +function isQueryStringData(method) { + return ['GET', 'HEAD'].indexOf(method) >= 0; +} +/** + * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ? + * @param url + * @param query + */ +function appendQuery(url, query) { + return `${url}&${query}`.replace(/[&?]{1,2}/, '?'); +} +/** + * 合并请求参数,参数优先级:options > globalOptions > defaults + * @param options + */ +function mergeOptions(options) { + // 默认参数 + const defaults = { + url: '', + method: 'GET', + data: '', + processData: true, + async: true, + cache: true, + username: '', + password: '', + headers: {}, + xhrFields: {}, + statusCode: {}, + dataType: 'text', + contentType: 'application/x-www-form-urlencoded', + timeout: 0, + global: true, + }; + // globalOptions 中的回调函数不合并 + each(globalOptions, (key, value) => { + const callbacks = [ + 'beforeSend', + 'success', + 'error', + 'complete', + 'statusCode', + ]; + // @ts-ignore + if (callbacks.indexOf(key) < 0 && !isUndefined(value)) { + defaults[key] = value; + } + }); + return extend({}, defaults, options); +} +/** + * 发送 ajax 请求 + * @param options + * @example +```js +ajax({ + method: "POST", + url: "some.php", + data: { name: "John", location: "Boston" } +}).then(function( msg ) { + alert( "Data Saved: " + msg ); +}); +``` + */ +function ajax(options) { + // 是否已取消请求 + let isCanceled = false; + // 事件参数 + const eventParams = {}; + // 参数合并 + const mergedOptions = mergeOptions(options); + let url = mergedOptions.url || window.location.toString(); + const method = mergedOptions.method.toUpperCase(); + let data = mergedOptions.data; + const processData = mergedOptions.processData; + const async = mergedOptions.async; + const cache = mergedOptions.cache; + const username = mergedOptions.username; + const password = mergedOptions.password; + const headers = mergedOptions.headers; + const xhrFields = mergedOptions.xhrFields; + const statusCode = mergedOptions.statusCode; + const dataType = mergedOptions.dataType; + const contentType = mergedOptions.contentType; + const timeout = mergedOptions.timeout; + const global = mergedOptions.global; + // 需要发送的数据 + // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换 + if (data && + (isQueryStringData(method) || processData) && + !isString(data) && + !(data instanceof ArrayBuffer) && + !(data instanceof Blob) && + !(data instanceof Document) && + !(data instanceof FormData)) { + data = param(data); + } + // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中 + if (data && isQueryStringData(method)) { + // 查询字符串拼接到 URL 中 + url = appendQuery(url, data); + data = null; + } + /** + * 触发事件和回调函数 + * @param event + * @param params + * @param callback + * @param args + */ + function trigger(event, params, callback, ...args) { + // 触发全局事件 + if (global) { + $(document).trigger(event, params); + } + // 触发 ajax 回调和事件 + let result1; + let result2; + if (callback) { + // 全局回调 + if (callback in globalOptions) { + // @ts-ignore + result1 = globalOptions[callback](...args); + } + // 自定义回调 + if (mergedOptions[callback]) { + // @ts-ignore + result2 = mergedOptions[callback](...args); + } + // beforeSend 回调返回 false 时取消 ajax 请求 + if (callback === 'beforeSend' && + (result1 === false || result2 === false)) { + isCanceled = true; + } + } + } + // XMLHttpRequest 请求 + function XHR() { + let textStatus; + return new Promise((resolve, reject) => { + // GET/HEAD 请求的缓存处理 + if (isQueryStringData(method) && !cache) { + url = appendQuery(url, `_=${Date.now()}`); + } + // 创建 XHR + const xhr = new XMLHttpRequest(); + xhr.open(method, url, async, username, password); + if (contentType || + (data && !isQueryStringData(method) && contentType !== false)) { + xhr.setRequestHeader('Content-Type', contentType); + } + // 设置 Accept + if (dataType === 'json') { + xhr.setRequestHeader('Accept', 'application/json, text/javascript'); + } + // 添加 headers + if (headers) { + each(headers, (key, value) => { + // undefined 值不发送,string 和 null 需要发送 + if (!isUndefined(value)) { + xhr.setRequestHeader(key, value + ''); // 把 null 转换成字符串 + } + }); + } + // 检查是否是跨域请求,跨域请求时不添加 X-Requested-With + const crossDomain = /^([\w-]+:)?\/\/([^/]+)/.test(url) && + RegExp.$2 !== window.location.host; + if (!crossDomain) { + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + } + if (xhrFields) { + each(xhrFields, (key, value) => { + // @ts-ignore + xhr[key] = value; + }); + } + eventParams.xhr = xhr; + eventParams.options = mergedOptions; + let xhrTimeout; + xhr.onload = function () { + if (xhrTimeout) { + clearTimeout(xhrTimeout); + } + // AJAX 返回的 HTTP 响应码是否表示成功 + const isHttpStatusSuccess = (xhr.status >= 200 && xhr.status < 300) || + xhr.status === 304 || + xhr.status === 0; + let responseData; + if (isHttpStatusSuccess) { + if (xhr.status === 204 || method === 'HEAD') { + textStatus = 'nocontent'; + } + else if (xhr.status === 304) { + textStatus = 'notmodified'; + } + else { + textStatus = 'success'; + } + if (dataType === 'json') { + try { + responseData = + method === 'HEAD' ? undefined : JSON.parse(xhr.responseText); + eventParams.data = responseData; + } + catch (err) { + textStatus = 'parsererror'; + trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus); + reject(new Error(textStatus)); + } + if (textStatus !== 'parsererror') { + trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr); + resolve(responseData); + } + } + else { + responseData = + method === 'HEAD' + ? undefined + : xhr.responseType === 'text' || xhr.responseType === '' + ? xhr.responseText + : xhr.response; + eventParams.data = responseData; + trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr); + resolve(responseData); + } + } + else { + textStatus = 'error'; + trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus); + reject(new Error(textStatus)); + } + // statusCode + each([globalOptions.statusCode, statusCode], (_, func) => { + if (func && func[xhr.status]) { + if (isHttpStatusSuccess) { + func[xhr.status](responseData, textStatus, xhr); + } + else { + func[xhr.status](xhr, textStatus); + } + } + }); + trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, textStatus); + }; + xhr.onerror = function () { + if (xhrTimeout) { + clearTimeout(xhrTimeout); + } + trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, xhr.statusText); + trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, 'error'); + reject(new Error(xhr.statusText)); + }; + xhr.onabort = function () { + let statusText = 'abort'; + if (xhrTimeout) { + statusText = 'timeout'; + clearTimeout(xhrTimeout); + } + trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, statusText); + trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, statusText); + reject(new Error(statusText)); + }; + // ajax start 回调 + trigger(ajaxEvents.ajaxStart, eventParams, 'beforeSend', xhr); + if (isCanceled) { + reject(new Error('cancel')); + return; + } + // Timeout + if (timeout > 0) { + xhrTimeout = setTimeout(() => { + xhr.abort(); + }, timeout); + } + // 发送 XHR + xhr.send(data); + }); + } + return XHR(); +} + +$.ajax = ajax; + +/** + * 为 Ajax 请求设置全局配置参数 + * @param options 键值对参数 + * @example +```js +ajaxSetup({ + dataType: 'json', + method: 'POST', +}); +``` + */ +function ajaxSetup(options) { + return extend(globalOptions, options); +} + +$.ajaxSetup = ajaxSetup; + +$.contains = contains; + +const dataNS = '_mduiElementDataStorage'; + +/** + * 在元素上设置键值对数据 + * @param element + * @param object + */ +function setObjectToElement(element, object) { + // @ts-ignore + if (!element[dataNS]) { + // @ts-ignore + element[dataNS] = {}; + } + each(object, (key, value) => { + // @ts-ignore + element[dataNS][toCamelCase(key)] = value; + }); +} +function data(element, key, value) { + // 根据键值对设置值 + // data(element, { 'key' : 'value' }) + if (isObjectLike(key)) { + setObjectToElement(element, key); + return key; + } + // 根据 key、value 设置值 + // data(element, 'key', 'value') + if (!isUndefined(value)) { + setObjectToElement(element, { [key]: value }); + return value; + } + // 获取所有值 + // data(element) + if (isUndefined(key)) { + // @ts-ignore + return element[dataNS] ? element[dataNS] : {}; + } + // 从 dataNS 中获取指定值 + // data(element, 'key') + key = toCamelCase(key); + // @ts-ignore + if (element[dataNS] && key in element[dataNS]) { + // @ts-ignore + return element[dataNS][key]; + } + return undefined; +} + +$.data = data; + +$.each = each; + +$.extend = function (...objectN) { + if (objectN.length === 1) { + each(objectN[0], (prop, value) => { + this[prop] = value; + }); + return this; + } + return extend(objectN.shift(), objectN.shift(), ...objectN); +}; + +function map(elements, callback) { + let value; + const ret = []; + each(elements, (i, element) => { + value = callback.call(window, element, i); + if (value != null) { + ret.push(value); + } + }); + return [].concat(...ret); +} + +$.map = map; + +$.merge = merge; + +$.param = param; + +/** + * 移除指定元素上存放的数据 + * @param element 存放数据的元素 + * @param name + * 数据键名 + * + * 若未指定键名,将移除元素上所有数据 + * + * 多个键名可以用空格分隔,或者用数组表示多个键名 + @example +```js +// 移除元素上键名为 name 的数据 +removeData(document.body, 'name'); +``` + * @example +```js +// 移除元素上键名为 name1 和 name2 的数据 +removeData(document.body, 'name1 name2'); +``` + * @example +```js +// 移除元素上键名为 name1 和 name2 的数据 +removeData(document.body, ['name1', 'name2']); +``` + * @example +```js +// 移除元素上所有数据 +removeData(document.body); +``` + */ +function removeData(element, name) { + // @ts-ignore + if (!element[dataNS]) { + return; + } + const remove = (nameItem) => { + nameItem = toCamelCase(nameItem); + // @ts-ignore + if (element[dataNS][nameItem]) { + // @ts-ignore + element[dataNS][nameItem] = null; + // @ts-ignore + delete element[dataNS][nameItem]; + } + }; + if (isUndefined(name)) { + // @ts-ignore + element[dataNS] = null; + // @ts-ignore + delete element[dataNS]; + // @ts-ignore + } + else if (isString(name)) { + name + .split(' ') + .filter((nameItem) => nameItem) + .forEach((nameItem) => remove(nameItem)); + } + else { + each(name, (_, nameItem) => remove(nameItem)); + } +} + +$.removeData = removeData; + +/** + * 过滤掉数组中的重复元素 + * @param arr 数组 + * @example +```js +unique([1, 2, 12, 3, 2, 1, 2, 1, 1]); +// [1, 2, 12, 3] +``` + */ +function unique(arr) { + const result = []; + each(arr, (_, val) => { + if (result.indexOf(val) === -1) { + result.push(val); + } + }); + return result; +} + +$.unique = unique; + +$.fn.add = function (selector) { + return new JQ(unique(merge(this.get(), $(selector).get()))); +}; + +each(['add', 'remove', 'toggle'], (_, name) => { + $.fn[`${name}Class`] = function (className) { + if (name === 'remove' && !arguments.length) { + return this.each((_, element) => { + element.setAttribute('class', ''); + }); + } + return this.each((i, element) => { + if (!isElement(element)) { + return; + } + const classes = (isFunction(className) + ? className.call(element, i, element.getAttribute('class') || '') + : className) + .split(' ') + .filter((name) => name); + each(classes, (_, cls) => { + element.classList[name](cls); + }); + }); + }; +}); + +each(['insertBefore', 'insertAfter'], (nameIndex, name) => { + $.fn[name] = function (target) { + const $element = nameIndex ? $(this.get().reverse()) : this; // 顺序和 jQuery 保持一致 + const $target = $(target); + const result = []; + $target.each((index, target) => { + if (!target.parentNode) { + return; + } + $element.each((_, element) => { + const newItem = index + ? element.cloneNode(true) + : element; + const existingItem = nameIndex ? target.nextSibling : target; + result.push(newItem); + target.parentNode.insertBefore(newItem, existingItem); + }); + }); + return $(nameIndex ? result.reverse() : result); + }; +}); + +/** + * 是否不是 HTML 字符串(包裹在 <> 中) + * @param target + */ +function isPlainText(target) { + return (isString(target) && (target[0] !== '<' || target[target.length - 1] !== '>')); +} +each(['before', 'after'], (nameIndex, name) => { + $.fn[name] = function (...args) { + // after 方法,多个参数需要按参数顺序添加到元素后面,所以需要将参数顺序反向处理 + if (nameIndex === 1) { + args = args.reverse(); + } + return this.each((index, element) => { + const targets = isFunction(args[0]) + ? [args[0].call(element, index, element.innerHTML)] + : args; + each(targets, (_, target) => { + let $target; + if (isPlainText(target)) { + $target = $(getChildNodesArray(target, 'div')); + } + else if (index && isElement(target)) { + $target = $(target.cloneNode(true)); + } + else { + $target = $(target); + } + $target[nameIndex ? 'insertAfter' : 'insertBefore'](element); + }); + }); + }; +}); + +$.fn.off = function (types, selector, callback) { + // types 是对象 + if (isObjectLike(types)) { + each(types, (type, fn) => { + // this.off('click', undefined, function () {}) + // this.off('click', '.box', function () {}) + this.off(type, selector, fn); + }); + return this; + } + // selector 不存在 + if (selector === false || isFunction(selector)) { + callback = selector; + selector = undefined; + // this.off('click', undefined, function () {}) + } + // callback 传入 `false`,相当于 `return false` + if (callback === false) { + callback = returnFalse; + } + return this.each(function () { + remove(this, types, callback, selector); + }); +}; + +$.fn.on = function (types, selector, data, callback, one) { + // types 可以是 type/func 对象 + if (isObjectLike(types)) { + // (types-Object, selector, data) + if (!isString(selector)) { + // (types-Object, data) + data = data || selector; + selector = undefined; + } + each(types, (type, fn) => { + // selector 和 data 都可能是 undefined + // @ts-ignore + this.on(type, selector, data, fn, one); + }); + return this; + } + if (data == null && callback == null) { + // (types, fn) + callback = selector; + data = selector = undefined; + } + else if (callback == null) { + if (isString(selector)) { + // (types, selector, fn) + callback = data; + data = undefined; + } + else { + // (types, data, fn) + callback = data; + data = selector; + selector = undefined; + } + } + if (callback === false) { + callback = returnFalse; + } + else if (!callback) { + return this; + } + // $().one() + if (one) { + // eslint-disable-next-line @typescript-eslint/no-this-alias + const _this = this; + const origCallback = callback; + callback = function (event) { + _this.off(event.type, selector, callback); + // eslint-disable-next-line prefer-rest-params + return origCallback.apply(this, arguments); + }; + } + return this.each(function () { + add(this, types, callback, data, selector); + }); +}; + +each(ajaxEvents, (name, eventName) => { + $.fn[name] = function (fn) { + return this.on(eventName, (e, params) => { + fn(e, params.xhr, params.options, params.data); + }); + }; +}); + +$.fn.map = function (callback) { + return new JQ(map(this, (element, i) => callback.call(element, i, element))); +}; + +$.fn.clone = function () { + return this.map(function () { + return this.cloneNode(true); + }); +}; + +$.fn.is = function (selector) { + let isMatched = false; + if (isFunction(selector)) { + this.each((index, element) => { + if (selector.call(element, index, element)) { + isMatched = true; + } + }); + return isMatched; + } + if (isString(selector)) { + this.each((_, element) => { + if (isDocument(element) || isWindow(element)) { + return; + } + // @ts-ignore + const matches = element.matches || element.msMatchesSelector; + if (matches.call(element, selector)) { + isMatched = true; + } + }); + return isMatched; + } + const $compareWith = $(selector); + this.each((_, element) => { + $compareWith.each((_, compare) => { + if (element === compare) { + isMatched = true; + } + }); + }); + return isMatched; +}; + +$.fn.remove = function (selector) { + return this.each((_, element) => { + if (element.parentNode && (!selector || $(element).is(selector))) { + element.parentNode.removeChild(element); + } + }); +}; + +each(['prepend', 'append'], (nameIndex, name) => { + $.fn[name] = function (...args) { + return this.each((index, element) => { + const childNodes = element.childNodes; + const childLength = childNodes.length; + const child = childLength + ? childNodes[nameIndex ? childLength - 1 : 0] + : document.createElement('div'); + if (!childLength) { + element.appendChild(child); + } + let contents = isFunction(args[0]) + ? [args[0].call(element, index, element.innerHTML)] + : args; + // 如果不是字符串,则仅第一个元素使用原始元素,其他的都克隆自第一个元素 + if (index) { + contents = contents.map((content) => { + return isString(content) ? content : $(content).clone(); + }); + } + $(child)[nameIndex ? 'after' : 'before'](...contents); + if (!childLength) { + element.removeChild(child); + } + }); + }; +}); + +each(['appendTo', 'prependTo'], (nameIndex, name) => { + $.fn[name] = function (target) { + const extraChilds = []; + const $target = $(target).map((_, element) => { + const childNodes = element.childNodes; + const childLength = childNodes.length; + if (childLength) { + return childNodes[nameIndex ? 0 : childLength - 1]; + } + const child = document.createElement('div'); + element.appendChild(child); + extraChilds.push(child); + return child; + }); + const $result = this[nameIndex ? 'insertBefore' : 'insertAfter']($target); + $(extraChilds).remove(); + return $result; + }; +}); + +each(['attr', 'prop', 'css'], (nameIndex, name) => { + function set(element, key, value) { + // 值为 undefined 时,不修改 + if (isUndefined(value)) { + return; + } + switch (nameIndex) { + // attr + case 0: + if (isNull(value)) { + element.removeAttribute(key); + } + else { + element.setAttribute(key, value); + } + break; + // prop + case 1: + // @ts-ignore + element[key] = value; + break; + // css + default: + key = toCamelCase(key); + // @ts-ignore + element.style[key] = isNumber(value) + ? `${value}${cssNumber.indexOf(key) > -1 ? '' : 'px'}` + : value; + break; + } + } + function get(element, key) { + switch (nameIndex) { + // attr + case 0: + // 属性不存在时,原生 getAttribute 方法返回 null,而 jquery 返回 undefined。这里和 jquery 保持一致 + const value = element.getAttribute(key); + return isNull(value) ? undefined : value; + // prop + case 1: + // @ts-ignore + return element[key]; + // css + default: + return getStyle(element, key); + } + } + $.fn[name] = function (key, value) { + if (isObjectLike(key)) { + each(key, (k, v) => { + // @ts-ignore + this[name](k, v); + }); + return this; + } + if (arguments.length === 1) { + const element = this[0]; + return isElement(element) ? get(element, key) : undefined; + } + return this.each((i, element) => { + set(element, key, isFunction(value) ? value.call(element, i, get(element, key)) : value); + }); + }; +}); + +$.fn.children = function (selector) { + const children = []; + this.each((_, element) => { + each(element.childNodes, (__, childNode) => { + if (!isElement(childNode)) { + return; + } + if (!selector || $(childNode).is(selector)) { + children.push(childNode); + } + }); + }); + return new JQ(unique(children)); +}; + +$.fn.slice = function (...args) { + return new JQ([].slice.apply(this, args)); +}; + +$.fn.eq = function (index) { + const ret = index === -1 ? this.slice(index) : this.slice(index, +index + 1); + return new JQ(ret); +}; + +function dir($elements, nameIndex, node, selector, filter) { + const ret = []; + let target; + $elements.each((_, element) => { + target = element[node]; + // 不能包含最顶层的 document 元素 + while (target && isElement(target)) { + // prevUntil, nextUntil, parentsUntil + if (nameIndex === 2) { + if (selector && $(target).is(selector)) { + break; + } + if (!filter || $(target).is(filter)) { + ret.push(target); + } + } + // prev, next, parent + else if (nameIndex === 0) { + if (!selector || $(target).is(selector)) { + ret.push(target); + } + break; + } + // prevAll, nextAll, parents + else { + if (!selector || $(target).is(selector)) { + ret.push(target); + } + } + // @ts-ignore + target = target[node]; + } + }); + return new JQ(unique(ret)); +} + +each(['', 's', 'sUntil'], (nameIndex, name) => { + $.fn[`parent${name}`] = function (selector, filter) { + // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致 + const $nodes = !nameIndex ? this : $(this.get().reverse()); + return dir($nodes, nameIndex, 'parentNode', selector, filter); + }; +}); + +$.fn.closest = function (selector) { + if (this.is(selector)) { + return this; + } + const matched = []; + this.parents().each((_, element) => { + if ($(element).is(selector)) { + matched.push(element); + return false; + } + }); + return new JQ(matched); +}; + +const rbrace = /^(?:{[\w\W]*\}|\[[\w\W]*\])$/; +// 从 `data-*` 中获取的值,需要经过该函数转换 +function getData(value) { + if (value === 'true') { + return true; + } + if (value === 'false') { + return false; + } + if (value === 'null') { + return null; + } + if (value === +value + '') { + return +value; + } + if (rbrace.test(value)) { + return JSON.parse(value); + } + return value; +} +// 若 value 不存在,则从 `data-*` 中获取值 +function dataAttr(element, key, value) { + if (isUndefined(value) && element.nodeType === 1) { + const name = 'data-' + toKebabCase(key); + value = element.getAttribute(name); + if (isString(value)) { + try { + value = getData(value); + } + catch (e) { } + } + else { + value = undefined; + } + } + return value; +} +$.fn.data = function (key, value) { + // 获取所有值 + if (isUndefined(key)) { + if (!this.length) { + return undefined; + } + const element = this[0]; + const resultData = data(element); + // window, document 上不存在 `data-*` 属性 + if (element.nodeType !== 1) { + return resultData; + } + // 从 `data-*` 中获取值 + const attrs = element.attributes; + let i = attrs.length; + while (i--) { + if (attrs[i]) { + let name = attrs[i].name; + if (name.indexOf('data-') === 0) { + name = toCamelCase(name.slice(5)); + resultData[name] = dataAttr(element, name, resultData[name]); + } + } + } + return resultData; + } + // 同时设置多个值 + if (isObjectLike(key)) { + return this.each(function () { + data(this, key); + }); + } + // value 传入了 undefined + if (arguments.length === 2 && isUndefined(value)) { + return this; + } + // 设置值 + if (!isUndefined(value)) { + return this.each(function () { + data(this, key, value); + }); + } + // 获取值 + if (!this.length) { + return undefined; + } + return dataAttr(this[0], key, data(this[0], key)); +}; + +$.fn.empty = function () { + return this.each(function () { + this.innerHTML = ''; + }); +}; + +$.fn.extend = function (obj) { + each(obj, (prop, value) => { + // 在 JQ 对象上扩展方法时,需要自己添加 typescript 的类型定义 + $.fn[prop] = value; + }); + return this; +}; + +$.fn.filter = function (selector) { + if (isFunction(selector)) { + return this.map((index, element) => selector.call(element, index, element) ? element : undefined); + } + if (isString(selector)) { + return this.map((_, element) => $(element).is(selector) ? element : undefined); + } + const $selector = $(selector); + return this.map((_, element) => $selector.get().indexOf(element) > -1 ? element : undefined); +}; + +$.fn.first = function () { + return this.eq(0); +}; + +$.fn.has = function (selector) { + const $targets = isString(selector) ? this.find(selector) : $(selector); + const { length } = $targets; + return this.map(function () { + for (let i = 0; i < length; i += 1) { + if (contains(this, $targets[i])) { + return this; + } + } + return; + }); +}; + +$.fn.hasClass = function (className) { + return this[0].classList.contains(className); +}; + +/** + * 值上面的 padding、border、margin 处理 + * @param element + * @param name + * @param value + * @param funcIndex + * @param includeMargin + * @param multiply + */ +function handleExtraWidth(element, name, value, funcIndex, includeMargin, multiply) { + // 获取元素的 padding, border, margin 宽度(两侧宽度的和) + const getExtraWidthValue = (extra) => { + return (getExtraWidth(element, name.toLowerCase(), extra) * + multiply); + }; + if (funcIndex === 2 && includeMargin) { + value += getExtraWidthValue('margin'); + } + if (isBorderBox(element)) { + // IE 为 box-sizing: border-box 时,得到的值不含 border 和 padding,这里先修复 + // 仅获取时需要处理,multiply === 1 为 get + if (isIE() && multiply === 1) { + value += getExtraWidthValue('border'); + value += getExtraWidthValue('padding'); + } + if (funcIndex === 0) { + value -= getExtraWidthValue('border'); + } + if (funcIndex === 1) { + value -= getExtraWidthValue('border'); + value -= getExtraWidthValue('padding'); + } + } + else { + if (funcIndex === 0) { + value += getExtraWidthValue('padding'); + } + if (funcIndex === 2) { + value += getExtraWidthValue('border'); + value += getExtraWidthValue('padding'); + } + } + return value; +} +/** + * 获取元素的样式值 + * @param element + * @param name + * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight + * @param includeMargin + */ +function get(element, name, funcIndex, includeMargin) { + const clientProp = `client${name}`; + const scrollProp = `scroll${name}`; + const offsetProp = `offset${name}`; + const innerProp = `inner${name}`; + // $(window).width() + if (isWindow(element)) { + // outerWidth, outerHeight 需要包含滚动条的宽度 + return funcIndex === 2 + ? element[innerProp] + : toElement(document)[clientProp]; + } + // $(document).width() + if (isDocument(element)) { + const doc = toElement(element); + return Math.max( + // @ts-ignore + element.body[scrollProp], doc[scrollProp], + // @ts-ignore + element.body[offsetProp], doc[offsetProp], doc[clientProp]); + } + const value = parseFloat(getComputedStyleValue(element, name.toLowerCase()) || '0'); + return handleExtraWidth(element, name, value, funcIndex, includeMargin, 1); +} +/** + * 设置元素的样式值 + * @param element + * @param elementIndex + * @param name + * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight + * @param includeMargin + * @param value + */ +function set(element, elementIndex, name, funcIndex, includeMargin, value) { + let computedValue = isFunction(value) + ? value.call(element, elementIndex, get(element, name, funcIndex, includeMargin)) + : value; + if (computedValue == null) { + return; + } + const $element = $(element); + const dimension = name.toLowerCase(); + // 特殊的值,不需要计算 padding、border、margin + if (['auto', 'inherit', ''].indexOf(computedValue) > -1) { + $element.css(dimension, computedValue); + return; + } + // 其他值保留原始单位。注意:如果不使用 px 作为单位,则算出的值一般是不准确的 + const suffix = computedValue.toString().replace(/\b[0-9.]*/, ''); + const numerical = parseFloat(computedValue); + computedValue = + handleExtraWidth(element, name, numerical, funcIndex, includeMargin, -1) + + (suffix || 'px'); + $element.css(dimension, computedValue); +} +each(['Width', 'Height'], (_, name) => { + each([`inner${name}`, name.toLowerCase(), `outer${name}`], (funcIndex, funcName) => { + $.fn[funcName] = function (margin, value) { + // 是否是赋值操作 + const isSet = arguments.length && (funcIndex < 2 || !isBoolean(margin)); + const includeMargin = margin === true || value === true; + // 获取第一个元素的值 + if (!isSet) { + return this.length + ? get(this[0], name, funcIndex, includeMargin) + : undefined; + } + // 设置每个元素的值 + return this.each((index, element) => set(element, index, name, funcIndex, includeMargin, margin)); + }; + }); +}); + +$.fn.hide = function () { + return this.each(function () { + this.style.display = 'none'; + }); +}; + +each(['val', 'html', 'text'], (nameIndex, name) => { + const props = { + 0: 'value', + 1: 'innerHTML', + 2: 'textContent', + }; + const propName = props[nameIndex]; + function get($elements) { + // text() 获取所有元素的文本 + if (nameIndex === 2) { + // @ts-ignore + return map($elements, (element) => toElement(element)[propName]).join(''); + } + // 空集合时,val() 和 html() 返回 undefined + if (!$elements.length) { + return undefined; + } + // val() 和 html() 仅获取第一个元素的内容 + const firstElement = $elements[0]; + // select multiple 返回数组 + if (nameIndex === 0 && $(firstElement).is('select[multiple]')) { + return map($(firstElement).find('option:checked'), (element) => element.value); + } + // @ts-ignore + return firstElement[propName]; + } + function set(element, value) { + // text() 和 html() 赋值为 undefined,则保持原内容不变 + // val() 赋值为 undefined 则赋值为空 + if (isUndefined(value)) { + if (nameIndex !== 0) { + return; + } + value = ''; + } + if (nameIndex === 1 && isElement(value)) { + value = value.outerHTML; + } + // @ts-ignore + element[propName] = value; + } + $.fn[name] = function (value) { + // 获取值 + if (!arguments.length) { + return get(this); + } + // 设置值 + return this.each((i, element) => { + const computedValue = isFunction(value) + ? value.call(element, i, get($(element))) + : value; + // value 是数组,则选中数组中的元素,反选不在数组中的元素 + if (nameIndex === 0 && Array.isArray(computedValue)) { + // select[multiple] + if ($(element).is('select[multiple]')) { + map($(element).find('option'), (option) => (option.selected = + computedValue.indexOf(option.value) > + -1)); + } + // 其他 checkbox, radio 等元素 + else { + element.checked = + computedValue.indexOf(element.value) > -1; + } + } + else { + set(element, computedValue); + } + }); + }; +}); + +$.fn.index = function (selector) { + if (!arguments.length) { + return this.eq(0).parent().children().get().indexOf(this[0]); + } + if (isString(selector)) { + return $(selector).get().indexOf(this[0]); + } + return this.get().indexOf($(selector)[0]); +}; + +$.fn.last = function () { + return this.eq(-1); +}; + +each(['', 'All', 'Until'], (nameIndex, name) => { + $.fn[`next${name}`] = function (selector, filter) { + return dir(this, nameIndex, 'nextElementSibling', selector, filter); + }; +}); + +$.fn.not = function (selector) { + const $excludes = this.filter(selector); + return this.map((_, element) => $excludes.index(element) > -1 ? undefined : element); +}; + +/** + * 返回最近的用于定位的父元素 + */ +$.fn.offsetParent = function () { + return this.map(function () { + let offsetParent = this.offsetParent; + while (offsetParent && $(offsetParent).css('position') === 'static') { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.documentElement; + }); +}; + +function floatStyle($element, name) { + return parseFloat($element.css(name)); +} +$.fn.position = function () { + if (!this.length) { + return undefined; + } + const $element = this.eq(0); + let currentOffset; + let parentOffset = { + left: 0, + top: 0, + }; + if ($element.css('position') === 'fixed') { + currentOffset = $element[0].getBoundingClientRect(); + } + else { + currentOffset = $element.offset(); + const $offsetParent = $element.offsetParent(); + parentOffset = $offsetParent.offset(); + parentOffset.top += floatStyle($offsetParent, 'border-top-width'); + parentOffset.left += floatStyle($offsetParent, 'border-left-width'); + } + return { + top: currentOffset.top - parentOffset.top - floatStyle($element, 'margin-top'), + left: currentOffset.left - + parentOffset.left - + floatStyle($element, 'margin-left'), + }; +}; + +function get$1(element) { + if (!element.getClientRects().length) { + return { top: 0, left: 0 }; + } + const rect = element.getBoundingClientRect(); + const win = element.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset, + }; +} +function set$1(element, value, index) { + const $element = $(element); + const position = $element.css('position'); + if (position === 'static') { + $element.css('position', 'relative'); + } + const currentOffset = get$1(element); + const currentTopString = $element.css('top'); + const currentLeftString = $element.css('left'); + let currentTop; + let currentLeft; + const calculatePosition = (position === 'absolute' || position === 'fixed') && + (currentTopString + currentLeftString).indexOf('auto') > -1; + if (calculatePosition) { + const currentPosition = $element.position(); + currentTop = currentPosition.top; + currentLeft = currentPosition.left; + } + else { + currentTop = parseFloat(currentTopString); + currentLeft = parseFloat(currentLeftString); + } + const computedValue = isFunction(value) + ? value.call(element, index, extend({}, currentOffset)) + : value; + $element.css({ + top: computedValue.top != null + ? computedValue.top - currentOffset.top + currentTop + : undefined, + left: computedValue.left != null + ? computedValue.left - currentOffset.left + currentLeft + : undefined, + }); +} +$.fn.offset = function (value) { + // 获取坐标 + if (!arguments.length) { + if (!this.length) { + return undefined; + } + return get$1(this[0]); + } + // 设置坐标 + return this.each(function (index) { + set$1(this, value, index); + }); +}; + +$.fn.one = function (types, selector, data, callback) { + // @ts-ignore + return this.on(types, selector, data, callback, true); +}; + +each(['', 'All', 'Until'], (nameIndex, name) => { + $.fn[`prev${name}`] = function (selector, filter) { + // prevAll、prevUntil 需要把元素的顺序倒序处理,以便和 jQuery 的结果一致 + const $nodes = !nameIndex ? this : $(this.get().reverse()); + return dir($nodes, nameIndex, 'previousElementSibling', selector, filter); + }; +}); + +$.fn.removeAttr = function (attributeName) { + const names = attributeName.split(' ').filter((name) => name); + return this.each(function () { + each(names, (_, name) => { + this.removeAttribute(name); + }); + }); +}; + +$.fn.removeData = function (name) { + return this.each(function () { + removeData(this, name); + }); +}; + +$.fn.removeProp = function (name) { + return this.each(function () { + try { + // @ts-ignore + delete this[name]; + } + catch (e) { } + }); +}; + +$.fn.replaceWith = function (newContent) { + this.each((index, element) => { + let content = newContent; + if (isFunction(content)) { + content = content.call(element, index, element.innerHTML); + } + else if (index && !isString(content)) { + content = $(content).clone(); + } + $(element).before(content); + }); + return this.remove(); +}; + +$.fn.replaceAll = function (target) { + return $(target).map((index, element) => { + $(element).replaceWith(index ? this.clone() : this); + return this.get(); + }); +}; + +/** + * 将表单元素的值组合成键值对数组 + * @returns {Array} + */ +$.fn.serializeArray = function () { + const result = []; + this.each((_, element) => { + const elements = element instanceof HTMLFormElement ? element.elements : [element]; + $(elements).each((_, element) => { + const $element = $(element); + const type = element.type; + const nodeName = element.nodeName.toLowerCase(); + if (nodeName !== 'fieldset' && + element.name && + !element.disabled && + ['input', 'select', 'textarea', 'keygen'].indexOf(nodeName) > -1 && + ['submit', 'button', 'image', 'reset', 'file'].indexOf(type) === -1 && + (['radio', 'checkbox'].indexOf(type) === -1 || + element.checked)) { + const value = $element.val(); + const valueArr = Array.isArray(value) ? value : [value]; + valueArr.forEach((value) => { + result.push({ + name: element.name, + value, + }); + }); + } + }); + }); + return result; +}; + +$.fn.serialize = function () { + return param(this.serializeArray()); +}; + +const elementDisplay = {}; +/** + * 获取元素的初始 display 值,用于 .show() 方法 + * @param nodeName + */ +function defaultDisplay(nodeName) { + let element; + let display; + if (!elementDisplay[nodeName]) { + element = document.createElement(nodeName); + document.body.appendChild(element); + display = getStyle(element, 'display'); + element.parentNode.removeChild(element); + if (display === 'none') { + display = 'block'; + } + elementDisplay[nodeName] = display; + } + return elementDisplay[nodeName]; +} +/** + * 显示指定元素 + * @returns {JQ} + */ +$.fn.show = function () { + return this.each(function () { + if (this.style.display === 'none') { + this.style.display = ''; + } + if (getStyle(this, 'display') === 'none') { + this.style.display = defaultDisplay(this.nodeName); + } + }); +}; + +/** + * 取得同辈元素的集合 + * @param selector {String=} + * @returns {JQ} + */ +$.fn.siblings = function (selector) { + return this.prevAll(selector).add(this.nextAll(selector)); +}; + +/** + * 切换元素的显示状态 + */ +$.fn.toggle = function () { + return this.each(function () { + getStyle(this, 'display') === 'none' ? $(this).show() : $(this).hide(); + }); +}; + +$.fn.reflow = function () { + return this.each(function () { + return this.clientLeft; + }); +}; + +$.fn.transition = function (duration) { + if (isNumber(duration)) { + duration = `${duration}ms`; + } + return this.each(function () { + this.style.webkitTransitionDuration = duration; + this.style.transitionDuration = duration; + }); +}; + +$.fn.transitionEnd = function (callback) { + // eslint-disable-next-line @typescript-eslint/no-this-alias + const that = this; + const events = ['webkitTransitionEnd', 'transitionend']; + function fireCallback(e) { + if (e.target !== this) { + return; + } + // @ts-ignore + callback.call(this, e); + each(events, (_, event) => { + that.off(event, fireCallback); + }); + } + each(events, (_, event) => { + that.on(event, fireCallback); + }); + return this; +}; + +$.fn.transformOrigin = function (transformOrigin) { + return this.each(function () { + this.style.webkitTransformOrigin = transformOrigin; + this.style.transformOrigin = transformOrigin; + }); +}; + +$.fn.transform = function (transform) { + return this.each(function () { + this.style.webkitTransform = transform; + this.style.transform = transform; + }); +}; + +/** + * CSS 选择器和初始化函数组成的对象 + */ +const entries = {}; +/** + * 注册并执行初始化函数 + * @param selector CSS 选择器 + * @param apiInit 初始化函数 + * @param i 元素索引 + * @param element 元素 + */ +function mutation(selector, apiInit, i, element) { + let selectors = data(element, '_mdui_mutation'); + if (!selectors) { + selectors = []; + data(element, '_mdui_mutation', selectors); + } + if (selectors.indexOf(selector) === -1) { + selectors.push(selector); + apiInit.call(element, i, element); + } +} + +$.fn.mutation = function () { + return this.each((i, element) => { + const $this = $(element); + each(entries, (selector, apiInit) => { + if ($this.is(selector)) { + mutation(selector, apiInit, i, element); + } + $this.find(selector).each((i, element) => { + mutation(selector, apiInit, i, element); + }); + }); + }); +}; + +$.showOverlay = function (zIndex) { + let $overlay = $('.mdui-overlay'); + if ($overlay.length) { + $overlay.data('_overlay_is_deleted', false); + if (!isUndefined(zIndex)) { + $overlay.css('z-index', zIndex); + } + } + else { + if (isUndefined(zIndex)) { + zIndex = 2000; + } + $overlay = $('
              ') + .appendTo(document.body) + .reflow() + .css('z-index', zIndex); + } + let level = $overlay.data('_overlay_level') || 0; + return $overlay.data('_overlay_level', ++level).addClass('mdui-overlay-show'); +}; + +$.hideOverlay = function (force = false) { + const $overlay = $('.mdui-overlay'); + if (!$overlay.length) { + return; + } + let level = force ? 1 : $overlay.data('_overlay_level'); + if (level > 1) { + $overlay.data('_overlay_level', --level); + return; + } + $overlay + .data('_overlay_level', 0) + .removeClass('mdui-overlay-show') + .data('_overlay_is_deleted', true) + .transitionEnd(() => { + if ($overlay.data('_overlay_is_deleted')) { + $overlay.remove(); + } + }); +}; + +$.lockScreen = function () { + const $body = $('body'); + // 不直接把 body 设为 box-sizing: border-box,避免污染全局样式 + const newBodyWidth = $body.width(); + let level = $body.data('_lockscreen_level') || 0; + $body + .addClass('mdui-locked') + .width(newBodyWidth) + .data('_lockscreen_level', ++level); +}; + +$.unlockScreen = function (force = false) { + const $body = $('body'); + let level = force ? 1 : $body.data('_lockscreen_level'); + if (level > 1) { + $body.data('_lockscreen_level', --level); + return; + } + $body.data('_lockscreen_level', 0).removeClass('mdui-locked').width(''); +}; + +$.throttle = function (fn, delay = 16) { + let timer = null; + return function (...args) { + if (isNull(timer)) { + timer = setTimeout(() => { + fn.apply(this, args); + timer = null; + }, delay); + } + }; +}; + +const GUID = {}; +$.guid = function (name) { + if (!isUndefined(name) && !isUndefined(GUID[name])) { + return GUID[name]; + } + function s4() { + return Math.floor((1 + Math.random()) * 0x10000) + .toString(16) + .substring(1); + } + const guid = '_' + + s4() + + s4() + + '-' + + s4() + + '-' + + s4() + + '-' + + s4() + + '-' + + s4() + + s4() + + s4(); + if (!isUndefined(name)) { + GUID[name] = guid; + } + return guid; +}; + +mdui.mutation = function (selector, apiInit) { + if (isUndefined(selector) || isUndefined(apiInit)) { + $(document).mutation(); + return; + } + entries[selector] = apiInit; + $(selector).each((i, element) => mutation(selector, apiInit, i, element)); +}; + +/** + * 触发组件上的事件 + * @param eventName 事件名 + * @param componentName 组件名 + * @param target 在该元素上触发事件 + * @param instance 组件实例 + * @param parameters 事件参数 + */ +function componentEvent(eventName, componentName, target, instance, parameters) { + if (!parameters) { + parameters = {}; + } + // @ts-ignore + parameters.inst = instance; + const fullEventName = `${eventName}.mdui.${componentName}`; + // jQuery 事件 + // @ts-ignore + if (typeof jQuery !== 'undefined') { + // @ts-ignore + jQuery(target).trigger(fullEventName, parameters); + } + const $target = $(target); + // mdui.jq 事件 + $target.trigger(fullEventName, parameters); + const eventParams = { + bubbles: true, + cancelable: true, + detail: parameters, + }; + const eventObject = new CustomEvent(fullEventName, eventParams); + // @ts-ignore + eventObject._detail = parameters; + $target[0].dispatchEvent(eventObject); +} + +const $document = $(document); +const $window = $(window); +const $body = $('body'); + +const DEFAULT_OPTIONS = { + tolerance: 5, + offset: 0, + initialClass: 'mdui-headroom', + pinnedClass: 'mdui-headroom-pinned-top', + unpinnedClass: 'mdui-headroom-unpinned-top', +}; +class Headroom { + constructor(selector, options = {}) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS); + /** + * 当前 headroom 的状态 + */ + this.state = 'pinned'; + /** + * 当前是否启用 + */ + this.isEnable = false; + /** + * 上次滚动后,垂直方向的距离 + */ + this.lastScrollY = 0; + /** + * AnimationFrame ID + */ + this.rafId = 0; + this.$element = $(selector).first(); + extend(this.options, options); + // tolerance 参数若为数值,转换为对象 + const tolerance = this.options.tolerance; + if (isNumber(tolerance)) { + this.options.tolerance = { + down: tolerance, + up: tolerance, + }; + } + this.enable(); + } + /** + * 滚动时的处理 + */ + onScroll() { + this.rafId = window.requestAnimationFrame(() => { + const currentScrollY = window.pageYOffset; + const direction = currentScrollY > this.lastScrollY ? 'down' : 'up'; + const tolerance = this.options.tolerance[direction]; + const scrolled = Math.abs(currentScrollY - this.lastScrollY); + const toleranceExceeded = scrolled >= tolerance; + if (currentScrollY > this.lastScrollY && + currentScrollY >= this.options.offset && + toleranceExceeded) { + this.unpin(); + } + else if ((currentScrollY < this.lastScrollY && toleranceExceeded) || + currentScrollY <= this.options.offset) { + this.pin(); + } + this.lastScrollY = currentScrollY; + }); + } + /** + * 触发组件事件 + * @param name + */ + triggerEvent(name) { + componentEvent(name, 'headroom', this.$element, this); + } + /** + * 动画结束的回调 + */ + transitionEnd() { + if (this.state === 'pinning') { + this.state = 'pinned'; + this.triggerEvent('pinned'); + } + if (this.state === 'unpinning') { + this.state = 'unpinned'; + this.triggerEvent('unpinned'); + } + } + /** + * 使元素固定住 + */ + pin() { + if (this.state === 'pinning' || + this.state === 'pinned' || + !this.$element.hasClass(this.options.initialClass)) { + return; + } + this.triggerEvent('pin'); + this.state = 'pinning'; + this.$element + .removeClass(this.options.unpinnedClass) + .addClass(this.options.pinnedClass) + .transitionEnd(() => this.transitionEnd()); + } + /** + * 使元素隐藏 + */ + unpin() { + if (this.state === 'unpinning' || + this.state === 'unpinned' || + !this.$element.hasClass(this.options.initialClass)) { + return; + } + this.triggerEvent('unpin'); + this.state = 'unpinning'; + this.$element + .removeClass(this.options.pinnedClass) + .addClass(this.options.unpinnedClass) + .transitionEnd(() => this.transitionEnd()); + } + /** + * 启用 headroom 插件 + */ + enable() { + if (this.isEnable) { + return; + } + this.isEnable = true; + this.state = 'pinned'; + this.$element + .addClass(this.options.initialClass) + .removeClass(this.options.pinnedClass) + .removeClass(this.options.unpinnedClass); + this.lastScrollY = window.pageYOffset; + $window.on('scroll', () => this.onScroll()); + } + /** + * 禁用 headroom 插件 + */ + disable() { + if (!this.isEnable) { + return; + } + this.isEnable = false; + this.$element + .removeClass(this.options.initialClass) + .removeClass(this.options.pinnedClass) + .removeClass(this.options.unpinnedClass); + $window.off('scroll', () => this.onScroll()); + window.cancelAnimationFrame(this.rafId); + } + /** + * 获取当前状态。共包含四种状态:`pinning`、`pinned`、`unpinning`、`unpinned` + */ + getState() { + return this.state; + } +} +mdui.Headroom = Headroom; + +/** + * 解析 DATA API 参数 + * @param element 元素 + * @param name 属性名 + */ +function parseOptions(element, name) { + const attr = $(element).attr(name); + if (!attr) { + return {}; + } + return new Function('', `var json = ${attr}; return JSON.parse(JSON.stringify(json));`)(); +} + +const customAttr = 'mdui-headroom'; +$(() => { + mdui.mutation(`[${customAttr}]`, function () { + new mdui.Headroom(this, parseOptions(this, customAttr)); + }); +}); + +const DEFAULT_OPTIONS$1 = { + accordion: false, +}; +class CollapseAbstract { + constructor(selector, options = {}) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$1); + // CSS 类名 + const classPrefix = `mdui-${this.getNamespace()}-item`; + this.classItem = classPrefix; + this.classItemOpen = `${classPrefix}-open`; + this.classHeader = `${classPrefix}-header`; + this.classBody = `${classPrefix}-body`; + this.$element = $(selector).first(); + extend(this.options, options); + this.bindEvent(); + } + /** + * 绑定事件 + */ + bindEvent() { + // eslint-disable-next-line @typescript-eslint/no-this-alias + const that = this; + // 点击 header 时,打开/关闭 item + this.$element.on('click', `.${this.classHeader}`, function () { + const $header = $(this); + const $item = $header.parent(); + const $items = that.getItems(); + $items.each((_, item) => { + if ($item.is(item)) { + that.toggle(item); + } + }); + }); + // 点击关闭按钮时,关闭 item + this.$element.on('click', `[mdui-${this.getNamespace()}-item-close]`, function () { + const $target = $(this); + const $item = $target.parents(`.${that.classItem}`).first(); + that.close($item); + }); + } + /** + * 指定 item 是否处于打开状态 + * @param $item + */ + isOpen($item) { + return $item.hasClass(this.classItemOpen); + } + /** + * 获取所有 item + */ + getItems() { + return this.$element.children(`.${this.classItem}`); + } + /** + * 获取指定 item + * @param item + */ + getItem(item) { + if (isNumber(item)) { + return this.getItems().eq(item); + } + return $(item).first(); + } + /** + * 触发组件事件 + * @param name 事件名 + * @param $item 事件触发的目标 item + */ + triggerEvent(name, $item) { + componentEvent(name, this.getNamespace(), $item, this); + } + /** + * 动画结束回调 + * @param $content body 元素 + * @param $item item 元素 + */ + transitionEnd($content, $item) { + if (this.isOpen($item)) { + $content.transition(0).height('auto').reflow().transition(''); + this.triggerEvent('opened', $item); + } + else { + $content.height(''); + this.triggerEvent('closed', $item); + } + } + /** + * 打开指定面板项 + * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象 + */ + open(item) { + const $item = this.getItem(item); + if (this.isOpen($item)) { + return; + } + // 关闭其他项 + if (this.options.accordion) { + this.$element.children(`.${this.classItemOpen}`).each((_, element) => { + const $element = $(element); + if (!$element.is($item)) { + this.close($element); + } + }); + } + const $content = $item.children(`.${this.classBody}`); + $content + .height($content[0].scrollHeight) + .transitionEnd(() => this.transitionEnd($content, $item)); + this.triggerEvent('open', $item); + $item.addClass(this.classItemOpen); + } + /** + * 关闭指定面板项 + * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象 + */ + close(item) { + const $item = this.getItem(item); + if (!this.isOpen($item)) { + return; + } + const $content = $item.children(`.${this.classBody}`); + this.triggerEvent('close', $item); + $item.removeClass(this.classItemOpen); + $content + .transition(0) + .height($content[0].scrollHeight) + .reflow() + .transition('') + .height('') + .transitionEnd(() => this.transitionEnd($content, $item)); + } + /** + * 切换指定面板项的打开状态 + * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象 + */ + toggle(item) { + const $item = this.getItem(item); + this.isOpen($item) ? this.close($item) : this.open($item); + } + /** + * 打开所有面板项 + */ + openAll() { + this.getItems().each((_, element) => this.open(element)); + } + /** + * 关闭所有面板项 + */ + closeAll() { + this.getItems().each((_, element) => this.close(element)); + } +} + +class Collapse extends CollapseAbstract { + getNamespace() { + return 'collapse'; + } +} +mdui.Collapse = Collapse; + +const customAttr$1 = 'mdui-collapse'; +$(() => { + mdui.mutation(`[${customAttr$1}]`, function () { + new mdui.Collapse(this, parseOptions(this, customAttr$1)); + }); +}); + +class Panel extends CollapseAbstract { + getNamespace() { + return 'panel'; + } +} +mdui.Panel = Panel; + +const customAttr$2 = 'mdui-panel'; +$(() => { + mdui.mutation(`[${customAttr$2}]`, function () { + new mdui.Panel(this, parseOptions(this, customAttr$2)); + }); +}); + +class Table { + constructor(selector) { + /** + * 表头 tr 元素 + */ + this.$thRow = $(); + /** + * 表格 body 中的 tr 元素 + */ + this.$tdRows = $(); + /** + * 表头的 checkbox 元素 + */ + this.$thCheckbox = $(); + /** + * 表格 body 中的 checkbox 元素 + */ + this.$tdCheckboxs = $(); + /** + * 表格行是否可选择 + */ + this.selectable = false; + /** + * 已选中的行数 + */ + this.selectedRow = 0; + this.$element = $(selector).first(); + this.init(); + } + /** + * 初始化表格 + */ + init() { + this.$thRow = this.$element.find('thead tr'); + this.$tdRows = this.$element.find('tbody tr'); + this.selectable = this.$element.hasClass('mdui-table-selectable'); + this.updateThCheckbox(); + this.updateTdCheckbox(); + this.updateNumericCol(); + } + /** + * 生成 checkbox 的 HTML 结构 + * @param tag 标签名 + */ + createCheckboxHTML(tag) { + return (`<${tag} class="mdui-table-cell-checkbox">` + + '' + + ``); + } + /** + * 更新表头 checkbox 的状态 + */ + updateThCheckboxStatus() { + const checkbox = this.$thCheckbox[0]; + const selectedRow = this.selectedRow; + const tdRowsLength = this.$tdRows.length; + checkbox.checked = selectedRow === tdRowsLength; + checkbox.indeterminate = !!selectedRow && selectedRow !== tdRowsLength; + } + /** + * 更新表格行的 checkbox + */ + updateTdCheckbox() { + const rowSelectedClass = 'mdui-table-row-selected'; + this.$tdRows.each((_, row) => { + const $row = $(row); + // 移除旧的 checkbox + $row.find('.mdui-table-cell-checkbox').remove(); + if (!this.selectable) { + return; + } + // 创建 DOM + const $checkbox = $(this.createCheckboxHTML('td')) + .prependTo($row) + .find('input[type="checkbox"]'); + // 默认选中的行 + if ($row.hasClass(rowSelectedClass)) { + $checkbox[0].checked = true; + this.selectedRow++; + } + this.updateThCheckboxStatus(); + // 绑定事件 + $checkbox.on('change', () => { + if ($checkbox[0].checked) { + $row.addClass(rowSelectedClass); + this.selectedRow++; + } + else { + $row.removeClass(rowSelectedClass); + this.selectedRow--; + } + this.updateThCheckboxStatus(); + }); + this.$tdCheckboxs = this.$tdCheckboxs.add($checkbox); + }); + } + /** + * 更新表头的 checkbox + */ + updateThCheckbox() { + // 移除旧的 checkbox + this.$thRow.find('.mdui-table-cell-checkbox').remove(); + if (!this.selectable) { + return; + } + this.$thCheckbox = $(this.createCheckboxHTML('th')) + .prependTo(this.$thRow) + .find('input[type="checkbox"]') + .on('change', () => { + const isCheckedAll = this.$thCheckbox[0].checked; + this.selectedRow = isCheckedAll ? this.$tdRows.length : 0; + this.$tdCheckboxs.each((_, checkbox) => { + checkbox.checked = isCheckedAll; + }); + this.$tdRows.each((_, row) => { + isCheckedAll + ? $(row).addClass('mdui-table-row-selected') + : $(row).removeClass('mdui-table-row-selected'); + }); + }); + } + /** + * 更新数值列 + */ + updateNumericCol() { + const numericClass = 'mdui-table-col-numeric'; + this.$thRow.find('th').each((i, th) => { + const isNumericCol = $(th).hasClass(numericClass); + this.$tdRows.each((_, row) => { + const $td = $(row).find('td').eq(i); + isNumericCol + ? $td.addClass(numericClass) + : $td.removeClass(numericClass); + }); + }); + } +} +const dataName = '_mdui_table'; +$(() => { + mdui.mutation('.mdui-table', function () { + const $element = $(this); + if (!$element.data(dataName)) { + $element.data(dataName, new Table($element)); + } + }); +}); +mdui.updateTables = function (selector) { + const $elements = isUndefined(selector) ? $('.mdui-table') : $(selector); + $elements.each((_, element) => { + const $element = $(element); + const instance = $element.data(dataName); + if (instance) { + instance.init(); + } + else { + $element.data(dataName, new Table($element)); + } + }); +}; + +/** + * touch 事件后的 500ms 内禁用 mousedown 事件 + * + * 不支持触控的屏幕上事件顺序为 mousedown -> mouseup -> click + * 支持触控的屏幕上事件顺序为 touchstart -> touchend -> mousedown -> mouseup -> click + * + * 在每一个事件中都使用 TouchHandler.isAllow(event) 判断事件是否可执行 + * 在 touchstart 和 touchmove、touchend、touchcancel + * + * (function () { + * $document + * .on(start, function (e) { + * if (!isAllow(e)) { + * return; + * } + * register(e); + * console.log(e.type); + * }) + * .on(move, function (e) { + * if (!isAllow(e)) { + * return; + * } + * console.log(e.type); + * }) + * .on(end, function (e) { + * if (!isAllow(e)) { + * return; + * } + * console.log(e.type); + * }) + * .on(unlock, register); + * })(); + */ +const startEvent = 'touchstart mousedown'; +const moveEvent = 'touchmove mousemove'; +const endEvent = 'touchend mouseup'; +const cancelEvent = 'touchcancel mouseleave'; +const unlockEvent = 'touchend touchmove touchcancel'; +let touches = 0; +/** + * 该事件是否被允许,在执行事件前调用该方法判断事件是否可以执行 + * 若已触发 touch 事件,则阻止之后的鼠标事件 + * @param event + */ +function isAllow(event) { + return !(touches && + [ + 'mousedown', + 'mouseup', + 'mousemove', + 'click', + 'mouseover', + 'mouseout', + 'mouseenter', + 'mouseleave', + ].indexOf(event.type) > -1); +} +/** + * 在 touchstart 和 touchmove、touchend、touchcancel 事件中调用该方法注册事件 + * @param event + */ +function register(event) { + if (event.type === 'touchstart') { + // 触发了 touch 事件 + touches += 1; + } + else if (['touchmove', 'touchend', 'touchcancel'].indexOf(event.type) > -1) { + // touch 事件结束 500ms 后解除对鼠标事件的阻止 + setTimeout(function () { + if (touches) { + touches -= 1; + } + }, 500); + } +} + +/** + * Inspired by https://github.com/nolimits4web/Framework7/blob/master/src/js/fast-clicks.js + * https://github.com/nolimits4web/Framework7/blob/master/LICENSE + * + * Inspired by https://github.com/fians/Waves + */ +/** + * 显示涟漪动画 + * @param event + * @param $ripple + */ +function show(event, $ripple) { + // 鼠标右键不产生涟漪 + if (event instanceof MouseEvent && event.button === 2) { + return; + } + // 点击位置坐标 + const touchPosition = typeof TouchEvent !== 'undefined' && + event instanceof TouchEvent && + event.touches.length + ? event.touches[0] + : event; + const touchStartX = touchPosition.pageX; + const touchStartY = touchPosition.pageY; + // 涟漪位置 + const offset = $ripple.offset(); + const height = $ripple.innerHeight(); + const width = $ripple.innerWidth(); + const center = { + x: touchStartX - offset.left, + y: touchStartY - offset.top, + }; + const diameter = Math.max(Math.pow(Math.pow(height, 2) + Math.pow(width, 2), 0.5), 48); + // 涟漪扩散动画 + const translate = `translate3d(${-center.x + width / 2}px,` + + `${-center.y + height / 2}px, 0) scale(1)`; + // 涟漪的 DOM 结构,并缓存动画效果 + $(`
              `) + .data('_ripple_wave_translate', translate) + .prependTo($ripple) + .reflow() + .transform(translate); +} +/** + * 隐藏并移除涟漪 + * @param $wave + */ +function removeRipple($wave) { + if (!$wave.length || $wave.data('_ripple_wave_removed')) { + return; + } + $wave.data('_ripple_wave_removed', true); + let removeTimer = setTimeout(() => $wave.remove(), 400); + const translate = $wave.data('_ripple_wave_translate'); + $wave + .addClass('mdui-ripple-wave-fill') + .transform(translate.replace('scale(1)', 'scale(1.01)')) + .transitionEnd(() => { + clearTimeout(removeTimer); + $wave + .addClass('mdui-ripple-wave-out') + .transform(translate.replace('scale(1)', 'scale(1.01)')); + removeTimer = setTimeout(() => $wave.remove(), 700); + setTimeout(() => { + $wave.transitionEnd(() => { + clearTimeout(removeTimer); + $wave.remove(); + }); + }, 0); + }); +} +/** + * 隐藏涟漪动画 + * @param this + */ +function hide() { + const $ripple = $(this); + $ripple.children('.mdui-ripple-wave').each((_, wave) => { + removeRipple($(wave)); + }); + $ripple.off(`${moveEvent} ${endEvent} ${cancelEvent}`, hide); +} +/** + * 显示涟漪,并绑定 touchend 等事件 + * @param event + */ +function showRipple(event) { + if (!isAllow(event)) { + return; + } + register(event); + // Chrome 59 点击滚动条时,会在 document 上触发事件 + if (event.target === document) { + return; + } + const $target = $(event.target); + // 获取含 .mdui-ripple 类的元素 + const $ripple = $target.hasClass('mdui-ripple') + ? $target + : $target.parents('.mdui-ripple').first(); + if (!$ripple.length) { + return; + } + // 禁用状态的元素上不产生涟漪效果 + if ($ripple.prop('disabled') || !isUndefined($ripple.attr('disabled'))) { + return; + } + if (event.type === 'touchstart') { + let hidden = false; + // touchstart 触发指定时间后开始涟漪动画,避免手指滑动时也触发涟漪 + let timer = setTimeout(() => { + timer = 0; + show(event, $ripple); + }, 200); + const hideRipple = () => { + // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画 + if (timer) { + clearTimeout(timer); + timer = 0; + show(event, $ripple); + } + if (!hidden) { + hidden = true; + hide.call($ripple); + } + }; + // 手指移动后,移除涟漪动画 + const touchMove = () => { + if (timer) { + clearTimeout(timer); + timer = 0; + } + hideRipple(); + }; + $ripple.on('touchmove', touchMove).on('touchend touchcancel', hideRipple); + } + else { + show(event, $ripple); + $ripple.on(`${moveEvent} ${endEvent} ${cancelEvent}`, hide); + } +} +$(() => { + $document.on(startEvent, showRipple).on(unlockEvent, register); +}); + +const defaultData = { + reInit: false, + domLoadedEvent: false, +}; +/** + * 输入框事件 + * @param event + * @param data + */ +function inputEvent(event, data = {}) { + data = extend({}, defaultData, data); + const input = event.target; + const $input = $(input); + const eventType = event.type; + const value = $input.val(); + // 文本框类型 + const inputType = $input.attr('type') || ''; + if (['checkbox', 'button', 'submit', 'range', 'radio', 'image'].indexOf(inputType) > -1) { + return; + } + const $textfield = $input.parent('.mdui-textfield'); + // 输入框是否聚焦 + if (eventType === 'focus') { + $textfield.addClass('mdui-textfield-focus'); + } + if (eventType === 'blur') { + $textfield.removeClass('mdui-textfield-focus'); + } + // 输入框是否为空 + if (eventType === 'blur' || eventType === 'input') { + value + ? $textfield.addClass('mdui-textfield-not-empty') + : $textfield.removeClass('mdui-textfield-not-empty'); + } + // 输入框是否禁用 + input.disabled + ? $textfield.addClass('mdui-textfield-disabled') + : $textfield.removeClass('mdui-textfield-disabled'); + // 表单验证 + if ((eventType === 'input' || eventType === 'blur') && + !data.domLoadedEvent && + input.validity) { + input.validity.valid + ? $textfield.removeClass('mdui-textfield-invalid-html5') + : $textfield.addClass('mdui-textfield-invalid-html5'); + } + // textarea 高度自动调整 + if ($input.is('textarea')) { + // IE bug:textarea 的值仅为多个换行,不含其他内容时,textarea 的高度不准确 + // 此时,在计算高度前,在值的开头加入一个空格,计算完后,移除空格 + const inputValue = value; + let hasExtraSpace = false; + if (inputValue.replace(/[\r\n]/g, '') === '') { + $input.val(' ' + inputValue); + hasExtraSpace = true; + } + // 设置 textarea 高度 + $input.outerHeight(''); + const height = $input.outerHeight(); + const scrollHeight = input.scrollHeight; + if (scrollHeight > height) { + $input.outerHeight(scrollHeight); + } + // 计算完,还原 textarea 的值 + if (hasExtraSpace) { + $input.val(inputValue); + } + } + // 实时字数统计 + if (data.reInit) { + $textfield.find('.mdui-textfield-counter').remove(); + } + const maxLength = $input.attr('maxlength'); + if (maxLength) { + if (data.reInit || data.domLoadedEvent) { + $('
              ' + + ` / ${maxLength}` + + '
              ').appendTo($textfield); + } + $textfield + .find('.mdui-textfield-counter-inputed') + .text(value.length.toString()); + } + // 含 帮助文本、错误提示、字数统计 时,增加文本框底部内边距 + if ($textfield.find('.mdui-textfield-helper').length || + $textfield.find('.mdui-textfield-error').length || + maxLength) { + $textfield.addClass('mdui-textfield-has-bottom'); + } +} +$(() => { + // 绑定事件 + $document.on('input focus blur', '.mdui-textfield-input', { useCapture: true }, inputEvent); + // 可展开文本框展开 + $document.on('click', '.mdui-textfield-expandable .mdui-textfield-icon', function () { + $(this) + .parents('.mdui-textfield') + .addClass('mdui-textfield-expanded') + .find('.mdui-textfield-input')[0] + .focus(); + }); + // 可展开文本框关闭 + $document.on('click', '.mdui-textfield-expanded .mdui-textfield-close', function () { + $(this) + .parents('.mdui-textfield') + .removeClass('mdui-textfield-expanded') + .find('.mdui-textfield-input') + .val(''); + }); + /** + * 初始化文本框 + */ + mdui.mutation('.mdui-textfield', function () { + $(this).find('.mdui-textfield-input').trigger('input', { + domLoadedEvent: true, + }); + }); +}); +mdui.updateTextFields = function (selector) { + const $elements = isUndefined(selector) ? $('.mdui-textfield') : $(selector); + $elements.each((_, element) => { + $(element).find('.mdui-textfield-input').trigger('input', { + reInit: true, + }); + }); +}; + +/** + * 滑块的值改变后修改滑块样式 + * @param $slider + */ +function updateValueStyle($slider) { + const data = $slider.data(); + const $track = data._slider_$track; + const $fill = data._slider_$fill; + const $thumb = data._slider_$thumb; + const $input = data._slider_$input; + const min = data._slider_min; + const max = data._slider_max; + const isDisabled = data._slider_disabled; + const isDiscrete = data._slider_discrete; + const $thumbText = data._slider_$thumbText; + const value = $input.val(); + const percent = ((value - min) / (max - min)) * 100; + $fill.width(`${percent}%`); + $track.width(`${100 - percent}%`); + if (isDisabled) { + $fill.css('padding-right', '6px'); + $track.css('padding-left', '6px'); + } + $thumb.css('left', `${percent}%`); + if (isDiscrete) { + $thumbText.text(value); + } + percent === 0 + ? $slider.addClass('mdui-slider-zero') + : $slider.removeClass('mdui-slider-zero'); +} +/** + * 重新初始化滑块 + * @param $slider + */ +function reInit($slider) { + const $track = $('
              '); + const $fill = $('
              '); + const $thumb = $('
              '); + const $input = $slider.find('input[type="range"]'); + const isDisabled = $input[0].disabled; + const isDiscrete = $slider.hasClass('mdui-slider-discrete'); + // 禁用状态 + isDisabled + ? $slider.addClass('mdui-slider-disabled') + : $slider.removeClass('mdui-slider-disabled'); + // 重新填充 HTML + $slider.find('.mdui-slider-track').remove(); + $slider.find('.mdui-slider-fill').remove(); + $slider.find('.mdui-slider-thumb').remove(); + $slider.append($track).append($fill).append($thumb); + // 间续型滑块 + let $thumbText = $(); + if (isDiscrete) { + $thumbText = $(''); + $thumb.empty().append($thumbText); + } + $slider.data('_slider_$track', $track); + $slider.data('_slider_$fill', $fill); + $slider.data('_slider_$thumb', $thumb); + $slider.data('_slider_$input', $input); + $slider.data('_slider_min', $input.attr('min')); + $slider.data('_slider_max', $input.attr('max')); + $slider.data('_slider_disabled', isDisabled); + $slider.data('_slider_discrete', isDiscrete); + $slider.data('_slider_$thumbText', $thumbText); + // 设置默认值 + updateValueStyle($slider); +} +const rangeSelector = '.mdui-slider input[type="range"]'; +$(() => { + // 滑块滑动事件 + $document.on('input change', rangeSelector, function () { + const $slider = $(this).parent(); + updateValueStyle($slider); + }); + // 开始触摸滑块事件 + $document.on(startEvent, rangeSelector, function (event) { + if (!isAllow(event)) { + return; + } + register(event); + if (this.disabled) { + return; + } + const $slider = $(this).parent(); + $slider.addClass('mdui-slider-focus'); + }); + // 结束触摸滑块事件 + $document.on(endEvent, rangeSelector, function (event) { + if (!isAllow(event)) { + return; + } + if (this.disabled) { + return; + } + const $slider = $(this).parent(); + $slider.removeClass('mdui-slider-focus'); + }); + $document.on(unlockEvent, rangeSelector, register); + /** + * 初始化滑块 + */ + mdui.mutation('.mdui-slider', function () { + reInit($(this)); + }); +}); +mdui.updateSliders = function (selector) { + const $elements = isUndefined(selector) ? $('.mdui-slider') : $(selector); + $elements.each((_, element) => { + reInit($(element)); + }); +}; + +const DEFAULT_OPTIONS$2 = { + trigger: 'hover', +}; +class Fab { + constructor(selector, options = {}) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$2); + /** + * 当前 fab 的状态 + */ + this.state = 'closed'; + this.$element = $(selector).first(); + extend(this.options, options); + this.$btn = this.$element.find('.mdui-fab'); + this.$dial = this.$element.find('.mdui-fab-dial'); + this.$dialBtns = this.$dial.find('.mdui-fab'); + if (this.options.trigger === 'hover') { + this.$btn.on('touchstart mouseenter', () => this.open()); + this.$element.on('mouseleave', () => this.close()); + } + if (this.options.trigger === 'click') { + this.$btn.on(startEvent, () => this.open()); + } + // 触摸屏幕其他地方关闭快速拨号 + $document.on(startEvent, (event) => { + if ($(event.target).parents('.mdui-fab-wrapper').length) { + return; + } + this.close(); + }); + } + /** + * 触发组件事件 + * @param name + */ + triggerEvent(name) { + componentEvent(name, 'fab', this.$element, this); + } + /** + * 当前是否为打开状态 + */ + isOpen() { + return this.state === 'opening' || this.state === 'opened'; + } + /** + * 打开快速拨号菜单 + */ + open() { + if (this.isOpen()) { + return; + } + // 为菜单中的按钮添加不同的 transition-delay + this.$dialBtns.each((index, btn) => { + const delay = `${15 * (this.$dialBtns.length - index)}ms`; + btn.style.transitionDelay = delay; + btn.style.webkitTransitionDelay = delay; + }); + this.$dial.css('height', 'auto').addClass('mdui-fab-dial-show'); + // 如果按钮中存在 .mdui-fab-opened 的图标,则进行图标切换 + if (this.$btn.find('.mdui-fab-opened').length) { + this.$btn.addClass('mdui-fab-opened'); + } + this.state = 'opening'; + this.triggerEvent('open'); + // 打开顺序为从下到上逐个打开,最上面的打开后才表示动画完成 + this.$dialBtns.first().transitionEnd(() => { + if (this.$btn.hasClass('mdui-fab-opened')) { + this.state = 'opened'; + this.triggerEvent('opened'); + } + }); + } + /** + * 关闭快速拨号菜单 + */ + close() { + if (!this.isOpen()) { + return; + } + // 为菜单中的按钮添加不同的 transition-delay + this.$dialBtns.each((index, btn) => { + const delay = `${15 * index}ms`; + btn.style.transitionDelay = delay; + btn.style.webkitTransitionDelay = delay; + }); + this.$dial.removeClass('mdui-fab-dial-show'); + this.$btn.removeClass('mdui-fab-opened'); + this.state = 'closing'; + this.triggerEvent('close'); + // 从上往下依次关闭,最后一个关闭后才表示动画完成 + this.$dialBtns.last().transitionEnd(() => { + if (this.$btn.hasClass('mdui-fab-opened')) { + return; + } + this.state = 'closed'; + this.triggerEvent('closed'); + this.$dial.css('height', 0); + }); + } + /** + * 切换快速拨号菜单的打开状态 + */ + toggle() { + this.isOpen() ? this.close() : this.open(); + } + /** + * 以动画的形式显示整个浮动操作按钮 + */ + show() { + this.$element.removeClass('mdui-fab-hide'); + } + /** + * 以动画的形式隐藏整个浮动操作按钮 + */ + hide() { + this.$element.addClass('mdui-fab-hide'); + } + /** + * 返回当前快速拨号菜单的打开状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + getState() { + return this.state; + } +} +mdui.Fab = Fab; + +const customAttr$3 = 'mdui-fab'; +$(() => { + // mouseenter 不冒泡,无法进行事件委托,这里用 mouseover 代替。 + // 不管是 click 、 mouseover 还是 touchstart ,都先初始化。 + $document.on('touchstart mousedown mouseover', `[${customAttr$3}]`, function () { + new mdui.Fab(this, parseOptions(this, customAttr$3)); + }); +}); + +/** + * 最终生成的元素结构为: + * + *
              // $element + * State 1 // $selected + *
              // $menu + *
              State 1
              // $items + *
              State 2
              + *
              State 3
              + *
              + *
              + */ +const DEFAULT_OPTIONS$3 = { + position: 'auto', + gutter: 16, +}; +class Select { + constructor(selector, options = {}) { + /** + * 生成的 `
              ` 元素的 JQ 对象 + */ + this.$element = $(); + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$3); + /** + * select 的 size 属性的值,根据该值设置 select 的高度 + */ + this.size = 0; + /** + * 占位元素,显示已选中菜单项的文本 + */ + this.$selected = $(); + /** + * 菜单项的外层元素的 JQ 对象 + */ + this.$menu = $(); + /** + * 菜单项数组的 JQ 对象 + */ + this.$items = $(); + /** + * 当前选中的菜单项的索引号 + */ + this.selectedIndex = 0; + /** + * 当前选中菜单项的文本 + */ + this.selectedText = ''; + /** + * 当前选中菜单项的值 + */ + this.selectedValue = ''; + /** + * 当前 select 的状态 + */ + this.state = 'closed'; + this.$native = $(selector).first(); + this.$native.hide(); + extend(this.options, options); + // 为当前 select 生成唯一 ID + this.uniqueID = $.guid(); + // 生成 select + this.handleUpdate(); + // 点击 select 外面区域关闭 + $document.on('click touchstart', (event) => { + const $target = $(event.target); + if (this.isOpen() && + !$target.is(this.$element) && + !contains(this.$element[0], $target[0])) { + this.close(); + } + }); + } + /** + * 调整菜单位置 + */ + readjustMenu() { + const windowHeight = $window.height(); + // mdui-select 高度 + const elementHeight = this.$element.height(); + // 菜单项高度 + const $itemFirst = this.$items.first(); + const itemHeight = $itemFirst.height(); + const itemMargin = parseInt($itemFirst.css('margin-top')); + // 菜单高度 + const menuWidth = this.$element.innerWidth() + 0.01; // 必须比真实宽度多一点,不然会出现省略号 + let menuHeight = itemHeight * this.size + itemMargin * 2; + // mdui-select 在窗口中的位置 + const elementTop = this.$element[0].getBoundingClientRect().top; + let transformOriginY; + let menuMarginTop; + if (this.options.position === 'bottom') { + menuMarginTop = elementHeight; + transformOriginY = '0px'; + } + else if (this.options.position === 'top') { + menuMarginTop = -menuHeight - 1; + transformOriginY = '100%'; + } + else { + // 菜单高度不能超过窗口高度 + const menuMaxHeight = windowHeight - this.options.gutter * 2; + if (menuHeight > menuMaxHeight) { + menuHeight = menuMaxHeight; + } + // 菜单的 margin-top + menuMarginTop = -(itemMargin + + this.selectedIndex * itemHeight + + (itemHeight - elementHeight) / 2); + const menuMaxMarginTop = -(itemMargin + + (this.size - 1) * itemHeight + + (itemHeight - elementHeight) / 2); + if (menuMarginTop < menuMaxMarginTop) { + menuMarginTop = menuMaxMarginTop; + } + // 菜单不能超出窗口 + const menuTop = elementTop + menuMarginTop; + if (menuTop < this.options.gutter) { + // 不能超出窗口上方 + menuMarginTop = -(elementTop - this.options.gutter); + } + else if (menuTop + menuHeight + this.options.gutter > windowHeight) { + // 不能超出窗口下方 + menuMarginTop = -(elementTop + + menuHeight + + this.options.gutter - + windowHeight); + } + // transform 的 Y 轴坐标 + transformOriginY = `${this.selectedIndex * itemHeight + itemHeight / 2 + itemMargin}px`; + } + // 设置样式 + this.$element.innerWidth(menuWidth); + this.$menu + .innerWidth(menuWidth) + .height(menuHeight) + .css({ + 'margin-top': menuMarginTop + 'px', + 'transform-origin': 'center ' + transformOriginY + ' 0', + }); + } + /** + * select 是否为打开状态 + */ + isOpen() { + return this.state === 'opening' || this.state === 'opened'; + } + /** + * 对原生 select 组件进行了修改后,需要调用该方法 + */ + handleUpdate() { + if (this.isOpen()) { + this.close(); + } + this.selectedValue = this.$native.val(); + const itemsData = []; + this.$items = $(); + // 生成 HTML + this.$native.find('option').each((index, option) => { + const text = option.textContent || ''; + const value = option.value; + const disabled = option.disabled; + const selected = this.selectedValue === value; + itemsData.push({ + value, + text, + disabled, + selected, + index, + }); + if (selected) { + this.selectedText = text; + this.selectedIndex = index; + } + this.$items = this.$items.add('
              ${text}
              `); + }); + this.$selected = $(`${this.selectedText}`); + this.$element = $(`
              `) + .show() + .append(this.$selected); + this.$menu = $('
              ') + .appendTo(this.$element) + .append(this.$items); + $(`#${this.uniqueID}`).remove(); + this.$native.after(this.$element); + // 根据 select 的 size 属性设置高度 + this.size = parseInt(this.$native.attr('size') || '0'); + if (this.size <= 0) { + this.size = this.$items.length; + if (this.size > 8) { + this.size = 8; + } + } + // 点击选项时关闭下拉菜单 + // eslint-disable-next-line @typescript-eslint/no-this-alias + const that = this; + this.$items.on('click', function () { + if (that.state === 'closing') { + return; + } + const $item = $(this); + const index = $item.index(); + const data = itemsData[index]; + if (data.disabled) { + return; + } + that.$selected.text(data.text); + that.$native.val(data.value); + that.$items.removeAttr('selected'); + $item.attr('selected', ''); + that.selectedIndex = data.index; + that.selectedValue = data.value; + that.selectedText = data.text; + that.$native.trigger('change'); + that.close(); + }); + // 点击 $element 时打开下拉菜单 + this.$element.on('click', (event) => { + const $target = $(event.target); + // 在菜单上点击时不打开 + if ($target.is('.mdui-select-menu') || + $target.is('.mdui-select-menu-item')) { + return; + } + this.toggle(); + }); + } + /** + * 动画结束的回调 + */ + transitionEnd() { + this.$element.removeClass('mdui-select-closing'); + if (this.state === 'opening') { + this.state = 'opened'; + this.triggerEvent('opened'); + this.$menu.css('overflow-y', 'auto'); + } + if (this.state === 'closing') { + this.state = 'closed'; + this.triggerEvent('closed'); + // 恢复样式 + this.$element.innerWidth(''); + this.$menu.css({ + 'margin-top': '', + height: '', + width: '', + }); + } + } + /** + * 触发组件事件 + * @param name + */ + triggerEvent(name) { + componentEvent(name, 'select', this.$native, this); + } + /** + * 切换下拉菜单的打开状态 + */ + toggle() { + this.isOpen() ? this.close() : this.open(); + } + /** + * 打开下拉菜单 + */ + open() { + if (this.isOpen()) { + return; + } + this.state = 'opening'; + this.triggerEvent('open'); + this.readjustMenu(); + this.$element.addClass('mdui-select-open'); + this.$menu.transitionEnd(() => this.transitionEnd()); + } + /** + * 关闭下拉菜单 + */ + close() { + if (!this.isOpen()) { + return; + } + this.state = 'closing'; + this.triggerEvent('close'); + this.$menu.css('overflow-y', ''); + this.$element + .removeClass('mdui-select-open') + .addClass('mdui-select-closing'); + this.$menu.transitionEnd(() => this.transitionEnd()); + } + /** + * 获取当前菜单的状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + getState() { + return this.state; + } +} +mdui.Select = Select; + +const customAttr$4 = 'mdui-select'; +$(() => { + mdui.mutation(`[${customAttr$4}]`, function () { + new mdui.Select(this, parseOptions(this, customAttr$4)); + }); +}); + +$(() => { + // 滚动时隐藏应用栏 + mdui.mutation('.mdui-appbar-scroll-hide', function () { + new mdui.Headroom(this); + }); + // 滚动时只隐藏应用栏中的工具栏 + mdui.mutation('.mdui-appbar-scroll-toolbar-hide', function () { + new mdui.Headroom(this, { + pinnedClass: 'mdui-headroom-pinned-toolbar', + unpinnedClass: 'mdui-headroom-unpinned-toolbar', + }); + }); +}); + +const DEFAULT_OPTIONS$4 = { + trigger: 'click', + loop: false, +}; +class Tab { + constructor(selector, options = {}) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$4); + /** + * 当前激活的 tab 的索引号。为 -1 时表示没有激活的选项卡,或不存在选项卡 + */ + this.activeIndex = -1; + this.$element = $(selector).first(); + extend(this.options, options); + this.$tabs = this.$element.children('a'); + this.$indicator = $('
              ').appendTo(this.$element); + // 根据 url hash 获取默认激活的选项卡 + const hash = window.location.hash; + if (hash) { + this.$tabs.each((index, tab) => { + if ($(tab).attr('href') === hash) { + this.activeIndex = index; + return false; + } + return true; + }); + } + // 含 .mdui-tab-active 的元素默认激活 + if (this.activeIndex === -1) { + this.$tabs.each((index, tab) => { + if ($(tab).hasClass('mdui-tab-active')) { + this.activeIndex = index; + return false; + } + return true; + }); + } + // 存在选项卡时,默认激活第一个选项卡 + if (this.$tabs.length && this.activeIndex === -1) { + this.activeIndex = 0; + } + // 设置激活状态选项卡 + this.setActive(); + // 监听窗口大小变化事件,调整指示器位置 + $window.on('resize', $.throttle(() => this.setIndicatorPosition(), 100)); + // 监听点击选项卡事件 + this.$tabs.each((_, tab) => { + this.bindTabEvent(tab); + }); + } + /** + * 指定选项卡是否已禁用 + * @param $tab + */ + isDisabled($tab) { + return $tab.attr('disabled') !== undefined; + } + /** + * 绑定在 Tab 上点击或悬浮的事件 + * @param tab + */ + bindTabEvent(tab) { + const $tab = $(tab); + // 点击或鼠标移入触发的事件 + const clickEvent = () => { + // 禁用状态的选项卡无法选中 + if (this.isDisabled($tab)) { + return false; + } + this.activeIndex = this.$tabs.index(tab); + this.setActive(); + }; + // 无论 trigger 是 click 还是 hover,都会响应 click 事件 + $tab.on('click', clickEvent); + // trigger 为 hover 时,额外响应 mouseenter 事件 + if (this.options.trigger === 'hover') { + $tab.on('mouseenter', clickEvent); + } + // 阻止链接的默认点击动作 + $tab.on('click', () => { + if (($tab.attr('href') || '').indexOf('#') === 0) { + return false; + } + }); + } + /** + * 触发组件事件 + * @param name + * @param $element + * @param parameters + */ + triggerEvent(name, $element, parameters = {}) { + componentEvent(name, 'tab', $element, this, parameters); + } + /** + * 设置激活状态的选项卡 + */ + setActive() { + this.$tabs.each((index, tab) => { + const $tab = $(tab); + const targetId = $tab.attr('href') || ''; + // 设置选项卡激活状态 + if (index === this.activeIndex && !this.isDisabled($tab)) { + if (!$tab.hasClass('mdui-tab-active')) { + this.triggerEvent('change', this.$element, { + index: this.activeIndex, + id: targetId.substr(1), + }); + this.triggerEvent('show', $tab); + $tab.addClass('mdui-tab-active'); + } + $(targetId).show(); + this.setIndicatorPosition(); + } + else { + $tab.removeClass('mdui-tab-active'); + $(targetId).hide(); + } + }); + } + /** + * 设置选项卡指示器的位置 + */ + setIndicatorPosition() { + // 选项卡数量为 0 时,不显示指示器 + if (this.activeIndex === -1) { + this.$indicator.css({ + left: 0, + width: 0, + }); + return; + } + const $activeTab = this.$tabs.eq(this.activeIndex); + if (this.isDisabled($activeTab)) { + return; + } + const activeTabOffset = $activeTab.offset(); + this.$indicator.css({ + left: `${activeTabOffset.left + + this.$element[0].scrollLeft - + this.$element[0].getBoundingClientRect().left}px`, + width: `${$activeTab.innerWidth()}px`, + }); + } + /** + * 切换到下一个选项卡 + */ + next() { + if (this.activeIndex === -1) { + return; + } + if (this.$tabs.length > this.activeIndex + 1) { + this.activeIndex++; + } + else if (this.options.loop) { + this.activeIndex = 0; + } + this.setActive(); + } + /** + * 切换到上一个选项卡 + */ + prev() { + if (this.activeIndex === -1) { + return; + } + if (this.activeIndex > 0) { + this.activeIndex--; + } + else if (this.options.loop) { + this.activeIndex = this.$tabs.length - 1; + } + this.setActive(); + } + /** + * 显示指定索引号、或指定id的选项卡 + * @param index 索引号、或id + */ + show(index) { + if (this.activeIndex === -1) { + return; + } + if (isNumber(index)) { + this.activeIndex = index; + } + else { + this.$tabs.each((i, tab) => { + if (tab.id === index) { + this.activeIndex === i; + return false; + } + }); + } + this.setActive(); + } + /** + * 在父元素的宽度变化时,需要调用该方法重新调整指示器位置 + * 在添加或删除选项卡时,需要调用该方法 + */ + handleUpdate() { + const $oldTabs = this.$tabs; // 旧的 tabs JQ对象 + const $newTabs = this.$element.children('a'); // 新的 tabs JQ对象 + const oldTabsElement = $oldTabs.get(); // 旧的 tabs 元素数组 + const newTabsElement = $newTabs.get(); // 新的 tabs 元素数组 + if (!$newTabs.length) { + this.activeIndex = -1; + this.$tabs = $newTabs; + this.setIndicatorPosition(); + return; + } + // 重新遍历选项卡,找出新增的选项卡 + $newTabs.each((index, tab) => { + // 有新增的选项卡 + if (oldTabsElement.indexOf(tab) < 0) { + this.bindTabEvent(tab); + if (this.activeIndex === -1) { + this.activeIndex = 0; + } + else if (index <= this.activeIndex) { + this.activeIndex++; + } + } + }); + // 找出被移除的选项卡 + $oldTabs.each((index, tab) => { + // 有被移除的选项卡 + if (newTabsElement.indexOf(tab) < 0) { + if (index < this.activeIndex) { + this.activeIndex--; + } + else if (index === this.activeIndex) { + this.activeIndex = 0; + } + } + }); + this.$tabs = $newTabs; + this.setActive(); + } +} +mdui.Tab = Tab; + +const customAttr$5 = 'mdui-tab'; +$(() => { + mdui.mutation(`[${customAttr$5}]`, function () { + new mdui.Tab(this, parseOptions(this, customAttr$5)); + }); +}); + +/** + * 在桌面设备上默认显示抽屉栏,不显示遮罩层 + * 在手机和平板设备上默认不显示抽屉栏,始终显示遮罩层,且覆盖导航栏 + */ +const DEFAULT_OPTIONS$5 = { + overlay: false, + swipe: false, +}; +class Drawer { + constructor(selector, options = {}) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$5); + /** + * 当前是否显示着遮罩层 + */ + this.overlay = false; + this.$element = $(selector).first(); + extend(this.options, options); + this.position = this.$element.hasClass('mdui-drawer-right') + ? 'right' + : 'left'; + if (this.$element.hasClass('mdui-drawer-close')) { + this.state = 'closed'; + } + else if (this.$element.hasClass('mdui-drawer-open')) { + this.state = 'opened'; + } + else if (this.isDesktop()) { + this.state = 'opened'; + } + else { + this.state = 'closed'; + } + // 浏览器窗口大小调整时 + $window.on('resize', $.throttle(() => { + if (this.isDesktop()) { + // 由手机平板切换到桌面时 + // 如果显示着遮罩,则隐藏遮罩 + if (this.overlay && !this.options.overlay) { + $.hideOverlay(); + this.overlay = false; + $.unlockScreen(); + } + // 没有强制关闭,则状态为打开状态 + if (!this.$element.hasClass('mdui-drawer-close')) { + this.state = 'opened'; + } + } + else if (!this.overlay && this.state === 'opened') { + // 由桌面切换到手机平板时。如果抽屉栏是打开着的且没有遮罩层,则关闭抽屉栏 + if (this.$element.hasClass('mdui-drawer-open')) { + $.showOverlay(); + this.overlay = true; + $.lockScreen(); + $('.mdui-overlay').one('click', () => this.close()); + } + else { + this.state = 'closed'; + } + } + }, 100)); + // 绑定关闭按钮事件 + this.$element.find('[mdui-drawer-close]').each((_, close) => { + $(close).on('click', () => this.close()); + }); + this.swipeSupport(); + } + /** + * 是否是桌面设备 + */ + isDesktop() { + return $window.width() >= 1024; + } + /** + * 滑动手势支持 + */ + swipeSupport() { + // eslint-disable-next-line @typescript-eslint/no-this-alias + const that = this; + // 抽屉栏滑动手势控制 + let openNavEventHandler; + let touchStartX; + let touchStartY; + let swipeStartX; + let swiping = null; + let maybeSwiping = false; + const $body = $('body'); + // 手势触发的范围 + const swipeAreaWidth = 24; + function setPosition(translateX) { + const rtlTranslateMultiplier = that.position === 'right' ? -1 : 1; + const transformCSS = `translate(${-1 * rtlTranslateMultiplier * translateX}px, 0) !important;`; + const transitionCSS = 'initial !important;'; + that.$element.css('cssText', `transform: ${transformCSS}; transition: ${transitionCSS};`); + } + function cleanPosition() { + that.$element[0].style.transform = ''; + that.$element[0].style.webkitTransform = ''; + that.$element[0].style.transition = ''; + that.$element[0].style.webkitTransition = ''; + } + function getMaxTranslateX() { + return that.$element.width() + 10; + } + function getTranslateX(currentX) { + return Math.min(Math.max(swiping === 'closing' + ? swipeStartX - currentX + : getMaxTranslateX() + swipeStartX - currentX, 0), getMaxTranslateX()); + } + function onBodyTouchEnd(event) { + if (swiping) { + let touchX = event.changedTouches[0].pageX; + if (that.position === 'right') { + touchX = $body.width() - touchX; + } + const translateRatio = getTranslateX(touchX) / getMaxTranslateX(); + maybeSwiping = false; + const swipingState = swiping; + swiping = null; + if (swipingState === 'opening') { + if (translateRatio < 0.92) { + cleanPosition(); + that.open(); + } + else { + cleanPosition(); + } + } + else { + if (translateRatio > 0.08) { + cleanPosition(); + that.close(); + } + else { + cleanPosition(); + } + } + $.unlockScreen(); + } + else { + maybeSwiping = false; + } + $body.off({ + // eslint-disable-next-line @typescript-eslint/no-use-before-define + touchmove: onBodyTouchMove, + touchend: onBodyTouchEnd, + // eslint-disable-next-line @typescript-eslint/no-use-before-define + touchcancel: onBodyTouchMove, + }); + } + function onBodyTouchMove(event) { + let touchX = event.touches[0].pageX; + if (that.position === 'right') { + touchX = $body.width() - touchX; + } + const touchY = event.touches[0].pageY; + if (swiping) { + setPosition(getTranslateX(touchX)); + } + else if (maybeSwiping) { + const dXAbs = Math.abs(touchX - touchStartX); + const dYAbs = Math.abs(touchY - touchStartY); + const threshold = 8; + if (dXAbs > threshold && dYAbs <= threshold) { + swipeStartX = touchX; + swiping = that.state === 'opened' ? 'closing' : 'opening'; + $.lockScreen(); + setPosition(getTranslateX(touchX)); + } + else if (dXAbs <= threshold && dYAbs > threshold) { + onBodyTouchEnd(); + } + } + } + function onBodyTouchStart(event) { + touchStartX = event.touches[0].pageX; + if (that.position === 'right') { + touchStartX = $body.width() - touchStartX; + } + touchStartY = event.touches[0].pageY; + if (that.state !== 'opened') { + if (touchStartX > swipeAreaWidth || + openNavEventHandler !== onBodyTouchStart) { + return; + } + } + maybeSwiping = true; + $body.on({ + touchmove: onBodyTouchMove, + touchend: onBodyTouchEnd, + touchcancel: onBodyTouchMove, + }); + } + function enableSwipeHandling() { + if (!openNavEventHandler) { + $body.on('touchstart', onBodyTouchStart); + openNavEventHandler = onBodyTouchStart; + } + } + if (this.options.swipe) { + enableSwipeHandling(); + } + } + /** + * 触发组件事件 + * @param name + */ + triggerEvent(name) { + componentEvent(name, 'drawer', this.$element, this); + } + /** + * 动画结束回调 + */ + transitionEnd() { + if (this.$element.hasClass('mdui-drawer-open')) { + this.state = 'opened'; + this.triggerEvent('opened'); + } + else { + this.state = 'closed'; + this.triggerEvent('closed'); + } + } + /** + * 是否处于打开状态 + */ + isOpen() { + return this.state === 'opening' || this.state === 'opened'; + } + /** + * 打开抽屉栏 + */ + open() { + if (this.isOpen()) { + return; + } + this.state = 'opening'; + this.triggerEvent('open'); + if (!this.options.overlay) { + $('body').addClass(`mdui-drawer-body-${this.position}`); + } + this.$element + .removeClass('mdui-drawer-close') + .addClass('mdui-drawer-open') + .transitionEnd(() => this.transitionEnd()); + if (!this.isDesktop() || this.options.overlay) { + this.overlay = true; + $.showOverlay().one('click', () => this.close()); + $.lockScreen(); + } + } + /** + * 关闭抽屉栏 + */ + close() { + if (!this.isOpen()) { + return; + } + this.state = 'closing'; + this.triggerEvent('close'); + if (!this.options.overlay) { + $('body').removeClass(`mdui-drawer-body-${this.position}`); + } + this.$element + .addClass('mdui-drawer-close') + .removeClass('mdui-drawer-open') + .transitionEnd(() => this.transitionEnd()); + if (this.overlay) { + $.hideOverlay(); + this.overlay = false; + $.unlockScreen(); + } + } + /** + * 切换抽屉栏打开/关闭状态 + */ + toggle() { + this.isOpen() ? this.close() : this.open(); + } + /** + * 返回当前抽屉栏的状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + getState() { + return this.state; + } +} +mdui.Drawer = Drawer; + +const customAttr$6 = 'mdui-drawer'; +$(() => { + mdui.mutation(`[${customAttr$6}]`, function () { + const $element = $(this); + const options = parseOptions(this, customAttr$6); + const selector = options.target; + // @ts-ignore + delete options.target; + const $drawer = $(selector).first(); + const instance = new mdui.Drawer($drawer, options); + $element.on('click', () => instance.toggle()); + }); +}); + +const container = {}; +function queue(name, func) { + if (isUndefined(container[name])) { + container[name] = []; + } + if (isUndefined(func)) { + return container[name]; + } + container[name].push(func); +} +/** + * 从队列中移除第一个函数,并执行该函数 + * @param name 队列满 + */ +function dequeue(name) { + if (isUndefined(container[name])) { + return; + } + if (!container[name].length) { + return; + } + const func = container[name].shift(); + func(); +} + +const DEFAULT_OPTIONS$6 = { + history: true, + overlay: true, + modal: false, + closeOnEsc: true, + closeOnCancel: true, + closeOnConfirm: true, + destroyOnClosed: false, +}; +/** + * 当前显示的对话框实例 + */ +let currentInst = null; +/** + * 队列名 + */ +const queueName = '_mdui_dialog'; +/** + * 窗口是否已锁定 + */ +let isLockScreen = false; +/** + * 遮罩层元素 + */ +let $overlay; +class Dialog { + constructor(selector, options = {}) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$6); + /** + * 当前 dialog 的状态 + */ + this.state = 'closed'; + /** + * dialog 元素是否是动态添加的 + */ + this.append = false; + this.$element = $(selector).first(); + // 如果对话框元素没有在当前文档中,则需要添加 + if (!contains(document.body, this.$element[0])) { + this.append = true; + $('body').append(this.$element); + } + extend(this.options, options); + // 绑定取消按钮事件 + this.$element.find('[mdui-dialog-cancel]').each((_, cancel) => { + $(cancel).on('click', () => { + this.triggerEvent('cancel'); + if (this.options.closeOnCancel) { + this.close(); + } + }); + }); + // 绑定确认按钮事件 + this.$element.find('[mdui-dialog-confirm]').each((_, confirm) => { + $(confirm).on('click', () => { + this.triggerEvent('confirm'); + if (this.options.closeOnConfirm) { + this.close(); + } + }); + }); + // 绑定关闭按钮事件 + this.$element.find('[mdui-dialog-close]').each((_, close) => { + $(close).on('click', () => this.close()); + }); + } + /** + * 触发组件事件 + * @param name + */ + triggerEvent(name) { + componentEvent(name, 'dialog', this.$element, this); + } + /** + * 窗口宽度变化,或对话框内容变化时,调整对话框位置和对话框内的滚动条 + */ + readjust() { + if (!currentInst) { + return; + } + const $element = currentInst.$element; + const $title = $element.children('.mdui-dialog-title'); + const $content = $element.children('.mdui-dialog-content'); + const $actions = $element.children('.mdui-dialog-actions'); + // 调整 dialog 的 top 和 height 值 + $element.height(''); + $content.height(''); + const elementHeight = $element.height(); + $element.css({ + top: `${($window.height() - elementHeight) / 2}px`, + height: `${elementHeight}px`, + }); + // 调整 mdui-dialog-content 的高度 + $content.innerHeight(elementHeight - + ($title.innerHeight() || 0) - + ($actions.innerHeight() || 0)); + } + /** + * hashchange 事件触发时关闭对话框 + */ + hashchangeEvent() { + if (window.location.hash.substring(1).indexOf('mdui-dialog') < 0) { + currentInst.close(true); + } + } + /** + * 点击遮罩层关闭对话框 + * @param event + */ + overlayClick(event) { + if ($(event.target).hasClass('mdui-overlay') && + currentInst) { + currentInst.close(); + } + } + /** + * 动画结束回调 + */ + transitionEnd() { + if (this.$element.hasClass('mdui-dialog-open')) { + this.state = 'opened'; + this.triggerEvent('opened'); + } + else { + this.state = 'closed'; + this.triggerEvent('closed'); + this.$element.hide(); + // 所有对话框都关闭,且当前没有打开的对话框时,解锁屏幕 + if (!queue(queueName).length && !currentInst && isLockScreen) { + $.unlockScreen(); + isLockScreen = false; + } + $window.off('resize', $.throttle(this.readjust, 100)); + if (this.options.destroyOnClosed) { + this.destroy(); + } + } + } + /** + * 打开指定对话框 + */ + doOpen() { + currentInst = this; + if (!isLockScreen) { + $.lockScreen(); + isLockScreen = true; + } + this.$element.show(); + this.readjust(); + $window.on('resize', $.throttle(this.readjust, 100)); + // 打开消息框 + this.state = 'opening'; + this.triggerEvent('open'); + this.$element + .addClass('mdui-dialog-open') + .transitionEnd(() => this.transitionEnd()); + // 不存在遮罩层元素时,添加遮罩层 + if (!$overlay) { + $overlay = $.showOverlay(5100); + } + // 点击遮罩层时是否关闭对话框 + if (this.options.modal) { + $overlay.off('click', this.overlayClick); + } + else { + $overlay.on('click', this.overlayClick); + } + // 是否显示遮罩层,不显示时,把遮罩层背景透明 + $overlay.css('opacity', this.options.overlay ? '' : 0); + if (this.options.history) { + // 如果 hash 中原来就有 mdui-dialog,先删除,避免后退历史纪录后仍然有 mdui-dialog 导致无法关闭 + // 包括 mdui-dialog 和 &mdui-dialog 和 ?mdui-dialog + let hash = window.location.hash.substring(1); + if (hash.indexOf('mdui-dialog') > -1) { + hash = hash.replace(/[&?]?mdui-dialog/g, ''); + } + // 后退按钮关闭对话框 + if (hash) { + window.location.hash = `${hash}${hash.indexOf('?') > -1 ? '&' : '?'}mdui-dialog`; + } + else { + window.location.hash = 'mdui-dialog'; + } + $window.on('hashchange', this.hashchangeEvent); + } + } + /** + * 当前对话框是否为打开状态 + */ + isOpen() { + return this.state === 'opening' || this.state === 'opened'; + } + /** + * 打开对话框 + */ + open() { + if (this.isOpen()) { + return; + } + // 如果当前有正在打开或已经打开的对话框,或队列不为空,则先加入队列,等旧对话框开始关闭时再打开 + if ((currentInst && + (currentInst.state === 'opening' || currentInst.state === 'opened')) || + queue(queueName).length) { + queue(queueName, () => this.doOpen()); + return; + } + this.doOpen(); + } + /** + * 关闭对话框 + */ + close(historyBack = false) { + // historyBack 是否需要后退历史纪录,默认为 `false`。该参数仅内部使用 + // 为 `false` 时是通过 js 关闭,需要后退一个历史记录 + // 为 `true` 时是通过后退按钮关闭,不需要后退历史记录 + // setTimeout 的作用是: + // 当同时关闭一个对话框,并打开另一个对话框时,使打开对话框的操作先执行,以使需要打开的对话框先加入队列 + setTimeout(() => { + if (!this.isOpen()) { + return; + } + currentInst = null; + this.state = 'closing'; + this.triggerEvent('close'); + // 所有对话框都关闭,且当前没有打开的对话框时,隐藏遮罩 + if (!queue(queueName).length && $overlay) { + $.hideOverlay(); + $overlay = null; + // 若仍存在遮罩,恢复遮罩的 z-index + $('.mdui-overlay').css('z-index', 2000); + } + this.$element + .removeClass('mdui-dialog-open') + .transitionEnd(() => this.transitionEnd()); + if (this.options.history && !queue(queueName).length) { + if (!historyBack) { + window.history.back(); + } + $window.off('hashchange', this.hashchangeEvent); + } + // 关闭旧对话框,打开新对话框。 + // 加一点延迟,仅仅为了视觉效果更好。不加延时也不影响功能 + setTimeout(() => { + dequeue(queueName); + }, 100); + }); + } + /** + * 切换对话框打开/关闭状态 + */ + toggle() { + this.isOpen() ? this.close() : this.open(); + } + /** + * 获取对话框状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + getState() { + return this.state; + } + /** + * 销毁对话框 + */ + destroy() { + if (this.append) { + this.$element.remove(); + } + if (!queue(queueName).length && !currentInst) { + if ($overlay) { + $.hideOverlay(); + $overlay = null; + } + if (isLockScreen) { + $.unlockScreen(); + isLockScreen = false; + } + } + } + /** + * 对话框内容变化时,需要调用该方法来调整对话框位置和滚动条高度 + */ + handleUpdate() { + this.readjust(); + } +} + +// esc 按下时关闭对话框 +$document.on('keydown', (event) => { + if (currentInst && + currentInst.options.closeOnEsc && + currentInst.state === 'opened' && + event.keyCode === 27) { + currentInst.close(); + } +}); +mdui.Dialog = Dialog; + +const customAttr$7 = 'mdui-dialog'; +const dataName$1 = '_mdui_dialog'; +$(() => { + $document.on('click', `[${customAttr$7}]`, function () { + const options = parseOptions(this, customAttr$7); + const selector = options.target; + // @ts-ignore + delete options.target; + const $dialog = $(selector).first(); + let instance = $dialog.data(dataName$1); + if (!instance) { + instance = new mdui.Dialog($dialog, options); + $dialog.data(dataName$1, instance); + } + instance.open(); + }); +}); + +const DEFAULT_BUTTON = { + text: '', + bold: false, + close: true, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClick: () => { }, +}; +const DEFAULT_OPTIONS$7 = { + title: '', + content: '', + buttons: [], + stackedButtons: false, + cssClass: '', + history: true, + overlay: true, + modal: false, + closeOnEsc: true, + destroyOnClosed: true, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onOpen: () => { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onOpened: () => { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClose: () => { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClosed: () => { }, +}; +mdui.dialog = function (options) { + var _a, _b; + // 合并配置参数 + options = extend({}, DEFAULT_OPTIONS$7, options); + each(options.buttons, (i, button) => { + options.buttons[i] = extend({}, DEFAULT_BUTTON, button); + }); + // 按钮的 HTML + let buttonsHTML = ''; + if ((_a = options.buttons) === null || _a === void 0 ? void 0 : _a.length) { + buttonsHTML = `
              `; + each(options.buttons, (_, button) => { + buttonsHTML += + '${button.text}`; + }); + buttonsHTML += '
              '; + } + // Dialog 的 HTML + const HTML = `
              ` + + (options.title + ? `
              ${options.title}
              ` + : '') + + (options.content + ? `
              ${options.content}
              ` + : '') + + buttonsHTML + + '
              '; + // 实例化 Dialog + const instance = new mdui.Dialog(HTML, { + history: options.history, + overlay: options.overlay, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + destroyOnClosed: options.destroyOnClosed, + }); + // 绑定按钮事件 + if ((_b = options.buttons) === null || _b === void 0 ? void 0 : _b.length) { + instance.$element + .find('.mdui-dialog-actions .mdui-btn') + .each((index, button) => { + $(button).on('click', () => { + options.buttons[index].onClick(instance); + if (options.buttons[index].close) { + instance.close(); + } + }); + }); + } + // 绑定打开关闭事件 + instance.$element + .on('open.mdui.dialog', () => { + options.onOpen(instance); + }) + .on('opened.mdui.dialog', () => { + options.onOpened(instance); + }) + .on('close.mdui.dialog', () => { + options.onClose(instance); + }) + .on('closed.mdui.dialog', () => { + options.onClosed(instance); + }); + instance.open(); + return instance; +}; + +const DEFAULT_OPTIONS$8 = { + confirmText: 'ok', + history: true, + modal: false, + closeOnEsc: true, + closeOnConfirm: true, +}; +mdui.alert = function (text, title, onConfirm, options) { + if (isFunction(title)) { + options = onConfirm; + onConfirm = title; + title = ''; + } + if (isUndefined(onConfirm)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onConfirm = () => { }; + } + if (isUndefined(options)) { + options = {}; + } + options = extend({}, DEFAULT_OPTIONS$8, options); + return mdui.dialog({ + title: title, + content: text, + buttons: [ + { + text: options.confirmText, + bold: false, + close: options.closeOnConfirm, + onClick: onConfirm, + }, + ], + cssClass: 'mdui-dialog-alert', + history: options.history, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + }); +}; + +const DEFAULT_OPTIONS$9 = { + confirmText: 'ok', + cancelText: 'cancel', + history: true, + modal: false, + closeOnEsc: true, + closeOnCancel: true, + closeOnConfirm: true, +}; +mdui.confirm = function (text, title, onConfirm, onCancel, options) { + if (isFunction(title)) { + options = onCancel; + onCancel = onConfirm; + onConfirm = title; + title = ''; + } + if (isUndefined(onConfirm)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onConfirm = () => { }; + } + if (isUndefined(onCancel)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onCancel = () => { }; + } + if (isUndefined(options)) { + options = {}; + } + options = extend({}, DEFAULT_OPTIONS$9, options); + return mdui.dialog({ + title: title, + content: text, + buttons: [ + { + text: options.cancelText, + bold: false, + close: options.closeOnCancel, + onClick: onCancel, + }, + { + text: options.confirmText, + bold: false, + close: options.closeOnConfirm, + onClick: onConfirm, + }, + ], + cssClass: 'mdui-dialog-confirm', + history: options.history, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + }); +}; + +const DEFAULT_OPTIONS$a = { + confirmText: 'ok', + cancelText: 'cancel', + history: true, + modal: false, + closeOnEsc: true, + closeOnCancel: true, + closeOnConfirm: true, + type: 'text', + maxlength: 0, + defaultValue: '', + confirmOnEnter: false, +}; +mdui.prompt = function (label, title, onConfirm, onCancel, options) { + if (isFunction(title)) { + options = onCancel; + onCancel = onConfirm; + onConfirm = title; + title = ''; + } + if (isUndefined(onConfirm)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onConfirm = () => { }; + } + if (isUndefined(onCancel)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onCancel = () => { }; + } + if (isUndefined(options)) { + options = {}; + } + options = extend({}, DEFAULT_OPTIONS$a, options); + const content = '
              ' + + (label ? `` : '') + + (options.type === 'text' + ? `` + : '') + + (options.type === 'textarea' + ? `` + : '') + + '
              '; + const onCancelClick = (dialog) => { + const value = dialog.$element.find('.mdui-textfield-input').val(); + onCancel(value, dialog); + }; + const onConfirmClick = (dialog) => { + const value = dialog.$element.find('.mdui-textfield-input').val(); + onConfirm(value, dialog); + }; + return mdui.dialog({ + title, + content, + buttons: [ + { + text: options.cancelText, + bold: false, + close: options.closeOnCancel, + onClick: onCancelClick, + }, + { + text: options.confirmText, + bold: false, + close: options.closeOnConfirm, + onClick: onConfirmClick, + }, + ], + cssClass: 'mdui-dialog-prompt', + history: options.history, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + onOpen: (dialog) => { + // 初始化输入框 + const $input = dialog.$element.find('.mdui-textfield-input'); + mdui.updateTextFields($input); + // 聚焦到输入框 + $input[0].focus(); + // 捕捉文本框回车键,在单行文本框的情况下触发回调 + if (options.type !== 'textarea' && options.confirmOnEnter === true) { + $input.on('keydown', (event) => { + if (event.keyCode === 13) { + const value = dialog.$element.find('.mdui-textfield-input').val(); + onConfirm(value, dialog); + if (options.closeOnConfirm) { + dialog.close(); + } + return false; + } + return; + }); + } + // 如果是多行输入框,监听输入框的 input 事件,更新对话框高度 + if (options.type === 'textarea') { + $input.on('input', () => dialog.handleUpdate()); + } + // 有字符数限制时,加载完文本框后 DOM 会变化,需要更新对话框高度 + if (options.maxlength) { + dialog.handleUpdate(); + } + }, + }); +}; + +const DEFAULT_OPTIONS$b = { + position: 'auto', + delay: 0, + content: '', +}; +class Tooltip { + constructor(selector, options = {}) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$b); + /** + * 当前 tooltip 的状态 + */ + this.state = 'closed'; + /** + * setTimeout 的返回值 + */ + this.timeoutId = null; + this.$target = $(selector).first(); + extend(this.options, options); + // 创建 Tooltip HTML + this.$element = $(`
              ${this.options.content}
              `).appendTo(document.body); + // 绑定事件。元素处于 disabled 状态时无法触发鼠标事件,为了统一,把 touch 事件也禁用 + // eslint-disable-next-line @typescript-eslint/no-this-alias + const that = this; + this.$target + .on('touchstart mouseenter', function (event) { + if (that.isDisabled(this)) { + return; + } + if (!isAllow(event)) { + return; + } + register(event); + that.open(); + }) + .on('touchend mouseleave', function (event) { + if (that.isDisabled(this)) { + return; + } + if (!isAllow(event)) { + return; + } + that.close(); + }) + .on(unlockEvent, function (event) { + if (that.isDisabled(this)) { + return; + } + register(event); + }); + } + /** + * 元素是否已禁用 + * @param element + */ + isDisabled(element) { + return (element.disabled || + $(element).attr('disabled') !== undefined); + } + /** + * 是否是桌面设备 + */ + isDesktop() { + return $window.width() > 1024; + } + /** + * 设置 Tooltip 的位置 + */ + setPosition() { + let marginLeft; + let marginTop; + // 触发的元素 + const targetProps = this.$target[0].getBoundingClientRect(); + // 触发的元素和 Tooltip 之间的距离 + const targetMargin = this.isDesktop() ? 14 : 24; + // Tooltip 的宽度和高度 + const tooltipWidth = this.$element[0].offsetWidth; + const tooltipHeight = this.$element[0].offsetHeight; + // Tooltip 的方向 + let position = this.options.position; + // 自动判断位置,加 2px,使 Tooltip 距离窗口边框至少有 2px 的间距 + if (position === 'auto') { + if (targetProps.top + + targetProps.height + + targetMargin + + tooltipHeight + + 2 < + $window.height()) { + position = 'bottom'; + } + else if (targetMargin + tooltipHeight + 2 < targetProps.top) { + position = 'top'; + } + else if (targetMargin + tooltipWidth + 2 < targetProps.left) { + position = 'left'; + } + else if (targetProps.width + targetMargin + tooltipWidth + 2 < + $window.width() - targetProps.left) { + position = 'right'; + } + else { + position = 'bottom'; + } + } + // 设置位置 + switch (position) { + case 'bottom': + marginLeft = -1 * (tooltipWidth / 2); + marginTop = targetProps.height / 2 + targetMargin; + this.$element.transformOrigin('top center'); + break; + case 'top': + marginLeft = -1 * (tooltipWidth / 2); + marginTop = + -1 * (tooltipHeight + targetProps.height / 2 + targetMargin); + this.$element.transformOrigin('bottom center'); + break; + case 'left': + marginLeft = -1 * (tooltipWidth + targetProps.width / 2 + targetMargin); + marginTop = -1 * (tooltipHeight / 2); + this.$element.transformOrigin('center right'); + break; + case 'right': + marginLeft = targetProps.width / 2 + targetMargin; + marginTop = -1 * (tooltipHeight / 2); + this.$element.transformOrigin('center left'); + break; + } + const targetOffset = this.$target.offset(); + this.$element.css({ + top: `${targetOffset.top + targetProps.height / 2}px`, + left: `${targetOffset.left + targetProps.width / 2}px`, + 'margin-left': `${marginLeft}px`, + 'margin-top': `${marginTop}px`, + }); + } + /** + * 触发组件事件 + * @param name + */ + triggerEvent(name) { + componentEvent(name, 'tooltip', this.$target, this); + } + /** + * 动画结束回调 + */ + transitionEnd() { + if (this.$element.hasClass('mdui-tooltip-open')) { + this.state = 'opened'; + this.triggerEvent('opened'); + } + else { + this.state = 'closed'; + this.triggerEvent('closed'); + } + } + /** + * 当前 tooltip 是否为打开状态 + */ + isOpen() { + return this.state === 'opening' || this.state === 'opened'; + } + /** + * 执行打开 tooltip + */ + doOpen() { + this.state = 'opening'; + this.triggerEvent('open'); + this.$element + .addClass('mdui-tooltip-open') + .transitionEnd(() => this.transitionEnd()); + } + /** + * 打开 Tooltip + * @param options 允许每次打开时设置不同的参数 + */ + open(options) { + if (this.isOpen()) { + return; + } + const oldOptions = extend({}, this.options); + if (options) { + extend(this.options, options); + } + // tooltip 的内容有更新 + if (oldOptions.content !== this.options.content) { + this.$element.html(this.options.content); + } + this.setPosition(); + if (this.options.delay) { + this.timeoutId = setTimeout(() => this.doOpen(), this.options.delay); + } + else { + this.timeoutId = null; + this.doOpen(); + } + } + /** + * 关闭 Tooltip + */ + close() { + if (this.timeoutId) { + clearTimeout(this.timeoutId); + this.timeoutId = null; + } + if (!this.isOpen()) { + return; + } + this.state = 'closing'; + this.triggerEvent('close'); + this.$element + .removeClass('mdui-tooltip-open') + .transitionEnd(() => this.transitionEnd()); + } + /** + * 切换 Tooltip 的打开状态 + */ + toggle() { + this.isOpen() ? this.close() : this.open(); + } + /** + * 获取 Tooltip 状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + getState() { + return this.state; + } +} +mdui.Tooltip = Tooltip; + +const customAttr$8 = 'mdui-tooltip'; +const dataName$2 = '_mdui_tooltip'; +$(() => { + // mouseenter 不能冒泡,所以这里用 mouseover 代替 + $document.on('touchstart mouseover', `[${customAttr$8}]`, function () { + const $target = $(this); + let instance = $target.data(dataName$2); + if (!instance) { + instance = new mdui.Tooltip(this, parseOptions(this, customAttr$8)); + $target.data(dataName$2, instance); + } + }); +}); + +const DEFAULT_OPTIONS$c = { + message: '', + timeout: 4000, + position: 'bottom', + buttonText: '', + buttonColor: '', + closeOnButtonClick: true, + closeOnOutsideClick: true, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClick: () => { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onButtonClick: () => { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onOpen: () => { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onOpened: () => { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClose: () => { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClosed: () => { }, +}; +/** + * 当前打开着的 Snackbar + */ +let currentInst$1 = null; +/** + * 队列名 + */ +const queueName$1 = '_mdui_snackbar'; +class Snackbar { + constructor(options) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$c); + /** + * 当前 Snackbar 的状态 + */ + this.state = 'closed'; + /** + * setTimeout 的 ID + */ + this.timeoutId = null; + extend(this.options, options); + // 按钮颜色 + let buttonColorStyle = ''; + let buttonColorClass = ''; + if (this.options.buttonColor.indexOf('#') === 0 || + this.options.buttonColor.indexOf('rgb') === 0) { + buttonColorStyle = `style="color:${this.options.buttonColor}"`; + } + else if (this.options.buttonColor !== '') { + buttonColorClass = `mdui-text-color-${this.options.buttonColor}`; + } + // 添加 HTML + this.$element = $('
              ' + + `
              ${this.options.message}
              ` + + (this.options.buttonText + ? `${this.options.buttonText}` + : '') + + '
              ').appendTo(document.body); + // 设置位置 + this.setPosition('close'); + this.$element.reflow().addClass(`mdui-snackbar-${this.options.position}`); + } + /** + * 点击 Snackbar 外面的区域关闭 + * @param event + */ + closeOnOutsideClick(event) { + const $target = $(event.target); + if (!$target.hasClass('mdui-snackbar') && + !$target.parents('.mdui-snackbar').length) { + currentInst$1.close(); + } + } + /** + * 设置 Snackbar 的位置 + * @param state + */ + setPosition(state) { + const snackbarHeight = this.$element[0].clientHeight; + const position = this.options.position; + let translateX; + let translateY; + // translateX + if (position === 'bottom' || position === 'top') { + translateX = '-50%'; + } + else { + translateX = '0'; + } + // translateY + if (state === 'open') { + translateY = '0'; + } + else { + if (position === 'bottom') { + translateY = snackbarHeight; + } + if (position === 'top') { + translateY = -snackbarHeight; + } + if (position === 'left-top' || position === 'right-top') { + translateY = -snackbarHeight - 24; + } + if (position === 'left-bottom' || position === 'right-bottom') { + translateY = snackbarHeight + 24; + } + } + this.$element.transform(`translate(${translateX},${translateY}px`); + } + /** + * 打开 Snackbar + */ + open() { + if (this.state === 'opening' || this.state === 'opened') { + return; + } + // 如果当前有正在显示的 Snackbar,则先加入队列,等旧 Snackbar 关闭后再打开 + if (currentInst$1) { + queue(queueName$1, () => this.open()); + return; + } + currentInst$1 = this; + // 开始打开 + this.state = 'opening'; + this.options.onOpen(this); + this.setPosition('open'); + this.$element.transitionEnd(() => { + if (this.state !== 'opening') { + return; + } + this.state = 'opened'; + this.options.onOpened(this); + // 有按钮时绑定事件 + if (this.options.buttonText) { + this.$element.find('.mdui-snackbar-action').on('click', () => { + this.options.onButtonClick(this); + if (this.options.closeOnButtonClick) { + this.close(); + } + }); + } + // 点击 snackbar 的事件 + this.$element.on('click', (event) => { + if (!$(event.target).hasClass('mdui-snackbar-action')) { + this.options.onClick(this); + } + }); + // 点击 Snackbar 外面的区域关闭 + if (this.options.closeOnOutsideClick) { + $document.on(startEvent, this.closeOnOutsideClick); + } + // 超时后自动关闭 + if (this.options.timeout) { + this.timeoutId = setTimeout(() => this.close(), this.options.timeout); + } + }); + } + /** + * 关闭 Snackbar + */ + close() { + if (this.state === 'closing' || this.state === 'closed') { + return; + } + if (this.timeoutId) { + clearTimeout(this.timeoutId); + } + if (this.options.closeOnOutsideClick) { + $document.off(startEvent, this.closeOnOutsideClick); + } + this.state = 'closing'; + this.options.onClose(this); + this.setPosition('close'); + this.$element.transitionEnd(() => { + if (this.state !== 'closing') { + return; + } + currentInst$1 = null; + this.state = 'closed'; + this.options.onClosed(this); + this.$element.remove(); + dequeue(queueName$1); + }); + } +} +mdui.snackbar = function (message, options = {}) { + if (isString(message)) { + options.message = message; + } + else { + options = message; + } + const instance = new Snackbar(options); + instance.open(); + return instance; +}; + +$(() => { + // 切换导航项 + $document.on('click', '.mdui-bottom-nav>a', function () { + const $item = $(this); + const $bottomNav = $item.parent(); + $bottomNav.children('a').each((index, item) => { + const isThis = $item.is(item); + if (isThis) { + componentEvent('change', 'bottomNav', $bottomNav[0], undefined, { + index, + }); + } + isThis + ? $(item).addClass('mdui-bottom-nav-active') + : $(item).removeClass('mdui-bottom-nav-active'); + }); + }); + // 滚动时隐藏 mdui-bottom-nav-scroll-hide + mdui.mutation('.mdui-bottom-nav-scroll-hide', function () { + new mdui.Headroom(this, { + pinnedClass: 'mdui-headroom-pinned-down', + unpinnedClass: 'mdui-headroom-unpinned-down', + }); + }); +}); + +/** + * layer 的 HTML 结构 + * @param index + */ +function layerHTML(index = false) { + return (`
              ` + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              '); +} +/** + * 填充 HTML + * @param spinner + */ +function fillHTML(spinner) { + const $spinner = $(spinner); + const layer = $spinner.hasClass('mdui-spinner-colorful') + ? layerHTML(1) + layerHTML(2) + layerHTML(3) + layerHTML(4) + : layerHTML(); + $spinner.html(layer); +} +$(() => { + // 页面加载完后自动填充 HTML 结构 + mdui.mutation('.mdui-spinner', function () { + fillHTML(this); + }); +}); +mdui.updateSpinners = function (selector) { + const $elements = isUndefined(selector) ? $('.mdui-spinner') : $(selector); + $elements.each(function () { + fillHTML(this); + }); +}; + +const DEFAULT_OPTIONS$d = { + position: 'auto', + align: 'auto', + gutter: 16, + fixed: false, + covered: 'auto', + subMenuTrigger: 'hover', + subMenuDelay: 200, +}; +class Menu { + constructor(anchorSelector, menuSelector, options = {}) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$d); + /** + * 当前菜单状态 + */ + this.state = 'closed'; + this.$anchor = $(anchorSelector).first(); + this.$element = $(menuSelector).first(); + // 触发菜单的元素 和 菜单必须是同级的元素,否则菜单可能不能定位 + if (!this.$anchor.parent().is(this.$element.parent())) { + throw new Error('anchorSelector and menuSelector must be siblings'); + } + extend(this.options, options); + // 是否是级联菜单 + this.isCascade = this.$element.hasClass('mdui-menu-cascade'); + // covered 参数处理 + this.isCovered = + this.options.covered === 'auto' ? !this.isCascade : this.options.covered; + // 点击触发菜单切换 + this.$anchor.on('click', () => this.toggle()); + // 点击菜单外面区域关闭菜单 + $document.on('click touchstart', (event) => { + const $target = $(event.target); + if (this.isOpen() && + !$target.is(this.$element) && + !contains(this.$element[0], $target[0]) && + !$target.is(this.$anchor) && + !contains(this.$anchor[0], $target[0])) { + this.close(); + } + }); + // 点击不含子菜单的菜单条目关闭菜单 + // eslint-disable-next-line @typescript-eslint/no-this-alias + const that = this; + $document.on('click', '.mdui-menu-item', function () { + const $item = $(this); + if (!$item.find('.mdui-menu').length && + $item.attr('disabled') === undefined) { + that.close(); + } + }); + // 绑定点击或鼠标移入含子菜单的条目的事件 + this.bindSubMenuEvent(); + // 窗口大小变化时,重新调整菜单位置 + $window.on('resize', $.throttle(() => this.readjust(), 100)); + } + /** + * 是否为打开状态 + */ + isOpen() { + return this.state === 'opening' || this.state === 'opened'; + } + /** + * 触发组件事件 + * @param name + */ + triggerEvent(name) { + componentEvent(name, 'menu', this.$element, this); + } + /** + * 调整主菜单位置 + */ + readjust() { + let menuLeft; + let menuTop; + // 菜单位置和方向 + let position; + let align; + // window 窗口的宽度和高度 + const windowHeight = $window.height(); + const windowWidth = $window.width(); + // 配置参数 + const gutter = this.options.gutter; + const isCovered = this.isCovered; + const isFixed = this.options.fixed; + // 动画方向参数 + let transformOriginX; + let transformOriginY; + // 菜单的原始宽度和高度 + const menuWidth = this.$element.width(); + const menuHeight = this.$element.height(); + // 触发菜单的元素在窗口中的位置 + const anchorRect = this.$anchor[0].getBoundingClientRect(); + const anchorTop = anchorRect.top; + const anchorLeft = anchorRect.left; + const anchorHeight = anchorRect.height; + const anchorWidth = anchorRect.width; + const anchorBottom = windowHeight - anchorTop - anchorHeight; + const anchorRight = windowWidth - anchorLeft - anchorWidth; + // 触发元素相对其拥有定位属性的父元素的位置 + const anchorOffsetTop = this.$anchor[0].offsetTop; + const anchorOffsetLeft = this.$anchor[0].offsetLeft; + // 自动判断菜单位置 + if (this.options.position === 'auto') { + if (anchorBottom + (isCovered ? anchorHeight : 0) > menuHeight + gutter) { + // 判断下方是否放得下菜单 + position = 'bottom'; + } + else if (anchorTop + (isCovered ? anchorHeight : 0) > + menuHeight + gutter) { + // 判断上方是否放得下菜单 + position = 'top'; + } + else { + // 上下都放不下,居中显示 + position = 'center'; + } + } + else { + position = this.options.position; + } + // 自动判断菜单对齐方式 + if (this.options.align === 'auto') { + if (anchorRight + anchorWidth > menuWidth + gutter) { + // 判断右侧是否放得下菜单 + align = 'left'; + } + else if (anchorLeft + anchorWidth > menuWidth + gutter) { + // 判断左侧是否放得下菜单 + align = 'right'; + } + else { + // 左右都放不下,居中显示 + align = 'center'; + } + } + else { + align = this.options.align; + } + // 设置菜单位置 + if (position === 'bottom') { + transformOriginY = '0'; + menuTop = + (isCovered ? 0 : anchorHeight) + + (isFixed ? anchorTop : anchorOffsetTop); + } + else if (position === 'top') { + transformOriginY = '100%'; + menuTop = + (isCovered ? anchorHeight : 0) + + (isFixed ? anchorTop - menuHeight : anchorOffsetTop - menuHeight); + } + else { + transformOriginY = '50%'; + // =====================在窗口中居中 + // 显示的菜单的高度,简单菜单高度不超过窗口高度,若超过了则在菜单内部显示滚动条 + // 级联菜单内部不允许出现滚动条 + let menuHeightTemp = menuHeight; + // 简单菜单比窗口高时,限制菜单高度 + if (!this.isCascade) { + if (menuHeight + gutter * 2 > windowHeight) { + menuHeightTemp = windowHeight - gutter * 2; + this.$element.height(menuHeightTemp); + } + } + menuTop = + (windowHeight - menuHeightTemp) / 2 + + (isFixed ? 0 : anchorOffsetTop - anchorTop); + } + this.$element.css('top', `${menuTop}px`); + // 设置菜单对齐方式 + if (align === 'left') { + transformOriginX = '0'; + menuLeft = isFixed ? anchorLeft : anchorOffsetLeft; + } + else if (align === 'right') { + transformOriginX = '100%'; + menuLeft = isFixed + ? anchorLeft + anchorWidth - menuWidth + : anchorOffsetLeft + anchorWidth - menuWidth; + } + else { + transformOriginX = '50%'; + //=======================在窗口中居中 + // 显示的菜单的宽度,菜单宽度不能超过窗口宽度 + let menuWidthTemp = menuWidth; + // 菜单比窗口宽,限制菜单宽度 + if (menuWidth + gutter * 2 > windowWidth) { + menuWidthTemp = windowWidth - gutter * 2; + this.$element.width(menuWidthTemp); + } + menuLeft = + (windowWidth - menuWidthTemp) / 2 + + (isFixed ? 0 : anchorOffsetLeft - anchorLeft); + } + this.$element.css('left', `${menuLeft}px`); + // 设置菜单动画方向 + this.$element.transformOrigin(`${transformOriginX} ${transformOriginY}`); + } + /** + * 调整子菜单的位置 + * @param $submenu + */ + readjustSubmenu($submenu) { + const $item = $submenu.parent('.mdui-menu-item'); + let submenuTop; + let submenuLeft; + // 子菜单位置和方向 + let position; + let align; + // window 窗口的宽度和高度 + const windowHeight = $window.height(); + const windowWidth = $window.width(); + // 动画方向参数 + let transformOriginX; + let transformOriginY; + // 子菜单的原始宽度和高度 + const submenuWidth = $submenu.width(); + const submenuHeight = $submenu.height(); + // 触发子菜单的菜单项的宽度高度 + const itemRect = $item[0].getBoundingClientRect(); + const itemWidth = itemRect.width; + const itemHeight = itemRect.height; + const itemLeft = itemRect.left; + const itemTop = itemRect.top; + // 判断菜单上下位置 + if (windowHeight - itemTop > submenuHeight) { + // 判断下方是否放得下菜单 + position = 'bottom'; + } + else if (itemTop + itemHeight > submenuHeight) { + // 判断上方是否放得下菜单 + position = 'top'; + } + else { + // 默认放在下方 + position = 'bottom'; + } + // 判断菜单左右位置 + if (windowWidth - itemLeft - itemWidth > submenuWidth) { + // 判断右侧是否放得下菜单 + align = 'left'; + } + else if (itemLeft > submenuWidth) { + // 判断左侧是否放得下菜单 + align = 'right'; + } + else { + // 默认放在右侧 + align = 'left'; + } + // 设置菜单位置 + if (position === 'bottom') { + transformOriginY = '0'; + submenuTop = '0'; + } + else if (position === 'top') { + transformOriginY = '100%'; + submenuTop = -submenuHeight + itemHeight; + } + $submenu.css('top', `${submenuTop}px`); + // 设置菜单对齐方式 + if (align === 'left') { + transformOriginX = '0'; + submenuLeft = itemWidth; + } + else if (align === 'right') { + transformOriginX = '100%'; + submenuLeft = -submenuWidth; + } + $submenu.css('left', `${submenuLeft}px`); + // 设置菜单动画方向 + $submenu.transformOrigin(`${transformOriginX} ${transformOriginY}`); + } + /** + * 打开子菜单 + * @param $submenu + */ + openSubMenu($submenu) { + this.readjustSubmenu($submenu); + $submenu + .addClass('mdui-menu-open') + .parent('.mdui-menu-item') + .addClass('mdui-menu-item-active'); + } + /** + * 关闭子菜单,及其嵌套的子菜单 + * @param $submenu + */ + closeSubMenu($submenu) { + // 关闭子菜单 + $submenu + .removeClass('mdui-menu-open') + .addClass('mdui-menu-closing') + .transitionEnd(() => $submenu.removeClass('mdui-menu-closing')) + // 移除激活状态的样式 + .parent('.mdui-menu-item') + .removeClass('mdui-menu-item-active'); + // 循环关闭嵌套的子菜单 + $submenu.find('.mdui-menu').each((_, menu) => { + const $subSubmenu = $(menu); + $subSubmenu + .removeClass('mdui-menu-open') + .addClass('mdui-menu-closing') + .transitionEnd(() => $subSubmenu.removeClass('mdui-menu-closing')) + .parent('.mdui-menu-item') + .removeClass('mdui-menu-item-active'); + }); + } + /** + * 切换子菜单状态 + * @param $submenu + */ + toggleSubMenu($submenu) { + $submenu.hasClass('mdui-menu-open') + ? this.closeSubMenu($submenu) + : this.openSubMenu($submenu); + } + /** + * 绑定子菜单事件 + */ + bindSubMenuEvent() { + // eslint-disable-next-line @typescript-eslint/no-this-alias + const that = this; + // 点击打开子菜单 + this.$element.on('click', '.mdui-menu-item', function (event) { + const $item = $(this); + const $target = $(event.target); + // 禁用状态菜单不操作 + if ($item.attr('disabled') !== undefined) { + return; + } + // 没有点击在子菜单的菜单项上时,不操作(点在了子菜单的空白区域、或分隔线上) + if ($target.is('.mdui-menu') || $target.is('.mdui-divider')) { + return; + } + // 阻止冒泡,点击菜单项时只在最后一级的 mdui-menu-item 上生效,不向上冒泡 + if (!$target.parents('.mdui-menu-item').first().is($item)) { + return; + } + // 当前菜单的子菜单 + const $submenu = $item.children('.mdui-menu'); + // 先关闭除当前子菜单外的所有同级子菜单 + $item + .parent('.mdui-menu') + .children('.mdui-menu-item') + .each((_, item) => { + const $tmpSubmenu = $(item).children('.mdui-menu'); + if ($tmpSubmenu.length && + (!$submenu.length || !$tmpSubmenu.is($submenu))) { + that.closeSubMenu($tmpSubmenu); + } + }); + // 切换当前子菜单 + if ($submenu.length) { + that.toggleSubMenu($submenu); + } + }); + if (this.options.subMenuTrigger === 'hover') { + // 临时存储 setTimeout 对象 + let timeout = null; + let timeoutOpen = null; + this.$element.on('mouseover mouseout', '.mdui-menu-item', function (event) { + const $item = $(this); + const eventType = event.type; + const $relatedTarget = $(event.relatedTarget); + // 禁用状态的菜单不操作 + if ($item.attr('disabled') !== undefined) { + return; + } + // 用 mouseover 模拟 mouseenter + if (eventType === 'mouseover') { + if (!$item.is($relatedTarget) && + contains($item[0], $relatedTarget[0])) { + return; + } + } + // 用 mouseout 模拟 mouseleave + else if (eventType === 'mouseout') { + if ($item.is($relatedTarget) || + contains($item[0], $relatedTarget[0])) { + return; + } + } + // 当前菜单项下的子菜单,未必存在 + const $submenu = $item.children('.mdui-menu'); + // 鼠标移入菜单项时,显示菜单项下的子菜单 + if (eventType === 'mouseover') { + if ($submenu.length) { + // 当前子菜单准备打开时,如果当前子菜单正准备着关闭,不用再关闭了 + const tmpClose = $submenu.data('timeoutClose.mdui.menu'); + if (tmpClose) { + clearTimeout(tmpClose); + } + // 如果当前子菜单已经打开,不操作 + if ($submenu.hasClass('mdui-menu-open')) { + return; + } + // 当前子菜单准备打开时,其他准备打开的子菜单不用再打开了 + clearTimeout(timeoutOpen); + // 准备打开当前子菜单 + timeout = timeoutOpen = setTimeout(() => that.openSubMenu($submenu), that.options.subMenuDelay); + $submenu.data('timeoutOpen.mdui.menu', timeout); + } + } + // 鼠标移出菜单项时,关闭菜单项下的子菜单 + else if (eventType === 'mouseout') { + if ($submenu.length) { + // 鼠标移出菜单项时,如果当前菜单项下的子菜单正准备打开,不用再打开了 + const tmpOpen = $submenu.data('timeoutOpen.mdui.menu'); + if (tmpOpen) { + clearTimeout(tmpOpen); + } + // 准备关闭当前子菜单 + timeout = setTimeout(() => that.closeSubMenu($submenu), that.options.subMenuDelay); + $submenu.data('timeoutClose.mdui.menu', timeout); + } + } + }); + } + } + /** + * 动画结束回调 + */ + transitionEnd() { + this.$element.removeClass('mdui-menu-closing'); + if (this.state === 'opening') { + this.state = 'opened'; + this.triggerEvent('opened'); + } + if (this.state === 'closing') { + this.state = 'closed'; + this.triggerEvent('closed'); + // 关闭后,恢复菜单样式到默认状态,并恢复 fixed 定位 + this.$element.css({ + top: '', + left: '', + width: '', + position: 'fixed', + }); + } + } + /** + * 切换菜单状态 + */ + toggle() { + this.isOpen() ? this.close() : this.open(); + } + /** + * 打开菜单 + */ + open() { + if (this.isOpen()) { + return; + } + this.state = 'opening'; + this.triggerEvent('open'); + this.readjust(); + this.$element + // 菜单隐藏状态使用使用 fixed 定位。 + .css('position', this.options.fixed ? 'fixed' : 'absolute') + .addClass('mdui-menu-open') + .transitionEnd(() => this.transitionEnd()); + } + /** + * 关闭菜单 + */ + close() { + if (!this.isOpen()) { + return; + } + this.state = 'closing'; + this.triggerEvent('close'); + // 菜单开始关闭时,关闭所有子菜单 + this.$element.find('.mdui-menu').each((_, submenu) => { + this.closeSubMenu($(submenu)); + }); + this.$element + .removeClass('mdui-menu-open') + .addClass('mdui-menu-closing') + .transitionEnd(() => this.transitionEnd()); + } +} +mdui.Menu = Menu; + +const customAttr$9 = 'mdui-menu'; +const dataName$3 = '_mdui_menu'; +$(() => { + $document.on('click', `[${customAttr$9}]`, function () { + const $this = $(this); + let instance = $this.data(dataName$3); + if (!instance) { + const options = parseOptions(this, customAttr$9); + const menuSelector = options.target; + // @ts-ignore + delete options.target; + instance = new mdui.Menu($this, menuSelector, options); + $this.data(dataName$3, instance); + instance.toggle(); + } + }); +}); + +export default mdui; +//# sourceMappingURL=mdui.esm.js.map diff --git a/static/mdui/js/mdui.esm.js.map b/static/mdui/js/mdui.esm.js.map new file mode 100644 index 0000000..d62fda2 --- /dev/null +++ b/static/mdui/js/mdui.esm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mdui.esm.js","sources":["../../node_modules/mdui.jq/es/utils.js","../../node_modules/mdui.jq/es/functions/each.js","../../node_modules/mdui.jq/es/JQ.js","../../node_modules/mdui.jq/es/$.js","../../src/mdui.ts","../../node_modules/mdui.jq/es/methods/each.js","../../node_modules/mdui.jq/es/functions/contains.js","../../node_modules/mdui.jq/es/functions/merge.js","../../node_modules/mdui.jq/es/methods/get.js","../../node_modules/mdui.jq/es/methods/find.js","../../node_modules/mdui.jq/es/methods/utils/event.js","../../node_modules/mdui.jq/es/methods/trigger.js","../../node_modules/mdui.jq/es/functions/extend.js","../../node_modules/mdui.jq/es/functions/param.js","../../node_modules/mdui.jq/es/functions/utils/ajax.js","../../node_modules/mdui.jq/es/functions/ajax.js","../../node_modules/mdui.jq/es/static/ajax.js","../../node_modules/mdui.jq/es/functions/ajaxSetup.js","../../node_modules/mdui.jq/es/static/ajaxSetup.js","../../node_modules/mdui.jq/es/static/contains.js","../../node_modules/mdui.jq/es/functions/utils/data.js","../../node_modules/mdui.jq/es/functions/data.js","../../node_modules/mdui.jq/es/static/data.js","../../node_modules/mdui.jq/es/static/each.js","../../node_modules/mdui.jq/es/static/extend.js","../../node_modules/mdui.jq/es/functions/map.js","../../node_modules/mdui.jq/es/static/map.js","../../node_modules/mdui.jq/es/static/merge.js","../../node_modules/mdui.jq/es/static/param.js","../../node_modules/mdui.jq/es/functions/removeData.js","../../node_modules/mdui.jq/es/static/removeData.js","../../node_modules/mdui.jq/es/functions/unique.js","../../node_modules/mdui.jq/es/static/unique.js","../../node_modules/mdui.jq/es/methods/add.js","../../node_modules/mdui.jq/es/methods/addClass.js","../../node_modules/mdui.jq/es/methods/insertBefore.js","../../node_modules/mdui.jq/es/methods/before.js","../../node_modules/mdui.jq/es/methods/off.js","../../node_modules/mdui.jq/es/methods/on.js","../../node_modules/mdui.jq/es/methods/ajaxStart.js","../../node_modules/mdui.jq/es/methods/map.js","../../node_modules/mdui.jq/es/methods/clone.js","../../node_modules/mdui.jq/es/methods/is.js","../../node_modules/mdui.jq/es/methods/remove.js","../../node_modules/mdui.jq/es/methods/append.js","../../node_modules/mdui.jq/es/methods/appendTo.js","../../node_modules/mdui.jq/es/methods/attr.js","../../node_modules/mdui.jq/es/methods/children.js","../../node_modules/mdui.jq/es/methods/slice.js","../../node_modules/mdui.jq/es/methods/eq.js","../../node_modules/mdui.jq/es/methods/utils/dir.js","../../node_modules/mdui.jq/es/methods/parent.js","../../node_modules/mdui.jq/es/methods/closest.js","../../node_modules/mdui.jq/es/methods/data.js","../../node_modules/mdui.jq/es/methods/empty.js","../../node_modules/mdui.jq/es/methods/extend.js","../../node_modules/mdui.jq/es/methods/filter.js","../../node_modules/mdui.jq/es/methods/first.js","../../node_modules/mdui.jq/es/methods/has.js","../../node_modules/mdui.jq/es/methods/hasClass.js","../../node_modules/mdui.jq/es/methods/width.js","../../node_modules/mdui.jq/es/methods/hide.js","../../node_modules/mdui.jq/es/methods/val.js","../../node_modules/mdui.jq/es/methods/index.js","../../node_modules/mdui.jq/es/methods/last.js","../../node_modules/mdui.jq/es/methods/next.js","../../node_modules/mdui.jq/es/methods/not.js","../../node_modules/mdui.jq/es/methods/offsetParent.js","../../node_modules/mdui.jq/es/methods/position.js","../../node_modules/mdui.jq/es/methods/offset.js","../../node_modules/mdui.jq/es/methods/one.js","../../node_modules/mdui.jq/es/methods/prev.js","../../node_modules/mdui.jq/es/methods/removeAttr.js","../../node_modules/mdui.jq/es/methods/removeData.js","../../node_modules/mdui.jq/es/methods/removeProp.js","../../node_modules/mdui.jq/es/methods/replaceWith.js","../../node_modules/mdui.jq/es/methods/replaceAll.js","../../node_modules/mdui.jq/es/methods/serializeArray.js","../../node_modules/mdui.jq/es/methods/serialize.js","../../node_modules/mdui.jq/es/methods/show.js","../../node_modules/mdui.jq/es/methods/siblings.js","../../node_modules/mdui.jq/es/methods/toggle.js","../../src/jq_extends/methods/reflow.ts","../../src/jq_extends/methods/transition.ts","../../src/jq_extends/methods/transitionEnd.ts","../../src/jq_extends/methods/transformOrigin.ts","../../src/jq_extends/methods/transform.ts","../../src/utils/mutation.ts","../../src/jq_extends/methods/mutation.ts","../../src/jq_extends/static/showOverlay.ts","../../src/jq_extends/static/hideOverlay.ts","../../src/jq_extends/static/lockScreen.ts","../../src/jq_extends/static/unlockScreen.ts","../../src/jq_extends/static/throttle.ts","../../src/jq_extends/static/guid.ts","../../src/global/mutation.ts","../../src/utils/componentEvent.ts","../../src/utils/dom.ts","../../src/components/headroom/index.ts","../../src/utils/parseOptions.ts","../../src/components/headroom/customAttr.ts","../../src/components/collapse/collapseAbstract.ts","../../src/components/collapse/index.ts","../../src/components/collapse/customAttr.ts","../../src/components/panel/index.ts","../../src/components/panel/customAttr.ts","../../src/components/table/index.ts","../../src/utils/touchHandler.ts","../../src/components/ripple/index.ts","../../src/components/textfield/index.ts","../../src/components/slider/index.ts","../../src/components/fab/index.ts","../../src/components/fab/customAttr.ts","../../src/components/select/index.ts","../../src/components/select/customAttr.ts","../../src/components/appbar/index.ts","../../src/components/tab/index.ts","../../src/components/tab/customAttr.ts","../../src/components/drawer/index.ts","../../src/components/drawer/customAttr.ts","../../src/utils/queue.ts","../../src/components/dialog/class.ts","../../src/components/dialog/index.ts","../../src/components/dialog/customAttr.ts","../../src/components/dialog/dialog.ts","../../src/components/dialog/alert.ts","../../src/components/dialog/confirm.ts","../../src/components/dialog/prompt.ts","../../src/components/tooltip/index.ts","../../src/components/tooltip/customAttr.ts","../../src/components/snackbar/index.ts","../../src/components/bottom_nav/index.ts","../../src/components/progress/spinner.ts","../../src/components/menu/index.ts","../../src/components/menu/customAttr.ts"],"sourcesContent":["function isNodeName(element, name) {\n return element.nodeName.toLowerCase() === name.toLowerCase();\n}\nfunction isFunction(target) {\n return typeof target === 'function';\n}\nfunction isString(target) {\n return typeof target === 'string';\n}\nfunction isNumber(target) {\n return typeof target === 'number';\n}\nfunction isBoolean(target) {\n return typeof target === 'boolean';\n}\nfunction isUndefined(target) {\n return typeof target === 'undefined';\n}\nfunction isNull(target) {\n return target === null;\n}\nfunction isWindow(target) {\n return target instanceof Window;\n}\nfunction isDocument(target) {\n return target instanceof Document;\n}\nfunction isElement(target) {\n return target instanceof Element;\n}\nfunction isNode(target) {\n return target instanceof Node;\n}\n/**\n * 是否是 IE 浏览器\n */\nfunction isIE() {\n // @ts-ignore\n return !!window.document.documentMode;\n}\nfunction isArrayLike(target) {\n if (isFunction(target) || isWindow(target)) {\n return false;\n }\n return isNumber(target.length);\n}\nfunction isObjectLike(target) {\n return typeof target === 'object' && target !== null;\n}\nfunction toElement(target) {\n return isDocument(target) ? target.documentElement : target;\n}\n/**\n * 把用 - 分隔的字符串转为驼峰(如 box-sizing 转换为 boxSizing)\n * @param string\n */\nfunction toCamelCase(string) {\n return string\n .replace(/^-ms-/, 'ms-')\n .replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n/**\n * 把驼峰法转为用 - 分隔的字符串(如 boxSizing 转换为 box-sizing)\n * @param string\n */\nfunction toKebabCase(string) {\n return string.replace(/[A-Z]/g, (replacer) => '-' + replacer.toLowerCase());\n}\n/**\n * 获取元素的样式值\n * @param element\n * @param name\n */\nfunction getComputedStyleValue(element, name) {\n return window.getComputedStyle(element).getPropertyValue(toKebabCase(name));\n}\n/**\n * 检查元素的 box-sizing 是否是 border-box\n * @param element\n */\nfunction isBorderBox(element) {\n return getComputedStyleValue(element, 'box-sizing') === 'border-box';\n}\n/**\n * 获取元素的 padding, border, margin 宽度(两侧宽度的和,单位为px)\n * @param element\n * @param direction\n * @param extra\n */\nfunction getExtraWidth(element, direction, extra) {\n const position = direction === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n return [0, 1].reduce((prev, _, index) => {\n let prop = extra + position[index];\n if (extra === 'border') {\n prop += 'Width';\n }\n return prev + parseFloat(getComputedStyleValue(element, prop) || '0');\n }, 0);\n}\n/**\n * 获取元素的样式值,对 width 和 height 进行过处理\n * @param element\n * @param name\n */\nfunction getStyle(element, name) {\n // width、height 属性使用 getComputedStyle 得到的值不准确,需要使用 getBoundingClientRect 获取\n if (name === 'width' || name === 'height') {\n const valueNumber = element.getBoundingClientRect()[name];\n if (isBorderBox(element)) {\n return `${valueNumber}px`;\n }\n return `${valueNumber -\n getExtraWidth(element, name, 'border') -\n getExtraWidth(element, name, 'padding')}px`;\n }\n return getComputedStyleValue(element, name);\n}\n/**\n * 获取子节点组成的数组\n * @param target\n * @param parent\n */\nfunction getChildNodesArray(target, parent) {\n const tempParent = document.createElement(parent);\n tempParent.innerHTML = target;\n return [].slice.call(tempParent.childNodes);\n}\n/**\n * 始终返回 false 的函数\n */\nfunction returnFalse() {\n return false;\n}\n/**\n * 数值单位的 CSS 属性\n */\nconst cssNumber = [\n 'animationIterationCount',\n 'columnCount',\n 'fillOpacity',\n 'flexGrow',\n 'flexShrink',\n 'fontWeight',\n 'gridArea',\n 'gridColumn',\n 'gridColumnEnd',\n 'gridColumnStart',\n 'gridRow',\n 'gridRowEnd',\n 'gridRowStart',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'widows',\n 'zIndex',\n 'zoom',\n];\nexport { isNodeName, isArrayLike, isObjectLike, isFunction, isString, isNumber, isBoolean, isUndefined, isNull, isWindow, isDocument, isElement, isNode, isIE, toElement, toCamelCase, toKebabCase, getComputedStyleValue, isBorderBox, getExtraWidth, getStyle, getChildNodesArray, returnFalse, cssNumber, };\n","import { isArrayLike } from '../utils';\nfunction each(target, callback) {\n if (isArrayLike(target)) {\n for (let i = 0; i < target.length; i += 1) {\n if (callback.call(target[i], i, target[i]) === false) {\n return target;\n }\n }\n }\n else {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i += 1) {\n if (callback.call(target[keys[i]], keys[i], target[keys[i]]) === false) {\n return target;\n }\n }\n }\n return target;\n}\nexport default each;\n","import each from './functions/each';\n/**\n * 为了使用模块扩充,这里不能使用默认导出\n */\nexport class JQ {\n constructor(arr) {\n this.length = 0;\n if (!arr) {\n return this;\n }\n each(arr, (i, item) => {\n // @ts-ignore\n this[i] = item;\n });\n this.length = arr.length;\n return this;\n }\n}\n","import each from './functions/each';\nimport { JQ } from './JQ';\nimport { getChildNodesArray, isArrayLike, isFunction, isNode, isString, } from './utils';\nfunction get$() {\n const $ = function (selector) {\n if (!selector) {\n return new JQ();\n }\n // JQ\n if (selector instanceof JQ) {\n return selector;\n }\n // function\n if (isFunction(selector)) {\n if (/complete|loaded|interactive/.test(document.readyState) &&\n document.body) {\n selector.call(document, $);\n }\n else {\n document.addEventListener('DOMContentLoaded', () => selector.call(document, $), false);\n }\n return new JQ([document]);\n }\n // String\n if (isString(selector)) {\n const html = selector.trim();\n // 根据 HTML 字符串创建 JQ 对象\n if (html[0] === '<' && html[html.length - 1] === '>') {\n let toCreate = 'div';\n const tags = {\n li: 'ul',\n tr: 'tbody',\n td: 'tr',\n th: 'tr',\n tbody: 'table',\n option: 'select',\n };\n each(tags, (childTag, parentTag) => {\n if (html.indexOf(`<${childTag}`) === 0) {\n toCreate = parentTag;\n return false;\n }\n return;\n });\n return new JQ(getChildNodesArray(html, toCreate));\n }\n // 根据 CSS 选择器创建 JQ 对象\n const isIdSelector = selector[0] === '#' && !selector.match(/[ .<>:~]/);\n if (!isIdSelector) {\n return new JQ(document.querySelectorAll(selector));\n }\n const element = document.getElementById(selector.slice(1));\n if (element) {\n return new JQ([element]);\n }\n return new JQ();\n }\n if (isArrayLike(selector) && !isNode(selector)) {\n return new JQ(selector);\n }\n return new JQ([selector]);\n };\n $.fn = JQ.prototype;\n return $;\n}\nconst $ = get$();\nexport default $;\n","import { MduiStatic } from './interfaces/MduiStatic';\nimport $ from 'mdui.jq/es/$';\n\n// 避免页面加载完后直接执行css动画\n// https://css-tricks.com/transitions-only-after-page-load/\nsetTimeout(() => $('body').addClass('mdui-loaded'));\n\nconst mdui = {\n $: $,\n} as MduiStatic;\n\nexport default mdui;\n","import $ from '../$';\nimport each from '../functions/each';\n$.fn.each = function (callback) {\n return each(this, callback);\n};\n","import { toElement } from '../utils';\n/**\n * 检查 container 元素内是否包含 contains 元素\n * @param container 父元素\n * @param contains 子元素\n * @example\n```js\ncontains( document, document.body ); // true\ncontains( document.getElementById('test'), document ); // false\ncontains( $('.container').get(0), $('.contains').get(0) ); // false\n```\n */\nfunction contains(container, contains) {\n return container !== contains && toElement(container).contains(contains);\n}\nexport default contains;\n","import each from './each';\n/**\n * 把第二个数组的元素追加到第一个数组中,并返回合并后的数组\n * @param first 第一个数组\n * @param second 该数组的元素将被追加到第一个数组中\n * @example\n```js\nmerge( [ 0, 1, 2 ], [ 2, 3, 4 ] )\n// [ 0, 1, 2, 2, 3, 4 ]\n```\n */\nfunction merge(first, second) {\n each(second, (_, value) => {\n first.push(value);\n });\n return first;\n}\nexport default merge;\n","import $ from '../$';\n$.fn.get = function (index) {\n return index === undefined\n ? [].slice.call(this)\n : this[index >= 0 ? index : index + this.length];\n};\n","import $ from '../$';\nimport merge from '../functions/merge';\nimport { JQ } from '../JQ';\nimport './each';\nimport './get';\n$.fn.find = function (selector) {\n const foundElements = [];\n this.each((_, element) => {\n merge(foundElements, $(element.querySelectorAll(selector)).get());\n });\n return new JQ(foundElements);\n};\n","import $ from '../../$';\nimport contains from '../../functions/contains';\nimport { isObjectLike } from '../../utils';\nimport '../find';\n// 存储事件\nconst handlers = {};\n// 元素ID\nlet mduiElementId = 1;\n/**\n * 为元素赋予一个唯一的ID\n */\nfunction getElementId(element) {\n const key = '_mduiEventId';\n // @ts-ignore\n if (!element[key]) {\n // @ts-ignore\n element[key] = ++mduiElementId;\n }\n // @ts-ignore\n return element[key];\n}\n/**\n * 解析事件名中的命名空间\n */\nfunction parse(type) {\n const parts = type.split('.');\n return {\n type: parts[0],\n ns: parts.slice(1).sort().join(' '),\n };\n}\n/**\n * 命名空间匹配规则\n */\nfunction matcherFor(ns) {\n return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)');\n}\n/**\n * 获取匹配的事件\n * @param element\n * @param type\n * @param func\n * @param selector\n */\nfunction getHandlers(element, type, func, selector) {\n const event = parse(type);\n return (handlers[getElementId(element)] || []).filter((handler) => handler &&\n (!event.type || handler.type === event.type) &&\n (!event.ns || matcherFor(event.ns).test(handler.ns)) &&\n (!func || getElementId(handler.func) === getElementId(func)) &&\n (!selector || handler.selector === selector));\n}\n/**\n * 添加事件监听\n * @param element\n * @param types\n * @param func\n * @param data\n * @param selector\n */\nfunction add(element, types, func, data, selector) {\n const elementId = getElementId(element);\n if (!handlers[elementId]) {\n handlers[elementId] = [];\n }\n // 传入 data.useCapture 来设置 useCapture: true\n let useCapture = false;\n if (isObjectLike(data) && data.useCapture) {\n useCapture = true;\n }\n types.split(' ').forEach((type) => {\n if (!type) {\n return;\n }\n const event = parse(type);\n function callFn(e, elem) {\n // 因为鼠标事件模拟事件的 detail 属性是只读的,因此在 e._detail 中存储参数\n const result = func.apply(elem, \n // @ts-ignore\n e._detail === undefined ? [e] : [e].concat(e._detail));\n if (result === false) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n function proxyFn(e) {\n // @ts-ignore\n if (e._ns && !matcherFor(e._ns).test(event.ns)) {\n return;\n }\n // @ts-ignore\n e._data = data;\n if (selector) {\n // 事件代理\n $(element)\n .find(selector)\n .get()\n .reverse()\n .forEach((elem) => {\n if (elem === e.target ||\n contains(elem, e.target)) {\n callFn(e, elem);\n }\n });\n }\n else {\n // 不使用事件代理\n callFn(e, element);\n }\n }\n const handler = {\n type: event.type,\n ns: event.ns,\n func,\n selector,\n id: handlers[elementId].length,\n proxy: proxyFn,\n };\n handlers[elementId].push(handler);\n element.addEventListener(handler.type, proxyFn, useCapture);\n });\n}\n/**\n * 移除事件监听\n * @param element\n * @param types\n * @param func\n * @param selector\n */\nfunction remove(element, types, func, selector) {\n const handlersInElement = handlers[getElementId(element)] || [];\n const removeEvent = (handler) => {\n delete handlersInElement[handler.id];\n element.removeEventListener(handler.type, handler.proxy, false);\n };\n if (!types) {\n handlersInElement.forEach((handler) => removeEvent(handler));\n }\n else {\n types.split(' ').forEach((type) => {\n if (type) {\n getHandlers(element, type, func, selector).forEach((handler) => removeEvent(handler));\n }\n });\n }\n}\nexport { parse, add, remove };\n","import $ from '../$';\nimport './each';\nimport { parse } from './utils/event';\n$.fn.trigger = function (type, extraParameters) {\n const event = parse(type);\n let eventObject;\n const eventParams = {\n bubbles: true,\n cancelable: true,\n };\n const isMouseEvent = ['click', 'mousedown', 'mouseup', 'mousemove'].indexOf(event.type) > -1;\n if (isMouseEvent) {\n // Note: MouseEvent 无法传入 detail 参数\n eventObject = new MouseEvent(event.type, eventParams);\n }\n else {\n eventParams.detail = extraParameters;\n eventObject = new CustomEvent(event.type, eventParams);\n }\n // @ts-ignore\n eventObject._detail = extraParameters;\n // @ts-ignore\n eventObject._ns = event.ns;\n return this.each(function () {\n this.dispatchEvent(eventObject);\n });\n};\n","import each from '../functions/each';\nimport { isUndefined } from '../utils';\nfunction extend(target, object1, ...objectN) {\n objectN.unshift(object1);\n each(objectN, (_, object) => {\n each(object, (prop, value) => {\n if (!isUndefined(value)) {\n target[prop] = value;\n }\n });\n });\n return target;\n}\nexport default extend;\n","import { isObjectLike } from '../utils';\nimport each from './each';\n/**\n * 将数组或对象序列化,序列化后的字符串可作为 URL 查询字符串使用\n *\n * 若传入数组,则格式必须和 serializeArray 方法的返回值一样\n * @param obj 对象或数组\n * @example\n```js\nparam({ width: 1680, height: 1050 });\n// width=1680&height=1050\n```\n * @example\n```js\nparam({ foo: { one: 1, two: 2 }})\n// foo[one]=1&foo[two]=2\n```\n * @example\n```js\nparam({ids: [1, 2, 3]})\n// ids[]=1&ids[]=2&ids[]=3\n```\n * @example\n```js\nparam([\n {\"name\":\"name\",\"value\":\"mdui\"},\n {\"name\":\"password\",\"value\":\"123456\"}\n])\n// name=mdui&password=123456\n```\n */\nfunction param(obj) {\n if (!isObjectLike(obj) && !Array.isArray(obj)) {\n return '';\n }\n const args = [];\n function destructure(key, value) {\n let keyTmp;\n if (isObjectLike(value)) {\n each(value, (i, v) => {\n if (Array.isArray(value) && !isObjectLike(v)) {\n keyTmp = '';\n }\n else {\n keyTmp = i;\n }\n destructure(`${key}[${keyTmp}]`, v);\n });\n }\n else {\n if (value == null || value === '') {\n keyTmp = '=';\n }\n else {\n keyTmp = `=${encodeURIComponent(value)}`;\n }\n args.push(encodeURIComponent(key) + keyTmp);\n }\n }\n if (Array.isArray(obj)) {\n each(obj, function () {\n destructure(this.name, this.value);\n });\n }\n else {\n each(obj, destructure);\n }\n return args.join('&');\n}\nexport default param;\n","// 全局配置参数\nconst globalOptions = {};\n// 全局事件名\nconst ajaxEvents = {\n ajaxStart: 'start.mdui.ajax',\n ajaxSuccess: 'success.mdui.ajax',\n ajaxError: 'error.mdui.ajax',\n ajaxComplete: 'complete.mdui.ajax',\n};\nexport { globalOptions, ajaxEvents };\n","import $ from '../$';\nimport '../methods/trigger';\nimport { isString, isUndefined } from '../utils';\nimport each from './each';\nimport extend from './extend';\nimport param from './param';\nimport { ajaxEvents, globalOptions } from './utils/ajax';\n/**\n * 判断此请求方法是否通过查询字符串提交参数\n * @param method 请求方法,大写\n */\nfunction isQueryStringData(method) {\n return ['GET', 'HEAD'].indexOf(method) >= 0;\n}\n/**\n * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ?\n * @param url\n * @param query\n */\nfunction appendQuery(url, query) {\n return `${url}&${query}`.replace(/[&?]{1,2}/, '?');\n}\n/**\n * 合并请求参数,参数优先级:options > globalOptions > defaults\n * @param options\n */\nfunction mergeOptions(options) {\n // 默认参数\n const defaults = {\n url: '',\n method: 'GET',\n data: '',\n processData: true,\n async: true,\n cache: true,\n username: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n dataType: 'text',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0,\n global: true,\n };\n // globalOptions 中的回调函数不合并\n each(globalOptions, (key, value) => {\n const callbacks = [\n 'beforeSend',\n 'success',\n 'error',\n 'complete',\n 'statusCode',\n ];\n // @ts-ignore\n if (callbacks.indexOf(key) < 0 && !isUndefined(value)) {\n defaults[key] = value;\n }\n });\n return extend({}, defaults, options);\n}\n/**\n * 发送 ajax 请求\n * @param options\n * @example\n```js\najax({\n method: \"POST\",\n url: \"some.php\",\n data: { name: \"John\", location: \"Boston\" }\n}).then(function( msg ) {\n alert( \"Data Saved: \" + msg );\n});\n```\n */\nfunction ajax(options) {\n // 是否已取消请求\n let isCanceled = false;\n // 事件参数\n const eventParams = {};\n // 参数合并\n const mergedOptions = mergeOptions(options);\n let url = mergedOptions.url || window.location.toString();\n const method = mergedOptions.method.toUpperCase();\n let data = mergedOptions.data;\n const processData = mergedOptions.processData;\n const async = mergedOptions.async;\n const cache = mergedOptions.cache;\n const username = mergedOptions.username;\n const password = mergedOptions.password;\n const headers = mergedOptions.headers;\n const xhrFields = mergedOptions.xhrFields;\n const statusCode = mergedOptions.statusCode;\n const dataType = mergedOptions.dataType;\n const contentType = mergedOptions.contentType;\n const timeout = mergedOptions.timeout;\n const global = mergedOptions.global;\n // 需要发送的数据\n // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换\n if (data &&\n (isQueryStringData(method) || processData) &&\n !isString(data) &&\n !(data instanceof ArrayBuffer) &&\n !(data instanceof Blob) &&\n !(data instanceof Document) &&\n !(data instanceof FormData)) {\n data = param(data);\n }\n // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中\n if (data && isQueryStringData(method)) {\n // 查询字符串拼接到 URL 中\n url = appendQuery(url, data);\n data = null;\n }\n /**\n * 触发事件和回调函数\n * @param event\n * @param params\n * @param callback\n * @param args\n */\n function trigger(event, params, callback, ...args) {\n // 触发全局事件\n if (global) {\n $(document).trigger(event, params);\n }\n // 触发 ajax 回调和事件\n let result1;\n let result2;\n if (callback) {\n // 全局回调\n if (callback in globalOptions) {\n // @ts-ignore\n result1 = globalOptions[callback](...args);\n }\n // 自定义回调\n if (mergedOptions[callback]) {\n // @ts-ignore\n result2 = mergedOptions[callback](...args);\n }\n // beforeSend 回调返回 false 时取消 ajax 请求\n if (callback === 'beforeSend' &&\n (result1 === false || result2 === false)) {\n isCanceled = true;\n }\n }\n }\n // XMLHttpRequest 请求\n function XHR() {\n let textStatus;\n return new Promise((resolve, reject) => {\n // GET/HEAD 请求的缓存处理\n if (isQueryStringData(method) && !cache) {\n url = appendQuery(url, `_=${Date.now()}`);\n }\n // 创建 XHR\n const xhr = new XMLHttpRequest();\n xhr.open(method, url, async, username, password);\n if (contentType ||\n (data && !isQueryStringData(method) && contentType !== false)) {\n xhr.setRequestHeader('Content-Type', contentType);\n }\n // 设置 Accept\n if (dataType === 'json') {\n xhr.setRequestHeader('Accept', 'application/json, text/javascript');\n }\n // 添加 headers\n if (headers) {\n each(headers, (key, value) => {\n // undefined 值不发送,string 和 null 需要发送\n if (!isUndefined(value)) {\n xhr.setRequestHeader(key, value + ''); // 把 null 转换成字符串\n }\n });\n }\n // 检查是否是跨域请求,跨域请求时不添加 X-Requested-With\n const crossDomain = /^([\\w-]+:)?\\/\\/([^/]+)/.test(url) &&\n RegExp.$2 !== window.location.host;\n if (!crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n if (xhrFields) {\n each(xhrFields, (key, value) => {\n // @ts-ignore\n xhr[key] = value;\n });\n }\n eventParams.xhr = xhr;\n eventParams.options = mergedOptions;\n let xhrTimeout;\n xhr.onload = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n // AJAX 返回的 HTTP 响应码是否表示成功\n const isHttpStatusSuccess = (xhr.status >= 200 && xhr.status < 300) ||\n xhr.status === 304 ||\n xhr.status === 0;\n let responseData;\n if (isHttpStatusSuccess) {\n if (xhr.status === 204 || method === 'HEAD') {\n textStatus = 'nocontent';\n }\n else if (xhr.status === 304) {\n textStatus = 'notmodified';\n }\n else {\n textStatus = 'success';\n }\n if (dataType === 'json') {\n try {\n responseData =\n method === 'HEAD' ? undefined : JSON.parse(xhr.responseText);\n eventParams.data = responseData;\n }\n catch (err) {\n textStatus = 'parsererror';\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus);\n reject(new Error(textStatus));\n }\n if (textStatus !== 'parsererror') {\n trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n }\n else {\n responseData =\n method === 'HEAD'\n ? undefined\n : xhr.responseType === 'text' || xhr.responseType === ''\n ? xhr.responseText\n : xhr.response;\n eventParams.data = responseData;\n trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n }\n else {\n textStatus = 'error';\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus);\n reject(new Error(textStatus));\n }\n // statusCode\n each([globalOptions.statusCode, statusCode], (_, func) => {\n if (func && func[xhr.status]) {\n if (isHttpStatusSuccess) {\n func[xhr.status](responseData, textStatus, xhr);\n }\n else {\n func[xhr.status](xhr, textStatus);\n }\n }\n });\n trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, textStatus);\n };\n xhr.onerror = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, xhr.statusText);\n trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, 'error');\n reject(new Error(xhr.statusText));\n };\n xhr.onabort = function () {\n let statusText = 'abort';\n if (xhrTimeout) {\n statusText = 'timeout';\n clearTimeout(xhrTimeout);\n }\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, statusText);\n trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, statusText);\n reject(new Error(statusText));\n };\n // ajax start 回调\n trigger(ajaxEvents.ajaxStart, eventParams, 'beforeSend', xhr);\n if (isCanceled) {\n reject(new Error('cancel'));\n return;\n }\n // Timeout\n if (timeout > 0) {\n xhrTimeout = setTimeout(() => {\n xhr.abort();\n }, timeout);\n }\n // 发送 XHR\n xhr.send(data);\n });\n }\n return XHR();\n}\nexport default ajax;\n","import $ from '../$';\nimport ajax from '../functions/ajax';\n$.ajax = ajax;\n","import extend from '../functions/extend';\nimport { globalOptions } from './utils/ajax';\n/**\n * 为 Ajax 请求设置全局配置参数\n * @param options 键值对参数\n * @example\n```js\najaxSetup({\n dataType: 'json',\n method: 'POST',\n});\n```\n */\nfunction ajaxSetup(options) {\n return extend(globalOptions, options);\n}\nexport default ajaxSetup;\n","import $ from '../$';\nimport ajaxSetup from '../functions/ajaxSetup';\n$.ajaxSetup = ajaxSetup;\n","import $ from '../$';\nimport contains from '../functions/contains';\n$.contains = contains;\n","const dataNS = '_mduiElementDataStorage';\nexport default dataNS;\n","import { isObjectLike, isUndefined, toCamelCase } from '../utils';\nimport each from './each';\nimport dataNS from './utils/data';\n/**\n * 在元素上设置键值对数据\n * @param element\n * @param object\n */\nfunction setObjectToElement(element, object) {\n // @ts-ignore\n if (!element[dataNS]) {\n // @ts-ignore\n element[dataNS] = {};\n }\n each(object, (key, value) => {\n // @ts-ignore\n element[dataNS][toCamelCase(key)] = value;\n });\n}\nfunction data(element, key, value) {\n // 根据键值对设置值\n // data(element, { 'key' : 'value' })\n if (isObjectLike(key)) {\n setObjectToElement(element, key);\n return key;\n }\n // 根据 key、value 设置值\n // data(element, 'key', 'value')\n if (!isUndefined(value)) {\n setObjectToElement(element, { [key]: value });\n return value;\n }\n // 获取所有值\n // data(element)\n if (isUndefined(key)) {\n // @ts-ignore\n return element[dataNS] ? element[dataNS] : {};\n }\n // 从 dataNS 中获取指定值\n // data(element, 'key')\n key = toCamelCase(key);\n // @ts-ignore\n if (element[dataNS] && key in element[dataNS]) {\n // @ts-ignore\n return element[dataNS][key];\n }\n return undefined;\n}\nexport default data;\n","import $ from '../$';\nimport data from '../functions/data';\n$.data = data;\n","import $ from '../$';\nimport each from '../functions/each';\n$.each = each;\n","import $ from '../$';\nimport each from '../functions/each';\nimport extend from '../functions/extend';\n$.extend = function (...objectN) {\n if (objectN.length === 1) {\n each(objectN[0], (prop, value) => {\n this[prop] = value;\n });\n return this;\n }\n return extend(objectN.shift(), objectN.shift(), ...objectN);\n};\n","import each from './each';\nfunction map(elements, callback) {\n let value;\n const ret = [];\n each(elements, (i, element) => {\n value = callback.call(window, element, i);\n if (value != null) {\n ret.push(value);\n }\n });\n return [].concat(...ret);\n}\nexport default map;\n","import $ from '../$';\nimport map from '../functions/map';\n$.map = map;\n","import $ from '../$';\nimport merge from '../functions/merge';\n$.merge = merge;\n","import $ from '../$';\nimport param from '../functions/param';\n$.param = param;\n","import each from '../functions/each';\nimport { isUndefined, isString, toCamelCase } from '../utils';\nimport dataNS from './utils/data';\n/**\n * 移除指定元素上存放的数据\n * @param element 存放数据的元素\n * @param name\n * 数据键名\n *\n * 若未指定键名,将移除元素上所有数据\n *\n * 多个键名可以用空格分隔,或者用数组表示多个键名\n @example\n```js\n// 移除元素上键名为 name 的数据\nremoveData(document.body, 'name');\n```\n * @example\n```js\n// 移除元素上键名为 name1 和 name2 的数据\nremoveData(document.body, 'name1 name2');\n```\n * @example\n```js\n// 移除元素上键名为 name1 和 name2 的数据\nremoveData(document.body, ['name1', 'name2']);\n```\n * @example\n```js\n// 移除元素上所有数据\nremoveData(document.body);\n```\n */\nfunction removeData(element, name) {\n // @ts-ignore\n if (!element[dataNS]) {\n return;\n }\n const remove = (nameItem) => {\n nameItem = toCamelCase(nameItem);\n // @ts-ignore\n if (element[dataNS][nameItem]) {\n // @ts-ignore\n element[dataNS][nameItem] = null;\n // @ts-ignore\n delete element[dataNS][nameItem];\n }\n };\n if (isUndefined(name)) {\n // @ts-ignore\n element[dataNS] = null;\n // @ts-ignore\n delete element[dataNS];\n // @ts-ignore\n }\n else if (isString(name)) {\n name\n .split(' ')\n .filter((nameItem) => nameItem)\n .forEach((nameItem) => remove(nameItem));\n }\n else {\n each(name, (_, nameItem) => remove(nameItem));\n }\n}\nexport default removeData;\n","import $ from '../$';\nimport removeData from '../functions/removeData';\n$.removeData = removeData;\n","import each from './each';\n/**\n * 过滤掉数组中的重复元素\n * @param arr 数组\n * @example\n```js\nunique([1, 2, 12, 3, 2, 1, 2, 1, 1]);\n// [1, 2, 12, 3]\n```\n */\nfunction unique(arr) {\n const result = [];\n each(arr, (_, val) => {\n if (result.indexOf(val) === -1) {\n result.push(val);\n }\n });\n return result;\n}\nexport default unique;\n","import $ from '../$';\nimport unique from '../functions/unique';\n$.unique = unique;\n","import $ from '../$';\nimport merge from '../functions/merge';\nimport unique from '../functions/unique';\nimport { JQ } from '../JQ';\nimport './get';\n$.fn.add = function (selector) {\n return new JQ(unique(merge(this.get(), $(selector).get())));\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isElement, isFunction } from '../utils';\nimport './each';\neach(['add', 'remove', 'toggle'], (_, name) => {\n $.fn[`${name}Class`] = function (className) {\n if (name === 'remove' && !arguments.length) {\n return this.each((_, element) => {\n element.setAttribute('class', '');\n });\n }\n return this.each((i, element) => {\n if (!isElement(element)) {\n return;\n }\n const classes = (isFunction(className)\n ? className.call(element, i, element.getAttribute('class') || '')\n : className)\n .split(' ')\n .filter((name) => name);\n each(classes, (_, cls) => {\n element.classList[name](cls);\n });\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport './each';\neach(['insertBefore', 'insertAfter'], (nameIndex, name) => {\n $.fn[name] = function (target) {\n const $element = nameIndex ? $(this.get().reverse()) : this; // 顺序和 jQuery 保持一致\n const $target = $(target);\n const result = [];\n $target.each((index, target) => {\n if (!target.parentNode) {\n return;\n }\n $element.each((_, element) => {\n const newItem = index\n ? element.cloneNode(true)\n : element;\n const existingItem = nameIndex ? target.nextSibling : target;\n result.push(newItem);\n target.parentNode.insertBefore(newItem, existingItem);\n });\n });\n return $(nameIndex ? result.reverse() : result);\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport { getChildNodesArray, isFunction, isString, isElement } from '../utils';\nimport './each';\nimport './insertAfter';\nimport './insertBefore';\n/**\n * 是否不是 HTML 字符串(包裹在 <> 中)\n * @param target\n */\nfunction isPlainText(target) {\n return (isString(target) && (target[0] !== '<' || target[target.length - 1] !== '>'));\n}\neach(['before', 'after'], (nameIndex, name) => {\n $.fn[name] = function (...args) {\n // after 方法,多个参数需要按参数顺序添加到元素后面,所以需要将参数顺序反向处理\n if (nameIndex === 1) {\n args = args.reverse();\n }\n return this.each((index, element) => {\n const targets = isFunction(args[0])\n ? [args[0].call(element, index, element.innerHTML)]\n : args;\n each(targets, (_, target) => {\n let $target;\n if (isPlainText(target)) {\n $target = $(getChildNodesArray(target, 'div'));\n }\n else if (index && isElement(target)) {\n $target = $(target.cloneNode(true));\n }\n else {\n $target = $(target);\n }\n $target[nameIndex ? 'insertAfter' : 'insertBefore'](element);\n });\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isFunction, isObjectLike, returnFalse } from '../utils';\nimport './each';\nimport { remove } from './utils/event';\n$.fn.off = function (types, selector, callback) {\n // types 是对象\n if (isObjectLike(types)) {\n each(types, (type, fn) => {\n // this.off('click', undefined, function () {})\n // this.off('click', '.box', function () {})\n this.off(type, selector, fn);\n });\n return this;\n }\n // selector 不存在\n if (selector === false || isFunction(selector)) {\n callback = selector;\n selector = undefined;\n // this.off('click', undefined, function () {})\n }\n // callback 传入 `false`,相当于 `return false`\n if (callback === false) {\n callback = returnFalse;\n }\n return this.each(function () {\n remove(this, types, callback, selector);\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isObjectLike, isString, returnFalse } from '../utils';\nimport './each';\nimport './off';\nimport { add } from './utils/event';\n$.fn.on = function (types, selector, data, callback, one) {\n // types 可以是 type/func 对象\n if (isObjectLike(types)) {\n // (types-Object, selector, data)\n if (!isString(selector)) {\n // (types-Object, data)\n data = data || selector;\n selector = undefined;\n }\n each(types, (type, fn) => {\n // selector 和 data 都可能是 undefined\n // @ts-ignore\n this.on(type, selector, data, fn, one);\n });\n return this;\n }\n if (data == null && callback == null) {\n // (types, fn)\n callback = selector;\n data = selector = undefined;\n }\n else if (callback == null) {\n if (isString(selector)) {\n // (types, selector, fn)\n callback = data;\n data = undefined;\n }\n else {\n // (types, data, fn)\n callback = data;\n data = selector;\n selector = undefined;\n }\n }\n if (callback === false) {\n callback = returnFalse;\n }\n else if (!callback) {\n return this;\n }\n // $().one()\n if (one) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const _this = this;\n const origCallback = callback;\n callback = function (event) {\n _this.off(event.type, selector, callback);\n // eslint-disable-next-line prefer-rest-params\n return origCallback.apply(this, arguments);\n };\n }\n return this.each(function () {\n add(this, types, callback, data, selector);\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { ajaxEvents } from '../functions/utils/ajax';\nimport './on';\neach(ajaxEvents, (name, eventName) => {\n $.fn[name] = function (fn) {\n return this.on(eventName, (e, params) => {\n fn(e, params.xhr, params.options, params.data);\n });\n };\n});\n","import $ from '../$';\nimport map from '../functions/map';\nimport { JQ } from '../JQ';\n$.fn.map = function (callback) {\n return new JQ(map(this, (element, i) => callback.call(element, i, element)));\n};\n","import $ from '../$';\nimport './map';\n$.fn.clone = function () {\n return this.map(function () {\n return this.cloneNode(true);\n });\n};\n","import $ from '../$';\nimport { isDocument, isFunction, isString, isWindow } from '../utils';\nimport './each';\n$.fn.is = function (selector) {\n let isMatched = false;\n if (isFunction(selector)) {\n this.each((index, element) => {\n if (selector.call(element, index, element)) {\n isMatched = true;\n }\n });\n return isMatched;\n }\n if (isString(selector)) {\n this.each((_, element) => {\n if (isDocument(element) || isWindow(element)) {\n return;\n }\n // @ts-ignore\n const matches = element.matches || element.msMatchesSelector;\n if (matches.call(element, selector)) {\n isMatched = true;\n }\n });\n return isMatched;\n }\n const $compareWith = $(selector);\n this.each((_, element) => {\n $compareWith.each((_, compare) => {\n if (element === compare) {\n isMatched = true;\n }\n });\n });\n return isMatched;\n};\n","import $ from '../$';\nimport './each';\nimport './is';\n$.fn.remove = function (selector) {\n return this.each((_, element) => {\n if (element.parentNode && (!selector || $(element).is(selector))) {\n element.parentNode.removeChild(element);\n }\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isFunction, isString } from '../utils';\nimport './after';\nimport './before';\nimport './clone';\nimport './each';\nimport './map';\nimport './remove';\neach(['prepend', 'append'], (nameIndex, name) => {\n $.fn[name] = function (...args) {\n return this.each((index, element) => {\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n const child = childLength\n ? childNodes[nameIndex ? childLength - 1 : 0]\n : document.createElement('div');\n if (!childLength) {\n element.appendChild(child);\n }\n let contents = isFunction(args[0])\n ? [args[0].call(element, index, element.innerHTML)]\n : args;\n // 如果不是字符串,则仅第一个元素使用原始元素,其他的都克隆自第一个元素\n if (index) {\n contents = contents.map((content) => {\n return isString(content) ? content : $(content).clone();\n });\n }\n $(child)[nameIndex ? 'after' : 'before'](...contents);\n if (!childLength) {\n element.removeChild(child);\n }\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport './insertAfter';\nimport './insertBefore';\nimport './map';\nimport './remove';\neach(['appendTo', 'prependTo'], (nameIndex, name) => {\n $.fn[name] = function (target) {\n const extraChilds = [];\n const $target = $(target).map((_, element) => {\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n if (childLength) {\n return childNodes[nameIndex ? 0 : childLength - 1];\n }\n const child = document.createElement('div');\n element.appendChild(child);\n extraChilds.push(child);\n return child;\n });\n const $result = this[nameIndex ? 'insertBefore' : 'insertAfter']($target);\n $(extraChilds).remove();\n return $result;\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport { cssNumber, getStyle, isElement, isFunction, isNull, isNumber, isObjectLike, isUndefined, toCamelCase, } from '../utils';\nimport './each';\neach(['attr', 'prop', 'css'], (nameIndex, name) => {\n function set(element, key, value) {\n // 值为 undefined 时,不修改\n if (isUndefined(value)) {\n return;\n }\n switch (nameIndex) {\n // attr\n case 0:\n if (isNull(value)) {\n element.removeAttribute(key);\n }\n else {\n element.setAttribute(key, value);\n }\n break;\n // prop\n case 1:\n // @ts-ignore\n element[key] = value;\n break;\n // css\n default:\n key = toCamelCase(key);\n // @ts-ignore\n element.style[key] = isNumber(value)\n ? `${value}${cssNumber.indexOf(key) > -1 ? '' : 'px'}`\n : value;\n break;\n }\n }\n function get(element, key) {\n switch (nameIndex) {\n // attr\n case 0:\n // 属性不存在时,原生 getAttribute 方法返回 null,而 jquery 返回 undefined。这里和 jquery 保持一致\n const value = element.getAttribute(key);\n return isNull(value) ? undefined : value;\n // prop\n case 1:\n // @ts-ignore\n return element[key];\n // css\n default:\n return getStyle(element, key);\n }\n }\n $.fn[name] = function (key, value) {\n if (isObjectLike(key)) {\n each(key, (k, v) => {\n // @ts-ignore\n this[name](k, v);\n });\n return this;\n }\n if (arguments.length === 1) {\n const element = this[0];\n return isElement(element) ? get(element, key) : undefined;\n }\n return this.each((i, element) => {\n set(element, key, isFunction(value) ? value.call(element, i, get(element, key)) : value);\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport unique from '../functions/unique';\nimport { JQ } from '../JQ';\nimport { isElement } from '../utils';\nimport './each';\nimport './is';\n$.fn.children = function (selector) {\n const children = [];\n this.each((_, element) => {\n each(element.childNodes, (__, childNode) => {\n if (!isElement(childNode)) {\n return;\n }\n if (!selector || $(childNode).is(selector)) {\n children.push(childNode);\n }\n });\n });\n return new JQ(unique(children));\n};\n","import $ from '../$';\nimport { JQ } from '../JQ';\n$.fn.slice = function (...args) {\n return new JQ([].slice.apply(this, args));\n};\n","import $ from '../$';\nimport { JQ } from '../JQ';\nimport './slice';\n$.fn.eq = function (index) {\n const ret = index === -1 ? this.slice(index) : this.slice(index, +index + 1);\n return new JQ(ret);\n};\n","import $ from '../../$';\nimport unique from '../../functions/unique';\nimport { JQ } from '../../JQ';\nimport { isElement } from '../../utils';\nimport '../each';\nimport '../is';\nexport default function dir($elements, nameIndex, node, selector, filter) {\n const ret = [];\n let target;\n $elements.each((_, element) => {\n target = element[node];\n // 不能包含最顶层的 document 元素\n while (target && isElement(target)) {\n // prevUntil, nextUntil, parentsUntil\n if (nameIndex === 2) {\n if (selector && $(target).is(selector)) {\n break;\n }\n if (!filter || $(target).is(filter)) {\n ret.push(target);\n }\n }\n // prev, next, parent\n else if (nameIndex === 0) {\n if (!selector || $(target).is(selector)) {\n ret.push(target);\n }\n break;\n }\n // prevAll, nextAll, parents\n else {\n if (!selector || $(target).is(selector)) {\n ret.push(target);\n }\n }\n // @ts-ignore\n target = target[node];\n }\n });\n return new JQ(unique(ret));\n}\n","import $ from '../$';\nimport each from '../functions/each';\nimport './get';\nimport dir from './utils/dir';\neach(['', 's', 'sUntil'], (nameIndex, name) => {\n $.fn[`parent${name}`] = function (selector, filter) {\n // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致\n const $nodes = !nameIndex ? this : $(this.get().reverse());\n return dir($nodes, nameIndex, 'parentNode', selector, filter);\n };\n});\n","import $ from '../$';\nimport { JQ } from '../JQ';\nimport './eq';\nimport './is';\nimport './parents';\n$.fn.closest = function (selector) {\n if (this.is(selector)) {\n return this;\n }\n const matched = [];\n this.parents().each((_, element) => {\n if ($(element).is(selector)) {\n matched.push(element);\n return false;\n }\n });\n return new JQ(matched);\n};\n","import $ from '../$';\nimport data from '../functions/data';\nimport { isObjectLike, isString, isUndefined, toCamelCase, toKebabCase, } from '../utils';\nimport './each';\nconst rbrace = /^(?:{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/;\n// 从 `data-*` 中获取的值,需要经过该函数转换\nfunction getData(value) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === 'null') {\n return null;\n }\n if (value === +value + '') {\n return +value;\n }\n if (rbrace.test(value)) {\n return JSON.parse(value);\n }\n return value;\n}\n// 若 value 不存在,则从 `data-*` 中获取值\nfunction dataAttr(element, key, value) {\n if (isUndefined(value) && element.nodeType === 1) {\n const name = 'data-' + toKebabCase(key);\n value = element.getAttribute(name);\n if (isString(value)) {\n try {\n value = getData(value);\n }\n catch (e) { }\n }\n else {\n value = undefined;\n }\n }\n return value;\n}\n$.fn.data = function (key, value) {\n // 获取所有值\n if (isUndefined(key)) {\n if (!this.length) {\n return undefined;\n }\n const element = this[0];\n const resultData = data(element);\n // window, document 上不存在 `data-*` 属性\n if (element.nodeType !== 1) {\n return resultData;\n }\n // 从 `data-*` 中获取值\n const attrs = element.attributes;\n let i = attrs.length;\n while (i--) {\n if (attrs[i]) {\n let name = attrs[i].name;\n if (name.indexOf('data-') === 0) {\n name = toCamelCase(name.slice(5));\n resultData[name] = dataAttr(element, name, resultData[name]);\n }\n }\n }\n return resultData;\n }\n // 同时设置多个值\n if (isObjectLike(key)) {\n return this.each(function () {\n data(this, key);\n });\n }\n // value 传入了 undefined\n if (arguments.length === 2 && isUndefined(value)) {\n return this;\n }\n // 设置值\n if (!isUndefined(value)) {\n return this.each(function () {\n data(this, key, value);\n });\n }\n // 获取值\n if (!this.length) {\n return undefined;\n }\n return dataAttr(this[0], key, data(this[0], key));\n};\n","import $ from '../$';\nimport './each';\n$.fn.empty = function () {\n return this.each(function () {\n this.innerHTML = '';\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\n$.fn.extend = function (obj) {\n each(obj, (prop, value) => {\n // 在 JQ 对象上扩展方法时,需要自己添加 typescript 的类型定义\n $.fn[prop] = value;\n });\n return this;\n};\n","import $ from '../$';\nimport { isFunction, isString } from '../utils';\nimport './is';\nimport './map';\n$.fn.filter = function (selector) {\n if (isFunction(selector)) {\n return this.map((index, element) => selector.call(element, index, element) ? element : undefined);\n }\n if (isString(selector)) {\n return this.map((_, element) => $(element).is(selector) ? element : undefined);\n }\n const $selector = $(selector);\n return this.map((_, element) => $selector.get().indexOf(element) > -1 ? element : undefined);\n};\n","import $ from '../$';\nimport './eq';\n$.fn.first = function () {\n return this.eq(0);\n};\n","import $ from '../$';\nimport contains from '../functions/contains';\nimport { isString } from '../utils';\nimport './find';\n$.fn.has = function (selector) {\n const $targets = isString(selector) ? this.find(selector) : $(selector);\n const { length } = $targets;\n return this.map(function () {\n for (let i = 0; i < length; i += 1) {\n if (contains(this, $targets[i])) {\n return this;\n }\n }\n return;\n });\n};\n","import $ from '../$';\n$.fn.hasClass = function (className) {\n return this[0].classList.contains(className);\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isBoolean, isDocument, isFunction, isWindow, toElement, isBorderBox, getExtraWidth, getComputedStyleValue, isIE, } from '../utils';\nimport './css';\nimport './each';\n/**\n * 值上面的 padding、border、margin 处理\n * @param element\n * @param name\n * @param value\n * @param funcIndex\n * @param includeMargin\n * @param multiply\n */\nfunction handleExtraWidth(element, name, value, funcIndex, includeMargin, multiply) {\n // 获取元素的 padding, border, margin 宽度(两侧宽度的和)\n const getExtraWidthValue = (extra) => {\n return (getExtraWidth(element, name.toLowerCase(), extra) *\n multiply);\n };\n if (funcIndex === 2 && includeMargin) {\n value += getExtraWidthValue('margin');\n }\n if (isBorderBox(element)) {\n // IE 为 box-sizing: border-box 时,得到的值不含 border 和 padding,这里先修复\n // 仅获取时需要处理,multiply === 1 为 get\n if (isIE() && multiply === 1) {\n value += getExtraWidthValue('border');\n value += getExtraWidthValue('padding');\n }\n if (funcIndex === 0) {\n value -= getExtraWidthValue('border');\n }\n if (funcIndex === 1) {\n value -= getExtraWidthValue('border');\n value -= getExtraWidthValue('padding');\n }\n }\n else {\n if (funcIndex === 0) {\n value += getExtraWidthValue('padding');\n }\n if (funcIndex === 2) {\n value += getExtraWidthValue('border');\n value += getExtraWidthValue('padding');\n }\n }\n return value;\n}\n/**\n * 获取元素的样式值\n * @param element\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n */\nfunction get(element, name, funcIndex, includeMargin) {\n const clientProp = `client${name}`;\n const scrollProp = `scroll${name}`;\n const offsetProp = `offset${name}`;\n const innerProp = `inner${name}`;\n // $(window).width()\n if (isWindow(element)) {\n // outerWidth, outerHeight 需要包含滚动条的宽度\n return funcIndex === 2\n ? element[innerProp]\n : toElement(document)[clientProp];\n }\n // $(document).width()\n if (isDocument(element)) {\n const doc = toElement(element);\n return Math.max(\n // @ts-ignore\n element.body[scrollProp], doc[scrollProp], \n // @ts-ignore\n element.body[offsetProp], doc[offsetProp], doc[clientProp]);\n }\n const value = parseFloat(getComputedStyleValue(element, name.toLowerCase()) || '0');\n return handleExtraWidth(element, name, value, funcIndex, includeMargin, 1);\n}\n/**\n * 设置元素的样式值\n * @param element\n * @param elementIndex\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n * @param value\n */\nfunction set(element, elementIndex, name, funcIndex, includeMargin, value) {\n let computedValue = isFunction(value)\n ? value.call(element, elementIndex, get(element, name, funcIndex, includeMargin))\n : value;\n if (computedValue == null) {\n return;\n }\n const $element = $(element);\n const dimension = name.toLowerCase();\n // 特殊的值,不需要计算 padding、border、margin\n if (['auto', 'inherit', ''].indexOf(computedValue) > -1) {\n $element.css(dimension, computedValue);\n return;\n }\n // 其他值保留原始单位。注意:如果不使用 px 作为单位,则算出的值一般是不准确的\n const suffix = computedValue.toString().replace(/\\b[0-9.]*/, '');\n const numerical = parseFloat(computedValue);\n computedValue =\n handleExtraWidth(element, name, numerical, funcIndex, includeMargin, -1) +\n (suffix || 'px');\n $element.css(dimension, computedValue);\n}\neach(['Width', 'Height'], (_, name) => {\n each([`inner${name}`, name.toLowerCase(), `outer${name}`], (funcIndex, funcName) => {\n $.fn[funcName] = function (margin, value) {\n // 是否是赋值操作\n const isSet = arguments.length && (funcIndex < 2 || !isBoolean(margin));\n const includeMargin = margin === true || value === true;\n // 获取第一个元素的值\n if (!isSet) {\n return this.length\n ? get(this[0], name, funcIndex, includeMargin)\n : undefined;\n }\n // 设置每个元素的值\n return this.each((index, element) => set(element, index, name, funcIndex, includeMargin, margin));\n };\n });\n});\n","import $ from '../$';\nimport './each';\n$.fn.hide = function () {\n return this.each(function () {\n this.style.display = 'none';\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport map from '../functions/map';\nimport { isElement, isFunction, isUndefined, toElement } from '../utils';\nimport './each';\nimport './is';\neach(['val', 'html', 'text'], (nameIndex, name) => {\n const props = {\n 0: 'value',\n 1: 'innerHTML',\n 2: 'textContent',\n };\n const propName = props[nameIndex];\n function get($elements) {\n // text() 获取所有元素的文本\n if (nameIndex === 2) {\n // @ts-ignore\n return map($elements, (element) => toElement(element)[propName]).join('');\n }\n // 空集合时,val() 和 html() 返回 undefined\n if (!$elements.length) {\n return undefined;\n }\n // val() 和 html() 仅获取第一个元素的内容\n const firstElement = $elements[0];\n // select multiple 返回数组\n if (nameIndex === 0 && $(firstElement).is('select[multiple]')) {\n return map($(firstElement).find('option:checked'), (element) => element.value);\n }\n // @ts-ignore\n return firstElement[propName];\n }\n function set(element, value) {\n // text() 和 html() 赋值为 undefined,则保持原内容不变\n // val() 赋值为 undefined 则赋值为空\n if (isUndefined(value)) {\n if (nameIndex !== 0) {\n return;\n }\n value = '';\n }\n if (nameIndex === 1 && isElement(value)) {\n value = value.outerHTML;\n }\n // @ts-ignore\n element[propName] = value;\n }\n $.fn[name] = function (value) {\n // 获取值\n if (!arguments.length) {\n return get(this);\n }\n // 设置值\n return this.each((i, element) => {\n const computedValue = isFunction(value)\n ? value.call(element, i, get($(element)))\n : value;\n // value 是数组,则选中数组中的元素,反选不在数组中的元素\n if (nameIndex === 0 && Array.isArray(computedValue)) {\n // select[multiple]\n if ($(element).is('select[multiple]')) {\n map($(element).find('option'), (option) => (option.selected =\n computedValue.indexOf(option.value) >\n -1));\n }\n // 其他 checkbox, radio 等元素\n else {\n element.checked =\n computedValue.indexOf(element.value) > -1;\n }\n }\n else {\n set(element, computedValue);\n }\n });\n };\n});\n","import $ from '../$';\nimport { isString } from '../utils';\nimport './children';\nimport './eq';\nimport './get';\nimport './parent';\n$.fn.index = function (selector) {\n if (!arguments.length) {\n return this.eq(0).parent().children().get().indexOf(this[0]);\n }\n if (isString(selector)) {\n return $(selector).get().indexOf(this[0]);\n }\n return this.get().indexOf($(selector)[0]);\n};\n","import $ from '../$';\nimport './eq';\n$.fn.last = function () {\n return this.eq(-1);\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport dir from './utils/dir';\neach(['', 'All', 'Until'], (nameIndex, name) => {\n $.fn[`next${name}`] = function (selector, filter) {\n return dir(this, nameIndex, 'nextElementSibling', selector, filter);\n };\n});\n","import $ from '../$';\nimport './filter';\nimport './map';\n$.fn.not = function (selector) {\n const $excludes = this.filter(selector);\n return this.map((_, element) => $excludes.index(element) > -1 ? undefined : element);\n};\n","import $ from '../$';\nimport './css';\nimport './map';\n/**\n * 返回最近的用于定位的父元素\n */\n$.fn.offsetParent = function () {\n return this.map(function () {\n let offsetParent = this.offsetParent;\n while (offsetParent && $(offsetParent).css('position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || document.documentElement;\n });\n};\n","import $ from '../$';\nimport './css';\nimport './eq';\nimport './offset';\nimport './offsetParent';\nfunction floatStyle($element, name) {\n return parseFloat($element.css(name));\n}\n$.fn.position = function () {\n if (!this.length) {\n return undefined;\n }\n const $element = this.eq(0);\n let currentOffset;\n let parentOffset = {\n left: 0,\n top: 0,\n };\n if ($element.css('position') === 'fixed') {\n currentOffset = $element[0].getBoundingClientRect();\n }\n else {\n currentOffset = $element.offset();\n const $offsetParent = $element.offsetParent();\n parentOffset = $offsetParent.offset();\n parentOffset.top += floatStyle($offsetParent, 'border-top-width');\n parentOffset.left += floatStyle($offsetParent, 'border-left-width');\n }\n return {\n top: currentOffset.top - parentOffset.top - floatStyle($element, 'margin-top'),\n left: currentOffset.left -\n parentOffset.left -\n floatStyle($element, 'margin-left'),\n };\n};\n","import $ from '../$';\nimport extend from '../functions/extend';\nimport { isFunction } from '../utils';\nimport './css';\nimport './each';\nimport './position';\nfunction get(element) {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n const rect = element.getBoundingClientRect();\n const win = element.ownerDocument.defaultView;\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset,\n };\n}\nfunction set(element, value, index) {\n const $element = $(element);\n const position = $element.css('position');\n if (position === 'static') {\n $element.css('position', 'relative');\n }\n const currentOffset = get(element);\n const currentTopString = $element.css('top');\n const currentLeftString = $element.css('left');\n let currentTop;\n let currentLeft;\n const calculatePosition = (position === 'absolute' || position === 'fixed') &&\n (currentTopString + currentLeftString).indexOf('auto') > -1;\n if (calculatePosition) {\n const currentPosition = $element.position();\n currentTop = currentPosition.top;\n currentLeft = currentPosition.left;\n }\n else {\n currentTop = parseFloat(currentTopString);\n currentLeft = parseFloat(currentLeftString);\n }\n const computedValue = isFunction(value)\n ? value.call(element, index, extend({}, currentOffset))\n : value;\n $element.css({\n top: computedValue.top != null\n ? computedValue.top - currentOffset.top + currentTop\n : undefined,\n left: computedValue.left != null\n ? computedValue.left - currentOffset.left + currentLeft\n : undefined,\n });\n}\n$.fn.offset = function (value) {\n // 获取坐标\n if (!arguments.length) {\n if (!this.length) {\n return undefined;\n }\n return get(this[0]);\n }\n // 设置坐标\n return this.each(function (index) {\n set(this, value, index);\n });\n};\n","import $ from '../$';\nimport './on';\n$.fn.one = function (types, selector, data, callback) {\n // @ts-ignore\n return this.on(types, selector, data, callback, true);\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport './get';\nimport dir from './utils/dir';\neach(['', 'All', 'Until'], (nameIndex, name) => {\n $.fn[`prev${name}`] = function (selector, filter) {\n // prevAll、prevUntil 需要把元素的顺序倒序处理,以便和 jQuery 的结果一致\n const $nodes = !nameIndex ? this : $(this.get().reverse());\n return dir($nodes, nameIndex, 'previousElementSibling', selector, filter);\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport './each';\n$.fn.removeAttr = function (attributeName) {\n const names = attributeName.split(' ').filter((name) => name);\n return this.each(function () {\n each(names, (_, name) => {\n this.removeAttribute(name);\n });\n });\n};\n","import $ from '../$';\nimport removeData from '../functions/removeData';\nimport './each';\n$.fn.removeData = function (name) {\n return this.each(function () {\n removeData(this, name);\n });\n};\n","import $ from '../$';\nimport './each';\n$.fn.removeProp = function (name) {\n return this.each(function () {\n try {\n // @ts-ignore\n delete this[name];\n }\n catch (e) { }\n });\n};\n","import $ from '../$';\nimport './before';\nimport './clone';\nimport './each';\nimport './remove';\nimport { isFunction, isString } from '../utils';\n$.fn.replaceWith = function (newContent) {\n this.each((index, element) => {\n let content = newContent;\n if (isFunction(content)) {\n content = content.call(element, index, element.innerHTML);\n }\n else if (index && !isString(content)) {\n content = $(content).clone();\n }\n $(element).before(content);\n });\n return this.remove();\n};\n","import $ from '../$';\nimport './clone';\nimport './get';\nimport './map';\nimport './replaceWith';\n$.fn.replaceAll = function (target) {\n return $(target).map((index, element) => {\n $(element).replaceWith(index ? this.clone() : this);\n return this.get();\n });\n};\n","import $ from '../$';\nimport './each';\nimport './val';\n/**\n * 将表单元素的值组合成键值对数组\n * @returns {Array}\n */\n$.fn.serializeArray = function () {\n const result = [];\n this.each((_, element) => {\n const elements = element instanceof HTMLFormElement ? element.elements : [element];\n $(elements).each((_, element) => {\n const $element = $(element);\n const type = element.type;\n const nodeName = element.nodeName.toLowerCase();\n if (nodeName !== 'fieldset' &&\n element.name &&\n !element.disabled &&\n ['input', 'select', 'textarea', 'keygen'].indexOf(nodeName) > -1 &&\n ['submit', 'button', 'image', 'reset', 'file'].indexOf(type) === -1 &&\n (['radio', 'checkbox'].indexOf(type) === -1 ||\n element.checked)) {\n const value = $element.val();\n const valueArr = Array.isArray(value) ? value : [value];\n valueArr.forEach((value) => {\n result.push({\n name: element.name,\n value,\n });\n });\n }\n });\n });\n return result;\n};\n","import $ from '../$';\nimport param from '../functions/param';\nimport './serializeArray';\n$.fn.serialize = function () {\n return param(this.serializeArray());\n};\n","import $ from '../$';\nimport { getStyle } from '../utils';\nimport './each';\nconst elementDisplay = {};\n/**\n * 获取元素的初始 display 值,用于 .show() 方法\n * @param nodeName\n */\nfunction defaultDisplay(nodeName) {\n let element;\n let display;\n if (!elementDisplay[nodeName]) {\n element = document.createElement(nodeName);\n document.body.appendChild(element);\n display = getStyle(element, 'display');\n element.parentNode.removeChild(element);\n if (display === 'none') {\n display = 'block';\n }\n elementDisplay[nodeName] = display;\n }\n return elementDisplay[nodeName];\n}\n/**\n * 显示指定元素\n * @returns {JQ}\n */\n$.fn.show = function () {\n return this.each(function () {\n if (this.style.display === 'none') {\n this.style.display = '';\n }\n if (getStyle(this, 'display') === 'none') {\n this.style.display = defaultDisplay(this.nodeName);\n }\n });\n};\n","import $ from '../$';\nimport './add';\nimport './nextAll';\nimport './prevAll';\n/**\n * 取得同辈元素的集合\n * @param selector {String=}\n * @returns {JQ}\n */\n$.fn.siblings = function (selector) {\n return this.prevAll(selector).add(this.nextAll(selector));\n};\n","import $ from '../$';\nimport { getStyle } from '../utils';\nimport './each';\nimport './hide';\nimport './show';\n/**\n * 切换元素的显示状态\n */\n$.fn.toggle = function () {\n return this.each(function () {\n getStyle(this, 'display') === 'none' ? $(this).show() : $(this).hide();\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 强制重绘当前元素\n *\n * @example\n```js\n$('.box').reflow();\n```\n */\n reflow(): this;\n }\n}\n\n$.fn.reflow = function (this: JQ): JQ {\n return this.each(function () {\n return this.clientLeft;\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport { isNumber } from 'mdui.jq/es/utils';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 设置当前元素的 transition-duration 属性\n * @param duration 可以是带单位的值;若不带单位,则自动添加 `ms` 作为单位\n * @example\n```js\n$('.box').transition('300ms');\n$('.box').transition(300);\n```\n */\n transition(duration: string | number): this;\n }\n}\n\n$.fn.transition = function (this: JQ, duration: string | number): JQ {\n if (isNumber(duration)) {\n duration = `${duration}ms`;\n }\n\n return this.each(function () {\n this.style.webkitTransitionDuration = duration as string;\n this.style.transitionDuration = duration as string;\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport each from 'mdui.jq/es/functions/each';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/off';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 在当前元素上添加 transitionend 事件回调\n * @param callback 回调函数的参数为 `transitionend` 事件对象;`this` 指向当前元素\n * @example\n```js\n$('.box').transitionEnd(function() {\n alert('.box 元素的 transitionend 事件已触发');\n});\n```\n */\n transitionEnd(callback: (this: T, e: Event) => void): this;\n }\n}\n\n$.fn.transitionEnd = function (\n this: JQ,\n callback: (this: HTMLElement, e: Event) => void,\n): JQ {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const events = ['webkitTransitionEnd', 'transitionend'];\n\n function fireCallback(this: Element | Document | Window, e: Event): void {\n if (e.target !== this) {\n return;\n }\n\n // @ts-ignore\n callback.call(this, e);\n\n each(events, (_, event) => {\n that.off(event, fireCallback);\n });\n }\n\n each(events, (_, event) => {\n that.on(event, fireCallback);\n });\n\n return this;\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 设置当前元素的 transform-origin 属性\n * @param transformOrigin\n * @example\n```js\n$('.box').transformOrigin('top center');\n```\n */\n transformOrigin(transformOrigin: string): this;\n }\n}\n\n$.fn.transformOrigin = function (this: JQ, transformOrigin: string): JQ {\n return this.each(function () {\n this.style.webkitTransformOrigin = transformOrigin;\n this.style.transformOrigin = transformOrigin;\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 设置当前元素的 transform 属性\n * @param transform\n * @example\n```js\n$('.box').transform('rotate(90deg)');\n```\n */\n transform(transform: string): this;\n }\n}\n\n$.fn.transform = function (this: JQ, transform: string): JQ {\n return this.each(function () {\n this.style.webkitTransform = transform;\n this.style.transform = transform;\n });\n};\n","import PlainObject from 'mdui.jq/es/interfaces/PlainObject';\nimport data from 'mdui.jq/es/functions/data';\n\ntype TYPE_API_INIT = (\n this: HTMLElement,\n i: number,\n element: HTMLElement,\n) => void;\n\n/**\n * CSS 选择器和初始化函数组成的对象\n */\nconst entries: PlainObject = {};\n\n/**\n * 注册并执行初始化函数\n * @param selector CSS 选择器\n * @param apiInit 初始化函数\n * @param i 元素索引\n * @param element 元素\n */\nfunction mutation(\n selector: string,\n apiInit: TYPE_API_INIT,\n i: number,\n element: HTMLElement,\n): void {\n let selectors = data(element, '_mdui_mutation');\n\n if (!selectors) {\n selectors = [];\n data(element, '_mdui_mutation', selectors);\n }\n\n if (selectors.indexOf(selector) === -1) {\n selectors.push(selector);\n apiInit.call(element, i, element);\n }\n}\n\nexport { TYPE_API_INIT, entries, mutation };\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport each from 'mdui.jq/es/functions/each';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/is';\nimport { entries, mutation } from '../../utils/mutation';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 执行在当前元素及其子元素内注册的初始化函数\n */\n mutation(): this;\n }\n}\n\n$.fn.mutation = function (this: JQ): JQ {\n return this.each((i, element) => {\n const $this = $(element);\n\n each(entries, (selector: string, apiInit) => {\n if ($this.is(selector)) {\n mutation(selector, apiInit, i, element);\n }\n\n $this.find(selector).each((i, element) => {\n mutation(selector, apiInit, i, element);\n });\n });\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/addClass';\nimport '../methods/reflow';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 创建并显示遮罩,返回遮罩层的 JQ 对象\n * @param zIndex 遮罩层的 `z-index` 值,默认为 `2000`\n * @example\n```js\n$.showOverlay();\n```\n * @example\n```js\n$.showOverlay(3000);\n```\n */\n showOverlay(zIndex?: number): JQ;\n }\n}\n\n$.showOverlay = function (zIndex?: number): JQ {\n let $overlay = $('.mdui-overlay');\n\n if ($overlay.length) {\n $overlay.data('_overlay_is_deleted', false);\n\n if (!isUndefined(zIndex)) {\n $overlay.css('z-index', zIndex);\n }\n } else {\n if (isUndefined(zIndex)) {\n zIndex = 2000;\n }\n\n $overlay = $('
              ')\n .appendTo(document.body)\n .reflow()\n .css('z-index', zIndex);\n }\n\n let level = $overlay.data('_overlay_level') || 0;\n\n return $overlay.data('_overlay_level', ++level).addClass('mdui-overlay-show');\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/remove';\nimport '../methods/transitionEnd';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 隐藏遮罩层\n *\n * 如果调用了多次 $.showOverlay() 来显示遮罩层,则也需要调用相同次数的 $.hideOverlay() 才能隐藏遮罩层。可以通过传入参数 true 来强制隐藏遮罩层。\n * @param force 是否强制隐藏遮罩\n * @example\n```js\n$.hideOverlay();\n```\n * @example\n```js\n$.hideOverlay(true);\n```\n */\n hideOverlay(force?: boolean): void;\n }\n}\n\n$.hideOverlay = function (force = false): void {\n const $overlay = $('.mdui-overlay');\n\n if (!$overlay.length) {\n return;\n }\n\n let level = force ? 1 : $overlay.data('_overlay_level');\n\n if (level > 1) {\n $overlay.data('_overlay_level', --level);\n return;\n }\n\n $overlay\n .data('_overlay_level', 0)\n .removeClass('mdui-overlay-show')\n .data('_overlay_is_deleted', true)\n .transitionEnd(() => {\n if ($overlay.data('_overlay_is_deleted')) {\n $overlay.remove();\n }\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/width';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 锁定屏页面,禁止页面滚动\n * @example\n```js\n$.lockScreen();\n```\n */\n lockScreen(): void;\n }\n}\n\n$.lockScreen = function (): void {\n const $body = $('body');\n\n // 不直接把 body 设为 box-sizing: border-box,避免污染全局样式\n const newBodyWidth = $body.width();\n let level = $body.data('_lockscreen_level') || 0;\n\n $body\n .addClass('mdui-locked')\n .width(newBodyWidth)\n .data('_lockscreen_level', ++level);\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/width';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 解除页面锁定\n *\n * 如果调用了多次 $.lockScreen() 来显示遮罩层,则也需要调用相同次数的 $.unlockScreen() 才能隐藏遮罩层。可以通过传入参数 true 来强制隐藏遮罩层。\n * @param force 是否强制解除锁定\n * @example\n```js\n$.unlockScreen();\n```\n * @example\n```js\n$.unlockScreen(true);\n```\n */\n unlockScreen(force?: boolean): void;\n }\n}\n\n$.unlockScreen = function (force = false): void {\n const $body = $('body');\n let level = force ? 1 : $body.data('_lockscreen_level');\n\n if (level > 1) {\n $body.data('_lockscreen_level', --level);\n return;\n }\n\n $body.data('_lockscreen_level', 0).removeClass('mdui-locked').width('');\n};\n","import $ from 'mdui.jq/es/$';\nimport { isNull } from 'mdui.jq/es/utils';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 函数节流\n * @param fn 执行的函数\n * @param delay 最多多少毫秒执行一次\n * @example\n```js\n$.throttle(function () {\n console.log('这个函数最多 100ms 执行一次');\n}, 100)\n```\n */\n throttle(fn: () => void, delay: number): () => void;\n }\n}\n\n$.throttle = function (fn: () => void, delay = 16): () => void {\n let timer: any = null;\n\n return function (this: any, ...args: any): void {\n if (isNull(timer)) {\n timer = setTimeout(() => {\n fn.apply(this, args);\n timer = null;\n }, delay);\n }\n };\n};\n","import $ from 'mdui.jq/es/$';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport PlainObject from 'mdui.jq/es/interfaces/PlainObject';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 生成一个全局唯一的 ID\n * @param name 当该参数值对应的 guid 不存在时,会生成一个新的 guid,并返回;当该参数对应的 guid 已存在,则直接返回已有 guid\n * @example\n```js\n$.guid();\n```\n * @example\n```js\n$.guid('test');\n```\n */\n guid(name?: string): string;\n }\n}\n\nconst GUID: PlainObject = {};\n\n$.guid = function (name?: string): string {\n if (!isUndefined(name) && !isUndefined(GUID[name])) {\n return GUID[name];\n }\n\n function s4(): string {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n\n const guid =\n '_' +\n s4() +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n s4() +\n s4();\n\n if (!isUndefined(name)) {\n GUID[name] = guid;\n }\n\n return guid;\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/each';\nimport mdui from '../mdui';\nimport '../jq_extends/methods/mutation';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport { TYPE_API_INIT, entries, mutation } from '../utils/mutation';\n\ndeclare module '../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 传入了两个参数时,注册并执行初始化函数\n *\n * 没有传入参数时,执行初始化\n * @param selector CSS 选择器\n * @param apiInit 初始化函数\n * @example\n```js\nmdui.mutation();\n```\n * @example\n```js\nmdui.mutation();\n```\n */\n mutation(selector?: string, apiInit?: TYPE_API_INIT): void;\n }\n}\n\nmdui.mutation = function (selector?: string, apiInit?: TYPE_API_INIT): void {\n if (isUndefined(selector) || isUndefined(apiInit)) {\n $(document).mutation();\n return;\n }\n\n entries[selector] = apiInit!;\n $(selector).each((i, element) => mutation(selector, apiInit, i, element));\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport PlainObject from 'mdui.jq/es/interfaces/PlainObject';\nimport 'mdui.jq/es/methods/trigger';\n\n/**\n * 触发组件上的事件\n * @param eventName 事件名\n * @param componentName 组件名\n * @param target 在该元素上触发事件\n * @param instance 组件实例\n * @param parameters 事件参数\n */\nfunction componentEvent(\n eventName: string,\n componentName: string,\n target: HTMLElement | HTMLElement[] | JQ,\n instance?: any,\n parameters?: PlainObject,\n): void {\n if (!parameters) {\n parameters = {};\n }\n\n // @ts-ignore\n parameters.inst = instance;\n\n const fullEventName = `${eventName}.mdui.${componentName}`;\n\n // jQuery 事件\n // @ts-ignore\n if (typeof jQuery !== 'undefined') {\n // @ts-ignore\n jQuery(target).trigger(fullEventName, parameters);\n }\n\n const $target = $(target);\n\n // mdui.jq 事件\n $target.trigger(fullEventName, parameters);\n\n // 原生事件,供使用 addEventListener 监听\n type EventParams = {\n detail?: any;\n bubbles: boolean;\n cancelable: boolean;\n };\n\n const eventParams: EventParams = {\n bubbles: true,\n cancelable: true,\n detail: parameters,\n };\n\n const eventObject: CustomEvent = new CustomEvent(fullEventName, eventParams);\n\n // @ts-ignore\n eventObject._detail = parameters;\n\n $target[0].dispatchEvent(eventObject);\n}\n\nexport { componentEvent };\n","import $ from 'mdui.jq/es/$';\n\nconst $document = $(document);\nconst $window = $(window);\nconst $body = $('body');\n\nexport { $document, $window, $body };\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isNumber } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transitionEnd';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $window } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * Headroom 插件\n *\n * 请通过 `new mdui.Headroom()` 调用\n */\n Headroom: {\n /**\n * 实例化 Headroom 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Headroom;\n };\n }\n}\n\ntype TOLERANCE = {\n /**\n * 滚动条向下滚动多少距离开始隐藏或显示元素\n */\n down: number;\n\n /**\n * 滚动条向上滚动多少距离开始隐藏或显示元素\n */\n up: number;\n};\n\ntype OPTIONS = {\n /**\n * 滚动条滚动多少距离开始隐藏或显示元素\n */\n tolerance?: TOLERANCE | number;\n\n /**\n * 在页面顶部多少距离内滚动不会隐藏元素\n */\n offset?: number;\n\n /**\n * 初始化时添加的类\n */\n initialClass?: string;\n\n /**\n * 元素固定时添加的类\n */\n pinnedClass?: string;\n\n /**\n * 元素隐藏时添加的类\n */\n unpinnedClass?: string;\n};\n\ntype STATE = 'pinning' | 'pinned' | 'unpinning' | 'unpinned';\ntype EVENT = 'pin' | 'pinned' | 'unpin' | 'unpinned';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n tolerance: 5,\n offset: 0,\n initialClass: 'mdui-headroom',\n pinnedClass: 'mdui-headroom-pinned-top',\n unpinnedClass: 'mdui-headroom-unpinned-top',\n};\n\nclass Headroom {\n /**\n * headroom 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 headroom 的状态\n */\n private state: STATE = 'pinned';\n\n /**\n * 当前是否启用\n */\n private isEnable = false;\n\n /**\n * 上次滚动后,垂直方向的距离\n */\n private lastScrollY = 0;\n\n /**\n * AnimationFrame ID\n */\n private rafId = 0;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$element = $(selector).first();\n\n extend(this.options, options);\n\n // tolerance 参数若为数值,转换为对象\n const tolerance = this.options.tolerance;\n if (isNumber(tolerance)) {\n this.options.tolerance = {\n down: tolerance,\n up: tolerance,\n };\n }\n\n this.enable();\n }\n\n /**\n * 滚动时的处理\n */\n private onScroll(): void {\n this.rafId = window.requestAnimationFrame(() => {\n const currentScrollY = window.pageYOffset;\n const direction = currentScrollY > this.lastScrollY ? 'down' : 'up';\n const tolerance = (this.options.tolerance as TOLERANCE)[direction];\n const scrolled = Math.abs(currentScrollY - this.lastScrollY);\n const toleranceExceeded = scrolled >= tolerance;\n\n if (\n currentScrollY > this.lastScrollY &&\n currentScrollY >= this.options.offset! &&\n toleranceExceeded\n ) {\n this.unpin();\n } else if (\n (currentScrollY < this.lastScrollY && toleranceExceeded) ||\n currentScrollY <= this.options.offset!\n ) {\n this.pin();\n }\n\n this.lastScrollY = currentScrollY;\n });\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'headroom', this.$element, this);\n }\n\n /**\n * 动画结束的回调\n */\n private transitionEnd(): void {\n if (this.state === 'pinning') {\n this.state = 'pinned';\n this.triggerEvent('pinned');\n }\n\n if (this.state === 'unpinning') {\n this.state = 'unpinned';\n this.triggerEvent('unpinned');\n }\n }\n\n /**\n * 使元素固定住\n */\n public pin(): void {\n if (\n this.state === 'pinning' ||\n this.state === 'pinned' ||\n !this.$element.hasClass(this.options.initialClass!)\n ) {\n return;\n }\n\n this.triggerEvent('pin');\n this.state = 'pinning';\n this.$element\n .removeClass(this.options.unpinnedClass)\n .addClass(this.options.pinnedClass!)\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 使元素隐藏\n */\n public unpin(): void {\n if (\n this.state === 'unpinning' ||\n this.state === 'unpinned' ||\n !this.$element.hasClass(this.options.initialClass!)\n ) {\n return;\n }\n\n this.triggerEvent('unpin');\n this.state = 'unpinning';\n this.$element\n .removeClass(this.options.pinnedClass)\n .addClass(this.options.unpinnedClass!)\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 启用 headroom 插件\n */\n public enable(): void {\n if (this.isEnable) {\n return;\n }\n\n this.isEnable = true;\n this.state = 'pinned';\n this.$element\n .addClass(this.options.initialClass!)\n .removeClass(this.options.pinnedClass)\n .removeClass(this.options.unpinnedClass);\n this.lastScrollY = window.pageYOffset;\n\n $window.on('scroll', () => this.onScroll());\n }\n\n /**\n * 禁用 headroom 插件\n */\n public disable(): void {\n if (!this.isEnable) {\n return;\n }\n\n this.isEnable = false;\n this.$element\n .removeClass(this.options.initialClass)\n .removeClass(this.options.pinnedClass)\n .removeClass(this.options.unpinnedClass);\n\n $window.off('scroll', () => this.onScroll());\n window.cancelAnimationFrame(this.rafId);\n }\n\n /**\n * 获取当前状态。共包含四种状态:`pinning`、`pinned`、`unpinning`、`unpinned`\n */\n public getState(): STATE {\n return this.state;\n }\n}\n\nmdui.Headroom = Headroom;\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/attr';\nimport PlainObject from 'mdui.jq/es/interfaces/PlainObject';\n\n/**\n * 解析 DATA API 参数\n * @param element 元素\n * @param name 属性名\n */\nfunction parseOptions(element: HTMLElement, name: string): PlainObject {\n const attr = $(element).attr(name);\n\n if (!attr) {\n return {};\n }\n\n return new Function(\n '',\n `var json = ${attr}; return JSON.parse(JSON.stringify(json));`,\n )();\n}\n\nexport { parseOptions };\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-headroom';\n\n$(() => {\n mdui.mutation(`[${customAttr}]`, function () {\n new mdui.Headroom(this, parseOptions(this, customAttr));\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/eq';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isNumber } from 'mdui.jq/es/utils';\nimport '../../jq_extends/methods/reflow';\nimport '../../jq_extends/methods/transition';\nimport '../../jq_extends/methods/transitionEnd';\nimport { componentEvent } from '../../utils/componentEvent';\n\ntype OPTIONS = {\n /**\n * 是否启用手风琴效果\n * 为 `true` 时,最多只能有一个面板项处于打开状态,打开一个面板项时会关闭其他面板项\n * 为 `false` 时,可同时打开多个面板项\n */\n accordion?: boolean;\n};\n\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n accordion: false,\n};\n\nabstract class CollapseAbstract {\n /**\n * collapse 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * item 的 class 名\n */\n private classItem: string;\n\n /**\n * 打开状态的 item 的 class 名\n */\n private classItemOpen: string;\n\n /**\n * item-header 的 class 名\n */\n private classHeader: string;\n\n /**\n * item-body 的 class 名\n */\n private classBody: string;\n\n /**\n * 获取继承的组件名称\n */\n protected abstract getNamespace(): string;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n // CSS 类名\n const classPrefix = `mdui-${this.getNamespace()}-item`;\n this.classItem = classPrefix;\n this.classItemOpen = `${classPrefix}-open`;\n this.classHeader = `${classPrefix}-header`;\n this.classBody = `${classPrefix}-body`;\n\n this.$element = $(selector).first();\n\n extend(this.options, options);\n\n this.bindEvent();\n }\n\n /**\n * 绑定事件\n */\n private bindEvent(): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n\n // 点击 header 时,打开/关闭 item\n this.$element.on('click', `.${this.classHeader}`, function () {\n const $header = $(this as HTMLElement);\n const $item = $header.parent();\n const $items = that.getItems();\n\n $items.each((_, item) => {\n if ($item.is(item)) {\n that.toggle(item);\n }\n });\n });\n\n // 点击关闭按钮时,关闭 item\n this.$element.on(\n 'click',\n `[mdui-${this.getNamespace()}-item-close]`,\n function () {\n const $target = $(this as HTMLElement);\n const $item = $target.parents(`.${that.classItem}`).first();\n\n that.close($item);\n },\n );\n }\n\n /**\n * 指定 item 是否处于打开状态\n * @param $item\n */\n private isOpen($item: JQ): boolean {\n return $item.hasClass(this.classItemOpen);\n }\n\n /**\n * 获取所有 item\n */\n private getItems(): JQ {\n return this.$element.children(`.${this.classItem}`);\n }\n\n /**\n * 获取指定 item\n * @param item\n */\n private getItem(\n item: number | Selector | HTMLElement | ArrayLike,\n ): JQ {\n if (isNumber(item)) {\n return this.getItems().eq(item);\n }\n\n return $(item).first();\n }\n\n /**\n * 触发组件事件\n * @param name 事件名\n * @param $item 事件触发的目标 item\n */\n private triggerEvent(name: EVENT, $item: JQ): void {\n componentEvent(name, this.getNamespace(), $item, this);\n }\n\n /**\n * 动画结束回调\n * @param $content body 元素\n * @param $item item 元素\n */\n private transitionEnd($content: JQ, $item: JQ): void {\n if (this.isOpen($item)) {\n $content.transition(0).height('auto').reflow().transition('');\n\n this.triggerEvent('opened', $item);\n } else {\n $content.height('');\n\n this.triggerEvent('closed', $item);\n }\n }\n\n /**\n * 打开指定面板项\n * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象\n */\n public open(\n item: number | Selector | HTMLElement | ArrayLike,\n ): void {\n const $item = this.getItem(item);\n\n if (this.isOpen($item)) {\n return;\n }\n\n // 关闭其他项\n if (this.options.accordion) {\n this.$element.children(`.${this.classItemOpen}`).each((_, element) => {\n const $element = $(element);\n\n if (!$element.is($item)) {\n this.close($element);\n }\n });\n }\n\n const $content = $item.children(`.${this.classBody}`);\n\n $content\n .height($content[0].scrollHeight)\n .transitionEnd(() => this.transitionEnd($content, $item));\n\n this.triggerEvent('open', $item);\n\n $item.addClass(this.classItemOpen);\n }\n\n /**\n * 关闭指定面板项\n * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象\n */\n public close(\n item: number | Selector | HTMLElement | ArrayLike,\n ): void {\n const $item = this.getItem(item);\n\n if (!this.isOpen($item)) {\n return;\n }\n\n const $content = $item.children(`.${this.classBody}`);\n\n this.triggerEvent('close', $item);\n\n $item.removeClass(this.classItemOpen);\n\n $content\n .transition(0)\n .height($content[0].scrollHeight)\n .reflow()\n .transition('')\n .height('')\n .transitionEnd(() => this.transitionEnd($content, $item));\n }\n\n /**\n * 切换指定面板项的打开状态\n * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象\n */\n public toggle(\n item: number | Selector | HTMLElement | ArrayLike,\n ): void {\n const $item = this.getItem(item);\n\n this.isOpen($item) ? this.close($item) : this.open($item);\n }\n\n /**\n * 打开所有面板项\n */\n public openAll(): void {\n this.getItems().each((_, element) => this.open(element));\n }\n\n /**\n * 关闭所有面板项\n */\n public closeAll(): void {\n this.getItems().each((_, element) => this.close(element));\n }\n}\n\nexport { OPTIONS, CollapseAbstract };\n","import Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport { CollapseAbstract, OPTIONS } from './collapseAbstract';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 折叠内容块组件\n *\n * 请通过 `new mdui.Collapse()` 调用\n */\n Collapse: {\n /**\n * 实例化 Collapse 组件\n * @param selector CSS 选择器或 DOM 元素\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Collapse;\n };\n }\n}\n\nclass Collapse extends CollapseAbstract {\n protected getNamespace(): string {\n return 'collapse';\n }\n}\n\nmdui.Collapse = Collapse;\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-collapse';\n\n$(() => {\n mdui.mutation(`[${customAttr}]`, function () {\n new mdui.Collapse(this, parseOptions(this, customAttr));\n });\n});\n","import Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport { CollapseAbstract, OPTIONS } from '../collapse/collapseAbstract';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 可扩展面板组件\n *\n * 请通过 `new mdui.Panel()` 调用\n */\n Panel: {\n /**\n * 实例化 Panel 组件\n * @param selector CSS 选择器或 DOM 元素\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Panel;\n };\n }\n}\n\nclass Panel extends CollapseAbstract {\n protected getNamespace(): string {\n return 'panel';\n }\n}\n\nmdui.Panel = Panel;\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-panel';\n\n$(() => {\n mdui.mutation(`[${customAttr}]`, function () {\n new mdui.Panel(this, parseOptions(this, customAttr));\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/add';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/eq';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/prependTo';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 动态修改了表格后,需要调用该方法重新初始化表格。\n *\n * 若传入了参数,则只初始化该参数对应的表格。若没有传入参数,则重新初始化所有表格。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateTables(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\nclass Table {\n /**\n * table 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 表头 tr 元素\n */\n private $thRow: JQ = $();\n\n /**\n * 表格 body 中的 tr 元素\n */\n private $tdRows: JQ = $();\n\n /**\n * 表头的 checkbox 元素\n */\n private $thCheckbox: JQ = $();\n\n /**\n * 表格 body 中的 checkbox 元素\n */\n private $tdCheckboxs: JQ = $();\n\n /**\n * 表格行是否可选择\n */\n private selectable = false;\n\n /**\n * 已选中的行数\n */\n private selectedRow = 0;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n ) {\n this.$element = $(selector).first();\n this.init();\n }\n\n /**\n * 初始化表格\n */\n public init(): void {\n this.$thRow = this.$element.find('thead tr');\n this.$tdRows = this.$element.find('tbody tr');\n this.selectable = this.$element.hasClass('mdui-table-selectable');\n\n this.updateThCheckbox();\n this.updateTdCheckbox();\n this.updateNumericCol();\n }\n\n /**\n * 生成 checkbox 的 HTML 结构\n * @param tag 标签名\n */\n private createCheckboxHTML(tag: string): string {\n return (\n `<${tag} class=\"mdui-table-cell-checkbox\">` +\n '' +\n ``\n );\n }\n\n /**\n * 更新表头 checkbox 的状态\n */\n private updateThCheckboxStatus(): void {\n const checkbox = this.$thCheckbox[0];\n const selectedRow = this.selectedRow;\n const tdRowsLength = this.$tdRows.length;\n\n checkbox.checked = selectedRow === tdRowsLength;\n checkbox.indeterminate = !!selectedRow && selectedRow !== tdRowsLength;\n }\n\n /**\n * 更新表格行的 checkbox\n */\n private updateTdCheckbox(): void {\n const rowSelectedClass = 'mdui-table-row-selected';\n\n this.$tdRows.each((_, row) => {\n const $row = $(row);\n\n // 移除旧的 checkbox\n $row.find('.mdui-table-cell-checkbox').remove();\n\n if (!this.selectable) {\n return;\n }\n\n // 创建 DOM\n const $checkbox = $(this.createCheckboxHTML('td'))\n .prependTo($row)\n .find('input[type=\"checkbox\"]') as JQ;\n\n // 默认选中的行\n if ($row.hasClass(rowSelectedClass)) {\n $checkbox[0].checked = true;\n this.selectedRow++;\n }\n\n this.updateThCheckboxStatus();\n\n // 绑定事件\n $checkbox.on('change', () => {\n if ($checkbox[0].checked) {\n $row.addClass(rowSelectedClass);\n this.selectedRow++;\n } else {\n $row.removeClass(rowSelectedClass);\n this.selectedRow--;\n }\n\n this.updateThCheckboxStatus();\n });\n\n this.$tdCheckboxs = this.$tdCheckboxs.add($checkbox);\n });\n }\n\n /**\n * 更新表头的 checkbox\n */\n private updateThCheckbox(): void {\n // 移除旧的 checkbox\n this.$thRow.find('.mdui-table-cell-checkbox').remove();\n\n if (!this.selectable) {\n return;\n }\n\n this.$thCheckbox = $(this.createCheckboxHTML('th'))\n .prependTo(this.$thRow)\n .find('input[type=\"checkbox\"]')\n .on('change', () => {\n const isCheckedAll = this.$thCheckbox[0].checked;\n this.selectedRow = isCheckedAll ? this.$tdRows.length : 0;\n\n this.$tdCheckboxs.each((_, checkbox) => {\n checkbox.checked = isCheckedAll;\n });\n\n this.$tdRows.each((_, row) => {\n isCheckedAll\n ? $(row).addClass('mdui-table-row-selected')\n : $(row).removeClass('mdui-table-row-selected');\n });\n }) as JQ;\n }\n\n /**\n * 更新数值列\n */\n private updateNumericCol(): void {\n const numericClass = 'mdui-table-col-numeric';\n\n this.$thRow.find('th').each((i, th) => {\n const isNumericCol = $(th).hasClass(numericClass);\n\n this.$tdRows.each((_, row) => {\n const $td = $(row).find('td').eq(i);\n\n isNumericCol\n ? $td.addClass(numericClass)\n : $td.removeClass(numericClass);\n });\n });\n }\n}\n\nconst dataName = '_mdui_table';\n\n$(() => {\n mdui.mutation('.mdui-table', function () {\n const $element = $(this);\n\n if (!$element.data(dataName)) {\n $element.data(dataName, new Table($element));\n }\n });\n});\n\nmdui.updateTables = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-table') : $(selector);\n\n $elements.each((_, element) => {\n const $element = $(element);\n const instance = $element.data(dataName);\n\n if (instance) {\n instance.init();\n } else {\n $element.data(dataName, new Table($element));\n }\n });\n};\n","/**\n * touch 事件后的 500ms 内禁用 mousedown 事件\n *\n * 不支持触控的屏幕上事件顺序为 mousedown -> mouseup -> click\n * 支持触控的屏幕上事件顺序为 touchstart -> touchend -> mousedown -> mouseup -> click\n *\n * 在每一个事件中都使用 TouchHandler.isAllow(event) 判断事件是否可执行\n * 在 touchstart 和 touchmove、touchend、touchcancel\n *\n * (function () {\n * $document\n * .on(start, function (e) {\n * if (!isAllow(e)) {\n * return;\n * }\n * register(e);\n * console.log(e.type);\n * })\n * .on(move, function (e) {\n * if (!isAllow(e)) {\n * return;\n * }\n * console.log(e.type);\n * })\n * .on(end, function (e) {\n * if (!isAllow(e)) {\n * return;\n * }\n * console.log(e.type);\n * })\n * .on(unlock, register);\n * })();\n */\n\nconst startEvent = 'touchstart mousedown';\nconst moveEvent = 'touchmove mousemove';\nconst endEvent = 'touchend mouseup';\nconst cancelEvent = 'touchcancel mouseleave';\nconst unlockEvent = 'touchend touchmove touchcancel';\n\nlet touches = 0;\n\n/**\n * 该事件是否被允许,在执行事件前调用该方法判断事件是否可以执行\n * 若已触发 touch 事件,则阻止之后的鼠标事件\n * @param event\n */\nfunction isAllow(event: Event): boolean {\n return !(\n touches &&\n [\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'click',\n 'mouseover',\n 'mouseout',\n 'mouseenter',\n 'mouseleave',\n ].indexOf(event.type) > -1\n );\n}\n\n/**\n * 在 touchstart 和 touchmove、touchend、touchcancel 事件中调用该方法注册事件\n * @param event\n */\nfunction register(event: Event): void {\n if (event.type === 'touchstart') {\n // 触发了 touch 事件\n touches += 1;\n } else if (\n ['touchmove', 'touchend', 'touchcancel'].indexOf(event.type) > -1\n ) {\n // touch 事件结束 500ms 后解除对鼠标事件的阻止\n setTimeout(function () {\n if (touches) {\n touches -= 1;\n }\n }, 500);\n }\n}\n\nexport {\n startEvent,\n moveEvent,\n endEvent,\n cancelEvent,\n unlockEvent,\n isAllow,\n register,\n};\n","/**\n * Inspired by https://github.com/nolimits4web/Framework7/blob/master/src/js/fast-clicks.js\n * https://github.com/nolimits4web/Framework7/blob/master/LICENSE\n *\n * Inspired by https://github.com/fians/Waves\n */\n\nimport $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/innerHeight';\nimport 'mdui.jq/es/methods/innerWidth';\nimport 'mdui.jq/es/methods/off';\nimport 'mdui.jq/es/methods/offset';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/prependTo';\nimport 'mdui.jq/es/methods/prop';\nimport 'mdui.jq/es/methods/remove';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport '../../jq_extends/methods/reflow';\nimport '../../jq_extends/methods/transform';\nimport '../../jq_extends/methods/transitionEnd';\nimport { $document } from '../../utils/dom';\nimport {\n cancelEvent,\n endEvent,\n isAllow,\n moveEvent,\n register,\n startEvent,\n unlockEvent,\n} from '../../utils/touchHandler';\n\n/**\n * 显示涟漪动画\n * @param event\n * @param $ripple\n */\nfunction show(event: Event, $ripple: JQ): void {\n // 鼠标右键不产生涟漪\n if (event instanceof MouseEvent && event.button === 2) {\n return;\n }\n\n // 点击位置坐标\n const touchPosition =\n typeof TouchEvent !== 'undefined' &&\n event instanceof TouchEvent &&\n event.touches.length\n ? event.touches[0]\n : (event as MouseEvent);\n\n const touchStartX = touchPosition.pageX;\n const touchStartY = touchPosition.pageY;\n\n // 涟漪位置\n const offset = $ripple.offset();\n const height = $ripple.innerHeight();\n const width = $ripple.innerWidth();\n const center = {\n x: touchStartX - offset.left,\n y: touchStartY - offset.top,\n };\n const diameter = Math.max(\n Math.pow(Math.pow(height, 2) + Math.pow(width, 2), 0.5),\n 48,\n );\n\n // 涟漪扩散动画\n const translate =\n `translate3d(${-center.x + width / 2}px,` +\n `${-center.y + height / 2}px, 0) scale(1)`;\n\n // 涟漪的 DOM 结构,并缓存动画效果\n $(\n `
              `,\n )\n .data('_ripple_wave_translate', translate)\n .prependTo($ripple)\n .reflow()\n .transform(translate);\n}\n\n/**\n * 隐藏并移除涟漪\n * @param $wave\n */\nfunction removeRipple($wave: JQ): void {\n if (!$wave.length || $wave.data('_ripple_wave_removed')) {\n return;\n }\n\n $wave.data('_ripple_wave_removed', true);\n\n let removeTimer = setTimeout(() => $wave.remove(), 400);\n const translate = $wave.data('_ripple_wave_translate');\n\n $wave\n .addClass('mdui-ripple-wave-fill')\n .transform(translate.replace('scale(1)', 'scale(1.01)'))\n .transitionEnd(() => {\n clearTimeout(removeTimer);\n\n $wave\n .addClass('mdui-ripple-wave-out')\n .transform(translate.replace('scale(1)', 'scale(1.01)'));\n\n removeTimer = setTimeout(() => $wave.remove(), 700);\n\n setTimeout(() => {\n $wave.transitionEnd(() => {\n clearTimeout(removeTimer);\n $wave.remove();\n });\n }, 0);\n });\n}\n\n/**\n * 隐藏涟漪动画\n * @param this\n */\nfunction hide(this: any): void {\n const $ripple = $(this as HTMLElement);\n\n $ripple.children('.mdui-ripple-wave').each((_, wave) => {\n removeRipple($(wave));\n });\n\n $ripple.off(`${moveEvent} ${endEvent} ${cancelEvent}`, hide);\n}\n\n/**\n * 显示涟漪,并绑定 touchend 等事件\n * @param event\n */\nfunction showRipple(event: Event): void {\n if (!isAllow(event)) {\n return;\n }\n\n register(event);\n\n // Chrome 59 点击滚动条时,会在 document 上触发事件\n if (event.target === document) {\n return;\n }\n\n const $target = $(event.target as HTMLElement);\n\n // 获取含 .mdui-ripple 类的元素\n const $ripple = $target.hasClass('mdui-ripple')\n ? $target\n : $target.parents('.mdui-ripple').first();\n\n if (!$ripple.length) {\n return;\n }\n\n // 禁用状态的元素上不产生涟漪效果\n if ($ripple.prop('disabled') || !isUndefined($ripple.attr('disabled'))) {\n return;\n }\n\n if (event.type === 'touchstart') {\n let hidden = false;\n\n // touchstart 触发指定时间后开始涟漪动画,避免手指滑动时也触发涟漪\n let timer = setTimeout(() => {\n timer = 0;\n show(event, $ripple);\n }, 200);\n\n const hideRipple = (): void => {\n // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n show(event, $ripple);\n }\n\n if (!hidden) {\n hidden = true;\n hide.call($ripple);\n }\n };\n\n // 手指移动后,移除涟漪动画\n const touchMove = (): void => {\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n }\n\n hideRipple();\n };\n\n $ripple.on('touchmove', touchMove).on('touchend touchcancel', hideRipple);\n } else {\n show(event, $ripple);\n $ripple.on(`${moveEvent} ${endEvent} ${cancelEvent}`, hide);\n }\n}\n\n$(() => {\n $document.on(startEvent, showRipple).on(unlockEvent, register);\n});\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/outerHeight';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/text';\nimport 'mdui.jq/es/methods/trigger';\nimport 'mdui.jq/es/methods/val';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { $document } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 动态修改了文本框后,需要调用该方法重新初始化文本框。\n *\n * 若传入了参数,则只初始化该参数对应的文本框。若没有传入参数,则重新初始化所有文本框。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateTextFields(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\ntype INPUT_EVENT_DATA = {\n reInit?: boolean;\n domLoadedEvent?: boolean;\n};\n\nconst defaultData: INPUT_EVENT_DATA = {\n reInit: false,\n domLoadedEvent: false,\n};\n\n/**\n * 输入框事件\n * @param event\n * @param data\n */\nfunction inputEvent(event: Event, data: INPUT_EVENT_DATA = {}): void {\n data = extend({}, defaultData, data);\n\n const input = event.target as HTMLInputElement;\n const $input = $(input);\n const eventType = event.type;\n const value = $input.val() as string;\n\n // 文本框类型\n const inputType = $input.attr('type') || '';\n if (\n ['checkbox', 'button', 'submit', 'range', 'radio', 'image'].indexOf(\n inputType,\n ) > -1\n ) {\n return;\n }\n\n const $textfield = $input.parent('.mdui-textfield');\n\n // 输入框是否聚焦\n if (eventType === 'focus') {\n $textfield.addClass('mdui-textfield-focus');\n }\n\n if (eventType === 'blur') {\n $textfield.removeClass('mdui-textfield-focus');\n }\n\n // 输入框是否为空\n if (eventType === 'blur' || eventType === 'input') {\n value\n ? $textfield.addClass('mdui-textfield-not-empty')\n : $textfield.removeClass('mdui-textfield-not-empty');\n }\n\n // 输入框是否禁用\n input.disabled\n ? $textfield.addClass('mdui-textfield-disabled')\n : $textfield.removeClass('mdui-textfield-disabled');\n\n // 表单验证\n if (\n (eventType === 'input' || eventType === 'blur') &&\n !data.domLoadedEvent &&\n input.validity\n ) {\n input.validity.valid\n ? $textfield.removeClass('mdui-textfield-invalid-html5')\n : $textfield.addClass('mdui-textfield-invalid-html5');\n }\n\n // textarea 高度自动调整\n if ($input.is('textarea')) {\n // IE bug:textarea 的值仅为多个换行,不含其他内容时,textarea 的高度不准确\n // 此时,在计算高度前,在值的开头加入一个空格,计算完后,移除空格\n const inputValue = value;\n let hasExtraSpace = false;\n\n if (inputValue.replace(/[\\r\\n]/g, '') === '') {\n $input.val(' ' + inputValue);\n hasExtraSpace = true;\n }\n\n // 设置 textarea 高度\n $input.outerHeight('');\n const height = $input.outerHeight();\n const scrollHeight = input.scrollHeight;\n\n if (scrollHeight > height) {\n $input.outerHeight(scrollHeight);\n }\n\n // 计算完,还原 textarea 的值\n if (hasExtraSpace) {\n $input.val(inputValue);\n }\n }\n\n // 实时字数统计\n if (data.reInit) {\n $textfield.find('.mdui-textfield-counter').remove();\n }\n\n const maxLength = $input.attr('maxlength');\n if (maxLength) {\n if (data.reInit || data.domLoadedEvent) {\n $(\n '
              ' +\n ` / ${maxLength}` +\n '
              ',\n ).appendTo($textfield);\n }\n\n $textfield\n .find('.mdui-textfield-counter-inputed')\n .text(value.length.toString());\n }\n\n // 含 帮助文本、错误提示、字数统计 时,增加文本框底部内边距\n if (\n $textfield.find('.mdui-textfield-helper').length ||\n $textfield.find('.mdui-textfield-error').length ||\n maxLength\n ) {\n $textfield.addClass('mdui-textfield-has-bottom');\n }\n}\n\n$(() => {\n // 绑定事件\n $document.on(\n 'input focus blur',\n '.mdui-textfield-input',\n { useCapture: true },\n inputEvent,\n );\n\n // 可展开文本框展开\n $document.on(\n 'click',\n '.mdui-textfield-expandable .mdui-textfield-icon',\n function () {\n $(this as HTMLElement)\n .parents('.mdui-textfield')\n .addClass('mdui-textfield-expanded')\n .find('.mdui-textfield-input')[0]\n .focus();\n },\n );\n\n // 可展开文本框关闭\n $document.on(\n 'click',\n '.mdui-textfield-expanded .mdui-textfield-close',\n function () {\n $(this)\n .parents('.mdui-textfield')\n .removeClass('mdui-textfield-expanded')\n .find('.mdui-textfield-input')\n .val('');\n },\n );\n\n /**\n * 初始化文本框\n */\n mdui.mutation('.mdui-textfield', function () {\n $(this).find('.mdui-textfield-input').trigger('input', {\n domLoadedEvent: true,\n });\n });\n});\n\nmdui.updateTextFields = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-textfield') : $(selector);\n\n $elements.each((_, element) => {\n $(element).find('.mdui-textfield-input').trigger('input', {\n reInit: true,\n });\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/append';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/empty';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/text';\nimport 'mdui.jq/es/methods/val';\nimport 'mdui.jq/es/methods/width';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport {\n endEvent,\n isAllow,\n register,\n startEvent,\n unlockEvent,\n} from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 动态修改了滑块后,需要调用该方法重新初始化滑块\n *\n * 若传入了参数,则只初始化该参数对应的滑块。若没有传入参数,则重新初始化所有滑块。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateSliders(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\n/**\n * 滑块的值改变后修改滑块样式\n * @param $slider\n */\nfunction updateValueStyle($slider: JQ): void {\n const data = $slider.data();\n\n const $track = data._slider_$track;\n const $fill = data._slider_$fill;\n const $thumb = data._slider_$thumb;\n const $input = data._slider_$input;\n const min = data._slider_min;\n const max = data._slider_max;\n const isDisabled = data._slider_disabled;\n const isDiscrete = data._slider_discrete;\n const $thumbText = data._slider_$thumbText;\n const value = $input.val();\n const percent = ((value - min) / (max - min)) * 100;\n\n $fill.width(`${percent}%`);\n $track.width(`${100 - percent}%`);\n\n if (isDisabled) {\n $fill.css('padding-right', '6px');\n $track.css('padding-left', '6px');\n }\n\n $thumb.css('left', `${percent}%`);\n\n if (isDiscrete) {\n $thumbText.text(value);\n }\n\n percent === 0\n ? $slider.addClass('mdui-slider-zero')\n : $slider.removeClass('mdui-slider-zero');\n}\n\n/**\n * 重新初始化滑块\n * @param $slider\n */\nfunction reInit($slider: JQ): void {\n const $track = $('
              ');\n const $fill = $('
              ');\n const $thumb = $('
              ');\n const $input = $slider.find('input[type=\"range\"]') as JQ;\n const isDisabled = $input[0].disabled;\n const isDiscrete = $slider.hasClass('mdui-slider-discrete');\n\n // 禁用状态\n isDisabled\n ? $slider.addClass('mdui-slider-disabled')\n : $slider.removeClass('mdui-slider-disabled');\n\n // 重新填充 HTML\n $slider.find('.mdui-slider-track').remove();\n $slider.find('.mdui-slider-fill').remove();\n $slider.find('.mdui-slider-thumb').remove();\n $slider.append($track).append($fill).append($thumb);\n\n // 间续型滑块\n let $thumbText = $();\n if (isDiscrete) {\n $thumbText = $('');\n $thumb.empty().append($thumbText);\n }\n\n $slider.data('_slider_$track', $track);\n $slider.data('_slider_$fill', $fill);\n $slider.data('_slider_$thumb', $thumb);\n $slider.data('_slider_$input', $input);\n $slider.data('_slider_min', $input.attr('min'));\n $slider.data('_slider_max', $input.attr('max'));\n $slider.data('_slider_disabled', isDisabled);\n $slider.data('_slider_discrete', isDiscrete);\n $slider.data('_slider_$thumbText', $thumbText);\n\n // 设置默认值\n updateValueStyle($slider);\n}\n\nconst rangeSelector = '.mdui-slider input[type=\"range\"]';\n\n$(() => {\n // 滑块滑动事件\n $document.on('input change', rangeSelector, function () {\n const $slider = $(this).parent() as JQ;\n\n updateValueStyle($slider);\n });\n\n // 开始触摸滑块事件\n $document.on(startEvent, rangeSelector, function (event: Event) {\n if (!isAllow(event)) {\n return;\n }\n\n register(event);\n\n if ((this as HTMLInputElement).disabled) {\n return;\n }\n\n const $slider = $(this).parent() as JQ;\n\n $slider.addClass('mdui-slider-focus');\n });\n\n // 结束触摸滑块事件\n $document.on(endEvent, rangeSelector, function (event: Event) {\n if (!isAllow(event)) {\n return;\n }\n\n if ((this as HTMLInputElement).disabled) {\n return;\n }\n\n const $slider = $(this).parent() as JQ;\n\n $slider.removeClass('mdui-slider-focus');\n });\n\n $document.on(unlockEvent, rangeSelector, register);\n\n /**\n * 初始化滑块\n */\n mdui.mutation('.mdui-slider', function () {\n reInit($(this));\n });\n});\n\nmdui.updateSliders = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-slider') : $(selector);\n\n $elements.each((_, element) => {\n reInit($(element));\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/last';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transitionEnd';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document } from '../../utils/dom';\nimport { startEvent } from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 浮动操作按钮组件\n *\n * 请通过 `new mdui.Fab()` 调用\n */\n Fab: {\n /**\n * 实例化 Fab 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Fab;\n };\n }\n}\n\ntype OPTIONS = {\n /**\n * 触发方式。`hover`: 鼠标悬浮触发;`click`: 点击触发\n *\n * 默认为 `hover`\n */\n trigger?: 'click' | 'hover';\n};\n\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n trigger: 'hover',\n};\n\nclass Fab {\n /**\n * Fab 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 fab 的状态\n */\n private state: STATE = 'closed';\n\n /**\n * 按钮元素\n */\n private $btn: JQ;\n\n /**\n * 拨号菜单元素\n */\n private $dial: JQ;\n\n /**\n * 拨号菜单内的按钮\n */\n private $dialBtns: JQ;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$element = $(selector).first();\n\n extend(this.options, options);\n\n this.$btn = this.$element.find('.mdui-fab');\n this.$dial = this.$element.find('.mdui-fab-dial');\n this.$dialBtns = this.$dial.find('.mdui-fab');\n\n if (this.options.trigger === 'hover') {\n this.$btn.on('touchstart mouseenter', () => this.open());\n this.$element.on('mouseleave', () => this.close());\n }\n\n if (this.options.trigger === 'click') {\n this.$btn.on(startEvent, () => this.open());\n }\n\n // 触摸屏幕其他地方关闭快速拨号\n $document.on(startEvent, (event) => {\n if ($(event.target as HTMLElement).parents('.mdui-fab-wrapper').length) {\n return;\n }\n\n this.close();\n });\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'fab', this.$element, this);\n }\n\n /**\n * 当前是否为打开状态\n */\n private isOpen(): boolean {\n return this.state === 'opening' || this.state === 'opened';\n }\n\n /**\n * 打开快速拨号菜单\n */\n public open(): void {\n if (this.isOpen()) {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n this.$dialBtns.each((index, btn) => {\n const delay = `${15 * (this.$dialBtns.length - index)}ms`;\n\n btn.style.transitionDelay = delay;\n btn.style.webkitTransitionDelay = delay;\n });\n\n this.$dial.css('height', 'auto').addClass('mdui-fab-dial-show');\n\n // 如果按钮中存在 .mdui-fab-opened 的图标,则进行图标切换\n if (this.$btn.find('.mdui-fab-opened').length) {\n this.$btn.addClass('mdui-fab-opened');\n }\n\n this.state = 'opening';\n this.triggerEvent('open');\n\n // 打开顺序为从下到上逐个打开,最上面的打开后才表示动画完成\n this.$dialBtns.first().transitionEnd(() => {\n if (this.$btn.hasClass('mdui-fab-opened')) {\n this.state = 'opened';\n this.triggerEvent('opened');\n }\n });\n }\n\n /**\n * 关闭快速拨号菜单\n */\n public close(): void {\n if (!this.isOpen()) {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n this.$dialBtns.each((index, btn) => {\n const delay = `${15 * index}ms`;\n\n btn.style.transitionDelay = delay;\n btn.style.webkitTransitionDelay = delay;\n });\n\n this.$dial.removeClass('mdui-fab-dial-show');\n this.$btn.removeClass('mdui-fab-opened');\n this.state = 'closing';\n this.triggerEvent('close');\n\n // 从上往下依次关闭,最后一个关闭后才表示动画完成\n this.$dialBtns.last().transitionEnd(() => {\n if (this.$btn.hasClass('mdui-fab-opened')) {\n return;\n }\n\n this.state = 'closed';\n this.triggerEvent('closed');\n this.$dial.css('height', 0);\n });\n }\n\n /**\n * 切换快速拨号菜单的打开状态\n */\n public toggle(): void {\n this.isOpen() ? this.close() : this.open();\n }\n\n /**\n * 以动画的形式显示整个浮动操作按钮\n */\n public show(): void {\n this.$element.removeClass('mdui-fab-hide');\n }\n\n /**\n * 以动画的形式隐藏整个浮动操作按钮\n */\n public hide(): void {\n this.$element.addClass('mdui-fab-hide');\n }\n\n /**\n * 返回当前快速拨号菜单的打开状态。共包含四种状态:`opening`、`opened`、`closing`、`closed`\n */\n public getState(): STATE {\n return this.state;\n }\n}\n\nmdui.Fab = Fab;\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-fab';\n\n$(() => {\n // mouseenter 不冒泡,无法进行事件委托,这里用 mouseover 代替。\n // 不管是 click 、 mouseover 还是 touchstart ,都先初始化。\n\n $document.on(\n 'touchstart mousedown mouseover',\n `[${customAttr}]`,\n function () {\n new mdui.Fab(\n this as HTMLElement,\n parseOptions(this as HTMLElement, customAttr),\n );\n },\n );\n});\n","/**\n * 最终生成的元素结构为:\n * \n *
              // $element\n * State 1 // $selected\n *
              // $menu\n *
              State 1
              // $items\n *
              State 2
              \n *
              State 3
              \n *
              \n *
              \n */\n\nimport $ from 'mdui.jq/es/$';\nimport contains from 'mdui.jq/es/functions/contains';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/add';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/after';\nimport 'mdui.jq/es/methods/append';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/hide';\nimport 'mdui.jq/es/methods/index';\nimport 'mdui.jq/es/methods/innerWidth';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeAttr';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/show';\nimport 'mdui.jq/es/methods/text';\nimport 'mdui.jq/es/methods/trigger';\nimport 'mdui.jq/es/methods/val';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transitionEnd';\nimport '../../jq_extends/static/guid';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document, $window } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 下拉选择组件\n *\n * 请通过 `new mdui.Select()` 调用\n */\n Select: {\n /**\n * 实例化 Select 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Select;\n };\n }\n}\n\ntype OPTIONS = {\n /**\n * 下拉框位置:`auto`、`top`、`bottom`\n */\n position?: 'auto' | 'top' | 'bottom';\n\n /**\n * 菜单与窗口上下边框至少保持多少间距\n */\n gutter?: number;\n};\n\ntype STATE = 'closing' | 'closed' | 'opening' | 'opened';\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n position: 'auto',\n gutter: 16,\n};\n\nclass Select {\n /**\n * 原生 ``\n : '') +\n (options.type === 'textarea'\n ? ``\n : '') +\n '
              ';\n\n const onCancelClick = (dialog: Dialog): void => {\n const value = dialog.$element.find('.mdui-textfield-input').val();\n onCancel(value, dialog);\n };\n\n const onConfirmClick = (dialog: Dialog): void => {\n const value = dialog.$element.find('.mdui-textfield-input').val();\n onConfirm(value, dialog);\n };\n\n return mdui.dialog({\n title,\n content,\n buttons: [\n {\n text: options.cancelText,\n bold: false,\n close: options.closeOnCancel,\n onClick: onCancelClick,\n },\n {\n text: options.confirmText,\n bold: false,\n close: options.closeOnConfirm,\n onClick: onConfirmClick,\n },\n ],\n cssClass: 'mdui-dialog-prompt',\n history: options.history,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n onOpen: (dialog) => {\n // 初始化输入框\n const $input = dialog.$element.find('.mdui-textfield-input');\n mdui.updateTextFields($input);\n\n // 聚焦到输入框\n $input[0].focus();\n\n // 捕捉文本框回车键,在单行文本框的情况下触发回调\n if (options.type !== 'textarea' && options.confirmOnEnter === true) {\n $input.on('keydown', (event) => {\n if ((event as KeyboardEvent).keyCode === 13) {\n const value = dialog.$element.find('.mdui-textfield-input').val();\n onConfirm(value, dialog);\n\n if (options.closeOnConfirm) {\n dialog.close();\n }\n\n return false;\n }\n\n return;\n });\n }\n\n // 如果是多行输入框,监听输入框的 input 事件,更新对话框高度\n if (options.type === 'textarea') {\n $input.on('input', () => dialog.handleUpdate());\n }\n\n // 有字符数限制时,加载完文本框后 DOM 会变化,需要更新对话框高度\n if (options.maxlength) {\n dialog.handleUpdate();\n }\n },\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/html';\nimport 'mdui.jq/es/methods/offset';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/width';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transformOrigin';\nimport '../../jq_extends/methods/transitionEnd';\nimport '../../jq_extends/static/guid';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $window } from '../../utils/dom';\nimport { isAllow, register, unlockEvent } from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * Tooltip 组件\n *\n * 请通过 `new mdui.Tooltip()` 调用\n */\n Tooltip: {\n /**\n * 实例化 Tooltip 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Tooltip;\n };\n }\n}\n\ntype POSITION = 'auto' | 'bottom' | 'top' | 'left' | 'right';\n\ntype OPTIONS = {\n /**\n * Tooltip 的位置。取值范围包括 `auto`、`bottom`、`top`、`left`、`right`。\n * 为 `auto` 时,会自动判断位置。默认在下方。优先级为 `bottom` > `top` > `left` > `right`。\n * 默认为 `auto`\n */\n position?: POSITION;\n\n /**\n * 延时触发,单位毫秒。默认为 `0`,即没有延时。\n */\n delay?: number;\n\n /**\n * Tooltip 的内容\n */\n content?: string;\n};\n\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n position: 'auto',\n delay: 0,\n content: '',\n};\n\nclass Tooltip {\n /**\n * 触发 tooltip 元素的 JQ 对象\n */\n public $target: JQ;\n\n /**\n * tooltip 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 tooltip 的状态\n */\n private state: STATE = 'closed';\n\n /**\n * setTimeout 的返回值\n */\n private timeoutId: any = null;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$target = $(selector).first();\n\n extend(this.options, options);\n\n // 创建 Tooltip HTML\n this.$element = $(\n `
              ${\n this.options.content\n }
              `,\n ).appendTo(document.body);\n\n // 绑定事件。元素处于 disabled 状态时无法触发鼠标事件,为了统一,把 touch 事件也禁用\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n this.$target\n .on('touchstart mouseenter', function (event) {\n if (that.isDisabled(this as HTMLElement)) {\n return;\n }\n\n if (!isAllow(event)) {\n return;\n }\n\n register(event);\n\n that.open();\n })\n .on('touchend mouseleave', function (event) {\n if (that.isDisabled(this as HTMLElement)) {\n return;\n }\n\n if (!isAllow(event)) {\n return;\n }\n\n that.close();\n })\n .on(unlockEvent, function (event) {\n if (that.isDisabled(this as HTMLElement)) {\n return;\n }\n\n register(event);\n });\n }\n\n /**\n * 元素是否已禁用\n * @param element\n */\n private isDisabled(element: HTMLElement): boolean {\n return (\n (element as HTMLInputElement).disabled ||\n $(element).attr('disabled') !== undefined\n );\n }\n\n /**\n * 是否是桌面设备\n */\n private isDesktop(): boolean {\n return $window.width() > 1024;\n }\n\n /**\n * 设置 Tooltip 的位置\n */\n private setPosition(): void {\n let marginLeft: number;\n let marginTop: number;\n\n // 触发的元素\n const targetProps = this.$target[0].getBoundingClientRect();\n\n // 触发的元素和 Tooltip 之间的距离\n const targetMargin = this.isDesktop() ? 14 : 24;\n\n // Tooltip 的宽度和高度\n const tooltipWidth = this.$element[0].offsetWidth;\n const tooltipHeight = this.$element[0].offsetHeight;\n\n // Tooltip 的方向\n let position: POSITION = this.options.position!;\n\n // 自动判断位置,加 2px,使 Tooltip 距离窗口边框至少有 2px 的间距\n if (position === 'auto') {\n if (\n targetProps.top +\n targetProps.height +\n targetMargin +\n tooltipHeight +\n 2 <\n $window.height()\n ) {\n position = 'bottom';\n } else if (targetMargin + tooltipHeight + 2 < targetProps.top) {\n position = 'top';\n } else if (targetMargin + tooltipWidth + 2 < targetProps.left) {\n position = 'left';\n } else if (\n targetProps.width + targetMargin + tooltipWidth + 2 <\n $window.width() - targetProps.left\n ) {\n position = 'right';\n } else {\n position = 'bottom';\n }\n }\n\n // 设置位置\n switch (position) {\n case 'bottom':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop = targetProps.height / 2 + targetMargin;\n this.$element.transformOrigin('top center');\n break;\n\n case 'top':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop =\n -1 * (tooltipHeight + targetProps.height / 2 + targetMargin);\n this.$element.transformOrigin('bottom center');\n break;\n\n case 'left':\n marginLeft = -1 * (tooltipWidth + targetProps.width / 2 + targetMargin);\n marginTop = -1 * (tooltipHeight / 2);\n this.$element.transformOrigin('center right');\n break;\n\n case 'right':\n marginLeft = targetProps.width / 2 + targetMargin;\n marginTop = -1 * (tooltipHeight / 2);\n this.$element.transformOrigin('center left');\n break;\n }\n\n const targetOffset = this.$target.offset();\n\n this.$element.css({\n top: `${targetOffset.top + targetProps.height / 2}px`,\n left: `${targetOffset.left + targetProps.width / 2}px`,\n 'margin-left': `${marginLeft}px`,\n 'margin-top': `${marginTop}px`,\n });\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'tooltip', this.$target, this);\n }\n\n /**\n * 动画结束回调\n */\n private transitionEnd(): void {\n if (this.$element.hasClass('mdui-tooltip-open')) {\n this.state = 'opened';\n this.triggerEvent('opened');\n } else {\n this.state = 'closed';\n this.triggerEvent('closed');\n }\n }\n\n /**\n * 当前 tooltip 是否为打开状态\n */\n private isOpen(): boolean {\n return this.state === 'opening' || this.state === 'opened';\n }\n\n /**\n * 执行打开 tooltip\n */\n private doOpen(): void {\n this.state = 'opening';\n this.triggerEvent('open');\n\n this.$element\n .addClass('mdui-tooltip-open')\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 打开 Tooltip\n * @param options 允许每次打开时设置不同的参数\n */\n public open(options?: OPTIONS): void {\n if (this.isOpen()) {\n return;\n }\n\n const oldOptions = extend({}, this.options);\n\n if (options) {\n extend(this.options, options);\n }\n\n // tooltip 的内容有更新\n if (oldOptions.content !== this.options.content) {\n this.$element.html(this.options.content);\n }\n\n this.setPosition();\n\n if (this.options.delay) {\n this.timeoutId = setTimeout(() => this.doOpen(), this.options.delay);\n } else {\n this.timeoutId = null;\n this.doOpen();\n }\n }\n\n /**\n * 关闭 Tooltip\n */\n public close(): void {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n\n if (!this.isOpen()) {\n return;\n }\n\n this.state = 'closing';\n this.triggerEvent('close');\n\n this.$element\n .removeClass('mdui-tooltip-open')\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 切换 Tooltip 的打开状态\n */\n public toggle(): void {\n this.isOpen() ? this.close() : this.open();\n }\n\n /**\n * 获取 Tooltip 状态。共包含四种状态:`opening`、`opened`、`closing`、`closed`\n */\n public getState(): STATE {\n return this.state;\n }\n}\n\nmdui.Tooltip = Tooltip;\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/on';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-tooltip';\nconst dataName = '_mdui_tooltip';\n\n$(() => {\n // mouseenter 不能冒泡,所以这里用 mouseover 代替\n $document.on('touchstart mouseover', `[${customAttr}]`, function () {\n const $target = $(this);\n let instance = $target.data(dataName);\n\n if (!instance) {\n instance = new mdui.Tooltip(\n this as HTMLElement,\n parseOptions(this as HTMLElement, customAttr),\n );\n $target.data(dataName, instance);\n }\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/off';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/remove';\nimport { isString } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/reflow';\nimport '../../jq_extends/methods/transform';\nimport '../../jq_extends/methods/transitionEnd';\nimport { $document } from '../../utils/dom';\nimport { dequeue, queue } from '../../utils/queue';\nimport { startEvent } from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 打开一个 Snackbar\n * @param message Snackbar 的文本\n * @param options 配置参数\n */\n snackbar(message: string, options?: OPTIONS): Snackbar;\n\n /**\n * 打开一个 Snackbar\n * @param options 配置参数\n */\n snackbar(options: OPTIONS): Snackbar;\n }\n}\n\ntype OPTIONS = {\n /**\n * Snackbar 的文本。通过 `mdui.snackbar(options)` 调用时,该参数不能为空\n */\n message?: string;\n\n /**\n * 在用户没有操作时多长时间自动隐藏,单位(毫秒)。为 `0` 时表示不自动关闭,默认为 `4000`\n */\n timeout?: number;\n\n /**\n * Snackbar 的位置,默认为 `bottom`。\n * 取值范围包括:\n * `bottom`: 下方\n * `top`: 上方\n * `left-top`: 左上角\n * `left-bottom`: 左下角\n * `right-top`: 右上角\n * `right-bottom`: 右下角\n */\n position?:\n | 'bottom'\n | 'top'\n | 'left-top'\n | 'left-bottom'\n | 'right-top'\n | 'right-bottom';\n\n /**\n * 按钮的文本\n */\n buttonText?: string;\n\n /**\n * 按钮的文本颜色,可以是颜色名或颜色值,如 `red`、`#ffffff`、`rgba(255, 255, 255, 0.3)` 等。默认为 `#90CAF9`\n */\n buttonColor?: string;\n\n /**\n * 点击按钮时是否关闭 Snackbar,默认为 `true`\n */\n closeOnButtonClick?: boolean;\n\n /**\n * 点击或触摸 Snackbar 以外的区域时是否关闭 Snackbar,默认为 `true`\n */\n closeOnOutsideClick?: boolean;\n\n /**\n * 在 Snackbar 上点击的回调函数,参数为 Snackbar 的实例\n */\n onClick?: (snackbar: Snackbar) => void;\n\n /**\n * 点击 Snackbar 上的按钮时的回调函数,参数为 Snackbar 的实例\n */\n onButtonClick?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 开始打开时的回调函数,参数为 Snackbar 的实例\n */\n onOpen?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 打开后的回调函数,参数为 Snackbar 的实例\n */\n onOpened?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 开始关闭时的回调函数,参数为 Snackbar 的实例\n */\n onClose?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 关闭后的回调函数,参数为 Snackbar 的实例\n */\n onClosed?: (snackbar: Snackbar) => void;\n};\n\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n message: '',\n timeout: 4000,\n position: 'bottom',\n buttonText: '',\n buttonColor: '',\n closeOnButtonClick: true,\n closeOnOutsideClick: true,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onButtonClick: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onOpen: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onOpened: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClosed: () => {},\n};\n\n/**\n * 当前打开着的 Snackbar\n */\nlet currentInst: null | Snackbar = null;\n\n/**\n * 队列名\n */\nconst queueName = '_mdui_snackbar';\n\nclass Snackbar {\n /**\n * Snackbar 元素\n */\n public $element: JQ;\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 Snackbar 的状态\n */\n private state: STATE = 'closed';\n\n /**\n * setTimeout 的 ID\n */\n private timeoutId: any = null;\n\n public constructor(options: OPTIONS) {\n extend(this.options, options);\n\n // 按钮颜色\n let buttonColorStyle = '';\n let buttonColorClass = '';\n\n if (\n this.options.buttonColor!.indexOf('#') === 0 ||\n this.options.buttonColor!.indexOf('rgb') === 0\n ) {\n buttonColorStyle = `style=\"color:${this.options.buttonColor}\"`;\n } else if (this.options.buttonColor !== '') {\n buttonColorClass = `mdui-text-color-${this.options.buttonColor}`;\n }\n\n // 添加 HTML\n this.$element = $(\n '
              ' +\n `
              ${this.options.message}
              ` +\n (this.options.buttonText\n ? `${this.options.buttonText}`\n : '') +\n '
              ',\n ).appendTo(document.body);\n\n // 设置位置\n this.setPosition('close');\n\n this.$element.reflow().addClass(`mdui-snackbar-${this.options.position}`);\n }\n\n /**\n * 点击 Snackbar 外面的区域关闭\n * @param event\n */\n private closeOnOutsideClick(event: Event): void {\n const $target = $(event.target as HTMLElement);\n\n if (\n !$target.hasClass('mdui-snackbar') &&\n !$target.parents('.mdui-snackbar').length\n ) {\n currentInst!.close();\n }\n }\n\n /**\n * 设置 Snackbar 的位置\n * @param state\n */\n private setPosition(state: 'open' | 'close'): void {\n const snackbarHeight = this.$element[0].clientHeight;\n const position = this.options.position;\n\n let translateX;\n let translateY;\n\n // translateX\n if (position === 'bottom' || position === 'top') {\n translateX = '-50%';\n } else {\n translateX = '0';\n }\n\n // translateY\n if (state === 'open') {\n translateY = '0';\n } else {\n if (position === 'bottom') {\n translateY = snackbarHeight;\n }\n\n if (position === 'top') {\n translateY = -snackbarHeight;\n }\n\n if (position === 'left-top' || position === 'right-top') {\n translateY = -snackbarHeight - 24;\n }\n\n if (position === 'left-bottom' || position === 'right-bottom') {\n translateY = snackbarHeight + 24;\n }\n }\n\n this.$element.transform(`translate(${translateX},${translateY}px`);\n }\n\n /**\n * 打开 Snackbar\n */\n public open(): void {\n if (this.state === 'opening' || this.state === 'opened') {\n return;\n }\n\n // 如果当前有正在显示的 Snackbar,则先加入队列,等旧 Snackbar 关闭后再打开\n if (currentInst) {\n queue(queueName, () => this.open());\n return;\n }\n\n currentInst = this;\n\n // 开始打开\n this.state = 'opening';\n this.options.onOpen!(this);\n\n this.setPosition('open');\n\n this.$element.transitionEnd(() => {\n if (this.state !== 'opening') {\n return;\n }\n\n this.state = 'opened';\n this.options.onOpened!(this);\n\n // 有按钮时绑定事件\n if (this.options.buttonText) {\n this.$element.find('.mdui-snackbar-action').on('click', () => {\n this.options.onButtonClick!(this);\n if (this.options.closeOnButtonClick) {\n this.close();\n }\n });\n }\n\n // 点击 snackbar 的事件\n this.$element.on('click', (event) => {\n if (!$(event.target as HTMLElement).hasClass('mdui-snackbar-action')) {\n this.options.onClick!(this);\n }\n });\n\n // 点击 Snackbar 外面的区域关闭\n if (this.options.closeOnOutsideClick) {\n $document.on(startEvent, this.closeOnOutsideClick);\n }\n\n // 超时后自动关闭\n if (this.options.timeout) {\n this.timeoutId = setTimeout(() => this.close(), this.options.timeout);\n }\n });\n }\n\n /**\n * 关闭 Snackbar\n */\n public close(): void {\n if (this.state === 'closing' || this.state === 'closed') {\n return;\n }\n\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n }\n\n if (this.options.closeOnOutsideClick) {\n $document.off(startEvent, this.closeOnOutsideClick);\n }\n\n this.state = 'closing';\n this.options.onClose!(this);\n\n this.setPosition('close');\n\n this.$element.transitionEnd(() => {\n if (this.state !== 'closing') {\n return;\n }\n\n currentInst = null;\n this.state = 'closed';\n this.options.onClosed!(this);\n this.$element.remove();\n dequeue(queueName);\n });\n }\n}\n\nmdui.snackbar = function (message: any, options: any = {}): Snackbar {\n if (isString(message)) {\n options.message = message;\n } else {\n options = message;\n }\n\n const instance = new Snackbar(options);\n\n instance.open();\n\n return instance;\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/removeClass';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document } from '../../utils/dom';\nimport '../headroom';\n\n$(() => {\n // 切换导航项\n $document.on('click', '.mdui-bottom-nav>a', function () {\n const $item = $(this as HTMLElement);\n const $bottomNav = $item.parent();\n\n $bottomNav.children('a').each((index, item) => {\n const isThis = $item.is(item);\n\n if (isThis) {\n componentEvent('change', 'bottomNav', $bottomNav[0], undefined, {\n index,\n });\n }\n\n isThis\n ? $(item).addClass('mdui-bottom-nav-active')\n : $(item).removeClass('mdui-bottom-nav-active');\n });\n });\n\n // 滚动时隐藏 mdui-bottom-nav-scroll-hide\n mdui.mutation('.mdui-bottom-nav-scroll-hide', function () {\n new mdui.Headroom(this, {\n pinnedClass: 'mdui-headroom-pinned-down',\n unpinnedClass: 'mdui-headroom-unpinned-down',\n });\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/html';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 如果需要修改已有的圆形进度条组件,需要调用该方法来重新初始化组件。\n *\n * 若传入了参数,则只重新初始化该参数对应的圆形进度条。若没有传入参数,则重新初始化所有圆形进度条。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateSpinners(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\n/**\n * layer 的 HTML 结构\n * @param index\n */\nfunction layerHTML(index: number | false = false): string {\n return (\n `
              ` +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              '\n );\n}\n\n/**\n * 填充 HTML\n * @param spinner\n */\nfunction fillHTML(spinner: HTMLElement): void {\n const $spinner = $(spinner);\n\n const layer = $spinner.hasClass('mdui-spinner-colorful')\n ? layerHTML(1) + layerHTML(2) + layerHTML(3) + layerHTML(4)\n : layerHTML();\n\n $spinner.html(layer);\n}\n\n$(() => {\n // 页面加载完后自动填充 HTML 结构\n mdui.mutation('.mdui-spinner', function () {\n fillHTML(this);\n });\n});\n\nmdui.updateSpinners = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-spinner') : $(selector);\n\n $elements.each(function () {\n fillHTML(this);\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport contains from 'mdui.jq/es/functions/contains';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/width';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transformOrigin';\nimport '../../jq_extends/methods/transitionEnd';\nimport '../../jq_extends/static/throttle';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document, $window } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * Menu 组件\n *\n * 请通过 `new mdui.Menu()` 调用\n */\n Menu: {\n /**\n * 实例化 Menu 组件\n * @param anchorSelector 触发菜单的元素的 CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param menuSelector 菜单的 CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n anchorSelector: Selector | HTMLElement | ArrayLike,\n menuSelector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Menu;\n };\n }\n}\n\ntype OPTIONS = {\n /**\n * 菜单相对于触发它的元素的位置,默认为 `auto`。\n * 取值范围包括:\n * `top`: 菜单在触发它的元素的上方\n * `bottom`: 菜单在触发它的元素的下方\n * `center`: 菜单在窗口中垂直居中\n * `auto`: 自动判断位置。优先级为:`bottom` > `top` > `center`\n */\n position?: 'auto' | 'top' | 'bottom' | 'center';\n\n /**\n * 菜单与触发它的元素的对其方式,默认为 `auto`。\n * 取值范围包括:\n * `left`: 菜单与触发它的元素左对齐\n * `right`: 菜单与触发它的元素右对齐\n * `center`: 菜单在窗口中水平居中\n * `auto`: 自动判断位置:优先级为:`left` > `right` > `center`\n */\n align?: 'auto' | 'left' | 'right' | 'center';\n\n /**\n * 菜单与窗口边框至少保持多少间距,单位为 px,默认为 `16`\n */\n gutter?: number;\n\n /**\n * 菜单的定位方式,默认为 `false`。\n * 为 `true` 时,菜单使用 fixed 定位。在页面滚动时,菜单将保持在窗口固定位置,不随滚动条滚动。\n * 为 `false` 时,菜单使用 absolute 定位。在页面滚动时,菜单将随着页面一起滚动。\n */\n fixed?: boolean;\n\n /**\n * 菜单是否覆盖在触发它的元素的上面,默认为 `auto`\n * 为 `true` 时,使菜单覆盖在触发它的元素的上面\n * 为 `false` 时,使菜单不覆盖触发它的元素\n * 为 `auto` 时,简单菜单覆盖触发它的元素。级联菜单不覆盖触发它的元素\n */\n covered?: boolean | 'auto';\n\n /**\n * 子菜单的触发方式,默认为 `hover`\n * 为 `click` 时,点击时触发子菜单\n * 为 `hover` 时,鼠标悬浮时触发子菜单\n */\n subMenuTrigger?: 'click' | 'hover';\n\n /**\n * 子菜单的触发延迟时间(单位:毫秒),只有在 `subMenuTrigger: hover` 时,这个参数才有效,默认为 `200`\n */\n subMenuDelay?: number;\n};\n\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n position: 'auto',\n align: 'auto',\n gutter: 16,\n fixed: false,\n covered: 'auto',\n subMenuTrigger: 'hover',\n subMenuDelay: 200,\n};\n\nclass Menu {\n /**\n * 触发菜单的元素的 JQ 对象\n */\n public $anchor: JQ;\n\n /**\n * 菜单元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前菜单状态\n */\n private state: STATE = 'closed';\n\n /**\n * 是否是级联菜单\n */\n private isCascade: boolean;\n\n /**\n * 菜单是否覆盖在触发它的元素的上面\n */\n private isCovered: boolean;\n\n public constructor(\n anchorSelector: Selector | HTMLElement | ArrayLike,\n menuSelector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$anchor = $(anchorSelector).first();\n this.$element = $(menuSelector).first();\n\n // 触发菜单的元素 和 菜单必须是同级的元素,否则菜单可能不能定位\n if (!this.$anchor.parent().is(this.$element.parent())) {\n throw new Error('anchorSelector and menuSelector must be siblings');\n }\n\n extend(this.options, options);\n\n // 是否是级联菜单\n this.isCascade = this.$element.hasClass('mdui-menu-cascade');\n\n // covered 参数处理\n this.isCovered =\n this.options.covered === 'auto' ? !this.isCascade : this.options.covered!;\n\n // 点击触发菜单切换\n this.$anchor.on('click', () => this.toggle());\n\n // 点击菜单外面区域关闭菜单\n $document.on('click touchstart', (event: Event) => {\n const $target = $(event.target as HTMLElement);\n\n if (\n this.isOpen() &&\n !$target.is(this.$element) &&\n !contains(this.$element[0], $target[0]) &&\n !$target.is(this.$anchor) &&\n !contains(this.$anchor[0], $target[0])\n ) {\n this.close();\n }\n });\n\n // 点击不含子菜单的菜单条目关闭菜单\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n $document.on('click', '.mdui-menu-item', function () {\n const $item = $(this);\n\n if (\n !$item.find('.mdui-menu').length &&\n $item.attr('disabled') === undefined\n ) {\n that.close();\n }\n });\n\n // 绑定点击或鼠标移入含子菜单的条目的事件\n this.bindSubMenuEvent();\n\n // 窗口大小变化时,重新调整菜单位置\n $window.on(\n 'resize',\n $.throttle(() => this.readjust(), 100),\n );\n }\n\n /**\n * 是否为打开状态\n */\n private isOpen(): boolean {\n return this.state === 'opening' || this.state === 'opened';\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'menu', this.$element, this);\n }\n\n /**\n * 调整主菜单位置\n */\n private readjust(): void {\n let menuLeft;\n let menuTop;\n\n // 菜单位置和方向\n let position: 'bottom' | 'top' | 'center';\n let align: 'left' | 'right' | 'center';\n\n // window 窗口的宽度和高度\n const windowHeight = $window.height();\n const windowWidth = $window.width();\n\n // 配置参数\n const gutter = this.options.gutter!;\n const isCovered = this.isCovered;\n const isFixed = this.options.fixed;\n\n // 动画方向参数\n let transformOriginX;\n let transformOriginY;\n\n // 菜单的原始宽度和高度\n const menuWidth = this.$element.width();\n const menuHeight = this.$element.height();\n\n // 触发菜单的元素在窗口中的位置\n const anchorRect = this.$anchor[0].getBoundingClientRect();\n const anchorTop = anchorRect.top;\n const anchorLeft = anchorRect.left;\n const anchorHeight = anchorRect.height;\n const anchorWidth = anchorRect.width;\n const anchorBottom = windowHeight - anchorTop - anchorHeight;\n const anchorRight = windowWidth - anchorLeft - anchorWidth;\n\n // 触发元素相对其拥有定位属性的父元素的位置\n const anchorOffsetTop = this.$anchor[0].offsetTop;\n const anchorOffsetLeft = this.$anchor[0].offsetLeft;\n\n // 自动判断菜单位置\n if (this.options.position === 'auto') {\n if (anchorBottom + (isCovered ? anchorHeight : 0) > menuHeight + gutter) {\n // 判断下方是否放得下菜单\n position = 'bottom';\n } else if (\n anchorTop + (isCovered ? anchorHeight : 0) >\n menuHeight + gutter\n ) {\n // 判断上方是否放得下菜单\n position = 'top';\n } else {\n // 上下都放不下,居中显示\n position = 'center';\n }\n } else {\n position = this.options.position!;\n }\n\n // 自动判断菜单对齐方式\n if (this.options.align === 'auto') {\n if (anchorRight + anchorWidth > menuWidth + gutter) {\n // 判断右侧是否放得下菜单\n align = 'left';\n } else if (anchorLeft + anchorWidth > menuWidth + gutter) {\n // 判断左侧是否放得下菜单\n align = 'right';\n } else {\n // 左右都放不下,居中显示\n align = 'center';\n }\n } else {\n align = this.options.align!;\n }\n\n // 设置菜单位置\n if (position === 'bottom') {\n transformOriginY = '0';\n menuTop =\n (isCovered ? 0 : anchorHeight) +\n (isFixed ? anchorTop : anchorOffsetTop);\n } else if (position === 'top') {\n transformOriginY = '100%';\n menuTop =\n (isCovered ? anchorHeight : 0) +\n (isFixed ? anchorTop - menuHeight : anchorOffsetTop - menuHeight);\n } else {\n transformOriginY = '50%';\n\n // =====================在窗口中居中\n // 显示的菜单的高度,简单菜单高度不超过窗口高度,若超过了则在菜单内部显示滚动条\n // 级联菜单内部不允许出现滚动条\n let menuHeightTemp = menuHeight;\n\n // 简单菜单比窗口高时,限制菜单高度\n if (!this.isCascade) {\n if (menuHeight + gutter * 2 > windowHeight) {\n menuHeightTemp = windowHeight - gutter * 2;\n this.$element.height(menuHeightTemp);\n }\n }\n\n menuTop =\n (windowHeight - menuHeightTemp) / 2 +\n (isFixed ? 0 : anchorOffsetTop - anchorTop);\n }\n\n this.$element.css('top', `${menuTop}px`);\n\n // 设置菜单对齐方式\n if (align === 'left') {\n transformOriginX = '0';\n menuLeft = isFixed ? anchorLeft : anchorOffsetLeft;\n } else if (align === 'right') {\n transformOriginX = '100%';\n menuLeft = isFixed\n ? anchorLeft + anchorWidth - menuWidth\n : anchorOffsetLeft + anchorWidth - menuWidth;\n } else {\n transformOriginX = '50%';\n\n //=======================在窗口中居中\n // 显示的菜单的宽度,菜单宽度不能超过窗口宽度\n let menuWidthTemp = menuWidth;\n\n // 菜单比窗口宽,限制菜单宽度\n if (menuWidth + gutter * 2 > windowWidth) {\n menuWidthTemp = windowWidth - gutter * 2;\n this.$element.width(menuWidthTemp);\n }\n\n menuLeft =\n (windowWidth - menuWidthTemp) / 2 +\n (isFixed ? 0 : anchorOffsetLeft - anchorLeft);\n }\n\n this.$element.css('left', `${menuLeft}px`);\n\n // 设置菜单动画方向\n this.$element.transformOrigin(`${transformOriginX} ${transformOriginY}`);\n }\n\n /**\n * 调整子菜单的位置\n * @param $submenu\n */\n private readjustSubmenu($submenu: JQ): void {\n const $item = $submenu.parent('.mdui-menu-item');\n\n let submenuTop;\n let submenuLeft;\n\n // 子菜单位置和方向\n let position: 'top' | 'bottom';\n let align: 'left' | 'right';\n\n // window 窗口的宽度和高度\n const windowHeight = $window.height();\n const windowWidth = $window.width();\n\n // 动画方向参数\n let transformOriginX;\n let transformOriginY;\n\n // 子菜单的原始宽度和高度\n const submenuWidth = $submenu.width();\n const submenuHeight = $submenu.height();\n\n // 触发子菜单的菜单项的宽度高度\n const itemRect = $item[0].getBoundingClientRect();\n const itemWidth = itemRect.width;\n const itemHeight = itemRect.height;\n const itemLeft = itemRect.left;\n const itemTop = itemRect.top;\n\n // 判断菜单上下位置\n if (windowHeight - itemTop > submenuHeight) {\n // 判断下方是否放得下菜单\n position = 'bottom';\n } else if (itemTop + itemHeight > submenuHeight) {\n // 判断上方是否放得下菜单\n position = 'top';\n } else {\n // 默认放在下方\n position = 'bottom';\n }\n\n // 判断菜单左右位置\n if (windowWidth - itemLeft - itemWidth > submenuWidth) {\n // 判断右侧是否放得下菜单\n align = 'left';\n } else if (itemLeft > submenuWidth) {\n // 判断左侧是否放得下菜单\n align = 'right';\n } else {\n // 默认放在右侧\n align = 'left';\n }\n\n // 设置菜单位置\n if (position === 'bottom') {\n transformOriginY = '0';\n submenuTop = '0';\n } else if (position === 'top') {\n transformOriginY = '100%';\n submenuTop = -submenuHeight + itemHeight;\n }\n\n $submenu.css('top', `${submenuTop}px`);\n\n // 设置菜单对齐方式\n if (align === 'left') {\n transformOriginX = '0';\n submenuLeft = itemWidth;\n } else if (align === 'right') {\n transformOriginX = '100%';\n submenuLeft = -submenuWidth;\n }\n\n $submenu.css('left', `${submenuLeft}px`);\n\n // 设置菜单动画方向\n $submenu.transformOrigin(`${transformOriginX} ${transformOriginY}`);\n }\n\n /**\n * 打开子菜单\n * @param $submenu\n */\n private openSubMenu($submenu: JQ): void {\n this.readjustSubmenu($submenu);\n\n $submenu\n .addClass('mdui-menu-open')\n .parent('.mdui-menu-item')\n .addClass('mdui-menu-item-active');\n }\n\n /**\n * 关闭子菜单,及其嵌套的子菜单\n * @param $submenu\n */\n private closeSubMenu($submenu: JQ): void {\n // 关闭子菜单\n $submenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(() => $submenu.removeClass('mdui-menu-closing'))\n\n // 移除激活状态的样式\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n\n // 循环关闭嵌套的子菜单\n $submenu.find('.mdui-menu').each((_, menu) => {\n const $subSubmenu = $(menu);\n\n $subSubmenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(() => $subSubmenu.removeClass('mdui-menu-closing'))\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n });\n }\n\n /**\n * 切换子菜单状态\n * @param $submenu\n */\n private toggleSubMenu($submenu: JQ): void {\n $submenu.hasClass('mdui-menu-open')\n ? this.closeSubMenu($submenu)\n : this.openSubMenu($submenu);\n }\n\n /**\n * 绑定子菜单事件\n */\n private bindSubMenuEvent(): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n\n // 点击打开子菜单\n this.$element.on('click', '.mdui-menu-item', function (event) {\n const $item = $(this as HTMLElement);\n const $target = $(event.target as HTMLElement);\n\n // 禁用状态菜单不操作\n if ($item.attr('disabled') !== undefined) {\n return;\n }\n\n // 没有点击在子菜单的菜单项上时,不操作(点在了子菜单的空白区域、或分隔线上)\n if ($target.is('.mdui-menu') || $target.is('.mdui-divider')) {\n return;\n }\n\n // 阻止冒泡,点击菜单项时只在最后一级的 mdui-menu-item 上生效,不向上冒泡\n if (!$target.parents('.mdui-menu-item').first().is($item)) {\n return;\n }\n\n // 当前菜单的子菜单\n const $submenu = $item.children('.mdui-menu');\n\n // 先关闭除当前子菜单外的所有同级子菜单\n $item\n .parent('.mdui-menu')\n .children('.mdui-menu-item')\n .each((_, item) => {\n const $tmpSubmenu = $(item).children('.mdui-menu');\n\n if (\n $tmpSubmenu.length &&\n (!$submenu.length || !$tmpSubmenu.is($submenu))\n ) {\n that.closeSubMenu($tmpSubmenu);\n }\n });\n\n // 切换当前子菜单\n if ($submenu.length) {\n that.toggleSubMenu($submenu);\n }\n });\n\n if (this.options.subMenuTrigger === 'hover') {\n // 临时存储 setTimeout 对象\n let timeout: any = null;\n let timeoutOpen: any = null;\n\n this.$element.on('mouseover mouseout', '.mdui-menu-item', function (\n event,\n ) {\n const $item = $(this as HTMLElement);\n const eventType = event.type;\n const $relatedTarget = $(\n (event as MouseEvent).relatedTarget as HTMLElement,\n );\n\n // 禁用状态的菜单不操作\n if ($item.attr('disabled') !== undefined) {\n return;\n }\n\n // 用 mouseover 模拟 mouseenter\n if (eventType === 'mouseover') {\n if (\n !$item.is($relatedTarget) &&\n contains($item[0], $relatedTarget[0])\n ) {\n return;\n }\n }\n\n // 用 mouseout 模拟 mouseleave\n else if (eventType === 'mouseout') {\n if (\n $item.is($relatedTarget) ||\n contains($item[0], $relatedTarget[0])\n ) {\n return;\n }\n }\n\n // 当前菜单项下的子菜单,未必存在\n const $submenu = $item.children('.mdui-menu');\n\n // 鼠标移入菜单项时,显示菜单项下的子菜单\n if (eventType === 'mouseover') {\n if ($submenu.length) {\n // 当前子菜单准备打开时,如果当前子菜单正准备着关闭,不用再关闭了\n const tmpClose = $submenu.data('timeoutClose.mdui.menu');\n if (tmpClose) {\n clearTimeout(tmpClose);\n }\n\n // 如果当前子菜单已经打开,不操作\n if ($submenu.hasClass('mdui-menu-open')) {\n return;\n }\n\n // 当前子菜单准备打开时,其他准备打开的子菜单不用再打开了\n clearTimeout(timeoutOpen);\n\n // 准备打开当前子菜单\n timeout = timeoutOpen = setTimeout(\n () => that.openSubMenu($submenu),\n that.options.subMenuDelay,\n );\n\n $submenu.data('timeoutOpen.mdui.menu', timeout);\n }\n }\n\n // 鼠标移出菜单项时,关闭菜单项下的子菜单\n else if (eventType === 'mouseout') {\n if ($submenu.length) {\n // 鼠标移出菜单项时,如果当前菜单项下的子菜单正准备打开,不用再打开了\n const tmpOpen = $submenu.data('timeoutOpen.mdui.menu');\n if (tmpOpen) {\n clearTimeout(tmpOpen);\n }\n\n // 准备关闭当前子菜单\n timeout = setTimeout(\n () => that.closeSubMenu($submenu),\n that.options.subMenuDelay,\n );\n\n $submenu.data('timeoutClose.mdui.menu', timeout);\n }\n }\n });\n }\n }\n\n /**\n * 动画结束回调\n */\n private transitionEnd(): void {\n this.$element.removeClass('mdui-menu-closing');\n\n if (this.state === 'opening') {\n this.state = 'opened';\n this.triggerEvent('opened');\n }\n\n if (this.state === 'closing') {\n this.state = 'closed';\n this.triggerEvent('closed');\n\n // 关闭后,恢复菜单样式到默认状态,并恢复 fixed 定位\n this.$element.css({\n top: '',\n left: '',\n width: '',\n position: 'fixed',\n });\n }\n }\n\n /**\n * 切换菜单状态\n */\n public toggle(): void {\n this.isOpen() ? this.close() : this.open();\n }\n\n /**\n * 打开菜单\n */\n public open(): void {\n if (this.isOpen()) {\n return;\n }\n\n this.state = 'opening';\n this.triggerEvent('open');\n\n this.readjust();\n\n this.$element\n // 菜单隐藏状态使用使用 fixed 定位。\n .css('position', this.options.fixed ? 'fixed' : 'absolute')\n .addClass('mdui-menu-open')\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 关闭菜单\n */\n public close(): void {\n if (!this.isOpen()) {\n return;\n }\n\n this.state = 'closing';\n this.triggerEvent('close');\n\n // 菜单开始关闭时,关闭所有子菜单\n this.$element.find('.mdui-menu').each((_, submenu) => {\n this.closeSubMenu($(submenu));\n });\n\n this.$element\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(() => this.transitionEnd());\n }\n}\n\nmdui.Menu = Menu;\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/on';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-menu';\nconst dataName = '_mdui_menu';\n\ntype OPTIONS = {\n target: string;\n position?: 'auto' | 'top' | 'bottom' | 'center';\n align?: 'auto' | 'left' | 'right' | 'center';\n gutter?: number;\n fixed?: boolean;\n covered?: boolean | 'auto';\n subMenuTrigger?: 'click' | 'hover';\n subMenuDelay?: number;\n};\n\n$(() => {\n $document.on('click', `[${customAttr}]`, function () {\n const $this = $(this as HTMLElement);\n let instance = $this.data(dataName);\n\n if (!instance) {\n const options = parseOptions(this as HTMLElement, customAttr) as OPTIONS;\n const menuSelector = options.target;\n // @ts-ignore\n delete options.target;\n\n instance = new mdui.Menu($this, menuSelector, options);\n $this.data(dataName, instance);\n\n instance.toggle();\n }\n });\n});\n"],"names":["get","set","DEFAULT_OPTIONS","customAttr","dataName","currentInst","queueName"],"mappings":"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"} \ No newline at end of file diff --git a/static/mdui/js/mdui.js b/static/mdui/js/mdui.js new file mode 100644 index 0000000..ff253a5 --- /dev/null +++ b/static/mdui/js/mdui.js @@ -0,0 +1,6474 @@ +/*! + * mdui 1.0.1 (https://mdui.org) + * Copyright 2016-2020 zdhxiong + * Licensed under MIT + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.mdui = factory()); +}(this, (function () { 'use strict'; + + !function(){try{return new MouseEvent("test")}catch(e$1){}var e=function(e,t){t=t||{bubbles:!1,cancelable:!1};var n=document.createEvent("MouseEvent");return n.initMouseEvent(e,t.bubbles,t.cancelable,window,0,t.screenX||0,t.screenY||0,t.clientX||0,t.clientY||0,t.ctrlKey||!1,t.altKey||!1,t.shiftKey||!1,t.metaKey||!1,t.button||0,t.relatedTarget||null),n};e.prototype=Event.prototype,window.MouseEvent=e;}(); + + !function(){function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}"function"!=typeof window.CustomEvent&&(t.prototype=window.Event.prototype,window.CustomEvent=t);}(); + + /** + * @this {Promise} + */ + function finallyConstructor(callback) { + var constructor = this.constructor; + return this.then( + function(value) { + // @ts-ignore + return constructor.resolve(callback()).then(function() { + return value; + }); + }, + function(reason) { + // @ts-ignore + return constructor.resolve(callback()).then(function() { + // @ts-ignore + return constructor.reject(reason); + }); + } + ); + } + + function allSettled(arr) { + var P = this; + return new P(function(resolve, reject) { + if (!(arr && typeof arr.length !== 'undefined')) { + return reject( + new TypeError( + typeof arr + + ' ' + + arr + + ' is not iterable(cannot read property Symbol(Symbol.iterator))' + ) + ); + } + var args = Array.prototype.slice.call(arr); + if (args.length === 0) { return resolve([]); } + var remaining = args.length; + + function res(i, val) { + if (val && (typeof val === 'object' || typeof val === 'function')) { + var then = val.then; + if (typeof then === 'function') { + then.call( + val, + function(val) { + res(i, val); + }, + function(e) { + args[i] = { status: 'rejected', reason: e }; + if (--remaining === 0) { + resolve(args); + } + } + ); + return; + } + } + args[i] = { status: 'fulfilled', value: val }; + if (--remaining === 0) { + resolve(args); + } + } + + for (var i = 0; i < args.length; i++) { + res(i, args[i]); + } + }); + } + + // Store setTimeout reference so promise-polyfill will be unaffected by + // other code modifying setTimeout (like sinon.useFakeTimers()) + var setTimeoutFunc = setTimeout; + + function isArray(x) { + return Boolean(x && typeof x.length !== 'undefined'); + } + + function noop() {} + + // Polyfill for Function.prototype.bind + function bind(fn, thisArg) { + return function() { + fn.apply(thisArg, arguments); + }; + } + + /** + * @constructor + * @param {Function} fn + */ + function Promise$1(fn) { + if (!(this instanceof Promise$1)) + { throw new TypeError('Promises must be constructed via new'); } + if (typeof fn !== 'function') { throw new TypeError('not a function'); } + /** @type {!number} */ + this._state = 0; + /** @type {!boolean} */ + this._handled = false; + /** @type {Promise|undefined} */ + this._value = undefined; + /** @type {!Array} */ + this._deferreds = []; + + doResolve(fn, this); + } + + function handle(self, deferred) { + while (self._state === 3) { + self = self._value; + } + if (self._state === 0) { + self._deferreds.push(deferred); + return; + } + self._handled = true; + Promise$1._immediateFn(function() { + var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected; + if (cb === null) { + (self._state === 1 ? resolve : reject)(deferred.promise, self._value); + return; + } + var ret; + try { + ret = cb(self._value); + } catch (e) { + reject(deferred.promise, e); + return; + } + resolve(deferred.promise, ret); + }); + } + + function resolve(self, newValue) { + try { + // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure + if (newValue === self) + { throw new TypeError('A promise cannot be resolved with itself.'); } + if ( + newValue && + (typeof newValue === 'object' || typeof newValue === 'function') + ) { + var then = newValue.then; + if (newValue instanceof Promise$1) { + self._state = 3; + self._value = newValue; + finale(self); + return; + } else if (typeof then === 'function') { + doResolve(bind(then, newValue), self); + return; + } + } + self._state = 1; + self._value = newValue; + finale(self); + } catch (e) { + reject(self, e); + } + } + + function reject(self, newValue) { + self._state = 2; + self._value = newValue; + finale(self); + } + + function finale(self) { + if (self._state === 2 && self._deferreds.length === 0) { + Promise$1._immediateFn(function() { + if (!self._handled) { + Promise$1._unhandledRejectionFn(self._value); + } + }); + } + + for (var i = 0, len = self._deferreds.length; i < len; i++) { + handle(self, self._deferreds[i]); + } + self._deferreds = null; + } + + /** + * @constructor + */ + function Handler(onFulfilled, onRejected, promise) { + this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null; + this.onRejected = typeof onRejected === 'function' ? onRejected : null; + this.promise = promise; + } + + /** + * Take a potentially misbehaving resolver function and make sure + * onFulfilled and onRejected are only called once. + * + * Makes no guarantees about asynchrony. + */ + function doResolve(fn, self) { + var done = false; + try { + fn( + function(value) { + if (done) { return; } + done = true; + resolve(self, value); + }, + function(reason) { + if (done) { return; } + done = true; + reject(self, reason); + } + ); + } catch (ex) { + if (done) { return; } + done = true; + reject(self, ex); + } + } + + Promise$1.prototype['catch'] = function(onRejected) { + return this.then(null, onRejected); + }; + + Promise$1.prototype.then = function(onFulfilled, onRejected) { + // @ts-ignore + var prom = new this.constructor(noop); + + handle(this, new Handler(onFulfilled, onRejected, prom)); + return prom; + }; + + Promise$1.prototype['finally'] = finallyConstructor; + + Promise$1.all = function(arr) { + return new Promise$1(function(resolve, reject) { + if (!isArray(arr)) { + return reject(new TypeError('Promise.all accepts an array')); + } + + var args = Array.prototype.slice.call(arr); + if (args.length === 0) { return resolve([]); } + var remaining = args.length; + + function res(i, val) { + try { + if (val && (typeof val === 'object' || typeof val === 'function')) { + var then = val.then; + if (typeof then === 'function') { + then.call( + val, + function(val) { + res(i, val); + }, + reject + ); + return; + } + } + args[i] = val; + if (--remaining === 0) { + resolve(args); + } + } catch (ex) { + reject(ex); + } + } + + for (var i = 0; i < args.length; i++) { + res(i, args[i]); + } + }); + }; + + Promise$1.allSettled = allSettled; + + Promise$1.resolve = function(value) { + if (value && typeof value === 'object' && value.constructor === Promise$1) { + return value; + } + + return new Promise$1(function(resolve) { + resolve(value); + }); + }; + + Promise$1.reject = function(value) { + return new Promise$1(function(resolve, reject) { + reject(value); + }); + }; + + Promise$1.race = function(arr) { + return new Promise$1(function(resolve, reject) { + if (!isArray(arr)) { + return reject(new TypeError('Promise.race accepts an array')); + } + + for (var i = 0, len = arr.length; i < len; i++) { + Promise$1.resolve(arr[i]).then(resolve, reject); + } + }); + }; + + // Use polyfill for setImmediate for performance gains + Promise$1._immediateFn = + // @ts-ignore + (typeof setImmediate === 'function' && + function(fn) { + // @ts-ignore + setImmediate(fn); + }) || + function(fn) { + setTimeoutFunc(fn, 0); + }; + + Promise$1._unhandledRejectionFn = function _unhandledRejectionFn(err) { + if (typeof console !== 'undefined' && console) { + console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console + } + }; + + /** @suppress {undefinedVars} */ + var globalNS = (function() { + // the only reliable means to get the global object is + // `Function('return this')()` + // However, this causes CSP violations in Chrome apps. + if (typeof self !== 'undefined') { + return self; + } + if (typeof window !== 'undefined') { + return window; + } + if (typeof global !== 'undefined') { + return global; + } + throw new Error('unable to locate global object'); + })(); + + // Expose the polyfill if Promise is undefined or set to a + // non-function value. The latter can be due to a named HTMLElement + // being exposed by browsers for legacy reasons. + // https://github.com/taylorhakes/promise-polyfill/issues/114 + if (typeof globalNS['Promise'] !== 'function') { + globalNS['Promise'] = Promise$1; + } else if (!globalNS.Promise.prototype['finally']) { + globalNS.Promise.prototype['finally'] = finallyConstructor; + } else if (!globalNS.Promise.allSettled) { + globalNS.Promise.allSettled = allSettled; + } + + function isFunction(target) { + return typeof target === 'function'; + } + function isString(target) { + return typeof target === 'string'; + } + function isNumber(target) { + return typeof target === 'number'; + } + function isBoolean(target) { + return typeof target === 'boolean'; + } + function isUndefined(target) { + return typeof target === 'undefined'; + } + function isNull(target) { + return target === null; + } + function isWindow(target) { + return target instanceof Window; + } + function isDocument(target) { + return target instanceof Document; + } + function isElement(target) { + return target instanceof Element; + } + function isNode(target) { + return target instanceof Node; + } + /** + * 是否是 IE 浏览器 + */ + function isIE() { + // @ts-ignore + return !!window.document.documentMode; + } + function isArrayLike(target) { + if (isFunction(target) || isWindow(target)) { + return false; + } + return isNumber(target.length); + } + function isObjectLike(target) { + return typeof target === 'object' && target !== null; + } + function toElement(target) { + return isDocument(target) ? target.documentElement : target; + } + /** + * 把用 - 分隔的字符串转为驼峰(如 box-sizing 转换为 boxSizing) + * @param string + */ + function toCamelCase(string) { + return string + .replace(/^-ms-/, 'ms-') + .replace(/-([a-z])/g, function (_, letter) { return letter.toUpperCase(); }); + } + /** + * 把驼峰法转为用 - 分隔的字符串(如 boxSizing 转换为 box-sizing) + * @param string + */ + function toKebabCase(string) { + return string.replace(/[A-Z]/g, function (replacer) { return '-' + replacer.toLowerCase(); }); + } + /** + * 获取元素的样式值 + * @param element + * @param name + */ + function getComputedStyleValue(element, name) { + return window.getComputedStyle(element).getPropertyValue(toKebabCase(name)); + } + /** + * 检查元素的 box-sizing 是否是 border-box + * @param element + */ + function isBorderBox(element) { + return getComputedStyleValue(element, 'box-sizing') === 'border-box'; + } + /** + * 获取元素的 padding, border, margin 宽度(两侧宽度的和,单位为px) + * @param element + * @param direction + * @param extra + */ + function getExtraWidth(element, direction, extra) { + var position = direction === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; + return [0, 1].reduce(function (prev, _, index) { + var prop = extra + position[index]; + if (extra === 'border') { + prop += 'Width'; + } + return prev + parseFloat(getComputedStyleValue(element, prop) || '0'); + }, 0); + } + /** + * 获取元素的样式值,对 width 和 height 进行过处理 + * @param element + * @param name + */ + function getStyle(element, name) { + // width、height 属性使用 getComputedStyle 得到的值不准确,需要使用 getBoundingClientRect 获取 + if (name === 'width' || name === 'height') { + var valueNumber = element.getBoundingClientRect()[name]; + if (isBorderBox(element)) { + return (valueNumber + "px"); + } + return ((valueNumber - + getExtraWidth(element, name, 'border') - + getExtraWidth(element, name, 'padding')) + "px"); + } + return getComputedStyleValue(element, name); + } + /** + * 获取子节点组成的数组 + * @param target + * @param parent + */ + function getChildNodesArray(target, parent) { + var tempParent = document.createElement(parent); + tempParent.innerHTML = target; + return [].slice.call(tempParent.childNodes); + } + /** + * 始终返回 false 的函数 + */ + function returnFalse() { + return false; + } + /** + * 数值单位的 CSS 属性 + */ + var cssNumber = [ + 'animationIterationCount', + 'columnCount', + 'fillOpacity', + 'flexGrow', + 'flexShrink', + 'fontWeight', + 'gridArea', + 'gridColumn', + 'gridColumnEnd', + 'gridColumnStart', + 'gridRow', + 'gridRowEnd', + 'gridRowStart', + 'lineHeight', + 'opacity', + 'order', + 'orphans', + 'widows', + 'zIndex', + 'zoom' ]; + + function each(target, callback) { + if (isArrayLike(target)) { + for (var i = 0; i < target.length; i += 1) { + if (callback.call(target[i], i, target[i]) === false) { + return target; + } + } + } + else { + var keys = Object.keys(target); + for (var i$1 = 0; i$1 < keys.length; i$1 += 1) { + if (callback.call(target[keys[i$1]], keys[i$1], target[keys[i$1]]) === false) { + return target; + } + } + } + return target; + } + + /** + * 为了使用模块扩充,这里不能使用默认导出 + */ + var JQ = function JQ(arr) { + var this$1 = this; + + this.length = 0; + if (!arr) { + return this; + } + each(arr, function (i, item) { + // @ts-ignore + this$1[i] = item; + }); + this.length = arr.length; + return this; + }; + + function get$() { + var $ = function (selector) { + if (!selector) { + return new JQ(); + } + // JQ + if (selector instanceof JQ) { + return selector; + } + // function + if (isFunction(selector)) { + if (/complete|loaded|interactive/.test(document.readyState) && + document.body) { + selector.call(document, $); + } + else { + document.addEventListener('DOMContentLoaded', function () { return selector.call(document, $); }, false); + } + return new JQ([document]); + } + // String + if (isString(selector)) { + var html = selector.trim(); + // 根据 HTML 字符串创建 JQ 对象 + if (html[0] === '<' && html[html.length - 1] === '>') { + var toCreate = 'div'; + var tags = { + li: 'ul', + tr: 'tbody', + td: 'tr', + th: 'tr', + tbody: 'table', + option: 'select', + }; + each(tags, function (childTag, parentTag) { + if (html.indexOf(("<" + childTag)) === 0) { + toCreate = parentTag; + return false; + } + return; + }); + return new JQ(getChildNodesArray(html, toCreate)); + } + // 根据 CSS 选择器创建 JQ 对象 + var isIdSelector = selector[0] === '#' && !selector.match(/[ .<>:~]/); + if (!isIdSelector) { + return new JQ(document.querySelectorAll(selector)); + } + var element = document.getElementById(selector.slice(1)); + if (element) { + return new JQ([element]); + } + return new JQ(); + } + if (isArrayLike(selector) && !isNode(selector)) { + return new JQ(selector); + } + return new JQ([selector]); + }; + $.fn = JQ.prototype; + return $; + } + var $ = get$(); + + // 避免页面加载完后直接执行css动画 + // https://css-tricks.com/transitions-only-after-page-load/ + setTimeout(function () { return $('body').addClass('mdui-loaded'); }); + var mdui = { + $: $, + }; + + $.fn.each = function (callback) { + return each(this, callback); + }; + + /** + * 检查 container 元素内是否包含 contains 元素 + * @param container 父元素 + * @param contains 子元素 + * @example + ```js + contains( document, document.body ); // true + contains( document.getElementById('test'), document ); // false + contains( $('.container').get(0), $('.contains').get(0) ); // false + ``` + */ + function contains(container, contains) { + return container !== contains && toElement(container).contains(contains); + } + + /** + * 把第二个数组的元素追加到第一个数组中,并返回合并后的数组 + * @param first 第一个数组 + * @param second 该数组的元素将被追加到第一个数组中 + * @example + ```js + merge( [ 0, 1, 2 ], [ 2, 3, 4 ] ) + // [ 0, 1, 2, 2, 3, 4 ] + ``` + */ + function merge(first, second) { + each(second, function (_, value) { + first.push(value); + }); + return first; + } + + $.fn.get = function (index) { + return index === undefined + ? [].slice.call(this) + : this[index >= 0 ? index : index + this.length]; + }; + + $.fn.find = function (selector) { + var foundElements = []; + this.each(function (_, element) { + merge(foundElements, $(element.querySelectorAll(selector)).get()); + }); + return new JQ(foundElements); + }; + + // 存储事件 + var handlers = {}; + // 元素ID + var mduiElementId = 1; + /** + * 为元素赋予一个唯一的ID + */ + function getElementId(element) { + var key = '_mduiEventId'; + // @ts-ignore + if (!element[key]) { + // @ts-ignore + element[key] = ++mduiElementId; + } + // @ts-ignore + return element[key]; + } + /** + * 解析事件名中的命名空间 + */ + function parse(type) { + var parts = type.split('.'); + return { + type: parts[0], + ns: parts.slice(1).sort().join(' '), + }; + } + /** + * 命名空间匹配规则 + */ + function matcherFor(ns) { + return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)'); + } + /** + * 获取匹配的事件 + * @param element + * @param type + * @param func + * @param selector + */ + function getHandlers(element, type, func, selector) { + var event = parse(type); + return (handlers[getElementId(element)] || []).filter(function (handler) { return handler && + (!event.type || handler.type === event.type) && + (!event.ns || matcherFor(event.ns).test(handler.ns)) && + (!func || getElementId(handler.func) === getElementId(func)) && + (!selector || handler.selector === selector); }); + } + /** + * 添加事件监听 + * @param element + * @param types + * @param func + * @param data + * @param selector + */ + function add(element, types, func, data, selector) { + var elementId = getElementId(element); + if (!handlers[elementId]) { + handlers[elementId] = []; + } + // 传入 data.useCapture 来设置 useCapture: true + var useCapture = false; + if (isObjectLike(data) && data.useCapture) { + useCapture = true; + } + types.split(' ').forEach(function (type) { + if (!type) { + return; + } + var event = parse(type); + function callFn(e, elem) { + // 因为鼠标事件模拟事件的 detail 属性是只读的,因此在 e._detail 中存储参数 + var result = func.apply(elem, + // @ts-ignore + e._detail === undefined ? [e] : [e].concat(e._detail)); + if (result === false) { + e.preventDefault(); + e.stopPropagation(); + } + } + function proxyFn(e) { + // @ts-ignore + if (e._ns && !matcherFor(e._ns).test(event.ns)) { + return; + } + // @ts-ignore + e._data = data; + if (selector) { + // 事件代理 + $(element) + .find(selector) + .get() + .reverse() + .forEach(function (elem) { + if (elem === e.target || + contains(elem, e.target)) { + callFn(e, elem); + } + }); + } + else { + // 不使用事件代理 + callFn(e, element); + } + } + var handler = { + type: event.type, + ns: event.ns, + func: func, + selector: selector, + id: handlers[elementId].length, + proxy: proxyFn, + }; + handlers[elementId].push(handler); + element.addEventListener(handler.type, proxyFn, useCapture); + }); + } + /** + * 移除事件监听 + * @param element + * @param types + * @param func + * @param selector + */ + function remove(element, types, func, selector) { + var handlersInElement = handlers[getElementId(element)] || []; + var removeEvent = function (handler) { + delete handlersInElement[handler.id]; + element.removeEventListener(handler.type, handler.proxy, false); + }; + if (!types) { + handlersInElement.forEach(function (handler) { return removeEvent(handler); }); + } + else { + types.split(' ').forEach(function (type) { + if (type) { + getHandlers(element, type, func, selector).forEach(function (handler) { return removeEvent(handler); }); + } + }); + } + } + + $.fn.trigger = function (type, extraParameters) { + var event = parse(type); + var eventObject; + var eventParams = { + bubbles: true, + cancelable: true, + }; + var isMouseEvent = ['click', 'mousedown', 'mouseup', 'mousemove'].indexOf(event.type) > -1; + if (isMouseEvent) { + // Note: MouseEvent 无法传入 detail 参数 + eventObject = new MouseEvent(event.type, eventParams); + } + else { + eventParams.detail = extraParameters; + eventObject = new CustomEvent(event.type, eventParams); + } + // @ts-ignore + eventObject._detail = extraParameters; + // @ts-ignore + eventObject._ns = event.ns; + return this.each(function () { + this.dispatchEvent(eventObject); + }); + }; + + function extend(target, object1) { + var objectN = [], len = arguments.length - 2; + while ( len-- > 0 ) objectN[ len ] = arguments[ len + 2 ]; + + objectN.unshift(object1); + each(objectN, function (_, object) { + each(object, function (prop, value) { + if (!isUndefined(value)) { + target[prop] = value; + } + }); + }); + return target; + } + + /** + * 将数组或对象序列化,序列化后的字符串可作为 URL 查询字符串使用 + * + * 若传入数组,则格式必须和 serializeArray 方法的返回值一样 + * @param obj 对象或数组 + * @example + ```js + param({ width: 1680, height: 1050 }); + // width=1680&height=1050 + ``` + * @example + ```js + param({ foo: { one: 1, two: 2 }}) + // foo[one]=1&foo[two]=2 + ``` + * @example + ```js + param({ids: [1, 2, 3]}) + // ids[]=1&ids[]=2&ids[]=3 + ``` + * @example + ```js + param([ + {"name":"name","value":"mdui"}, + {"name":"password","value":"123456"} + ]) + // name=mdui&password=123456 + ``` + */ + function param(obj) { + if (!isObjectLike(obj) && !Array.isArray(obj)) { + return ''; + } + var args = []; + function destructure(key, value) { + var keyTmp; + if (isObjectLike(value)) { + each(value, function (i, v) { + if (Array.isArray(value) && !isObjectLike(v)) { + keyTmp = ''; + } + else { + keyTmp = i; + } + destructure((key + "[" + keyTmp + "]"), v); + }); + } + else { + if (value == null || value === '') { + keyTmp = '='; + } + else { + keyTmp = "=" + (encodeURIComponent(value)); + } + args.push(encodeURIComponent(key) + keyTmp); + } + } + if (Array.isArray(obj)) { + each(obj, function () { + destructure(this.name, this.value); + }); + } + else { + each(obj, destructure); + } + return args.join('&'); + } + + // 全局配置参数 + var globalOptions = {}; + // 全局事件名 + var ajaxEvents = { + ajaxStart: 'start.mdui.ajax', + ajaxSuccess: 'success.mdui.ajax', + ajaxError: 'error.mdui.ajax', + ajaxComplete: 'complete.mdui.ajax', + }; + + /** + * 判断此请求方法是否通过查询字符串提交参数 + * @param method 请求方法,大写 + */ + function isQueryStringData(method) { + return ['GET', 'HEAD'].indexOf(method) >= 0; + } + /** + * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ? + * @param url + * @param query + */ + function appendQuery(url, query) { + return (url + "&" + query).replace(/[&?]{1,2}/, '?'); + } + /** + * 合并请求参数,参数优先级:options > globalOptions > defaults + * @param options + */ + function mergeOptions(options) { + // 默认参数 + var defaults = { + url: '', + method: 'GET', + data: '', + processData: true, + async: true, + cache: true, + username: '', + password: '', + headers: {}, + xhrFields: {}, + statusCode: {}, + dataType: 'text', + contentType: 'application/x-www-form-urlencoded', + timeout: 0, + global: true, + }; + // globalOptions 中的回调函数不合并 + each(globalOptions, function (key, value) { + var callbacks = [ + 'beforeSend', + 'success', + 'error', + 'complete', + 'statusCode' ]; + // @ts-ignore + if (callbacks.indexOf(key) < 0 && !isUndefined(value)) { + defaults[key] = value; + } + }); + return extend({}, defaults, options); + } + /** + * 发送 ajax 请求 + * @param options + * @example + ```js + ajax({ + method: "POST", + url: "some.php", + data: { name: "John", location: "Boston" } + }).then(function( msg ) { + alert( "Data Saved: " + msg ); + }); + ``` + */ + function ajax(options) { + // 是否已取消请求 + var isCanceled = false; + // 事件参数 + var eventParams = {}; + // 参数合并 + var mergedOptions = mergeOptions(options); + var url = mergedOptions.url || window.location.toString(); + var method = mergedOptions.method.toUpperCase(); + var data = mergedOptions.data; + var processData = mergedOptions.processData; + var async = mergedOptions.async; + var cache = mergedOptions.cache; + var username = mergedOptions.username; + var password = mergedOptions.password; + var headers = mergedOptions.headers; + var xhrFields = mergedOptions.xhrFields; + var statusCode = mergedOptions.statusCode; + var dataType = mergedOptions.dataType; + var contentType = mergedOptions.contentType; + var timeout = mergedOptions.timeout; + var global = mergedOptions.global; + // 需要发送的数据 + // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换 + if (data && + (isQueryStringData(method) || processData) && + !isString(data) && + !(data instanceof ArrayBuffer) && + !(data instanceof Blob) && + !(data instanceof Document) && + !(data instanceof FormData)) { + data = param(data); + } + // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中 + if (data && isQueryStringData(method)) { + // 查询字符串拼接到 URL 中 + url = appendQuery(url, data); + data = null; + } + /** + * 触发事件和回调函数 + * @param event + * @param params + * @param callback + * @param args + */ + function trigger(event, params, callback) { + var args = [], len = arguments.length - 3; + while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ]; + + // 触发全局事件 + if (global) { + $(document).trigger(event, params); + } + // 触发 ajax 回调和事件 + var result1; + var result2; + if (callback) { + // 全局回调 + if (callback in globalOptions) { + // @ts-ignore + result1 = globalOptions[callback].apply(globalOptions, args); + } + // 自定义回调 + if (mergedOptions[callback]) { + // @ts-ignore + result2 = mergedOptions[callback].apply(mergedOptions, args); + } + // beforeSend 回调返回 false 时取消 ajax 请求 + if (callback === 'beforeSend' && + (result1 === false || result2 === false)) { + isCanceled = true; + } + } + } + // XMLHttpRequest 请求 + function XHR() { + var textStatus; + return new Promise(function (resolve, reject) { + // GET/HEAD 请求的缓存处理 + if (isQueryStringData(method) && !cache) { + url = appendQuery(url, ("_=" + (Date.now()))); + } + // 创建 XHR + var xhr = new XMLHttpRequest(); + xhr.open(method, url, async, username, password); + if (contentType || + (data && !isQueryStringData(method) && contentType !== false)) { + xhr.setRequestHeader('Content-Type', contentType); + } + // 设置 Accept + if (dataType === 'json') { + xhr.setRequestHeader('Accept', 'application/json, text/javascript'); + } + // 添加 headers + if (headers) { + each(headers, function (key, value) { + // undefined 值不发送,string 和 null 需要发送 + if (!isUndefined(value)) { + xhr.setRequestHeader(key, value + ''); // 把 null 转换成字符串 + } + }); + } + // 检查是否是跨域请求,跨域请求时不添加 X-Requested-With + var crossDomain = /^([\w-]+:)?\/\/([^/]+)/.test(url) && + RegExp.$2 !== window.location.host; + if (!crossDomain) { + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + } + if (xhrFields) { + each(xhrFields, function (key, value) { + // @ts-ignore + xhr[key] = value; + }); + } + eventParams.xhr = xhr; + eventParams.options = mergedOptions; + var xhrTimeout; + xhr.onload = function () { + if (xhrTimeout) { + clearTimeout(xhrTimeout); + } + // AJAX 返回的 HTTP 响应码是否表示成功 + var isHttpStatusSuccess = (xhr.status >= 200 && xhr.status < 300) || + xhr.status === 304 || + xhr.status === 0; + var responseData; + if (isHttpStatusSuccess) { + if (xhr.status === 204 || method === 'HEAD') { + textStatus = 'nocontent'; + } + else if (xhr.status === 304) { + textStatus = 'notmodified'; + } + else { + textStatus = 'success'; + } + if (dataType === 'json') { + try { + responseData = + method === 'HEAD' ? undefined : JSON.parse(xhr.responseText); + eventParams.data = responseData; + } + catch (err) { + textStatus = 'parsererror'; + trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus); + reject(new Error(textStatus)); + } + if (textStatus !== 'parsererror') { + trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr); + resolve(responseData); + } + } + else { + responseData = + method === 'HEAD' + ? undefined + : xhr.responseType === 'text' || xhr.responseType === '' + ? xhr.responseText + : xhr.response; + eventParams.data = responseData; + trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr); + resolve(responseData); + } + } + else { + textStatus = 'error'; + trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus); + reject(new Error(textStatus)); + } + // statusCode + each([globalOptions.statusCode, statusCode], function (_, func) { + if (func && func[xhr.status]) { + if (isHttpStatusSuccess) { + func[xhr.status](responseData, textStatus, xhr); + } + else { + func[xhr.status](xhr, textStatus); + } + } + }); + trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, textStatus); + }; + xhr.onerror = function () { + if (xhrTimeout) { + clearTimeout(xhrTimeout); + } + trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, xhr.statusText); + trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, 'error'); + reject(new Error(xhr.statusText)); + }; + xhr.onabort = function () { + var statusText = 'abort'; + if (xhrTimeout) { + statusText = 'timeout'; + clearTimeout(xhrTimeout); + } + trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, statusText); + trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, statusText); + reject(new Error(statusText)); + }; + // ajax start 回调 + trigger(ajaxEvents.ajaxStart, eventParams, 'beforeSend', xhr); + if (isCanceled) { + reject(new Error('cancel')); + return; + } + // Timeout + if (timeout > 0) { + xhrTimeout = setTimeout(function () { + xhr.abort(); + }, timeout); + } + // 发送 XHR + xhr.send(data); + }); + } + return XHR(); + } + + $.ajax = ajax; + + /** + * 为 Ajax 请求设置全局配置参数 + * @param options 键值对参数 + * @example + ```js + ajaxSetup({ + dataType: 'json', + method: 'POST', + }); + ``` + */ + function ajaxSetup(options) { + return extend(globalOptions, options); + } + + $.ajaxSetup = ajaxSetup; + + $.contains = contains; + + var dataNS = '_mduiElementDataStorage'; + + /** + * 在元素上设置键值对数据 + * @param element + * @param object + */ + function setObjectToElement(element, object) { + // @ts-ignore + if (!element[dataNS]) { + // @ts-ignore + element[dataNS] = {}; + } + each(object, function (key, value) { + // @ts-ignore + element[dataNS][toCamelCase(key)] = value; + }); + } + function data(element, key, value) { + var obj; + + // 根据键值对设置值 + // data(element, { 'key' : 'value' }) + if (isObjectLike(key)) { + setObjectToElement(element, key); + return key; + } + // 根据 key、value 设置值 + // data(element, 'key', 'value') + if (!isUndefined(value)) { + setObjectToElement(element, ( obj = {}, obj[key] = value, obj )); + return value; + } + // 获取所有值 + // data(element) + if (isUndefined(key)) { + // @ts-ignore + return element[dataNS] ? element[dataNS] : {}; + } + // 从 dataNS 中获取指定值 + // data(element, 'key') + key = toCamelCase(key); + // @ts-ignore + if (element[dataNS] && key in element[dataNS]) { + // @ts-ignore + return element[dataNS][key]; + } + return undefined; + } + + $.data = data; + + $.each = each; + + $.extend = function () { + var this$1 = this; + var objectN = [], len = arguments.length; + while ( len-- ) objectN[ len ] = arguments[ len ]; + + if (objectN.length === 1) { + each(objectN[0], function (prop, value) { + this$1[prop] = value; + }); + return this; + } + return extend.apply(void 0, [ objectN.shift(), objectN.shift() ].concat( objectN )); + }; + + function map(elements, callback) { + var ref; + + var value; + var ret = []; + each(elements, function (i, element) { + value = callback.call(window, element, i); + if (value != null) { + ret.push(value); + } + }); + return (ref = []).concat.apply(ref, ret); + } + + $.map = map; + + $.merge = merge; + + $.param = param; + + /** + * 移除指定元素上存放的数据 + * @param element 存放数据的元素 + * @param name + * 数据键名 + * + * 若未指定键名,将移除元素上所有数据 + * + * 多个键名可以用空格分隔,或者用数组表示多个键名 + @example + ```js + // 移除元素上键名为 name 的数据 + removeData(document.body, 'name'); + ``` + * @example + ```js + // 移除元素上键名为 name1 和 name2 的数据 + removeData(document.body, 'name1 name2'); + ``` + * @example + ```js + // 移除元素上键名为 name1 和 name2 的数据 + removeData(document.body, ['name1', 'name2']); + ``` + * @example + ```js + // 移除元素上所有数据 + removeData(document.body); + ``` + */ + function removeData(element, name) { + // @ts-ignore + if (!element[dataNS]) { + return; + } + var remove = function (nameItem) { + nameItem = toCamelCase(nameItem); + // @ts-ignore + if (element[dataNS][nameItem]) { + // @ts-ignore + element[dataNS][nameItem] = null; + // @ts-ignore + delete element[dataNS][nameItem]; + } + }; + if (isUndefined(name)) { + // @ts-ignore + element[dataNS] = null; + // @ts-ignore + delete element[dataNS]; + // @ts-ignore + } + else if (isString(name)) { + name + .split(' ') + .filter(function (nameItem) { return nameItem; }) + .forEach(function (nameItem) { return remove(nameItem); }); + } + else { + each(name, function (_, nameItem) { return remove(nameItem); }); + } + } + + $.removeData = removeData; + + /** + * 过滤掉数组中的重复元素 + * @param arr 数组 + * @example + ```js + unique([1, 2, 12, 3, 2, 1, 2, 1, 1]); + // [1, 2, 12, 3] + ``` + */ + function unique(arr) { + var result = []; + each(arr, function (_, val) { + if (result.indexOf(val) === -1) { + result.push(val); + } + }); + return result; + } + + $.unique = unique; + + $.fn.add = function (selector) { + return new JQ(unique(merge(this.get(), $(selector).get()))); + }; + + each(['add', 'remove', 'toggle'], function (_, name) { + $.fn[(name + "Class")] = function (className) { + if (name === 'remove' && !arguments.length) { + return this.each(function (_, element) { + element.setAttribute('class', ''); + }); + } + return this.each(function (i, element) { + if (!isElement(element)) { + return; + } + var classes = (isFunction(className) + ? className.call(element, i, element.getAttribute('class') || '') + : className) + .split(' ') + .filter(function (name) { return name; }); + each(classes, function (_, cls) { + element.classList[name](cls); + }); + }); + }; + }); + + each(['insertBefore', 'insertAfter'], function (nameIndex, name) { + $.fn[name] = function (target) { + var $element = nameIndex ? $(this.get().reverse()) : this; // 顺序和 jQuery 保持一致 + var $target = $(target); + var result = []; + $target.each(function (index, target) { + if (!target.parentNode) { + return; + } + $element.each(function (_, element) { + var newItem = index + ? element.cloneNode(true) + : element; + var existingItem = nameIndex ? target.nextSibling : target; + result.push(newItem); + target.parentNode.insertBefore(newItem, existingItem); + }); + }); + return $(nameIndex ? result.reverse() : result); + }; + }); + + /** + * 是否不是 HTML 字符串(包裹在 <> 中) + * @param target + */ + function isPlainText(target) { + return (isString(target) && (target[0] !== '<' || target[target.length - 1] !== '>')); + } + each(['before', 'after'], function (nameIndex, name) { + $.fn[name] = function () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + // after 方法,多个参数需要按参数顺序添加到元素后面,所以需要将参数顺序反向处理 + if (nameIndex === 1) { + args = args.reverse(); + } + return this.each(function (index, element) { + var targets = isFunction(args[0]) + ? [args[0].call(element, index, element.innerHTML)] + : args; + each(targets, function (_, target) { + var $target; + if (isPlainText(target)) { + $target = $(getChildNodesArray(target, 'div')); + } + else if (index && isElement(target)) { + $target = $(target.cloneNode(true)); + } + else { + $target = $(target); + } + $target[nameIndex ? 'insertAfter' : 'insertBefore'](element); + }); + }); + }; + }); + + $.fn.off = function (types, selector, callback) { + var this$1 = this; + + // types 是对象 + if (isObjectLike(types)) { + each(types, function (type, fn) { + // this.off('click', undefined, function () {}) + // this.off('click', '.box', function () {}) + this$1.off(type, selector, fn); + }); + return this; + } + // selector 不存在 + if (selector === false || isFunction(selector)) { + callback = selector; + selector = undefined; + // this.off('click', undefined, function () {}) + } + // callback 传入 `false`,相当于 `return false` + if (callback === false) { + callback = returnFalse; + } + return this.each(function () { + remove(this, types, callback, selector); + }); + }; + + $.fn.on = function (types, selector, data, callback, one) { + var this$1 = this; + + // types 可以是 type/func 对象 + if (isObjectLike(types)) { + // (types-Object, selector, data) + if (!isString(selector)) { + // (types-Object, data) + data = data || selector; + selector = undefined; + } + each(types, function (type, fn) { + // selector 和 data 都可能是 undefined + // @ts-ignore + this$1.on(type, selector, data, fn, one); + }); + return this; + } + if (data == null && callback == null) { + // (types, fn) + callback = selector; + data = selector = undefined; + } + else if (callback == null) { + if (isString(selector)) { + // (types, selector, fn) + callback = data; + data = undefined; + } + else { + // (types, data, fn) + callback = data; + data = selector; + selector = undefined; + } + } + if (callback === false) { + callback = returnFalse; + } + else if (!callback) { + return this; + } + // $().one() + if (one) { + // eslint-disable-next-line @typescript-eslint/no-this-alias + var _this = this; + var origCallback = callback; + callback = function (event) { + _this.off(event.type, selector, callback); + // eslint-disable-next-line prefer-rest-params + return origCallback.apply(this, arguments); + }; + } + return this.each(function () { + add(this, types, callback, data, selector); + }); + }; + + each(ajaxEvents, function (name, eventName) { + $.fn[name] = function (fn) { + return this.on(eventName, function (e, params) { + fn(e, params.xhr, params.options, params.data); + }); + }; + }); + + $.fn.map = function (callback) { + return new JQ(map(this, function (element, i) { return callback.call(element, i, element); })); + }; + + $.fn.clone = function () { + return this.map(function () { + return this.cloneNode(true); + }); + }; + + $.fn.is = function (selector) { + var isMatched = false; + if (isFunction(selector)) { + this.each(function (index, element) { + if (selector.call(element, index, element)) { + isMatched = true; + } + }); + return isMatched; + } + if (isString(selector)) { + this.each(function (_, element) { + if (isDocument(element) || isWindow(element)) { + return; + } + // @ts-ignore + var matches = element.matches || element.msMatchesSelector; + if (matches.call(element, selector)) { + isMatched = true; + } + }); + return isMatched; + } + var $compareWith = $(selector); + this.each(function (_, element) { + $compareWith.each(function (_, compare) { + if (element === compare) { + isMatched = true; + } + }); + }); + return isMatched; + }; + + $.fn.remove = function (selector) { + return this.each(function (_, element) { + if (element.parentNode && (!selector || $(element).is(selector))) { + element.parentNode.removeChild(element); + } + }); + }; + + each(['prepend', 'append'], function (nameIndex, name) { + $.fn[name] = function () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + return this.each(function (index, element) { + var ref; + + var childNodes = element.childNodes; + var childLength = childNodes.length; + var child = childLength + ? childNodes[nameIndex ? childLength - 1 : 0] + : document.createElement('div'); + if (!childLength) { + element.appendChild(child); + } + var contents = isFunction(args[0]) + ? [args[0].call(element, index, element.innerHTML)] + : args; + // 如果不是字符串,则仅第一个元素使用原始元素,其他的都克隆自第一个元素 + if (index) { + contents = contents.map(function (content) { + return isString(content) ? content : $(content).clone(); + }); + } + (ref = $(child))[nameIndex ? 'after' : 'before'].apply(ref, contents); + if (!childLength) { + element.removeChild(child); + } + }); + }; + }); + + each(['appendTo', 'prependTo'], function (nameIndex, name) { + $.fn[name] = function (target) { + var extraChilds = []; + var $target = $(target).map(function (_, element) { + var childNodes = element.childNodes; + var childLength = childNodes.length; + if (childLength) { + return childNodes[nameIndex ? 0 : childLength - 1]; + } + var child = document.createElement('div'); + element.appendChild(child); + extraChilds.push(child); + return child; + }); + var $result = this[nameIndex ? 'insertBefore' : 'insertAfter']($target); + $(extraChilds).remove(); + return $result; + }; + }); + + each(['attr', 'prop', 'css'], function (nameIndex, name) { + function set(element, key, value) { + // 值为 undefined 时,不修改 + if (isUndefined(value)) { + return; + } + switch (nameIndex) { + // attr + case 0: + if (isNull(value)) { + element.removeAttribute(key); + } + else { + element.setAttribute(key, value); + } + break; + // prop + case 1: + // @ts-ignore + element[key] = value; + break; + // css + default: + key = toCamelCase(key); + // @ts-ignore + element.style[key] = isNumber(value) + ? ("" + value + (cssNumber.indexOf(key) > -1 ? '' : 'px')) + : value; + break; + } + } + function get(element, key) { + switch (nameIndex) { + // attr + case 0: + // 属性不存在时,原生 getAttribute 方法返回 null,而 jquery 返回 undefined。这里和 jquery 保持一致 + var value = element.getAttribute(key); + return isNull(value) ? undefined : value; + // prop + case 1: + // @ts-ignore + return element[key]; + // css + default: + return getStyle(element, key); + } + } + $.fn[name] = function (key, value) { + var this$1 = this; + + if (isObjectLike(key)) { + each(key, function (k, v) { + // @ts-ignore + this$1[name](k, v); + }); + return this; + } + if (arguments.length === 1) { + var element = this[0]; + return isElement(element) ? get(element, key) : undefined; + } + return this.each(function (i, element) { + set(element, key, isFunction(value) ? value.call(element, i, get(element, key)) : value); + }); + }; + }); + + $.fn.children = function (selector) { + var children = []; + this.each(function (_, element) { + each(element.childNodes, function (__, childNode) { + if (!isElement(childNode)) { + return; + } + if (!selector || $(childNode).is(selector)) { + children.push(childNode); + } + }); + }); + return new JQ(unique(children)); + }; + + $.fn.slice = function () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + return new JQ([].slice.apply(this, args)); + }; + + $.fn.eq = function (index) { + var ret = index === -1 ? this.slice(index) : this.slice(index, +index + 1); + return new JQ(ret); + }; + + function dir($elements, nameIndex, node, selector, filter) { + var ret = []; + var target; + $elements.each(function (_, element) { + target = element[node]; + // 不能包含最顶层的 document 元素 + while (target && isElement(target)) { + // prevUntil, nextUntil, parentsUntil + if (nameIndex === 2) { + if (selector && $(target).is(selector)) { + break; + } + if (!filter || $(target).is(filter)) { + ret.push(target); + } + } + // prev, next, parent + else if (nameIndex === 0) { + if (!selector || $(target).is(selector)) { + ret.push(target); + } + break; + } + // prevAll, nextAll, parents + else { + if (!selector || $(target).is(selector)) { + ret.push(target); + } + } + // @ts-ignore + target = target[node]; + } + }); + return new JQ(unique(ret)); + } + + each(['', 's', 'sUntil'], function (nameIndex, name) { + $.fn[("parent" + name)] = function (selector, filter) { + // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致 + var $nodes = !nameIndex ? this : $(this.get().reverse()); + return dir($nodes, nameIndex, 'parentNode', selector, filter); + }; + }); + + $.fn.closest = function (selector) { + if (this.is(selector)) { + return this; + } + var matched = []; + this.parents().each(function (_, element) { + if ($(element).is(selector)) { + matched.push(element); + return false; + } + }); + return new JQ(matched); + }; + + var rbrace = /^(?:{[\w\W]*\}|\[[\w\W]*\])$/; + // 从 `data-*` 中获取的值,需要经过该函数转换 + function getData(value) { + if (value === 'true') { + return true; + } + if (value === 'false') { + return false; + } + if (value === 'null') { + return null; + } + if (value === +value + '') { + return +value; + } + if (rbrace.test(value)) { + return JSON.parse(value); + } + return value; + } + // 若 value 不存在,则从 `data-*` 中获取值 + function dataAttr(element, key, value) { + if (isUndefined(value) && element.nodeType === 1) { + var name = 'data-' + toKebabCase(key); + value = element.getAttribute(name); + if (isString(value)) { + try { + value = getData(value); + } + catch (e) { } + } + else { + value = undefined; + } + } + return value; + } + $.fn.data = function (key, value) { + // 获取所有值 + if (isUndefined(key)) { + if (!this.length) { + return undefined; + } + var element = this[0]; + var resultData = data(element); + // window, document 上不存在 `data-*` 属性 + if (element.nodeType !== 1) { + return resultData; + } + // 从 `data-*` 中获取值 + var attrs = element.attributes; + var i = attrs.length; + while (i--) { + if (attrs[i]) { + var name = attrs[i].name; + if (name.indexOf('data-') === 0) { + name = toCamelCase(name.slice(5)); + resultData[name] = dataAttr(element, name, resultData[name]); + } + } + } + return resultData; + } + // 同时设置多个值 + if (isObjectLike(key)) { + return this.each(function () { + data(this, key); + }); + } + // value 传入了 undefined + if (arguments.length === 2 && isUndefined(value)) { + return this; + } + // 设置值 + if (!isUndefined(value)) { + return this.each(function () { + data(this, key, value); + }); + } + // 获取值 + if (!this.length) { + return undefined; + } + return dataAttr(this[0], key, data(this[0], key)); + }; + + $.fn.empty = function () { + return this.each(function () { + this.innerHTML = ''; + }); + }; + + $.fn.extend = function (obj) { + each(obj, function (prop, value) { + // 在 JQ 对象上扩展方法时,需要自己添加 typescript 的类型定义 + $.fn[prop] = value; + }); + return this; + }; + + $.fn.filter = function (selector) { + if (isFunction(selector)) { + return this.map(function (index, element) { return selector.call(element, index, element) ? element : undefined; }); + } + if (isString(selector)) { + return this.map(function (_, element) { return $(element).is(selector) ? element : undefined; }); + } + var $selector = $(selector); + return this.map(function (_, element) { return $selector.get().indexOf(element) > -1 ? element : undefined; }); + }; + + $.fn.first = function () { + return this.eq(0); + }; + + $.fn.has = function (selector) { + var $targets = isString(selector) ? this.find(selector) : $(selector); + var length = $targets.length; + return this.map(function () { + for (var i = 0; i < length; i += 1) { + if (contains(this, $targets[i])) { + return this; + } + } + return; + }); + }; + + $.fn.hasClass = function (className) { + return this[0].classList.contains(className); + }; + + /** + * 值上面的 padding、border、margin 处理 + * @param element + * @param name + * @param value + * @param funcIndex + * @param includeMargin + * @param multiply + */ + function handleExtraWidth(element, name, value, funcIndex, includeMargin, multiply) { + // 获取元素的 padding, border, margin 宽度(两侧宽度的和) + var getExtraWidthValue = function (extra) { + return (getExtraWidth(element, name.toLowerCase(), extra) * + multiply); + }; + if (funcIndex === 2 && includeMargin) { + value += getExtraWidthValue('margin'); + } + if (isBorderBox(element)) { + // IE 为 box-sizing: border-box 时,得到的值不含 border 和 padding,这里先修复 + // 仅获取时需要处理,multiply === 1 为 get + if (isIE() && multiply === 1) { + value += getExtraWidthValue('border'); + value += getExtraWidthValue('padding'); + } + if (funcIndex === 0) { + value -= getExtraWidthValue('border'); + } + if (funcIndex === 1) { + value -= getExtraWidthValue('border'); + value -= getExtraWidthValue('padding'); + } + } + else { + if (funcIndex === 0) { + value += getExtraWidthValue('padding'); + } + if (funcIndex === 2) { + value += getExtraWidthValue('border'); + value += getExtraWidthValue('padding'); + } + } + return value; + } + /** + * 获取元素的样式值 + * @param element + * @param name + * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight + * @param includeMargin + */ + function get(element, name, funcIndex, includeMargin) { + var clientProp = "client" + name; + var scrollProp = "scroll" + name; + var offsetProp = "offset" + name; + var innerProp = "inner" + name; + // $(window).width() + if (isWindow(element)) { + // outerWidth, outerHeight 需要包含滚动条的宽度 + return funcIndex === 2 + ? element[innerProp] + : toElement(document)[clientProp]; + } + // $(document).width() + if (isDocument(element)) { + var doc = toElement(element); + return Math.max( + // @ts-ignore + element.body[scrollProp], doc[scrollProp], + // @ts-ignore + element.body[offsetProp], doc[offsetProp], doc[clientProp]); + } + var value = parseFloat(getComputedStyleValue(element, name.toLowerCase()) || '0'); + return handleExtraWidth(element, name, value, funcIndex, includeMargin, 1); + } + /** + * 设置元素的样式值 + * @param element + * @param elementIndex + * @param name + * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight + * @param includeMargin + * @param value + */ + function set(element, elementIndex, name, funcIndex, includeMargin, value) { + var computedValue = isFunction(value) + ? value.call(element, elementIndex, get(element, name, funcIndex, includeMargin)) + : value; + if (computedValue == null) { + return; + } + var $element = $(element); + var dimension = name.toLowerCase(); + // 特殊的值,不需要计算 padding、border、margin + if (['auto', 'inherit', ''].indexOf(computedValue) > -1) { + $element.css(dimension, computedValue); + return; + } + // 其他值保留原始单位。注意:如果不使用 px 作为单位,则算出的值一般是不准确的 + var suffix = computedValue.toString().replace(/\b[0-9.]*/, ''); + var numerical = parseFloat(computedValue); + computedValue = + handleExtraWidth(element, name, numerical, funcIndex, includeMargin, -1) + + (suffix || 'px'); + $element.css(dimension, computedValue); + } + each(['Width', 'Height'], function (_, name) { + each([("inner" + name), name.toLowerCase(), ("outer" + name)], function (funcIndex, funcName) { + $.fn[funcName] = function (margin, value) { + // 是否是赋值操作 + var isSet = arguments.length && (funcIndex < 2 || !isBoolean(margin)); + var includeMargin = margin === true || value === true; + // 获取第一个元素的值 + if (!isSet) { + return this.length + ? get(this[0], name, funcIndex, includeMargin) + : undefined; + } + // 设置每个元素的值 + return this.each(function (index, element) { return set(element, index, name, funcIndex, includeMargin, margin); }); + }; + }); + }); + + $.fn.hide = function () { + return this.each(function () { + this.style.display = 'none'; + }); + }; + + each(['val', 'html', 'text'], function (nameIndex, name) { + var props = { + 0: 'value', + 1: 'innerHTML', + 2: 'textContent', + }; + var propName = props[nameIndex]; + function get($elements) { + // text() 获取所有元素的文本 + if (nameIndex === 2) { + // @ts-ignore + return map($elements, function (element) { return toElement(element)[propName]; }).join(''); + } + // 空集合时,val() 和 html() 返回 undefined + if (!$elements.length) { + return undefined; + } + // val() 和 html() 仅获取第一个元素的内容 + var firstElement = $elements[0]; + // select multiple 返回数组 + if (nameIndex === 0 && $(firstElement).is('select[multiple]')) { + return map($(firstElement).find('option:checked'), function (element) { return element.value; }); + } + // @ts-ignore + return firstElement[propName]; + } + function set(element, value) { + // text() 和 html() 赋值为 undefined,则保持原内容不变 + // val() 赋值为 undefined 则赋值为空 + if (isUndefined(value)) { + if (nameIndex !== 0) { + return; + } + value = ''; + } + if (nameIndex === 1 && isElement(value)) { + value = value.outerHTML; + } + // @ts-ignore + element[propName] = value; + } + $.fn[name] = function (value) { + // 获取值 + if (!arguments.length) { + return get(this); + } + // 设置值 + return this.each(function (i, element) { + var computedValue = isFunction(value) + ? value.call(element, i, get($(element))) + : value; + // value 是数组,则选中数组中的元素,反选不在数组中的元素 + if (nameIndex === 0 && Array.isArray(computedValue)) { + // select[multiple] + if ($(element).is('select[multiple]')) { + map($(element).find('option'), function (option) { return (option.selected = + computedValue.indexOf(option.value) > + -1); }); + } + // 其他 checkbox, radio 等元素 + else { + element.checked = + computedValue.indexOf(element.value) > -1; + } + } + else { + set(element, computedValue); + } + }); + }; + }); + + $.fn.index = function (selector) { + if (!arguments.length) { + return this.eq(0).parent().children().get().indexOf(this[0]); + } + if (isString(selector)) { + return $(selector).get().indexOf(this[0]); + } + return this.get().indexOf($(selector)[0]); + }; + + $.fn.last = function () { + return this.eq(-1); + }; + + each(['', 'All', 'Until'], function (nameIndex, name) { + $.fn[("next" + name)] = function (selector, filter) { + return dir(this, nameIndex, 'nextElementSibling', selector, filter); + }; + }); + + $.fn.not = function (selector) { + var $excludes = this.filter(selector); + return this.map(function (_, element) { return $excludes.index(element) > -1 ? undefined : element; }); + }; + + /** + * 返回最近的用于定位的父元素 + */ + $.fn.offsetParent = function () { + return this.map(function () { + var offsetParent = this.offsetParent; + while (offsetParent && $(offsetParent).css('position') === 'static') { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.documentElement; + }); + }; + + function floatStyle($element, name) { + return parseFloat($element.css(name)); + } + $.fn.position = function () { + if (!this.length) { + return undefined; + } + var $element = this.eq(0); + var currentOffset; + var parentOffset = { + left: 0, + top: 0, + }; + if ($element.css('position') === 'fixed') { + currentOffset = $element[0].getBoundingClientRect(); + } + else { + currentOffset = $element.offset(); + var $offsetParent = $element.offsetParent(); + parentOffset = $offsetParent.offset(); + parentOffset.top += floatStyle($offsetParent, 'border-top-width'); + parentOffset.left += floatStyle($offsetParent, 'border-left-width'); + } + return { + top: currentOffset.top - parentOffset.top - floatStyle($element, 'margin-top'), + left: currentOffset.left - + parentOffset.left - + floatStyle($element, 'margin-left'), + }; + }; + + function get$1(element) { + if (!element.getClientRects().length) { + return { top: 0, left: 0 }; + } + var rect = element.getBoundingClientRect(); + var win = element.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset, + }; + } + function set$1(element, value, index) { + var $element = $(element); + var position = $element.css('position'); + if (position === 'static') { + $element.css('position', 'relative'); + } + var currentOffset = get$1(element); + var currentTopString = $element.css('top'); + var currentLeftString = $element.css('left'); + var currentTop; + var currentLeft; + var calculatePosition = (position === 'absolute' || position === 'fixed') && + (currentTopString + currentLeftString).indexOf('auto') > -1; + if (calculatePosition) { + var currentPosition = $element.position(); + currentTop = currentPosition.top; + currentLeft = currentPosition.left; + } + else { + currentTop = parseFloat(currentTopString); + currentLeft = parseFloat(currentLeftString); + } + var computedValue = isFunction(value) + ? value.call(element, index, extend({}, currentOffset)) + : value; + $element.css({ + top: computedValue.top != null + ? computedValue.top - currentOffset.top + currentTop + : undefined, + left: computedValue.left != null + ? computedValue.left - currentOffset.left + currentLeft + : undefined, + }); + } + $.fn.offset = function (value) { + // 获取坐标 + if (!arguments.length) { + if (!this.length) { + return undefined; + } + return get$1(this[0]); + } + // 设置坐标 + return this.each(function (index) { + set$1(this, value, index); + }); + }; + + $.fn.one = function (types, selector, data, callback) { + // @ts-ignore + return this.on(types, selector, data, callback, true); + }; + + each(['', 'All', 'Until'], function (nameIndex, name) { + $.fn[("prev" + name)] = function (selector, filter) { + // prevAll、prevUntil 需要把元素的顺序倒序处理,以便和 jQuery 的结果一致 + var $nodes = !nameIndex ? this : $(this.get().reverse()); + return dir($nodes, nameIndex, 'previousElementSibling', selector, filter); + }; + }); + + $.fn.removeAttr = function (attributeName) { + var names = attributeName.split(' ').filter(function (name) { return name; }); + return this.each(function () { + var this$1 = this; + + each(names, function (_, name) { + this$1.removeAttribute(name); + }); + }); + }; + + $.fn.removeData = function (name) { + return this.each(function () { + removeData(this, name); + }); + }; + + $.fn.removeProp = function (name) { + return this.each(function () { + try { + // @ts-ignore + delete this[name]; + } + catch (e) { } + }); + }; + + $.fn.replaceWith = function (newContent) { + this.each(function (index, element) { + var content = newContent; + if (isFunction(content)) { + content = content.call(element, index, element.innerHTML); + } + else if (index && !isString(content)) { + content = $(content).clone(); + } + $(element).before(content); + }); + return this.remove(); + }; + + $.fn.replaceAll = function (target) { + var this$1 = this; + + return $(target).map(function (index, element) { + $(element).replaceWith(index ? this$1.clone() : this$1); + return this$1.get(); + }); + }; + + /** + * 将表单元素的值组合成键值对数组 + * @returns {Array} + */ + $.fn.serializeArray = function () { + var result = []; + this.each(function (_, element) { + var elements = element instanceof HTMLFormElement ? element.elements : [element]; + $(elements).each(function (_, element) { + var $element = $(element); + var type = element.type; + var nodeName = element.nodeName.toLowerCase(); + if (nodeName !== 'fieldset' && + element.name && + !element.disabled && + ['input', 'select', 'textarea', 'keygen'].indexOf(nodeName) > -1 && + ['submit', 'button', 'image', 'reset', 'file'].indexOf(type) === -1 && + (['radio', 'checkbox'].indexOf(type) === -1 || + element.checked)) { + var value = $element.val(); + var valueArr = Array.isArray(value) ? value : [value]; + valueArr.forEach(function (value) { + result.push({ + name: element.name, + value: value, + }); + }); + } + }); + }); + return result; + }; + + $.fn.serialize = function () { + return param(this.serializeArray()); + }; + + var elementDisplay = {}; + /** + * 获取元素的初始 display 值,用于 .show() 方法 + * @param nodeName + */ + function defaultDisplay(nodeName) { + var element; + var display; + if (!elementDisplay[nodeName]) { + element = document.createElement(nodeName); + document.body.appendChild(element); + display = getStyle(element, 'display'); + element.parentNode.removeChild(element); + if (display === 'none') { + display = 'block'; + } + elementDisplay[nodeName] = display; + } + return elementDisplay[nodeName]; + } + /** + * 显示指定元素 + * @returns {JQ} + */ + $.fn.show = function () { + return this.each(function () { + if (this.style.display === 'none') { + this.style.display = ''; + } + if (getStyle(this, 'display') === 'none') { + this.style.display = defaultDisplay(this.nodeName); + } + }); + }; + + /** + * 取得同辈元素的集合 + * @param selector {String=} + * @returns {JQ} + */ + $.fn.siblings = function (selector) { + return this.prevAll(selector).add(this.nextAll(selector)); + }; + + /** + * 切换元素的显示状态 + */ + $.fn.toggle = function () { + return this.each(function () { + getStyle(this, 'display') === 'none' ? $(this).show() : $(this).hide(); + }); + }; + + $.fn.reflow = function () { + return this.each(function () { + return this.clientLeft; + }); + }; + + $.fn.transition = function (duration) { + if (isNumber(duration)) { + duration = duration + "ms"; + } + return this.each(function () { + this.style.webkitTransitionDuration = duration; + this.style.transitionDuration = duration; + }); + }; + + $.fn.transitionEnd = function (callback) { + // eslint-disable-next-line @typescript-eslint/no-this-alias + var that = this; + var events = ['webkitTransitionEnd', 'transitionend']; + function fireCallback(e) { + if (e.target !== this) { + return; + } + // @ts-ignore + callback.call(this, e); + each(events, function (_, event) { + that.off(event, fireCallback); + }); + } + each(events, function (_, event) { + that.on(event, fireCallback); + }); + return this; + }; + + $.fn.transformOrigin = function (transformOrigin) { + return this.each(function () { + this.style.webkitTransformOrigin = transformOrigin; + this.style.transformOrigin = transformOrigin; + }); + }; + + $.fn.transform = function (transform) { + return this.each(function () { + this.style.webkitTransform = transform; + this.style.transform = transform; + }); + }; + + /** + * CSS 选择器和初始化函数组成的对象 + */ + var entries = {}; + /** + * 注册并执行初始化函数 + * @param selector CSS 选择器 + * @param apiInit 初始化函数 + * @param i 元素索引 + * @param element 元素 + */ + function mutation(selector, apiInit, i, element) { + var selectors = data(element, '_mdui_mutation'); + if (!selectors) { + selectors = []; + data(element, '_mdui_mutation', selectors); + } + if (selectors.indexOf(selector) === -1) { + selectors.push(selector); + apiInit.call(element, i, element); + } + } + + $.fn.mutation = function () { + return this.each(function (i, element) { + var $this = $(element); + each(entries, function (selector, apiInit) { + if ($this.is(selector)) { + mutation(selector, apiInit, i, element); + } + $this.find(selector).each(function (i, element) { + mutation(selector, apiInit, i, element); + }); + }); + }); + }; + + $.showOverlay = function (zIndex) { + var $overlay = $('.mdui-overlay'); + if ($overlay.length) { + $overlay.data('_overlay_is_deleted', false); + if (!isUndefined(zIndex)) { + $overlay.css('z-index', zIndex); + } + } + else { + if (isUndefined(zIndex)) { + zIndex = 2000; + } + $overlay = $('
              ') + .appendTo(document.body) + .reflow() + .css('z-index', zIndex); + } + var level = $overlay.data('_overlay_level') || 0; + return $overlay.data('_overlay_level', ++level).addClass('mdui-overlay-show'); + }; + + $.hideOverlay = function (force) { + if ( force === void 0 ) force = false; + + var $overlay = $('.mdui-overlay'); + if (!$overlay.length) { + return; + } + var level = force ? 1 : $overlay.data('_overlay_level'); + if (level > 1) { + $overlay.data('_overlay_level', --level); + return; + } + $overlay + .data('_overlay_level', 0) + .removeClass('mdui-overlay-show') + .data('_overlay_is_deleted', true) + .transitionEnd(function () { + if ($overlay.data('_overlay_is_deleted')) { + $overlay.remove(); + } + }); + }; + + $.lockScreen = function () { + var $body = $('body'); + // 不直接把 body 设为 box-sizing: border-box,避免污染全局样式 + var newBodyWidth = $body.width(); + var level = $body.data('_lockscreen_level') || 0; + $body + .addClass('mdui-locked') + .width(newBodyWidth) + .data('_lockscreen_level', ++level); + }; + + $.unlockScreen = function (force) { + if ( force === void 0 ) force = false; + + var $body = $('body'); + var level = force ? 1 : $body.data('_lockscreen_level'); + if (level > 1) { + $body.data('_lockscreen_level', --level); + return; + } + $body.data('_lockscreen_level', 0).removeClass('mdui-locked').width(''); + }; + + $.throttle = function (fn, delay) { + if ( delay === void 0 ) delay = 16; + + var timer = null; + return function () { + var this$1 = this; + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + if (isNull(timer)) { + timer = setTimeout(function () { + fn.apply(this$1, args); + timer = null; + }, delay); + } + }; + }; + + var GUID = {}; + $.guid = function (name) { + if (!isUndefined(name) && !isUndefined(GUID[name])) { + return GUID[name]; + } + function s4() { + return Math.floor((1 + Math.random()) * 0x10000) + .toString(16) + .substring(1); + } + var guid = '_' + + s4() + + s4() + + '-' + + s4() + + '-' + + s4() + + '-' + + s4() + + '-' + + s4() + + s4() + + s4(); + if (!isUndefined(name)) { + GUID[name] = guid; + } + return guid; + }; + + mdui.mutation = function (selector, apiInit) { + if (isUndefined(selector) || isUndefined(apiInit)) { + $(document).mutation(); + return; + } + entries[selector] = apiInit; + $(selector).each(function (i, element) { return mutation(selector, apiInit, i, element); }); + }; + + /** + * 触发组件上的事件 + * @param eventName 事件名 + * @param componentName 组件名 + * @param target 在该元素上触发事件 + * @param instance 组件实例 + * @param parameters 事件参数 + */ + function componentEvent(eventName, componentName, target, instance, parameters) { + if (!parameters) { + parameters = {}; + } + // @ts-ignore + parameters.inst = instance; + var fullEventName = eventName + ".mdui." + componentName; + // jQuery 事件 + // @ts-ignore + if (typeof jQuery !== 'undefined') { + // @ts-ignore + jQuery(target).trigger(fullEventName, parameters); + } + var $target = $(target); + // mdui.jq 事件 + $target.trigger(fullEventName, parameters); + var eventParams = { + bubbles: true, + cancelable: true, + detail: parameters, + }; + var eventObject = new CustomEvent(fullEventName, eventParams); + // @ts-ignore + eventObject._detail = parameters; + $target[0].dispatchEvent(eventObject); + } + + var $document = $(document); + var $window = $(window); + var $body = $('body'); + + var DEFAULT_OPTIONS = { + tolerance: 5, + offset: 0, + initialClass: 'mdui-headroom', + pinnedClass: 'mdui-headroom-pinned-top', + unpinnedClass: 'mdui-headroom-unpinned-top', + }; + var Headroom = function Headroom(selector, options) { + if ( options === void 0 ) options = {}; + + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS); + /** + * 当前 headroom 的状态 + */ + this.state = 'pinned'; + /** + * 当前是否启用 + */ + this.isEnable = false; + /** + * 上次滚动后,垂直方向的距离 + */ + this.lastScrollY = 0; + /** + * AnimationFrame ID + */ + this.rafId = 0; + this.$element = $(selector).first(); + extend(this.options, options); + // tolerance 参数若为数值,转换为对象 + var tolerance = this.options.tolerance; + if (isNumber(tolerance)) { + this.options.tolerance = { + down: tolerance, + up: tolerance, + }; + } + this.enable(); + }; + /** + * 滚动时的处理 + */ + Headroom.prototype.onScroll = function onScroll () { + var this$1 = this; + + this.rafId = window.requestAnimationFrame(function () { + var currentScrollY = window.pageYOffset; + var direction = currentScrollY > this$1.lastScrollY ? 'down' : 'up'; + var tolerance = this$1.options.tolerance[direction]; + var scrolled = Math.abs(currentScrollY - this$1.lastScrollY); + var toleranceExceeded = scrolled >= tolerance; + if (currentScrollY > this$1.lastScrollY && + currentScrollY >= this$1.options.offset && + toleranceExceeded) { + this$1.unpin(); + } + else if ((currentScrollY < this$1.lastScrollY && toleranceExceeded) || + currentScrollY <= this$1.options.offset) { + this$1.pin(); + } + this$1.lastScrollY = currentScrollY; + }); + }; + /** + * 触发组件事件 + * @param name + */ + Headroom.prototype.triggerEvent = function triggerEvent (name) { + componentEvent(name, 'headroom', this.$element, this); + }; + /** + * 动画结束的回调 + */ + Headroom.prototype.transitionEnd = function transitionEnd () { + if (this.state === 'pinning') { + this.state = 'pinned'; + this.triggerEvent('pinned'); + } + if (this.state === 'unpinning') { + this.state = 'unpinned'; + this.triggerEvent('unpinned'); + } + }; + /** + * 使元素固定住 + */ + Headroom.prototype.pin = function pin () { + var this$1 = this; + + if (this.state === 'pinning' || + this.state === 'pinned' || + !this.$element.hasClass(this.options.initialClass)) { + return; + } + this.triggerEvent('pin'); + this.state = 'pinning'; + this.$element + .removeClass(this.options.unpinnedClass) + .addClass(this.options.pinnedClass) + .transitionEnd(function () { return this$1.transitionEnd(); }); + }; + /** + * 使元素隐藏 + */ + Headroom.prototype.unpin = function unpin () { + var this$1 = this; + + if (this.state === 'unpinning' || + this.state === 'unpinned' || + !this.$element.hasClass(this.options.initialClass)) { + return; + } + this.triggerEvent('unpin'); + this.state = 'unpinning'; + this.$element + .removeClass(this.options.pinnedClass) + .addClass(this.options.unpinnedClass) + .transitionEnd(function () { return this$1.transitionEnd(); }); + }; + /** + * 启用 headroom 插件 + */ + Headroom.prototype.enable = function enable () { + var this$1 = this; + + if (this.isEnable) { + return; + } + this.isEnable = true; + this.state = 'pinned'; + this.$element + .addClass(this.options.initialClass) + .removeClass(this.options.pinnedClass) + .removeClass(this.options.unpinnedClass); + this.lastScrollY = window.pageYOffset; + $window.on('scroll', function () { return this$1.onScroll(); }); + }; + /** + * 禁用 headroom 插件 + */ + Headroom.prototype.disable = function disable () { + var this$1 = this; + + if (!this.isEnable) { + return; + } + this.isEnable = false; + this.$element + .removeClass(this.options.initialClass) + .removeClass(this.options.pinnedClass) + .removeClass(this.options.unpinnedClass); + $window.off('scroll', function () { return this$1.onScroll(); }); + window.cancelAnimationFrame(this.rafId); + }; + /** + * 获取当前状态。共包含四种状态:`pinning`、`pinned`、`unpinning`、`unpinned` + */ + Headroom.prototype.getState = function getState () { + return this.state; + }; + mdui.Headroom = Headroom; + + /** + * 解析 DATA API 参数 + * @param element 元素 + * @param name 属性名 + */ + function parseOptions(element, name) { + var attr = $(element).attr(name); + if (!attr) { + return {}; + } + return new Function('', ("var json = " + attr + "; return JSON.parse(JSON.stringify(json));"))(); + } + + var customAttr = 'mdui-headroom'; + $(function () { + mdui.mutation(("[" + customAttr + "]"), function () { + new mdui.Headroom(this, parseOptions(this, customAttr)); + }); + }); + + var DEFAULT_OPTIONS$1 = { + accordion: false, + }; + var CollapseAbstract = function CollapseAbstract(selector, options) { + if ( options === void 0 ) options = {}; + + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$1); + // CSS 类名 + var classPrefix = "mdui-" + (this.getNamespace()) + "-item"; + this.classItem = classPrefix; + this.classItemOpen = classPrefix + "-open"; + this.classHeader = classPrefix + "-header"; + this.classBody = classPrefix + "-body"; + this.$element = $(selector).first(); + extend(this.options, options); + this.bindEvent(); + }; + /** + * 绑定事件 + */ + CollapseAbstract.prototype.bindEvent = function bindEvent () { + // eslint-disable-next-line @typescript-eslint/no-this-alias + var that = this; + // 点击 header 时,打开/关闭 item + this.$element.on('click', ("." + (this.classHeader)), function () { + var $header = $(this); + var $item = $header.parent(); + var $items = that.getItems(); + $items.each(function (_, item) { + if ($item.is(item)) { + that.toggle(item); + } + }); + }); + // 点击关闭按钮时,关闭 item + this.$element.on('click', ("[mdui-" + (this.getNamespace()) + "-item-close]"), function () { + var $target = $(this); + var $item = $target.parents(("." + (that.classItem))).first(); + that.close($item); + }); + }; + /** + * 指定 item 是否处于打开状态 + * @param $item + */ + CollapseAbstract.prototype.isOpen = function isOpen ($item) { + return $item.hasClass(this.classItemOpen); + }; + /** + * 获取所有 item + */ + CollapseAbstract.prototype.getItems = function getItems () { + return this.$element.children(("." + (this.classItem))); + }; + /** + * 获取指定 item + * @param item + */ + CollapseAbstract.prototype.getItem = function getItem (item) { + if (isNumber(item)) { + return this.getItems().eq(item); + } + return $(item).first(); + }; + /** + * 触发组件事件 + * @param name 事件名 + * @param $item 事件触发的目标 item + */ + CollapseAbstract.prototype.triggerEvent = function triggerEvent (name, $item) { + componentEvent(name, this.getNamespace(), $item, this); + }; + /** + * 动画结束回调 + * @param $content body 元素 + * @param $item item 元素 + */ + CollapseAbstract.prototype.transitionEnd = function transitionEnd ($content, $item) { + if (this.isOpen($item)) { + $content.transition(0).height('auto').reflow().transition(''); + this.triggerEvent('opened', $item); + } + else { + $content.height(''); + this.triggerEvent('closed', $item); + } + }; + /** + * 打开指定面板项 + * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象 + */ + CollapseAbstract.prototype.open = function open (item) { + var this$1 = this; + + var $item = this.getItem(item); + if (this.isOpen($item)) { + return; + } + // 关闭其他项 + if (this.options.accordion) { + this.$element.children(("." + (this.classItemOpen))).each(function (_, element) { + var $element = $(element); + if (!$element.is($item)) { + this$1.close($element); + } + }); + } + var $content = $item.children(("." + (this.classBody))); + $content + .height($content[0].scrollHeight) + .transitionEnd(function () { return this$1.transitionEnd($content, $item); }); + this.triggerEvent('open', $item); + $item.addClass(this.classItemOpen); + }; + /** + * 关闭指定面板项 + * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象 + */ + CollapseAbstract.prototype.close = function close (item) { + var this$1 = this; + + var $item = this.getItem(item); + if (!this.isOpen($item)) { + return; + } + var $content = $item.children(("." + (this.classBody))); + this.triggerEvent('close', $item); + $item.removeClass(this.classItemOpen); + $content + .transition(0) + .height($content[0].scrollHeight) + .reflow() + .transition('') + .height('') + .transitionEnd(function () { return this$1.transitionEnd($content, $item); }); + }; + /** + * 切换指定面板项的打开状态 + * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象 + */ + CollapseAbstract.prototype.toggle = function toggle (item) { + var $item = this.getItem(item); + this.isOpen($item) ? this.close($item) : this.open($item); + }; + /** + * 打开所有面板项 + */ + CollapseAbstract.prototype.openAll = function openAll () { + var this$1 = this; + + this.getItems().each(function (_, element) { return this$1.open(element); }); + }; + /** + * 关闭所有面板项 + */ + CollapseAbstract.prototype.closeAll = function closeAll () { + var this$1 = this; + + this.getItems().each(function (_, element) { return this$1.close(element); }); + }; + + var Collapse = /*@__PURE__*/(function (CollapseAbstract) { + function Collapse () { + CollapseAbstract.apply(this, arguments); + } + + if ( CollapseAbstract ) Collapse.__proto__ = CollapseAbstract; + Collapse.prototype = Object.create( CollapseAbstract && CollapseAbstract.prototype ); + Collapse.prototype.constructor = Collapse; + + Collapse.prototype.getNamespace = function getNamespace () { + return 'collapse'; + }; + + return Collapse; + }(CollapseAbstract)); + mdui.Collapse = Collapse; + + var customAttr$1 = 'mdui-collapse'; + $(function () { + mdui.mutation(("[" + customAttr$1 + "]"), function () { + new mdui.Collapse(this, parseOptions(this, customAttr$1)); + }); + }); + + var Panel = /*@__PURE__*/(function (CollapseAbstract) { + function Panel () { + CollapseAbstract.apply(this, arguments); + } + + if ( CollapseAbstract ) Panel.__proto__ = CollapseAbstract; + Panel.prototype = Object.create( CollapseAbstract && CollapseAbstract.prototype ); + Panel.prototype.constructor = Panel; + + Panel.prototype.getNamespace = function getNamespace () { + return 'panel'; + }; + + return Panel; + }(CollapseAbstract)); + mdui.Panel = Panel; + + var customAttr$2 = 'mdui-panel'; + $(function () { + mdui.mutation(("[" + customAttr$2 + "]"), function () { + new mdui.Panel(this, parseOptions(this, customAttr$2)); + }); + }); + + var Table = function Table(selector) { + /** + * 表头 tr 元素 + */ + this.$thRow = $(); + /** + * 表格 body 中的 tr 元素 + */ + this.$tdRows = $(); + /** + * 表头的 checkbox 元素 + */ + this.$thCheckbox = $(); + /** + * 表格 body 中的 checkbox 元素 + */ + this.$tdCheckboxs = $(); + /** + * 表格行是否可选择 + */ + this.selectable = false; + /** + * 已选中的行数 + */ + this.selectedRow = 0; + this.$element = $(selector).first(); + this.init(); + }; + /** + * 初始化表格 + */ + Table.prototype.init = function init () { + this.$thRow = this.$element.find('thead tr'); + this.$tdRows = this.$element.find('tbody tr'); + this.selectable = this.$element.hasClass('mdui-table-selectable'); + this.updateThCheckbox(); + this.updateTdCheckbox(); + this.updateNumericCol(); + }; + /** + * 生成 checkbox 的 HTML 结构 + * @param tag 标签名 + */ + Table.prototype.createCheckboxHTML = function createCheckboxHTML (tag) { + return ("<" + tag + " class=\"mdui-table-cell-checkbox\">" + + '' + + ""); + }; + /** + * 更新表头 checkbox 的状态 + */ + Table.prototype.updateThCheckboxStatus = function updateThCheckboxStatus () { + var checkbox = this.$thCheckbox[0]; + var selectedRow = this.selectedRow; + var tdRowsLength = this.$tdRows.length; + checkbox.checked = selectedRow === tdRowsLength; + checkbox.indeterminate = !!selectedRow && selectedRow !== tdRowsLength; + }; + /** + * 更新表格行的 checkbox + */ + Table.prototype.updateTdCheckbox = function updateTdCheckbox () { + var this$1 = this; + + var rowSelectedClass = 'mdui-table-row-selected'; + this.$tdRows.each(function (_, row) { + var $row = $(row); + // 移除旧的 checkbox + $row.find('.mdui-table-cell-checkbox').remove(); + if (!this$1.selectable) { + return; + } + // 创建 DOM + var $checkbox = $(this$1.createCheckboxHTML('td')) + .prependTo($row) + .find('input[type="checkbox"]'); + // 默认选中的行 + if ($row.hasClass(rowSelectedClass)) { + $checkbox[0].checked = true; + this$1.selectedRow++; + } + this$1.updateThCheckboxStatus(); + // 绑定事件 + $checkbox.on('change', function () { + if ($checkbox[0].checked) { + $row.addClass(rowSelectedClass); + this$1.selectedRow++; + } + else { + $row.removeClass(rowSelectedClass); + this$1.selectedRow--; + } + this$1.updateThCheckboxStatus(); + }); + this$1.$tdCheckboxs = this$1.$tdCheckboxs.add($checkbox); + }); + }; + /** + * 更新表头的 checkbox + */ + Table.prototype.updateThCheckbox = function updateThCheckbox () { + var this$1 = this; + + // 移除旧的 checkbox + this.$thRow.find('.mdui-table-cell-checkbox').remove(); + if (!this.selectable) { + return; + } + this.$thCheckbox = $(this.createCheckboxHTML('th')) + .prependTo(this.$thRow) + .find('input[type="checkbox"]') + .on('change', function () { + var isCheckedAll = this$1.$thCheckbox[0].checked; + this$1.selectedRow = isCheckedAll ? this$1.$tdRows.length : 0; + this$1.$tdCheckboxs.each(function (_, checkbox) { + checkbox.checked = isCheckedAll; + }); + this$1.$tdRows.each(function (_, row) { + isCheckedAll + ? $(row).addClass('mdui-table-row-selected') + : $(row).removeClass('mdui-table-row-selected'); + }); + }); + }; + /** + * 更新数值列 + */ + Table.prototype.updateNumericCol = function updateNumericCol () { + var this$1 = this; + + var numericClass = 'mdui-table-col-numeric'; + this.$thRow.find('th').each(function (i, th) { + var isNumericCol = $(th).hasClass(numericClass); + this$1.$tdRows.each(function (_, row) { + var $td = $(row).find('td').eq(i); + isNumericCol + ? $td.addClass(numericClass) + : $td.removeClass(numericClass); + }); + }); + }; + var dataName = '_mdui_table'; + $(function () { + mdui.mutation('.mdui-table', function () { + var $element = $(this); + if (!$element.data(dataName)) { + $element.data(dataName, new Table($element)); + } + }); + }); + mdui.updateTables = function (selector) { + var $elements = isUndefined(selector) ? $('.mdui-table') : $(selector); + $elements.each(function (_, element) { + var $element = $(element); + var instance = $element.data(dataName); + if (instance) { + instance.init(); + } + else { + $element.data(dataName, new Table($element)); + } + }); + }; + + /** + * touch 事件后的 500ms 内禁用 mousedown 事件 + * + * 不支持触控的屏幕上事件顺序为 mousedown -> mouseup -> click + * 支持触控的屏幕上事件顺序为 touchstart -> touchend -> mousedown -> mouseup -> click + * + * 在每一个事件中都使用 TouchHandler.isAllow(event) 判断事件是否可执行 + * 在 touchstart 和 touchmove、touchend、touchcancel + * + * (function () { + * $document + * .on(start, function (e) { + * if (!isAllow(e)) { + * return; + * } + * register(e); + * console.log(e.type); + * }) + * .on(move, function (e) { + * if (!isAllow(e)) { + * return; + * } + * console.log(e.type); + * }) + * .on(end, function (e) { + * if (!isAllow(e)) { + * return; + * } + * console.log(e.type); + * }) + * .on(unlock, register); + * })(); + */ + var startEvent = 'touchstart mousedown'; + var moveEvent = 'touchmove mousemove'; + var endEvent = 'touchend mouseup'; + var cancelEvent = 'touchcancel mouseleave'; + var unlockEvent = 'touchend touchmove touchcancel'; + var touches = 0; + /** + * 该事件是否被允许,在执行事件前调用该方法判断事件是否可以执行 + * 若已触发 touch 事件,则阻止之后的鼠标事件 + * @param event + */ + function isAllow(event) { + return !(touches && + [ + 'mousedown', + 'mouseup', + 'mousemove', + 'click', + 'mouseover', + 'mouseout', + 'mouseenter', + 'mouseleave' ].indexOf(event.type) > -1); + } + /** + * 在 touchstart 和 touchmove、touchend、touchcancel 事件中调用该方法注册事件 + * @param event + */ + function register(event) { + if (event.type === 'touchstart') { + // 触发了 touch 事件 + touches += 1; + } + else if (['touchmove', 'touchend', 'touchcancel'].indexOf(event.type) > -1) { + // touch 事件结束 500ms 后解除对鼠标事件的阻止 + setTimeout(function () { + if (touches) { + touches -= 1; + } + }, 500); + } + } + + /** + * Inspired by https://github.com/nolimits4web/Framework7/blob/master/src/js/fast-clicks.js + * https://github.com/nolimits4web/Framework7/blob/master/LICENSE + * + * Inspired by https://github.com/fians/Waves + */ + /** + * 显示涟漪动画 + * @param event + * @param $ripple + */ + function show(event, $ripple) { + // 鼠标右键不产生涟漪 + if (event instanceof MouseEvent && event.button === 2) { + return; + } + // 点击位置坐标 + var touchPosition = typeof TouchEvent !== 'undefined' && + event instanceof TouchEvent && + event.touches.length + ? event.touches[0] + : event; + var touchStartX = touchPosition.pageX; + var touchStartY = touchPosition.pageY; + // 涟漪位置 + var offset = $ripple.offset(); + var height = $ripple.innerHeight(); + var width = $ripple.innerWidth(); + var center = { + x: touchStartX - offset.left, + y: touchStartY - offset.top, + }; + var diameter = Math.max(Math.pow(Math.pow(height, 2) + Math.pow(width, 2), 0.5), 48); + // 涟漪扩散动画 + var translate = "translate3d(" + (-center.x + width / 2) + "px," + + (-center.y + height / 2) + "px, 0) scale(1)"; + // 涟漪的 DOM 结构,并缓存动画效果 + $("
              ") + .data('_ripple_wave_translate', translate) + .prependTo($ripple) + .reflow() + .transform(translate); + } + /** + * 隐藏并移除涟漪 + * @param $wave + */ + function removeRipple($wave) { + if (!$wave.length || $wave.data('_ripple_wave_removed')) { + return; + } + $wave.data('_ripple_wave_removed', true); + var removeTimer = setTimeout(function () { return $wave.remove(); }, 400); + var translate = $wave.data('_ripple_wave_translate'); + $wave + .addClass('mdui-ripple-wave-fill') + .transform(translate.replace('scale(1)', 'scale(1.01)')) + .transitionEnd(function () { + clearTimeout(removeTimer); + $wave + .addClass('mdui-ripple-wave-out') + .transform(translate.replace('scale(1)', 'scale(1.01)')); + removeTimer = setTimeout(function () { return $wave.remove(); }, 700); + setTimeout(function () { + $wave.transitionEnd(function () { + clearTimeout(removeTimer); + $wave.remove(); + }); + }, 0); + }); + } + /** + * 隐藏涟漪动画 + * @param this + */ + function hide() { + var $ripple = $(this); + $ripple.children('.mdui-ripple-wave').each(function (_, wave) { + removeRipple($(wave)); + }); + $ripple.off((moveEvent + " " + endEvent + " " + cancelEvent), hide); + } + /** + * 显示涟漪,并绑定 touchend 等事件 + * @param event + */ + function showRipple(event) { + if (!isAllow(event)) { + return; + } + register(event); + // Chrome 59 点击滚动条时,会在 document 上触发事件 + if (event.target === document) { + return; + } + var $target = $(event.target); + // 获取含 .mdui-ripple 类的元素 + var $ripple = $target.hasClass('mdui-ripple') + ? $target + : $target.parents('.mdui-ripple').first(); + if (!$ripple.length) { + return; + } + // 禁用状态的元素上不产生涟漪效果 + if ($ripple.prop('disabled') || !isUndefined($ripple.attr('disabled'))) { + return; + } + if (event.type === 'touchstart') { + var hidden = false; + // touchstart 触发指定时间后开始涟漪动画,避免手指滑动时也触发涟漪 + var timer = setTimeout(function () { + timer = 0; + show(event, $ripple); + }, 200); + var hideRipple = function () { + // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画 + if (timer) { + clearTimeout(timer); + timer = 0; + show(event, $ripple); + } + if (!hidden) { + hidden = true; + hide.call($ripple); + } + }; + // 手指移动后,移除涟漪动画 + var touchMove = function () { + if (timer) { + clearTimeout(timer); + timer = 0; + } + hideRipple(); + }; + $ripple.on('touchmove', touchMove).on('touchend touchcancel', hideRipple); + } + else { + show(event, $ripple); + $ripple.on((moveEvent + " " + endEvent + " " + cancelEvent), hide); + } + } + $(function () { + $document.on(startEvent, showRipple).on(unlockEvent, register); + }); + + var defaultData = { + reInit: false, + domLoadedEvent: false, + }; + /** + * 输入框事件 + * @param event + * @param data + */ + function inputEvent(event, data) { + if ( data === void 0 ) data = {}; + + data = extend({}, defaultData, data); + var input = event.target; + var $input = $(input); + var eventType = event.type; + var value = $input.val(); + // 文本框类型 + var inputType = $input.attr('type') || ''; + if (['checkbox', 'button', 'submit', 'range', 'radio', 'image'].indexOf(inputType) > -1) { + return; + } + var $textfield = $input.parent('.mdui-textfield'); + // 输入框是否聚焦 + if (eventType === 'focus') { + $textfield.addClass('mdui-textfield-focus'); + } + if (eventType === 'blur') { + $textfield.removeClass('mdui-textfield-focus'); + } + // 输入框是否为空 + if (eventType === 'blur' || eventType === 'input') { + value + ? $textfield.addClass('mdui-textfield-not-empty') + : $textfield.removeClass('mdui-textfield-not-empty'); + } + // 输入框是否禁用 + input.disabled + ? $textfield.addClass('mdui-textfield-disabled') + : $textfield.removeClass('mdui-textfield-disabled'); + // 表单验证 + if ((eventType === 'input' || eventType === 'blur') && + !data.domLoadedEvent && + input.validity) { + input.validity.valid + ? $textfield.removeClass('mdui-textfield-invalid-html5') + : $textfield.addClass('mdui-textfield-invalid-html5'); + } + // textarea 高度自动调整 + if ($input.is('textarea')) { + // IE bug:textarea 的值仅为多个换行,不含其他内容时,textarea 的高度不准确 + // 此时,在计算高度前,在值的开头加入一个空格,计算完后,移除空格 + var inputValue = value; + var hasExtraSpace = false; + if (inputValue.replace(/[\r\n]/g, '') === '') { + $input.val(' ' + inputValue); + hasExtraSpace = true; + } + // 设置 textarea 高度 + $input.outerHeight(''); + var height = $input.outerHeight(); + var scrollHeight = input.scrollHeight; + if (scrollHeight > height) { + $input.outerHeight(scrollHeight); + } + // 计算完,还原 textarea 的值 + if (hasExtraSpace) { + $input.val(inputValue); + } + } + // 实时字数统计 + if (data.reInit) { + $textfield.find('.mdui-textfield-counter').remove(); + } + var maxLength = $input.attr('maxlength'); + if (maxLength) { + if (data.reInit || data.domLoadedEvent) { + $('
              ' + + " / " + maxLength + + '
              ').appendTo($textfield); + } + $textfield + .find('.mdui-textfield-counter-inputed') + .text(value.length.toString()); + } + // 含 帮助文本、错误提示、字数统计 时,增加文本框底部内边距 + if ($textfield.find('.mdui-textfield-helper').length || + $textfield.find('.mdui-textfield-error').length || + maxLength) { + $textfield.addClass('mdui-textfield-has-bottom'); + } + } + $(function () { + // 绑定事件 + $document.on('input focus blur', '.mdui-textfield-input', { useCapture: true }, inputEvent); + // 可展开文本框展开 + $document.on('click', '.mdui-textfield-expandable .mdui-textfield-icon', function () { + $(this) + .parents('.mdui-textfield') + .addClass('mdui-textfield-expanded') + .find('.mdui-textfield-input')[0] + .focus(); + }); + // 可展开文本框关闭 + $document.on('click', '.mdui-textfield-expanded .mdui-textfield-close', function () { + $(this) + .parents('.mdui-textfield') + .removeClass('mdui-textfield-expanded') + .find('.mdui-textfield-input') + .val(''); + }); + /** + * 初始化文本框 + */ + mdui.mutation('.mdui-textfield', function () { + $(this).find('.mdui-textfield-input').trigger('input', { + domLoadedEvent: true, + }); + }); + }); + mdui.updateTextFields = function (selector) { + var $elements = isUndefined(selector) ? $('.mdui-textfield') : $(selector); + $elements.each(function (_, element) { + $(element).find('.mdui-textfield-input').trigger('input', { + reInit: true, + }); + }); + }; + + /** + * 滑块的值改变后修改滑块样式 + * @param $slider + */ + function updateValueStyle($slider) { + var data = $slider.data(); + var $track = data._slider_$track; + var $fill = data._slider_$fill; + var $thumb = data._slider_$thumb; + var $input = data._slider_$input; + var min = data._slider_min; + var max = data._slider_max; + var isDisabled = data._slider_disabled; + var isDiscrete = data._slider_discrete; + var $thumbText = data._slider_$thumbText; + var value = $input.val(); + var percent = ((value - min) / (max - min)) * 100; + $fill.width((percent + "%")); + $track.width(((100 - percent) + "%")); + if (isDisabled) { + $fill.css('padding-right', '6px'); + $track.css('padding-left', '6px'); + } + $thumb.css('left', (percent + "%")); + if (isDiscrete) { + $thumbText.text(value); + } + percent === 0 + ? $slider.addClass('mdui-slider-zero') + : $slider.removeClass('mdui-slider-zero'); + } + /** + * 重新初始化滑块 + * @param $slider + */ + function reInit($slider) { + var $track = $('
              '); + var $fill = $('
              '); + var $thumb = $('
              '); + var $input = $slider.find('input[type="range"]'); + var isDisabled = $input[0].disabled; + var isDiscrete = $slider.hasClass('mdui-slider-discrete'); + // 禁用状态 + isDisabled + ? $slider.addClass('mdui-slider-disabled') + : $slider.removeClass('mdui-slider-disabled'); + // 重新填充 HTML + $slider.find('.mdui-slider-track').remove(); + $slider.find('.mdui-slider-fill').remove(); + $slider.find('.mdui-slider-thumb').remove(); + $slider.append($track).append($fill).append($thumb); + // 间续型滑块 + var $thumbText = $(); + if (isDiscrete) { + $thumbText = $(''); + $thumb.empty().append($thumbText); + } + $slider.data('_slider_$track', $track); + $slider.data('_slider_$fill', $fill); + $slider.data('_slider_$thumb', $thumb); + $slider.data('_slider_$input', $input); + $slider.data('_slider_min', $input.attr('min')); + $slider.data('_slider_max', $input.attr('max')); + $slider.data('_slider_disabled', isDisabled); + $slider.data('_slider_discrete', isDiscrete); + $slider.data('_slider_$thumbText', $thumbText); + // 设置默认值 + updateValueStyle($slider); + } + var rangeSelector = '.mdui-slider input[type="range"]'; + $(function () { + // 滑块滑动事件 + $document.on('input change', rangeSelector, function () { + var $slider = $(this).parent(); + updateValueStyle($slider); + }); + // 开始触摸滑块事件 + $document.on(startEvent, rangeSelector, function (event) { + if (!isAllow(event)) { + return; + } + register(event); + if (this.disabled) { + return; + } + var $slider = $(this).parent(); + $slider.addClass('mdui-slider-focus'); + }); + // 结束触摸滑块事件 + $document.on(endEvent, rangeSelector, function (event) { + if (!isAllow(event)) { + return; + } + if (this.disabled) { + return; + } + var $slider = $(this).parent(); + $slider.removeClass('mdui-slider-focus'); + }); + $document.on(unlockEvent, rangeSelector, register); + /** + * 初始化滑块 + */ + mdui.mutation('.mdui-slider', function () { + reInit($(this)); + }); + }); + mdui.updateSliders = function (selector) { + var $elements = isUndefined(selector) ? $('.mdui-slider') : $(selector); + $elements.each(function (_, element) { + reInit($(element)); + }); + }; + + var DEFAULT_OPTIONS$2 = { + trigger: 'hover', + }; + var Fab = function Fab(selector, options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$2); + /** + * 当前 fab 的状态 + */ + this.state = 'closed'; + this.$element = $(selector).first(); + extend(this.options, options); + this.$btn = this.$element.find('.mdui-fab'); + this.$dial = this.$element.find('.mdui-fab-dial'); + this.$dialBtns = this.$dial.find('.mdui-fab'); + if (this.options.trigger === 'hover') { + this.$btn.on('touchstart mouseenter', function () { return this$1.open(); }); + this.$element.on('mouseleave', function () { return this$1.close(); }); + } + if (this.options.trigger === 'click') { + this.$btn.on(startEvent, function () { return this$1.open(); }); + } + // 触摸屏幕其他地方关闭快速拨号 + $document.on(startEvent, function (event) { + if ($(event.target).parents('.mdui-fab-wrapper').length) { + return; + } + this$1.close(); + }); + }; + /** + * 触发组件事件 + * @param name + */ + Fab.prototype.triggerEvent = function triggerEvent (name) { + componentEvent(name, 'fab', this.$element, this); + }; + /** + * 当前是否为打开状态 + */ + Fab.prototype.isOpen = function isOpen () { + return this.state === 'opening' || this.state === 'opened'; + }; + /** + * 打开快速拨号菜单 + */ + Fab.prototype.open = function open () { + var this$1 = this; + + if (this.isOpen()) { + return; + } + // 为菜单中的按钮添加不同的 transition-delay + this.$dialBtns.each(function (index, btn) { + var delay = (15 * (this$1.$dialBtns.length - index)) + "ms"; + btn.style.transitionDelay = delay; + btn.style.webkitTransitionDelay = delay; + }); + this.$dial.css('height', 'auto').addClass('mdui-fab-dial-show'); + // 如果按钮中存在 .mdui-fab-opened 的图标,则进行图标切换 + if (this.$btn.find('.mdui-fab-opened').length) { + this.$btn.addClass('mdui-fab-opened'); + } + this.state = 'opening'; + this.triggerEvent('open'); + // 打开顺序为从下到上逐个打开,最上面的打开后才表示动画完成 + this.$dialBtns.first().transitionEnd(function () { + if (this$1.$btn.hasClass('mdui-fab-opened')) { + this$1.state = 'opened'; + this$1.triggerEvent('opened'); + } + }); + }; + /** + * 关闭快速拨号菜单 + */ + Fab.prototype.close = function close () { + var this$1 = this; + + if (!this.isOpen()) { + return; + } + // 为菜单中的按钮添加不同的 transition-delay + this.$dialBtns.each(function (index, btn) { + var delay = (15 * index) + "ms"; + btn.style.transitionDelay = delay; + btn.style.webkitTransitionDelay = delay; + }); + this.$dial.removeClass('mdui-fab-dial-show'); + this.$btn.removeClass('mdui-fab-opened'); + this.state = 'closing'; + this.triggerEvent('close'); + // 从上往下依次关闭,最后一个关闭后才表示动画完成 + this.$dialBtns.last().transitionEnd(function () { + if (this$1.$btn.hasClass('mdui-fab-opened')) { + return; + } + this$1.state = 'closed'; + this$1.triggerEvent('closed'); + this$1.$dial.css('height', 0); + }); + }; + /** + * 切换快速拨号菜单的打开状态 + */ + Fab.prototype.toggle = function toggle () { + this.isOpen() ? this.close() : this.open(); + }; + /** + * 以动画的形式显示整个浮动操作按钮 + */ + Fab.prototype.show = function show () { + this.$element.removeClass('mdui-fab-hide'); + }; + /** + * 以动画的形式隐藏整个浮动操作按钮 + */ + Fab.prototype.hide = function hide () { + this.$element.addClass('mdui-fab-hide'); + }; + /** + * 返回当前快速拨号菜单的打开状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + Fab.prototype.getState = function getState () { + return this.state; + }; + mdui.Fab = Fab; + + var customAttr$3 = 'mdui-fab'; + $(function () { + // mouseenter 不冒泡,无法进行事件委托,这里用 mouseover 代替。 + // 不管是 click 、 mouseover 还是 touchstart ,都先初始化。 + $document.on('touchstart mousedown mouseover', ("[" + customAttr$3 + "]"), function () { + new mdui.Fab(this, parseOptions(this, customAttr$3)); + }); + }); + + /** + * 最终生成的元素结构为: + * + *
              // $element + * State 1 // $selected + *
              // $menu + *
              State 1
              // $items + *
              State 2
              + *
              State 3
              + *
              + *
              + */ + var DEFAULT_OPTIONS$3 = { + position: 'auto', + gutter: 16, + }; + var Select = function Select(selector, options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + /** + * 生成的 `
              ` 元素的 JQ 对象 + */ + this.$element = $(); + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$3); + /** + * select 的 size 属性的值,根据该值设置 select 的高度 + */ + this.size = 0; + /** + * 占位元素,显示已选中菜单项的文本 + */ + this.$selected = $(); + /** + * 菜单项的外层元素的 JQ 对象 + */ + this.$menu = $(); + /** + * 菜单项数组的 JQ 对象 + */ + this.$items = $(); + /** + * 当前选中的菜单项的索引号 + */ + this.selectedIndex = 0; + /** + * 当前选中菜单项的文本 + */ + this.selectedText = ''; + /** + * 当前选中菜单项的值 + */ + this.selectedValue = ''; + /** + * 当前 select 的状态 + */ + this.state = 'closed'; + this.$native = $(selector).first(); + this.$native.hide(); + extend(this.options, options); + // 为当前 select 生成唯一 ID + this.uniqueID = $.guid(); + // 生成 select + this.handleUpdate(); + // 点击 select 外面区域关闭 + $document.on('click touchstart', function (event) { + var $target = $(event.target); + if (this$1.isOpen() && + !$target.is(this$1.$element) && + !contains(this$1.$element[0], $target[0])) { + this$1.close(); + } + }); + }; + /** + * 调整菜单位置 + */ + Select.prototype.readjustMenu = function readjustMenu () { + var windowHeight = $window.height(); + // mdui-select 高度 + var elementHeight = this.$element.height(); + // 菜单项高度 + var $itemFirst = this.$items.first(); + var itemHeight = $itemFirst.height(); + var itemMargin = parseInt($itemFirst.css('margin-top')); + // 菜单高度 + var menuWidth = this.$element.innerWidth() + 0.01; // 必须比真实宽度多一点,不然会出现省略号 + var menuHeight = itemHeight * this.size + itemMargin * 2; + // mdui-select 在窗口中的位置 + var elementTop = this.$element[0].getBoundingClientRect().top; + var transformOriginY; + var menuMarginTop; + if (this.options.position === 'bottom') { + menuMarginTop = elementHeight; + transformOriginY = '0px'; + } + else if (this.options.position === 'top') { + menuMarginTop = -menuHeight - 1; + transformOriginY = '100%'; + } + else { + // 菜单高度不能超过窗口高度 + var menuMaxHeight = windowHeight - this.options.gutter * 2; + if (menuHeight > menuMaxHeight) { + menuHeight = menuMaxHeight; + } + // 菜单的 margin-top + menuMarginTop = -(itemMargin + + this.selectedIndex * itemHeight + + (itemHeight - elementHeight) / 2); + var menuMaxMarginTop = -(itemMargin + + (this.size - 1) * itemHeight + + (itemHeight - elementHeight) / 2); + if (menuMarginTop < menuMaxMarginTop) { + menuMarginTop = menuMaxMarginTop; + } + // 菜单不能超出窗口 + var menuTop = elementTop + menuMarginTop; + if (menuTop < this.options.gutter) { + // 不能超出窗口上方 + menuMarginTop = -(elementTop - this.options.gutter); + } + else if (menuTop + menuHeight + this.options.gutter > windowHeight) { + // 不能超出窗口下方 + menuMarginTop = -(elementTop + + menuHeight + + this.options.gutter - + windowHeight); + } + // transform 的 Y 轴坐标 + transformOriginY = (this.selectedIndex * itemHeight + itemHeight / 2 + itemMargin) + "px"; + } + // 设置样式 + this.$element.innerWidth(menuWidth); + this.$menu + .innerWidth(menuWidth) + .height(menuHeight) + .css({ + 'margin-top': menuMarginTop + 'px', + 'transform-origin': 'center ' + transformOriginY + ' 0', + }); + }; + /** + * select 是否为打开状态 + */ + Select.prototype.isOpen = function isOpen () { + return this.state === 'opening' || this.state === 'opened'; + }; + /** + * 对原生 select 组件进行了修改后,需要调用该方法 + */ + Select.prototype.handleUpdate = function handleUpdate () { + var this$1 = this; + + if (this.isOpen()) { + this.close(); + } + this.selectedValue = this.$native.val(); + var itemsData = []; + this.$items = $(); + // 生成 HTML + this.$native.find('option').each(function (index, option) { + var text = option.textContent || ''; + var value = option.value; + var disabled = option.disabled; + var selected = this$1.selectedValue === value; + itemsData.push({ + value: value, + text: text, + disabled: disabled, + selected: selected, + index: index, + }); + if (selected) { + this$1.selectedText = text; + this$1.selectedIndex = index; + } + this$1.$items = this$1.$items.add('
              " + text + "
              "); + }); + this.$selected = $(("" + (this.selectedText) + "")); + this.$element = $("
              ") + .show() + .append(this.$selected); + this.$menu = $('
              ') + .appendTo(this.$element) + .append(this.$items); + $(("#" + (this.uniqueID))).remove(); + this.$native.after(this.$element); + // 根据 select 的 size 属性设置高度 + this.size = parseInt(this.$native.attr('size') || '0'); + if (this.size <= 0) { + this.size = this.$items.length; + if (this.size > 8) { + this.size = 8; + } + } + // 点击选项时关闭下拉菜单 + // eslint-disable-next-line @typescript-eslint/no-this-alias + var that = this; + this.$items.on('click', function () { + if (that.state === 'closing') { + return; + } + var $item = $(this); + var index = $item.index(); + var data = itemsData[index]; + if (data.disabled) { + return; + } + that.$selected.text(data.text); + that.$native.val(data.value); + that.$items.removeAttr('selected'); + $item.attr('selected', ''); + that.selectedIndex = data.index; + that.selectedValue = data.value; + that.selectedText = data.text; + that.$native.trigger('change'); + that.close(); + }); + // 点击 $element 时打开下拉菜单 + this.$element.on('click', function (event) { + var $target = $(event.target); + // 在菜单上点击时不打开 + if ($target.is('.mdui-select-menu') || + $target.is('.mdui-select-menu-item')) { + return; + } + this$1.toggle(); + }); + }; + /** + * 动画结束的回调 + */ + Select.prototype.transitionEnd = function transitionEnd () { + this.$element.removeClass('mdui-select-closing'); + if (this.state === 'opening') { + this.state = 'opened'; + this.triggerEvent('opened'); + this.$menu.css('overflow-y', 'auto'); + } + if (this.state === 'closing') { + this.state = 'closed'; + this.triggerEvent('closed'); + // 恢复样式 + this.$element.innerWidth(''); + this.$menu.css({ + 'margin-top': '', + height: '', + width: '', + }); + } + }; + /** + * 触发组件事件 + * @param name + */ + Select.prototype.triggerEvent = function triggerEvent (name) { + componentEvent(name, 'select', this.$native, this); + }; + /** + * 切换下拉菜单的打开状态 + */ + Select.prototype.toggle = function toggle () { + this.isOpen() ? this.close() : this.open(); + }; + /** + * 打开下拉菜单 + */ + Select.prototype.open = function open () { + var this$1 = this; + + if (this.isOpen()) { + return; + } + this.state = 'opening'; + this.triggerEvent('open'); + this.readjustMenu(); + this.$element.addClass('mdui-select-open'); + this.$menu.transitionEnd(function () { return this$1.transitionEnd(); }); + }; + /** + * 关闭下拉菜单 + */ + Select.prototype.close = function close () { + var this$1 = this; + + if (!this.isOpen()) { + return; + } + this.state = 'closing'; + this.triggerEvent('close'); + this.$menu.css('overflow-y', ''); + this.$element + .removeClass('mdui-select-open') + .addClass('mdui-select-closing'); + this.$menu.transitionEnd(function () { return this$1.transitionEnd(); }); + }; + /** + * 获取当前菜单的状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + Select.prototype.getState = function getState () { + return this.state; + }; + mdui.Select = Select; + + var customAttr$4 = 'mdui-select'; + $(function () { + mdui.mutation(("[" + customAttr$4 + "]"), function () { + new mdui.Select(this, parseOptions(this, customAttr$4)); + }); + }); + + $(function () { + // 滚动时隐藏应用栏 + mdui.mutation('.mdui-appbar-scroll-hide', function () { + new mdui.Headroom(this); + }); + // 滚动时只隐藏应用栏中的工具栏 + mdui.mutation('.mdui-appbar-scroll-toolbar-hide', function () { + new mdui.Headroom(this, { + pinnedClass: 'mdui-headroom-pinned-toolbar', + unpinnedClass: 'mdui-headroom-unpinned-toolbar', + }); + }); + }); + + var DEFAULT_OPTIONS$4 = { + trigger: 'click', + loop: false, + }; + var Tab = function Tab(selector, options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$4); + /** + * 当前激活的 tab 的索引号。为 -1 时表示没有激活的选项卡,或不存在选项卡 + */ + this.activeIndex = -1; + this.$element = $(selector).first(); + extend(this.options, options); + this.$tabs = this.$element.children('a'); + this.$indicator = $('
              ').appendTo(this.$element); + // 根据 url hash 获取默认激活的选项卡 + var hash = window.location.hash; + if (hash) { + this.$tabs.each(function (index, tab) { + if ($(tab).attr('href') === hash) { + this$1.activeIndex = index; + return false; + } + return true; + }); + } + // 含 .mdui-tab-active 的元素默认激活 + if (this.activeIndex === -1) { + this.$tabs.each(function (index, tab) { + if ($(tab).hasClass('mdui-tab-active')) { + this$1.activeIndex = index; + return false; + } + return true; + }); + } + // 存在选项卡时,默认激活第一个选项卡 + if (this.$tabs.length && this.activeIndex === -1) { + this.activeIndex = 0; + } + // 设置激活状态选项卡 + this.setActive(); + // 监听窗口大小变化事件,调整指示器位置 + $window.on('resize', $.throttle(function () { return this$1.setIndicatorPosition(); }, 100)); + // 监听点击选项卡事件 + this.$tabs.each(function (_, tab) { + this$1.bindTabEvent(tab); + }); + }; + /** + * 指定选项卡是否已禁用 + * @param $tab + */ + Tab.prototype.isDisabled = function isDisabled ($tab) { + return $tab.attr('disabled') !== undefined; + }; + /** + * 绑定在 Tab 上点击或悬浮的事件 + * @param tab + */ + Tab.prototype.bindTabEvent = function bindTabEvent (tab) { + var this$1 = this; + + var $tab = $(tab); + // 点击或鼠标移入触发的事件 + var clickEvent = function () { + // 禁用状态的选项卡无法选中 + if (this$1.isDisabled($tab)) { + return false; + } + this$1.activeIndex = this$1.$tabs.index(tab); + this$1.setActive(); + }; + // 无论 trigger 是 click 还是 hover,都会响应 click 事件 + $tab.on('click', clickEvent); + // trigger 为 hover 时,额外响应 mouseenter 事件 + if (this.options.trigger === 'hover') { + $tab.on('mouseenter', clickEvent); + } + // 阻止链接的默认点击动作 + $tab.on('click', function () { + if (($tab.attr('href') || '').indexOf('#') === 0) { + return false; + } + }); + }; + /** + * 触发组件事件 + * @param name + * @param $element + * @param parameters + */ + Tab.prototype.triggerEvent = function triggerEvent (name, $element, parameters) { + if ( parameters === void 0 ) parameters = {}; + + componentEvent(name, 'tab', $element, this, parameters); + }; + /** + * 设置激活状态的选项卡 + */ + Tab.prototype.setActive = function setActive () { + var this$1 = this; + + this.$tabs.each(function (index, tab) { + var $tab = $(tab); + var targetId = $tab.attr('href') || ''; + // 设置选项卡激活状态 + if (index === this$1.activeIndex && !this$1.isDisabled($tab)) { + if (!$tab.hasClass('mdui-tab-active')) { + this$1.triggerEvent('change', this$1.$element, { + index: this$1.activeIndex, + id: targetId.substr(1), + }); + this$1.triggerEvent('show', $tab); + $tab.addClass('mdui-tab-active'); + } + $(targetId).show(); + this$1.setIndicatorPosition(); + } + else { + $tab.removeClass('mdui-tab-active'); + $(targetId).hide(); + } + }); + }; + /** + * 设置选项卡指示器的位置 + */ + Tab.prototype.setIndicatorPosition = function setIndicatorPosition () { + // 选项卡数量为 0 时,不显示指示器 + if (this.activeIndex === -1) { + this.$indicator.css({ + left: 0, + width: 0, + }); + return; + } + var $activeTab = this.$tabs.eq(this.activeIndex); + if (this.isDisabled($activeTab)) { + return; + } + var activeTabOffset = $activeTab.offset(); + this.$indicator.css({ + left: ((activeTabOffset.left + + this.$element[0].scrollLeft - + this.$element[0].getBoundingClientRect().left) + "px"), + width: (($activeTab.innerWidth()) + "px"), + }); + }; + /** + * 切换到下一个选项卡 + */ + Tab.prototype.next = function next () { + if (this.activeIndex === -1) { + return; + } + if (this.$tabs.length > this.activeIndex + 1) { + this.activeIndex++; + } + else if (this.options.loop) { + this.activeIndex = 0; + } + this.setActive(); + }; + /** + * 切换到上一个选项卡 + */ + Tab.prototype.prev = function prev () { + if (this.activeIndex === -1) { + return; + } + if (this.activeIndex > 0) { + this.activeIndex--; + } + else if (this.options.loop) { + this.activeIndex = this.$tabs.length - 1; + } + this.setActive(); + }; + /** + * 显示指定索引号、或指定id的选项卡 + * @param index 索引号、或id + */ + Tab.prototype.show = function show (index) { + var this$1 = this; + + if (this.activeIndex === -1) { + return; + } + if (isNumber(index)) { + this.activeIndex = index; + } + else { + this.$tabs.each(function (i, tab) { + if (tab.id === index) { + this$1.activeIndex === i; + return false; + } + }); + } + this.setActive(); + }; + /** + * 在父元素的宽度变化时,需要调用该方法重新调整指示器位置 + * 在添加或删除选项卡时,需要调用该方法 + */ + Tab.prototype.handleUpdate = function handleUpdate () { + var this$1 = this; + + var $oldTabs = this.$tabs; // 旧的 tabs JQ对象 + var $newTabs = this.$element.children('a'); // 新的 tabs JQ对象 + var oldTabsElement = $oldTabs.get(); // 旧的 tabs 元素数组 + var newTabsElement = $newTabs.get(); // 新的 tabs 元素数组 + if (!$newTabs.length) { + this.activeIndex = -1; + this.$tabs = $newTabs; + this.setIndicatorPosition(); + return; + } + // 重新遍历选项卡,找出新增的选项卡 + $newTabs.each(function (index, tab) { + // 有新增的选项卡 + if (oldTabsElement.indexOf(tab) < 0) { + this$1.bindTabEvent(tab); + if (this$1.activeIndex === -1) { + this$1.activeIndex = 0; + } + else if (index <= this$1.activeIndex) { + this$1.activeIndex++; + } + } + }); + // 找出被移除的选项卡 + $oldTabs.each(function (index, tab) { + // 有被移除的选项卡 + if (newTabsElement.indexOf(tab) < 0) { + if (index < this$1.activeIndex) { + this$1.activeIndex--; + } + else if (index === this$1.activeIndex) { + this$1.activeIndex = 0; + } + } + }); + this.$tabs = $newTabs; + this.setActive(); + }; + mdui.Tab = Tab; + + var customAttr$5 = 'mdui-tab'; + $(function () { + mdui.mutation(("[" + customAttr$5 + "]"), function () { + new mdui.Tab(this, parseOptions(this, customAttr$5)); + }); + }); + + /** + * 在桌面设备上默认显示抽屉栏,不显示遮罩层 + * 在手机和平板设备上默认不显示抽屉栏,始终显示遮罩层,且覆盖导航栏 + */ + var DEFAULT_OPTIONS$5 = { + overlay: false, + swipe: false, + }; + var Drawer = function Drawer(selector, options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$5); + /** + * 当前是否显示着遮罩层 + */ + this.overlay = false; + this.$element = $(selector).first(); + extend(this.options, options); + this.position = this.$element.hasClass('mdui-drawer-right') + ? 'right' + : 'left'; + if (this.$element.hasClass('mdui-drawer-close')) { + this.state = 'closed'; + } + else if (this.$element.hasClass('mdui-drawer-open')) { + this.state = 'opened'; + } + else if (this.isDesktop()) { + this.state = 'opened'; + } + else { + this.state = 'closed'; + } + // 浏览器窗口大小调整时 + $window.on('resize', $.throttle(function () { + if (this$1.isDesktop()) { + // 由手机平板切换到桌面时 + // 如果显示着遮罩,则隐藏遮罩 + if (this$1.overlay && !this$1.options.overlay) { + $.hideOverlay(); + this$1.overlay = false; + $.unlockScreen(); + } + // 没有强制关闭,则状态为打开状态 + if (!this$1.$element.hasClass('mdui-drawer-close')) { + this$1.state = 'opened'; + } + } + else if (!this$1.overlay && this$1.state === 'opened') { + // 由桌面切换到手机平板时。如果抽屉栏是打开着的且没有遮罩层,则关闭抽屉栏 + if (this$1.$element.hasClass('mdui-drawer-open')) { + $.showOverlay(); + this$1.overlay = true; + $.lockScreen(); + $('.mdui-overlay').one('click', function () { return this$1.close(); }); + } + else { + this$1.state = 'closed'; + } + } + }, 100)); + // 绑定关闭按钮事件 + this.$element.find('[mdui-drawer-close]').each(function (_, close) { + $(close).on('click', function () { return this$1.close(); }); + }); + this.swipeSupport(); + }; + /** + * 是否是桌面设备 + */ + Drawer.prototype.isDesktop = function isDesktop () { + return $window.width() >= 1024; + }; + /** + * 滑动手势支持 + */ + Drawer.prototype.swipeSupport = function swipeSupport () { + // eslint-disable-next-line @typescript-eslint/no-this-alias + var that = this; + // 抽屉栏滑动手势控制 + var openNavEventHandler; + var touchStartX; + var touchStartY; + var swipeStartX; + var swiping = null; + var maybeSwiping = false; + var $body = $('body'); + // 手势触发的范围 + var swipeAreaWidth = 24; + function setPosition(translateX) { + var rtlTranslateMultiplier = that.position === 'right' ? -1 : 1; + var transformCSS = "translate(" + (-1 * rtlTranslateMultiplier * translateX) + "px, 0) !important;"; + var transitionCSS = 'initial !important;'; + that.$element.css('cssText', ("transform: " + transformCSS + "; transition: " + transitionCSS + ";")); + } + function cleanPosition() { + that.$element[0].style.transform = ''; + that.$element[0].style.webkitTransform = ''; + that.$element[0].style.transition = ''; + that.$element[0].style.webkitTransition = ''; + } + function getMaxTranslateX() { + return that.$element.width() + 10; + } + function getTranslateX(currentX) { + return Math.min(Math.max(swiping === 'closing' + ? swipeStartX - currentX + : getMaxTranslateX() + swipeStartX - currentX, 0), getMaxTranslateX()); + } + function onBodyTouchEnd(event) { + if (swiping) { + var touchX = event.changedTouches[0].pageX; + if (that.position === 'right') { + touchX = $body.width() - touchX; + } + var translateRatio = getTranslateX(touchX) / getMaxTranslateX(); + maybeSwiping = false; + var swipingState = swiping; + swiping = null; + if (swipingState === 'opening') { + if (translateRatio < 0.92) { + cleanPosition(); + that.open(); + } + else { + cleanPosition(); + } + } + else { + if (translateRatio > 0.08) { + cleanPosition(); + that.close(); + } + else { + cleanPosition(); + } + } + $.unlockScreen(); + } + else { + maybeSwiping = false; + } + $body.off({ + // eslint-disable-next-line @typescript-eslint/no-use-before-define + touchmove: onBodyTouchMove, + touchend: onBodyTouchEnd, + // eslint-disable-next-line @typescript-eslint/no-use-before-define + touchcancel: onBodyTouchMove, + }); + } + function onBodyTouchMove(event) { + var touchX = event.touches[0].pageX; + if (that.position === 'right') { + touchX = $body.width() - touchX; + } + var touchY = event.touches[0].pageY; + if (swiping) { + setPosition(getTranslateX(touchX)); + } + else if (maybeSwiping) { + var dXAbs = Math.abs(touchX - touchStartX); + var dYAbs = Math.abs(touchY - touchStartY); + var threshold = 8; + if (dXAbs > threshold && dYAbs <= threshold) { + swipeStartX = touchX; + swiping = that.state === 'opened' ? 'closing' : 'opening'; + $.lockScreen(); + setPosition(getTranslateX(touchX)); + } + else if (dXAbs <= threshold && dYAbs > threshold) { + onBodyTouchEnd(); + } + } + } + function onBodyTouchStart(event) { + touchStartX = event.touches[0].pageX; + if (that.position === 'right') { + touchStartX = $body.width() - touchStartX; + } + touchStartY = event.touches[0].pageY; + if (that.state !== 'opened') { + if (touchStartX > swipeAreaWidth || + openNavEventHandler !== onBodyTouchStart) { + return; + } + } + maybeSwiping = true; + $body.on({ + touchmove: onBodyTouchMove, + touchend: onBodyTouchEnd, + touchcancel: onBodyTouchMove, + }); + } + function enableSwipeHandling() { + if (!openNavEventHandler) { + $body.on('touchstart', onBodyTouchStart); + openNavEventHandler = onBodyTouchStart; + } + } + if (this.options.swipe) { + enableSwipeHandling(); + } + }; + /** + * 触发组件事件 + * @param name + */ + Drawer.prototype.triggerEvent = function triggerEvent (name) { + componentEvent(name, 'drawer', this.$element, this); + }; + /** + * 动画结束回调 + */ + Drawer.prototype.transitionEnd = function transitionEnd () { + if (this.$element.hasClass('mdui-drawer-open')) { + this.state = 'opened'; + this.triggerEvent('opened'); + } + else { + this.state = 'closed'; + this.triggerEvent('closed'); + } + }; + /** + * 是否处于打开状态 + */ + Drawer.prototype.isOpen = function isOpen () { + return this.state === 'opening' || this.state === 'opened'; + }; + /** + * 打开抽屉栏 + */ + Drawer.prototype.open = function open () { + var this$1 = this; + + if (this.isOpen()) { + return; + } + this.state = 'opening'; + this.triggerEvent('open'); + if (!this.options.overlay) { + $('body').addClass(("mdui-drawer-body-" + (this.position))); + } + this.$element + .removeClass('mdui-drawer-close') + .addClass('mdui-drawer-open') + .transitionEnd(function () { return this$1.transitionEnd(); }); + if (!this.isDesktop() || this.options.overlay) { + this.overlay = true; + $.showOverlay().one('click', function () { return this$1.close(); }); + $.lockScreen(); + } + }; + /** + * 关闭抽屉栏 + */ + Drawer.prototype.close = function close () { + var this$1 = this; + + if (!this.isOpen()) { + return; + } + this.state = 'closing'; + this.triggerEvent('close'); + if (!this.options.overlay) { + $('body').removeClass(("mdui-drawer-body-" + (this.position))); + } + this.$element + .addClass('mdui-drawer-close') + .removeClass('mdui-drawer-open') + .transitionEnd(function () { return this$1.transitionEnd(); }); + if (this.overlay) { + $.hideOverlay(); + this.overlay = false; + $.unlockScreen(); + } + }; + /** + * 切换抽屉栏打开/关闭状态 + */ + Drawer.prototype.toggle = function toggle () { + this.isOpen() ? this.close() : this.open(); + }; + /** + * 返回当前抽屉栏的状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + Drawer.prototype.getState = function getState () { + return this.state; + }; + mdui.Drawer = Drawer; + + var customAttr$6 = 'mdui-drawer'; + $(function () { + mdui.mutation(("[" + customAttr$6 + "]"), function () { + var $element = $(this); + var options = parseOptions(this, customAttr$6); + var selector = options.target; + // @ts-ignore + delete options.target; + var $drawer = $(selector).first(); + var instance = new mdui.Drawer($drawer, options); + $element.on('click', function () { return instance.toggle(); }); + }); + }); + + var container = {}; + function queue(name, func) { + if (isUndefined(container[name])) { + container[name] = []; + } + if (isUndefined(func)) { + return container[name]; + } + container[name].push(func); + } + /** + * 从队列中移除第一个函数,并执行该函数 + * @param name 队列满 + */ + function dequeue(name) { + if (isUndefined(container[name])) { + return; + } + if (!container[name].length) { + return; + } + var func = container[name].shift(); + func(); + } + + var DEFAULT_OPTIONS$6 = { + history: true, + overlay: true, + modal: false, + closeOnEsc: true, + closeOnCancel: true, + closeOnConfirm: true, + destroyOnClosed: false, + }; + /** + * 当前显示的对话框实例 + */ + var currentInst = null; + /** + * 队列名 + */ + var queueName = '_mdui_dialog'; + /** + * 窗口是否已锁定 + */ + var isLockScreen = false; + /** + * 遮罩层元素 + */ + var $overlay; + var Dialog = function Dialog(selector, options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$6); + /** + * 当前 dialog 的状态 + */ + this.state = 'closed'; + /** + * dialog 元素是否是动态添加的 + */ + this.append = false; + this.$element = $(selector).first(); + // 如果对话框元素没有在当前文档中,则需要添加 + if (!contains(document.body, this.$element[0])) { + this.append = true; + $('body').append(this.$element); + } + extend(this.options, options); + // 绑定取消按钮事件 + this.$element.find('[mdui-dialog-cancel]').each(function (_, cancel) { + $(cancel).on('click', function () { + this$1.triggerEvent('cancel'); + if (this$1.options.closeOnCancel) { + this$1.close(); + } + }); + }); + // 绑定确认按钮事件 + this.$element.find('[mdui-dialog-confirm]').each(function (_, confirm) { + $(confirm).on('click', function () { + this$1.triggerEvent('confirm'); + if (this$1.options.closeOnConfirm) { + this$1.close(); + } + }); + }); + // 绑定关闭按钮事件 + this.$element.find('[mdui-dialog-close]').each(function (_, close) { + $(close).on('click', function () { return this$1.close(); }); + }); + }; + /** + * 触发组件事件 + * @param name + */ + Dialog.prototype.triggerEvent = function triggerEvent (name) { + componentEvent(name, 'dialog', this.$element, this); + }; + /** + * 窗口宽度变化,或对话框内容变化时,调整对话框位置和对话框内的滚动条 + */ + Dialog.prototype.readjust = function readjust () { + if (!currentInst) { + return; + } + var $element = currentInst.$element; + var $title = $element.children('.mdui-dialog-title'); + var $content = $element.children('.mdui-dialog-content'); + var $actions = $element.children('.mdui-dialog-actions'); + // 调整 dialog 的 top 和 height 值 + $element.height(''); + $content.height(''); + var elementHeight = $element.height(); + $element.css({ + top: ((($window.height() - elementHeight) / 2) + "px"), + height: (elementHeight + "px"), + }); + // 调整 mdui-dialog-content 的高度 + $content.innerHeight(elementHeight - + ($title.innerHeight() || 0) - + ($actions.innerHeight() || 0)); + }; + /** + * hashchange 事件触发时关闭对话框 + */ + Dialog.prototype.hashchangeEvent = function hashchangeEvent () { + if (window.location.hash.substring(1).indexOf('mdui-dialog') < 0) { + currentInst.close(true); + } + }; + /** + * 点击遮罩层关闭对话框 + * @param event + */ + Dialog.prototype.overlayClick = function overlayClick (event) { + if ($(event.target).hasClass('mdui-overlay') && + currentInst) { + currentInst.close(); + } + }; + /** + * 动画结束回调 + */ + Dialog.prototype.transitionEnd = function transitionEnd () { + if (this.$element.hasClass('mdui-dialog-open')) { + this.state = 'opened'; + this.triggerEvent('opened'); + } + else { + this.state = 'closed'; + this.triggerEvent('closed'); + this.$element.hide(); + // 所有对话框都关闭,且当前没有打开的对话框时,解锁屏幕 + if (!queue(queueName).length && !currentInst && isLockScreen) { + $.unlockScreen(); + isLockScreen = false; + } + $window.off('resize', $.throttle(this.readjust, 100)); + if (this.options.destroyOnClosed) { + this.destroy(); + } + } + }; + /** + * 打开指定对话框 + */ + Dialog.prototype.doOpen = function doOpen () { + var this$1 = this; + + currentInst = this; + if (!isLockScreen) { + $.lockScreen(); + isLockScreen = true; + } + this.$element.show(); + this.readjust(); + $window.on('resize', $.throttle(this.readjust, 100)); + // 打开消息框 + this.state = 'opening'; + this.triggerEvent('open'); + this.$element + .addClass('mdui-dialog-open') + .transitionEnd(function () { return this$1.transitionEnd(); }); + // 不存在遮罩层元素时,添加遮罩层 + if (!$overlay) { + $overlay = $.showOverlay(5100); + } + // 点击遮罩层时是否关闭对话框 + if (this.options.modal) { + $overlay.off('click', this.overlayClick); + } + else { + $overlay.on('click', this.overlayClick); + } + // 是否显示遮罩层,不显示时,把遮罩层背景透明 + $overlay.css('opacity', this.options.overlay ? '' : 0); + if (this.options.history) { + // 如果 hash 中原来就有 mdui-dialog,先删除,避免后退历史纪录后仍然有 mdui-dialog 导致无法关闭 + // 包括 mdui-dialog 和 &mdui-dialog 和 ?mdui-dialog + var hash = window.location.hash.substring(1); + if (hash.indexOf('mdui-dialog') > -1) { + hash = hash.replace(/[&?]?mdui-dialog/g, ''); + } + // 后退按钮关闭对话框 + if (hash) { + window.location.hash = "" + hash + (hash.indexOf('?') > -1 ? '&' : '?') + "mdui-dialog"; + } + else { + window.location.hash = 'mdui-dialog'; + } + $window.on('hashchange', this.hashchangeEvent); + } + }; + /** + * 当前对话框是否为打开状态 + */ + Dialog.prototype.isOpen = function isOpen () { + return this.state === 'opening' || this.state === 'opened'; + }; + /** + * 打开对话框 + */ + Dialog.prototype.open = function open () { + var this$1 = this; + + if (this.isOpen()) { + return; + } + // 如果当前有正在打开或已经打开的对话框,或队列不为空,则先加入队列,等旧对话框开始关闭时再打开 + if ((currentInst && + (currentInst.state === 'opening' || currentInst.state === 'opened')) || + queue(queueName).length) { + queue(queueName, function () { return this$1.doOpen(); }); + return; + } + this.doOpen(); + }; + /** + * 关闭对话框 + */ + Dialog.prototype.close = function close (historyBack) { + var this$1 = this; + if ( historyBack === void 0 ) historyBack = false; + + // historyBack 是否需要后退历史纪录,默认为 `false`。该参数仅内部使用 + // 为 `false` 时是通过 js 关闭,需要后退一个历史记录 + // 为 `true` 时是通过后退按钮关闭,不需要后退历史记录 + // setTimeout 的作用是: + // 当同时关闭一个对话框,并打开另一个对话框时,使打开对话框的操作先执行,以使需要打开的对话框先加入队列 + setTimeout(function () { + if (!this$1.isOpen()) { + return; + } + currentInst = null; + this$1.state = 'closing'; + this$1.triggerEvent('close'); + // 所有对话框都关闭,且当前没有打开的对话框时,隐藏遮罩 + if (!queue(queueName).length && $overlay) { + $.hideOverlay(); + $overlay = null; + // 若仍存在遮罩,恢复遮罩的 z-index + $('.mdui-overlay').css('z-index', 2000); + } + this$1.$element + .removeClass('mdui-dialog-open') + .transitionEnd(function () { return this$1.transitionEnd(); }); + if (this$1.options.history && !queue(queueName).length) { + if (!historyBack) { + window.history.back(); + } + $window.off('hashchange', this$1.hashchangeEvent); + } + // 关闭旧对话框,打开新对话框。 + // 加一点延迟,仅仅为了视觉效果更好。不加延时也不影响功能 + setTimeout(function () { + dequeue(queueName); + }, 100); + }); + }; + /** + * 切换对话框打开/关闭状态 + */ + Dialog.prototype.toggle = function toggle () { + this.isOpen() ? this.close() : this.open(); + }; + /** + * 获取对话框状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + Dialog.prototype.getState = function getState () { + return this.state; + }; + /** + * 销毁对话框 + */ + Dialog.prototype.destroy = function destroy () { + if (this.append) { + this.$element.remove(); + } + if (!queue(queueName).length && !currentInst) { + if ($overlay) { + $.hideOverlay(); + $overlay = null; + } + if (isLockScreen) { + $.unlockScreen(); + isLockScreen = false; + } + } + }; + /** + * 对话框内容变化时,需要调用该方法来调整对话框位置和滚动条高度 + */ + Dialog.prototype.handleUpdate = function handleUpdate () { + this.readjust(); + }; + + // esc 按下时关闭对话框 + $document.on('keydown', function (event) { + if (currentInst && + currentInst.options.closeOnEsc && + currentInst.state === 'opened' && + event.keyCode === 27) { + currentInst.close(); + } + }); + mdui.Dialog = Dialog; + + var customAttr$7 = 'mdui-dialog'; + var dataName$1 = '_mdui_dialog'; + $(function () { + $document.on('click', ("[" + customAttr$7 + "]"), function () { + var options = parseOptions(this, customAttr$7); + var selector = options.target; + // @ts-ignore + delete options.target; + var $dialog = $(selector).first(); + var instance = $dialog.data(dataName$1); + if (!instance) { + instance = new mdui.Dialog($dialog, options); + $dialog.data(dataName$1, instance); + } + instance.open(); + }); + }); + + var DEFAULT_BUTTON = { + text: '', + bold: false, + close: true, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClick: function () { }, + }; + var DEFAULT_OPTIONS$7 = { + title: '', + content: '', + buttons: [], + stackedButtons: false, + cssClass: '', + history: true, + overlay: true, + modal: false, + closeOnEsc: true, + destroyOnClosed: true, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onOpen: function () { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onOpened: function () { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClose: function () { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClosed: function () { }, + }; + mdui.dialog = function (options) { + var _a, _b; + // 合并配置参数 + options = extend({}, DEFAULT_OPTIONS$7, options); + each(options.buttons, function (i, button) { + options.buttons[i] = extend({}, DEFAULT_BUTTON, button); + }); + // 按钮的 HTML + var buttonsHTML = ''; + if ((_a = options.buttons) === null || _a === void 0 ? void 0 : _a.length) { + buttonsHTML = "
              "; + each(options.buttons, function (_, button) { + buttonsHTML += + '" + (button.text) + ""; + }); + buttonsHTML += '
              '; + } + // Dialog 的 HTML + var HTML = "
              " + + (options.title + ? ("
              " + (options.title) + "
              ") + : '') + + (options.content + ? ("
              " + (options.content) + "
              ") + : '') + + buttonsHTML + + '
              '; + // 实例化 Dialog + var instance = new mdui.Dialog(HTML, { + history: options.history, + overlay: options.overlay, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + destroyOnClosed: options.destroyOnClosed, + }); + // 绑定按钮事件 + if ((_b = options.buttons) === null || _b === void 0 ? void 0 : _b.length) { + instance.$element + .find('.mdui-dialog-actions .mdui-btn') + .each(function (index, button) { + $(button).on('click', function () { + options.buttons[index].onClick(instance); + if (options.buttons[index].close) { + instance.close(); + } + }); + }); + } + // 绑定打开关闭事件 + instance.$element + .on('open.mdui.dialog', function () { + options.onOpen(instance); + }) + .on('opened.mdui.dialog', function () { + options.onOpened(instance); + }) + .on('close.mdui.dialog', function () { + options.onClose(instance); + }) + .on('closed.mdui.dialog', function () { + options.onClosed(instance); + }); + instance.open(); + return instance; + }; + + var DEFAULT_OPTIONS$8 = { + confirmText: 'ok', + history: true, + modal: false, + closeOnEsc: true, + closeOnConfirm: true, + }; + mdui.alert = function (text, title, onConfirm, options) { + if (isFunction(title)) { + options = onConfirm; + onConfirm = title; + title = ''; + } + if (isUndefined(onConfirm)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onConfirm = function () { }; + } + if (isUndefined(options)) { + options = {}; + } + options = extend({}, DEFAULT_OPTIONS$8, options); + return mdui.dialog({ + title: title, + content: text, + buttons: [ + { + text: options.confirmText, + bold: false, + close: options.closeOnConfirm, + onClick: onConfirm, + } ], + cssClass: 'mdui-dialog-alert', + history: options.history, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + }); + }; + + var DEFAULT_OPTIONS$9 = { + confirmText: 'ok', + cancelText: 'cancel', + history: true, + modal: false, + closeOnEsc: true, + closeOnCancel: true, + closeOnConfirm: true, + }; + mdui.confirm = function (text, title, onConfirm, onCancel, options) { + if (isFunction(title)) { + options = onCancel; + onCancel = onConfirm; + onConfirm = title; + title = ''; + } + if (isUndefined(onConfirm)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onConfirm = function () { }; + } + if (isUndefined(onCancel)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onCancel = function () { }; + } + if (isUndefined(options)) { + options = {}; + } + options = extend({}, DEFAULT_OPTIONS$9, options); + return mdui.dialog({ + title: title, + content: text, + buttons: [ + { + text: options.cancelText, + bold: false, + close: options.closeOnCancel, + onClick: onCancel, + }, + { + text: options.confirmText, + bold: false, + close: options.closeOnConfirm, + onClick: onConfirm, + } ], + cssClass: 'mdui-dialog-confirm', + history: options.history, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + }); + }; + + var DEFAULT_OPTIONS$a = { + confirmText: 'ok', + cancelText: 'cancel', + history: true, + modal: false, + closeOnEsc: true, + closeOnCancel: true, + closeOnConfirm: true, + type: 'text', + maxlength: 0, + defaultValue: '', + confirmOnEnter: false, + }; + mdui.prompt = function (label, title, onConfirm, onCancel, options) { + if (isFunction(title)) { + options = onCancel; + onCancel = onConfirm; + onConfirm = title; + title = ''; + } + if (isUndefined(onConfirm)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onConfirm = function () { }; + } + if (isUndefined(onCancel)) { + // eslint-disable-next-line @typescript-eslint/no-empty-function + onCancel = function () { }; + } + if (isUndefined(options)) { + options = {}; + } + options = extend({}, DEFAULT_OPTIONS$a, options); + var content = '
              ' + + (label ? ("") : '') + + (options.type === 'text' + ? ("") + : '') + + (options.type === 'textarea' + ? ("") + : '') + + '
              '; + var onCancelClick = function (dialog) { + var value = dialog.$element.find('.mdui-textfield-input').val(); + onCancel(value, dialog); + }; + var onConfirmClick = function (dialog) { + var value = dialog.$element.find('.mdui-textfield-input').val(); + onConfirm(value, dialog); + }; + return mdui.dialog({ + title: title, + content: content, + buttons: [ + { + text: options.cancelText, + bold: false, + close: options.closeOnCancel, + onClick: onCancelClick, + }, + { + text: options.confirmText, + bold: false, + close: options.closeOnConfirm, + onClick: onConfirmClick, + } ], + cssClass: 'mdui-dialog-prompt', + history: options.history, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + onOpen: function (dialog) { + // 初始化输入框 + var $input = dialog.$element.find('.mdui-textfield-input'); + mdui.updateTextFields($input); + // 聚焦到输入框 + $input[0].focus(); + // 捕捉文本框回车键,在单行文本框的情况下触发回调 + if (options.type !== 'textarea' && options.confirmOnEnter === true) { + $input.on('keydown', function (event) { + if (event.keyCode === 13) { + var value = dialog.$element.find('.mdui-textfield-input').val(); + onConfirm(value, dialog); + if (options.closeOnConfirm) { + dialog.close(); + } + return false; + } + return; + }); + } + // 如果是多行输入框,监听输入框的 input 事件,更新对话框高度 + if (options.type === 'textarea') { + $input.on('input', function () { return dialog.handleUpdate(); }); + } + // 有字符数限制时,加载完文本框后 DOM 会变化,需要更新对话框高度 + if (options.maxlength) { + dialog.handleUpdate(); + } + }, + }); + }; + + var DEFAULT_OPTIONS$b = { + position: 'auto', + delay: 0, + content: '', + }; + var Tooltip = function Tooltip(selector, options) { + if ( options === void 0 ) options = {}; + + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$b); + /** + * 当前 tooltip 的状态 + */ + this.state = 'closed'; + /** + * setTimeout 的返回值 + */ + this.timeoutId = null; + this.$target = $(selector).first(); + extend(this.options, options); + // 创建 Tooltip HTML + this.$element = $(("
              " + (this.options.content) + "
              ")).appendTo(document.body); + // 绑定事件。元素处于 disabled 状态时无法触发鼠标事件,为了统一,把 touch 事件也禁用 + // eslint-disable-next-line @typescript-eslint/no-this-alias + var that = this; + this.$target + .on('touchstart mouseenter', function (event) { + if (that.isDisabled(this)) { + return; + } + if (!isAllow(event)) { + return; + } + register(event); + that.open(); + }) + .on('touchend mouseleave', function (event) { + if (that.isDisabled(this)) { + return; + } + if (!isAllow(event)) { + return; + } + that.close(); + }) + .on(unlockEvent, function (event) { + if (that.isDisabled(this)) { + return; + } + register(event); + }); + }; + /** + * 元素是否已禁用 + * @param element + */ + Tooltip.prototype.isDisabled = function isDisabled (element) { + return (element.disabled || + $(element).attr('disabled') !== undefined); + }; + /** + * 是否是桌面设备 + */ + Tooltip.prototype.isDesktop = function isDesktop () { + return $window.width() > 1024; + }; + /** + * 设置 Tooltip 的位置 + */ + Tooltip.prototype.setPosition = function setPosition () { + var marginLeft; + var marginTop; + // 触发的元素 + var targetProps = this.$target[0].getBoundingClientRect(); + // 触发的元素和 Tooltip 之间的距离 + var targetMargin = this.isDesktop() ? 14 : 24; + // Tooltip 的宽度和高度 + var tooltipWidth = this.$element[0].offsetWidth; + var tooltipHeight = this.$element[0].offsetHeight; + // Tooltip 的方向 + var position = this.options.position; + // 自动判断位置,加 2px,使 Tooltip 距离窗口边框至少有 2px 的间距 + if (position === 'auto') { + if (targetProps.top + + targetProps.height + + targetMargin + + tooltipHeight + + 2 < + $window.height()) { + position = 'bottom'; + } + else if (targetMargin + tooltipHeight + 2 < targetProps.top) { + position = 'top'; + } + else if (targetMargin + tooltipWidth + 2 < targetProps.left) { + position = 'left'; + } + else if (targetProps.width + targetMargin + tooltipWidth + 2 < + $window.width() - targetProps.left) { + position = 'right'; + } + else { + position = 'bottom'; + } + } + // 设置位置 + switch (position) { + case 'bottom': + marginLeft = -1 * (tooltipWidth / 2); + marginTop = targetProps.height / 2 + targetMargin; + this.$element.transformOrigin('top center'); + break; + case 'top': + marginLeft = -1 * (tooltipWidth / 2); + marginTop = + -1 * (tooltipHeight + targetProps.height / 2 + targetMargin); + this.$element.transformOrigin('bottom center'); + break; + case 'left': + marginLeft = -1 * (tooltipWidth + targetProps.width / 2 + targetMargin); + marginTop = -1 * (tooltipHeight / 2); + this.$element.transformOrigin('center right'); + break; + case 'right': + marginLeft = targetProps.width / 2 + targetMargin; + marginTop = -1 * (tooltipHeight / 2); + this.$element.transformOrigin('center left'); + break; + } + var targetOffset = this.$target.offset(); + this.$element.css({ + top: ((targetOffset.top + targetProps.height / 2) + "px"), + left: ((targetOffset.left + targetProps.width / 2) + "px"), + 'margin-left': (marginLeft + "px"), + 'margin-top': (marginTop + "px"), + }); + }; + /** + * 触发组件事件 + * @param name + */ + Tooltip.prototype.triggerEvent = function triggerEvent (name) { + componentEvent(name, 'tooltip', this.$target, this); + }; + /** + * 动画结束回调 + */ + Tooltip.prototype.transitionEnd = function transitionEnd () { + if (this.$element.hasClass('mdui-tooltip-open')) { + this.state = 'opened'; + this.triggerEvent('opened'); + } + else { + this.state = 'closed'; + this.triggerEvent('closed'); + } + }; + /** + * 当前 tooltip 是否为打开状态 + */ + Tooltip.prototype.isOpen = function isOpen () { + return this.state === 'opening' || this.state === 'opened'; + }; + /** + * 执行打开 tooltip + */ + Tooltip.prototype.doOpen = function doOpen () { + var this$1 = this; + + this.state = 'opening'; + this.triggerEvent('open'); + this.$element + .addClass('mdui-tooltip-open') + .transitionEnd(function () { return this$1.transitionEnd(); }); + }; + /** + * 打开 Tooltip + * @param options 允许每次打开时设置不同的参数 + */ + Tooltip.prototype.open = function open (options) { + var this$1 = this; + + if (this.isOpen()) { + return; + } + var oldOptions = extend({}, this.options); + if (options) { + extend(this.options, options); + } + // tooltip 的内容有更新 + if (oldOptions.content !== this.options.content) { + this.$element.html(this.options.content); + } + this.setPosition(); + if (this.options.delay) { + this.timeoutId = setTimeout(function () { return this$1.doOpen(); }, this.options.delay); + } + else { + this.timeoutId = null; + this.doOpen(); + } + }; + /** + * 关闭 Tooltip + */ + Tooltip.prototype.close = function close () { + var this$1 = this; + + if (this.timeoutId) { + clearTimeout(this.timeoutId); + this.timeoutId = null; + } + if (!this.isOpen()) { + return; + } + this.state = 'closing'; + this.triggerEvent('close'); + this.$element + .removeClass('mdui-tooltip-open') + .transitionEnd(function () { return this$1.transitionEnd(); }); + }; + /** + * 切换 Tooltip 的打开状态 + */ + Tooltip.prototype.toggle = function toggle () { + this.isOpen() ? this.close() : this.open(); + }; + /** + * 获取 Tooltip 状态。共包含四种状态:`opening`、`opened`、`closing`、`closed` + */ + Tooltip.prototype.getState = function getState () { + return this.state; + }; + mdui.Tooltip = Tooltip; + + var customAttr$8 = 'mdui-tooltip'; + var dataName$2 = '_mdui_tooltip'; + $(function () { + // mouseenter 不能冒泡,所以这里用 mouseover 代替 + $document.on('touchstart mouseover', ("[" + customAttr$8 + "]"), function () { + var $target = $(this); + var instance = $target.data(dataName$2); + if (!instance) { + instance = new mdui.Tooltip(this, parseOptions(this, customAttr$8)); + $target.data(dataName$2, instance); + } + }); + }); + + var DEFAULT_OPTIONS$c = { + message: '', + timeout: 4000, + position: 'bottom', + buttonText: '', + buttonColor: '', + closeOnButtonClick: true, + closeOnOutsideClick: true, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClick: function () { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onButtonClick: function () { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onOpen: function () { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onOpened: function () { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClose: function () { }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onClosed: function () { }, + }; + /** + * 当前打开着的 Snackbar + */ + var currentInst$1 = null; + /** + * 队列名 + */ + var queueName$1 = '_mdui_snackbar'; + var Snackbar = function Snackbar(options) { + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$c); + /** + * 当前 Snackbar 的状态 + */ + this.state = 'closed'; + /** + * setTimeout 的 ID + */ + this.timeoutId = null; + extend(this.options, options); + // 按钮颜色 + var buttonColorStyle = ''; + var buttonColorClass = ''; + if (this.options.buttonColor.indexOf('#') === 0 || + this.options.buttonColor.indexOf('rgb') === 0) { + buttonColorStyle = "style=\"color:" + (this.options.buttonColor) + "\""; + } + else if (this.options.buttonColor !== '') { + buttonColorClass = "mdui-text-color-" + (this.options.buttonColor); + } + // 添加 HTML + this.$element = $('
              ' + + "
              " + (this.options.message) + "
              " + + (this.options.buttonText + ? ("" + (this.options.buttonText) + "") + : '') + + '
              ').appendTo(document.body); + // 设置位置 + this.setPosition('close'); + this.$element.reflow().addClass(("mdui-snackbar-" + (this.options.position))); + }; + /** + * 点击 Snackbar 外面的区域关闭 + * @param event + */ + Snackbar.prototype.closeOnOutsideClick = function closeOnOutsideClick (event) { + var $target = $(event.target); + if (!$target.hasClass('mdui-snackbar') && + !$target.parents('.mdui-snackbar').length) { + currentInst$1.close(); + } + }; + /** + * 设置 Snackbar 的位置 + * @param state + */ + Snackbar.prototype.setPosition = function setPosition (state) { + var snackbarHeight = this.$element[0].clientHeight; + var position = this.options.position; + var translateX; + var translateY; + // translateX + if (position === 'bottom' || position === 'top') { + translateX = '-50%'; + } + else { + translateX = '0'; + } + // translateY + if (state === 'open') { + translateY = '0'; + } + else { + if (position === 'bottom') { + translateY = snackbarHeight; + } + if (position === 'top') { + translateY = -snackbarHeight; + } + if (position === 'left-top' || position === 'right-top') { + translateY = -snackbarHeight - 24; + } + if (position === 'left-bottom' || position === 'right-bottom') { + translateY = snackbarHeight + 24; + } + } + this.$element.transform(("translate(" + translateX + "," + translateY + "px")); + }; + /** + * 打开 Snackbar + */ + Snackbar.prototype.open = function open () { + var this$1 = this; + + if (this.state === 'opening' || this.state === 'opened') { + return; + } + // 如果当前有正在显示的 Snackbar,则先加入队列,等旧 Snackbar 关闭后再打开 + if (currentInst$1) { + queue(queueName$1, function () { return this$1.open(); }); + return; + } + currentInst$1 = this; + // 开始打开 + this.state = 'opening'; + this.options.onOpen(this); + this.setPosition('open'); + this.$element.transitionEnd(function () { + if (this$1.state !== 'opening') { + return; + } + this$1.state = 'opened'; + this$1.options.onOpened(this$1); + // 有按钮时绑定事件 + if (this$1.options.buttonText) { + this$1.$element.find('.mdui-snackbar-action').on('click', function () { + this$1.options.onButtonClick(this$1); + if (this$1.options.closeOnButtonClick) { + this$1.close(); + } + }); + } + // 点击 snackbar 的事件 + this$1.$element.on('click', function (event) { + if (!$(event.target).hasClass('mdui-snackbar-action')) { + this$1.options.onClick(this$1); + } + }); + // 点击 Snackbar 外面的区域关闭 + if (this$1.options.closeOnOutsideClick) { + $document.on(startEvent, this$1.closeOnOutsideClick); + } + // 超时后自动关闭 + if (this$1.options.timeout) { + this$1.timeoutId = setTimeout(function () { return this$1.close(); }, this$1.options.timeout); + } + }); + }; + /** + * 关闭 Snackbar + */ + Snackbar.prototype.close = function close () { + var this$1 = this; + + if (this.state === 'closing' || this.state === 'closed') { + return; + } + if (this.timeoutId) { + clearTimeout(this.timeoutId); + } + if (this.options.closeOnOutsideClick) { + $document.off(startEvent, this.closeOnOutsideClick); + } + this.state = 'closing'; + this.options.onClose(this); + this.setPosition('close'); + this.$element.transitionEnd(function () { + if (this$1.state !== 'closing') { + return; + } + currentInst$1 = null; + this$1.state = 'closed'; + this$1.options.onClosed(this$1); + this$1.$element.remove(); + dequeue(queueName$1); + }); + }; + mdui.snackbar = function (message, options) { + if ( options === void 0 ) options = {}; + + if (isString(message)) { + options.message = message; + } + else { + options = message; + } + var instance = new Snackbar(options); + instance.open(); + return instance; + }; + + $(function () { + // 切换导航项 + $document.on('click', '.mdui-bottom-nav>a', function () { + var $item = $(this); + var $bottomNav = $item.parent(); + $bottomNav.children('a').each(function (index, item) { + var isThis = $item.is(item); + if (isThis) { + componentEvent('change', 'bottomNav', $bottomNav[0], undefined, { + index: index, + }); + } + isThis + ? $(item).addClass('mdui-bottom-nav-active') + : $(item).removeClass('mdui-bottom-nav-active'); + }); + }); + // 滚动时隐藏 mdui-bottom-nav-scroll-hide + mdui.mutation('.mdui-bottom-nav-scroll-hide', function () { + new mdui.Headroom(this, { + pinnedClass: 'mdui-headroom-pinned-down', + unpinnedClass: 'mdui-headroom-unpinned-down', + }); + }); + }); + + /** + * layer 的 HTML 结构 + * @param index + */ + function layerHTML(index) { + if ( index === void 0 ) index = false; + + return ("
              " + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              ' + + '
              '); + } + /** + * 填充 HTML + * @param spinner + */ + function fillHTML(spinner) { + var $spinner = $(spinner); + var layer = $spinner.hasClass('mdui-spinner-colorful') + ? layerHTML(1) + layerHTML(2) + layerHTML(3) + layerHTML(4) + : layerHTML(); + $spinner.html(layer); + } + $(function () { + // 页面加载完后自动填充 HTML 结构 + mdui.mutation('.mdui-spinner', function () { + fillHTML(this); + }); + }); + mdui.updateSpinners = function (selector) { + var $elements = isUndefined(selector) ? $('.mdui-spinner') : $(selector); + $elements.each(function () { + fillHTML(this); + }); + }; + + var DEFAULT_OPTIONS$d = { + position: 'auto', + align: 'auto', + gutter: 16, + fixed: false, + covered: 'auto', + subMenuTrigger: 'hover', + subMenuDelay: 200, + }; + var Menu = function Menu(anchorSelector, menuSelector, options) { + var this$1 = this; + if ( options === void 0 ) options = {}; + + /** + * 配置参数 + */ + this.options = extend({}, DEFAULT_OPTIONS$d); + /** + * 当前菜单状态 + */ + this.state = 'closed'; + this.$anchor = $(anchorSelector).first(); + this.$element = $(menuSelector).first(); + // 触发菜单的元素 和 菜单必须是同级的元素,否则菜单可能不能定位 + if (!this.$anchor.parent().is(this.$element.parent())) { + throw new Error('anchorSelector and menuSelector must be siblings'); + } + extend(this.options, options); + // 是否是级联菜单 + this.isCascade = this.$element.hasClass('mdui-menu-cascade'); + // covered 参数处理 + this.isCovered = + this.options.covered === 'auto' ? !this.isCascade : this.options.covered; + // 点击触发菜单切换 + this.$anchor.on('click', function () { return this$1.toggle(); }); + // 点击菜单外面区域关闭菜单 + $document.on('click touchstart', function (event) { + var $target = $(event.target); + if (this$1.isOpen() && + !$target.is(this$1.$element) && + !contains(this$1.$element[0], $target[0]) && + !$target.is(this$1.$anchor) && + !contains(this$1.$anchor[0], $target[0])) { + this$1.close(); + } + }); + // 点击不含子菜单的菜单条目关闭菜单 + // eslint-disable-next-line @typescript-eslint/no-this-alias + var that = this; + $document.on('click', '.mdui-menu-item', function () { + var $item = $(this); + if (!$item.find('.mdui-menu').length && + $item.attr('disabled') === undefined) { + that.close(); + } + }); + // 绑定点击或鼠标移入含子菜单的条目的事件 + this.bindSubMenuEvent(); + // 窗口大小变化时,重新调整菜单位置 + $window.on('resize', $.throttle(function () { return this$1.readjust(); }, 100)); + }; + /** + * 是否为打开状态 + */ + Menu.prototype.isOpen = function isOpen () { + return this.state === 'opening' || this.state === 'opened'; + }; + /** + * 触发组件事件 + * @param name + */ + Menu.prototype.triggerEvent = function triggerEvent (name) { + componentEvent(name, 'menu', this.$element, this); + }; + /** + * 调整主菜单位置 + */ + Menu.prototype.readjust = function readjust () { + var menuLeft; + var menuTop; + // 菜单位置和方向 + var position; + var align; + // window 窗口的宽度和高度 + var windowHeight = $window.height(); + var windowWidth = $window.width(); + // 配置参数 + var gutter = this.options.gutter; + var isCovered = this.isCovered; + var isFixed = this.options.fixed; + // 动画方向参数 + var transformOriginX; + var transformOriginY; + // 菜单的原始宽度和高度 + var menuWidth = this.$element.width(); + var menuHeight = this.$element.height(); + // 触发菜单的元素在窗口中的位置 + var anchorRect = this.$anchor[0].getBoundingClientRect(); + var anchorTop = anchorRect.top; + var anchorLeft = anchorRect.left; + var anchorHeight = anchorRect.height; + var anchorWidth = anchorRect.width; + var anchorBottom = windowHeight - anchorTop - anchorHeight; + var anchorRight = windowWidth - anchorLeft - anchorWidth; + // 触发元素相对其拥有定位属性的父元素的位置 + var anchorOffsetTop = this.$anchor[0].offsetTop; + var anchorOffsetLeft = this.$anchor[0].offsetLeft; + // 自动判断菜单位置 + if (this.options.position === 'auto') { + if (anchorBottom + (isCovered ? anchorHeight : 0) > menuHeight + gutter) { + // 判断下方是否放得下菜单 + position = 'bottom'; + } + else if (anchorTop + (isCovered ? anchorHeight : 0) > + menuHeight + gutter) { + // 判断上方是否放得下菜单 + position = 'top'; + } + else { + // 上下都放不下,居中显示 + position = 'center'; + } + } + else { + position = this.options.position; + } + // 自动判断菜单对齐方式 + if (this.options.align === 'auto') { + if (anchorRight + anchorWidth > menuWidth + gutter) { + // 判断右侧是否放得下菜单 + align = 'left'; + } + else if (anchorLeft + anchorWidth > menuWidth + gutter) { + // 判断左侧是否放得下菜单 + align = 'right'; + } + else { + // 左右都放不下,居中显示 + align = 'center'; + } + } + else { + align = this.options.align; + } + // 设置菜单位置 + if (position === 'bottom') { + transformOriginY = '0'; + menuTop = + (isCovered ? 0 : anchorHeight) + + (isFixed ? anchorTop : anchorOffsetTop); + } + else if (position === 'top') { + transformOriginY = '100%'; + menuTop = + (isCovered ? anchorHeight : 0) + + (isFixed ? anchorTop - menuHeight : anchorOffsetTop - menuHeight); + } + else { + transformOriginY = '50%'; + // =====================在窗口中居中 + // 显示的菜单的高度,简单菜单高度不超过窗口高度,若超过了则在菜单内部显示滚动条 + // 级联菜单内部不允许出现滚动条 + var menuHeightTemp = menuHeight; + // 简单菜单比窗口高时,限制菜单高度 + if (!this.isCascade) { + if (menuHeight + gutter * 2 > windowHeight) { + menuHeightTemp = windowHeight - gutter * 2; + this.$element.height(menuHeightTemp); + } + } + menuTop = + (windowHeight - menuHeightTemp) / 2 + + (isFixed ? 0 : anchorOffsetTop - anchorTop); + } + this.$element.css('top', (menuTop + "px")); + // 设置菜单对齐方式 + if (align === 'left') { + transformOriginX = '0'; + menuLeft = isFixed ? anchorLeft : anchorOffsetLeft; + } + else if (align === 'right') { + transformOriginX = '100%'; + menuLeft = isFixed + ? anchorLeft + anchorWidth - menuWidth + : anchorOffsetLeft + anchorWidth - menuWidth; + } + else { + transformOriginX = '50%'; + //=======================在窗口中居中 + // 显示的菜单的宽度,菜单宽度不能超过窗口宽度 + var menuWidthTemp = menuWidth; + // 菜单比窗口宽,限制菜单宽度 + if (menuWidth + gutter * 2 > windowWidth) { + menuWidthTemp = windowWidth - gutter * 2; + this.$element.width(menuWidthTemp); + } + menuLeft = + (windowWidth - menuWidthTemp) / 2 + + (isFixed ? 0 : anchorOffsetLeft - anchorLeft); + } + this.$element.css('left', (menuLeft + "px")); + // 设置菜单动画方向 + this.$element.transformOrigin((transformOriginX + " " + transformOriginY)); + }; + /** + * 调整子菜单的位置 + * @param $submenu + */ + Menu.prototype.readjustSubmenu = function readjustSubmenu ($submenu) { + var $item = $submenu.parent('.mdui-menu-item'); + var submenuTop; + var submenuLeft; + // 子菜单位置和方向 + var position; + var align; + // window 窗口的宽度和高度 + var windowHeight = $window.height(); + var windowWidth = $window.width(); + // 动画方向参数 + var transformOriginX; + var transformOriginY; + // 子菜单的原始宽度和高度 + var submenuWidth = $submenu.width(); + var submenuHeight = $submenu.height(); + // 触发子菜单的菜单项的宽度高度 + var itemRect = $item[0].getBoundingClientRect(); + var itemWidth = itemRect.width; + var itemHeight = itemRect.height; + var itemLeft = itemRect.left; + var itemTop = itemRect.top; + // 判断菜单上下位置 + if (windowHeight - itemTop > submenuHeight) { + // 判断下方是否放得下菜单 + position = 'bottom'; + } + else if (itemTop + itemHeight > submenuHeight) { + // 判断上方是否放得下菜单 + position = 'top'; + } + else { + // 默认放在下方 + position = 'bottom'; + } + // 判断菜单左右位置 + if (windowWidth - itemLeft - itemWidth > submenuWidth) { + // 判断右侧是否放得下菜单 + align = 'left'; + } + else if (itemLeft > submenuWidth) { + // 判断左侧是否放得下菜单 + align = 'right'; + } + else { + // 默认放在右侧 + align = 'left'; + } + // 设置菜单位置 + if (position === 'bottom') { + transformOriginY = '0'; + submenuTop = '0'; + } + else if (position === 'top') { + transformOriginY = '100%'; + submenuTop = -submenuHeight + itemHeight; + } + $submenu.css('top', (submenuTop + "px")); + // 设置菜单对齐方式 + if (align === 'left') { + transformOriginX = '0'; + submenuLeft = itemWidth; + } + else if (align === 'right') { + transformOriginX = '100%'; + submenuLeft = -submenuWidth; + } + $submenu.css('left', (submenuLeft + "px")); + // 设置菜单动画方向 + $submenu.transformOrigin((transformOriginX + " " + transformOriginY)); + }; + /** + * 打开子菜单 + * @param $submenu + */ + Menu.prototype.openSubMenu = function openSubMenu ($submenu) { + this.readjustSubmenu($submenu); + $submenu + .addClass('mdui-menu-open') + .parent('.mdui-menu-item') + .addClass('mdui-menu-item-active'); + }; + /** + * 关闭子菜单,及其嵌套的子菜单 + * @param $submenu + */ + Menu.prototype.closeSubMenu = function closeSubMenu ($submenu) { + // 关闭子菜单 + $submenu + .removeClass('mdui-menu-open') + .addClass('mdui-menu-closing') + .transitionEnd(function () { return $submenu.removeClass('mdui-menu-closing'); }) + // 移除激活状态的样式 + .parent('.mdui-menu-item') + .removeClass('mdui-menu-item-active'); + // 循环关闭嵌套的子菜单 + $submenu.find('.mdui-menu').each(function (_, menu) { + var $subSubmenu = $(menu); + $subSubmenu + .removeClass('mdui-menu-open') + .addClass('mdui-menu-closing') + .transitionEnd(function () { return $subSubmenu.removeClass('mdui-menu-closing'); }) + .parent('.mdui-menu-item') + .removeClass('mdui-menu-item-active'); + }); + }; + /** + * 切换子菜单状态 + * @param $submenu + */ + Menu.prototype.toggleSubMenu = function toggleSubMenu ($submenu) { + $submenu.hasClass('mdui-menu-open') + ? this.closeSubMenu($submenu) + : this.openSubMenu($submenu); + }; + /** + * 绑定子菜单事件 + */ + Menu.prototype.bindSubMenuEvent = function bindSubMenuEvent () { + // eslint-disable-next-line @typescript-eslint/no-this-alias + var that = this; + // 点击打开子菜单 + this.$element.on('click', '.mdui-menu-item', function (event) { + var $item = $(this); + var $target = $(event.target); + // 禁用状态菜单不操作 + if ($item.attr('disabled') !== undefined) { + return; + } + // 没有点击在子菜单的菜单项上时,不操作(点在了子菜单的空白区域、或分隔线上) + if ($target.is('.mdui-menu') || $target.is('.mdui-divider')) { + return; + } + // 阻止冒泡,点击菜单项时只在最后一级的 mdui-menu-item 上生效,不向上冒泡 + if (!$target.parents('.mdui-menu-item').first().is($item)) { + return; + } + // 当前菜单的子菜单 + var $submenu = $item.children('.mdui-menu'); + // 先关闭除当前子菜单外的所有同级子菜单 + $item + .parent('.mdui-menu') + .children('.mdui-menu-item') + .each(function (_, item) { + var $tmpSubmenu = $(item).children('.mdui-menu'); + if ($tmpSubmenu.length && + (!$submenu.length || !$tmpSubmenu.is($submenu))) { + that.closeSubMenu($tmpSubmenu); + } + }); + // 切换当前子菜单 + if ($submenu.length) { + that.toggleSubMenu($submenu); + } + }); + if (this.options.subMenuTrigger === 'hover') { + // 临时存储 setTimeout 对象 + var timeout = null; + var timeoutOpen = null; + this.$element.on('mouseover mouseout', '.mdui-menu-item', function (event) { + var $item = $(this); + var eventType = event.type; + var $relatedTarget = $(event.relatedTarget); + // 禁用状态的菜单不操作 + if ($item.attr('disabled') !== undefined) { + return; + } + // 用 mouseover 模拟 mouseenter + if (eventType === 'mouseover') { + if (!$item.is($relatedTarget) && + contains($item[0], $relatedTarget[0])) { + return; + } + } + // 用 mouseout 模拟 mouseleave + else if (eventType === 'mouseout') { + if ($item.is($relatedTarget) || + contains($item[0], $relatedTarget[0])) { + return; + } + } + // 当前菜单项下的子菜单,未必存在 + var $submenu = $item.children('.mdui-menu'); + // 鼠标移入菜单项时,显示菜单项下的子菜单 + if (eventType === 'mouseover') { + if ($submenu.length) { + // 当前子菜单准备打开时,如果当前子菜单正准备着关闭,不用再关闭了 + var tmpClose = $submenu.data('timeoutClose.mdui.menu'); + if (tmpClose) { + clearTimeout(tmpClose); + } + // 如果当前子菜单已经打开,不操作 + if ($submenu.hasClass('mdui-menu-open')) { + return; + } + // 当前子菜单准备打开时,其他准备打开的子菜单不用再打开了 + clearTimeout(timeoutOpen); + // 准备打开当前子菜单 + timeout = timeoutOpen = setTimeout(function () { return that.openSubMenu($submenu); }, that.options.subMenuDelay); + $submenu.data('timeoutOpen.mdui.menu', timeout); + } + } + // 鼠标移出菜单项时,关闭菜单项下的子菜单 + else if (eventType === 'mouseout') { + if ($submenu.length) { + // 鼠标移出菜单项时,如果当前菜单项下的子菜单正准备打开,不用再打开了 + var tmpOpen = $submenu.data('timeoutOpen.mdui.menu'); + if (tmpOpen) { + clearTimeout(tmpOpen); + } + // 准备关闭当前子菜单 + timeout = setTimeout(function () { return that.closeSubMenu($submenu); }, that.options.subMenuDelay); + $submenu.data('timeoutClose.mdui.menu', timeout); + } + } + }); + } + }; + /** + * 动画结束回调 + */ + Menu.prototype.transitionEnd = function transitionEnd () { + this.$element.removeClass('mdui-menu-closing'); + if (this.state === 'opening') { + this.state = 'opened'; + this.triggerEvent('opened'); + } + if (this.state === 'closing') { + this.state = 'closed'; + this.triggerEvent('closed'); + // 关闭后,恢复菜单样式到默认状态,并恢复 fixed 定位 + this.$element.css({ + top: '', + left: '', + width: '', + position: 'fixed', + }); + } + }; + /** + * 切换菜单状态 + */ + Menu.prototype.toggle = function toggle () { + this.isOpen() ? this.close() : this.open(); + }; + /** + * 打开菜单 + */ + Menu.prototype.open = function open () { + var this$1 = this; + + if (this.isOpen()) { + return; + } + this.state = 'opening'; + this.triggerEvent('open'); + this.readjust(); + this.$element + // 菜单隐藏状态使用使用 fixed 定位。 + .css('position', this.options.fixed ? 'fixed' : 'absolute') + .addClass('mdui-menu-open') + .transitionEnd(function () { return this$1.transitionEnd(); }); + }; + /** + * 关闭菜单 + */ + Menu.prototype.close = function close () { + var this$1 = this; + + if (!this.isOpen()) { + return; + } + this.state = 'closing'; + this.triggerEvent('close'); + // 菜单开始关闭时,关闭所有子菜单 + this.$element.find('.mdui-menu').each(function (_, submenu) { + this$1.closeSubMenu($(submenu)); + }); + this.$element + .removeClass('mdui-menu-open') + .addClass('mdui-menu-closing') + .transitionEnd(function () { return this$1.transitionEnd(); }); + }; + mdui.Menu = Menu; + + var customAttr$9 = 'mdui-menu'; + var dataName$3 = '_mdui_menu'; + $(function () { + $document.on('click', ("[" + customAttr$9 + "]"), function () { + var $this = $(this); + var instance = $this.data(dataName$3); + if (!instance) { + var options = parseOptions(this, customAttr$9); + var menuSelector = options.target; + // @ts-ignore + delete options.target; + instance = new mdui.Menu($this, menuSelector, options); + $this.data(dataName$3, instance); + instance.toggle(); + } + }); + }); + + return mdui; + +}))); +//# sourceMappingURL=mdui.js.map diff --git a/static/mdui/js/mdui.js.map b/static/mdui/js/mdui.js.map new file mode 100644 index 0000000..fe6ebe7 --- /dev/null +++ b/static/mdui/js/mdui.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mdui.js","sources":["../../node_modules/mdn-polyfills/MouseEvent.js","../../node_modules/mdn-polyfills/CustomEvent.js","../../node_modules/promise-polyfill/src/finally.js","../../node_modules/promise-polyfill/src/allSettled.js","../../node_modules/promise-polyfill/src/index.js","../../node_modules/promise-polyfill/src/polyfill.js","../../node_modules/mdui.jq/es/utils.js","../../node_modules/mdui.jq/es/functions/each.js","../../node_modules/mdui.jq/es/JQ.js","../../node_modules/mdui.jq/es/$.js","../../src/mdui.ts","../../node_modules/mdui.jq/es/methods/each.js","../../node_modules/mdui.jq/es/functions/contains.js","../../node_modules/mdui.jq/es/functions/merge.js","../../node_modules/mdui.jq/es/methods/get.js","../../node_modules/mdui.jq/es/methods/find.js","../../node_modules/mdui.jq/es/methods/utils/event.js","../../node_modules/mdui.jq/es/methods/trigger.js","../../node_modules/mdui.jq/es/functions/extend.js","../../node_modules/mdui.jq/es/functions/param.js","../../node_modules/mdui.jq/es/functions/utils/ajax.js","../../node_modules/mdui.jq/es/functions/ajax.js","../../node_modules/mdui.jq/es/static/ajax.js","../../node_modules/mdui.jq/es/functions/ajaxSetup.js","../../node_modules/mdui.jq/es/static/ajaxSetup.js","../../node_modules/mdui.jq/es/static/contains.js","../../node_modules/mdui.jq/es/functions/utils/data.js","../../node_modules/mdui.jq/es/functions/data.js","../../node_modules/mdui.jq/es/static/data.js","../../node_modules/mdui.jq/es/static/each.js","../../node_modules/mdui.jq/es/static/extend.js","../../node_modules/mdui.jq/es/functions/map.js","../../node_modules/mdui.jq/es/static/map.js","../../node_modules/mdui.jq/es/static/merge.js","../../node_modules/mdui.jq/es/static/param.js","../../node_modules/mdui.jq/es/functions/removeData.js","../../node_modules/mdui.jq/es/static/removeData.js","../../node_modules/mdui.jq/es/functions/unique.js","../../node_modules/mdui.jq/es/static/unique.js","../../node_modules/mdui.jq/es/methods/add.js","../../node_modules/mdui.jq/es/methods/addClass.js","../../node_modules/mdui.jq/es/methods/insertBefore.js","../../node_modules/mdui.jq/es/methods/before.js","../../node_modules/mdui.jq/es/methods/off.js","../../node_modules/mdui.jq/es/methods/on.js","../../node_modules/mdui.jq/es/methods/ajaxStart.js","../../node_modules/mdui.jq/es/methods/map.js","../../node_modules/mdui.jq/es/methods/clone.js","../../node_modules/mdui.jq/es/methods/is.js","../../node_modules/mdui.jq/es/methods/remove.js","../../node_modules/mdui.jq/es/methods/append.js","../../node_modules/mdui.jq/es/methods/appendTo.js","../../node_modules/mdui.jq/es/methods/attr.js","../../node_modules/mdui.jq/es/methods/children.js","../../node_modules/mdui.jq/es/methods/slice.js","../../node_modules/mdui.jq/es/methods/eq.js","../../node_modules/mdui.jq/es/methods/utils/dir.js","../../node_modules/mdui.jq/es/methods/parent.js","../../node_modules/mdui.jq/es/methods/closest.js","../../node_modules/mdui.jq/es/methods/data.js","../../node_modules/mdui.jq/es/methods/empty.js","../../node_modules/mdui.jq/es/methods/extend.js","../../node_modules/mdui.jq/es/methods/filter.js","../../node_modules/mdui.jq/es/methods/first.js","../../node_modules/mdui.jq/es/methods/has.js","../../node_modules/mdui.jq/es/methods/hasClass.js","../../node_modules/mdui.jq/es/methods/width.js","../../node_modules/mdui.jq/es/methods/hide.js","../../node_modules/mdui.jq/es/methods/val.js","../../node_modules/mdui.jq/es/methods/index.js","../../node_modules/mdui.jq/es/methods/last.js","../../node_modules/mdui.jq/es/methods/next.js","../../node_modules/mdui.jq/es/methods/not.js","../../node_modules/mdui.jq/es/methods/offsetParent.js","../../node_modules/mdui.jq/es/methods/position.js","../../node_modules/mdui.jq/es/methods/offset.js","../../node_modules/mdui.jq/es/methods/one.js","../../node_modules/mdui.jq/es/methods/prev.js","../../node_modules/mdui.jq/es/methods/removeAttr.js","../../node_modules/mdui.jq/es/methods/removeData.js","../../node_modules/mdui.jq/es/methods/removeProp.js","../../node_modules/mdui.jq/es/methods/replaceWith.js","../../node_modules/mdui.jq/es/methods/replaceAll.js","../../node_modules/mdui.jq/es/methods/serializeArray.js","../../node_modules/mdui.jq/es/methods/serialize.js","../../node_modules/mdui.jq/es/methods/show.js","../../node_modules/mdui.jq/es/methods/siblings.js","../../node_modules/mdui.jq/es/methods/toggle.js","../../src/jq_extends/methods/reflow.ts","../../src/jq_extends/methods/transition.ts","../../src/jq_extends/methods/transitionEnd.ts","../../src/jq_extends/methods/transformOrigin.ts","../../src/jq_extends/methods/transform.ts","../../src/utils/mutation.ts","../../src/jq_extends/methods/mutation.ts","../../src/jq_extends/static/showOverlay.ts","../../src/jq_extends/static/hideOverlay.ts","../../src/jq_extends/static/lockScreen.ts","../../src/jq_extends/static/unlockScreen.ts","../../src/jq_extends/static/throttle.ts","../../src/jq_extends/static/guid.ts","../../src/global/mutation.ts","../../src/utils/componentEvent.ts","../../src/utils/dom.ts","../../src/components/headroom/index.ts","../../src/utils/parseOptions.ts","../../src/components/headroom/customAttr.ts","../../src/components/collapse/collapseAbstract.ts","../../src/components/collapse/index.ts","../../src/components/collapse/customAttr.ts","../../src/components/panel/index.ts","../../src/components/panel/customAttr.ts","../../src/components/table/index.ts","../../src/utils/touchHandler.ts","../../src/components/ripple/index.ts","../../src/components/textfield/index.ts","../../src/components/slider/index.ts","../../src/components/fab/index.ts","../../src/components/fab/customAttr.ts","../../src/components/select/index.ts","../../src/components/select/customAttr.ts","../../src/components/appbar/index.ts","../../src/components/tab/index.ts","../../src/components/tab/customAttr.ts","../../src/components/drawer/index.ts","../../src/components/drawer/customAttr.ts","../../src/utils/queue.ts","../../src/components/dialog/class.ts","../../src/components/dialog/index.ts","../../src/components/dialog/customAttr.ts","../../src/components/dialog/dialog.ts","../../src/components/dialog/alert.ts","../../src/components/dialog/confirm.ts","../../src/components/dialog/prompt.ts","../../src/components/tooltip/index.ts","../../src/components/tooltip/customAttr.ts","../../src/components/snackbar/index.ts","../../src/components/bottom_nav/index.ts","../../src/components/progress/spinner.ts","../../src/components/menu/index.ts","../../src/components/menu/customAttr.ts"],"sourcesContent":["!function(){try{return new MouseEvent(\"test\")}catch(e){}var e=function(e,t){t=t||{bubbles:!1,cancelable:!1};var n=document.createEvent(\"MouseEvent\");return n.initMouseEvent(e,t.bubbles,t.cancelable,window,0,t.screenX||0,t.screenY||0,t.clientX||0,t.clientY||0,t.ctrlKey||!1,t.altKey||!1,t.shiftKey||!1,t.metaKey||!1,t.button||0,t.relatedTarget||null),n};e.prototype=Event.prototype,window.MouseEvent=e}();\n","!function(){function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}\"function\"!=typeof window.CustomEvent&&(t.prototype=window.Event.prototype,window.CustomEvent=t)}();\n","/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n // @ts-ignore\n return constructor.reject(reason);\n });\n }\n );\n}\n\nexport default finallyConstructor;\n","function allSettled(arr) {\n var P = this;\n return new P(function(resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(\n new TypeError(\n typeof arr +\n ' ' +\n arr +\n ' is not iterable(cannot read property Symbol(Symbol.iterator))'\n )\n );\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n function(e) {\n args[i] = { status: 'rejected', reason: e };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n );\n return;\n }\n }\n args[i] = { status: 'fulfilled', value: val };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n}\n\nexport default allSettled;\n","import promiseFinally from './finally';\nimport allSettled from './allSettled';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.allSettled = allSettled;\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n // @ts-ignore\n (typeof setImmediate === 'function' &&\n function(fn) {\n // @ts-ignore\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","import Promise from './index';\nimport promiseFinally from './finally';\nimport allSettled from './allSettled';\n\n/** @suppress {undefinedVars} */\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\n// Expose the polyfill if Promise is undefined or set to a\n// non-function value. The latter can be due to a named HTMLElement\n// being exposed by browsers for legacy reasons.\n// https://github.com/taylorhakes/promise-polyfill/issues/114\nif (typeof globalNS['Promise'] !== 'function') {\n globalNS['Promise'] = Promise;\n} else if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = promiseFinally;\n} else if (!globalNS.Promise.allSettled) {\n globalNS.Promise.allSettled = allSettled;\n}\n","function isNodeName(element, name) {\n return element.nodeName.toLowerCase() === name.toLowerCase();\n}\nfunction isFunction(target) {\n return typeof target === 'function';\n}\nfunction isString(target) {\n return typeof target === 'string';\n}\nfunction isNumber(target) {\n return typeof target === 'number';\n}\nfunction isBoolean(target) {\n return typeof target === 'boolean';\n}\nfunction isUndefined(target) {\n return typeof target === 'undefined';\n}\nfunction isNull(target) {\n return target === null;\n}\nfunction isWindow(target) {\n return target instanceof Window;\n}\nfunction isDocument(target) {\n return target instanceof Document;\n}\nfunction isElement(target) {\n return target instanceof Element;\n}\nfunction isNode(target) {\n return target instanceof Node;\n}\n/**\n * 是否是 IE 浏览器\n */\nfunction isIE() {\n // @ts-ignore\n return !!window.document.documentMode;\n}\nfunction isArrayLike(target) {\n if (isFunction(target) || isWindow(target)) {\n return false;\n }\n return isNumber(target.length);\n}\nfunction isObjectLike(target) {\n return typeof target === 'object' && target !== null;\n}\nfunction toElement(target) {\n return isDocument(target) ? target.documentElement : target;\n}\n/**\n * 把用 - 分隔的字符串转为驼峰(如 box-sizing 转换为 boxSizing)\n * @param string\n */\nfunction toCamelCase(string) {\n return string\n .replace(/^-ms-/, 'ms-')\n .replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n/**\n * 把驼峰法转为用 - 分隔的字符串(如 boxSizing 转换为 box-sizing)\n * @param string\n */\nfunction toKebabCase(string) {\n return string.replace(/[A-Z]/g, (replacer) => '-' + replacer.toLowerCase());\n}\n/**\n * 获取元素的样式值\n * @param element\n * @param name\n */\nfunction getComputedStyleValue(element, name) {\n return window.getComputedStyle(element).getPropertyValue(toKebabCase(name));\n}\n/**\n * 检查元素的 box-sizing 是否是 border-box\n * @param element\n */\nfunction isBorderBox(element) {\n return getComputedStyleValue(element, 'box-sizing') === 'border-box';\n}\n/**\n * 获取元素的 padding, border, margin 宽度(两侧宽度的和,单位为px)\n * @param element\n * @param direction\n * @param extra\n */\nfunction getExtraWidth(element, direction, extra) {\n const position = direction === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n return [0, 1].reduce((prev, _, index) => {\n let prop = extra + position[index];\n if (extra === 'border') {\n prop += 'Width';\n }\n return prev + parseFloat(getComputedStyleValue(element, prop) || '0');\n }, 0);\n}\n/**\n * 获取元素的样式值,对 width 和 height 进行过处理\n * @param element\n * @param name\n */\nfunction getStyle(element, name) {\n // width、height 属性使用 getComputedStyle 得到的值不准确,需要使用 getBoundingClientRect 获取\n if (name === 'width' || name === 'height') {\n const valueNumber = element.getBoundingClientRect()[name];\n if (isBorderBox(element)) {\n return `${valueNumber}px`;\n }\n return `${valueNumber -\n getExtraWidth(element, name, 'border') -\n getExtraWidth(element, name, 'padding')}px`;\n }\n return getComputedStyleValue(element, name);\n}\n/**\n * 获取子节点组成的数组\n * @param target\n * @param parent\n */\nfunction getChildNodesArray(target, parent) {\n const tempParent = document.createElement(parent);\n tempParent.innerHTML = target;\n return [].slice.call(tempParent.childNodes);\n}\n/**\n * 始终返回 false 的函数\n */\nfunction returnFalse() {\n return false;\n}\n/**\n * 数值单位的 CSS 属性\n */\nconst cssNumber = [\n 'animationIterationCount',\n 'columnCount',\n 'fillOpacity',\n 'flexGrow',\n 'flexShrink',\n 'fontWeight',\n 'gridArea',\n 'gridColumn',\n 'gridColumnEnd',\n 'gridColumnStart',\n 'gridRow',\n 'gridRowEnd',\n 'gridRowStart',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'widows',\n 'zIndex',\n 'zoom',\n];\nexport { isNodeName, isArrayLike, isObjectLike, isFunction, isString, isNumber, isBoolean, isUndefined, isNull, isWindow, isDocument, isElement, isNode, isIE, toElement, toCamelCase, toKebabCase, getComputedStyleValue, isBorderBox, getExtraWidth, getStyle, getChildNodesArray, returnFalse, cssNumber, };\n","import { isArrayLike } from '../utils';\nfunction each(target, callback) {\n if (isArrayLike(target)) {\n for (let i = 0; i < target.length; i += 1) {\n if (callback.call(target[i], i, target[i]) === false) {\n return target;\n }\n }\n }\n else {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i += 1) {\n if (callback.call(target[keys[i]], keys[i], target[keys[i]]) === false) {\n return target;\n }\n }\n }\n return target;\n}\nexport default each;\n","import each from './functions/each';\n/**\n * 为了使用模块扩充,这里不能使用默认导出\n */\nexport class JQ {\n constructor(arr) {\n this.length = 0;\n if (!arr) {\n return this;\n }\n each(arr, (i, item) => {\n // @ts-ignore\n this[i] = item;\n });\n this.length = arr.length;\n return this;\n }\n}\n","import each from './functions/each';\nimport { JQ } from './JQ';\nimport { getChildNodesArray, isArrayLike, isFunction, isNode, isString, } from './utils';\nfunction get$() {\n const $ = function (selector) {\n if (!selector) {\n return new JQ();\n }\n // JQ\n if (selector instanceof JQ) {\n return selector;\n }\n // function\n if (isFunction(selector)) {\n if (/complete|loaded|interactive/.test(document.readyState) &&\n document.body) {\n selector.call(document, $);\n }\n else {\n document.addEventListener('DOMContentLoaded', () => selector.call(document, $), false);\n }\n return new JQ([document]);\n }\n // String\n if (isString(selector)) {\n const html = selector.trim();\n // 根据 HTML 字符串创建 JQ 对象\n if (html[0] === '<' && html[html.length - 1] === '>') {\n let toCreate = 'div';\n const tags = {\n li: 'ul',\n tr: 'tbody',\n td: 'tr',\n th: 'tr',\n tbody: 'table',\n option: 'select',\n };\n each(tags, (childTag, parentTag) => {\n if (html.indexOf(`<${childTag}`) === 0) {\n toCreate = parentTag;\n return false;\n }\n return;\n });\n return new JQ(getChildNodesArray(html, toCreate));\n }\n // 根据 CSS 选择器创建 JQ 对象\n const isIdSelector = selector[0] === '#' && !selector.match(/[ .<>:~]/);\n if (!isIdSelector) {\n return new JQ(document.querySelectorAll(selector));\n }\n const element = document.getElementById(selector.slice(1));\n if (element) {\n return new JQ([element]);\n }\n return new JQ();\n }\n if (isArrayLike(selector) && !isNode(selector)) {\n return new JQ(selector);\n }\n return new JQ([selector]);\n };\n $.fn = JQ.prototype;\n return $;\n}\nconst $ = get$();\nexport default $;\n","import { MduiStatic } from './interfaces/MduiStatic';\nimport $ from 'mdui.jq/es/$';\n\n// 避免页面加载完后直接执行css动画\n// https://css-tricks.com/transitions-only-after-page-load/\nsetTimeout(() => $('body').addClass('mdui-loaded'));\n\nconst mdui = {\n $: $,\n} as MduiStatic;\n\nexport default mdui;\n","import $ from '../$';\nimport each from '../functions/each';\n$.fn.each = function (callback) {\n return each(this, callback);\n};\n","import { toElement } from '../utils';\n/**\n * 检查 container 元素内是否包含 contains 元素\n * @param container 父元素\n * @param contains 子元素\n * @example\n```js\ncontains( document, document.body ); // true\ncontains( document.getElementById('test'), document ); // false\ncontains( $('.container').get(0), $('.contains').get(0) ); // false\n```\n */\nfunction contains(container, contains) {\n return container !== contains && toElement(container).contains(contains);\n}\nexport default contains;\n","import each from './each';\n/**\n * 把第二个数组的元素追加到第一个数组中,并返回合并后的数组\n * @param first 第一个数组\n * @param second 该数组的元素将被追加到第一个数组中\n * @example\n```js\nmerge( [ 0, 1, 2 ], [ 2, 3, 4 ] )\n// [ 0, 1, 2, 2, 3, 4 ]\n```\n */\nfunction merge(first, second) {\n each(second, (_, value) => {\n first.push(value);\n });\n return first;\n}\nexport default merge;\n","import $ from '../$';\n$.fn.get = function (index) {\n return index === undefined\n ? [].slice.call(this)\n : this[index >= 0 ? index : index + this.length];\n};\n","import $ from '../$';\nimport merge from '../functions/merge';\nimport { JQ } from '../JQ';\nimport './each';\nimport './get';\n$.fn.find = function (selector) {\n const foundElements = [];\n this.each((_, element) => {\n merge(foundElements, $(element.querySelectorAll(selector)).get());\n });\n return new JQ(foundElements);\n};\n","import $ from '../../$';\nimport contains from '../../functions/contains';\nimport { isObjectLike } from '../../utils';\nimport '../find';\n// 存储事件\nconst handlers = {};\n// 元素ID\nlet mduiElementId = 1;\n/**\n * 为元素赋予一个唯一的ID\n */\nfunction getElementId(element) {\n const key = '_mduiEventId';\n // @ts-ignore\n if (!element[key]) {\n // @ts-ignore\n element[key] = ++mduiElementId;\n }\n // @ts-ignore\n return element[key];\n}\n/**\n * 解析事件名中的命名空间\n */\nfunction parse(type) {\n const parts = type.split('.');\n return {\n type: parts[0],\n ns: parts.slice(1).sort().join(' '),\n };\n}\n/**\n * 命名空间匹配规则\n */\nfunction matcherFor(ns) {\n return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)');\n}\n/**\n * 获取匹配的事件\n * @param element\n * @param type\n * @param func\n * @param selector\n */\nfunction getHandlers(element, type, func, selector) {\n const event = parse(type);\n return (handlers[getElementId(element)] || []).filter((handler) => handler &&\n (!event.type || handler.type === event.type) &&\n (!event.ns || matcherFor(event.ns).test(handler.ns)) &&\n (!func || getElementId(handler.func) === getElementId(func)) &&\n (!selector || handler.selector === selector));\n}\n/**\n * 添加事件监听\n * @param element\n * @param types\n * @param func\n * @param data\n * @param selector\n */\nfunction add(element, types, func, data, selector) {\n const elementId = getElementId(element);\n if (!handlers[elementId]) {\n handlers[elementId] = [];\n }\n // 传入 data.useCapture 来设置 useCapture: true\n let useCapture = false;\n if (isObjectLike(data) && data.useCapture) {\n useCapture = true;\n }\n types.split(' ').forEach((type) => {\n if (!type) {\n return;\n }\n const event = parse(type);\n function callFn(e, elem) {\n // 因为鼠标事件模拟事件的 detail 属性是只读的,因此在 e._detail 中存储参数\n const result = func.apply(elem, \n // @ts-ignore\n e._detail === undefined ? [e] : [e].concat(e._detail));\n if (result === false) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n function proxyFn(e) {\n // @ts-ignore\n if (e._ns && !matcherFor(e._ns).test(event.ns)) {\n return;\n }\n // @ts-ignore\n e._data = data;\n if (selector) {\n // 事件代理\n $(element)\n .find(selector)\n .get()\n .reverse()\n .forEach((elem) => {\n if (elem === e.target ||\n contains(elem, e.target)) {\n callFn(e, elem);\n }\n });\n }\n else {\n // 不使用事件代理\n callFn(e, element);\n }\n }\n const handler = {\n type: event.type,\n ns: event.ns,\n func,\n selector,\n id: handlers[elementId].length,\n proxy: proxyFn,\n };\n handlers[elementId].push(handler);\n element.addEventListener(handler.type, proxyFn, useCapture);\n });\n}\n/**\n * 移除事件监听\n * @param element\n * @param types\n * @param func\n * @param selector\n */\nfunction remove(element, types, func, selector) {\n const handlersInElement = handlers[getElementId(element)] || [];\n const removeEvent = (handler) => {\n delete handlersInElement[handler.id];\n element.removeEventListener(handler.type, handler.proxy, false);\n };\n if (!types) {\n handlersInElement.forEach((handler) => removeEvent(handler));\n }\n else {\n types.split(' ').forEach((type) => {\n if (type) {\n getHandlers(element, type, func, selector).forEach((handler) => removeEvent(handler));\n }\n });\n }\n}\nexport { parse, add, remove };\n","import $ from '../$';\nimport './each';\nimport { parse } from './utils/event';\n$.fn.trigger = function (type, extraParameters) {\n const event = parse(type);\n let eventObject;\n const eventParams = {\n bubbles: true,\n cancelable: true,\n };\n const isMouseEvent = ['click', 'mousedown', 'mouseup', 'mousemove'].indexOf(event.type) > -1;\n if (isMouseEvent) {\n // Note: MouseEvent 无法传入 detail 参数\n eventObject = new MouseEvent(event.type, eventParams);\n }\n else {\n eventParams.detail = extraParameters;\n eventObject = new CustomEvent(event.type, eventParams);\n }\n // @ts-ignore\n eventObject._detail = extraParameters;\n // @ts-ignore\n eventObject._ns = event.ns;\n return this.each(function () {\n this.dispatchEvent(eventObject);\n });\n};\n","import each from '../functions/each';\nimport { isUndefined } from '../utils';\nfunction extend(target, object1, ...objectN) {\n objectN.unshift(object1);\n each(objectN, (_, object) => {\n each(object, (prop, value) => {\n if (!isUndefined(value)) {\n target[prop] = value;\n }\n });\n });\n return target;\n}\nexport default extend;\n","import { isObjectLike } from '../utils';\nimport each from './each';\n/**\n * 将数组或对象序列化,序列化后的字符串可作为 URL 查询字符串使用\n *\n * 若传入数组,则格式必须和 serializeArray 方法的返回值一样\n * @param obj 对象或数组\n * @example\n```js\nparam({ width: 1680, height: 1050 });\n// width=1680&height=1050\n```\n * @example\n```js\nparam({ foo: { one: 1, two: 2 }})\n// foo[one]=1&foo[two]=2\n```\n * @example\n```js\nparam({ids: [1, 2, 3]})\n// ids[]=1&ids[]=2&ids[]=3\n```\n * @example\n```js\nparam([\n {\"name\":\"name\",\"value\":\"mdui\"},\n {\"name\":\"password\",\"value\":\"123456\"}\n])\n// name=mdui&password=123456\n```\n */\nfunction param(obj) {\n if (!isObjectLike(obj) && !Array.isArray(obj)) {\n return '';\n }\n const args = [];\n function destructure(key, value) {\n let keyTmp;\n if (isObjectLike(value)) {\n each(value, (i, v) => {\n if (Array.isArray(value) && !isObjectLike(v)) {\n keyTmp = '';\n }\n else {\n keyTmp = i;\n }\n destructure(`${key}[${keyTmp}]`, v);\n });\n }\n else {\n if (value == null || value === '') {\n keyTmp = '=';\n }\n else {\n keyTmp = `=${encodeURIComponent(value)}`;\n }\n args.push(encodeURIComponent(key) + keyTmp);\n }\n }\n if (Array.isArray(obj)) {\n each(obj, function () {\n destructure(this.name, this.value);\n });\n }\n else {\n each(obj, destructure);\n }\n return args.join('&');\n}\nexport default param;\n","// 全局配置参数\nconst globalOptions = {};\n// 全局事件名\nconst ajaxEvents = {\n ajaxStart: 'start.mdui.ajax',\n ajaxSuccess: 'success.mdui.ajax',\n ajaxError: 'error.mdui.ajax',\n ajaxComplete: 'complete.mdui.ajax',\n};\nexport { globalOptions, ajaxEvents };\n","import $ from '../$';\nimport '../methods/trigger';\nimport { isString, isUndefined } from '../utils';\nimport each from './each';\nimport extend from './extend';\nimport param from './param';\nimport { ajaxEvents, globalOptions } from './utils/ajax';\n/**\n * 判断此请求方法是否通过查询字符串提交参数\n * @param method 请求方法,大写\n */\nfunction isQueryStringData(method) {\n return ['GET', 'HEAD'].indexOf(method) >= 0;\n}\n/**\n * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ?\n * @param url\n * @param query\n */\nfunction appendQuery(url, query) {\n return `${url}&${query}`.replace(/[&?]{1,2}/, '?');\n}\n/**\n * 合并请求参数,参数优先级:options > globalOptions > defaults\n * @param options\n */\nfunction mergeOptions(options) {\n // 默认参数\n const defaults = {\n url: '',\n method: 'GET',\n data: '',\n processData: true,\n async: true,\n cache: true,\n username: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n dataType: 'text',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0,\n global: true,\n };\n // globalOptions 中的回调函数不合并\n each(globalOptions, (key, value) => {\n const callbacks = [\n 'beforeSend',\n 'success',\n 'error',\n 'complete',\n 'statusCode',\n ];\n // @ts-ignore\n if (callbacks.indexOf(key) < 0 && !isUndefined(value)) {\n defaults[key] = value;\n }\n });\n return extend({}, defaults, options);\n}\n/**\n * 发送 ajax 请求\n * @param options\n * @example\n```js\najax({\n method: \"POST\",\n url: \"some.php\",\n data: { name: \"John\", location: \"Boston\" }\n}).then(function( msg ) {\n alert( \"Data Saved: \" + msg );\n});\n```\n */\nfunction ajax(options) {\n // 是否已取消请求\n let isCanceled = false;\n // 事件参数\n const eventParams = {};\n // 参数合并\n const mergedOptions = mergeOptions(options);\n let url = mergedOptions.url || window.location.toString();\n const method = mergedOptions.method.toUpperCase();\n let data = mergedOptions.data;\n const processData = mergedOptions.processData;\n const async = mergedOptions.async;\n const cache = mergedOptions.cache;\n const username = mergedOptions.username;\n const password = mergedOptions.password;\n const headers = mergedOptions.headers;\n const xhrFields = mergedOptions.xhrFields;\n const statusCode = mergedOptions.statusCode;\n const dataType = mergedOptions.dataType;\n const contentType = mergedOptions.contentType;\n const timeout = mergedOptions.timeout;\n const global = mergedOptions.global;\n // 需要发送的数据\n // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换\n if (data &&\n (isQueryStringData(method) || processData) &&\n !isString(data) &&\n !(data instanceof ArrayBuffer) &&\n !(data instanceof Blob) &&\n !(data instanceof Document) &&\n !(data instanceof FormData)) {\n data = param(data);\n }\n // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中\n if (data && isQueryStringData(method)) {\n // 查询字符串拼接到 URL 中\n url = appendQuery(url, data);\n data = null;\n }\n /**\n * 触发事件和回调函数\n * @param event\n * @param params\n * @param callback\n * @param args\n */\n function trigger(event, params, callback, ...args) {\n // 触发全局事件\n if (global) {\n $(document).trigger(event, params);\n }\n // 触发 ajax 回调和事件\n let result1;\n let result2;\n if (callback) {\n // 全局回调\n if (callback in globalOptions) {\n // @ts-ignore\n result1 = globalOptions[callback](...args);\n }\n // 自定义回调\n if (mergedOptions[callback]) {\n // @ts-ignore\n result2 = mergedOptions[callback](...args);\n }\n // beforeSend 回调返回 false 时取消 ajax 请求\n if (callback === 'beforeSend' &&\n (result1 === false || result2 === false)) {\n isCanceled = true;\n }\n }\n }\n // XMLHttpRequest 请求\n function XHR() {\n let textStatus;\n return new Promise((resolve, reject) => {\n // GET/HEAD 请求的缓存处理\n if (isQueryStringData(method) && !cache) {\n url = appendQuery(url, `_=${Date.now()}`);\n }\n // 创建 XHR\n const xhr = new XMLHttpRequest();\n xhr.open(method, url, async, username, password);\n if (contentType ||\n (data && !isQueryStringData(method) && contentType !== false)) {\n xhr.setRequestHeader('Content-Type', contentType);\n }\n // 设置 Accept\n if (dataType === 'json') {\n xhr.setRequestHeader('Accept', 'application/json, text/javascript');\n }\n // 添加 headers\n if (headers) {\n each(headers, (key, value) => {\n // undefined 值不发送,string 和 null 需要发送\n if (!isUndefined(value)) {\n xhr.setRequestHeader(key, value + ''); // 把 null 转换成字符串\n }\n });\n }\n // 检查是否是跨域请求,跨域请求时不添加 X-Requested-With\n const crossDomain = /^([\\w-]+:)?\\/\\/([^/]+)/.test(url) &&\n RegExp.$2 !== window.location.host;\n if (!crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n if (xhrFields) {\n each(xhrFields, (key, value) => {\n // @ts-ignore\n xhr[key] = value;\n });\n }\n eventParams.xhr = xhr;\n eventParams.options = mergedOptions;\n let xhrTimeout;\n xhr.onload = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n // AJAX 返回的 HTTP 响应码是否表示成功\n const isHttpStatusSuccess = (xhr.status >= 200 && xhr.status < 300) ||\n xhr.status === 304 ||\n xhr.status === 0;\n let responseData;\n if (isHttpStatusSuccess) {\n if (xhr.status === 204 || method === 'HEAD') {\n textStatus = 'nocontent';\n }\n else if (xhr.status === 304) {\n textStatus = 'notmodified';\n }\n else {\n textStatus = 'success';\n }\n if (dataType === 'json') {\n try {\n responseData =\n method === 'HEAD' ? undefined : JSON.parse(xhr.responseText);\n eventParams.data = responseData;\n }\n catch (err) {\n textStatus = 'parsererror';\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus);\n reject(new Error(textStatus));\n }\n if (textStatus !== 'parsererror') {\n trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n }\n else {\n responseData =\n method === 'HEAD'\n ? undefined\n : xhr.responseType === 'text' || xhr.responseType === ''\n ? xhr.responseText\n : xhr.response;\n eventParams.data = responseData;\n trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n }\n else {\n textStatus = 'error';\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus);\n reject(new Error(textStatus));\n }\n // statusCode\n each([globalOptions.statusCode, statusCode], (_, func) => {\n if (func && func[xhr.status]) {\n if (isHttpStatusSuccess) {\n func[xhr.status](responseData, textStatus, xhr);\n }\n else {\n func[xhr.status](xhr, textStatus);\n }\n }\n });\n trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, textStatus);\n };\n xhr.onerror = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, xhr.statusText);\n trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, 'error');\n reject(new Error(xhr.statusText));\n };\n xhr.onabort = function () {\n let statusText = 'abort';\n if (xhrTimeout) {\n statusText = 'timeout';\n clearTimeout(xhrTimeout);\n }\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, statusText);\n trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, statusText);\n reject(new Error(statusText));\n };\n // ajax start 回调\n trigger(ajaxEvents.ajaxStart, eventParams, 'beforeSend', xhr);\n if (isCanceled) {\n reject(new Error('cancel'));\n return;\n }\n // Timeout\n if (timeout > 0) {\n xhrTimeout = setTimeout(() => {\n xhr.abort();\n }, timeout);\n }\n // 发送 XHR\n xhr.send(data);\n });\n }\n return XHR();\n}\nexport default ajax;\n","import $ from '../$';\nimport ajax from '../functions/ajax';\n$.ajax = ajax;\n","import extend from '../functions/extend';\nimport { globalOptions } from './utils/ajax';\n/**\n * 为 Ajax 请求设置全局配置参数\n * @param options 键值对参数\n * @example\n```js\najaxSetup({\n dataType: 'json',\n method: 'POST',\n});\n```\n */\nfunction ajaxSetup(options) {\n return extend(globalOptions, options);\n}\nexport default ajaxSetup;\n","import $ from '../$';\nimport ajaxSetup from '../functions/ajaxSetup';\n$.ajaxSetup = ajaxSetup;\n","import $ from '../$';\nimport contains from '../functions/contains';\n$.contains = contains;\n","const dataNS = '_mduiElementDataStorage';\nexport default dataNS;\n","import { isObjectLike, isUndefined, toCamelCase } from '../utils';\nimport each from './each';\nimport dataNS from './utils/data';\n/**\n * 在元素上设置键值对数据\n * @param element\n * @param object\n */\nfunction setObjectToElement(element, object) {\n // @ts-ignore\n if (!element[dataNS]) {\n // @ts-ignore\n element[dataNS] = {};\n }\n each(object, (key, value) => {\n // @ts-ignore\n element[dataNS][toCamelCase(key)] = value;\n });\n}\nfunction data(element, key, value) {\n // 根据键值对设置值\n // data(element, { 'key' : 'value' })\n if (isObjectLike(key)) {\n setObjectToElement(element, key);\n return key;\n }\n // 根据 key、value 设置值\n // data(element, 'key', 'value')\n if (!isUndefined(value)) {\n setObjectToElement(element, { [key]: value });\n return value;\n }\n // 获取所有值\n // data(element)\n if (isUndefined(key)) {\n // @ts-ignore\n return element[dataNS] ? element[dataNS] : {};\n }\n // 从 dataNS 中获取指定值\n // data(element, 'key')\n key = toCamelCase(key);\n // @ts-ignore\n if (element[dataNS] && key in element[dataNS]) {\n // @ts-ignore\n return element[dataNS][key];\n }\n return undefined;\n}\nexport default data;\n","import $ from '../$';\nimport data from '../functions/data';\n$.data = data;\n","import $ from '../$';\nimport each from '../functions/each';\n$.each = each;\n","import $ from '../$';\nimport each from '../functions/each';\nimport extend from '../functions/extend';\n$.extend = function (...objectN) {\n if (objectN.length === 1) {\n each(objectN[0], (prop, value) => {\n this[prop] = value;\n });\n return this;\n }\n return extend(objectN.shift(), objectN.shift(), ...objectN);\n};\n","import each from './each';\nfunction map(elements, callback) {\n let value;\n const ret = [];\n each(elements, (i, element) => {\n value = callback.call(window, element, i);\n if (value != null) {\n ret.push(value);\n }\n });\n return [].concat(...ret);\n}\nexport default map;\n","import $ from '../$';\nimport map from '../functions/map';\n$.map = map;\n","import $ from '../$';\nimport merge from '../functions/merge';\n$.merge = merge;\n","import $ from '../$';\nimport param from '../functions/param';\n$.param = param;\n","import each from '../functions/each';\nimport { isUndefined, isString, toCamelCase } from '../utils';\nimport dataNS from './utils/data';\n/**\n * 移除指定元素上存放的数据\n * @param element 存放数据的元素\n * @param name\n * 数据键名\n *\n * 若未指定键名,将移除元素上所有数据\n *\n * 多个键名可以用空格分隔,或者用数组表示多个键名\n @example\n```js\n// 移除元素上键名为 name 的数据\nremoveData(document.body, 'name');\n```\n * @example\n```js\n// 移除元素上键名为 name1 和 name2 的数据\nremoveData(document.body, 'name1 name2');\n```\n * @example\n```js\n// 移除元素上键名为 name1 和 name2 的数据\nremoveData(document.body, ['name1', 'name2']);\n```\n * @example\n```js\n// 移除元素上所有数据\nremoveData(document.body);\n```\n */\nfunction removeData(element, name) {\n // @ts-ignore\n if (!element[dataNS]) {\n return;\n }\n const remove = (nameItem) => {\n nameItem = toCamelCase(nameItem);\n // @ts-ignore\n if (element[dataNS][nameItem]) {\n // @ts-ignore\n element[dataNS][nameItem] = null;\n // @ts-ignore\n delete element[dataNS][nameItem];\n }\n };\n if (isUndefined(name)) {\n // @ts-ignore\n element[dataNS] = null;\n // @ts-ignore\n delete element[dataNS];\n // @ts-ignore\n }\n else if (isString(name)) {\n name\n .split(' ')\n .filter((nameItem) => nameItem)\n .forEach((nameItem) => remove(nameItem));\n }\n else {\n each(name, (_, nameItem) => remove(nameItem));\n }\n}\nexport default removeData;\n","import $ from '../$';\nimport removeData from '../functions/removeData';\n$.removeData = removeData;\n","import each from './each';\n/**\n * 过滤掉数组中的重复元素\n * @param arr 数组\n * @example\n```js\nunique([1, 2, 12, 3, 2, 1, 2, 1, 1]);\n// [1, 2, 12, 3]\n```\n */\nfunction unique(arr) {\n const result = [];\n each(arr, (_, val) => {\n if (result.indexOf(val) === -1) {\n result.push(val);\n }\n });\n return result;\n}\nexport default unique;\n","import $ from '../$';\nimport unique from '../functions/unique';\n$.unique = unique;\n","import $ from '../$';\nimport merge from '../functions/merge';\nimport unique from '../functions/unique';\nimport { JQ } from '../JQ';\nimport './get';\n$.fn.add = function (selector) {\n return new JQ(unique(merge(this.get(), $(selector).get())));\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isElement, isFunction } from '../utils';\nimport './each';\neach(['add', 'remove', 'toggle'], (_, name) => {\n $.fn[`${name}Class`] = function (className) {\n if (name === 'remove' && !arguments.length) {\n return this.each((_, element) => {\n element.setAttribute('class', '');\n });\n }\n return this.each((i, element) => {\n if (!isElement(element)) {\n return;\n }\n const classes = (isFunction(className)\n ? className.call(element, i, element.getAttribute('class') || '')\n : className)\n .split(' ')\n .filter((name) => name);\n each(classes, (_, cls) => {\n element.classList[name](cls);\n });\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport './each';\neach(['insertBefore', 'insertAfter'], (nameIndex, name) => {\n $.fn[name] = function (target) {\n const $element = nameIndex ? $(this.get().reverse()) : this; // 顺序和 jQuery 保持一致\n const $target = $(target);\n const result = [];\n $target.each((index, target) => {\n if (!target.parentNode) {\n return;\n }\n $element.each((_, element) => {\n const newItem = index\n ? element.cloneNode(true)\n : element;\n const existingItem = nameIndex ? target.nextSibling : target;\n result.push(newItem);\n target.parentNode.insertBefore(newItem, existingItem);\n });\n });\n return $(nameIndex ? result.reverse() : result);\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport { getChildNodesArray, isFunction, isString, isElement } from '../utils';\nimport './each';\nimport './insertAfter';\nimport './insertBefore';\n/**\n * 是否不是 HTML 字符串(包裹在 <> 中)\n * @param target\n */\nfunction isPlainText(target) {\n return (isString(target) && (target[0] !== '<' || target[target.length - 1] !== '>'));\n}\neach(['before', 'after'], (nameIndex, name) => {\n $.fn[name] = function (...args) {\n // after 方法,多个参数需要按参数顺序添加到元素后面,所以需要将参数顺序反向处理\n if (nameIndex === 1) {\n args = args.reverse();\n }\n return this.each((index, element) => {\n const targets = isFunction(args[0])\n ? [args[0].call(element, index, element.innerHTML)]\n : args;\n each(targets, (_, target) => {\n let $target;\n if (isPlainText(target)) {\n $target = $(getChildNodesArray(target, 'div'));\n }\n else if (index && isElement(target)) {\n $target = $(target.cloneNode(true));\n }\n else {\n $target = $(target);\n }\n $target[nameIndex ? 'insertAfter' : 'insertBefore'](element);\n });\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isFunction, isObjectLike, returnFalse } from '../utils';\nimport './each';\nimport { remove } from './utils/event';\n$.fn.off = function (types, selector, callback) {\n // types 是对象\n if (isObjectLike(types)) {\n each(types, (type, fn) => {\n // this.off('click', undefined, function () {})\n // this.off('click', '.box', function () {})\n this.off(type, selector, fn);\n });\n return this;\n }\n // selector 不存在\n if (selector === false || isFunction(selector)) {\n callback = selector;\n selector = undefined;\n // this.off('click', undefined, function () {})\n }\n // callback 传入 `false`,相当于 `return false`\n if (callback === false) {\n callback = returnFalse;\n }\n return this.each(function () {\n remove(this, types, callback, selector);\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isObjectLike, isString, returnFalse } from '../utils';\nimport './each';\nimport './off';\nimport { add } from './utils/event';\n$.fn.on = function (types, selector, data, callback, one) {\n // types 可以是 type/func 对象\n if (isObjectLike(types)) {\n // (types-Object, selector, data)\n if (!isString(selector)) {\n // (types-Object, data)\n data = data || selector;\n selector = undefined;\n }\n each(types, (type, fn) => {\n // selector 和 data 都可能是 undefined\n // @ts-ignore\n this.on(type, selector, data, fn, one);\n });\n return this;\n }\n if (data == null && callback == null) {\n // (types, fn)\n callback = selector;\n data = selector = undefined;\n }\n else if (callback == null) {\n if (isString(selector)) {\n // (types, selector, fn)\n callback = data;\n data = undefined;\n }\n else {\n // (types, data, fn)\n callback = data;\n data = selector;\n selector = undefined;\n }\n }\n if (callback === false) {\n callback = returnFalse;\n }\n else if (!callback) {\n return this;\n }\n // $().one()\n if (one) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const _this = this;\n const origCallback = callback;\n callback = function (event) {\n _this.off(event.type, selector, callback);\n // eslint-disable-next-line prefer-rest-params\n return origCallback.apply(this, arguments);\n };\n }\n return this.each(function () {\n add(this, types, callback, data, selector);\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { ajaxEvents } from '../functions/utils/ajax';\nimport './on';\neach(ajaxEvents, (name, eventName) => {\n $.fn[name] = function (fn) {\n return this.on(eventName, (e, params) => {\n fn(e, params.xhr, params.options, params.data);\n });\n };\n});\n","import $ from '../$';\nimport map from '../functions/map';\nimport { JQ } from '../JQ';\n$.fn.map = function (callback) {\n return new JQ(map(this, (element, i) => callback.call(element, i, element)));\n};\n","import $ from '../$';\nimport './map';\n$.fn.clone = function () {\n return this.map(function () {\n return this.cloneNode(true);\n });\n};\n","import $ from '../$';\nimport { isDocument, isFunction, isString, isWindow } from '../utils';\nimport './each';\n$.fn.is = function (selector) {\n let isMatched = false;\n if (isFunction(selector)) {\n this.each((index, element) => {\n if (selector.call(element, index, element)) {\n isMatched = true;\n }\n });\n return isMatched;\n }\n if (isString(selector)) {\n this.each((_, element) => {\n if (isDocument(element) || isWindow(element)) {\n return;\n }\n // @ts-ignore\n const matches = element.matches || element.msMatchesSelector;\n if (matches.call(element, selector)) {\n isMatched = true;\n }\n });\n return isMatched;\n }\n const $compareWith = $(selector);\n this.each((_, element) => {\n $compareWith.each((_, compare) => {\n if (element === compare) {\n isMatched = true;\n }\n });\n });\n return isMatched;\n};\n","import $ from '../$';\nimport './each';\nimport './is';\n$.fn.remove = function (selector) {\n return this.each((_, element) => {\n if (element.parentNode && (!selector || $(element).is(selector))) {\n element.parentNode.removeChild(element);\n }\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isFunction, isString } from '../utils';\nimport './after';\nimport './before';\nimport './clone';\nimport './each';\nimport './map';\nimport './remove';\neach(['prepend', 'append'], (nameIndex, name) => {\n $.fn[name] = function (...args) {\n return this.each((index, element) => {\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n const child = childLength\n ? childNodes[nameIndex ? childLength - 1 : 0]\n : document.createElement('div');\n if (!childLength) {\n element.appendChild(child);\n }\n let contents = isFunction(args[0])\n ? [args[0].call(element, index, element.innerHTML)]\n : args;\n // 如果不是字符串,则仅第一个元素使用原始元素,其他的都克隆自第一个元素\n if (index) {\n contents = contents.map((content) => {\n return isString(content) ? content : $(content).clone();\n });\n }\n $(child)[nameIndex ? 'after' : 'before'](...contents);\n if (!childLength) {\n element.removeChild(child);\n }\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport './insertAfter';\nimport './insertBefore';\nimport './map';\nimport './remove';\neach(['appendTo', 'prependTo'], (nameIndex, name) => {\n $.fn[name] = function (target) {\n const extraChilds = [];\n const $target = $(target).map((_, element) => {\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n if (childLength) {\n return childNodes[nameIndex ? 0 : childLength - 1];\n }\n const child = document.createElement('div');\n element.appendChild(child);\n extraChilds.push(child);\n return child;\n });\n const $result = this[nameIndex ? 'insertBefore' : 'insertAfter']($target);\n $(extraChilds).remove();\n return $result;\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport { cssNumber, getStyle, isElement, isFunction, isNull, isNumber, isObjectLike, isUndefined, toCamelCase, } from '../utils';\nimport './each';\neach(['attr', 'prop', 'css'], (nameIndex, name) => {\n function set(element, key, value) {\n // 值为 undefined 时,不修改\n if (isUndefined(value)) {\n return;\n }\n switch (nameIndex) {\n // attr\n case 0:\n if (isNull(value)) {\n element.removeAttribute(key);\n }\n else {\n element.setAttribute(key, value);\n }\n break;\n // prop\n case 1:\n // @ts-ignore\n element[key] = value;\n break;\n // css\n default:\n key = toCamelCase(key);\n // @ts-ignore\n element.style[key] = isNumber(value)\n ? `${value}${cssNumber.indexOf(key) > -1 ? '' : 'px'}`\n : value;\n break;\n }\n }\n function get(element, key) {\n switch (nameIndex) {\n // attr\n case 0:\n // 属性不存在时,原生 getAttribute 方法返回 null,而 jquery 返回 undefined。这里和 jquery 保持一致\n const value = element.getAttribute(key);\n return isNull(value) ? undefined : value;\n // prop\n case 1:\n // @ts-ignore\n return element[key];\n // css\n default:\n return getStyle(element, key);\n }\n }\n $.fn[name] = function (key, value) {\n if (isObjectLike(key)) {\n each(key, (k, v) => {\n // @ts-ignore\n this[name](k, v);\n });\n return this;\n }\n if (arguments.length === 1) {\n const element = this[0];\n return isElement(element) ? get(element, key) : undefined;\n }\n return this.each((i, element) => {\n set(element, key, isFunction(value) ? value.call(element, i, get(element, key)) : value);\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport unique from '../functions/unique';\nimport { JQ } from '../JQ';\nimport { isElement } from '../utils';\nimport './each';\nimport './is';\n$.fn.children = function (selector) {\n const children = [];\n this.each((_, element) => {\n each(element.childNodes, (__, childNode) => {\n if (!isElement(childNode)) {\n return;\n }\n if (!selector || $(childNode).is(selector)) {\n children.push(childNode);\n }\n });\n });\n return new JQ(unique(children));\n};\n","import $ from '../$';\nimport { JQ } from '../JQ';\n$.fn.slice = function (...args) {\n return new JQ([].slice.apply(this, args));\n};\n","import $ from '../$';\nimport { JQ } from '../JQ';\nimport './slice';\n$.fn.eq = function (index) {\n const ret = index === -1 ? this.slice(index) : this.slice(index, +index + 1);\n return new JQ(ret);\n};\n","import $ from '../../$';\nimport unique from '../../functions/unique';\nimport { JQ } from '../../JQ';\nimport { isElement } from '../../utils';\nimport '../each';\nimport '../is';\nexport default function dir($elements, nameIndex, node, selector, filter) {\n const ret = [];\n let target;\n $elements.each((_, element) => {\n target = element[node];\n // 不能包含最顶层的 document 元素\n while (target && isElement(target)) {\n // prevUntil, nextUntil, parentsUntil\n if (nameIndex === 2) {\n if (selector && $(target).is(selector)) {\n break;\n }\n if (!filter || $(target).is(filter)) {\n ret.push(target);\n }\n }\n // prev, next, parent\n else if (nameIndex === 0) {\n if (!selector || $(target).is(selector)) {\n ret.push(target);\n }\n break;\n }\n // prevAll, nextAll, parents\n else {\n if (!selector || $(target).is(selector)) {\n ret.push(target);\n }\n }\n // @ts-ignore\n target = target[node];\n }\n });\n return new JQ(unique(ret));\n}\n","import $ from '../$';\nimport each from '../functions/each';\nimport './get';\nimport dir from './utils/dir';\neach(['', 's', 'sUntil'], (nameIndex, name) => {\n $.fn[`parent${name}`] = function (selector, filter) {\n // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致\n const $nodes = !nameIndex ? this : $(this.get().reverse());\n return dir($nodes, nameIndex, 'parentNode', selector, filter);\n };\n});\n","import $ from '../$';\nimport { JQ } from '../JQ';\nimport './eq';\nimport './is';\nimport './parents';\n$.fn.closest = function (selector) {\n if (this.is(selector)) {\n return this;\n }\n const matched = [];\n this.parents().each((_, element) => {\n if ($(element).is(selector)) {\n matched.push(element);\n return false;\n }\n });\n return new JQ(matched);\n};\n","import $ from '../$';\nimport data from '../functions/data';\nimport { isObjectLike, isString, isUndefined, toCamelCase, toKebabCase, } from '../utils';\nimport './each';\nconst rbrace = /^(?:{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/;\n// 从 `data-*` 中获取的值,需要经过该函数转换\nfunction getData(value) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === 'null') {\n return null;\n }\n if (value === +value + '') {\n return +value;\n }\n if (rbrace.test(value)) {\n return JSON.parse(value);\n }\n return value;\n}\n// 若 value 不存在,则从 `data-*` 中获取值\nfunction dataAttr(element, key, value) {\n if (isUndefined(value) && element.nodeType === 1) {\n const name = 'data-' + toKebabCase(key);\n value = element.getAttribute(name);\n if (isString(value)) {\n try {\n value = getData(value);\n }\n catch (e) { }\n }\n else {\n value = undefined;\n }\n }\n return value;\n}\n$.fn.data = function (key, value) {\n // 获取所有值\n if (isUndefined(key)) {\n if (!this.length) {\n return undefined;\n }\n const element = this[0];\n const resultData = data(element);\n // window, document 上不存在 `data-*` 属性\n if (element.nodeType !== 1) {\n return resultData;\n }\n // 从 `data-*` 中获取值\n const attrs = element.attributes;\n let i = attrs.length;\n while (i--) {\n if (attrs[i]) {\n let name = attrs[i].name;\n if (name.indexOf('data-') === 0) {\n name = toCamelCase(name.slice(5));\n resultData[name] = dataAttr(element, name, resultData[name]);\n }\n }\n }\n return resultData;\n }\n // 同时设置多个值\n if (isObjectLike(key)) {\n return this.each(function () {\n data(this, key);\n });\n }\n // value 传入了 undefined\n if (arguments.length === 2 && isUndefined(value)) {\n return this;\n }\n // 设置值\n if (!isUndefined(value)) {\n return this.each(function () {\n data(this, key, value);\n });\n }\n // 获取值\n if (!this.length) {\n return undefined;\n }\n return dataAttr(this[0], key, data(this[0], key));\n};\n","import $ from '../$';\nimport './each';\n$.fn.empty = function () {\n return this.each(function () {\n this.innerHTML = '';\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\n$.fn.extend = function (obj) {\n each(obj, (prop, value) => {\n // 在 JQ 对象上扩展方法时,需要自己添加 typescript 的类型定义\n $.fn[prop] = value;\n });\n return this;\n};\n","import $ from '../$';\nimport { isFunction, isString } from '../utils';\nimport './is';\nimport './map';\n$.fn.filter = function (selector) {\n if (isFunction(selector)) {\n return this.map((index, element) => selector.call(element, index, element) ? element : undefined);\n }\n if (isString(selector)) {\n return this.map((_, element) => $(element).is(selector) ? element : undefined);\n }\n const $selector = $(selector);\n return this.map((_, element) => $selector.get().indexOf(element) > -1 ? element : undefined);\n};\n","import $ from '../$';\nimport './eq';\n$.fn.first = function () {\n return this.eq(0);\n};\n","import $ from '../$';\nimport contains from '../functions/contains';\nimport { isString } from '../utils';\nimport './find';\n$.fn.has = function (selector) {\n const $targets = isString(selector) ? this.find(selector) : $(selector);\n const { length } = $targets;\n return this.map(function () {\n for (let i = 0; i < length; i += 1) {\n if (contains(this, $targets[i])) {\n return this;\n }\n }\n return;\n });\n};\n","import $ from '../$';\n$.fn.hasClass = function (className) {\n return this[0].classList.contains(className);\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isBoolean, isDocument, isFunction, isWindow, toElement, isBorderBox, getExtraWidth, getComputedStyleValue, isIE, } from '../utils';\nimport './css';\nimport './each';\n/**\n * 值上面的 padding、border、margin 处理\n * @param element\n * @param name\n * @param value\n * @param funcIndex\n * @param includeMargin\n * @param multiply\n */\nfunction handleExtraWidth(element, name, value, funcIndex, includeMargin, multiply) {\n // 获取元素的 padding, border, margin 宽度(两侧宽度的和)\n const getExtraWidthValue = (extra) => {\n return (getExtraWidth(element, name.toLowerCase(), extra) *\n multiply);\n };\n if (funcIndex === 2 && includeMargin) {\n value += getExtraWidthValue('margin');\n }\n if (isBorderBox(element)) {\n // IE 为 box-sizing: border-box 时,得到的值不含 border 和 padding,这里先修复\n // 仅获取时需要处理,multiply === 1 为 get\n if (isIE() && multiply === 1) {\n value += getExtraWidthValue('border');\n value += getExtraWidthValue('padding');\n }\n if (funcIndex === 0) {\n value -= getExtraWidthValue('border');\n }\n if (funcIndex === 1) {\n value -= getExtraWidthValue('border');\n value -= getExtraWidthValue('padding');\n }\n }\n else {\n if (funcIndex === 0) {\n value += getExtraWidthValue('padding');\n }\n if (funcIndex === 2) {\n value += getExtraWidthValue('border');\n value += getExtraWidthValue('padding');\n }\n }\n return value;\n}\n/**\n * 获取元素的样式值\n * @param element\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n */\nfunction get(element, name, funcIndex, includeMargin) {\n const clientProp = `client${name}`;\n const scrollProp = `scroll${name}`;\n const offsetProp = `offset${name}`;\n const innerProp = `inner${name}`;\n // $(window).width()\n if (isWindow(element)) {\n // outerWidth, outerHeight 需要包含滚动条的宽度\n return funcIndex === 2\n ? element[innerProp]\n : toElement(document)[clientProp];\n }\n // $(document).width()\n if (isDocument(element)) {\n const doc = toElement(element);\n return Math.max(\n // @ts-ignore\n element.body[scrollProp], doc[scrollProp], \n // @ts-ignore\n element.body[offsetProp], doc[offsetProp], doc[clientProp]);\n }\n const value = parseFloat(getComputedStyleValue(element, name.toLowerCase()) || '0');\n return handleExtraWidth(element, name, value, funcIndex, includeMargin, 1);\n}\n/**\n * 设置元素的样式值\n * @param element\n * @param elementIndex\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n * @param value\n */\nfunction set(element, elementIndex, name, funcIndex, includeMargin, value) {\n let computedValue = isFunction(value)\n ? value.call(element, elementIndex, get(element, name, funcIndex, includeMargin))\n : value;\n if (computedValue == null) {\n return;\n }\n const $element = $(element);\n const dimension = name.toLowerCase();\n // 特殊的值,不需要计算 padding、border、margin\n if (['auto', 'inherit', ''].indexOf(computedValue) > -1) {\n $element.css(dimension, computedValue);\n return;\n }\n // 其他值保留原始单位。注意:如果不使用 px 作为单位,则算出的值一般是不准确的\n const suffix = computedValue.toString().replace(/\\b[0-9.]*/, '');\n const numerical = parseFloat(computedValue);\n computedValue =\n handleExtraWidth(element, name, numerical, funcIndex, includeMargin, -1) +\n (suffix || 'px');\n $element.css(dimension, computedValue);\n}\neach(['Width', 'Height'], (_, name) => {\n each([`inner${name}`, name.toLowerCase(), `outer${name}`], (funcIndex, funcName) => {\n $.fn[funcName] = function (margin, value) {\n // 是否是赋值操作\n const isSet = arguments.length && (funcIndex < 2 || !isBoolean(margin));\n const includeMargin = margin === true || value === true;\n // 获取第一个元素的值\n if (!isSet) {\n return this.length\n ? get(this[0], name, funcIndex, includeMargin)\n : undefined;\n }\n // 设置每个元素的值\n return this.each((index, element) => set(element, index, name, funcIndex, includeMargin, margin));\n };\n });\n});\n","import $ from '../$';\nimport './each';\n$.fn.hide = function () {\n return this.each(function () {\n this.style.display = 'none';\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport map from '../functions/map';\nimport { isElement, isFunction, isUndefined, toElement } from '../utils';\nimport './each';\nimport './is';\neach(['val', 'html', 'text'], (nameIndex, name) => {\n const props = {\n 0: 'value',\n 1: 'innerHTML',\n 2: 'textContent',\n };\n const propName = props[nameIndex];\n function get($elements) {\n // text() 获取所有元素的文本\n if (nameIndex === 2) {\n // @ts-ignore\n return map($elements, (element) => toElement(element)[propName]).join('');\n }\n // 空集合时,val() 和 html() 返回 undefined\n if (!$elements.length) {\n return undefined;\n }\n // val() 和 html() 仅获取第一个元素的内容\n const firstElement = $elements[0];\n // select multiple 返回数组\n if (nameIndex === 0 && $(firstElement).is('select[multiple]')) {\n return map($(firstElement).find('option:checked'), (element) => element.value);\n }\n // @ts-ignore\n return firstElement[propName];\n }\n function set(element, value) {\n // text() 和 html() 赋值为 undefined,则保持原内容不变\n // val() 赋值为 undefined 则赋值为空\n if (isUndefined(value)) {\n if (nameIndex !== 0) {\n return;\n }\n value = '';\n }\n if (nameIndex === 1 && isElement(value)) {\n value = value.outerHTML;\n }\n // @ts-ignore\n element[propName] = value;\n }\n $.fn[name] = function (value) {\n // 获取值\n if (!arguments.length) {\n return get(this);\n }\n // 设置值\n return this.each((i, element) => {\n const computedValue = isFunction(value)\n ? value.call(element, i, get($(element)))\n : value;\n // value 是数组,则选中数组中的元素,反选不在数组中的元素\n if (nameIndex === 0 && Array.isArray(computedValue)) {\n // select[multiple]\n if ($(element).is('select[multiple]')) {\n map($(element).find('option'), (option) => (option.selected =\n computedValue.indexOf(option.value) >\n -1));\n }\n // 其他 checkbox, radio 等元素\n else {\n element.checked =\n computedValue.indexOf(element.value) > -1;\n }\n }\n else {\n set(element, computedValue);\n }\n });\n };\n});\n","import $ from '../$';\nimport { isString } from '../utils';\nimport './children';\nimport './eq';\nimport './get';\nimport './parent';\n$.fn.index = function (selector) {\n if (!arguments.length) {\n return this.eq(0).parent().children().get().indexOf(this[0]);\n }\n if (isString(selector)) {\n return $(selector).get().indexOf(this[0]);\n }\n return this.get().indexOf($(selector)[0]);\n};\n","import $ from '../$';\nimport './eq';\n$.fn.last = function () {\n return this.eq(-1);\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport dir from './utils/dir';\neach(['', 'All', 'Until'], (nameIndex, name) => {\n $.fn[`next${name}`] = function (selector, filter) {\n return dir(this, nameIndex, 'nextElementSibling', selector, filter);\n };\n});\n","import $ from '../$';\nimport './filter';\nimport './map';\n$.fn.not = function (selector) {\n const $excludes = this.filter(selector);\n return this.map((_, element) => $excludes.index(element) > -1 ? undefined : element);\n};\n","import $ from '../$';\nimport './css';\nimport './map';\n/**\n * 返回最近的用于定位的父元素\n */\n$.fn.offsetParent = function () {\n return this.map(function () {\n let offsetParent = this.offsetParent;\n while (offsetParent && $(offsetParent).css('position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || document.documentElement;\n });\n};\n","import $ from '../$';\nimport './css';\nimport './eq';\nimport './offset';\nimport './offsetParent';\nfunction floatStyle($element, name) {\n return parseFloat($element.css(name));\n}\n$.fn.position = function () {\n if (!this.length) {\n return undefined;\n }\n const $element = this.eq(0);\n let currentOffset;\n let parentOffset = {\n left: 0,\n top: 0,\n };\n if ($element.css('position') === 'fixed') {\n currentOffset = $element[0].getBoundingClientRect();\n }\n else {\n currentOffset = $element.offset();\n const $offsetParent = $element.offsetParent();\n parentOffset = $offsetParent.offset();\n parentOffset.top += floatStyle($offsetParent, 'border-top-width');\n parentOffset.left += floatStyle($offsetParent, 'border-left-width');\n }\n return {\n top: currentOffset.top - parentOffset.top - floatStyle($element, 'margin-top'),\n left: currentOffset.left -\n parentOffset.left -\n floatStyle($element, 'margin-left'),\n };\n};\n","import $ from '../$';\nimport extend from '../functions/extend';\nimport { isFunction } from '../utils';\nimport './css';\nimport './each';\nimport './position';\nfunction get(element) {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n const rect = element.getBoundingClientRect();\n const win = element.ownerDocument.defaultView;\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset,\n };\n}\nfunction set(element, value, index) {\n const $element = $(element);\n const position = $element.css('position');\n if (position === 'static') {\n $element.css('position', 'relative');\n }\n const currentOffset = get(element);\n const currentTopString = $element.css('top');\n const currentLeftString = $element.css('left');\n let currentTop;\n let currentLeft;\n const calculatePosition = (position === 'absolute' || position === 'fixed') &&\n (currentTopString + currentLeftString).indexOf('auto') > -1;\n if (calculatePosition) {\n const currentPosition = $element.position();\n currentTop = currentPosition.top;\n currentLeft = currentPosition.left;\n }\n else {\n currentTop = parseFloat(currentTopString);\n currentLeft = parseFloat(currentLeftString);\n }\n const computedValue = isFunction(value)\n ? value.call(element, index, extend({}, currentOffset))\n : value;\n $element.css({\n top: computedValue.top != null\n ? computedValue.top - currentOffset.top + currentTop\n : undefined,\n left: computedValue.left != null\n ? computedValue.left - currentOffset.left + currentLeft\n : undefined,\n });\n}\n$.fn.offset = function (value) {\n // 获取坐标\n if (!arguments.length) {\n if (!this.length) {\n return undefined;\n }\n return get(this[0]);\n }\n // 设置坐标\n return this.each(function (index) {\n set(this, value, index);\n });\n};\n","import $ from '../$';\nimport './on';\n$.fn.one = function (types, selector, data, callback) {\n // @ts-ignore\n return this.on(types, selector, data, callback, true);\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport './get';\nimport dir from './utils/dir';\neach(['', 'All', 'Until'], (nameIndex, name) => {\n $.fn[`prev${name}`] = function (selector, filter) {\n // prevAll、prevUntil 需要把元素的顺序倒序处理,以便和 jQuery 的结果一致\n const $nodes = !nameIndex ? this : $(this.get().reverse());\n return dir($nodes, nameIndex, 'previousElementSibling', selector, filter);\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport './each';\n$.fn.removeAttr = function (attributeName) {\n const names = attributeName.split(' ').filter((name) => name);\n return this.each(function () {\n each(names, (_, name) => {\n this.removeAttribute(name);\n });\n });\n};\n","import $ from '../$';\nimport removeData from '../functions/removeData';\nimport './each';\n$.fn.removeData = function (name) {\n return this.each(function () {\n removeData(this, name);\n });\n};\n","import $ from '../$';\nimport './each';\n$.fn.removeProp = function (name) {\n return this.each(function () {\n try {\n // @ts-ignore\n delete this[name];\n }\n catch (e) { }\n });\n};\n","import $ from '../$';\nimport './before';\nimport './clone';\nimport './each';\nimport './remove';\nimport { isFunction, isString } from '../utils';\n$.fn.replaceWith = function (newContent) {\n this.each((index, element) => {\n let content = newContent;\n if (isFunction(content)) {\n content = content.call(element, index, element.innerHTML);\n }\n else if (index && !isString(content)) {\n content = $(content).clone();\n }\n $(element).before(content);\n });\n return this.remove();\n};\n","import $ from '../$';\nimport './clone';\nimport './get';\nimport './map';\nimport './replaceWith';\n$.fn.replaceAll = function (target) {\n return $(target).map((index, element) => {\n $(element).replaceWith(index ? this.clone() : this);\n return this.get();\n });\n};\n","import $ from '../$';\nimport './each';\nimport './val';\n/**\n * 将表单元素的值组合成键值对数组\n * @returns {Array}\n */\n$.fn.serializeArray = function () {\n const result = [];\n this.each((_, element) => {\n const elements = element instanceof HTMLFormElement ? element.elements : [element];\n $(elements).each((_, element) => {\n const $element = $(element);\n const type = element.type;\n const nodeName = element.nodeName.toLowerCase();\n if (nodeName !== 'fieldset' &&\n element.name &&\n !element.disabled &&\n ['input', 'select', 'textarea', 'keygen'].indexOf(nodeName) > -1 &&\n ['submit', 'button', 'image', 'reset', 'file'].indexOf(type) === -1 &&\n (['radio', 'checkbox'].indexOf(type) === -1 ||\n element.checked)) {\n const value = $element.val();\n const valueArr = Array.isArray(value) ? value : [value];\n valueArr.forEach((value) => {\n result.push({\n name: element.name,\n value,\n });\n });\n }\n });\n });\n return result;\n};\n","import $ from '../$';\nimport param from '../functions/param';\nimport './serializeArray';\n$.fn.serialize = function () {\n return param(this.serializeArray());\n};\n","import $ from '../$';\nimport { getStyle } from '../utils';\nimport './each';\nconst elementDisplay = {};\n/**\n * 获取元素的初始 display 值,用于 .show() 方法\n * @param nodeName\n */\nfunction defaultDisplay(nodeName) {\n let element;\n let display;\n if (!elementDisplay[nodeName]) {\n element = document.createElement(nodeName);\n document.body.appendChild(element);\n display = getStyle(element, 'display');\n element.parentNode.removeChild(element);\n if (display === 'none') {\n display = 'block';\n }\n elementDisplay[nodeName] = display;\n }\n return elementDisplay[nodeName];\n}\n/**\n * 显示指定元素\n * @returns {JQ}\n */\n$.fn.show = function () {\n return this.each(function () {\n if (this.style.display === 'none') {\n this.style.display = '';\n }\n if (getStyle(this, 'display') === 'none') {\n this.style.display = defaultDisplay(this.nodeName);\n }\n });\n};\n","import $ from '../$';\nimport './add';\nimport './nextAll';\nimport './prevAll';\n/**\n * 取得同辈元素的集合\n * @param selector {String=}\n * @returns {JQ}\n */\n$.fn.siblings = function (selector) {\n return this.prevAll(selector).add(this.nextAll(selector));\n};\n","import $ from '../$';\nimport { getStyle } from '../utils';\nimport './each';\nimport './hide';\nimport './show';\n/**\n * 切换元素的显示状态\n */\n$.fn.toggle = function () {\n return this.each(function () {\n getStyle(this, 'display') === 'none' ? $(this).show() : $(this).hide();\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 强制重绘当前元素\n *\n * @example\n```js\n$('.box').reflow();\n```\n */\n reflow(): this;\n }\n}\n\n$.fn.reflow = function (this: JQ): JQ {\n return this.each(function () {\n return this.clientLeft;\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport { isNumber } from 'mdui.jq/es/utils';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 设置当前元素的 transition-duration 属性\n * @param duration 可以是带单位的值;若不带单位,则自动添加 `ms` 作为单位\n * @example\n```js\n$('.box').transition('300ms');\n$('.box').transition(300);\n```\n */\n transition(duration: string | number): this;\n }\n}\n\n$.fn.transition = function (this: JQ, duration: string | number): JQ {\n if (isNumber(duration)) {\n duration = `${duration}ms`;\n }\n\n return this.each(function () {\n this.style.webkitTransitionDuration = duration as string;\n this.style.transitionDuration = duration as string;\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport each from 'mdui.jq/es/functions/each';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/off';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 在当前元素上添加 transitionend 事件回调\n * @param callback 回调函数的参数为 `transitionend` 事件对象;`this` 指向当前元素\n * @example\n```js\n$('.box').transitionEnd(function() {\n alert('.box 元素的 transitionend 事件已触发');\n});\n```\n */\n transitionEnd(callback: (this: T, e: Event) => void): this;\n }\n}\n\n$.fn.transitionEnd = function (\n this: JQ,\n callback: (this: HTMLElement, e: Event) => void,\n): JQ {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const events = ['webkitTransitionEnd', 'transitionend'];\n\n function fireCallback(this: Element | Document | Window, e: Event): void {\n if (e.target !== this) {\n return;\n }\n\n // @ts-ignore\n callback.call(this, e);\n\n each(events, (_, event) => {\n that.off(event, fireCallback);\n });\n }\n\n each(events, (_, event) => {\n that.on(event, fireCallback);\n });\n\n return this;\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 设置当前元素的 transform-origin 属性\n * @param transformOrigin\n * @example\n```js\n$('.box').transformOrigin('top center');\n```\n */\n transformOrigin(transformOrigin: string): this;\n }\n}\n\n$.fn.transformOrigin = function (this: JQ, transformOrigin: string): JQ {\n return this.each(function () {\n this.style.webkitTransformOrigin = transformOrigin;\n this.style.transformOrigin = transformOrigin;\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 设置当前元素的 transform 属性\n * @param transform\n * @example\n```js\n$('.box').transform('rotate(90deg)');\n```\n */\n transform(transform: string): this;\n }\n}\n\n$.fn.transform = function (this: JQ, transform: string): JQ {\n return this.each(function () {\n this.style.webkitTransform = transform;\n this.style.transform = transform;\n });\n};\n","import PlainObject from 'mdui.jq/es/interfaces/PlainObject';\nimport data from 'mdui.jq/es/functions/data';\n\ntype TYPE_API_INIT = (\n this: HTMLElement,\n i: number,\n element: HTMLElement,\n) => void;\n\n/**\n * CSS 选择器和初始化函数组成的对象\n */\nconst entries: PlainObject = {};\n\n/**\n * 注册并执行初始化函数\n * @param selector CSS 选择器\n * @param apiInit 初始化函数\n * @param i 元素索引\n * @param element 元素\n */\nfunction mutation(\n selector: string,\n apiInit: TYPE_API_INIT,\n i: number,\n element: HTMLElement,\n): void {\n let selectors = data(element, '_mdui_mutation');\n\n if (!selectors) {\n selectors = [];\n data(element, '_mdui_mutation', selectors);\n }\n\n if (selectors.indexOf(selector) === -1) {\n selectors.push(selector);\n apiInit.call(element, i, element);\n }\n}\n\nexport { TYPE_API_INIT, entries, mutation };\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport each from 'mdui.jq/es/functions/each';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/is';\nimport { entries, mutation } from '../../utils/mutation';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 执行在当前元素及其子元素内注册的初始化函数\n */\n mutation(): this;\n }\n}\n\n$.fn.mutation = function (this: JQ): JQ {\n return this.each((i, element) => {\n const $this = $(element);\n\n each(entries, (selector: string, apiInit) => {\n if ($this.is(selector)) {\n mutation(selector, apiInit, i, element);\n }\n\n $this.find(selector).each((i, element) => {\n mutation(selector, apiInit, i, element);\n });\n });\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/addClass';\nimport '../methods/reflow';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 创建并显示遮罩,返回遮罩层的 JQ 对象\n * @param zIndex 遮罩层的 `z-index` 值,默认为 `2000`\n * @example\n```js\n$.showOverlay();\n```\n * @example\n```js\n$.showOverlay(3000);\n```\n */\n showOverlay(zIndex?: number): JQ;\n }\n}\n\n$.showOverlay = function (zIndex?: number): JQ {\n let $overlay = $('.mdui-overlay');\n\n if ($overlay.length) {\n $overlay.data('_overlay_is_deleted', false);\n\n if (!isUndefined(zIndex)) {\n $overlay.css('z-index', zIndex);\n }\n } else {\n if (isUndefined(zIndex)) {\n zIndex = 2000;\n }\n\n $overlay = $('
              ')\n .appendTo(document.body)\n .reflow()\n .css('z-index', zIndex);\n }\n\n let level = $overlay.data('_overlay_level') || 0;\n\n return $overlay.data('_overlay_level', ++level).addClass('mdui-overlay-show');\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/remove';\nimport '../methods/transitionEnd';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 隐藏遮罩层\n *\n * 如果调用了多次 $.showOverlay() 来显示遮罩层,则也需要调用相同次数的 $.hideOverlay() 才能隐藏遮罩层。可以通过传入参数 true 来强制隐藏遮罩层。\n * @param force 是否强制隐藏遮罩\n * @example\n```js\n$.hideOverlay();\n```\n * @example\n```js\n$.hideOverlay(true);\n```\n */\n hideOverlay(force?: boolean): void;\n }\n}\n\n$.hideOverlay = function (force = false): void {\n const $overlay = $('.mdui-overlay');\n\n if (!$overlay.length) {\n return;\n }\n\n let level = force ? 1 : $overlay.data('_overlay_level');\n\n if (level > 1) {\n $overlay.data('_overlay_level', --level);\n return;\n }\n\n $overlay\n .data('_overlay_level', 0)\n .removeClass('mdui-overlay-show')\n .data('_overlay_is_deleted', true)\n .transitionEnd(() => {\n if ($overlay.data('_overlay_is_deleted')) {\n $overlay.remove();\n }\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/width';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 锁定屏页面,禁止页面滚动\n * @example\n```js\n$.lockScreen();\n```\n */\n lockScreen(): void;\n }\n}\n\n$.lockScreen = function (): void {\n const $body = $('body');\n\n // 不直接把 body 设为 box-sizing: border-box,避免污染全局样式\n const newBodyWidth = $body.width();\n let level = $body.data('_lockscreen_level') || 0;\n\n $body\n .addClass('mdui-locked')\n .width(newBodyWidth)\n .data('_lockscreen_level', ++level);\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/width';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 解除页面锁定\n *\n * 如果调用了多次 $.lockScreen() 来显示遮罩层,则也需要调用相同次数的 $.unlockScreen() 才能隐藏遮罩层。可以通过传入参数 true 来强制隐藏遮罩层。\n * @param force 是否强制解除锁定\n * @example\n```js\n$.unlockScreen();\n```\n * @example\n```js\n$.unlockScreen(true);\n```\n */\n unlockScreen(force?: boolean): void;\n }\n}\n\n$.unlockScreen = function (force = false): void {\n const $body = $('body');\n let level = force ? 1 : $body.data('_lockscreen_level');\n\n if (level > 1) {\n $body.data('_lockscreen_level', --level);\n return;\n }\n\n $body.data('_lockscreen_level', 0).removeClass('mdui-locked').width('');\n};\n","import $ from 'mdui.jq/es/$';\nimport { isNull } from 'mdui.jq/es/utils';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 函数节流\n * @param fn 执行的函数\n * @param delay 最多多少毫秒执行一次\n * @example\n```js\n$.throttle(function () {\n console.log('这个函数最多 100ms 执行一次');\n}, 100)\n```\n */\n throttle(fn: () => void, delay: number): () => void;\n }\n}\n\n$.throttle = function (fn: () => void, delay = 16): () => void {\n let timer: any = null;\n\n return function (this: any, ...args: any): void {\n if (isNull(timer)) {\n timer = setTimeout(() => {\n fn.apply(this, args);\n timer = null;\n }, delay);\n }\n };\n};\n","import $ from 'mdui.jq/es/$';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport PlainObject from 'mdui.jq/es/interfaces/PlainObject';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 生成一个全局唯一的 ID\n * @param name 当该参数值对应的 guid 不存在时,会生成一个新的 guid,并返回;当该参数对应的 guid 已存在,则直接返回已有 guid\n * @example\n```js\n$.guid();\n```\n * @example\n```js\n$.guid('test');\n```\n */\n guid(name?: string): string;\n }\n}\n\nconst GUID: PlainObject = {};\n\n$.guid = function (name?: string): string {\n if (!isUndefined(name) && !isUndefined(GUID[name])) {\n return GUID[name];\n }\n\n function s4(): string {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n\n const guid =\n '_' +\n s4() +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n s4() +\n s4();\n\n if (!isUndefined(name)) {\n GUID[name] = guid;\n }\n\n return guid;\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/each';\nimport mdui from '../mdui';\nimport '../jq_extends/methods/mutation';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport { TYPE_API_INIT, entries, mutation } from '../utils/mutation';\n\ndeclare module '../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 传入了两个参数时,注册并执行初始化函数\n *\n * 没有传入参数时,执行初始化\n * @param selector CSS 选择器\n * @param apiInit 初始化函数\n * @example\n```js\nmdui.mutation();\n```\n * @example\n```js\nmdui.mutation();\n```\n */\n mutation(selector?: string, apiInit?: TYPE_API_INIT): void;\n }\n}\n\nmdui.mutation = function (selector?: string, apiInit?: TYPE_API_INIT): void {\n if (isUndefined(selector) || isUndefined(apiInit)) {\n $(document).mutation();\n return;\n }\n\n entries[selector] = apiInit!;\n $(selector).each((i, element) => mutation(selector, apiInit, i, element));\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport PlainObject from 'mdui.jq/es/interfaces/PlainObject';\nimport 'mdui.jq/es/methods/trigger';\n\n/**\n * 触发组件上的事件\n * @param eventName 事件名\n * @param componentName 组件名\n * @param target 在该元素上触发事件\n * @param instance 组件实例\n * @param parameters 事件参数\n */\nfunction componentEvent(\n eventName: string,\n componentName: string,\n target: HTMLElement | HTMLElement[] | JQ,\n instance?: any,\n parameters?: PlainObject,\n): void {\n if (!parameters) {\n parameters = {};\n }\n\n // @ts-ignore\n parameters.inst = instance;\n\n const fullEventName = `${eventName}.mdui.${componentName}`;\n\n // jQuery 事件\n // @ts-ignore\n if (typeof jQuery !== 'undefined') {\n // @ts-ignore\n jQuery(target).trigger(fullEventName, parameters);\n }\n\n const $target = $(target);\n\n // mdui.jq 事件\n $target.trigger(fullEventName, parameters);\n\n // 原生事件,供使用 addEventListener 监听\n type EventParams = {\n detail?: any;\n bubbles: boolean;\n cancelable: boolean;\n };\n\n const eventParams: EventParams = {\n bubbles: true,\n cancelable: true,\n detail: parameters,\n };\n\n const eventObject: CustomEvent = new CustomEvent(fullEventName, eventParams);\n\n // @ts-ignore\n eventObject._detail = parameters;\n\n $target[0].dispatchEvent(eventObject);\n}\n\nexport { componentEvent };\n","import $ from 'mdui.jq/es/$';\n\nconst $document = $(document);\nconst $window = $(window);\nconst $body = $('body');\n\nexport { $document, $window, $body };\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isNumber } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transitionEnd';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $window } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * Headroom 插件\n *\n * 请通过 `new mdui.Headroom()` 调用\n */\n Headroom: {\n /**\n * 实例化 Headroom 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Headroom;\n };\n }\n}\n\ntype TOLERANCE = {\n /**\n * 滚动条向下滚动多少距离开始隐藏或显示元素\n */\n down: number;\n\n /**\n * 滚动条向上滚动多少距离开始隐藏或显示元素\n */\n up: number;\n};\n\ntype OPTIONS = {\n /**\n * 滚动条滚动多少距离开始隐藏或显示元素\n */\n tolerance?: TOLERANCE | number;\n\n /**\n * 在页面顶部多少距离内滚动不会隐藏元素\n */\n offset?: number;\n\n /**\n * 初始化时添加的类\n */\n initialClass?: string;\n\n /**\n * 元素固定时添加的类\n */\n pinnedClass?: string;\n\n /**\n * 元素隐藏时添加的类\n */\n unpinnedClass?: string;\n};\n\ntype STATE = 'pinning' | 'pinned' | 'unpinning' | 'unpinned';\ntype EVENT = 'pin' | 'pinned' | 'unpin' | 'unpinned';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n tolerance: 5,\n offset: 0,\n initialClass: 'mdui-headroom',\n pinnedClass: 'mdui-headroom-pinned-top',\n unpinnedClass: 'mdui-headroom-unpinned-top',\n};\n\nclass Headroom {\n /**\n * headroom 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 headroom 的状态\n */\n private state: STATE = 'pinned';\n\n /**\n * 当前是否启用\n */\n private isEnable = false;\n\n /**\n * 上次滚动后,垂直方向的距离\n */\n private lastScrollY = 0;\n\n /**\n * AnimationFrame ID\n */\n private rafId = 0;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$element = $(selector).first();\n\n extend(this.options, options);\n\n // tolerance 参数若为数值,转换为对象\n const tolerance = this.options.tolerance;\n if (isNumber(tolerance)) {\n this.options.tolerance = {\n down: tolerance,\n up: tolerance,\n };\n }\n\n this.enable();\n }\n\n /**\n * 滚动时的处理\n */\n private onScroll(): void {\n this.rafId = window.requestAnimationFrame(() => {\n const currentScrollY = window.pageYOffset;\n const direction = currentScrollY > this.lastScrollY ? 'down' : 'up';\n const tolerance = (this.options.tolerance as TOLERANCE)[direction];\n const scrolled = Math.abs(currentScrollY - this.lastScrollY);\n const toleranceExceeded = scrolled >= tolerance;\n\n if (\n currentScrollY > this.lastScrollY &&\n currentScrollY >= this.options.offset! &&\n toleranceExceeded\n ) {\n this.unpin();\n } else if (\n (currentScrollY < this.lastScrollY && toleranceExceeded) ||\n currentScrollY <= this.options.offset!\n ) {\n this.pin();\n }\n\n this.lastScrollY = currentScrollY;\n });\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'headroom', this.$element, this);\n }\n\n /**\n * 动画结束的回调\n */\n private transitionEnd(): void {\n if (this.state === 'pinning') {\n this.state = 'pinned';\n this.triggerEvent('pinned');\n }\n\n if (this.state === 'unpinning') {\n this.state = 'unpinned';\n this.triggerEvent('unpinned');\n }\n }\n\n /**\n * 使元素固定住\n */\n public pin(): void {\n if (\n this.state === 'pinning' ||\n this.state === 'pinned' ||\n !this.$element.hasClass(this.options.initialClass!)\n ) {\n return;\n }\n\n this.triggerEvent('pin');\n this.state = 'pinning';\n this.$element\n .removeClass(this.options.unpinnedClass)\n .addClass(this.options.pinnedClass!)\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 使元素隐藏\n */\n public unpin(): void {\n if (\n this.state === 'unpinning' ||\n this.state === 'unpinned' ||\n !this.$element.hasClass(this.options.initialClass!)\n ) {\n return;\n }\n\n this.triggerEvent('unpin');\n this.state = 'unpinning';\n this.$element\n .removeClass(this.options.pinnedClass)\n .addClass(this.options.unpinnedClass!)\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 启用 headroom 插件\n */\n public enable(): void {\n if (this.isEnable) {\n return;\n }\n\n this.isEnable = true;\n this.state = 'pinned';\n this.$element\n .addClass(this.options.initialClass!)\n .removeClass(this.options.pinnedClass)\n .removeClass(this.options.unpinnedClass);\n this.lastScrollY = window.pageYOffset;\n\n $window.on('scroll', () => this.onScroll());\n }\n\n /**\n * 禁用 headroom 插件\n */\n public disable(): void {\n if (!this.isEnable) {\n return;\n }\n\n this.isEnable = false;\n this.$element\n .removeClass(this.options.initialClass)\n .removeClass(this.options.pinnedClass)\n .removeClass(this.options.unpinnedClass);\n\n $window.off('scroll', () => this.onScroll());\n window.cancelAnimationFrame(this.rafId);\n }\n\n /**\n * 获取当前状态。共包含四种状态:`pinning`、`pinned`、`unpinning`、`unpinned`\n */\n public getState(): STATE {\n return this.state;\n }\n}\n\nmdui.Headroom = Headroom;\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/attr';\nimport PlainObject from 'mdui.jq/es/interfaces/PlainObject';\n\n/**\n * 解析 DATA API 参数\n * @param element 元素\n * @param name 属性名\n */\nfunction parseOptions(element: HTMLElement, name: string): PlainObject {\n const attr = $(element).attr(name);\n\n if (!attr) {\n return {};\n }\n\n return new Function(\n '',\n `var json = ${attr}; return JSON.parse(JSON.stringify(json));`,\n )();\n}\n\nexport { parseOptions };\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-headroom';\n\n$(() => {\n mdui.mutation(`[${customAttr}]`, function () {\n new mdui.Headroom(this, parseOptions(this, customAttr));\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/eq';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isNumber } from 'mdui.jq/es/utils';\nimport '../../jq_extends/methods/reflow';\nimport '../../jq_extends/methods/transition';\nimport '../../jq_extends/methods/transitionEnd';\nimport { componentEvent } from '../../utils/componentEvent';\n\ntype OPTIONS = {\n /**\n * 是否启用手风琴效果\n * 为 `true` 时,最多只能有一个面板项处于打开状态,打开一个面板项时会关闭其他面板项\n * 为 `false` 时,可同时打开多个面板项\n */\n accordion?: boolean;\n};\n\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n accordion: false,\n};\n\nabstract class CollapseAbstract {\n /**\n * collapse 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * item 的 class 名\n */\n private classItem: string;\n\n /**\n * 打开状态的 item 的 class 名\n */\n private classItemOpen: string;\n\n /**\n * item-header 的 class 名\n */\n private classHeader: string;\n\n /**\n * item-body 的 class 名\n */\n private classBody: string;\n\n /**\n * 获取继承的组件名称\n */\n protected abstract getNamespace(): string;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n // CSS 类名\n const classPrefix = `mdui-${this.getNamespace()}-item`;\n this.classItem = classPrefix;\n this.classItemOpen = `${classPrefix}-open`;\n this.classHeader = `${classPrefix}-header`;\n this.classBody = `${classPrefix}-body`;\n\n this.$element = $(selector).first();\n\n extend(this.options, options);\n\n this.bindEvent();\n }\n\n /**\n * 绑定事件\n */\n private bindEvent(): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n\n // 点击 header 时,打开/关闭 item\n this.$element.on('click', `.${this.classHeader}`, function () {\n const $header = $(this as HTMLElement);\n const $item = $header.parent();\n const $items = that.getItems();\n\n $items.each((_, item) => {\n if ($item.is(item)) {\n that.toggle(item);\n }\n });\n });\n\n // 点击关闭按钮时,关闭 item\n this.$element.on(\n 'click',\n `[mdui-${this.getNamespace()}-item-close]`,\n function () {\n const $target = $(this as HTMLElement);\n const $item = $target.parents(`.${that.classItem}`).first();\n\n that.close($item);\n },\n );\n }\n\n /**\n * 指定 item 是否处于打开状态\n * @param $item\n */\n private isOpen($item: JQ): boolean {\n return $item.hasClass(this.classItemOpen);\n }\n\n /**\n * 获取所有 item\n */\n private getItems(): JQ {\n return this.$element.children(`.${this.classItem}`);\n }\n\n /**\n * 获取指定 item\n * @param item\n */\n private getItem(\n item: number | Selector | HTMLElement | ArrayLike,\n ): JQ {\n if (isNumber(item)) {\n return this.getItems().eq(item);\n }\n\n return $(item).first();\n }\n\n /**\n * 触发组件事件\n * @param name 事件名\n * @param $item 事件触发的目标 item\n */\n private triggerEvent(name: EVENT, $item: JQ): void {\n componentEvent(name, this.getNamespace(), $item, this);\n }\n\n /**\n * 动画结束回调\n * @param $content body 元素\n * @param $item item 元素\n */\n private transitionEnd($content: JQ, $item: JQ): void {\n if (this.isOpen($item)) {\n $content.transition(0).height('auto').reflow().transition('');\n\n this.triggerEvent('opened', $item);\n } else {\n $content.height('');\n\n this.triggerEvent('closed', $item);\n }\n }\n\n /**\n * 打开指定面板项\n * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象\n */\n public open(\n item: number | Selector | HTMLElement | ArrayLike,\n ): void {\n const $item = this.getItem(item);\n\n if (this.isOpen($item)) {\n return;\n }\n\n // 关闭其他项\n if (this.options.accordion) {\n this.$element.children(`.${this.classItemOpen}`).each((_, element) => {\n const $element = $(element);\n\n if (!$element.is($item)) {\n this.close($element);\n }\n });\n }\n\n const $content = $item.children(`.${this.classBody}`);\n\n $content\n .height($content[0].scrollHeight)\n .transitionEnd(() => this.transitionEnd($content, $item));\n\n this.triggerEvent('open', $item);\n\n $item.addClass(this.classItemOpen);\n }\n\n /**\n * 关闭指定面板项\n * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象\n */\n public close(\n item: number | Selector | HTMLElement | ArrayLike,\n ): void {\n const $item = this.getItem(item);\n\n if (!this.isOpen($item)) {\n return;\n }\n\n const $content = $item.children(`.${this.classBody}`);\n\n this.triggerEvent('close', $item);\n\n $item.removeClass(this.classItemOpen);\n\n $content\n .transition(0)\n .height($content[0].scrollHeight)\n .reflow()\n .transition('')\n .height('')\n .transitionEnd(() => this.transitionEnd($content, $item));\n }\n\n /**\n * 切换指定面板项的打开状态\n * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象\n */\n public toggle(\n item: number | Selector | HTMLElement | ArrayLike,\n ): void {\n const $item = this.getItem(item);\n\n this.isOpen($item) ? this.close($item) : this.open($item);\n }\n\n /**\n * 打开所有面板项\n */\n public openAll(): void {\n this.getItems().each((_, element) => this.open(element));\n }\n\n /**\n * 关闭所有面板项\n */\n public closeAll(): void {\n this.getItems().each((_, element) => this.close(element));\n }\n}\n\nexport { OPTIONS, CollapseAbstract };\n","import Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport { CollapseAbstract, OPTIONS } from './collapseAbstract';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 折叠内容块组件\n *\n * 请通过 `new mdui.Collapse()` 调用\n */\n Collapse: {\n /**\n * 实例化 Collapse 组件\n * @param selector CSS 选择器或 DOM 元素\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Collapse;\n };\n }\n}\n\nclass Collapse extends CollapseAbstract {\n protected getNamespace(): string {\n return 'collapse';\n }\n}\n\nmdui.Collapse = Collapse;\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-collapse';\n\n$(() => {\n mdui.mutation(`[${customAttr}]`, function () {\n new mdui.Collapse(this, parseOptions(this, customAttr));\n });\n});\n","import Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport { CollapseAbstract, OPTIONS } from '../collapse/collapseAbstract';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 可扩展面板组件\n *\n * 请通过 `new mdui.Panel()` 调用\n */\n Panel: {\n /**\n * 实例化 Panel 组件\n * @param selector CSS 选择器或 DOM 元素\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Panel;\n };\n }\n}\n\nclass Panel extends CollapseAbstract {\n protected getNamespace(): string {\n return 'panel';\n }\n}\n\nmdui.Panel = Panel;\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-panel';\n\n$(() => {\n mdui.mutation(`[${customAttr}]`, function () {\n new mdui.Panel(this, parseOptions(this, customAttr));\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/add';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/eq';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/prependTo';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 动态修改了表格后,需要调用该方法重新初始化表格。\n *\n * 若传入了参数,则只初始化该参数对应的表格。若没有传入参数,则重新初始化所有表格。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateTables(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\nclass Table {\n /**\n * table 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 表头 tr 元素\n */\n private $thRow: JQ = $();\n\n /**\n * 表格 body 中的 tr 元素\n */\n private $tdRows: JQ = $();\n\n /**\n * 表头的 checkbox 元素\n */\n private $thCheckbox: JQ = $();\n\n /**\n * 表格 body 中的 checkbox 元素\n */\n private $tdCheckboxs: JQ = $();\n\n /**\n * 表格行是否可选择\n */\n private selectable = false;\n\n /**\n * 已选中的行数\n */\n private selectedRow = 0;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n ) {\n this.$element = $(selector).first();\n this.init();\n }\n\n /**\n * 初始化表格\n */\n public init(): void {\n this.$thRow = this.$element.find('thead tr');\n this.$tdRows = this.$element.find('tbody tr');\n this.selectable = this.$element.hasClass('mdui-table-selectable');\n\n this.updateThCheckbox();\n this.updateTdCheckbox();\n this.updateNumericCol();\n }\n\n /**\n * 生成 checkbox 的 HTML 结构\n * @param tag 标签名\n */\n private createCheckboxHTML(tag: string): string {\n return (\n `<${tag} class=\"mdui-table-cell-checkbox\">` +\n '' +\n ``\n );\n }\n\n /**\n * 更新表头 checkbox 的状态\n */\n private updateThCheckboxStatus(): void {\n const checkbox = this.$thCheckbox[0];\n const selectedRow = this.selectedRow;\n const tdRowsLength = this.$tdRows.length;\n\n checkbox.checked = selectedRow === tdRowsLength;\n checkbox.indeterminate = !!selectedRow && selectedRow !== tdRowsLength;\n }\n\n /**\n * 更新表格行的 checkbox\n */\n private updateTdCheckbox(): void {\n const rowSelectedClass = 'mdui-table-row-selected';\n\n this.$tdRows.each((_, row) => {\n const $row = $(row);\n\n // 移除旧的 checkbox\n $row.find('.mdui-table-cell-checkbox').remove();\n\n if (!this.selectable) {\n return;\n }\n\n // 创建 DOM\n const $checkbox = $(this.createCheckboxHTML('td'))\n .prependTo($row)\n .find('input[type=\"checkbox\"]') as JQ;\n\n // 默认选中的行\n if ($row.hasClass(rowSelectedClass)) {\n $checkbox[0].checked = true;\n this.selectedRow++;\n }\n\n this.updateThCheckboxStatus();\n\n // 绑定事件\n $checkbox.on('change', () => {\n if ($checkbox[0].checked) {\n $row.addClass(rowSelectedClass);\n this.selectedRow++;\n } else {\n $row.removeClass(rowSelectedClass);\n this.selectedRow--;\n }\n\n this.updateThCheckboxStatus();\n });\n\n this.$tdCheckboxs = this.$tdCheckboxs.add($checkbox);\n });\n }\n\n /**\n * 更新表头的 checkbox\n */\n private updateThCheckbox(): void {\n // 移除旧的 checkbox\n this.$thRow.find('.mdui-table-cell-checkbox').remove();\n\n if (!this.selectable) {\n return;\n }\n\n this.$thCheckbox = $(this.createCheckboxHTML('th'))\n .prependTo(this.$thRow)\n .find('input[type=\"checkbox\"]')\n .on('change', () => {\n const isCheckedAll = this.$thCheckbox[0].checked;\n this.selectedRow = isCheckedAll ? this.$tdRows.length : 0;\n\n this.$tdCheckboxs.each((_, checkbox) => {\n checkbox.checked = isCheckedAll;\n });\n\n this.$tdRows.each((_, row) => {\n isCheckedAll\n ? $(row).addClass('mdui-table-row-selected')\n : $(row).removeClass('mdui-table-row-selected');\n });\n }) as JQ;\n }\n\n /**\n * 更新数值列\n */\n private updateNumericCol(): void {\n const numericClass = 'mdui-table-col-numeric';\n\n this.$thRow.find('th').each((i, th) => {\n const isNumericCol = $(th).hasClass(numericClass);\n\n this.$tdRows.each((_, row) => {\n const $td = $(row).find('td').eq(i);\n\n isNumericCol\n ? $td.addClass(numericClass)\n : $td.removeClass(numericClass);\n });\n });\n }\n}\n\nconst dataName = '_mdui_table';\n\n$(() => {\n mdui.mutation('.mdui-table', function () {\n const $element = $(this);\n\n if (!$element.data(dataName)) {\n $element.data(dataName, new Table($element));\n }\n });\n});\n\nmdui.updateTables = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-table') : $(selector);\n\n $elements.each((_, element) => {\n const $element = $(element);\n const instance = $element.data(dataName);\n\n if (instance) {\n instance.init();\n } else {\n $element.data(dataName, new Table($element));\n }\n });\n};\n","/**\n * touch 事件后的 500ms 内禁用 mousedown 事件\n *\n * 不支持触控的屏幕上事件顺序为 mousedown -> mouseup -> click\n * 支持触控的屏幕上事件顺序为 touchstart -> touchend -> mousedown -> mouseup -> click\n *\n * 在每一个事件中都使用 TouchHandler.isAllow(event) 判断事件是否可执行\n * 在 touchstart 和 touchmove、touchend、touchcancel\n *\n * (function () {\n * $document\n * .on(start, function (e) {\n * if (!isAllow(e)) {\n * return;\n * }\n * register(e);\n * console.log(e.type);\n * })\n * .on(move, function (e) {\n * if (!isAllow(e)) {\n * return;\n * }\n * console.log(e.type);\n * })\n * .on(end, function (e) {\n * if (!isAllow(e)) {\n * return;\n * }\n * console.log(e.type);\n * })\n * .on(unlock, register);\n * })();\n */\n\nconst startEvent = 'touchstart mousedown';\nconst moveEvent = 'touchmove mousemove';\nconst endEvent = 'touchend mouseup';\nconst cancelEvent = 'touchcancel mouseleave';\nconst unlockEvent = 'touchend touchmove touchcancel';\n\nlet touches = 0;\n\n/**\n * 该事件是否被允许,在执行事件前调用该方法判断事件是否可以执行\n * 若已触发 touch 事件,则阻止之后的鼠标事件\n * @param event\n */\nfunction isAllow(event: Event): boolean {\n return !(\n touches &&\n [\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'click',\n 'mouseover',\n 'mouseout',\n 'mouseenter',\n 'mouseleave',\n ].indexOf(event.type) > -1\n );\n}\n\n/**\n * 在 touchstart 和 touchmove、touchend、touchcancel 事件中调用该方法注册事件\n * @param event\n */\nfunction register(event: Event): void {\n if (event.type === 'touchstart') {\n // 触发了 touch 事件\n touches += 1;\n } else if (\n ['touchmove', 'touchend', 'touchcancel'].indexOf(event.type) > -1\n ) {\n // touch 事件结束 500ms 后解除对鼠标事件的阻止\n setTimeout(function () {\n if (touches) {\n touches -= 1;\n }\n }, 500);\n }\n}\n\nexport {\n startEvent,\n moveEvent,\n endEvent,\n cancelEvent,\n unlockEvent,\n isAllow,\n register,\n};\n","/**\n * Inspired by https://github.com/nolimits4web/Framework7/blob/master/src/js/fast-clicks.js\n * https://github.com/nolimits4web/Framework7/blob/master/LICENSE\n *\n * Inspired by https://github.com/fians/Waves\n */\n\nimport $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/innerHeight';\nimport 'mdui.jq/es/methods/innerWidth';\nimport 'mdui.jq/es/methods/off';\nimport 'mdui.jq/es/methods/offset';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/prependTo';\nimport 'mdui.jq/es/methods/prop';\nimport 'mdui.jq/es/methods/remove';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport '../../jq_extends/methods/reflow';\nimport '../../jq_extends/methods/transform';\nimport '../../jq_extends/methods/transitionEnd';\nimport { $document } from '../../utils/dom';\nimport {\n cancelEvent,\n endEvent,\n isAllow,\n moveEvent,\n register,\n startEvent,\n unlockEvent,\n} from '../../utils/touchHandler';\n\n/**\n * 显示涟漪动画\n * @param event\n * @param $ripple\n */\nfunction show(event: Event, $ripple: JQ): void {\n // 鼠标右键不产生涟漪\n if (event instanceof MouseEvent && event.button === 2) {\n return;\n }\n\n // 点击位置坐标\n const touchPosition =\n typeof TouchEvent !== 'undefined' &&\n event instanceof TouchEvent &&\n event.touches.length\n ? event.touches[0]\n : (event as MouseEvent);\n\n const touchStartX = touchPosition.pageX;\n const touchStartY = touchPosition.pageY;\n\n // 涟漪位置\n const offset = $ripple.offset();\n const height = $ripple.innerHeight();\n const width = $ripple.innerWidth();\n const center = {\n x: touchStartX - offset.left,\n y: touchStartY - offset.top,\n };\n const diameter = Math.max(\n Math.pow(Math.pow(height, 2) + Math.pow(width, 2), 0.5),\n 48,\n );\n\n // 涟漪扩散动画\n const translate =\n `translate3d(${-center.x + width / 2}px,` +\n `${-center.y + height / 2}px, 0) scale(1)`;\n\n // 涟漪的 DOM 结构,并缓存动画效果\n $(\n `
              `,\n )\n .data('_ripple_wave_translate', translate)\n .prependTo($ripple)\n .reflow()\n .transform(translate);\n}\n\n/**\n * 隐藏并移除涟漪\n * @param $wave\n */\nfunction removeRipple($wave: JQ): void {\n if (!$wave.length || $wave.data('_ripple_wave_removed')) {\n return;\n }\n\n $wave.data('_ripple_wave_removed', true);\n\n let removeTimer = setTimeout(() => $wave.remove(), 400);\n const translate = $wave.data('_ripple_wave_translate');\n\n $wave\n .addClass('mdui-ripple-wave-fill')\n .transform(translate.replace('scale(1)', 'scale(1.01)'))\n .transitionEnd(() => {\n clearTimeout(removeTimer);\n\n $wave\n .addClass('mdui-ripple-wave-out')\n .transform(translate.replace('scale(1)', 'scale(1.01)'));\n\n removeTimer = setTimeout(() => $wave.remove(), 700);\n\n setTimeout(() => {\n $wave.transitionEnd(() => {\n clearTimeout(removeTimer);\n $wave.remove();\n });\n }, 0);\n });\n}\n\n/**\n * 隐藏涟漪动画\n * @param this\n */\nfunction hide(this: any): void {\n const $ripple = $(this as HTMLElement);\n\n $ripple.children('.mdui-ripple-wave').each((_, wave) => {\n removeRipple($(wave));\n });\n\n $ripple.off(`${moveEvent} ${endEvent} ${cancelEvent}`, hide);\n}\n\n/**\n * 显示涟漪,并绑定 touchend 等事件\n * @param event\n */\nfunction showRipple(event: Event): void {\n if (!isAllow(event)) {\n return;\n }\n\n register(event);\n\n // Chrome 59 点击滚动条时,会在 document 上触发事件\n if (event.target === document) {\n return;\n }\n\n const $target = $(event.target as HTMLElement);\n\n // 获取含 .mdui-ripple 类的元素\n const $ripple = $target.hasClass('mdui-ripple')\n ? $target\n : $target.parents('.mdui-ripple').first();\n\n if (!$ripple.length) {\n return;\n }\n\n // 禁用状态的元素上不产生涟漪效果\n if ($ripple.prop('disabled') || !isUndefined($ripple.attr('disabled'))) {\n return;\n }\n\n if (event.type === 'touchstart') {\n let hidden = false;\n\n // touchstart 触发指定时间后开始涟漪动画,避免手指滑动时也触发涟漪\n let timer = setTimeout(() => {\n timer = 0;\n show(event, $ripple);\n }, 200);\n\n const hideRipple = (): void => {\n // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n show(event, $ripple);\n }\n\n if (!hidden) {\n hidden = true;\n hide.call($ripple);\n }\n };\n\n // 手指移动后,移除涟漪动画\n const touchMove = (): void => {\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n }\n\n hideRipple();\n };\n\n $ripple.on('touchmove', touchMove).on('touchend touchcancel', hideRipple);\n } else {\n show(event, $ripple);\n $ripple.on(`${moveEvent} ${endEvent} ${cancelEvent}`, hide);\n }\n}\n\n$(() => {\n $document.on(startEvent, showRipple).on(unlockEvent, register);\n});\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/outerHeight';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/text';\nimport 'mdui.jq/es/methods/trigger';\nimport 'mdui.jq/es/methods/val';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { $document } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 动态修改了文本框后,需要调用该方法重新初始化文本框。\n *\n * 若传入了参数,则只初始化该参数对应的文本框。若没有传入参数,则重新初始化所有文本框。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateTextFields(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\ntype INPUT_EVENT_DATA = {\n reInit?: boolean;\n domLoadedEvent?: boolean;\n};\n\nconst defaultData: INPUT_EVENT_DATA = {\n reInit: false,\n domLoadedEvent: false,\n};\n\n/**\n * 输入框事件\n * @param event\n * @param data\n */\nfunction inputEvent(event: Event, data: INPUT_EVENT_DATA = {}): void {\n data = extend({}, defaultData, data);\n\n const input = event.target as HTMLInputElement;\n const $input = $(input);\n const eventType = event.type;\n const value = $input.val() as string;\n\n // 文本框类型\n const inputType = $input.attr('type') || '';\n if (\n ['checkbox', 'button', 'submit', 'range', 'radio', 'image'].indexOf(\n inputType,\n ) > -1\n ) {\n return;\n }\n\n const $textfield = $input.parent('.mdui-textfield');\n\n // 输入框是否聚焦\n if (eventType === 'focus') {\n $textfield.addClass('mdui-textfield-focus');\n }\n\n if (eventType === 'blur') {\n $textfield.removeClass('mdui-textfield-focus');\n }\n\n // 输入框是否为空\n if (eventType === 'blur' || eventType === 'input') {\n value\n ? $textfield.addClass('mdui-textfield-not-empty')\n : $textfield.removeClass('mdui-textfield-not-empty');\n }\n\n // 输入框是否禁用\n input.disabled\n ? $textfield.addClass('mdui-textfield-disabled')\n : $textfield.removeClass('mdui-textfield-disabled');\n\n // 表单验证\n if (\n (eventType === 'input' || eventType === 'blur') &&\n !data.domLoadedEvent &&\n input.validity\n ) {\n input.validity.valid\n ? $textfield.removeClass('mdui-textfield-invalid-html5')\n : $textfield.addClass('mdui-textfield-invalid-html5');\n }\n\n // textarea 高度自动调整\n if ($input.is('textarea')) {\n // IE bug:textarea 的值仅为多个换行,不含其他内容时,textarea 的高度不准确\n // 此时,在计算高度前,在值的开头加入一个空格,计算完后,移除空格\n const inputValue = value;\n let hasExtraSpace = false;\n\n if (inputValue.replace(/[\\r\\n]/g, '') === '') {\n $input.val(' ' + inputValue);\n hasExtraSpace = true;\n }\n\n // 设置 textarea 高度\n $input.outerHeight('');\n const height = $input.outerHeight();\n const scrollHeight = input.scrollHeight;\n\n if (scrollHeight > height) {\n $input.outerHeight(scrollHeight);\n }\n\n // 计算完,还原 textarea 的值\n if (hasExtraSpace) {\n $input.val(inputValue);\n }\n }\n\n // 实时字数统计\n if (data.reInit) {\n $textfield.find('.mdui-textfield-counter').remove();\n }\n\n const maxLength = $input.attr('maxlength');\n if (maxLength) {\n if (data.reInit || data.domLoadedEvent) {\n $(\n '
              ' +\n ` / ${maxLength}` +\n '
              ',\n ).appendTo($textfield);\n }\n\n $textfield\n .find('.mdui-textfield-counter-inputed')\n .text(value.length.toString());\n }\n\n // 含 帮助文本、错误提示、字数统计 时,增加文本框底部内边距\n if (\n $textfield.find('.mdui-textfield-helper').length ||\n $textfield.find('.mdui-textfield-error').length ||\n maxLength\n ) {\n $textfield.addClass('mdui-textfield-has-bottom');\n }\n}\n\n$(() => {\n // 绑定事件\n $document.on(\n 'input focus blur',\n '.mdui-textfield-input',\n { useCapture: true },\n inputEvent,\n );\n\n // 可展开文本框展开\n $document.on(\n 'click',\n '.mdui-textfield-expandable .mdui-textfield-icon',\n function () {\n $(this as HTMLElement)\n .parents('.mdui-textfield')\n .addClass('mdui-textfield-expanded')\n .find('.mdui-textfield-input')[0]\n .focus();\n },\n );\n\n // 可展开文本框关闭\n $document.on(\n 'click',\n '.mdui-textfield-expanded .mdui-textfield-close',\n function () {\n $(this)\n .parents('.mdui-textfield')\n .removeClass('mdui-textfield-expanded')\n .find('.mdui-textfield-input')\n .val('');\n },\n );\n\n /**\n * 初始化文本框\n */\n mdui.mutation('.mdui-textfield', function () {\n $(this).find('.mdui-textfield-input').trigger('input', {\n domLoadedEvent: true,\n });\n });\n});\n\nmdui.updateTextFields = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-textfield') : $(selector);\n\n $elements.each((_, element) => {\n $(element).find('.mdui-textfield-input').trigger('input', {\n reInit: true,\n });\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/append';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/empty';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/text';\nimport 'mdui.jq/es/methods/val';\nimport 'mdui.jq/es/methods/width';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport {\n endEvent,\n isAllow,\n register,\n startEvent,\n unlockEvent,\n} from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 动态修改了滑块后,需要调用该方法重新初始化滑块\n *\n * 若传入了参数,则只初始化该参数对应的滑块。若没有传入参数,则重新初始化所有滑块。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateSliders(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\n/**\n * 滑块的值改变后修改滑块样式\n * @param $slider\n */\nfunction updateValueStyle($slider: JQ): void {\n const data = $slider.data();\n\n const $track = data._slider_$track;\n const $fill = data._slider_$fill;\n const $thumb = data._slider_$thumb;\n const $input = data._slider_$input;\n const min = data._slider_min;\n const max = data._slider_max;\n const isDisabled = data._slider_disabled;\n const isDiscrete = data._slider_discrete;\n const $thumbText = data._slider_$thumbText;\n const value = $input.val();\n const percent = ((value - min) / (max - min)) * 100;\n\n $fill.width(`${percent}%`);\n $track.width(`${100 - percent}%`);\n\n if (isDisabled) {\n $fill.css('padding-right', '6px');\n $track.css('padding-left', '6px');\n }\n\n $thumb.css('left', `${percent}%`);\n\n if (isDiscrete) {\n $thumbText.text(value);\n }\n\n percent === 0\n ? $slider.addClass('mdui-slider-zero')\n : $slider.removeClass('mdui-slider-zero');\n}\n\n/**\n * 重新初始化滑块\n * @param $slider\n */\nfunction reInit($slider: JQ): void {\n const $track = $('
              ');\n const $fill = $('
              ');\n const $thumb = $('
              ');\n const $input = $slider.find('input[type=\"range\"]') as JQ;\n const isDisabled = $input[0].disabled;\n const isDiscrete = $slider.hasClass('mdui-slider-discrete');\n\n // 禁用状态\n isDisabled\n ? $slider.addClass('mdui-slider-disabled')\n : $slider.removeClass('mdui-slider-disabled');\n\n // 重新填充 HTML\n $slider.find('.mdui-slider-track').remove();\n $slider.find('.mdui-slider-fill').remove();\n $slider.find('.mdui-slider-thumb').remove();\n $slider.append($track).append($fill).append($thumb);\n\n // 间续型滑块\n let $thumbText = $();\n if (isDiscrete) {\n $thumbText = $('');\n $thumb.empty().append($thumbText);\n }\n\n $slider.data('_slider_$track', $track);\n $slider.data('_slider_$fill', $fill);\n $slider.data('_slider_$thumb', $thumb);\n $slider.data('_slider_$input', $input);\n $slider.data('_slider_min', $input.attr('min'));\n $slider.data('_slider_max', $input.attr('max'));\n $slider.data('_slider_disabled', isDisabled);\n $slider.data('_slider_discrete', isDiscrete);\n $slider.data('_slider_$thumbText', $thumbText);\n\n // 设置默认值\n updateValueStyle($slider);\n}\n\nconst rangeSelector = '.mdui-slider input[type=\"range\"]';\n\n$(() => {\n // 滑块滑动事件\n $document.on('input change', rangeSelector, function () {\n const $slider = $(this).parent() as JQ;\n\n updateValueStyle($slider);\n });\n\n // 开始触摸滑块事件\n $document.on(startEvent, rangeSelector, function (event: Event) {\n if (!isAllow(event)) {\n return;\n }\n\n register(event);\n\n if ((this as HTMLInputElement).disabled) {\n return;\n }\n\n const $slider = $(this).parent() as JQ;\n\n $slider.addClass('mdui-slider-focus');\n });\n\n // 结束触摸滑块事件\n $document.on(endEvent, rangeSelector, function (event: Event) {\n if (!isAllow(event)) {\n return;\n }\n\n if ((this as HTMLInputElement).disabled) {\n return;\n }\n\n const $slider = $(this).parent() as JQ;\n\n $slider.removeClass('mdui-slider-focus');\n });\n\n $document.on(unlockEvent, rangeSelector, register);\n\n /**\n * 初始化滑块\n */\n mdui.mutation('.mdui-slider', function () {\n reInit($(this));\n });\n});\n\nmdui.updateSliders = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-slider') : $(selector);\n\n $elements.each((_, element) => {\n reInit($(element));\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/last';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transitionEnd';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document } from '../../utils/dom';\nimport { startEvent } from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 浮动操作按钮组件\n *\n * 请通过 `new mdui.Fab()` 调用\n */\n Fab: {\n /**\n * 实例化 Fab 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Fab;\n };\n }\n}\n\ntype OPTIONS = {\n /**\n * 触发方式。`hover`: 鼠标悬浮触发;`click`: 点击触发\n *\n * 默认为 `hover`\n */\n trigger?: 'click' | 'hover';\n};\n\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n trigger: 'hover',\n};\n\nclass Fab {\n /**\n * Fab 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 fab 的状态\n */\n private state: STATE = 'closed';\n\n /**\n * 按钮元素\n */\n private $btn: JQ;\n\n /**\n * 拨号菜单元素\n */\n private $dial: JQ;\n\n /**\n * 拨号菜单内的按钮\n */\n private $dialBtns: JQ;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$element = $(selector).first();\n\n extend(this.options, options);\n\n this.$btn = this.$element.find('.mdui-fab');\n this.$dial = this.$element.find('.mdui-fab-dial');\n this.$dialBtns = this.$dial.find('.mdui-fab');\n\n if (this.options.trigger === 'hover') {\n this.$btn.on('touchstart mouseenter', () => this.open());\n this.$element.on('mouseleave', () => this.close());\n }\n\n if (this.options.trigger === 'click') {\n this.$btn.on(startEvent, () => this.open());\n }\n\n // 触摸屏幕其他地方关闭快速拨号\n $document.on(startEvent, (event) => {\n if ($(event.target as HTMLElement).parents('.mdui-fab-wrapper').length) {\n return;\n }\n\n this.close();\n });\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'fab', this.$element, this);\n }\n\n /**\n * 当前是否为打开状态\n */\n private isOpen(): boolean {\n return this.state === 'opening' || this.state === 'opened';\n }\n\n /**\n * 打开快速拨号菜单\n */\n public open(): void {\n if (this.isOpen()) {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n this.$dialBtns.each((index, btn) => {\n const delay = `${15 * (this.$dialBtns.length - index)}ms`;\n\n btn.style.transitionDelay = delay;\n btn.style.webkitTransitionDelay = delay;\n });\n\n this.$dial.css('height', 'auto').addClass('mdui-fab-dial-show');\n\n // 如果按钮中存在 .mdui-fab-opened 的图标,则进行图标切换\n if (this.$btn.find('.mdui-fab-opened').length) {\n this.$btn.addClass('mdui-fab-opened');\n }\n\n this.state = 'opening';\n this.triggerEvent('open');\n\n // 打开顺序为从下到上逐个打开,最上面的打开后才表示动画完成\n this.$dialBtns.first().transitionEnd(() => {\n if (this.$btn.hasClass('mdui-fab-opened')) {\n this.state = 'opened';\n this.triggerEvent('opened');\n }\n });\n }\n\n /**\n * 关闭快速拨号菜单\n */\n public close(): void {\n if (!this.isOpen()) {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n this.$dialBtns.each((index, btn) => {\n const delay = `${15 * index}ms`;\n\n btn.style.transitionDelay = delay;\n btn.style.webkitTransitionDelay = delay;\n });\n\n this.$dial.removeClass('mdui-fab-dial-show');\n this.$btn.removeClass('mdui-fab-opened');\n this.state = 'closing';\n this.triggerEvent('close');\n\n // 从上往下依次关闭,最后一个关闭后才表示动画完成\n this.$dialBtns.last().transitionEnd(() => {\n if (this.$btn.hasClass('mdui-fab-opened')) {\n return;\n }\n\n this.state = 'closed';\n this.triggerEvent('closed');\n this.$dial.css('height', 0);\n });\n }\n\n /**\n * 切换快速拨号菜单的打开状态\n */\n public toggle(): void {\n this.isOpen() ? this.close() : this.open();\n }\n\n /**\n * 以动画的形式显示整个浮动操作按钮\n */\n public show(): void {\n this.$element.removeClass('mdui-fab-hide');\n }\n\n /**\n * 以动画的形式隐藏整个浮动操作按钮\n */\n public hide(): void {\n this.$element.addClass('mdui-fab-hide');\n }\n\n /**\n * 返回当前快速拨号菜单的打开状态。共包含四种状态:`opening`、`opened`、`closing`、`closed`\n */\n public getState(): STATE {\n return this.state;\n }\n}\n\nmdui.Fab = Fab;\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-fab';\n\n$(() => {\n // mouseenter 不冒泡,无法进行事件委托,这里用 mouseover 代替。\n // 不管是 click 、 mouseover 还是 touchstart ,都先初始化。\n\n $document.on(\n 'touchstart mousedown mouseover',\n `[${customAttr}]`,\n function () {\n new mdui.Fab(\n this as HTMLElement,\n parseOptions(this as HTMLElement, customAttr),\n );\n },\n );\n});\n","/**\n * 最终生成的元素结构为:\n * \n *
              // $element\n * State 1 // $selected\n *
              // $menu\n *
              State 1
              // $items\n *
              State 2
              \n *
              State 3
              \n *
              \n *
              \n */\n\nimport $ from 'mdui.jq/es/$';\nimport contains from 'mdui.jq/es/functions/contains';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/add';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/after';\nimport 'mdui.jq/es/methods/append';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/hide';\nimport 'mdui.jq/es/methods/index';\nimport 'mdui.jq/es/methods/innerWidth';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeAttr';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/show';\nimport 'mdui.jq/es/methods/text';\nimport 'mdui.jq/es/methods/trigger';\nimport 'mdui.jq/es/methods/val';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transitionEnd';\nimport '../../jq_extends/static/guid';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document, $window } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 下拉选择组件\n *\n * 请通过 `new mdui.Select()` 调用\n */\n Select: {\n /**\n * 实例化 Select 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Select;\n };\n }\n}\n\ntype OPTIONS = {\n /**\n * 下拉框位置:`auto`、`top`、`bottom`\n */\n position?: 'auto' | 'top' | 'bottom';\n\n /**\n * 菜单与窗口上下边框至少保持多少间距\n */\n gutter?: number;\n};\n\ntype STATE = 'closing' | 'closed' | 'opening' | 'opened';\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n position: 'auto',\n gutter: 16,\n};\n\nclass Select {\n /**\n * 原生 ``\n : '') +\n (options.type === 'textarea'\n ? ``\n : '') +\n '
              ';\n\n const onCancelClick = (dialog: Dialog): void => {\n const value = dialog.$element.find('.mdui-textfield-input').val();\n onCancel(value, dialog);\n };\n\n const onConfirmClick = (dialog: Dialog): void => {\n const value = dialog.$element.find('.mdui-textfield-input').val();\n onConfirm(value, dialog);\n };\n\n return mdui.dialog({\n title,\n content,\n buttons: [\n {\n text: options.cancelText,\n bold: false,\n close: options.closeOnCancel,\n onClick: onCancelClick,\n },\n {\n text: options.confirmText,\n bold: false,\n close: options.closeOnConfirm,\n onClick: onConfirmClick,\n },\n ],\n cssClass: 'mdui-dialog-prompt',\n history: options.history,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n onOpen: (dialog) => {\n // 初始化输入框\n const $input = dialog.$element.find('.mdui-textfield-input');\n mdui.updateTextFields($input);\n\n // 聚焦到输入框\n $input[0].focus();\n\n // 捕捉文本框回车键,在单行文本框的情况下触发回调\n if (options.type !== 'textarea' && options.confirmOnEnter === true) {\n $input.on('keydown', (event) => {\n if ((event as KeyboardEvent).keyCode === 13) {\n const value = dialog.$element.find('.mdui-textfield-input').val();\n onConfirm(value, dialog);\n\n if (options.closeOnConfirm) {\n dialog.close();\n }\n\n return false;\n }\n\n return;\n });\n }\n\n // 如果是多行输入框,监听输入框的 input 事件,更新对话框高度\n if (options.type === 'textarea') {\n $input.on('input', () => dialog.handleUpdate());\n }\n\n // 有字符数限制时,加载完文本框后 DOM 会变化,需要更新对话框高度\n if (options.maxlength) {\n dialog.handleUpdate();\n }\n },\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/html';\nimport 'mdui.jq/es/methods/offset';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/width';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transformOrigin';\nimport '../../jq_extends/methods/transitionEnd';\nimport '../../jq_extends/static/guid';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $window } from '../../utils/dom';\nimport { isAllow, register, unlockEvent } from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * Tooltip 组件\n *\n * 请通过 `new mdui.Tooltip()` 调用\n */\n Tooltip: {\n /**\n * 实例化 Tooltip 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Tooltip;\n };\n }\n}\n\ntype POSITION = 'auto' | 'bottom' | 'top' | 'left' | 'right';\n\ntype OPTIONS = {\n /**\n * Tooltip 的位置。取值范围包括 `auto`、`bottom`、`top`、`left`、`right`。\n * 为 `auto` 时,会自动判断位置。默认在下方。优先级为 `bottom` > `top` > `left` > `right`。\n * 默认为 `auto`\n */\n position?: POSITION;\n\n /**\n * 延时触发,单位毫秒。默认为 `0`,即没有延时。\n */\n delay?: number;\n\n /**\n * Tooltip 的内容\n */\n content?: string;\n};\n\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n position: 'auto',\n delay: 0,\n content: '',\n};\n\nclass Tooltip {\n /**\n * 触发 tooltip 元素的 JQ 对象\n */\n public $target: JQ;\n\n /**\n * tooltip 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 tooltip 的状态\n */\n private state: STATE = 'closed';\n\n /**\n * setTimeout 的返回值\n */\n private timeoutId: any = null;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$target = $(selector).first();\n\n extend(this.options, options);\n\n // 创建 Tooltip HTML\n this.$element = $(\n `
              ${\n this.options.content\n }
              `,\n ).appendTo(document.body);\n\n // 绑定事件。元素处于 disabled 状态时无法触发鼠标事件,为了统一,把 touch 事件也禁用\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n this.$target\n .on('touchstart mouseenter', function (event) {\n if (that.isDisabled(this as HTMLElement)) {\n return;\n }\n\n if (!isAllow(event)) {\n return;\n }\n\n register(event);\n\n that.open();\n })\n .on('touchend mouseleave', function (event) {\n if (that.isDisabled(this as HTMLElement)) {\n return;\n }\n\n if (!isAllow(event)) {\n return;\n }\n\n that.close();\n })\n .on(unlockEvent, function (event) {\n if (that.isDisabled(this as HTMLElement)) {\n return;\n }\n\n register(event);\n });\n }\n\n /**\n * 元素是否已禁用\n * @param element\n */\n private isDisabled(element: HTMLElement): boolean {\n return (\n (element as HTMLInputElement).disabled ||\n $(element).attr('disabled') !== undefined\n );\n }\n\n /**\n * 是否是桌面设备\n */\n private isDesktop(): boolean {\n return $window.width() > 1024;\n }\n\n /**\n * 设置 Tooltip 的位置\n */\n private setPosition(): void {\n let marginLeft: number;\n let marginTop: number;\n\n // 触发的元素\n const targetProps = this.$target[0].getBoundingClientRect();\n\n // 触发的元素和 Tooltip 之间的距离\n const targetMargin = this.isDesktop() ? 14 : 24;\n\n // Tooltip 的宽度和高度\n const tooltipWidth = this.$element[0].offsetWidth;\n const tooltipHeight = this.$element[0].offsetHeight;\n\n // Tooltip 的方向\n let position: POSITION = this.options.position!;\n\n // 自动判断位置,加 2px,使 Tooltip 距离窗口边框至少有 2px 的间距\n if (position === 'auto') {\n if (\n targetProps.top +\n targetProps.height +\n targetMargin +\n tooltipHeight +\n 2 <\n $window.height()\n ) {\n position = 'bottom';\n } else if (targetMargin + tooltipHeight + 2 < targetProps.top) {\n position = 'top';\n } else if (targetMargin + tooltipWidth + 2 < targetProps.left) {\n position = 'left';\n } else if (\n targetProps.width + targetMargin + tooltipWidth + 2 <\n $window.width() - targetProps.left\n ) {\n position = 'right';\n } else {\n position = 'bottom';\n }\n }\n\n // 设置位置\n switch (position) {\n case 'bottom':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop = targetProps.height / 2 + targetMargin;\n this.$element.transformOrigin('top center');\n break;\n\n case 'top':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop =\n -1 * (tooltipHeight + targetProps.height / 2 + targetMargin);\n this.$element.transformOrigin('bottom center');\n break;\n\n case 'left':\n marginLeft = -1 * (tooltipWidth + targetProps.width / 2 + targetMargin);\n marginTop = -1 * (tooltipHeight / 2);\n this.$element.transformOrigin('center right');\n break;\n\n case 'right':\n marginLeft = targetProps.width / 2 + targetMargin;\n marginTop = -1 * (tooltipHeight / 2);\n this.$element.transformOrigin('center left');\n break;\n }\n\n const targetOffset = this.$target.offset();\n\n this.$element.css({\n top: `${targetOffset.top + targetProps.height / 2}px`,\n left: `${targetOffset.left + targetProps.width / 2}px`,\n 'margin-left': `${marginLeft}px`,\n 'margin-top': `${marginTop}px`,\n });\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'tooltip', this.$target, this);\n }\n\n /**\n * 动画结束回调\n */\n private transitionEnd(): void {\n if (this.$element.hasClass('mdui-tooltip-open')) {\n this.state = 'opened';\n this.triggerEvent('opened');\n } else {\n this.state = 'closed';\n this.triggerEvent('closed');\n }\n }\n\n /**\n * 当前 tooltip 是否为打开状态\n */\n private isOpen(): boolean {\n return this.state === 'opening' || this.state === 'opened';\n }\n\n /**\n * 执行打开 tooltip\n */\n private doOpen(): void {\n this.state = 'opening';\n this.triggerEvent('open');\n\n this.$element\n .addClass('mdui-tooltip-open')\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 打开 Tooltip\n * @param options 允许每次打开时设置不同的参数\n */\n public open(options?: OPTIONS): void {\n if (this.isOpen()) {\n return;\n }\n\n const oldOptions = extend({}, this.options);\n\n if (options) {\n extend(this.options, options);\n }\n\n // tooltip 的内容有更新\n if (oldOptions.content !== this.options.content) {\n this.$element.html(this.options.content);\n }\n\n this.setPosition();\n\n if (this.options.delay) {\n this.timeoutId = setTimeout(() => this.doOpen(), this.options.delay);\n } else {\n this.timeoutId = null;\n this.doOpen();\n }\n }\n\n /**\n * 关闭 Tooltip\n */\n public close(): void {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n\n if (!this.isOpen()) {\n return;\n }\n\n this.state = 'closing';\n this.triggerEvent('close');\n\n this.$element\n .removeClass('mdui-tooltip-open')\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 切换 Tooltip 的打开状态\n */\n public toggle(): void {\n this.isOpen() ? this.close() : this.open();\n }\n\n /**\n * 获取 Tooltip 状态。共包含四种状态:`opening`、`opened`、`closing`、`closed`\n */\n public getState(): STATE {\n return this.state;\n }\n}\n\nmdui.Tooltip = Tooltip;\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/on';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-tooltip';\nconst dataName = '_mdui_tooltip';\n\n$(() => {\n // mouseenter 不能冒泡,所以这里用 mouseover 代替\n $document.on('touchstart mouseover', `[${customAttr}]`, function () {\n const $target = $(this);\n let instance = $target.data(dataName);\n\n if (!instance) {\n instance = new mdui.Tooltip(\n this as HTMLElement,\n parseOptions(this as HTMLElement, customAttr),\n );\n $target.data(dataName, instance);\n }\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/off';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/remove';\nimport { isString } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/reflow';\nimport '../../jq_extends/methods/transform';\nimport '../../jq_extends/methods/transitionEnd';\nimport { $document } from '../../utils/dom';\nimport { dequeue, queue } from '../../utils/queue';\nimport { startEvent } from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 打开一个 Snackbar\n * @param message Snackbar 的文本\n * @param options 配置参数\n */\n snackbar(message: string, options?: OPTIONS): Snackbar;\n\n /**\n * 打开一个 Snackbar\n * @param options 配置参数\n */\n snackbar(options: OPTIONS): Snackbar;\n }\n}\n\ntype OPTIONS = {\n /**\n * Snackbar 的文本。通过 `mdui.snackbar(options)` 调用时,该参数不能为空\n */\n message?: string;\n\n /**\n * 在用户没有操作时多长时间自动隐藏,单位(毫秒)。为 `0` 时表示不自动关闭,默认为 `4000`\n */\n timeout?: number;\n\n /**\n * Snackbar 的位置,默认为 `bottom`。\n * 取值范围包括:\n * `bottom`: 下方\n * `top`: 上方\n * `left-top`: 左上角\n * `left-bottom`: 左下角\n * `right-top`: 右上角\n * `right-bottom`: 右下角\n */\n position?:\n | 'bottom'\n | 'top'\n | 'left-top'\n | 'left-bottom'\n | 'right-top'\n | 'right-bottom';\n\n /**\n * 按钮的文本\n */\n buttonText?: string;\n\n /**\n * 按钮的文本颜色,可以是颜色名或颜色值,如 `red`、`#ffffff`、`rgba(255, 255, 255, 0.3)` 等。默认为 `#90CAF9`\n */\n buttonColor?: string;\n\n /**\n * 点击按钮时是否关闭 Snackbar,默认为 `true`\n */\n closeOnButtonClick?: boolean;\n\n /**\n * 点击或触摸 Snackbar 以外的区域时是否关闭 Snackbar,默认为 `true`\n */\n closeOnOutsideClick?: boolean;\n\n /**\n * 在 Snackbar 上点击的回调函数,参数为 Snackbar 的实例\n */\n onClick?: (snackbar: Snackbar) => void;\n\n /**\n * 点击 Snackbar 上的按钮时的回调函数,参数为 Snackbar 的实例\n */\n onButtonClick?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 开始打开时的回调函数,参数为 Snackbar 的实例\n */\n onOpen?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 打开后的回调函数,参数为 Snackbar 的实例\n */\n onOpened?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 开始关闭时的回调函数,参数为 Snackbar 的实例\n */\n onClose?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 关闭后的回调函数,参数为 Snackbar 的实例\n */\n onClosed?: (snackbar: Snackbar) => void;\n};\n\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n message: '',\n timeout: 4000,\n position: 'bottom',\n buttonText: '',\n buttonColor: '',\n closeOnButtonClick: true,\n closeOnOutsideClick: true,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onButtonClick: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onOpen: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onOpened: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClosed: () => {},\n};\n\n/**\n * 当前打开着的 Snackbar\n */\nlet currentInst: null | Snackbar = null;\n\n/**\n * 队列名\n */\nconst queueName = '_mdui_snackbar';\n\nclass Snackbar {\n /**\n * Snackbar 元素\n */\n public $element: JQ;\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 Snackbar 的状态\n */\n private state: STATE = 'closed';\n\n /**\n * setTimeout 的 ID\n */\n private timeoutId: any = null;\n\n public constructor(options: OPTIONS) {\n extend(this.options, options);\n\n // 按钮颜色\n let buttonColorStyle = '';\n let buttonColorClass = '';\n\n if (\n this.options.buttonColor!.indexOf('#') === 0 ||\n this.options.buttonColor!.indexOf('rgb') === 0\n ) {\n buttonColorStyle = `style=\"color:${this.options.buttonColor}\"`;\n } else if (this.options.buttonColor !== '') {\n buttonColorClass = `mdui-text-color-${this.options.buttonColor}`;\n }\n\n // 添加 HTML\n this.$element = $(\n '
              ' +\n `
              ${this.options.message}
              ` +\n (this.options.buttonText\n ? `${this.options.buttonText}`\n : '') +\n '
              ',\n ).appendTo(document.body);\n\n // 设置位置\n this.setPosition('close');\n\n this.$element.reflow().addClass(`mdui-snackbar-${this.options.position}`);\n }\n\n /**\n * 点击 Snackbar 外面的区域关闭\n * @param event\n */\n private closeOnOutsideClick(event: Event): void {\n const $target = $(event.target as HTMLElement);\n\n if (\n !$target.hasClass('mdui-snackbar') &&\n !$target.parents('.mdui-snackbar').length\n ) {\n currentInst!.close();\n }\n }\n\n /**\n * 设置 Snackbar 的位置\n * @param state\n */\n private setPosition(state: 'open' | 'close'): void {\n const snackbarHeight = this.$element[0].clientHeight;\n const position = this.options.position;\n\n let translateX;\n let translateY;\n\n // translateX\n if (position === 'bottom' || position === 'top') {\n translateX = '-50%';\n } else {\n translateX = '0';\n }\n\n // translateY\n if (state === 'open') {\n translateY = '0';\n } else {\n if (position === 'bottom') {\n translateY = snackbarHeight;\n }\n\n if (position === 'top') {\n translateY = -snackbarHeight;\n }\n\n if (position === 'left-top' || position === 'right-top') {\n translateY = -snackbarHeight - 24;\n }\n\n if (position === 'left-bottom' || position === 'right-bottom') {\n translateY = snackbarHeight + 24;\n }\n }\n\n this.$element.transform(`translate(${translateX},${translateY}px`);\n }\n\n /**\n * 打开 Snackbar\n */\n public open(): void {\n if (this.state === 'opening' || this.state === 'opened') {\n return;\n }\n\n // 如果当前有正在显示的 Snackbar,则先加入队列,等旧 Snackbar 关闭后再打开\n if (currentInst) {\n queue(queueName, () => this.open());\n return;\n }\n\n currentInst = this;\n\n // 开始打开\n this.state = 'opening';\n this.options.onOpen!(this);\n\n this.setPosition('open');\n\n this.$element.transitionEnd(() => {\n if (this.state !== 'opening') {\n return;\n }\n\n this.state = 'opened';\n this.options.onOpened!(this);\n\n // 有按钮时绑定事件\n if (this.options.buttonText) {\n this.$element.find('.mdui-snackbar-action').on('click', () => {\n this.options.onButtonClick!(this);\n if (this.options.closeOnButtonClick) {\n this.close();\n }\n });\n }\n\n // 点击 snackbar 的事件\n this.$element.on('click', (event) => {\n if (!$(event.target as HTMLElement).hasClass('mdui-snackbar-action')) {\n this.options.onClick!(this);\n }\n });\n\n // 点击 Snackbar 外面的区域关闭\n if (this.options.closeOnOutsideClick) {\n $document.on(startEvent, this.closeOnOutsideClick);\n }\n\n // 超时后自动关闭\n if (this.options.timeout) {\n this.timeoutId = setTimeout(() => this.close(), this.options.timeout);\n }\n });\n }\n\n /**\n * 关闭 Snackbar\n */\n public close(): void {\n if (this.state === 'closing' || this.state === 'closed') {\n return;\n }\n\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n }\n\n if (this.options.closeOnOutsideClick) {\n $document.off(startEvent, this.closeOnOutsideClick);\n }\n\n this.state = 'closing';\n this.options.onClose!(this);\n\n this.setPosition('close');\n\n this.$element.transitionEnd(() => {\n if (this.state !== 'closing') {\n return;\n }\n\n currentInst = null;\n this.state = 'closed';\n this.options.onClosed!(this);\n this.$element.remove();\n dequeue(queueName);\n });\n }\n}\n\nmdui.snackbar = function (message: any, options: any = {}): Snackbar {\n if (isString(message)) {\n options.message = message;\n } else {\n options = message;\n }\n\n const instance = new Snackbar(options);\n\n instance.open();\n\n return instance;\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/removeClass';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document } from '../../utils/dom';\nimport '../headroom';\n\n$(() => {\n // 切换导航项\n $document.on('click', '.mdui-bottom-nav>a', function () {\n const $item = $(this as HTMLElement);\n const $bottomNav = $item.parent();\n\n $bottomNav.children('a').each((index, item) => {\n const isThis = $item.is(item);\n\n if (isThis) {\n componentEvent('change', 'bottomNav', $bottomNav[0], undefined, {\n index,\n });\n }\n\n isThis\n ? $(item).addClass('mdui-bottom-nav-active')\n : $(item).removeClass('mdui-bottom-nav-active');\n });\n });\n\n // 滚动时隐藏 mdui-bottom-nav-scroll-hide\n mdui.mutation('.mdui-bottom-nav-scroll-hide', function () {\n new mdui.Headroom(this, {\n pinnedClass: 'mdui-headroom-pinned-down',\n unpinnedClass: 'mdui-headroom-unpinned-down',\n });\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/html';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 如果需要修改已有的圆形进度条组件,需要调用该方法来重新初始化组件。\n *\n * 若传入了参数,则只重新初始化该参数对应的圆形进度条。若没有传入参数,则重新初始化所有圆形进度条。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateSpinners(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\n/**\n * layer 的 HTML 结构\n * @param index\n */\nfunction layerHTML(index: number | false = false): string {\n return (\n `
              ` +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              '\n );\n}\n\n/**\n * 填充 HTML\n * @param spinner\n */\nfunction fillHTML(spinner: HTMLElement): void {\n const $spinner = $(spinner);\n\n const layer = $spinner.hasClass('mdui-spinner-colorful')\n ? layerHTML(1) + layerHTML(2) + layerHTML(3) + layerHTML(4)\n : layerHTML();\n\n $spinner.html(layer);\n}\n\n$(() => {\n // 页面加载完后自动填充 HTML 结构\n mdui.mutation('.mdui-spinner', function () {\n fillHTML(this);\n });\n});\n\nmdui.updateSpinners = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-spinner') : $(selector);\n\n $elements.each(function () {\n fillHTML(this);\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport contains from 'mdui.jq/es/functions/contains';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/width';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transformOrigin';\nimport '../../jq_extends/methods/transitionEnd';\nimport '../../jq_extends/static/throttle';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document, $window } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * Menu 组件\n *\n * 请通过 `new mdui.Menu()` 调用\n */\n Menu: {\n /**\n * 实例化 Menu 组件\n * @param anchorSelector 触发菜单的元素的 CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param menuSelector 菜单的 CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n anchorSelector: Selector | HTMLElement | ArrayLike,\n menuSelector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Menu;\n };\n }\n}\n\ntype OPTIONS = {\n /**\n * 菜单相对于触发它的元素的位置,默认为 `auto`。\n * 取值范围包括:\n * `top`: 菜单在触发它的元素的上方\n * `bottom`: 菜单在触发它的元素的下方\n * `center`: 菜单在窗口中垂直居中\n * `auto`: 自动判断位置。优先级为:`bottom` > `top` > `center`\n */\n position?: 'auto' | 'top' | 'bottom' | 'center';\n\n /**\n * 菜单与触发它的元素的对其方式,默认为 `auto`。\n * 取值范围包括:\n * `left`: 菜单与触发它的元素左对齐\n * `right`: 菜单与触发它的元素右对齐\n * `center`: 菜单在窗口中水平居中\n * `auto`: 自动判断位置:优先级为:`left` > `right` > `center`\n */\n align?: 'auto' | 'left' | 'right' | 'center';\n\n /**\n * 菜单与窗口边框至少保持多少间距,单位为 px,默认为 `16`\n */\n gutter?: number;\n\n /**\n * 菜单的定位方式,默认为 `false`。\n * 为 `true` 时,菜单使用 fixed 定位。在页面滚动时,菜单将保持在窗口固定位置,不随滚动条滚动。\n * 为 `false` 时,菜单使用 absolute 定位。在页面滚动时,菜单将随着页面一起滚动。\n */\n fixed?: boolean;\n\n /**\n * 菜单是否覆盖在触发它的元素的上面,默认为 `auto`\n * 为 `true` 时,使菜单覆盖在触发它的元素的上面\n * 为 `false` 时,使菜单不覆盖触发它的元素\n * 为 `auto` 时,简单菜单覆盖触发它的元素。级联菜单不覆盖触发它的元素\n */\n covered?: boolean | 'auto';\n\n /**\n * 子菜单的触发方式,默认为 `hover`\n * 为 `click` 时,点击时触发子菜单\n * 为 `hover` 时,鼠标悬浮时触发子菜单\n */\n subMenuTrigger?: 'click' | 'hover';\n\n /**\n * 子菜单的触发延迟时间(单位:毫秒),只有在 `subMenuTrigger: hover` 时,这个参数才有效,默认为 `200`\n */\n subMenuDelay?: number;\n};\n\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n position: 'auto',\n align: 'auto',\n gutter: 16,\n fixed: false,\n covered: 'auto',\n subMenuTrigger: 'hover',\n subMenuDelay: 200,\n};\n\nclass Menu {\n /**\n * 触发菜单的元素的 JQ 对象\n */\n public $anchor: JQ;\n\n /**\n * 菜单元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前菜单状态\n */\n private state: STATE = 'closed';\n\n /**\n * 是否是级联菜单\n */\n private isCascade: boolean;\n\n /**\n * 菜单是否覆盖在触发它的元素的上面\n */\n private isCovered: boolean;\n\n public constructor(\n anchorSelector: Selector | HTMLElement | ArrayLike,\n menuSelector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$anchor = $(anchorSelector).first();\n this.$element = $(menuSelector).first();\n\n // 触发菜单的元素 和 菜单必须是同级的元素,否则菜单可能不能定位\n if (!this.$anchor.parent().is(this.$element.parent())) {\n throw new Error('anchorSelector and menuSelector must be siblings');\n }\n\n extend(this.options, options);\n\n // 是否是级联菜单\n this.isCascade = this.$element.hasClass('mdui-menu-cascade');\n\n // covered 参数处理\n this.isCovered =\n this.options.covered === 'auto' ? !this.isCascade : this.options.covered!;\n\n // 点击触发菜单切换\n this.$anchor.on('click', () => this.toggle());\n\n // 点击菜单外面区域关闭菜单\n $document.on('click touchstart', (event: Event) => {\n const $target = $(event.target as HTMLElement);\n\n if (\n this.isOpen() &&\n !$target.is(this.$element) &&\n !contains(this.$element[0], $target[0]) &&\n !$target.is(this.$anchor) &&\n !contains(this.$anchor[0], $target[0])\n ) {\n this.close();\n }\n });\n\n // 点击不含子菜单的菜单条目关闭菜单\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n $document.on('click', '.mdui-menu-item', function () {\n const $item = $(this);\n\n if (\n !$item.find('.mdui-menu').length &&\n $item.attr('disabled') === undefined\n ) {\n that.close();\n }\n });\n\n // 绑定点击或鼠标移入含子菜单的条目的事件\n this.bindSubMenuEvent();\n\n // 窗口大小变化时,重新调整菜单位置\n $window.on(\n 'resize',\n $.throttle(() => this.readjust(), 100),\n );\n }\n\n /**\n * 是否为打开状态\n */\n private isOpen(): boolean {\n return this.state === 'opening' || this.state === 'opened';\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'menu', this.$element, this);\n }\n\n /**\n * 调整主菜单位置\n */\n private readjust(): void {\n let menuLeft;\n let menuTop;\n\n // 菜单位置和方向\n let position: 'bottom' | 'top' | 'center';\n let align: 'left' | 'right' | 'center';\n\n // window 窗口的宽度和高度\n const windowHeight = $window.height();\n const windowWidth = $window.width();\n\n // 配置参数\n const gutter = this.options.gutter!;\n const isCovered = this.isCovered;\n const isFixed = this.options.fixed;\n\n // 动画方向参数\n let transformOriginX;\n let transformOriginY;\n\n // 菜单的原始宽度和高度\n const menuWidth = this.$element.width();\n const menuHeight = this.$element.height();\n\n // 触发菜单的元素在窗口中的位置\n const anchorRect = this.$anchor[0].getBoundingClientRect();\n const anchorTop = anchorRect.top;\n const anchorLeft = anchorRect.left;\n const anchorHeight = anchorRect.height;\n const anchorWidth = anchorRect.width;\n const anchorBottom = windowHeight - anchorTop - anchorHeight;\n const anchorRight = windowWidth - anchorLeft - anchorWidth;\n\n // 触发元素相对其拥有定位属性的父元素的位置\n const anchorOffsetTop = this.$anchor[0].offsetTop;\n const anchorOffsetLeft = this.$anchor[0].offsetLeft;\n\n // 自动判断菜单位置\n if (this.options.position === 'auto') {\n if (anchorBottom + (isCovered ? anchorHeight : 0) > menuHeight + gutter) {\n // 判断下方是否放得下菜单\n position = 'bottom';\n } else if (\n anchorTop + (isCovered ? anchorHeight : 0) >\n menuHeight + gutter\n ) {\n // 判断上方是否放得下菜单\n position = 'top';\n } else {\n // 上下都放不下,居中显示\n position = 'center';\n }\n } else {\n position = this.options.position!;\n }\n\n // 自动判断菜单对齐方式\n if (this.options.align === 'auto') {\n if (anchorRight + anchorWidth > menuWidth + gutter) {\n // 判断右侧是否放得下菜单\n align = 'left';\n } else if (anchorLeft + anchorWidth > menuWidth + gutter) {\n // 判断左侧是否放得下菜单\n align = 'right';\n } else {\n // 左右都放不下,居中显示\n align = 'center';\n }\n } else {\n align = this.options.align!;\n }\n\n // 设置菜单位置\n if (position === 'bottom') {\n transformOriginY = '0';\n menuTop =\n (isCovered ? 0 : anchorHeight) +\n (isFixed ? anchorTop : anchorOffsetTop);\n } else if (position === 'top') {\n transformOriginY = '100%';\n menuTop =\n (isCovered ? anchorHeight : 0) +\n (isFixed ? anchorTop - menuHeight : anchorOffsetTop - menuHeight);\n } else {\n transformOriginY = '50%';\n\n // =====================在窗口中居中\n // 显示的菜单的高度,简单菜单高度不超过窗口高度,若超过了则在菜单内部显示滚动条\n // 级联菜单内部不允许出现滚动条\n let menuHeightTemp = menuHeight;\n\n // 简单菜单比窗口高时,限制菜单高度\n if (!this.isCascade) {\n if (menuHeight + gutter * 2 > windowHeight) {\n menuHeightTemp = windowHeight - gutter * 2;\n this.$element.height(menuHeightTemp);\n }\n }\n\n menuTop =\n (windowHeight - menuHeightTemp) / 2 +\n (isFixed ? 0 : anchorOffsetTop - anchorTop);\n }\n\n this.$element.css('top', `${menuTop}px`);\n\n // 设置菜单对齐方式\n if (align === 'left') {\n transformOriginX = '0';\n menuLeft = isFixed ? anchorLeft : anchorOffsetLeft;\n } else if (align === 'right') {\n transformOriginX = '100%';\n menuLeft = isFixed\n ? anchorLeft + anchorWidth - menuWidth\n : anchorOffsetLeft + anchorWidth - menuWidth;\n } else {\n transformOriginX = '50%';\n\n //=======================在窗口中居中\n // 显示的菜单的宽度,菜单宽度不能超过窗口宽度\n let menuWidthTemp = menuWidth;\n\n // 菜单比窗口宽,限制菜单宽度\n if (menuWidth + gutter * 2 > windowWidth) {\n menuWidthTemp = windowWidth - gutter * 2;\n this.$element.width(menuWidthTemp);\n }\n\n menuLeft =\n (windowWidth - menuWidthTemp) / 2 +\n (isFixed ? 0 : anchorOffsetLeft - anchorLeft);\n }\n\n this.$element.css('left', `${menuLeft}px`);\n\n // 设置菜单动画方向\n this.$element.transformOrigin(`${transformOriginX} ${transformOriginY}`);\n }\n\n /**\n * 调整子菜单的位置\n * @param $submenu\n */\n private readjustSubmenu($submenu: JQ): void {\n const $item = $submenu.parent('.mdui-menu-item');\n\n let submenuTop;\n let submenuLeft;\n\n // 子菜单位置和方向\n let position: 'top' | 'bottom';\n let align: 'left' | 'right';\n\n // window 窗口的宽度和高度\n const windowHeight = $window.height();\n const windowWidth = $window.width();\n\n // 动画方向参数\n let transformOriginX;\n let transformOriginY;\n\n // 子菜单的原始宽度和高度\n const submenuWidth = $submenu.width();\n const submenuHeight = $submenu.height();\n\n // 触发子菜单的菜单项的宽度高度\n const itemRect = $item[0].getBoundingClientRect();\n const itemWidth = itemRect.width;\n const itemHeight = itemRect.height;\n const itemLeft = itemRect.left;\n const itemTop = itemRect.top;\n\n // 判断菜单上下位置\n if (windowHeight - itemTop > submenuHeight) {\n // 判断下方是否放得下菜单\n position = 'bottom';\n } else if (itemTop + itemHeight > submenuHeight) {\n // 判断上方是否放得下菜单\n position = 'top';\n } else {\n // 默认放在下方\n position = 'bottom';\n }\n\n // 判断菜单左右位置\n if (windowWidth - itemLeft - itemWidth > submenuWidth) {\n // 判断右侧是否放得下菜单\n align = 'left';\n } else if (itemLeft > submenuWidth) {\n // 判断左侧是否放得下菜单\n align = 'right';\n } else {\n // 默认放在右侧\n align = 'left';\n }\n\n // 设置菜单位置\n if (position === 'bottom') {\n transformOriginY = '0';\n submenuTop = '0';\n } else if (position === 'top') {\n transformOriginY = '100%';\n submenuTop = -submenuHeight + itemHeight;\n }\n\n $submenu.css('top', `${submenuTop}px`);\n\n // 设置菜单对齐方式\n if (align === 'left') {\n transformOriginX = '0';\n submenuLeft = itemWidth;\n } else if (align === 'right') {\n transformOriginX = '100%';\n submenuLeft = -submenuWidth;\n }\n\n $submenu.css('left', `${submenuLeft}px`);\n\n // 设置菜单动画方向\n $submenu.transformOrigin(`${transformOriginX} ${transformOriginY}`);\n }\n\n /**\n * 打开子菜单\n * @param $submenu\n */\n private openSubMenu($submenu: JQ): void {\n this.readjustSubmenu($submenu);\n\n $submenu\n .addClass('mdui-menu-open')\n .parent('.mdui-menu-item')\n .addClass('mdui-menu-item-active');\n }\n\n /**\n * 关闭子菜单,及其嵌套的子菜单\n * @param $submenu\n */\n private closeSubMenu($submenu: JQ): void {\n // 关闭子菜单\n $submenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(() => $submenu.removeClass('mdui-menu-closing'))\n\n // 移除激活状态的样式\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n\n // 循环关闭嵌套的子菜单\n $submenu.find('.mdui-menu').each((_, menu) => {\n const $subSubmenu = $(menu);\n\n $subSubmenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(() => $subSubmenu.removeClass('mdui-menu-closing'))\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n });\n }\n\n /**\n * 切换子菜单状态\n * @param $submenu\n */\n private toggleSubMenu($submenu: JQ): void {\n $submenu.hasClass('mdui-menu-open')\n ? this.closeSubMenu($submenu)\n : this.openSubMenu($submenu);\n }\n\n /**\n * 绑定子菜单事件\n */\n private bindSubMenuEvent(): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n\n // 点击打开子菜单\n this.$element.on('click', '.mdui-menu-item', function (event) {\n const $item = $(this as HTMLElement);\n const $target = $(event.target as HTMLElement);\n\n // 禁用状态菜单不操作\n if ($item.attr('disabled') !== undefined) {\n return;\n }\n\n // 没有点击在子菜单的菜单项上时,不操作(点在了子菜单的空白区域、或分隔线上)\n if ($target.is('.mdui-menu') || $target.is('.mdui-divider')) {\n return;\n }\n\n // 阻止冒泡,点击菜单项时只在最后一级的 mdui-menu-item 上生效,不向上冒泡\n if (!$target.parents('.mdui-menu-item').first().is($item)) {\n return;\n }\n\n // 当前菜单的子菜单\n const $submenu = $item.children('.mdui-menu');\n\n // 先关闭除当前子菜单外的所有同级子菜单\n $item\n .parent('.mdui-menu')\n .children('.mdui-menu-item')\n .each((_, item) => {\n const $tmpSubmenu = $(item).children('.mdui-menu');\n\n if (\n $tmpSubmenu.length &&\n (!$submenu.length || !$tmpSubmenu.is($submenu))\n ) {\n that.closeSubMenu($tmpSubmenu);\n }\n });\n\n // 切换当前子菜单\n if ($submenu.length) {\n that.toggleSubMenu($submenu);\n }\n });\n\n if (this.options.subMenuTrigger === 'hover') {\n // 临时存储 setTimeout 对象\n let timeout: any = null;\n let timeoutOpen: any = null;\n\n this.$element.on('mouseover mouseout', '.mdui-menu-item', function (\n event,\n ) {\n const $item = $(this as HTMLElement);\n const eventType = event.type;\n const $relatedTarget = $(\n (event as MouseEvent).relatedTarget as HTMLElement,\n );\n\n // 禁用状态的菜单不操作\n if ($item.attr('disabled') !== undefined) {\n return;\n }\n\n // 用 mouseover 模拟 mouseenter\n if (eventType === 'mouseover') {\n if (\n !$item.is($relatedTarget) &&\n contains($item[0], $relatedTarget[0])\n ) {\n return;\n }\n }\n\n // 用 mouseout 模拟 mouseleave\n else if (eventType === 'mouseout') {\n if (\n $item.is($relatedTarget) ||\n contains($item[0], $relatedTarget[0])\n ) {\n return;\n }\n }\n\n // 当前菜单项下的子菜单,未必存在\n const $submenu = $item.children('.mdui-menu');\n\n // 鼠标移入菜单项时,显示菜单项下的子菜单\n if (eventType === 'mouseover') {\n if ($submenu.length) {\n // 当前子菜单准备打开时,如果当前子菜单正准备着关闭,不用再关闭了\n const tmpClose = $submenu.data('timeoutClose.mdui.menu');\n if (tmpClose) {\n clearTimeout(tmpClose);\n }\n\n // 如果当前子菜单已经打开,不操作\n if ($submenu.hasClass('mdui-menu-open')) {\n return;\n }\n\n // 当前子菜单准备打开时,其他准备打开的子菜单不用再打开了\n clearTimeout(timeoutOpen);\n\n // 准备打开当前子菜单\n timeout = timeoutOpen = setTimeout(\n () => that.openSubMenu($submenu),\n that.options.subMenuDelay,\n );\n\n $submenu.data('timeoutOpen.mdui.menu', timeout);\n }\n }\n\n // 鼠标移出菜单项时,关闭菜单项下的子菜单\n else if (eventType === 'mouseout') {\n if ($submenu.length) {\n // 鼠标移出菜单项时,如果当前菜单项下的子菜单正准备打开,不用再打开了\n const tmpOpen = $submenu.data('timeoutOpen.mdui.menu');\n if (tmpOpen) {\n clearTimeout(tmpOpen);\n }\n\n // 准备关闭当前子菜单\n timeout = setTimeout(\n () => that.closeSubMenu($submenu),\n that.options.subMenuDelay,\n );\n\n $submenu.data('timeoutClose.mdui.menu', timeout);\n }\n }\n });\n }\n }\n\n /**\n * 动画结束回调\n */\n private transitionEnd(): void {\n this.$element.removeClass('mdui-menu-closing');\n\n if (this.state === 'opening') {\n this.state = 'opened';\n this.triggerEvent('opened');\n }\n\n if (this.state === 'closing') {\n this.state = 'closed';\n this.triggerEvent('closed');\n\n // 关闭后,恢复菜单样式到默认状态,并恢复 fixed 定位\n this.$element.css({\n top: '',\n left: '',\n width: '',\n position: 'fixed',\n });\n }\n }\n\n /**\n * 切换菜单状态\n */\n public toggle(): void {\n this.isOpen() ? this.close() : this.open();\n }\n\n /**\n * 打开菜单\n */\n public open(): void {\n if (this.isOpen()) {\n return;\n }\n\n this.state = 'opening';\n this.triggerEvent('open');\n\n this.readjust();\n\n this.$element\n // 菜单隐藏状态使用使用 fixed 定位。\n .css('position', this.options.fixed ? 'fixed' : 'absolute')\n .addClass('mdui-menu-open')\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 关闭菜单\n */\n public close(): void {\n if (!this.isOpen()) {\n return;\n }\n\n this.state = 'closing';\n this.triggerEvent('close');\n\n // 菜单开始关闭时,关闭所有子菜单\n this.$element.find('.mdui-menu').each((_, submenu) => {\n this.closeSubMenu($(submenu));\n });\n\n this.$element\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(() => this.transitionEnd());\n }\n}\n\nmdui.Menu = Menu;\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/on';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-menu';\nconst dataName = '_mdui_menu';\n\ntype OPTIONS = {\n target: string;\n position?: 'auto' | 'top' | 'bottom' | 'center';\n align?: 'auto' | 'left' | 'right' | 'center';\n gutter?: number;\n fixed?: boolean;\n covered?: boolean | 'auto';\n subMenuTrigger?: 'click' | 'hover';\n subMenuDelay?: number;\n};\n\n$(() => {\n $document.on('click', `[${customAttr}]`, function () {\n const $this = $(this as HTMLElement);\n let instance = $this.data(dataName);\n\n if (!instance) {\n const options = parseOptions(this as HTMLElement, customAttr) as OPTIONS;\n const menuSelector = options.target;\n // @ts-ignore\n delete options.target;\n\n instance = new mdui.Menu($this, menuSelector, options);\n $this.data(dataName, instance);\n\n instance.toggle();\n }\n });\n});\n"],"names":["e","Promise","promiseFinally","const","let","i","this","get","set","DEFAULT_OPTIONS","customAttr","dataName","currentInst","queueName"],"mappings":"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"} \ No newline at end of file diff --git a/static/mdui/js/mdui.min.js b/static/mdui/js/mdui.min.js new file mode 100644 index 0000000..dfc297f --- /dev/null +++ b/static/mdui/js/mdui.min.js @@ -0,0 +1,7 @@ +/*! + * mdui 1.0.1 (https://mdui.org) + * Copyright 2016-2020 zdhxiong + * Licensed under MIT + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).mdui=e()}(this,function(){"use strict";function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}function e(e){var n=this.constructor;return this.then(function(t){return n.resolve(e()).then(function(){return t})},function(t){return n.resolve(e()).then(function(){return n.reject(t)})})}function n(n){return new this(function(i,t){if(!n||void 0===n.length)return t(new TypeError(typeof n+" "+n+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var o=Array.prototype.slice.call(n);if(0===o.length)return i([]);var s=o.length;function r(e,t){if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if("function"==typeof n)return void n.call(t,function(t){r(e,t)},function(t){o[e]={status:"rejected",reason:t},0==--s&&i(o)})}o[e]={status:"fulfilled",value:t},0==--s&&i(o)}for(var e=0;e"===n[n.length-1]){var i="div";return D({li:"ul",tr:"tbody",td:"tr",th:"tr",tbody:"table",option:"select"},function(t,e){if(0===n.indexOf("<"+t))return i=e,!1}),new R(j(n,i))}if(!("#"===t[0]&&!t.match(/[ .<>:~]/)))return new R(document.querySelectorAll(t));var e=document.getElementById(t.slice(1));return e?new R([e]):new R}return!x(t)||t instanceof Node?new R([t]):new R(t)}).fn=R.prototype,H);setTimeout(function(){return L("body").addClass("mdui-loaded")});var B={$:L};function P(t,e){return t!==e&&w(t).contains(e)}function N(n,t){return D(t,function(t,e){n.push(e)}),n}L.fn.each=function(t){return D(this,t)},L.fn.get=function(t){return void 0===t?[].slice.call(this):this[0<=t?t:t+this.length]},L.fn.find=function(n){var i=[];return this.each(function(t,e){N(i,L(e.querySelectorAll(n)).get())}),new R(i)};var z={},F=1;function q(t){var e="_mduiEventId";return t[e]||(t[e]=++F),t[e]}function W(t){var e=t.split(".");return{type:e[0],ns:e.slice(1).sort().join(" ")}}function Y(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function U(s,t,r,a){function u(t){delete e[t.id],s.removeEventListener(t.type,t.proxy,!1)}var e=z[q(s)]||[];t?t.split(" ").forEach(function(t){var e,n,i,o;t&&(e=s,n=r,i=a,o=W(t),(z[q(e)]||[]).filter(function(t){return t&&(!o.type||t.type===o.type)&&(!o.ns||Y(o.ns).test(t.ns))&&(!n||q(t.func)===q(n))&&(!i||t.selector===i)})).forEach(function(t){return u(t)})}):e.forEach(function(t){return u(t)})}function X(n,t){for(var e=[],i=arguments.length-2;0"===n[n.length-1]?i&&b(e)?L(e.cloneNode(!0)):L(e):L(j(e,"div")))[s?"insertAfter":"insertBefore"](o)})})}}),L.fn.off=function(t,n,e){var i=this;return C(t)?(D(t,function(t,e){i.off(t,n,e)}),this):(!1!==n&&!p(n)||(e=n,n=void 0),!1===e&&(e=M),this.each(function(){U(this,t,e,n)}))},L.fn.on=function(t,n,i,e,o){var s=this;if(C(t))return E(n)||(i=i||n,n=void 0),D(t,function(t,e){s.on(t,n,i,e,o)}),this;if(null==i&&null==e?(e=n,i=n=void 0):null==e&&(E(n)?(e=i,i=void 0):(e=i,i=n,n=void 0)),!1===e)e=M;else if(!e)return this;if(o){var r=this,a=e;e=function(t){return r.off(t.type,n,e),a.apply(this,arguments)}}return this.each(function(){!function(s,t,r,a,u){var c=q(s);z[c]||(z[c]=[]);var l=!1;C(a)&&a.useCapture&&(l=!0),t.split(" ").forEach(function(t){if(t){var n=W(t),e={type:n.type,ns:n.ns,func:r,selector:u,id:z[c].length,proxy:o};z[c].push(e),s.addEventListener(e.type,o,l)}function i(t,e){!1===r.apply(e,void 0===t._detail?[t]:[t].concat(t._detail))&&(t.preventDefault(),t.stopPropagation())}function o(e){e._ns&&!Y(e._ns).test(n.ns)||(e._data=a,u?L(s).find(u).get().reverse().forEach(function(t){t!==e.target&&!P(t,e.target)||i(e,t)}):i(e,s))}})}(this,t,e,i,n)})},D(K,function(t,e){L.fn[t]=function(n){return this.on(e,function(t,e){n(t,e.xhr,e.options,e.data)})}}),L.fn.map=function(n){return new R(nt(this,function(t,e){return n.call(t,e,t)}))},L.fn.clone=function(){return this.map(function(){return this.cloneNode(!0)})},L.fn.is=function(n){var i=!1;if(p(n))return this.each(function(t,e){n.call(e,t,e)&&(i=!0)}),i;if(E(n))return this.each(function(t,e){y(e)||g(e)||(e.matches||e.msMatchesSelector).call(e,n)&&(i=!0)}),i;var e=L(n);return this.each(function(t,n){e.each(function(t,e){n===e&&(i=!0)})}),i},L.fn.remove=function(n){return this.each(function(t,e){!e.parentNode||n&&!L(e).is(n)||e.parentNode.removeChild(e)})},D(["prepend","append"],function(u,t){L.fn[t]=function(){for(var a=[],t=arguments.length;t--;)a[t]=arguments[t];return this.each(function(t,e){var n,i=e.childNodes,o=i.length,s=o?i[u?o-1:0]:document.createElement("div");o||e.appendChild(s);var r=p(a[0])?[a[0].call(e,t,e.innerHTML)]:a;t&&(r=r.map(function(t){return E(t)?t:L(t).clone()})),(n=L(s))[u?"after":"before"].apply(n,r),o||e.removeChild(s)})}}),D(["appendTo","prependTo"],function(r,t){L.fn[t]=function(t){var s=[],e=L(t).map(function(t,e){var n=e.childNodes,i=n.length;if(i)return n[r?0:i-1];var o=document.createElement("div");return e.appendChild(o),s.push(o),o}),n=this[r?"insertBefore":"insertAfter"](e);return L(s).remove(),n}}),D(["attr","prop","css"],function(s,r){function a(t,e){switch(s){case 0:var n=t.getAttribute(e);return v(n)?void 0:n;case 1:return t[e];default:return S(t,e)}}L.fn[r]=function(n,i){var o=this;if(C(n))return D(n,function(t,e){o[r](t,e)}),this;if(1!==arguments.length)return this.each(function(t,e){!function(t,e,n){if(!O(n))switch(s){case 0:v(n)?t.removeAttribute(e):t.setAttribute(e,n);break;case 1:t[e]=n;break;default:e=$(e),t.style[e]=m(n)?n+(-1').appendTo(document.body).reflow().css("z-index",t));var n=e.data("_overlay_level")||0;return e.data("_overlay_level",++n).addClass("mdui-overlay-show")},L.hideOverlay=function(t){void 0===t&&(t=!1);var e=L(".mdui-overlay");if(e.length){var n=t?1:e.data("_overlay_level");1i.lastScrollY?"down":"up",n=i.options.tolerance[e]<=Math.abs(t-i.lastScrollY);t>i.lastScrollY&&t>=i.options.offset&&n?i.unpin():(t"},It.prototype.updateThCheckboxStatus=function(){var t=this.$thCheckbox[0],e=this.selectedRow,n=this.$tdRows.length;t.checked=e===n,t.indeterminate=!!e&&e!==n},It.prototype.updateTdCheckbox=function(){var o=this,s="mdui-table-row-selected";this.$tdRows.each(function(t,e){var n=L(e);if(n.find(".mdui-table-cell-checkbox").remove(),o.selectable){var i=L(o.createCheckboxHTML("td")).prependTo(n).find('input[type="checkbox"]');n.hasClass(s)&&(i[0].checked=!0,o.selectedRow++),o.updateThCheckboxStatus(),i.on("change",function(){i[0].checked?(n.addClass(s),o.selectedRow++):(n.removeClass(s),o.selectedRow--),o.updateThCheckboxStatus()}),o.$tdCheckboxs=o.$tdCheckboxs.add(i)}})},It.prototype.updateThCheckbox=function(){var t=this;this.$thRow.find(".mdui-table-cell-checkbox").remove(),this.selectable&&(this.$thCheckbox=L(this.createCheckboxHTML("th")).prependTo(this.$thRow).find('input[type="checkbox"]').on("change",function(){var n=t.$thCheckbox[0].checked;t.selectedRow=n?t.$tdRows.length:0,t.$tdCheckboxs.each(function(t,e){e.checked=n}),t.$tdRows.each(function(t,e){n?L(e).addClass("mdui-table-row-selected"):L(e).removeClass("mdui-table-row-selected")})}))},It.prototype.updateNumericCol=function(){var e=this,s="mdui-table-col-numeric";this.$thRow.find("th").each(function(i,t){var o=L(t).hasClass(s);e.$tdRows.each(function(t,e){var n=L(e).find("td").eq(i);o?n.addClass(s):n.removeClass(s)})})};var St="_mdui_table";L(function(){B.mutation(".mdui-table",function(){var t=L(this);t.data(St)||t.data(St,new It(t))})}),B.updateTables=function(t){(O(t)?L(".mdui-table"):L(t)).each(function(t,e){var n=L(e),i=n.data(St);i?i.init():n.data(St,new It(n))})};var jt="touchstart mousedown",Mt="touchmove mousemove",At="touchend mouseup",Dt="touchcancel mouseleave",Rt="touchend touchmove touchcancel",Ht=0;function Lt(t){return!(Ht&&-1<["mousedown","mouseup","mousemove","click","mouseover","mouseout","mouseenter","mouseleave"].indexOf(t.type))}function Bt(t){"touchstart"===t.type?Ht+=1:-1<["touchmove","touchend","touchcancel"].indexOf(t.type)&&setTimeout(function(){Ht&&--Ht},500)}function Pt(t,e){if(!(t instanceof MouseEvent&&2===t.button)){var n="undefined"!=typeof TouchEvent&&t instanceof TouchEvent&&t.touches.length?t.touches[0]:t,i=n.pageX,o=n.pageY,s=e.offset(),r=e.innerHeight(),a=e.innerWidth(),u=i-s.left,c=o-s.top,l=Math.max(Math.pow(Math.pow(r,2)+Math.pow(a,2),.5),48),d="translate3d("+(a/2-u)+"px,"+(r/2-c)+"px, 0) scale(1)";L('
              ').data("_ripple_wave_translate",d).prependTo(e).reflow().transform(d)}}function Nt(){var t=L(this);t.children(".mdui-ripple-wave").each(function(t,e){!function(t){if(t.length&&!t.data("_ripple_wave_removed")){t.data("_ripple_wave_removed",!0);var e=setTimeout(function(){return t.remove()},400),n=t.data("_ripple_wave_translate");t.addClass("mdui-ripple-wave-fill").transform(n.replace("scale(1)","scale(1.01)")).transitionEnd(function(){clearTimeout(e),t.addClass("mdui-ripple-wave-out").transform(n.replace("scale(1)","scale(1.01)")),e=setTimeout(function(){return t.remove()},700),setTimeout(function(){t.transitionEnd(function(){clearTimeout(e),t.remove()})},0)})}}(L(e))}),t.off(Mt+" "+At+" "+Dt,Nt)}function zt(t){if(Lt(t)&&(Bt(t),t.target!==document)){var e=L(t.target),n=e.hasClass("mdui-ripple")?e:e.parents(".mdui-ripple").first();if(n.length&&!n.prop("disabled")&&O(n.attr("disabled")))if("touchstart"===t.type){var i=!1,o=setTimeout(function(){o=0,Pt(t,n)},200),s=function(){o&&(clearTimeout(o),o=0,Pt(t,n)),i||(i=!0,Nt.call(n))};n.on("touchmove",function(){o&&(clearTimeout(o),o=0),s()}).on("touchend touchcancel",s)}else Pt(t,n),n.on(Mt+" "+At+" "+Dt,Nt)}}L(function(){yt.on(jt,zt).on(Rt,Bt)});var Ft={reInit:!1,domLoadedEvent:!1};function qt(t,e){void 0===e&&(e={}),e=X({},Ft,e);var n=t.target,i=L(n),o=t.type,s=i.val(),r=i.attr("type")||"";if(!(-1<["checkbox","button","submit","range","radio","image"].indexOf(r))){var a=i.parent(".mdui-textfield");if("focus"===o&&a.addClass("mdui-textfield-focus"),"blur"===o&&a.removeClass("mdui-textfield-focus"),"blur"!==o&&"input"!==o||(s?a.addClass("mdui-textfield-not-empty"):a.removeClass("mdui-textfield-not-empty")),n.disabled?a.addClass("mdui-textfield-disabled"):a.removeClass("mdui-textfield-disabled"),"input"!==o&&"blur"!==o||e.domLoadedEvent||!n.validity||(n.validity.valid?a.removeClass("mdui-textfield-invalid-html5"):a.addClass("mdui-textfield-invalid-html5")),i.is("textarea")){var u=s,c=!1;""===u.replace(/[\r\n]/g,"")&&(i.val(" "+u),c=!0),i.outerHeight("");var l=i.outerHeight(),d=n.scrollHeight;l / '+h+"
              ").appendTo(a),a.find(".mdui-textfield-counter-inputed").text(s.length.toString())),(a.find(".mdui-textfield-helper").length||a.find(".mdui-textfield-error").length||h)&&a.addClass("mdui-textfield-has-bottom")}}function Wt(t){var e=t.data(),n=e._slider_$track,i=e._slider_$fill,o=e._slider_$thumb,s=e._slider_$input,r=e._slider_min,a=e._slider_max,u=e._slider_disabled,c=e._slider_discrete,l=e._slider_$thumbText,d=s.val(),h=(d-r)/(a-r)*100;i.width(h+"%"),n.width(100-h+"%"),u&&(i.css("padding-right","6px"),n.css("padding-left","6px")),o.css("left",h+"%"),c&&l.text(d),0==h?t.addClass("mdui-slider-zero"):t.removeClass("mdui-slider-zero")}function Yt(t){var e=L('
              '),n=L('
              '),i=L('
              '),o=t.find('input[type="range"]'),s=o[0].disabled,r=t.hasClass("mdui-slider-discrete");s?t.addClass("mdui-slider-disabled"):t.removeClass("mdui-slider-disabled"),t.find(".mdui-slider-track").remove(),t.find(".mdui-slider-fill").remove(),t.find(".mdui-slider-thumb").remove(),t.append(e).append(n).append(i);var a=L();r&&(a=L(""),i.empty().append(a)),t.data("_slider_$track",e),t.data("_slider_$fill",n),t.data("_slider_$thumb",i),t.data("_slider_$input",o),t.data("_slider_min",o.attr("min")),t.data("_slider_max",o.attr("max")),t.data("_slider_disabled",s),t.data("_slider_discrete",r),t.data("_slider_$thumbText",a),Wt(t)}L(function(){yt.on("input focus blur",".mdui-textfield-input",{useCapture:!0},qt),yt.on("click",".mdui-textfield-expandable .mdui-textfield-icon",function(){L(this).parents(".mdui-textfield").addClass("mdui-textfield-expanded").find(".mdui-textfield-input")[0].focus()}),yt.on("click",".mdui-textfield-expanded .mdui-textfield-close",function(){L(this).parents(".mdui-textfield").removeClass("mdui-textfield-expanded").find(".mdui-textfield-input").val("")}),B.mutation(".mdui-textfield",function(){L(this).find(".mdui-textfield-input").trigger("input",{domLoadedEvent:!0})})}),B.updateTextFields=function(t){(O(t)?L(".mdui-textfield"):L(t)).each(function(t,e){L(e).find(".mdui-textfield-input").trigger("input",{reInit:!0})})};var Ut='.mdui-slider input[type="range"]';L(function(){yt.on("input change",Ut,function(){Wt(L(this).parent())}),yt.on(jt,Ut,function(t){Lt(t)&&(Bt(t),this.disabled||L(this).parent().addClass("mdui-slider-focus"))}),yt.on(At,Ut,function(t){Lt(t)&&(this.disabled||L(this).parent().removeClass("mdui-slider-focus"))}),yt.on(Rt,Ut,Bt),B.mutation(".mdui-slider",function(){Yt(L(this))})}),B.updateSliders=function(t){(O(t)?L(".mdui-slider"):L(t)).each(function(t,e){Yt(L(e))})};function Xt(t,e){var n=this;void 0===e&&(e={}),this.options=X({},Vt),this.state="closed",this.$element=L(t).first(),X(this.options,e),this.$btn=this.$element.find(".mdui-fab"),this.$dial=this.$element.find(".mdui-fab-dial"),this.$dialBtns=this.$dial.find(".mdui-fab"),"hover"===this.options.trigger&&(this.$btn.on("touchstart mouseenter",function(){return n.open()}),this.$element.on("mouseleave",function(){return n.close()})),"click"===this.options.trigger&&this.$btn.on(jt,function(){return n.open()}),yt.on(jt,function(t){L(t.target).parents(".mdui-fab-wrapper").length||n.close()})}var Vt={trigger:"hover"};Xt.prototype.triggerEvent=function(t){vt(t,"fab",this.$element,this)},Xt.prototype.isOpen=function(){return"opening"===this.state||"opened"===this.state},Xt.prototype.open=function(){var i=this;this.isOpen()||(this.$dialBtns.each(function(t,e){var n=15*(i.$dialBtns.length-t)+"ms";e.style.transitionDelay=n,e.style.webkitTransitionDelay=n}),this.$dial.css("height","auto").addClass("mdui-fab-dial-show"),this.$btn.find(".mdui-fab-opened").length&&this.$btn.addClass("mdui-fab-opened"),this.state="opening",this.triggerEvent("open"),this.$dialBtns.first().transitionEnd(function(){i.$btn.hasClass("mdui-fab-opened")&&(i.state="opened",i.triggerEvent("opened"))}))},Xt.prototype.close=function(){var t=this;this.isOpen()&&(this.$dialBtns.each(function(t,e){var n=15*t+"ms";e.style.transitionDelay=n,e.style.webkitTransitionDelay=n}),this.$dial.removeClass("mdui-fab-dial-show"),this.$btn.removeClass("mdui-fab-opened"),this.state="closing",this.triggerEvent("close"),this.$dialBtns.last().transitionEnd(function(){t.$btn.hasClass("mdui-fab-opened")||(t.state="closed",t.triggerEvent("closed"),t.$dial.css("height",0))}))},Xt.prototype.toggle=function(){this.isOpen()?this.close():this.open()},Xt.prototype.show=function(){this.$element.removeClass("mdui-fab-hide")},Xt.prototype.hide=function(){this.$element.addClass("mdui-fab-hide")},Xt.prototype.getState=function(){return this.state},B.Fab=Xt;var Jt="mdui-fab";L(function(){yt.on("touchstart mousedown mouseover","["+Jt+"]",function(){new B.Fab(this,Ct(this,Jt))})});function Kt(t,e){var n=this;void 0===e&&(e={}),this.$element=L(),this.options=X({},Gt),this.size=0,this.$selected=L(),this.$menu=L(),this.$items=L(),this.selectedIndex=0,this.selectedText="",this.selectedValue="",this.state="closed",this.$native=L(t).first(),this.$native.hide(),X(this.options,e),this.uniqueID=L.guid(),this.handleUpdate(),yt.on("click touchstart",function(t){var e=L(t.target);!n.isOpen()||e.is(n.$element)||P(n.$element[0],e[0])||n.close()})}var Gt={position:"auto",gutter:16};Kt.prototype.readjustMenu=function(){var t,e,n=bt.height(),i=this.$element.height(),o=this.$items.first(),s=o.height(),r=parseInt(o.css("margin-top")),a=this.$element.innerWidth()+.01,u=s*this.size+2*r,c=this.$element[0].getBoundingClientRect().top;if("bottom"===this.options.position)e=i,t="0px";else if("top"===this.options.position)e=-u-1,t="100%";else{var l=n-2*this.options.gutter;ln&&(e=-(c+u+this.options.gutter-n)),t=this.selectedIndex*s+s/2+r+"px"}this.$element.innerWidth(a),this.$menu.innerWidth(a).height(u).css({"margin-top":e+"px","transform-origin":"center "+t+" 0"})},Kt.prototype.isOpen=function(){return"opening"===this.state||"opened"===this.state},Kt.prototype.handleUpdate=function(){var r=this;this.isOpen()&&this.close(),this.selectedValue=this.$native.val();var a=[];this.$items=L(),this.$native.find("option").each(function(t,e){var n=e.textContent||"",i=e.value,o=e.disabled,s=r.selectedValue===i;a.push({value:i,text:n,disabled:o,selected:s,index:t}),s&&(r.selectedText=n,r.selectedIndex=t),r.$items=r.$items.add('
              "+n+"
              ")}),this.$selected=L(''+this.selectedText+""),this.$element=L('
              ').show().append(this.$selected),this.$menu=L('
              ').appendTo(this.$element).append(this.$items),L("#"+this.uniqueID).remove(),this.$native.after(this.$element),this.size=parseInt(this.$native.attr("size")||"0"),this.size<=0&&(this.size=this.$items.length,8
              ').appendTo(this.$element);var i=window.location.hash;i&&this.$tabs.each(function(t,e){return L(e).attr("href")!==i||(n.activeIndex=t,!1)}),-1===this.activeIndex&&this.$tabs.each(function(t,e){return!L(e).hasClass("mdui-tab-active")||(n.activeIndex=t,!1)}),this.$tabs.length&&-1===this.activeIndex&&(this.activeIndex=0),this.setActive(),bt.on("resize",L.throttle(function(){return n.setIndicatorPosition()},100)),this.$tabs.each(function(t,e){n.bindTabEvent(e)})}var te={trigger:"click",loop:!1};Zt.prototype.isDisabled=function(t){return void 0!==t.attr("disabled")},Zt.prototype.bindTabEvent=function(t){function e(){if(n.isDisabled(i))return!1;n.activeIndex=n.$tabs.index(t),n.setActive()}var n=this,i=L(t);i.on("click",e),"hover"===this.options.trigger&&i.on("mouseenter",e),i.on("click",function(){if(0===(i.attr("href")||"").indexOf("#"))return!1})},Zt.prototype.triggerEvent=function(t,e,n){void 0===n&&(n={}),vt(t,"tab",e,this,n)},Zt.prototype.setActive=function(){var o=this;this.$tabs.each(function(t,e){var n=L(e),i=n.attr("href")||"";t!==o.activeIndex||o.isDisabled(n)?(n.removeClass("mdui-tab-active"),L(i).hide()):(n.hasClass("mdui-tab-active")||(o.triggerEvent("change",o.$element,{index:o.activeIndex,id:i.substr(1)}),o.triggerEvent("show",n),n.addClass("mdui-tab-active")),L(i).show(),o.setIndicatorPosition())})},Zt.prototype.setIndicatorPosition=function(){if(-1!==this.activeIndex){var t=this.$tabs.eq(this.activeIndex);if(!this.isDisabled(t)){var e=t.offset();this.$indicator.css({left:e.left+this.$element[0].scrollLeft-this.$element[0].getBoundingClientRect().left+"px",width:t.innerWidth()+"px"})}}else this.$indicator.css({left:0,width:0})},Zt.prototype.next=function(){-1!==this.activeIndex&&(this.$tabs.length>this.activeIndex+1?this.activeIndex++:this.options.loop&&(this.activeIndex=0),this.setActive())},Zt.prototype.prev=function(){-1!==this.activeIndex&&(0',D(n.buttons,function(t,e){i+=''+e.text+""}),i+="
              ");var o='
              '+(n.title?'
              '+n.title+"
              ":"")+(n.content?'
              '+n.content+"
              ":"")+i+"
              ",s=new B.Dialog(o,{history:n.history,overlay:n.overlay,modal:n.modal,closeOnEsc:n.closeOnEsc,destroyOnClosed:n.destroyOnClosed});return null!==(e=n.buttons)&&void 0!==e&&e.length&&s.$element.find(".mdui-dialog-actions .mdui-btn").each(function(t,e){L(e).on("click",function(){n.buttons[t].onClick(s),n.buttons[t].close&&s.close()})}),s.$element.on("open.mdui.dialog",function(){n.onOpen(s)}).on("opened.mdui.dialog",function(){n.onOpened(s)}).on("close.mdui.dialog",function(){n.onClose(s)}).on("closed.mdui.dialog",function(){n.onClosed(s)}),s.open(),s}),closeOnEsc:!0,closeOnConfirm:!0},be={confirmText:"ok",cancelText:"cancel",history:!0,modal:!(B.alert=function(t,e,n,i){return p(e)&&(i=n,n=e,e=""),O(n)&&(n=function(){}),O(i)&&(i={}),i=X({},ye,i),B.dialog({title:e,content:t,buttons:[{text:i.confirmText,bold:!1,close:i.closeOnConfirm,onClick:n}],cssClass:"mdui-dialog-alert",history:i.history,modal:i.modal,closeOnEsc:i.closeOnEsc})}),closeOnEsc:!0,closeOnCancel:!0,closeOnConfirm:!0},xe={confirmText:"ok",cancelText:"cancel",history:!0,modal:!(B.confirm=function(t,e,n,i,o){return p(e)&&(o=i,i=n,n=e,e=""),O(n)&&(n=function(){}),O(i)&&(i=function(){}),O(o)&&(o={}),o=X({},be,o),B.dialog({title:e,content:t,buttons:[{text:o.cancelText,bold:!1,close:o.closeOnCancel,onClick:i},{text:o.confirmText,bold:!1,close:o.closeOnConfirm,onClick:n}],cssClass:"mdui-dialog-confirm",history:o.history,modal:o.modal,closeOnEsc:o.closeOnEsc})}),closeOnEsc:!0,closeOnCancel:!0,closeOnConfirm:!0,type:"text",maxlength:0,defaultValue:"",confirmOnEnter:!1};B.prompt=function(t,e,i,n,o){p(e)&&(o=n,n=i,i=e,e=""),O(i)&&(i=function(){}),O(n)&&(n=function(){}),O(o)&&(o={});var s='
              '+(t?'":"")+("text"===(o=X({},xe,o)).type?'":"")+("textarea"===o.type?'":"")+"
              ";return B.dialog({title:e,content:s,buttons:[{text:o.cancelText,bold:!1,close:o.closeOnCancel,onClick:function(t){var e=t.$element.find(".mdui-textfield-input").val();n(e,t)}},{text:o.confirmText,bold:!1,close:o.closeOnConfirm,onClick:function(t){var e=t.$element.find(".mdui-textfield-input").val();i(e,t)}}],cssClass:"mdui-dialog-prompt",history:o.history,modal:o.modal,closeOnEsc:o.closeOnEsc,onOpen:function(n){var t=n.$element.find(".mdui-textfield-input");B.updateTextFields(t),t[0].focus(),"textarea"!==o.type&&!0===o.confirmOnEnter&&t.on("keydown",function(t){if(13===t.keyCode){var e=n.$element.find(".mdui-textfield-input").val();return i(e,n),o.closeOnConfirm&&n.close(),!1}}),"textarea"===o.type&&t.on("input",function(){return n.handleUpdate()}),o.maxlength&&n.handleUpdate()}})};function Ce(t,e){void 0===e&&(e={}),this.options=X({},we),this.state="closed",this.timeoutId=null,this.$target=L(t).first(),X(this.options,e),this.$element=L('
              '+this.options.content+"
              ").appendTo(document.body);var n=this;this.$target.on("touchstart mouseenter",function(t){n.isDisabled(this)||Lt(t)&&(Bt(t),n.open())}).on("touchend mouseleave",function(t){n.isDisabled(this)||Lt(t)&&n.close()}).on(Rt,function(t){n.isDisabled(this)||Bt(t)})}var we={position:"auto",delay:0,content:""};Ce.prototype.isDisabled=function(t){return t.disabled||void 0!==L(t).attr("disabled")},Ce.prototype.isDesktop=function(){return 1024
              '+this.options.message+"
              "+(this.options.buttonText?'"+this.options.buttonText+"":"")+"
              ").appendTo(document.body),this.setPosition("close"),this.$element.reflow().addClass("mdui-snackbar-"+this.options.position)}var ke={message:"",timeout:4e3,position:"bottom",buttonText:"",buttonColor:"",closeOnButtonClick:!0,closeOnOutsideClick:!0,onClick:function(){},onButtonClick:function(){},onOpen:function(){},onOpened:function(){},onClose:function(){},onClosed:function(){}},_e=null,Te="_mdui_snackbar";function Ie(t){return void 0===t&&(t=!1),'
              '}function Se(t){var e=L(t),n=e.hasClass("mdui-spinner-colorful")?Ie(1)+Ie(2)+Ie(3)+Ie(4):Ie();e.html(n)}Oe.prototype.closeOnOutsideClick=function(t){var e=L(t.target);e.hasClass("mdui-snackbar")||e.parents(".mdui-snackbar").length||_e.close()},Oe.prototype.setPosition=function(t){var e,n,i=this.$element[0].clientHeight,o=this.options.position;e="bottom"===o||"top"===o?"-50%":"0","open"===t?n="0":("bottom"===o&&(n=i),"top"===o&&(n=-i),"left-top"!==o&&"right-top"!==o||(n=-i-24),"left-bottom"!==o&&"right-bottom"!==o||(n=i+24)),this.$element.transform("translate("+e+","+n+"px")},Oe.prototype.open=function(){var e=this;"opening"!==this.state&&"opened"!==this.state&&(_e?re(Te,function(){return e.open()}):((_e=this).state="opening",this.options.onOpen(this),this.setPosition("open"),this.$element.transitionEnd(function(){"opening"===e.state&&(e.state="opened",e.options.onOpened(e),e.options.buttonText&&e.$element.find(".mdui-snackbar-action").on("click",function(){e.options.onButtonClick(e),e.options.closeOnButtonClick&&e.close()}),e.$element.on("click",function(t){L(t.target).hasClass("mdui-snackbar-action")||e.options.onClick(e)}),e.options.closeOnOutsideClick&&yt.on(jt,e.closeOnOutsideClick),e.options.timeout&&(e.timeoutId=setTimeout(function(){return e.close()},e.options.timeout)))})))},Oe.prototype.close=function(){var t=this;"closing"!==this.state&&"closed"!==this.state&&(this.timeoutId&&clearTimeout(this.timeoutId),this.options.closeOnOutsideClick&&yt.off(jt,this.closeOnOutsideClick),this.state="closing",this.options.onClose(this),this.setPosition("close"),this.$element.transitionEnd(function(){"closing"===t.state&&(_e=null,t.state="closed",t.options.onClosed(t),t.$element.remove(),ae(Te))}))},B.snackbar=function(t,e){void 0===e&&(e={}),E(t)?e.message=t:e=t;var n=new Oe(e);return n.open(),n},L(function(){yt.on("click",".mdui-bottom-nav>a",function(){var i=L(this),o=i.parent();o.children("a").each(function(t,e){var n=i.is(e);n&&vt("change","bottomNav",o[0],void 0,{index:t}),n?L(e).addClass("mdui-bottom-nav-active"):L(e).removeClass("mdui-bottom-nav-active")})}),B.mutation(".mdui-bottom-nav-scroll-hide",function(){new B.Headroom(this,{pinnedClass:"mdui-headroom-pinned-down",unpinnedClass:"mdui-headroom-unpinned-down"})})}),L(function(){B.mutation(".mdui-spinner",function(){Se(this)})});function je(t,e,n){var i=this;if(void 0===n&&(n={}),this.options=X({},Me),this.state="closed",this.$anchor=L(t).first(),this.$element=L(e).first(),!this.$anchor.parent().is(this.$element.parent()))throw new Error("anchorSelector and menuSelector must be siblings");X(this.options,n),this.isCascade=this.$element.hasClass("mdui-menu-cascade"),this.isCovered="auto"===this.options.covered?!this.isCascade:this.options.covered,this.$anchor.on("click",function(){return i.toggle()}),yt.on("click touchstart",function(t){var e=L(t.target);!i.isOpen()||e.is(i.$element)||P(i.$element[0],e[0])||e.is(i.$anchor)||P(i.$anchor[0],e[0])||i.close()});var o=this;yt.on("click",".mdui-menu-item",function(){var t=L(this);t.find(".mdui-menu").length||void 0!==t.attr("disabled")||o.close()}),this.bindSubMenuEvent(),bt.on("resize",L.throttle(function(){return i.readjust()},100))}var Me={position:"auto",align:"auto",gutter:16,fixed:!(B.updateSpinners=function(t){(O(t)?L(".mdui-spinner"):L(t)).each(function(){Se(this)})}),covered:"auto",subMenuTrigger:"hover",subMenuDelay:200};je.prototype.isOpen=function(){return"opening"===this.state||"opened"===this.state},je.prototype.triggerEvent=function(t){vt(t,"menu",this.$element,this)},je.prototype.readjust=function(){var t,e,n,i,o,s,r=bt.height(),a=bt.width(),u=this.options.gutter,c=this.isCovered,l=this.options.fixed,d=this.$element.width(),h=this.$element.height(),f=this.$anchor[0].getBoundingClientRect(),p=f.top,m=f.left,v=f.height,g=f.width,y=r-p-v,b=a-m-g,x=this.$anchor[0].offsetTop,C=this.$anchor[0].offsetLeft;if(n="auto"===this.options.position?h+u} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.allSettled = allSettled;\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n // @ts-ignore\n (typeof setImmediate === 'function' &&\n function(fn) {\n // @ts-ignore\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","import Promise from './index';\nimport promiseFinally from './finally';\nimport allSettled from './allSettled';\n\n/** @suppress {undefinedVars} */\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\n// Expose the polyfill if Promise is undefined or set to a\n// non-function value. The latter can be due to a named HTMLElement\n// being exposed by browsers for legacy reasons.\n// https://github.com/taylorhakes/promise-polyfill/issues/114\nif (typeof globalNS['Promise'] !== 'function') {\n globalNS['Promise'] = Promise;\n} else if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = promiseFinally;\n} else if (!globalNS.Promise.allSettled) {\n globalNS.Promise.allSettled = allSettled;\n}\n","function isNodeName(element, name) {\n return element.nodeName.toLowerCase() === name.toLowerCase();\n}\nfunction isFunction(target) {\n return typeof target === 'function';\n}\nfunction isString(target) {\n return typeof target === 'string';\n}\nfunction isNumber(target) {\n return typeof target === 'number';\n}\nfunction isBoolean(target) {\n return typeof target === 'boolean';\n}\nfunction isUndefined(target) {\n return typeof target === 'undefined';\n}\nfunction isNull(target) {\n return target === null;\n}\nfunction isWindow(target) {\n return target instanceof Window;\n}\nfunction isDocument(target) {\n return target instanceof Document;\n}\nfunction isElement(target) {\n return target instanceof Element;\n}\nfunction isNode(target) {\n return target instanceof Node;\n}\n/**\n * 是否是 IE 浏览器\n */\nfunction isIE() {\n // @ts-ignore\n return !!window.document.documentMode;\n}\nfunction isArrayLike(target) {\n if (isFunction(target) || isWindow(target)) {\n return false;\n }\n return isNumber(target.length);\n}\nfunction isObjectLike(target) {\n return typeof target === 'object' && target !== null;\n}\nfunction toElement(target) {\n return isDocument(target) ? target.documentElement : target;\n}\n/**\n * 把用 - 分隔的字符串转为驼峰(如 box-sizing 转换为 boxSizing)\n * @param string\n */\nfunction toCamelCase(string) {\n return string\n .replace(/^-ms-/, 'ms-')\n .replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n/**\n * 把驼峰法转为用 - 分隔的字符串(如 boxSizing 转换为 box-sizing)\n * @param string\n */\nfunction toKebabCase(string) {\n return string.replace(/[A-Z]/g, (replacer) => '-' + replacer.toLowerCase());\n}\n/**\n * 获取元素的样式值\n * @param element\n * @param name\n */\nfunction getComputedStyleValue(element, name) {\n return window.getComputedStyle(element).getPropertyValue(toKebabCase(name));\n}\n/**\n * 检查元素的 box-sizing 是否是 border-box\n * @param element\n */\nfunction isBorderBox(element) {\n return getComputedStyleValue(element, 'box-sizing') === 'border-box';\n}\n/**\n * 获取元素的 padding, border, margin 宽度(两侧宽度的和,单位为px)\n * @param element\n * @param direction\n * @param extra\n */\nfunction getExtraWidth(element, direction, extra) {\n const position = direction === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n return [0, 1].reduce((prev, _, index) => {\n let prop = extra + position[index];\n if (extra === 'border') {\n prop += 'Width';\n }\n return prev + parseFloat(getComputedStyleValue(element, prop) || '0');\n }, 0);\n}\n/**\n * 获取元素的样式值,对 width 和 height 进行过处理\n * @param element\n * @param name\n */\nfunction getStyle(element, name) {\n // width、height 属性使用 getComputedStyle 得到的值不准确,需要使用 getBoundingClientRect 获取\n if (name === 'width' || name === 'height') {\n const valueNumber = element.getBoundingClientRect()[name];\n if (isBorderBox(element)) {\n return `${valueNumber}px`;\n }\n return `${valueNumber -\n getExtraWidth(element, name, 'border') -\n getExtraWidth(element, name, 'padding')}px`;\n }\n return getComputedStyleValue(element, name);\n}\n/**\n * 获取子节点组成的数组\n * @param target\n * @param parent\n */\nfunction getChildNodesArray(target, parent) {\n const tempParent = document.createElement(parent);\n tempParent.innerHTML = target;\n return [].slice.call(tempParent.childNodes);\n}\n/**\n * 始终返回 false 的函数\n */\nfunction returnFalse() {\n return false;\n}\n/**\n * 数值单位的 CSS 属性\n */\nconst cssNumber = [\n 'animationIterationCount',\n 'columnCount',\n 'fillOpacity',\n 'flexGrow',\n 'flexShrink',\n 'fontWeight',\n 'gridArea',\n 'gridColumn',\n 'gridColumnEnd',\n 'gridColumnStart',\n 'gridRow',\n 'gridRowEnd',\n 'gridRowStart',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'widows',\n 'zIndex',\n 'zoom',\n];\nexport { isNodeName, isArrayLike, isObjectLike, isFunction, isString, isNumber, isBoolean, isUndefined, isNull, isWindow, isDocument, isElement, isNode, isIE, toElement, toCamelCase, toKebabCase, getComputedStyleValue, isBorderBox, getExtraWidth, getStyle, getChildNodesArray, returnFalse, cssNumber, };\n","import { isArrayLike } from '../utils';\nfunction each(target, callback) {\n if (isArrayLike(target)) {\n for (let i = 0; i < target.length; i += 1) {\n if (callback.call(target[i], i, target[i]) === false) {\n return target;\n }\n }\n }\n else {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i += 1) {\n if (callback.call(target[keys[i]], keys[i], target[keys[i]]) === false) {\n return target;\n }\n }\n }\n return target;\n}\nexport default each;\n","import each from './functions/each';\n/**\n * 为了使用模块扩充,这里不能使用默认导出\n */\nexport class JQ {\n constructor(arr) {\n this.length = 0;\n if (!arr) {\n return this;\n }\n each(arr, (i, item) => {\n // @ts-ignore\n this[i] = item;\n });\n this.length = arr.length;\n return this;\n }\n}\n","import each from './functions/each';\nimport { JQ } from './JQ';\nimport { getChildNodesArray, isArrayLike, isFunction, isNode, isString, } from './utils';\nfunction get$() {\n const $ = function (selector) {\n if (!selector) {\n return new JQ();\n }\n // JQ\n if (selector instanceof JQ) {\n return selector;\n }\n // function\n if (isFunction(selector)) {\n if (/complete|loaded|interactive/.test(document.readyState) &&\n document.body) {\n selector.call(document, $);\n }\n else {\n document.addEventListener('DOMContentLoaded', () => selector.call(document, $), false);\n }\n return new JQ([document]);\n }\n // String\n if (isString(selector)) {\n const html = selector.trim();\n // 根据 HTML 字符串创建 JQ 对象\n if (html[0] === '<' && html[html.length - 1] === '>') {\n let toCreate = 'div';\n const tags = {\n li: 'ul',\n tr: 'tbody',\n td: 'tr',\n th: 'tr',\n tbody: 'table',\n option: 'select',\n };\n each(tags, (childTag, parentTag) => {\n if (html.indexOf(`<${childTag}`) === 0) {\n toCreate = parentTag;\n return false;\n }\n return;\n });\n return new JQ(getChildNodesArray(html, toCreate));\n }\n // 根据 CSS 选择器创建 JQ 对象\n const isIdSelector = selector[0] === '#' && !selector.match(/[ .<>:~]/);\n if (!isIdSelector) {\n return new JQ(document.querySelectorAll(selector));\n }\n const element = document.getElementById(selector.slice(1));\n if (element) {\n return new JQ([element]);\n }\n return new JQ();\n }\n if (isArrayLike(selector) && !isNode(selector)) {\n return new JQ(selector);\n }\n return new JQ([selector]);\n };\n $.fn = JQ.prototype;\n return $;\n}\nconst $ = get$();\nexport default $;\n","import { MduiStatic } from './interfaces/MduiStatic';\nimport $ from 'mdui.jq/es/$';\n\n// 避免页面加载完后直接执行css动画\n// https://css-tricks.com/transitions-only-after-page-load/\nsetTimeout(() => $('body').addClass('mdui-loaded'));\n\nconst mdui = {\n $: $,\n} as MduiStatic;\n\nexport default mdui;\n","import { toElement } from '../utils';\n/**\n * 检查 container 元素内是否包含 contains 元素\n * @param container 父元素\n * @param contains 子元素\n * @example\n```js\ncontains( document, document.body ); // true\ncontains( document.getElementById('test'), document ); // false\ncontains( $('.container').get(0), $('.contains').get(0) ); // false\n```\n */\nfunction contains(container, contains) {\n return container !== contains && toElement(container).contains(contains);\n}\nexport default contains;\n","import each from './each';\n/**\n * 把第二个数组的元素追加到第一个数组中,并返回合并后的数组\n * @param first 第一个数组\n * @param second 该数组的元素将被追加到第一个数组中\n * @example\n```js\nmerge( [ 0, 1, 2 ], [ 2, 3, 4 ] )\n// [ 0, 1, 2, 2, 3, 4 ]\n```\n */\nfunction merge(first, second) {\n each(second, (_, value) => {\n first.push(value);\n });\n return first;\n}\nexport default merge;\n","import $ from '../$';\nimport each from '../functions/each';\n$.fn.each = function (callback) {\n return each(this, callback);\n};\n","import $ from '../$';\n$.fn.get = function (index) {\n return index === undefined\n ? [].slice.call(this)\n : this[index >= 0 ? index : index + this.length];\n};\n","import $ from '../$';\nimport merge from '../functions/merge';\nimport { JQ } from '../JQ';\nimport './each';\nimport './get';\n$.fn.find = function (selector) {\n const foundElements = [];\n this.each((_, element) => {\n merge(foundElements, $(element.querySelectorAll(selector)).get());\n });\n return new JQ(foundElements);\n};\n","import $ from '../../$';\nimport contains from '../../functions/contains';\nimport { isObjectLike } from '../../utils';\nimport '../find';\n// 存储事件\nconst handlers = {};\n// 元素ID\nlet mduiElementId = 1;\n/**\n * 为元素赋予一个唯一的ID\n */\nfunction getElementId(element) {\n const key = '_mduiEventId';\n // @ts-ignore\n if (!element[key]) {\n // @ts-ignore\n element[key] = ++mduiElementId;\n }\n // @ts-ignore\n return element[key];\n}\n/**\n * 解析事件名中的命名空间\n */\nfunction parse(type) {\n const parts = type.split('.');\n return {\n type: parts[0],\n ns: parts.slice(1).sort().join(' '),\n };\n}\n/**\n * 命名空间匹配规则\n */\nfunction matcherFor(ns) {\n return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)');\n}\n/**\n * 获取匹配的事件\n * @param element\n * @param type\n * @param func\n * @param selector\n */\nfunction getHandlers(element, type, func, selector) {\n const event = parse(type);\n return (handlers[getElementId(element)] || []).filter((handler) => handler &&\n (!event.type || handler.type === event.type) &&\n (!event.ns || matcherFor(event.ns).test(handler.ns)) &&\n (!func || getElementId(handler.func) === getElementId(func)) &&\n (!selector || handler.selector === selector));\n}\n/**\n * 添加事件监听\n * @param element\n * @param types\n * @param func\n * @param data\n * @param selector\n */\nfunction add(element, types, func, data, selector) {\n const elementId = getElementId(element);\n if (!handlers[elementId]) {\n handlers[elementId] = [];\n }\n // 传入 data.useCapture 来设置 useCapture: true\n let useCapture = false;\n if (isObjectLike(data) && data.useCapture) {\n useCapture = true;\n }\n types.split(' ').forEach((type) => {\n if (!type) {\n return;\n }\n const event = parse(type);\n function callFn(e, elem) {\n // 因为鼠标事件模拟事件的 detail 属性是只读的,因此在 e._detail 中存储参数\n const result = func.apply(elem, \n // @ts-ignore\n e._detail === undefined ? [e] : [e].concat(e._detail));\n if (result === false) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n function proxyFn(e) {\n // @ts-ignore\n if (e._ns && !matcherFor(e._ns).test(event.ns)) {\n return;\n }\n // @ts-ignore\n e._data = data;\n if (selector) {\n // 事件代理\n $(element)\n .find(selector)\n .get()\n .reverse()\n .forEach((elem) => {\n if (elem === e.target ||\n contains(elem, e.target)) {\n callFn(e, elem);\n }\n });\n }\n else {\n // 不使用事件代理\n callFn(e, element);\n }\n }\n const handler = {\n type: event.type,\n ns: event.ns,\n func,\n selector,\n id: handlers[elementId].length,\n proxy: proxyFn,\n };\n handlers[elementId].push(handler);\n element.addEventListener(handler.type, proxyFn, useCapture);\n });\n}\n/**\n * 移除事件监听\n * @param element\n * @param types\n * @param func\n * @param selector\n */\nfunction remove(element, types, func, selector) {\n const handlersInElement = handlers[getElementId(element)] || [];\n const removeEvent = (handler) => {\n delete handlersInElement[handler.id];\n element.removeEventListener(handler.type, handler.proxy, false);\n };\n if (!types) {\n handlersInElement.forEach((handler) => removeEvent(handler));\n }\n else {\n types.split(' ').forEach((type) => {\n if (type) {\n getHandlers(element, type, func, selector).forEach((handler) => removeEvent(handler));\n }\n });\n }\n}\nexport { parse, add, remove };\n","import each from '../functions/each';\nimport { isUndefined } from '../utils';\nfunction extend(target, object1, ...objectN) {\n objectN.unshift(object1);\n each(objectN, (_, object) => {\n each(object, (prop, value) => {\n if (!isUndefined(value)) {\n target[prop] = value;\n }\n });\n });\n return target;\n}\nexport default extend;\n","import { isObjectLike } from '../utils';\nimport each from './each';\n/**\n * 将数组或对象序列化,序列化后的字符串可作为 URL 查询字符串使用\n *\n * 若传入数组,则格式必须和 serializeArray 方法的返回值一样\n * @param obj 对象或数组\n * @example\n```js\nparam({ width: 1680, height: 1050 });\n// width=1680&height=1050\n```\n * @example\n```js\nparam({ foo: { one: 1, two: 2 }})\n// foo[one]=1&foo[two]=2\n```\n * @example\n```js\nparam({ids: [1, 2, 3]})\n// ids[]=1&ids[]=2&ids[]=3\n```\n * @example\n```js\nparam([\n {\"name\":\"name\",\"value\":\"mdui\"},\n {\"name\":\"password\",\"value\":\"123456\"}\n])\n// name=mdui&password=123456\n```\n */\nfunction param(obj) {\n if (!isObjectLike(obj) && !Array.isArray(obj)) {\n return '';\n }\n const args = [];\n function destructure(key, value) {\n let keyTmp;\n if (isObjectLike(value)) {\n each(value, (i, v) => {\n if (Array.isArray(value) && !isObjectLike(v)) {\n keyTmp = '';\n }\n else {\n keyTmp = i;\n }\n destructure(`${key}[${keyTmp}]`, v);\n });\n }\n else {\n if (value == null || value === '') {\n keyTmp = '=';\n }\n else {\n keyTmp = `=${encodeURIComponent(value)}`;\n }\n args.push(encodeURIComponent(key) + keyTmp);\n }\n }\n if (Array.isArray(obj)) {\n each(obj, function () {\n destructure(this.name, this.value);\n });\n }\n else {\n each(obj, destructure);\n }\n return args.join('&');\n}\nexport default param;\n","import $ from '../$';\nimport './each';\nimport { parse } from './utils/event';\n$.fn.trigger = function (type, extraParameters) {\n const event = parse(type);\n let eventObject;\n const eventParams = {\n bubbles: true,\n cancelable: true,\n };\n const isMouseEvent = ['click', 'mousedown', 'mouseup', 'mousemove'].indexOf(event.type) > -1;\n if (isMouseEvent) {\n // Note: MouseEvent 无法传入 detail 参数\n eventObject = new MouseEvent(event.type, eventParams);\n }\n else {\n eventParams.detail = extraParameters;\n eventObject = new CustomEvent(event.type, eventParams);\n }\n // @ts-ignore\n eventObject._detail = extraParameters;\n // @ts-ignore\n eventObject._ns = event.ns;\n return this.each(function () {\n this.dispatchEvent(eventObject);\n });\n};\n","// 全局配置参数\nconst globalOptions = {};\n// 全局事件名\nconst ajaxEvents = {\n ajaxStart: 'start.mdui.ajax',\n ajaxSuccess: 'success.mdui.ajax',\n ajaxError: 'error.mdui.ajax',\n ajaxComplete: 'complete.mdui.ajax',\n};\nexport { globalOptions, ajaxEvents };\n","import $ from '../$';\nimport '../methods/trigger';\nimport { isString, isUndefined } from '../utils';\nimport each from './each';\nimport extend from './extend';\nimport param from './param';\nimport { ajaxEvents, globalOptions } from './utils/ajax';\n/**\n * 判断此请求方法是否通过查询字符串提交参数\n * @param method 请求方法,大写\n */\nfunction isQueryStringData(method) {\n return ['GET', 'HEAD'].indexOf(method) >= 0;\n}\n/**\n * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ?\n * @param url\n * @param query\n */\nfunction appendQuery(url, query) {\n return `${url}&${query}`.replace(/[&?]{1,2}/, '?');\n}\n/**\n * 合并请求参数,参数优先级:options > globalOptions > defaults\n * @param options\n */\nfunction mergeOptions(options) {\n // 默认参数\n const defaults = {\n url: '',\n method: 'GET',\n data: '',\n processData: true,\n async: true,\n cache: true,\n username: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n dataType: 'text',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0,\n global: true,\n };\n // globalOptions 中的回调函数不合并\n each(globalOptions, (key, value) => {\n const callbacks = [\n 'beforeSend',\n 'success',\n 'error',\n 'complete',\n 'statusCode',\n ];\n // @ts-ignore\n if (callbacks.indexOf(key) < 0 && !isUndefined(value)) {\n defaults[key] = value;\n }\n });\n return extend({}, defaults, options);\n}\n/**\n * 发送 ajax 请求\n * @param options\n * @example\n```js\najax({\n method: \"POST\",\n url: \"some.php\",\n data: { name: \"John\", location: \"Boston\" }\n}).then(function( msg ) {\n alert( \"Data Saved: \" + msg );\n});\n```\n */\nfunction ajax(options) {\n // 是否已取消请求\n let isCanceled = false;\n // 事件参数\n const eventParams = {};\n // 参数合并\n const mergedOptions = mergeOptions(options);\n let url = mergedOptions.url || window.location.toString();\n const method = mergedOptions.method.toUpperCase();\n let data = mergedOptions.data;\n const processData = mergedOptions.processData;\n const async = mergedOptions.async;\n const cache = mergedOptions.cache;\n const username = mergedOptions.username;\n const password = mergedOptions.password;\n const headers = mergedOptions.headers;\n const xhrFields = mergedOptions.xhrFields;\n const statusCode = mergedOptions.statusCode;\n const dataType = mergedOptions.dataType;\n const contentType = mergedOptions.contentType;\n const timeout = mergedOptions.timeout;\n const global = mergedOptions.global;\n // 需要发送的数据\n // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换\n if (data &&\n (isQueryStringData(method) || processData) &&\n !isString(data) &&\n !(data instanceof ArrayBuffer) &&\n !(data instanceof Blob) &&\n !(data instanceof Document) &&\n !(data instanceof FormData)) {\n data = param(data);\n }\n // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中\n if (data && isQueryStringData(method)) {\n // 查询字符串拼接到 URL 中\n url = appendQuery(url, data);\n data = null;\n }\n /**\n * 触发事件和回调函数\n * @param event\n * @param params\n * @param callback\n * @param args\n */\n function trigger(event, params, callback, ...args) {\n // 触发全局事件\n if (global) {\n $(document).trigger(event, params);\n }\n // 触发 ajax 回调和事件\n let result1;\n let result2;\n if (callback) {\n // 全局回调\n if (callback in globalOptions) {\n // @ts-ignore\n result1 = globalOptions[callback](...args);\n }\n // 自定义回调\n if (mergedOptions[callback]) {\n // @ts-ignore\n result2 = mergedOptions[callback](...args);\n }\n // beforeSend 回调返回 false 时取消 ajax 请求\n if (callback === 'beforeSend' &&\n (result1 === false || result2 === false)) {\n isCanceled = true;\n }\n }\n }\n // XMLHttpRequest 请求\n function XHR() {\n let textStatus;\n return new Promise((resolve, reject) => {\n // GET/HEAD 请求的缓存处理\n if (isQueryStringData(method) && !cache) {\n url = appendQuery(url, `_=${Date.now()}`);\n }\n // 创建 XHR\n const xhr = new XMLHttpRequest();\n xhr.open(method, url, async, username, password);\n if (contentType ||\n (data && !isQueryStringData(method) && contentType !== false)) {\n xhr.setRequestHeader('Content-Type', contentType);\n }\n // 设置 Accept\n if (dataType === 'json') {\n xhr.setRequestHeader('Accept', 'application/json, text/javascript');\n }\n // 添加 headers\n if (headers) {\n each(headers, (key, value) => {\n // undefined 值不发送,string 和 null 需要发送\n if (!isUndefined(value)) {\n xhr.setRequestHeader(key, value + ''); // 把 null 转换成字符串\n }\n });\n }\n // 检查是否是跨域请求,跨域请求时不添加 X-Requested-With\n const crossDomain = /^([\\w-]+:)?\\/\\/([^/]+)/.test(url) &&\n RegExp.$2 !== window.location.host;\n if (!crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n if (xhrFields) {\n each(xhrFields, (key, value) => {\n // @ts-ignore\n xhr[key] = value;\n });\n }\n eventParams.xhr = xhr;\n eventParams.options = mergedOptions;\n let xhrTimeout;\n xhr.onload = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n // AJAX 返回的 HTTP 响应码是否表示成功\n const isHttpStatusSuccess = (xhr.status >= 200 && xhr.status < 300) ||\n xhr.status === 304 ||\n xhr.status === 0;\n let responseData;\n if (isHttpStatusSuccess) {\n if (xhr.status === 204 || method === 'HEAD') {\n textStatus = 'nocontent';\n }\n else if (xhr.status === 304) {\n textStatus = 'notmodified';\n }\n else {\n textStatus = 'success';\n }\n if (dataType === 'json') {\n try {\n responseData =\n method === 'HEAD' ? undefined : JSON.parse(xhr.responseText);\n eventParams.data = responseData;\n }\n catch (err) {\n textStatus = 'parsererror';\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus);\n reject(new Error(textStatus));\n }\n if (textStatus !== 'parsererror') {\n trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n }\n else {\n responseData =\n method === 'HEAD'\n ? undefined\n : xhr.responseType === 'text' || xhr.responseType === ''\n ? xhr.responseText\n : xhr.response;\n eventParams.data = responseData;\n trigger(ajaxEvents.ajaxSuccess, eventParams, 'success', responseData, textStatus, xhr);\n resolve(responseData);\n }\n }\n else {\n textStatus = 'error';\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, textStatus);\n reject(new Error(textStatus));\n }\n // statusCode\n each([globalOptions.statusCode, statusCode], (_, func) => {\n if (func && func[xhr.status]) {\n if (isHttpStatusSuccess) {\n func[xhr.status](responseData, textStatus, xhr);\n }\n else {\n func[xhr.status](xhr, textStatus);\n }\n }\n });\n trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, textStatus);\n };\n xhr.onerror = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, xhr.statusText);\n trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, 'error');\n reject(new Error(xhr.statusText));\n };\n xhr.onabort = function () {\n let statusText = 'abort';\n if (xhrTimeout) {\n statusText = 'timeout';\n clearTimeout(xhrTimeout);\n }\n trigger(ajaxEvents.ajaxError, eventParams, 'error', xhr, statusText);\n trigger(ajaxEvents.ajaxComplete, eventParams, 'complete', xhr, statusText);\n reject(new Error(statusText));\n };\n // ajax start 回调\n trigger(ajaxEvents.ajaxStart, eventParams, 'beforeSend', xhr);\n if (isCanceled) {\n reject(new Error('cancel'));\n return;\n }\n // Timeout\n if (timeout > 0) {\n xhrTimeout = setTimeout(() => {\n xhr.abort();\n }, timeout);\n }\n // 发送 XHR\n xhr.send(data);\n });\n }\n return XHR();\n}\nexport default ajax;\n","import $ from '../$';\nimport ajax from '../functions/ajax';\n$.ajax = ajax;\n","import $ from '../$';\nimport ajaxSetup from '../functions/ajaxSetup';\n$.ajaxSetup = ajaxSetup;\n","import extend from '../functions/extend';\nimport { globalOptions } from './utils/ajax';\n/**\n * 为 Ajax 请求设置全局配置参数\n * @param options 键值对参数\n * @example\n```js\najaxSetup({\n dataType: 'json',\n method: 'POST',\n});\n```\n */\nfunction ajaxSetup(options) {\n return extend(globalOptions, options);\n}\nexport default ajaxSetup;\n","import $ from '../$';\nimport contains from '../functions/contains';\n$.contains = contains;\n","const dataNS = '_mduiElementDataStorage';\nexport default dataNS;\n","import { isObjectLike, isUndefined, toCamelCase } from '../utils';\nimport each from './each';\nimport dataNS from './utils/data';\n/**\n * 在元素上设置键值对数据\n * @param element\n * @param object\n */\nfunction setObjectToElement(element, object) {\n // @ts-ignore\n if (!element[dataNS]) {\n // @ts-ignore\n element[dataNS] = {};\n }\n each(object, (key, value) => {\n // @ts-ignore\n element[dataNS][toCamelCase(key)] = value;\n });\n}\nfunction data(element, key, value) {\n // 根据键值对设置值\n // data(element, { 'key' : 'value' })\n if (isObjectLike(key)) {\n setObjectToElement(element, key);\n return key;\n }\n // 根据 key、value 设置值\n // data(element, 'key', 'value')\n if (!isUndefined(value)) {\n setObjectToElement(element, { [key]: value });\n return value;\n }\n // 获取所有值\n // data(element)\n if (isUndefined(key)) {\n // @ts-ignore\n return element[dataNS] ? element[dataNS] : {};\n }\n // 从 dataNS 中获取指定值\n // data(element, 'key')\n key = toCamelCase(key);\n // @ts-ignore\n if (element[dataNS] && key in element[dataNS]) {\n // @ts-ignore\n return element[dataNS][key];\n }\n return undefined;\n}\nexport default data;\n","import each from './each';\nfunction map(elements, callback) {\n let value;\n const ret = [];\n each(elements, (i, element) => {\n value = callback.call(window, element, i);\n if (value != null) {\n ret.push(value);\n }\n });\n return [].concat(...ret);\n}\nexport default map;\n","import each from '../functions/each';\nimport { isUndefined, isString, toCamelCase } from '../utils';\nimport dataNS from './utils/data';\n/**\n * 移除指定元素上存放的数据\n * @param element 存放数据的元素\n * @param name\n * 数据键名\n *\n * 若未指定键名,将移除元素上所有数据\n *\n * 多个键名可以用空格分隔,或者用数组表示多个键名\n @example\n```js\n// 移除元素上键名为 name 的数据\nremoveData(document.body, 'name');\n```\n * @example\n```js\n// 移除元素上键名为 name1 和 name2 的数据\nremoveData(document.body, 'name1 name2');\n```\n * @example\n```js\n// 移除元素上键名为 name1 和 name2 的数据\nremoveData(document.body, ['name1', 'name2']);\n```\n * @example\n```js\n// 移除元素上所有数据\nremoveData(document.body);\n```\n */\nfunction removeData(element, name) {\n // @ts-ignore\n if (!element[dataNS]) {\n return;\n }\n const remove = (nameItem) => {\n nameItem = toCamelCase(nameItem);\n // @ts-ignore\n if (element[dataNS][nameItem]) {\n // @ts-ignore\n element[dataNS][nameItem] = null;\n // @ts-ignore\n delete element[dataNS][nameItem];\n }\n };\n if (isUndefined(name)) {\n // @ts-ignore\n element[dataNS] = null;\n // @ts-ignore\n delete element[dataNS];\n // @ts-ignore\n }\n else if (isString(name)) {\n name\n .split(' ')\n .filter((nameItem) => nameItem)\n .forEach((nameItem) => remove(nameItem));\n }\n else {\n each(name, (_, nameItem) => remove(nameItem));\n }\n}\nexport default removeData;\n","import each from './each';\n/**\n * 过滤掉数组中的重复元素\n * @param arr 数组\n * @example\n```js\nunique([1, 2, 12, 3, 2, 1, 2, 1, 1]);\n// [1, 2, 12, 3]\n```\n */\nfunction unique(arr) {\n const result = [];\n each(arr, (_, val) => {\n if (result.indexOf(val) === -1) {\n result.push(val);\n }\n });\n return result;\n}\nexport default unique;\n","import $ from '../../$';\nimport unique from '../../functions/unique';\nimport { JQ } from '../../JQ';\nimport { isElement } from '../../utils';\nimport '../each';\nimport '../is';\nexport default function dir($elements, nameIndex, node, selector, filter) {\n const ret = [];\n let target;\n $elements.each((_, element) => {\n target = element[node];\n // 不能包含最顶层的 document 元素\n while (target && isElement(target)) {\n // prevUntil, nextUntil, parentsUntil\n if (nameIndex === 2) {\n if (selector && $(target).is(selector)) {\n break;\n }\n if (!filter || $(target).is(filter)) {\n ret.push(target);\n }\n }\n // prev, next, parent\n else if (nameIndex === 0) {\n if (!selector || $(target).is(selector)) {\n ret.push(target);\n }\n break;\n }\n // prevAll, nextAll, parents\n else {\n if (!selector || $(target).is(selector)) {\n ret.push(target);\n }\n }\n // @ts-ignore\n target = target[node];\n }\n });\n return new JQ(unique(ret));\n}\n","import $ from '../$';\nimport data from '../functions/data';\n$.data = data;\n","import $ from '../$';\nimport each from '../functions/each';\n$.each = each;\n","import $ from '../$';\nimport each from '../functions/each';\nimport extend from '../functions/extend';\n$.extend = function (...objectN) {\n if (objectN.length === 1) {\n each(objectN[0], (prop, value) => {\n this[prop] = value;\n });\n return this;\n }\n return extend(objectN.shift(), objectN.shift(), ...objectN);\n};\n","import $ from '../$';\nimport map from '../functions/map';\n$.map = map;\n","import $ from '../$';\nimport merge from '../functions/merge';\n$.merge = merge;\n","import $ from '../$';\nimport param from '../functions/param';\n$.param = param;\n","import $ from '../$';\nimport removeData from '../functions/removeData';\n$.removeData = removeData;\n","import $ from '../$';\nimport unique from '../functions/unique';\n$.unique = unique;\n","import $ from '../$';\nimport merge from '../functions/merge';\nimport unique from '../functions/unique';\nimport { JQ } from '../JQ';\nimport './get';\n$.fn.add = function (selector) {\n return new JQ(unique(merge(this.get(), $(selector).get())));\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isElement, isFunction } from '../utils';\nimport './each';\neach(['add', 'remove', 'toggle'], (_, name) => {\n $.fn[`${name}Class`] = function (className) {\n if (name === 'remove' && !arguments.length) {\n return this.each((_, element) => {\n element.setAttribute('class', '');\n });\n }\n return this.each((i, element) => {\n if (!isElement(element)) {\n return;\n }\n const classes = (isFunction(className)\n ? className.call(element, i, element.getAttribute('class') || '')\n : className)\n .split(' ')\n .filter((name) => name);\n each(classes, (_, cls) => {\n element.classList[name](cls);\n });\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport './each';\neach(['insertBefore', 'insertAfter'], (nameIndex, name) => {\n $.fn[name] = function (target) {\n const $element = nameIndex ? $(this.get().reverse()) : this; // 顺序和 jQuery 保持一致\n const $target = $(target);\n const result = [];\n $target.each((index, target) => {\n if (!target.parentNode) {\n return;\n }\n $element.each((_, element) => {\n const newItem = index\n ? element.cloneNode(true)\n : element;\n const existingItem = nameIndex ? target.nextSibling : target;\n result.push(newItem);\n target.parentNode.insertBefore(newItem, existingItem);\n });\n });\n return $(nameIndex ? result.reverse() : result);\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport { getChildNodesArray, isFunction, isString, isElement } from '../utils';\nimport './each';\nimport './insertAfter';\nimport './insertBefore';\n/**\n * 是否不是 HTML 字符串(包裹在 <> 中)\n * @param target\n */\nfunction isPlainText(target) {\n return (isString(target) && (target[0] !== '<' || target[target.length - 1] !== '>'));\n}\neach(['before', 'after'], (nameIndex, name) => {\n $.fn[name] = function (...args) {\n // after 方法,多个参数需要按参数顺序添加到元素后面,所以需要将参数顺序反向处理\n if (nameIndex === 1) {\n args = args.reverse();\n }\n return this.each((index, element) => {\n const targets = isFunction(args[0])\n ? [args[0].call(element, index, element.innerHTML)]\n : args;\n each(targets, (_, target) => {\n let $target;\n if (isPlainText(target)) {\n $target = $(getChildNodesArray(target, 'div'));\n }\n else if (index && isElement(target)) {\n $target = $(target.cloneNode(true));\n }\n else {\n $target = $(target);\n }\n $target[nameIndex ? 'insertAfter' : 'insertBefore'](element);\n });\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isFunction, isObjectLike, returnFalse } from '../utils';\nimport './each';\nimport { remove } from './utils/event';\n$.fn.off = function (types, selector, callback) {\n // types 是对象\n if (isObjectLike(types)) {\n each(types, (type, fn) => {\n // this.off('click', undefined, function () {})\n // this.off('click', '.box', function () {})\n this.off(type, selector, fn);\n });\n return this;\n }\n // selector 不存在\n if (selector === false || isFunction(selector)) {\n callback = selector;\n selector = undefined;\n // this.off('click', undefined, function () {})\n }\n // callback 传入 `false`,相当于 `return false`\n if (callback === false) {\n callback = returnFalse;\n }\n return this.each(function () {\n remove(this, types, callback, selector);\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isObjectLike, isString, returnFalse } from '../utils';\nimport './each';\nimport './off';\nimport { add } from './utils/event';\n$.fn.on = function (types, selector, data, callback, one) {\n // types 可以是 type/func 对象\n if (isObjectLike(types)) {\n // (types-Object, selector, data)\n if (!isString(selector)) {\n // (types-Object, data)\n data = data || selector;\n selector = undefined;\n }\n each(types, (type, fn) => {\n // selector 和 data 都可能是 undefined\n // @ts-ignore\n this.on(type, selector, data, fn, one);\n });\n return this;\n }\n if (data == null && callback == null) {\n // (types, fn)\n callback = selector;\n data = selector = undefined;\n }\n else if (callback == null) {\n if (isString(selector)) {\n // (types, selector, fn)\n callback = data;\n data = undefined;\n }\n else {\n // (types, data, fn)\n callback = data;\n data = selector;\n selector = undefined;\n }\n }\n if (callback === false) {\n callback = returnFalse;\n }\n else if (!callback) {\n return this;\n }\n // $().one()\n if (one) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const _this = this;\n const origCallback = callback;\n callback = function (event) {\n _this.off(event.type, selector, callback);\n // eslint-disable-next-line prefer-rest-params\n return origCallback.apply(this, arguments);\n };\n }\n return this.each(function () {\n add(this, types, callback, data, selector);\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { ajaxEvents } from '../functions/utils/ajax';\nimport './on';\neach(ajaxEvents, (name, eventName) => {\n $.fn[name] = function (fn) {\n return this.on(eventName, (e, params) => {\n fn(e, params.xhr, params.options, params.data);\n });\n };\n});\n","import $ from '../$';\nimport map from '../functions/map';\nimport { JQ } from '../JQ';\n$.fn.map = function (callback) {\n return new JQ(map(this, (element, i) => callback.call(element, i, element)));\n};\n","import $ from '../$';\nimport './map';\n$.fn.clone = function () {\n return this.map(function () {\n return this.cloneNode(true);\n });\n};\n","import $ from '../$';\nimport { isDocument, isFunction, isString, isWindow } from '../utils';\nimport './each';\n$.fn.is = function (selector) {\n let isMatched = false;\n if (isFunction(selector)) {\n this.each((index, element) => {\n if (selector.call(element, index, element)) {\n isMatched = true;\n }\n });\n return isMatched;\n }\n if (isString(selector)) {\n this.each((_, element) => {\n if (isDocument(element) || isWindow(element)) {\n return;\n }\n // @ts-ignore\n const matches = element.matches || element.msMatchesSelector;\n if (matches.call(element, selector)) {\n isMatched = true;\n }\n });\n return isMatched;\n }\n const $compareWith = $(selector);\n this.each((_, element) => {\n $compareWith.each((_, compare) => {\n if (element === compare) {\n isMatched = true;\n }\n });\n });\n return isMatched;\n};\n","import $ from '../$';\nimport './each';\nimport './is';\n$.fn.remove = function (selector) {\n return this.each((_, element) => {\n if (element.parentNode && (!selector || $(element).is(selector))) {\n element.parentNode.removeChild(element);\n }\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isFunction, isString } from '../utils';\nimport './after';\nimport './before';\nimport './clone';\nimport './each';\nimport './map';\nimport './remove';\neach(['prepend', 'append'], (nameIndex, name) => {\n $.fn[name] = function (...args) {\n return this.each((index, element) => {\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n const child = childLength\n ? childNodes[nameIndex ? childLength - 1 : 0]\n : document.createElement('div');\n if (!childLength) {\n element.appendChild(child);\n }\n let contents = isFunction(args[0])\n ? [args[0].call(element, index, element.innerHTML)]\n : args;\n // 如果不是字符串,则仅第一个元素使用原始元素,其他的都克隆自第一个元素\n if (index) {\n contents = contents.map((content) => {\n return isString(content) ? content : $(content).clone();\n });\n }\n $(child)[nameIndex ? 'after' : 'before'](...contents);\n if (!childLength) {\n element.removeChild(child);\n }\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport './insertAfter';\nimport './insertBefore';\nimport './map';\nimport './remove';\neach(['appendTo', 'prependTo'], (nameIndex, name) => {\n $.fn[name] = function (target) {\n const extraChilds = [];\n const $target = $(target).map((_, element) => {\n const childNodes = element.childNodes;\n const childLength = childNodes.length;\n if (childLength) {\n return childNodes[nameIndex ? 0 : childLength - 1];\n }\n const child = document.createElement('div');\n element.appendChild(child);\n extraChilds.push(child);\n return child;\n });\n const $result = this[nameIndex ? 'insertBefore' : 'insertAfter']($target);\n $(extraChilds).remove();\n return $result;\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport { cssNumber, getStyle, isElement, isFunction, isNull, isNumber, isObjectLike, isUndefined, toCamelCase, } from '../utils';\nimport './each';\neach(['attr', 'prop', 'css'], (nameIndex, name) => {\n function set(element, key, value) {\n // 值为 undefined 时,不修改\n if (isUndefined(value)) {\n return;\n }\n switch (nameIndex) {\n // attr\n case 0:\n if (isNull(value)) {\n element.removeAttribute(key);\n }\n else {\n element.setAttribute(key, value);\n }\n break;\n // prop\n case 1:\n // @ts-ignore\n element[key] = value;\n break;\n // css\n default:\n key = toCamelCase(key);\n // @ts-ignore\n element.style[key] = isNumber(value)\n ? `${value}${cssNumber.indexOf(key) > -1 ? '' : 'px'}`\n : value;\n break;\n }\n }\n function get(element, key) {\n switch (nameIndex) {\n // attr\n case 0:\n // 属性不存在时,原生 getAttribute 方法返回 null,而 jquery 返回 undefined。这里和 jquery 保持一致\n const value = element.getAttribute(key);\n return isNull(value) ? undefined : value;\n // prop\n case 1:\n // @ts-ignore\n return element[key];\n // css\n default:\n return getStyle(element, key);\n }\n }\n $.fn[name] = function (key, value) {\n if (isObjectLike(key)) {\n each(key, (k, v) => {\n // @ts-ignore\n this[name](k, v);\n });\n return this;\n }\n if (arguments.length === 1) {\n const element = this[0];\n return isElement(element) ? get(element, key) : undefined;\n }\n return this.each((i, element) => {\n set(element, key, isFunction(value) ? value.call(element, i, get(element, key)) : value);\n });\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport unique from '../functions/unique';\nimport { JQ } from '../JQ';\nimport { isElement } from '../utils';\nimport './each';\nimport './is';\n$.fn.children = function (selector) {\n const children = [];\n this.each((_, element) => {\n each(element.childNodes, (__, childNode) => {\n if (!isElement(childNode)) {\n return;\n }\n if (!selector || $(childNode).is(selector)) {\n children.push(childNode);\n }\n });\n });\n return new JQ(unique(children));\n};\n","import $ from '../$';\nimport { JQ } from '../JQ';\n$.fn.slice = function (...args) {\n return new JQ([].slice.apply(this, args));\n};\n","import $ from '../$';\nimport { JQ } from '../JQ';\nimport './slice';\n$.fn.eq = function (index) {\n const ret = index === -1 ? this.slice(index) : this.slice(index, +index + 1);\n return new JQ(ret);\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport './get';\nimport dir from './utils/dir';\neach(['', 's', 'sUntil'], (nameIndex, name) => {\n $.fn[`parent${name}`] = function (selector, filter) {\n // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致\n const $nodes = !nameIndex ? this : $(this.get().reverse());\n return dir($nodes, nameIndex, 'parentNode', selector, filter);\n };\n});\n","import $ from '../$';\nimport { JQ } from '../JQ';\nimport './eq';\nimport './is';\nimport './parents';\n$.fn.closest = function (selector) {\n if (this.is(selector)) {\n return this;\n }\n const matched = [];\n this.parents().each((_, element) => {\n if ($(element).is(selector)) {\n matched.push(element);\n return false;\n }\n });\n return new JQ(matched);\n};\n","import $ from '../$';\nimport data from '../functions/data';\nimport { isObjectLike, isString, isUndefined, toCamelCase, toKebabCase, } from '../utils';\nimport './each';\nconst rbrace = /^(?:{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/;\n// 从 `data-*` 中获取的值,需要经过该函数转换\nfunction getData(value) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === 'null') {\n return null;\n }\n if (value === +value + '') {\n return +value;\n }\n if (rbrace.test(value)) {\n return JSON.parse(value);\n }\n return value;\n}\n// 若 value 不存在,则从 `data-*` 中获取值\nfunction dataAttr(element, key, value) {\n if (isUndefined(value) && element.nodeType === 1) {\n const name = 'data-' + toKebabCase(key);\n value = element.getAttribute(name);\n if (isString(value)) {\n try {\n value = getData(value);\n }\n catch (e) { }\n }\n else {\n value = undefined;\n }\n }\n return value;\n}\n$.fn.data = function (key, value) {\n // 获取所有值\n if (isUndefined(key)) {\n if (!this.length) {\n return undefined;\n }\n const element = this[0];\n const resultData = data(element);\n // window, document 上不存在 `data-*` 属性\n if (element.nodeType !== 1) {\n return resultData;\n }\n // 从 `data-*` 中获取值\n const attrs = element.attributes;\n let i = attrs.length;\n while (i--) {\n if (attrs[i]) {\n let name = attrs[i].name;\n if (name.indexOf('data-') === 0) {\n name = toCamelCase(name.slice(5));\n resultData[name] = dataAttr(element, name, resultData[name]);\n }\n }\n }\n return resultData;\n }\n // 同时设置多个值\n if (isObjectLike(key)) {\n return this.each(function () {\n data(this, key);\n });\n }\n // value 传入了 undefined\n if (arguments.length === 2 && isUndefined(value)) {\n return this;\n }\n // 设置值\n if (!isUndefined(value)) {\n return this.each(function () {\n data(this, key, value);\n });\n }\n // 获取值\n if (!this.length) {\n return undefined;\n }\n return dataAttr(this[0], key, data(this[0], key));\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport { isBoolean, isDocument, isFunction, isWindow, toElement, isBorderBox, getExtraWidth, getComputedStyleValue, isIE, } from '../utils';\nimport './css';\nimport './each';\n/**\n * 值上面的 padding、border、margin 处理\n * @param element\n * @param name\n * @param value\n * @param funcIndex\n * @param includeMargin\n * @param multiply\n */\nfunction handleExtraWidth(element, name, value, funcIndex, includeMargin, multiply) {\n // 获取元素的 padding, border, margin 宽度(两侧宽度的和)\n const getExtraWidthValue = (extra) => {\n return (getExtraWidth(element, name.toLowerCase(), extra) *\n multiply);\n };\n if (funcIndex === 2 && includeMargin) {\n value += getExtraWidthValue('margin');\n }\n if (isBorderBox(element)) {\n // IE 为 box-sizing: border-box 时,得到的值不含 border 和 padding,这里先修复\n // 仅获取时需要处理,multiply === 1 为 get\n if (isIE() && multiply === 1) {\n value += getExtraWidthValue('border');\n value += getExtraWidthValue('padding');\n }\n if (funcIndex === 0) {\n value -= getExtraWidthValue('border');\n }\n if (funcIndex === 1) {\n value -= getExtraWidthValue('border');\n value -= getExtraWidthValue('padding');\n }\n }\n else {\n if (funcIndex === 0) {\n value += getExtraWidthValue('padding');\n }\n if (funcIndex === 2) {\n value += getExtraWidthValue('border');\n value += getExtraWidthValue('padding');\n }\n }\n return value;\n}\n/**\n * 获取元素的样式值\n * @param element\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n */\nfunction get(element, name, funcIndex, includeMargin) {\n const clientProp = `client${name}`;\n const scrollProp = `scroll${name}`;\n const offsetProp = `offset${name}`;\n const innerProp = `inner${name}`;\n // $(window).width()\n if (isWindow(element)) {\n // outerWidth, outerHeight 需要包含滚动条的宽度\n return funcIndex === 2\n ? element[innerProp]\n : toElement(document)[clientProp];\n }\n // $(document).width()\n if (isDocument(element)) {\n const doc = toElement(element);\n return Math.max(\n // @ts-ignore\n element.body[scrollProp], doc[scrollProp], \n // @ts-ignore\n element.body[offsetProp], doc[offsetProp], doc[clientProp]);\n }\n const value = parseFloat(getComputedStyleValue(element, name.toLowerCase()) || '0');\n return handleExtraWidth(element, name, value, funcIndex, includeMargin, 1);\n}\n/**\n * 设置元素的样式值\n * @param element\n * @param elementIndex\n * @param name\n * @param funcIndex 0: innerWidth, innerHeight; 1: width, height; 2: outerWidth, outerHeight\n * @param includeMargin\n * @param value\n */\nfunction set(element, elementIndex, name, funcIndex, includeMargin, value) {\n let computedValue = isFunction(value)\n ? value.call(element, elementIndex, get(element, name, funcIndex, includeMargin))\n : value;\n if (computedValue == null) {\n return;\n }\n const $element = $(element);\n const dimension = name.toLowerCase();\n // 特殊的值,不需要计算 padding、border、margin\n if (['auto', 'inherit', ''].indexOf(computedValue) > -1) {\n $element.css(dimension, computedValue);\n return;\n }\n // 其他值保留原始单位。注意:如果不使用 px 作为单位,则算出的值一般是不准确的\n const suffix = computedValue.toString().replace(/\\b[0-9.]*/, '');\n const numerical = parseFloat(computedValue);\n computedValue =\n handleExtraWidth(element, name, numerical, funcIndex, includeMargin, -1) +\n (suffix || 'px');\n $element.css(dimension, computedValue);\n}\neach(['Width', 'Height'], (_, name) => {\n each([`inner${name}`, name.toLowerCase(), `outer${name}`], (funcIndex, funcName) => {\n $.fn[funcName] = function (margin, value) {\n // 是否是赋值操作\n const isSet = arguments.length && (funcIndex < 2 || !isBoolean(margin));\n const includeMargin = margin === true || value === true;\n // 获取第一个元素的值\n if (!isSet) {\n return this.length\n ? get(this[0], name, funcIndex, includeMargin)\n : undefined;\n }\n // 设置每个元素的值\n return this.each((index, element) => set(element, index, name, funcIndex, includeMargin, margin));\n };\n });\n});\n","import $ from '../$';\nimport './css';\nimport './eq';\nimport './offset';\nimport './offsetParent';\nfunction floatStyle($element, name) {\n return parseFloat($element.css(name));\n}\n$.fn.position = function () {\n if (!this.length) {\n return undefined;\n }\n const $element = this.eq(0);\n let currentOffset;\n let parentOffset = {\n left: 0,\n top: 0,\n };\n if ($element.css('position') === 'fixed') {\n currentOffset = $element[0].getBoundingClientRect();\n }\n else {\n currentOffset = $element.offset();\n const $offsetParent = $element.offsetParent();\n parentOffset = $offsetParent.offset();\n parentOffset.top += floatStyle($offsetParent, 'border-top-width');\n parentOffset.left += floatStyle($offsetParent, 'border-left-width');\n }\n return {\n top: currentOffset.top - parentOffset.top - floatStyle($element, 'margin-top'),\n left: currentOffset.left -\n parentOffset.left -\n floatStyle($element, 'margin-left'),\n };\n};\n","import $ from '../$';\nimport extend from '../functions/extend';\nimport { isFunction } from '../utils';\nimport './css';\nimport './each';\nimport './position';\nfunction get(element) {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n const rect = element.getBoundingClientRect();\n const win = element.ownerDocument.defaultView;\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset,\n };\n}\nfunction set(element, value, index) {\n const $element = $(element);\n const position = $element.css('position');\n if (position === 'static') {\n $element.css('position', 'relative');\n }\n const currentOffset = get(element);\n const currentTopString = $element.css('top');\n const currentLeftString = $element.css('left');\n let currentTop;\n let currentLeft;\n const calculatePosition = (position === 'absolute' || position === 'fixed') &&\n (currentTopString + currentLeftString).indexOf('auto') > -1;\n if (calculatePosition) {\n const currentPosition = $element.position();\n currentTop = currentPosition.top;\n currentLeft = currentPosition.left;\n }\n else {\n currentTop = parseFloat(currentTopString);\n currentLeft = parseFloat(currentLeftString);\n }\n const computedValue = isFunction(value)\n ? value.call(element, index, extend({}, currentOffset))\n : value;\n $element.css({\n top: computedValue.top != null\n ? computedValue.top - currentOffset.top + currentTop\n : undefined,\n left: computedValue.left != null\n ? computedValue.left - currentOffset.left + currentLeft\n : undefined,\n });\n}\n$.fn.offset = function (value) {\n // 获取坐标\n if (!arguments.length) {\n if (!this.length) {\n return undefined;\n }\n return get(this[0]);\n }\n // 设置坐标\n return this.each(function (index) {\n set(this, value, index);\n });\n};\n","import $ from '../$';\nimport './each';\n$.fn.empty = function () {\n return this.each(function () {\n this.innerHTML = '';\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\n$.fn.extend = function (obj) {\n each(obj, (prop, value) => {\n // 在 JQ 对象上扩展方法时,需要自己添加 typescript 的类型定义\n $.fn[prop] = value;\n });\n return this;\n};\n","import $ from '../$';\nimport { isFunction, isString } from '../utils';\nimport './is';\nimport './map';\n$.fn.filter = function (selector) {\n if (isFunction(selector)) {\n return this.map((index, element) => selector.call(element, index, element) ? element : undefined);\n }\n if (isString(selector)) {\n return this.map((_, element) => $(element).is(selector) ? element : undefined);\n }\n const $selector = $(selector);\n return this.map((_, element) => $selector.get().indexOf(element) > -1 ? element : undefined);\n};\n","import $ from '../$';\nimport './eq';\n$.fn.first = function () {\n return this.eq(0);\n};\n","import $ from '../$';\nimport contains from '../functions/contains';\nimport { isString } from '../utils';\nimport './find';\n$.fn.has = function (selector) {\n const $targets = isString(selector) ? this.find(selector) : $(selector);\n const { length } = $targets;\n return this.map(function () {\n for (let i = 0; i < length; i += 1) {\n if (contains(this, $targets[i])) {\n return this;\n }\n }\n return;\n });\n};\n","import $ from '../$';\n$.fn.hasClass = function (className) {\n return this[0].classList.contains(className);\n};\n","import $ from '../$';\nimport './each';\n$.fn.hide = function () {\n return this.each(function () {\n this.style.display = 'none';\n });\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport map from '../functions/map';\nimport { isElement, isFunction, isUndefined, toElement } from '../utils';\nimport './each';\nimport './is';\neach(['val', 'html', 'text'], (nameIndex, name) => {\n const props = {\n 0: 'value',\n 1: 'innerHTML',\n 2: 'textContent',\n };\n const propName = props[nameIndex];\n function get($elements) {\n // text() 获取所有元素的文本\n if (nameIndex === 2) {\n // @ts-ignore\n return map($elements, (element) => toElement(element)[propName]).join('');\n }\n // 空集合时,val() 和 html() 返回 undefined\n if (!$elements.length) {\n return undefined;\n }\n // val() 和 html() 仅获取第一个元素的内容\n const firstElement = $elements[0];\n // select multiple 返回数组\n if (nameIndex === 0 && $(firstElement).is('select[multiple]')) {\n return map($(firstElement).find('option:checked'), (element) => element.value);\n }\n // @ts-ignore\n return firstElement[propName];\n }\n function set(element, value) {\n // text() 和 html() 赋值为 undefined,则保持原内容不变\n // val() 赋值为 undefined 则赋值为空\n if (isUndefined(value)) {\n if (nameIndex !== 0) {\n return;\n }\n value = '';\n }\n if (nameIndex === 1 && isElement(value)) {\n value = value.outerHTML;\n }\n // @ts-ignore\n element[propName] = value;\n }\n $.fn[name] = function (value) {\n // 获取值\n if (!arguments.length) {\n return get(this);\n }\n // 设置值\n return this.each((i, element) => {\n const computedValue = isFunction(value)\n ? value.call(element, i, get($(element)))\n : value;\n // value 是数组,则选中数组中的元素,反选不在数组中的元素\n if (nameIndex === 0 && Array.isArray(computedValue)) {\n // select[multiple]\n if ($(element).is('select[multiple]')) {\n map($(element).find('option'), (option) => (option.selected =\n computedValue.indexOf(option.value) >\n -1));\n }\n // 其他 checkbox, radio 等元素\n else {\n element.checked =\n computedValue.indexOf(element.value) > -1;\n }\n }\n else {\n set(element, computedValue);\n }\n });\n };\n});\n","import $ from '../$';\nimport { isString } from '../utils';\nimport './children';\nimport './eq';\nimport './get';\nimport './parent';\n$.fn.index = function (selector) {\n if (!arguments.length) {\n return this.eq(0).parent().children().get().indexOf(this[0]);\n }\n if (isString(selector)) {\n return $(selector).get().indexOf(this[0]);\n }\n return this.get().indexOf($(selector)[0]);\n};\n","import $ from '../$';\nimport './eq';\n$.fn.last = function () {\n return this.eq(-1);\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport dir from './utils/dir';\neach(['', 'All', 'Until'], (nameIndex, name) => {\n $.fn[`next${name}`] = function (selector, filter) {\n return dir(this, nameIndex, 'nextElementSibling', selector, filter);\n };\n});\n","import $ from '../$';\nimport './filter';\nimport './map';\n$.fn.not = function (selector) {\n const $excludes = this.filter(selector);\n return this.map((_, element) => $excludes.index(element) > -1 ? undefined : element);\n};\n","import $ from '../$';\nimport './css';\nimport './map';\n/**\n * 返回最近的用于定位的父元素\n */\n$.fn.offsetParent = function () {\n return this.map(function () {\n let offsetParent = this.offsetParent;\n while (offsetParent && $(offsetParent).css('position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || document.documentElement;\n });\n};\n","import $ from '../$';\nimport './on';\n$.fn.one = function (types, selector, data, callback) {\n // @ts-ignore\n return this.on(types, selector, data, callback, true);\n};\n","import $ from '../$';\nimport each from '../functions/each';\nimport './get';\nimport dir from './utils/dir';\neach(['', 'All', 'Until'], (nameIndex, name) => {\n $.fn[`prev${name}`] = function (selector, filter) {\n // prevAll、prevUntil 需要把元素的顺序倒序处理,以便和 jQuery 的结果一致\n const $nodes = !nameIndex ? this : $(this.get().reverse());\n return dir($nodes, nameIndex, 'previousElementSibling', selector, filter);\n };\n});\n","import $ from '../$';\nimport each from '../functions/each';\nimport './each';\n$.fn.removeAttr = function (attributeName) {\n const names = attributeName.split(' ').filter((name) => name);\n return this.each(function () {\n each(names, (_, name) => {\n this.removeAttribute(name);\n });\n });\n};\n","import $ from '../$';\nimport removeData from '../functions/removeData';\nimport './each';\n$.fn.removeData = function (name) {\n return this.each(function () {\n removeData(this, name);\n });\n};\n","import $ from '../$';\nimport './each';\n$.fn.removeProp = function (name) {\n return this.each(function () {\n try {\n // @ts-ignore\n delete this[name];\n }\n catch (e) { }\n });\n};\n","import $ from '../$';\nimport './before';\nimport './clone';\nimport './each';\nimport './remove';\nimport { isFunction, isString } from '../utils';\n$.fn.replaceWith = function (newContent) {\n this.each((index, element) => {\n let content = newContent;\n if (isFunction(content)) {\n content = content.call(element, index, element.innerHTML);\n }\n else if (index && !isString(content)) {\n content = $(content).clone();\n }\n $(element).before(content);\n });\n return this.remove();\n};\n","import $ from '../$';\nimport './clone';\nimport './get';\nimport './map';\nimport './replaceWith';\n$.fn.replaceAll = function (target) {\n return $(target).map((index, element) => {\n $(element).replaceWith(index ? this.clone() : this);\n return this.get();\n });\n};\n","import $ from '../$';\nimport './each';\nimport './val';\n/**\n * 将表单元素的值组合成键值对数组\n * @returns {Array}\n */\n$.fn.serializeArray = function () {\n const result = [];\n this.each((_, element) => {\n const elements = element instanceof HTMLFormElement ? element.elements : [element];\n $(elements).each((_, element) => {\n const $element = $(element);\n const type = element.type;\n const nodeName = element.nodeName.toLowerCase();\n if (nodeName !== 'fieldset' &&\n element.name &&\n !element.disabled &&\n ['input', 'select', 'textarea', 'keygen'].indexOf(nodeName) > -1 &&\n ['submit', 'button', 'image', 'reset', 'file'].indexOf(type) === -1 &&\n (['radio', 'checkbox'].indexOf(type) === -1 ||\n element.checked)) {\n const value = $element.val();\n const valueArr = Array.isArray(value) ? value : [value];\n valueArr.forEach((value) => {\n result.push({\n name: element.name,\n value,\n });\n });\n }\n });\n });\n return result;\n};\n","import $ from '../$';\nimport param from '../functions/param';\nimport './serializeArray';\n$.fn.serialize = function () {\n return param(this.serializeArray());\n};\n","import $ from '../$';\nimport { getStyle } from '../utils';\nimport './each';\nconst elementDisplay = {};\n/**\n * 获取元素的初始 display 值,用于 .show() 方法\n * @param nodeName\n */\nfunction defaultDisplay(nodeName) {\n let element;\n let display;\n if (!elementDisplay[nodeName]) {\n element = document.createElement(nodeName);\n document.body.appendChild(element);\n display = getStyle(element, 'display');\n element.parentNode.removeChild(element);\n if (display === 'none') {\n display = 'block';\n }\n elementDisplay[nodeName] = display;\n }\n return elementDisplay[nodeName];\n}\n/**\n * 显示指定元素\n * @returns {JQ}\n */\n$.fn.show = function () {\n return this.each(function () {\n if (this.style.display === 'none') {\n this.style.display = '';\n }\n if (getStyle(this, 'display') === 'none') {\n this.style.display = defaultDisplay(this.nodeName);\n }\n });\n};\n","import $ from '../$';\nimport './add';\nimport './nextAll';\nimport './prevAll';\n/**\n * 取得同辈元素的集合\n * @param selector {String=}\n * @returns {JQ}\n */\n$.fn.siblings = function (selector) {\n return this.prevAll(selector).add(this.nextAll(selector));\n};\n","import $ from '../$';\nimport { getStyle } from '../utils';\nimport './each';\nimport './hide';\nimport './show';\n/**\n * 切换元素的显示状态\n */\n$.fn.toggle = function () {\n return this.each(function () {\n getStyle(this, 'display') === 'none' ? $(this).show() : $(this).hide();\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 强制重绘当前元素\n *\n * @example\n```js\n$('.box').reflow();\n```\n */\n reflow(): this;\n }\n}\n\n$.fn.reflow = function (this: JQ): JQ {\n return this.each(function () {\n return this.clientLeft;\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport { isNumber } from 'mdui.jq/es/utils';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 设置当前元素的 transition-duration 属性\n * @param duration 可以是带单位的值;若不带单位,则自动添加 `ms` 作为单位\n * @example\n```js\n$('.box').transition('300ms');\n$('.box').transition(300);\n```\n */\n transition(duration: string | number): this;\n }\n}\n\n$.fn.transition = function (this: JQ, duration: string | number): JQ {\n if (isNumber(duration)) {\n duration = `${duration}ms`;\n }\n\n return this.each(function () {\n this.style.webkitTransitionDuration = duration as string;\n this.style.transitionDuration = duration as string;\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport each from 'mdui.jq/es/functions/each';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/off';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 在当前元素上添加 transitionend 事件回调\n * @param callback 回调函数的参数为 `transitionend` 事件对象;`this` 指向当前元素\n * @example\n```js\n$('.box').transitionEnd(function() {\n alert('.box 元素的 transitionend 事件已触发');\n});\n```\n */\n transitionEnd(callback: (this: T, e: Event) => void): this;\n }\n}\n\n$.fn.transitionEnd = function (\n this: JQ,\n callback: (this: HTMLElement, e: Event) => void,\n): JQ {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const events = ['webkitTransitionEnd', 'transitionend'];\n\n function fireCallback(this: Element | Document | Window, e: Event): void {\n if (e.target !== this) {\n return;\n }\n\n // @ts-ignore\n callback.call(this, e);\n\n each(events, (_, event) => {\n that.off(event, fireCallback);\n });\n }\n\n each(events, (_, event) => {\n that.on(event, fireCallback);\n });\n\n return this;\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 设置当前元素的 transform-origin 属性\n * @param transformOrigin\n * @example\n```js\n$('.box').transformOrigin('top center');\n```\n */\n transformOrigin(transformOrigin: string): this;\n }\n}\n\n$.fn.transformOrigin = function (this: JQ, transformOrigin: string): JQ {\n return this.each(function () {\n this.style.webkitTransformOrigin = transformOrigin;\n this.style.transformOrigin = transformOrigin;\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/each';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 设置当前元素的 transform 属性\n * @param transform\n * @example\n```js\n$('.box').transform('rotate(90deg)');\n```\n */\n transform(transform: string): this;\n }\n}\n\n$.fn.transform = function (this: JQ, transform: string): JQ {\n return this.each(function () {\n this.style.webkitTransform = transform;\n this.style.transform = transform;\n });\n};\n","import PlainObject from 'mdui.jq/es/interfaces/PlainObject';\nimport data from 'mdui.jq/es/functions/data';\n\ntype TYPE_API_INIT = (\n this: HTMLElement,\n i: number,\n element: HTMLElement,\n) => void;\n\n/**\n * CSS 选择器和初始化函数组成的对象\n */\nconst entries: PlainObject = {};\n\n/**\n * 注册并执行初始化函数\n * @param selector CSS 选择器\n * @param apiInit 初始化函数\n * @param i 元素索引\n * @param element 元素\n */\nfunction mutation(\n selector: string,\n apiInit: TYPE_API_INIT,\n i: number,\n element: HTMLElement,\n): void {\n let selectors = data(element, '_mdui_mutation');\n\n if (!selectors) {\n selectors = [];\n data(element, '_mdui_mutation', selectors);\n }\n\n if (selectors.indexOf(selector) === -1) {\n selectors.push(selector);\n apiInit.call(element, i, element);\n }\n}\n\nexport { TYPE_API_INIT, entries, mutation };\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport each from 'mdui.jq/es/functions/each';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/is';\nimport { entries, mutation } from '../../utils/mutation';\n\ndeclare module 'mdui.jq/es/JQ' {\n interface JQ {\n /**\n * 执行在当前元素及其子元素内注册的初始化函数\n */\n mutation(): this;\n }\n}\n\n$.fn.mutation = function (this: JQ): JQ {\n return this.each((i, element) => {\n const $this = $(element);\n\n each(entries, (selector: string, apiInit) => {\n if ($this.is(selector)) {\n mutation(selector, apiInit, i, element);\n }\n\n $this.find(selector).each((i, element) => {\n mutation(selector, apiInit, i, element);\n });\n });\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/addClass';\nimport '../methods/reflow';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 创建并显示遮罩,返回遮罩层的 JQ 对象\n * @param zIndex 遮罩层的 `z-index` 值,默认为 `2000`\n * @example\n```js\n$.showOverlay();\n```\n * @example\n```js\n$.showOverlay(3000);\n```\n */\n showOverlay(zIndex?: number): JQ;\n }\n}\n\n$.showOverlay = function (zIndex?: number): JQ {\n let $overlay = $('.mdui-overlay');\n\n if ($overlay.length) {\n $overlay.data('_overlay_is_deleted', false);\n\n if (!isUndefined(zIndex)) {\n $overlay.css('z-index', zIndex);\n }\n } else {\n if (isUndefined(zIndex)) {\n zIndex = 2000;\n }\n\n $overlay = $('
              ')\n .appendTo(document.body)\n .reflow()\n .css('z-index', zIndex);\n }\n\n let level = $overlay.data('_overlay_level') || 0;\n\n return $overlay.data('_overlay_level', ++level).addClass('mdui-overlay-show');\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/remove';\nimport '../methods/transitionEnd';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 隐藏遮罩层\n *\n * 如果调用了多次 $.showOverlay() 来显示遮罩层,则也需要调用相同次数的 $.hideOverlay() 才能隐藏遮罩层。可以通过传入参数 true 来强制隐藏遮罩层。\n * @param force 是否强制隐藏遮罩\n * @example\n```js\n$.hideOverlay();\n```\n * @example\n```js\n$.hideOverlay(true);\n```\n */\n hideOverlay(force?: boolean): void;\n }\n}\n\n$.hideOverlay = function (force = false): void {\n const $overlay = $('.mdui-overlay');\n\n if (!$overlay.length) {\n return;\n }\n\n let level = force ? 1 : $overlay.data('_overlay_level');\n\n if (level > 1) {\n $overlay.data('_overlay_level', --level);\n return;\n }\n\n $overlay\n .data('_overlay_level', 0)\n .removeClass('mdui-overlay-show')\n .data('_overlay_is_deleted', true)\n .transitionEnd(() => {\n if ($overlay.data('_overlay_is_deleted')) {\n $overlay.remove();\n }\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/width';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 锁定屏页面,禁止页面滚动\n * @example\n```js\n$.lockScreen();\n```\n */\n lockScreen(): void;\n }\n}\n\n$.lockScreen = function (): void {\n const $body = $('body');\n\n // 不直接把 body 设为 box-sizing: border-box,避免污染全局样式\n const newBodyWidth = $body.width();\n let level = $body.data('_lockscreen_level') || 0;\n\n $body\n .addClass('mdui-locked')\n .width(newBodyWidth)\n .data('_lockscreen_level', ++level);\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/width';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 解除页面锁定\n *\n * 如果调用了多次 $.lockScreen() 来显示遮罩层,则也需要调用相同次数的 $.unlockScreen() 才能隐藏遮罩层。可以通过传入参数 true 来强制隐藏遮罩层。\n * @param force 是否强制解除锁定\n * @example\n```js\n$.unlockScreen();\n```\n * @example\n```js\n$.unlockScreen(true);\n```\n */\n unlockScreen(force?: boolean): void;\n }\n}\n\n$.unlockScreen = function (force = false): void {\n const $body = $('body');\n let level = force ? 1 : $body.data('_lockscreen_level');\n\n if (level > 1) {\n $body.data('_lockscreen_level', --level);\n return;\n }\n\n $body.data('_lockscreen_level', 0).removeClass('mdui-locked').width('');\n};\n","import $ from 'mdui.jq/es/$';\nimport { isNull } from 'mdui.jq/es/utils';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 函数节流\n * @param fn 执行的函数\n * @param delay 最多多少毫秒执行一次\n * @example\n```js\n$.throttle(function () {\n console.log('这个函数最多 100ms 执行一次');\n}, 100)\n```\n */\n throttle(fn: () => void, delay: number): () => void;\n }\n}\n\n$.throttle = function (fn: () => void, delay = 16): () => void {\n let timer: any = null;\n\n return function (this: any, ...args: any): void {\n if (isNull(timer)) {\n timer = setTimeout(() => {\n fn.apply(this, args);\n timer = null;\n }, delay);\n }\n };\n};\n","import $ from 'mdui.jq/es/$';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport PlainObject from 'mdui.jq/es/interfaces/PlainObject';\n\ndeclare module 'mdui.jq/es/interfaces/JQStatic' {\n interface JQStatic {\n /**\n * 生成一个全局唯一的 ID\n * @param name 当该参数值对应的 guid 不存在时,会生成一个新的 guid,并返回;当该参数对应的 guid 已存在,则直接返回已有 guid\n * @example\n```js\n$.guid();\n```\n * @example\n```js\n$.guid('test');\n```\n */\n guid(name?: string): string;\n }\n}\n\nconst GUID: PlainObject = {};\n\n$.guid = function (name?: string): string {\n if (!isUndefined(name) && !isUndefined(GUID[name])) {\n return GUID[name];\n }\n\n function s4(): string {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n\n const guid =\n '_' +\n s4() +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n s4() +\n s4();\n\n if (!isUndefined(name)) {\n GUID[name] = guid;\n }\n\n return guid;\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport PlainObject from 'mdui.jq/es/interfaces/PlainObject';\nimport 'mdui.jq/es/methods/trigger';\n\n/**\n * 触发组件上的事件\n * @param eventName 事件名\n * @param componentName 组件名\n * @param target 在该元素上触发事件\n * @param instance 组件实例\n * @param parameters 事件参数\n */\nfunction componentEvent(\n eventName: string,\n componentName: string,\n target: HTMLElement | HTMLElement[] | JQ,\n instance?: any,\n parameters?: PlainObject,\n): void {\n if (!parameters) {\n parameters = {};\n }\n\n // @ts-ignore\n parameters.inst = instance;\n\n const fullEventName = `${eventName}.mdui.${componentName}`;\n\n // jQuery 事件\n // @ts-ignore\n if (typeof jQuery !== 'undefined') {\n // @ts-ignore\n jQuery(target).trigger(fullEventName, parameters);\n }\n\n const $target = $(target);\n\n // mdui.jq 事件\n $target.trigger(fullEventName, parameters);\n\n // 原生事件,供使用 addEventListener 监听\n type EventParams = {\n detail?: any;\n bubbles: boolean;\n cancelable: boolean;\n };\n\n const eventParams: EventParams = {\n bubbles: true,\n cancelable: true,\n detail: parameters,\n };\n\n const eventObject: CustomEvent = new CustomEvent(fullEventName, eventParams);\n\n // @ts-ignore\n eventObject._detail = parameters;\n\n $target[0].dispatchEvent(eventObject);\n}\n\nexport { componentEvent };\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/each';\nimport mdui from '../mdui';\nimport '../jq_extends/methods/mutation';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport { TYPE_API_INIT, entries, mutation } from '../utils/mutation';\n\ndeclare module '../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 传入了两个参数时,注册并执行初始化函数\n *\n * 没有传入参数时,执行初始化\n * @param selector CSS 选择器\n * @param apiInit 初始化函数\n * @example\n```js\nmdui.mutation();\n```\n * @example\n```js\nmdui.mutation();\n```\n */\n mutation(selector?: string, apiInit?: TYPE_API_INIT): void;\n }\n}\n\nmdui.mutation = function (selector?: string, apiInit?: TYPE_API_INIT): void {\n if (isUndefined(selector) || isUndefined(apiInit)) {\n $(document).mutation();\n return;\n }\n\n entries[selector] = apiInit!;\n $(selector).each((i, element) => mutation(selector, apiInit, i, element));\n};\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isNumber } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transitionEnd';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $window } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * Headroom 插件\n *\n * 请通过 `new mdui.Headroom()` 调用\n */\n Headroom: {\n /**\n * 实例化 Headroom 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Headroom;\n };\n }\n}\n\ntype TOLERANCE = {\n /**\n * 滚动条向下滚动多少距离开始隐藏或显示元素\n */\n down: number;\n\n /**\n * 滚动条向上滚动多少距离开始隐藏或显示元素\n */\n up: number;\n};\n\ntype OPTIONS = {\n /**\n * 滚动条滚动多少距离开始隐藏或显示元素\n */\n tolerance?: TOLERANCE | number;\n\n /**\n * 在页面顶部多少距离内滚动不会隐藏元素\n */\n offset?: number;\n\n /**\n * 初始化时添加的类\n */\n initialClass?: string;\n\n /**\n * 元素固定时添加的类\n */\n pinnedClass?: string;\n\n /**\n * 元素隐藏时添加的类\n */\n unpinnedClass?: string;\n};\n\ntype STATE = 'pinning' | 'pinned' | 'unpinning' | 'unpinned';\ntype EVENT = 'pin' | 'pinned' | 'unpin' | 'unpinned';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n tolerance: 5,\n offset: 0,\n initialClass: 'mdui-headroom',\n pinnedClass: 'mdui-headroom-pinned-top',\n unpinnedClass: 'mdui-headroom-unpinned-top',\n};\n\nclass Headroom {\n /**\n * headroom 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 headroom 的状态\n */\n private state: STATE = 'pinned';\n\n /**\n * 当前是否启用\n */\n private isEnable = false;\n\n /**\n * 上次滚动后,垂直方向的距离\n */\n private lastScrollY = 0;\n\n /**\n * AnimationFrame ID\n */\n private rafId = 0;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$element = $(selector).first();\n\n extend(this.options, options);\n\n // tolerance 参数若为数值,转换为对象\n const tolerance = this.options.tolerance;\n if (isNumber(tolerance)) {\n this.options.tolerance = {\n down: tolerance,\n up: tolerance,\n };\n }\n\n this.enable();\n }\n\n /**\n * 滚动时的处理\n */\n private onScroll(): void {\n this.rafId = window.requestAnimationFrame(() => {\n const currentScrollY = window.pageYOffset;\n const direction = currentScrollY > this.lastScrollY ? 'down' : 'up';\n const tolerance = (this.options.tolerance as TOLERANCE)[direction];\n const scrolled = Math.abs(currentScrollY - this.lastScrollY);\n const toleranceExceeded = scrolled >= tolerance;\n\n if (\n currentScrollY > this.lastScrollY &&\n currentScrollY >= this.options.offset! &&\n toleranceExceeded\n ) {\n this.unpin();\n } else if (\n (currentScrollY < this.lastScrollY && toleranceExceeded) ||\n currentScrollY <= this.options.offset!\n ) {\n this.pin();\n }\n\n this.lastScrollY = currentScrollY;\n });\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'headroom', this.$element, this);\n }\n\n /**\n * 动画结束的回调\n */\n private transitionEnd(): void {\n if (this.state === 'pinning') {\n this.state = 'pinned';\n this.triggerEvent('pinned');\n }\n\n if (this.state === 'unpinning') {\n this.state = 'unpinned';\n this.triggerEvent('unpinned');\n }\n }\n\n /**\n * 使元素固定住\n */\n public pin(): void {\n if (\n this.state === 'pinning' ||\n this.state === 'pinned' ||\n !this.$element.hasClass(this.options.initialClass!)\n ) {\n return;\n }\n\n this.triggerEvent('pin');\n this.state = 'pinning';\n this.$element\n .removeClass(this.options.unpinnedClass)\n .addClass(this.options.pinnedClass!)\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 使元素隐藏\n */\n public unpin(): void {\n if (\n this.state === 'unpinning' ||\n this.state === 'unpinned' ||\n !this.$element.hasClass(this.options.initialClass!)\n ) {\n return;\n }\n\n this.triggerEvent('unpin');\n this.state = 'unpinning';\n this.$element\n .removeClass(this.options.pinnedClass)\n .addClass(this.options.unpinnedClass!)\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 启用 headroom 插件\n */\n public enable(): void {\n if (this.isEnable) {\n return;\n }\n\n this.isEnable = true;\n this.state = 'pinned';\n this.$element\n .addClass(this.options.initialClass!)\n .removeClass(this.options.pinnedClass)\n .removeClass(this.options.unpinnedClass);\n this.lastScrollY = window.pageYOffset;\n\n $window.on('scroll', () => this.onScroll());\n }\n\n /**\n * 禁用 headroom 插件\n */\n public disable(): void {\n if (!this.isEnable) {\n return;\n }\n\n this.isEnable = false;\n this.$element\n .removeClass(this.options.initialClass)\n .removeClass(this.options.pinnedClass)\n .removeClass(this.options.unpinnedClass);\n\n $window.off('scroll', () => this.onScroll());\n window.cancelAnimationFrame(this.rafId);\n }\n\n /**\n * 获取当前状态。共包含四种状态:`pinning`、`pinned`、`unpinning`、`unpinned`\n */\n public getState(): STATE {\n return this.state;\n }\n}\n\nmdui.Headroom = Headroom;\n","import $ from 'mdui.jq/es/$';\n\nconst $document = $(document);\nconst $window = $(window);\nconst $body = $('body');\n\nexport { $document, $window, $body };\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/attr';\nimport PlainObject from 'mdui.jq/es/interfaces/PlainObject';\n\n/**\n * 解析 DATA API 参数\n * @param element 元素\n * @param name 属性名\n */\nfunction parseOptions(element: HTMLElement, name: string): PlainObject {\n const attr = $(element).attr(name);\n\n if (!attr) {\n return {};\n }\n\n return new Function(\n '',\n `var json = ${attr}; return JSON.parse(JSON.stringify(json));`,\n )();\n}\n\nexport { parseOptions };\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-headroom';\n\n$(() => {\n mdui.mutation(`[${customAttr}]`, function () {\n new mdui.Headroom(this, parseOptions(this, customAttr));\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/eq';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isNumber } from 'mdui.jq/es/utils';\nimport '../../jq_extends/methods/reflow';\nimport '../../jq_extends/methods/transition';\nimport '../../jq_extends/methods/transitionEnd';\nimport { componentEvent } from '../../utils/componentEvent';\n\ntype OPTIONS = {\n /**\n * 是否启用手风琴效果\n * 为 `true` 时,最多只能有一个面板项处于打开状态,打开一个面板项时会关闭其他面板项\n * 为 `false` 时,可同时打开多个面板项\n */\n accordion?: boolean;\n};\n\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n accordion: false,\n};\n\nabstract class CollapseAbstract {\n /**\n * collapse 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * item 的 class 名\n */\n private classItem: string;\n\n /**\n * 打开状态的 item 的 class 名\n */\n private classItemOpen: string;\n\n /**\n * item-header 的 class 名\n */\n private classHeader: string;\n\n /**\n * item-body 的 class 名\n */\n private classBody: string;\n\n /**\n * 获取继承的组件名称\n */\n protected abstract getNamespace(): string;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n // CSS 类名\n const classPrefix = `mdui-${this.getNamespace()}-item`;\n this.classItem = classPrefix;\n this.classItemOpen = `${classPrefix}-open`;\n this.classHeader = `${classPrefix}-header`;\n this.classBody = `${classPrefix}-body`;\n\n this.$element = $(selector).first();\n\n extend(this.options, options);\n\n this.bindEvent();\n }\n\n /**\n * 绑定事件\n */\n private bindEvent(): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n\n // 点击 header 时,打开/关闭 item\n this.$element.on('click', `.${this.classHeader}`, function () {\n const $header = $(this as HTMLElement);\n const $item = $header.parent();\n const $items = that.getItems();\n\n $items.each((_, item) => {\n if ($item.is(item)) {\n that.toggle(item);\n }\n });\n });\n\n // 点击关闭按钮时,关闭 item\n this.$element.on(\n 'click',\n `[mdui-${this.getNamespace()}-item-close]`,\n function () {\n const $target = $(this as HTMLElement);\n const $item = $target.parents(`.${that.classItem}`).first();\n\n that.close($item);\n },\n );\n }\n\n /**\n * 指定 item 是否处于打开状态\n * @param $item\n */\n private isOpen($item: JQ): boolean {\n return $item.hasClass(this.classItemOpen);\n }\n\n /**\n * 获取所有 item\n */\n private getItems(): JQ {\n return this.$element.children(`.${this.classItem}`);\n }\n\n /**\n * 获取指定 item\n * @param item\n */\n private getItem(\n item: number | Selector | HTMLElement | ArrayLike,\n ): JQ {\n if (isNumber(item)) {\n return this.getItems().eq(item);\n }\n\n return $(item).first();\n }\n\n /**\n * 触发组件事件\n * @param name 事件名\n * @param $item 事件触发的目标 item\n */\n private triggerEvent(name: EVENT, $item: JQ): void {\n componentEvent(name, this.getNamespace(), $item, this);\n }\n\n /**\n * 动画结束回调\n * @param $content body 元素\n * @param $item item 元素\n */\n private transitionEnd($content: JQ, $item: JQ): void {\n if (this.isOpen($item)) {\n $content.transition(0).height('auto').reflow().transition('');\n\n this.triggerEvent('opened', $item);\n } else {\n $content.height('');\n\n this.triggerEvent('closed', $item);\n }\n }\n\n /**\n * 打开指定面板项\n * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象\n */\n public open(\n item: number | Selector | HTMLElement | ArrayLike,\n ): void {\n const $item = this.getItem(item);\n\n if (this.isOpen($item)) {\n return;\n }\n\n // 关闭其他项\n if (this.options.accordion) {\n this.$element.children(`.${this.classItemOpen}`).each((_, element) => {\n const $element = $(element);\n\n if (!$element.is($item)) {\n this.close($element);\n }\n });\n }\n\n const $content = $item.children(`.${this.classBody}`);\n\n $content\n .height($content[0].scrollHeight)\n .transitionEnd(() => this.transitionEnd($content, $item));\n\n this.triggerEvent('open', $item);\n\n $item.addClass(this.classItemOpen);\n }\n\n /**\n * 关闭指定面板项\n * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象\n */\n public close(\n item: number | Selector | HTMLElement | ArrayLike,\n ): void {\n const $item = this.getItem(item);\n\n if (!this.isOpen($item)) {\n return;\n }\n\n const $content = $item.children(`.${this.classBody}`);\n\n this.triggerEvent('close', $item);\n\n $item.removeClass(this.classItemOpen);\n\n $content\n .transition(0)\n .height($content[0].scrollHeight)\n .reflow()\n .transition('')\n .height('')\n .transitionEnd(() => this.transitionEnd($content, $item));\n }\n\n /**\n * 切换指定面板项的打开状态\n * @param item 面板项的索引号、或 CSS 选择器、或 DOM 元素、或 JQ 对象\n */\n public toggle(\n item: number | Selector | HTMLElement | ArrayLike,\n ): void {\n const $item = this.getItem(item);\n\n this.isOpen($item) ? this.close($item) : this.open($item);\n }\n\n /**\n * 打开所有面板项\n */\n public openAll(): void {\n this.getItems().each((_, element) => this.open(element));\n }\n\n /**\n * 关闭所有面板项\n */\n public closeAll(): void {\n this.getItems().each((_, element) => this.close(element));\n }\n}\n\nexport { OPTIONS, CollapseAbstract };\n","import Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport { CollapseAbstract, OPTIONS } from './collapseAbstract';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 折叠内容块组件\n *\n * 请通过 `new mdui.Collapse()` 调用\n */\n Collapse: {\n /**\n * 实例化 Collapse 组件\n * @param selector CSS 选择器或 DOM 元素\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Collapse;\n };\n }\n}\n\nclass Collapse extends CollapseAbstract {\n protected getNamespace(): string {\n return 'collapse';\n }\n}\n\nmdui.Collapse = Collapse;\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-collapse';\n\n$(() => {\n mdui.mutation(`[${customAttr}]`, function () {\n new mdui.Collapse(this, parseOptions(this, customAttr));\n });\n});\n","import Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport { CollapseAbstract, OPTIONS } from '../collapse/collapseAbstract';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 可扩展面板组件\n *\n * 请通过 `new mdui.Panel()` 调用\n */\n Panel: {\n /**\n * 实例化 Panel 组件\n * @param selector CSS 选择器或 DOM 元素\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Panel;\n };\n }\n}\n\nclass Panel extends CollapseAbstract {\n protected getNamespace(): string {\n return 'panel';\n }\n}\n\nmdui.Panel = Panel;\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-panel';\n\n$(() => {\n mdui.mutation(`[${customAttr}]`, function () {\n new mdui.Panel(this, parseOptions(this, customAttr));\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/add';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/eq';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/prependTo';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 动态修改了表格后,需要调用该方法重新初始化表格。\n *\n * 若传入了参数,则只初始化该参数对应的表格。若没有传入参数,则重新初始化所有表格。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateTables(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\nclass Table {\n /**\n * table 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 表头 tr 元素\n */\n private $thRow: JQ = $();\n\n /**\n * 表格 body 中的 tr 元素\n */\n private $tdRows: JQ = $();\n\n /**\n * 表头的 checkbox 元素\n */\n private $thCheckbox: JQ = $();\n\n /**\n * 表格 body 中的 checkbox 元素\n */\n private $tdCheckboxs: JQ = $();\n\n /**\n * 表格行是否可选择\n */\n private selectable = false;\n\n /**\n * 已选中的行数\n */\n private selectedRow = 0;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n ) {\n this.$element = $(selector).first();\n this.init();\n }\n\n /**\n * 初始化表格\n */\n public init(): void {\n this.$thRow = this.$element.find('thead tr');\n this.$tdRows = this.$element.find('tbody tr');\n this.selectable = this.$element.hasClass('mdui-table-selectable');\n\n this.updateThCheckbox();\n this.updateTdCheckbox();\n this.updateNumericCol();\n }\n\n /**\n * 生成 checkbox 的 HTML 结构\n * @param tag 标签名\n */\n private createCheckboxHTML(tag: string): string {\n return (\n `<${tag} class=\"mdui-table-cell-checkbox\">` +\n '' +\n ``\n );\n }\n\n /**\n * 更新表头 checkbox 的状态\n */\n private updateThCheckboxStatus(): void {\n const checkbox = this.$thCheckbox[0];\n const selectedRow = this.selectedRow;\n const tdRowsLength = this.$tdRows.length;\n\n checkbox.checked = selectedRow === tdRowsLength;\n checkbox.indeterminate = !!selectedRow && selectedRow !== tdRowsLength;\n }\n\n /**\n * 更新表格行的 checkbox\n */\n private updateTdCheckbox(): void {\n const rowSelectedClass = 'mdui-table-row-selected';\n\n this.$tdRows.each((_, row) => {\n const $row = $(row);\n\n // 移除旧的 checkbox\n $row.find('.mdui-table-cell-checkbox').remove();\n\n if (!this.selectable) {\n return;\n }\n\n // 创建 DOM\n const $checkbox = $(this.createCheckboxHTML('td'))\n .prependTo($row)\n .find('input[type=\"checkbox\"]') as JQ;\n\n // 默认选中的行\n if ($row.hasClass(rowSelectedClass)) {\n $checkbox[0].checked = true;\n this.selectedRow++;\n }\n\n this.updateThCheckboxStatus();\n\n // 绑定事件\n $checkbox.on('change', () => {\n if ($checkbox[0].checked) {\n $row.addClass(rowSelectedClass);\n this.selectedRow++;\n } else {\n $row.removeClass(rowSelectedClass);\n this.selectedRow--;\n }\n\n this.updateThCheckboxStatus();\n });\n\n this.$tdCheckboxs = this.$tdCheckboxs.add($checkbox);\n });\n }\n\n /**\n * 更新表头的 checkbox\n */\n private updateThCheckbox(): void {\n // 移除旧的 checkbox\n this.$thRow.find('.mdui-table-cell-checkbox').remove();\n\n if (!this.selectable) {\n return;\n }\n\n this.$thCheckbox = $(this.createCheckboxHTML('th'))\n .prependTo(this.$thRow)\n .find('input[type=\"checkbox\"]')\n .on('change', () => {\n const isCheckedAll = this.$thCheckbox[0].checked;\n this.selectedRow = isCheckedAll ? this.$tdRows.length : 0;\n\n this.$tdCheckboxs.each((_, checkbox) => {\n checkbox.checked = isCheckedAll;\n });\n\n this.$tdRows.each((_, row) => {\n isCheckedAll\n ? $(row).addClass('mdui-table-row-selected')\n : $(row).removeClass('mdui-table-row-selected');\n });\n }) as JQ;\n }\n\n /**\n * 更新数值列\n */\n private updateNumericCol(): void {\n const numericClass = 'mdui-table-col-numeric';\n\n this.$thRow.find('th').each((i, th) => {\n const isNumericCol = $(th).hasClass(numericClass);\n\n this.$tdRows.each((_, row) => {\n const $td = $(row).find('td').eq(i);\n\n isNumericCol\n ? $td.addClass(numericClass)\n : $td.removeClass(numericClass);\n });\n });\n }\n}\n\nconst dataName = '_mdui_table';\n\n$(() => {\n mdui.mutation('.mdui-table', function () {\n const $element = $(this);\n\n if (!$element.data(dataName)) {\n $element.data(dataName, new Table($element));\n }\n });\n});\n\nmdui.updateTables = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-table') : $(selector);\n\n $elements.each((_, element) => {\n const $element = $(element);\n const instance = $element.data(dataName);\n\n if (instance) {\n instance.init();\n } else {\n $element.data(dataName, new Table($element));\n }\n });\n};\n","/**\n * touch 事件后的 500ms 内禁用 mousedown 事件\n *\n * 不支持触控的屏幕上事件顺序为 mousedown -> mouseup -> click\n * 支持触控的屏幕上事件顺序为 touchstart -> touchend -> mousedown -> mouseup -> click\n *\n * 在每一个事件中都使用 TouchHandler.isAllow(event) 判断事件是否可执行\n * 在 touchstart 和 touchmove、touchend、touchcancel\n *\n * (function () {\n * $document\n * .on(start, function (e) {\n * if (!isAllow(e)) {\n * return;\n * }\n * register(e);\n * console.log(e.type);\n * })\n * .on(move, function (e) {\n * if (!isAllow(e)) {\n * return;\n * }\n * console.log(e.type);\n * })\n * .on(end, function (e) {\n * if (!isAllow(e)) {\n * return;\n * }\n * console.log(e.type);\n * })\n * .on(unlock, register);\n * })();\n */\n\nconst startEvent = 'touchstart mousedown';\nconst moveEvent = 'touchmove mousemove';\nconst endEvent = 'touchend mouseup';\nconst cancelEvent = 'touchcancel mouseleave';\nconst unlockEvent = 'touchend touchmove touchcancel';\n\nlet touches = 0;\n\n/**\n * 该事件是否被允许,在执行事件前调用该方法判断事件是否可以执行\n * 若已触发 touch 事件,则阻止之后的鼠标事件\n * @param event\n */\nfunction isAllow(event: Event): boolean {\n return !(\n touches &&\n [\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'click',\n 'mouseover',\n 'mouseout',\n 'mouseenter',\n 'mouseleave',\n ].indexOf(event.type) > -1\n );\n}\n\n/**\n * 在 touchstart 和 touchmove、touchend、touchcancel 事件中调用该方法注册事件\n * @param event\n */\nfunction register(event: Event): void {\n if (event.type === 'touchstart') {\n // 触发了 touch 事件\n touches += 1;\n } else if (\n ['touchmove', 'touchend', 'touchcancel'].indexOf(event.type) > -1\n ) {\n // touch 事件结束 500ms 后解除对鼠标事件的阻止\n setTimeout(function () {\n if (touches) {\n touches -= 1;\n }\n }, 500);\n }\n}\n\nexport {\n startEvent,\n moveEvent,\n endEvent,\n cancelEvent,\n unlockEvent,\n isAllow,\n register,\n};\n","/**\n * Inspired by https://github.com/nolimits4web/Framework7/blob/master/src/js/fast-clicks.js\n * https://github.com/nolimits4web/Framework7/blob/master/LICENSE\n *\n * Inspired by https://github.com/fians/Waves\n */\n\nimport $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/innerHeight';\nimport 'mdui.jq/es/methods/innerWidth';\nimport 'mdui.jq/es/methods/off';\nimport 'mdui.jq/es/methods/offset';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/prependTo';\nimport 'mdui.jq/es/methods/prop';\nimport 'mdui.jq/es/methods/remove';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport '../../jq_extends/methods/reflow';\nimport '../../jq_extends/methods/transform';\nimport '../../jq_extends/methods/transitionEnd';\nimport { $document } from '../../utils/dom';\nimport {\n cancelEvent,\n endEvent,\n isAllow,\n moveEvent,\n register,\n startEvent,\n unlockEvent,\n} from '../../utils/touchHandler';\n\n/**\n * 显示涟漪动画\n * @param event\n * @param $ripple\n */\nfunction show(event: Event, $ripple: JQ): void {\n // 鼠标右键不产生涟漪\n if (event instanceof MouseEvent && event.button === 2) {\n return;\n }\n\n // 点击位置坐标\n const touchPosition =\n typeof TouchEvent !== 'undefined' &&\n event instanceof TouchEvent &&\n event.touches.length\n ? event.touches[0]\n : (event as MouseEvent);\n\n const touchStartX = touchPosition.pageX;\n const touchStartY = touchPosition.pageY;\n\n // 涟漪位置\n const offset = $ripple.offset();\n const height = $ripple.innerHeight();\n const width = $ripple.innerWidth();\n const center = {\n x: touchStartX - offset.left,\n y: touchStartY - offset.top,\n };\n const diameter = Math.max(\n Math.pow(Math.pow(height, 2) + Math.pow(width, 2), 0.5),\n 48,\n );\n\n // 涟漪扩散动画\n const translate =\n `translate3d(${-center.x + width / 2}px,` +\n `${-center.y + height / 2}px, 0) scale(1)`;\n\n // 涟漪的 DOM 结构,并缓存动画效果\n $(\n `
              `,\n )\n .data('_ripple_wave_translate', translate)\n .prependTo($ripple)\n .reflow()\n .transform(translate);\n}\n\n/**\n * 隐藏并移除涟漪\n * @param $wave\n */\nfunction removeRipple($wave: JQ): void {\n if (!$wave.length || $wave.data('_ripple_wave_removed')) {\n return;\n }\n\n $wave.data('_ripple_wave_removed', true);\n\n let removeTimer = setTimeout(() => $wave.remove(), 400);\n const translate = $wave.data('_ripple_wave_translate');\n\n $wave\n .addClass('mdui-ripple-wave-fill')\n .transform(translate.replace('scale(1)', 'scale(1.01)'))\n .transitionEnd(() => {\n clearTimeout(removeTimer);\n\n $wave\n .addClass('mdui-ripple-wave-out')\n .transform(translate.replace('scale(1)', 'scale(1.01)'));\n\n removeTimer = setTimeout(() => $wave.remove(), 700);\n\n setTimeout(() => {\n $wave.transitionEnd(() => {\n clearTimeout(removeTimer);\n $wave.remove();\n });\n }, 0);\n });\n}\n\n/**\n * 隐藏涟漪动画\n * @param this\n */\nfunction hide(this: any): void {\n const $ripple = $(this as HTMLElement);\n\n $ripple.children('.mdui-ripple-wave').each((_, wave) => {\n removeRipple($(wave));\n });\n\n $ripple.off(`${moveEvent} ${endEvent} ${cancelEvent}`, hide);\n}\n\n/**\n * 显示涟漪,并绑定 touchend 等事件\n * @param event\n */\nfunction showRipple(event: Event): void {\n if (!isAllow(event)) {\n return;\n }\n\n register(event);\n\n // Chrome 59 点击滚动条时,会在 document 上触发事件\n if (event.target === document) {\n return;\n }\n\n const $target = $(event.target as HTMLElement);\n\n // 获取含 .mdui-ripple 类的元素\n const $ripple = $target.hasClass('mdui-ripple')\n ? $target\n : $target.parents('.mdui-ripple').first();\n\n if (!$ripple.length) {\n return;\n }\n\n // 禁用状态的元素上不产生涟漪效果\n if ($ripple.prop('disabled') || !isUndefined($ripple.attr('disabled'))) {\n return;\n }\n\n if (event.type === 'touchstart') {\n let hidden = false;\n\n // touchstart 触发指定时间后开始涟漪动画,避免手指滑动时也触发涟漪\n let timer = setTimeout(() => {\n timer = 0;\n show(event, $ripple);\n }, 200);\n\n const hideRipple = (): void => {\n // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n show(event, $ripple);\n }\n\n if (!hidden) {\n hidden = true;\n hide.call($ripple);\n }\n };\n\n // 手指移动后,移除涟漪动画\n const touchMove = (): void => {\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n }\n\n hideRipple();\n };\n\n $ripple.on('touchmove', touchMove).on('touchend touchcancel', hideRipple);\n } else {\n show(event, $ripple);\n $ripple.on(`${moveEvent} ${endEvent} ${cancelEvent}`, hide);\n }\n}\n\n$(() => {\n $document.on(startEvent, showRipple).on(unlockEvent, register);\n});\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/outerHeight';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/text';\nimport 'mdui.jq/es/methods/trigger';\nimport 'mdui.jq/es/methods/val';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { $document } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 动态修改了文本框后,需要调用该方法重新初始化文本框。\n *\n * 若传入了参数,则只初始化该参数对应的文本框。若没有传入参数,则重新初始化所有文本框。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateTextFields(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\ntype INPUT_EVENT_DATA = {\n reInit?: boolean;\n domLoadedEvent?: boolean;\n};\n\nconst defaultData: INPUT_EVENT_DATA = {\n reInit: false,\n domLoadedEvent: false,\n};\n\n/**\n * 输入框事件\n * @param event\n * @param data\n */\nfunction inputEvent(event: Event, data: INPUT_EVENT_DATA = {}): void {\n data = extend({}, defaultData, data);\n\n const input = event.target as HTMLInputElement;\n const $input = $(input);\n const eventType = event.type;\n const value = $input.val() as string;\n\n // 文本框类型\n const inputType = $input.attr('type') || '';\n if (\n ['checkbox', 'button', 'submit', 'range', 'radio', 'image'].indexOf(\n inputType,\n ) > -1\n ) {\n return;\n }\n\n const $textfield = $input.parent('.mdui-textfield');\n\n // 输入框是否聚焦\n if (eventType === 'focus') {\n $textfield.addClass('mdui-textfield-focus');\n }\n\n if (eventType === 'blur') {\n $textfield.removeClass('mdui-textfield-focus');\n }\n\n // 输入框是否为空\n if (eventType === 'blur' || eventType === 'input') {\n value\n ? $textfield.addClass('mdui-textfield-not-empty')\n : $textfield.removeClass('mdui-textfield-not-empty');\n }\n\n // 输入框是否禁用\n input.disabled\n ? $textfield.addClass('mdui-textfield-disabled')\n : $textfield.removeClass('mdui-textfield-disabled');\n\n // 表单验证\n if (\n (eventType === 'input' || eventType === 'blur') &&\n !data.domLoadedEvent &&\n input.validity\n ) {\n input.validity.valid\n ? $textfield.removeClass('mdui-textfield-invalid-html5')\n : $textfield.addClass('mdui-textfield-invalid-html5');\n }\n\n // textarea 高度自动调整\n if ($input.is('textarea')) {\n // IE bug:textarea 的值仅为多个换行,不含其他内容时,textarea 的高度不准确\n // 此时,在计算高度前,在值的开头加入一个空格,计算完后,移除空格\n const inputValue = value;\n let hasExtraSpace = false;\n\n if (inputValue.replace(/[\\r\\n]/g, '') === '') {\n $input.val(' ' + inputValue);\n hasExtraSpace = true;\n }\n\n // 设置 textarea 高度\n $input.outerHeight('');\n const height = $input.outerHeight();\n const scrollHeight = input.scrollHeight;\n\n if (scrollHeight > height) {\n $input.outerHeight(scrollHeight);\n }\n\n // 计算完,还原 textarea 的值\n if (hasExtraSpace) {\n $input.val(inputValue);\n }\n }\n\n // 实时字数统计\n if (data.reInit) {\n $textfield.find('.mdui-textfield-counter').remove();\n }\n\n const maxLength = $input.attr('maxlength');\n if (maxLength) {\n if (data.reInit || data.domLoadedEvent) {\n $(\n '
              ' +\n ` / ${maxLength}` +\n '
              ',\n ).appendTo($textfield);\n }\n\n $textfield\n .find('.mdui-textfield-counter-inputed')\n .text(value.length.toString());\n }\n\n // 含 帮助文本、错误提示、字数统计 时,增加文本框底部内边距\n if (\n $textfield.find('.mdui-textfield-helper').length ||\n $textfield.find('.mdui-textfield-error').length ||\n maxLength\n ) {\n $textfield.addClass('mdui-textfield-has-bottom');\n }\n}\n\n$(() => {\n // 绑定事件\n $document.on(\n 'input focus blur',\n '.mdui-textfield-input',\n { useCapture: true },\n inputEvent,\n );\n\n // 可展开文本框展开\n $document.on(\n 'click',\n '.mdui-textfield-expandable .mdui-textfield-icon',\n function () {\n $(this as HTMLElement)\n .parents('.mdui-textfield')\n .addClass('mdui-textfield-expanded')\n .find('.mdui-textfield-input')[0]\n .focus();\n },\n );\n\n // 可展开文本框关闭\n $document.on(\n 'click',\n '.mdui-textfield-expanded .mdui-textfield-close',\n function () {\n $(this)\n .parents('.mdui-textfield')\n .removeClass('mdui-textfield-expanded')\n .find('.mdui-textfield-input')\n .val('');\n },\n );\n\n /**\n * 初始化文本框\n */\n mdui.mutation('.mdui-textfield', function () {\n $(this).find('.mdui-textfield-input').trigger('input', {\n domLoadedEvent: true,\n });\n });\n});\n\nmdui.updateTextFields = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-textfield') : $(selector);\n\n $elements.each((_, element) => {\n $(element).find('.mdui-textfield-input').trigger('input', {\n reInit: true,\n });\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/append';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/empty';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/text';\nimport 'mdui.jq/es/methods/val';\nimport 'mdui.jq/es/methods/width';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport {\n endEvent,\n isAllow,\n register,\n startEvent,\n unlockEvent,\n} from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 动态修改了滑块后,需要调用该方法重新初始化滑块\n *\n * 若传入了参数,则只初始化该参数对应的滑块。若没有传入参数,则重新初始化所有滑块。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateSliders(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\n/**\n * 滑块的值改变后修改滑块样式\n * @param $slider\n */\nfunction updateValueStyle($slider: JQ): void {\n const data = $slider.data();\n\n const $track = data._slider_$track;\n const $fill = data._slider_$fill;\n const $thumb = data._slider_$thumb;\n const $input = data._slider_$input;\n const min = data._slider_min;\n const max = data._slider_max;\n const isDisabled = data._slider_disabled;\n const isDiscrete = data._slider_discrete;\n const $thumbText = data._slider_$thumbText;\n const value = $input.val();\n const percent = ((value - min) / (max - min)) * 100;\n\n $fill.width(`${percent}%`);\n $track.width(`${100 - percent}%`);\n\n if (isDisabled) {\n $fill.css('padding-right', '6px');\n $track.css('padding-left', '6px');\n }\n\n $thumb.css('left', `${percent}%`);\n\n if (isDiscrete) {\n $thumbText.text(value);\n }\n\n percent === 0\n ? $slider.addClass('mdui-slider-zero')\n : $slider.removeClass('mdui-slider-zero');\n}\n\n/**\n * 重新初始化滑块\n * @param $slider\n */\nfunction reInit($slider: JQ): void {\n const $track = $('
              ');\n const $fill = $('
              ');\n const $thumb = $('
              ');\n const $input = $slider.find('input[type=\"range\"]') as JQ;\n const isDisabled = $input[0].disabled;\n const isDiscrete = $slider.hasClass('mdui-slider-discrete');\n\n // 禁用状态\n isDisabled\n ? $slider.addClass('mdui-slider-disabled')\n : $slider.removeClass('mdui-slider-disabled');\n\n // 重新填充 HTML\n $slider.find('.mdui-slider-track').remove();\n $slider.find('.mdui-slider-fill').remove();\n $slider.find('.mdui-slider-thumb').remove();\n $slider.append($track).append($fill).append($thumb);\n\n // 间续型滑块\n let $thumbText = $();\n if (isDiscrete) {\n $thumbText = $('');\n $thumb.empty().append($thumbText);\n }\n\n $slider.data('_slider_$track', $track);\n $slider.data('_slider_$fill', $fill);\n $slider.data('_slider_$thumb', $thumb);\n $slider.data('_slider_$input', $input);\n $slider.data('_slider_min', $input.attr('min'));\n $slider.data('_slider_max', $input.attr('max'));\n $slider.data('_slider_disabled', isDisabled);\n $slider.data('_slider_discrete', isDiscrete);\n $slider.data('_slider_$thumbText', $thumbText);\n\n // 设置默认值\n updateValueStyle($slider);\n}\n\nconst rangeSelector = '.mdui-slider input[type=\"range\"]';\n\n$(() => {\n // 滑块滑动事件\n $document.on('input change', rangeSelector, function () {\n const $slider = $(this).parent() as JQ;\n\n updateValueStyle($slider);\n });\n\n // 开始触摸滑块事件\n $document.on(startEvent, rangeSelector, function (event: Event) {\n if (!isAllow(event)) {\n return;\n }\n\n register(event);\n\n if ((this as HTMLInputElement).disabled) {\n return;\n }\n\n const $slider = $(this).parent() as JQ;\n\n $slider.addClass('mdui-slider-focus');\n });\n\n // 结束触摸滑块事件\n $document.on(endEvent, rangeSelector, function (event: Event) {\n if (!isAllow(event)) {\n return;\n }\n\n if ((this as HTMLInputElement).disabled) {\n return;\n }\n\n const $slider = $(this).parent() as JQ;\n\n $slider.removeClass('mdui-slider-focus');\n });\n\n $document.on(unlockEvent, rangeSelector, register);\n\n /**\n * 初始化滑块\n */\n mdui.mutation('.mdui-slider', function () {\n reInit($(this));\n });\n});\n\nmdui.updateSliders = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-slider') : $(selector);\n\n $elements.each((_, element) => {\n reInit($(element));\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/last';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/removeClass';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transitionEnd';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document } from '../../utils/dom';\nimport { startEvent } from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 浮动操作按钮组件\n *\n * 请通过 `new mdui.Fab()` 调用\n */\n Fab: {\n /**\n * 实例化 Fab 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Fab;\n };\n }\n}\n\ntype OPTIONS = {\n /**\n * 触发方式。`hover`: 鼠标悬浮触发;`click`: 点击触发\n *\n * 默认为 `hover`\n */\n trigger?: 'click' | 'hover';\n};\n\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n trigger: 'hover',\n};\n\nclass Fab {\n /**\n * Fab 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 fab 的状态\n */\n private state: STATE = 'closed';\n\n /**\n * 按钮元素\n */\n private $btn: JQ;\n\n /**\n * 拨号菜单元素\n */\n private $dial: JQ;\n\n /**\n * 拨号菜单内的按钮\n */\n private $dialBtns: JQ;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$element = $(selector).first();\n\n extend(this.options, options);\n\n this.$btn = this.$element.find('.mdui-fab');\n this.$dial = this.$element.find('.mdui-fab-dial');\n this.$dialBtns = this.$dial.find('.mdui-fab');\n\n if (this.options.trigger === 'hover') {\n this.$btn.on('touchstart mouseenter', () => this.open());\n this.$element.on('mouseleave', () => this.close());\n }\n\n if (this.options.trigger === 'click') {\n this.$btn.on(startEvent, () => this.open());\n }\n\n // 触摸屏幕其他地方关闭快速拨号\n $document.on(startEvent, (event) => {\n if ($(event.target as HTMLElement).parents('.mdui-fab-wrapper').length) {\n return;\n }\n\n this.close();\n });\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'fab', this.$element, this);\n }\n\n /**\n * 当前是否为打开状态\n */\n private isOpen(): boolean {\n return this.state === 'opening' || this.state === 'opened';\n }\n\n /**\n * 打开快速拨号菜单\n */\n public open(): void {\n if (this.isOpen()) {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n this.$dialBtns.each((index, btn) => {\n const delay = `${15 * (this.$dialBtns.length - index)}ms`;\n\n btn.style.transitionDelay = delay;\n btn.style.webkitTransitionDelay = delay;\n });\n\n this.$dial.css('height', 'auto').addClass('mdui-fab-dial-show');\n\n // 如果按钮中存在 .mdui-fab-opened 的图标,则进行图标切换\n if (this.$btn.find('.mdui-fab-opened').length) {\n this.$btn.addClass('mdui-fab-opened');\n }\n\n this.state = 'opening';\n this.triggerEvent('open');\n\n // 打开顺序为从下到上逐个打开,最上面的打开后才表示动画完成\n this.$dialBtns.first().transitionEnd(() => {\n if (this.$btn.hasClass('mdui-fab-opened')) {\n this.state = 'opened';\n this.triggerEvent('opened');\n }\n });\n }\n\n /**\n * 关闭快速拨号菜单\n */\n public close(): void {\n if (!this.isOpen()) {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n this.$dialBtns.each((index, btn) => {\n const delay = `${15 * index}ms`;\n\n btn.style.transitionDelay = delay;\n btn.style.webkitTransitionDelay = delay;\n });\n\n this.$dial.removeClass('mdui-fab-dial-show');\n this.$btn.removeClass('mdui-fab-opened');\n this.state = 'closing';\n this.triggerEvent('close');\n\n // 从上往下依次关闭,最后一个关闭后才表示动画完成\n this.$dialBtns.last().transitionEnd(() => {\n if (this.$btn.hasClass('mdui-fab-opened')) {\n return;\n }\n\n this.state = 'closed';\n this.triggerEvent('closed');\n this.$dial.css('height', 0);\n });\n }\n\n /**\n * 切换快速拨号菜单的打开状态\n */\n public toggle(): void {\n this.isOpen() ? this.close() : this.open();\n }\n\n /**\n * 以动画的形式显示整个浮动操作按钮\n */\n public show(): void {\n this.$element.removeClass('mdui-fab-hide');\n }\n\n /**\n * 以动画的形式隐藏整个浮动操作按钮\n */\n public hide(): void {\n this.$element.addClass('mdui-fab-hide');\n }\n\n /**\n * 返回当前快速拨号菜单的打开状态。共包含四种状态:`opening`、`opened`、`closing`、`closed`\n */\n public getState(): STATE {\n return this.state;\n }\n}\n\nmdui.Fab = Fab;\n","import $ from 'mdui.jq/es/$';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-fab';\n\n$(() => {\n // mouseenter 不冒泡,无法进行事件委托,这里用 mouseover 代替。\n // 不管是 click 、 mouseover 还是 touchstart ,都先初始化。\n\n $document.on(\n 'touchstart mousedown mouseover',\n `[${customAttr}]`,\n function () {\n new mdui.Fab(\n this as HTMLElement,\n parseOptions(this as HTMLElement, customAttr),\n );\n },\n );\n});\n","/**\n * 最终生成的元素结构为:\n * \n *
              // $element\n * State 1 // $selected\n *
              // $menu\n *
              State 1
              // $items\n *
              State 2
              \n *
              State 3
              \n *
              \n *
              \n */\n\nimport $ from 'mdui.jq/es/$';\nimport contains from 'mdui.jq/es/functions/contains';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/add';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/after';\nimport 'mdui.jq/es/methods/append';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/hide';\nimport 'mdui.jq/es/methods/index';\nimport 'mdui.jq/es/methods/innerWidth';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/remove';\nimport 'mdui.jq/es/methods/removeAttr';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/show';\nimport 'mdui.jq/es/methods/text';\nimport 'mdui.jq/es/methods/trigger';\nimport 'mdui.jq/es/methods/val';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transitionEnd';\nimport '../../jq_extends/static/guid';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document, $window } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 下拉选择组件\n *\n * 请通过 `new mdui.Select()` 调用\n */\n Select: {\n /**\n * 实例化 Select 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Select;\n };\n }\n}\n\ntype OPTIONS = {\n /**\n * 下拉框位置:`auto`、`top`、`bottom`\n */\n position?: 'auto' | 'top' | 'bottom';\n\n /**\n * 菜单与窗口上下边框至少保持多少间距\n */\n gutter?: number;\n};\n\ntype STATE = 'closing' | 'closed' | 'opening' | 'opened';\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n position: 'auto',\n gutter: 16,\n};\n\nclass Select {\n /**\n * 原生 ``\n : '') +\n (options.type === 'textarea'\n ? ``\n : '') +\n '
              ';\n\n const onCancelClick = (dialog: Dialog): void => {\n const value = dialog.$element.find('.mdui-textfield-input').val();\n onCancel(value, dialog);\n };\n\n const onConfirmClick = (dialog: Dialog): void => {\n const value = dialog.$element.find('.mdui-textfield-input').val();\n onConfirm(value, dialog);\n };\n\n return mdui.dialog({\n title,\n content,\n buttons: [\n {\n text: options.cancelText,\n bold: false,\n close: options.closeOnCancel,\n onClick: onCancelClick,\n },\n {\n text: options.confirmText,\n bold: false,\n close: options.closeOnConfirm,\n onClick: onConfirmClick,\n },\n ],\n cssClass: 'mdui-dialog-prompt',\n history: options.history,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n onOpen: (dialog) => {\n // 初始化输入框\n const $input = dialog.$element.find('.mdui-textfield-input');\n mdui.updateTextFields($input);\n\n // 聚焦到输入框\n $input[0].focus();\n\n // 捕捉文本框回车键,在单行文本框的情况下触发回调\n if (options.type !== 'textarea' && options.confirmOnEnter === true) {\n $input.on('keydown', (event) => {\n if ((event as KeyboardEvent).keyCode === 13) {\n const value = dialog.$element.find('.mdui-textfield-input').val();\n onConfirm(value, dialog);\n\n if (options.closeOnConfirm) {\n dialog.close();\n }\n\n return false;\n }\n\n return;\n });\n }\n\n // 如果是多行输入框,监听输入框的 input 事件,更新对话框高度\n if (options.type === 'textarea') {\n $input.on('input', () => dialog.handleUpdate());\n }\n\n // 有字符数限制时,加载完文本框后 DOM 会变化,需要更新对话框高度\n if (options.maxlength) {\n dialog.handleUpdate();\n }\n },\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/html';\nimport 'mdui.jq/es/methods/offset';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/width';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transformOrigin';\nimport '../../jq_extends/methods/transitionEnd';\nimport '../../jq_extends/static/guid';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $window } from '../../utils/dom';\nimport { isAllow, register, unlockEvent } from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * Tooltip 组件\n *\n * 请通过 `new mdui.Tooltip()` 调用\n */\n Tooltip: {\n /**\n * 实例化 Tooltip 组件\n * @param selector CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n selector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Tooltip;\n };\n }\n}\n\ntype POSITION = 'auto' | 'bottom' | 'top' | 'left' | 'right';\n\ntype OPTIONS = {\n /**\n * Tooltip 的位置。取值范围包括 `auto`、`bottom`、`top`、`left`、`right`。\n * 为 `auto` 时,会自动判断位置。默认在下方。优先级为 `bottom` > `top` > `left` > `right`。\n * 默认为 `auto`\n */\n position?: POSITION;\n\n /**\n * 延时触发,单位毫秒。默认为 `0`,即没有延时。\n */\n delay?: number;\n\n /**\n * Tooltip 的内容\n */\n content?: string;\n};\n\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n position: 'auto',\n delay: 0,\n content: '',\n};\n\nclass Tooltip {\n /**\n * 触发 tooltip 元素的 JQ 对象\n */\n public $target: JQ;\n\n /**\n * tooltip 元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 tooltip 的状态\n */\n private state: STATE = 'closed';\n\n /**\n * setTimeout 的返回值\n */\n private timeoutId: any = null;\n\n public constructor(\n selector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$target = $(selector).first();\n\n extend(this.options, options);\n\n // 创建 Tooltip HTML\n this.$element = $(\n `
              ${\n this.options.content\n }
              `,\n ).appendTo(document.body);\n\n // 绑定事件。元素处于 disabled 状态时无法触发鼠标事件,为了统一,把 touch 事件也禁用\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n this.$target\n .on('touchstart mouseenter', function (event) {\n if (that.isDisabled(this as HTMLElement)) {\n return;\n }\n\n if (!isAllow(event)) {\n return;\n }\n\n register(event);\n\n that.open();\n })\n .on('touchend mouseleave', function (event) {\n if (that.isDisabled(this as HTMLElement)) {\n return;\n }\n\n if (!isAllow(event)) {\n return;\n }\n\n that.close();\n })\n .on(unlockEvent, function (event) {\n if (that.isDisabled(this as HTMLElement)) {\n return;\n }\n\n register(event);\n });\n }\n\n /**\n * 元素是否已禁用\n * @param element\n */\n private isDisabled(element: HTMLElement): boolean {\n return (\n (element as HTMLInputElement).disabled ||\n $(element).attr('disabled') !== undefined\n );\n }\n\n /**\n * 是否是桌面设备\n */\n private isDesktop(): boolean {\n return $window.width() > 1024;\n }\n\n /**\n * 设置 Tooltip 的位置\n */\n private setPosition(): void {\n let marginLeft: number;\n let marginTop: number;\n\n // 触发的元素\n const targetProps = this.$target[0].getBoundingClientRect();\n\n // 触发的元素和 Tooltip 之间的距离\n const targetMargin = this.isDesktop() ? 14 : 24;\n\n // Tooltip 的宽度和高度\n const tooltipWidth = this.$element[0].offsetWidth;\n const tooltipHeight = this.$element[0].offsetHeight;\n\n // Tooltip 的方向\n let position: POSITION = this.options.position!;\n\n // 自动判断位置,加 2px,使 Tooltip 距离窗口边框至少有 2px 的间距\n if (position === 'auto') {\n if (\n targetProps.top +\n targetProps.height +\n targetMargin +\n tooltipHeight +\n 2 <\n $window.height()\n ) {\n position = 'bottom';\n } else if (targetMargin + tooltipHeight + 2 < targetProps.top) {\n position = 'top';\n } else if (targetMargin + tooltipWidth + 2 < targetProps.left) {\n position = 'left';\n } else if (\n targetProps.width + targetMargin + tooltipWidth + 2 <\n $window.width() - targetProps.left\n ) {\n position = 'right';\n } else {\n position = 'bottom';\n }\n }\n\n // 设置位置\n switch (position) {\n case 'bottom':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop = targetProps.height / 2 + targetMargin;\n this.$element.transformOrigin('top center');\n break;\n\n case 'top':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop =\n -1 * (tooltipHeight + targetProps.height / 2 + targetMargin);\n this.$element.transformOrigin('bottom center');\n break;\n\n case 'left':\n marginLeft = -1 * (tooltipWidth + targetProps.width / 2 + targetMargin);\n marginTop = -1 * (tooltipHeight / 2);\n this.$element.transformOrigin('center right');\n break;\n\n case 'right':\n marginLeft = targetProps.width / 2 + targetMargin;\n marginTop = -1 * (tooltipHeight / 2);\n this.$element.transformOrigin('center left');\n break;\n }\n\n const targetOffset = this.$target.offset();\n\n this.$element.css({\n top: `${targetOffset.top + targetProps.height / 2}px`,\n left: `${targetOffset.left + targetProps.width / 2}px`,\n 'margin-left': `${marginLeft}px`,\n 'margin-top': `${marginTop}px`,\n });\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'tooltip', this.$target, this);\n }\n\n /**\n * 动画结束回调\n */\n private transitionEnd(): void {\n if (this.$element.hasClass('mdui-tooltip-open')) {\n this.state = 'opened';\n this.triggerEvent('opened');\n } else {\n this.state = 'closed';\n this.triggerEvent('closed');\n }\n }\n\n /**\n * 当前 tooltip 是否为打开状态\n */\n private isOpen(): boolean {\n return this.state === 'opening' || this.state === 'opened';\n }\n\n /**\n * 执行打开 tooltip\n */\n private doOpen(): void {\n this.state = 'opening';\n this.triggerEvent('open');\n\n this.$element\n .addClass('mdui-tooltip-open')\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 打开 Tooltip\n * @param options 允许每次打开时设置不同的参数\n */\n public open(options?: OPTIONS): void {\n if (this.isOpen()) {\n return;\n }\n\n const oldOptions = extend({}, this.options);\n\n if (options) {\n extend(this.options, options);\n }\n\n // tooltip 的内容有更新\n if (oldOptions.content !== this.options.content) {\n this.$element.html(this.options.content);\n }\n\n this.setPosition();\n\n if (this.options.delay) {\n this.timeoutId = setTimeout(() => this.doOpen(), this.options.delay);\n } else {\n this.timeoutId = null;\n this.doOpen();\n }\n }\n\n /**\n * 关闭 Tooltip\n */\n public close(): void {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n\n if (!this.isOpen()) {\n return;\n }\n\n this.state = 'closing';\n this.triggerEvent('close');\n\n this.$element\n .removeClass('mdui-tooltip-open')\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 切换 Tooltip 的打开状态\n */\n public toggle(): void {\n this.isOpen() ? this.close() : this.open();\n }\n\n /**\n * 获取 Tooltip 状态。共包含四种状态:`opening`、`opened`、`closing`、`closed`\n */\n public getState(): STATE {\n return this.state;\n }\n}\n\nmdui.Tooltip = Tooltip;\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/on';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-tooltip';\nconst dataName = '_mdui_tooltip';\n\n$(() => {\n // mouseenter 不能冒泡,所以这里用 mouseover 代替\n $document.on('touchstart mouseover', `[${customAttr}]`, function () {\n const $target = $(this);\n let instance = $target.data(dataName);\n\n if (!instance) {\n instance = new mdui.Tooltip(\n this as HTMLElement,\n parseOptions(this as HTMLElement, customAttr),\n );\n $target.data(dataName, instance);\n }\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/appendTo';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/off';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/remove';\nimport { isString } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/reflow';\nimport '../../jq_extends/methods/transform';\nimport '../../jq_extends/methods/transitionEnd';\nimport { $document } from '../../utils/dom';\nimport { dequeue, queue } from '../../utils/queue';\nimport { startEvent } from '../../utils/touchHandler';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 打开一个 Snackbar\n * @param message Snackbar 的文本\n * @param options 配置参数\n */\n snackbar(message: string, options?: OPTIONS): Snackbar;\n\n /**\n * 打开一个 Snackbar\n * @param options 配置参数\n */\n snackbar(options: OPTIONS): Snackbar;\n }\n}\n\ntype OPTIONS = {\n /**\n * Snackbar 的文本。通过 `mdui.snackbar(options)` 调用时,该参数不能为空\n */\n message?: string;\n\n /**\n * 在用户没有操作时多长时间自动隐藏,单位(毫秒)。为 `0` 时表示不自动关闭,默认为 `4000`\n */\n timeout?: number;\n\n /**\n * Snackbar 的位置,默认为 `bottom`。\n * 取值范围包括:\n * `bottom`: 下方\n * `top`: 上方\n * `left-top`: 左上角\n * `left-bottom`: 左下角\n * `right-top`: 右上角\n * `right-bottom`: 右下角\n */\n position?:\n | 'bottom'\n | 'top'\n | 'left-top'\n | 'left-bottom'\n | 'right-top'\n | 'right-bottom';\n\n /**\n * 按钮的文本\n */\n buttonText?: string;\n\n /**\n * 按钮的文本颜色,可以是颜色名或颜色值,如 `red`、`#ffffff`、`rgba(255, 255, 255, 0.3)` 等。默认为 `#90CAF9`\n */\n buttonColor?: string;\n\n /**\n * 点击按钮时是否关闭 Snackbar,默认为 `true`\n */\n closeOnButtonClick?: boolean;\n\n /**\n * 点击或触摸 Snackbar 以外的区域时是否关闭 Snackbar,默认为 `true`\n */\n closeOnOutsideClick?: boolean;\n\n /**\n * 在 Snackbar 上点击的回调函数,参数为 Snackbar 的实例\n */\n onClick?: (snackbar: Snackbar) => void;\n\n /**\n * 点击 Snackbar 上的按钮时的回调函数,参数为 Snackbar 的实例\n */\n onButtonClick?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 开始打开时的回调函数,参数为 Snackbar 的实例\n */\n onOpen?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 打开后的回调函数,参数为 Snackbar 的实例\n */\n onOpened?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 开始关闭时的回调函数,参数为 Snackbar 的实例\n */\n onClose?: (snackbar: Snackbar) => void;\n\n /**\n * Snackbar 关闭后的回调函数,参数为 Snackbar 的实例\n */\n onClosed?: (snackbar: Snackbar) => void;\n};\n\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n message: '',\n timeout: 4000,\n position: 'bottom',\n buttonText: '',\n buttonColor: '',\n closeOnButtonClick: true,\n closeOnOutsideClick: true,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onButtonClick: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onOpen: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onOpened: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClosed: () => {},\n};\n\n/**\n * 当前打开着的 Snackbar\n */\nlet currentInst: null | Snackbar = null;\n\n/**\n * 队列名\n */\nconst queueName = '_mdui_snackbar';\n\nclass Snackbar {\n /**\n * Snackbar 元素\n */\n public $element: JQ;\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前 Snackbar 的状态\n */\n private state: STATE = 'closed';\n\n /**\n * setTimeout 的 ID\n */\n private timeoutId: any = null;\n\n public constructor(options: OPTIONS) {\n extend(this.options, options);\n\n // 按钮颜色\n let buttonColorStyle = '';\n let buttonColorClass = '';\n\n if (\n this.options.buttonColor!.indexOf('#') === 0 ||\n this.options.buttonColor!.indexOf('rgb') === 0\n ) {\n buttonColorStyle = `style=\"color:${this.options.buttonColor}\"`;\n } else if (this.options.buttonColor !== '') {\n buttonColorClass = `mdui-text-color-${this.options.buttonColor}`;\n }\n\n // 添加 HTML\n this.$element = $(\n '
              ' +\n `
              ${this.options.message}
              ` +\n (this.options.buttonText\n ? `${this.options.buttonText}`\n : '') +\n '
              ',\n ).appendTo(document.body);\n\n // 设置位置\n this.setPosition('close');\n\n this.$element.reflow().addClass(`mdui-snackbar-${this.options.position}`);\n }\n\n /**\n * 点击 Snackbar 外面的区域关闭\n * @param event\n */\n private closeOnOutsideClick(event: Event): void {\n const $target = $(event.target as HTMLElement);\n\n if (\n !$target.hasClass('mdui-snackbar') &&\n !$target.parents('.mdui-snackbar').length\n ) {\n currentInst!.close();\n }\n }\n\n /**\n * 设置 Snackbar 的位置\n * @param state\n */\n private setPosition(state: 'open' | 'close'): void {\n const snackbarHeight = this.$element[0].clientHeight;\n const position = this.options.position;\n\n let translateX;\n let translateY;\n\n // translateX\n if (position === 'bottom' || position === 'top') {\n translateX = '-50%';\n } else {\n translateX = '0';\n }\n\n // translateY\n if (state === 'open') {\n translateY = '0';\n } else {\n if (position === 'bottom') {\n translateY = snackbarHeight;\n }\n\n if (position === 'top') {\n translateY = -snackbarHeight;\n }\n\n if (position === 'left-top' || position === 'right-top') {\n translateY = -snackbarHeight - 24;\n }\n\n if (position === 'left-bottom' || position === 'right-bottom') {\n translateY = snackbarHeight + 24;\n }\n }\n\n this.$element.transform(`translate(${translateX},${translateY}px`);\n }\n\n /**\n * 打开 Snackbar\n */\n public open(): void {\n if (this.state === 'opening' || this.state === 'opened') {\n return;\n }\n\n // 如果当前有正在显示的 Snackbar,则先加入队列,等旧 Snackbar 关闭后再打开\n if (currentInst) {\n queue(queueName, () => this.open());\n return;\n }\n\n currentInst = this;\n\n // 开始打开\n this.state = 'opening';\n this.options.onOpen!(this);\n\n this.setPosition('open');\n\n this.$element.transitionEnd(() => {\n if (this.state !== 'opening') {\n return;\n }\n\n this.state = 'opened';\n this.options.onOpened!(this);\n\n // 有按钮时绑定事件\n if (this.options.buttonText) {\n this.$element.find('.mdui-snackbar-action').on('click', () => {\n this.options.onButtonClick!(this);\n if (this.options.closeOnButtonClick) {\n this.close();\n }\n });\n }\n\n // 点击 snackbar 的事件\n this.$element.on('click', (event) => {\n if (!$(event.target as HTMLElement).hasClass('mdui-snackbar-action')) {\n this.options.onClick!(this);\n }\n });\n\n // 点击 Snackbar 外面的区域关闭\n if (this.options.closeOnOutsideClick) {\n $document.on(startEvent, this.closeOnOutsideClick);\n }\n\n // 超时后自动关闭\n if (this.options.timeout) {\n this.timeoutId = setTimeout(() => this.close(), this.options.timeout);\n }\n });\n }\n\n /**\n * 关闭 Snackbar\n */\n public close(): void {\n if (this.state === 'closing' || this.state === 'closed') {\n return;\n }\n\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n }\n\n if (this.options.closeOnOutsideClick) {\n $document.off(startEvent, this.closeOnOutsideClick);\n }\n\n this.state = 'closing';\n this.options.onClose!(this);\n\n this.setPosition('close');\n\n this.$element.transitionEnd(() => {\n if (this.state !== 'closing') {\n return;\n }\n\n currentInst = null;\n this.state = 'closed';\n this.options.onClosed!(this);\n this.$element.remove();\n dequeue(queueName);\n });\n }\n}\n\nmdui.snackbar = function (message: any, options: any = {}): Snackbar {\n if (isString(message)) {\n options.message = message;\n } else {\n options = message;\n }\n\n const instance = new Snackbar(options);\n\n instance.open();\n\n return instance;\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/html';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport { isUndefined } from 'mdui.jq/es/utils';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * 如果需要修改已有的圆形进度条组件,需要调用该方法来重新初始化组件。\n *\n * 若传入了参数,则只重新初始化该参数对应的圆形进度条。若没有传入参数,则重新初始化所有圆形进度条。\n * @param selector CSS 选择器、或 DOM 元素、或 DOM 元素组成的数组、或 JQ 对象\n */\n updateSpinners(\n selector?: Selector | HTMLElement | ArrayLike,\n ): void;\n }\n}\n\n/**\n * layer 的 HTML 结构\n * @param index\n */\nfunction layerHTML(index: number | false = false): string {\n return (\n `
              ` +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              ' +\n '
              '\n );\n}\n\n/**\n * 填充 HTML\n * @param spinner\n */\nfunction fillHTML(spinner: HTMLElement): void {\n const $spinner = $(spinner);\n\n const layer = $spinner.hasClass('mdui-spinner-colorful')\n ? layerHTML(1) + layerHTML(2) + layerHTML(3) + layerHTML(4)\n : layerHTML();\n\n $spinner.html(layer);\n}\n\n$(() => {\n // 页面加载完后自动填充 HTML 结构\n mdui.mutation('.mdui-spinner', function () {\n fillHTML(this);\n });\n});\n\nmdui.updateSpinners = function (\n selector?: Selector | HTMLElement | ArrayLike,\n): void {\n const $elements = isUndefined(selector) ? $('.mdui-spinner') : $(selector);\n\n $elements.each(function () {\n fillHTML(this);\n });\n};\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/removeClass';\nimport mdui from '../../mdui';\nimport '../../global/mutation';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document } from '../../utils/dom';\nimport '../headroom';\n\n$(() => {\n // 切换导航项\n $document.on('click', '.mdui-bottom-nav>a', function () {\n const $item = $(this as HTMLElement);\n const $bottomNav = $item.parent();\n\n $bottomNav.children('a').each((index, item) => {\n const isThis = $item.is(item);\n\n if (isThis) {\n componentEvent('change', 'bottomNav', $bottomNav[0], undefined, {\n index,\n });\n }\n\n isThis\n ? $(item).addClass('mdui-bottom-nav-active')\n : $(item).removeClass('mdui-bottom-nav-active');\n });\n });\n\n // 滚动时隐藏 mdui-bottom-nav-scroll-hide\n mdui.mutation('.mdui-bottom-nav-scroll-hide', function () {\n new mdui.Headroom(this, {\n pinnedClass: 'mdui-headroom-pinned-down',\n unpinnedClass: 'mdui-headroom-unpinned-down',\n });\n });\n});\n","import $ from 'mdui.jq/es/$';\nimport contains from 'mdui.jq/es/functions/contains';\nimport extend from 'mdui.jq/es/functions/extend';\nimport { JQ } from 'mdui.jq/es/JQ';\nimport 'mdui.jq/es/methods/addClass';\nimport 'mdui.jq/es/methods/attr';\nimport 'mdui.jq/es/methods/children';\nimport 'mdui.jq/es/methods/css';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/each';\nimport 'mdui.jq/es/methods/find';\nimport 'mdui.jq/es/methods/first';\nimport 'mdui.jq/es/methods/hasClass';\nimport 'mdui.jq/es/methods/height';\nimport 'mdui.jq/es/methods/is';\nimport 'mdui.jq/es/methods/on';\nimport 'mdui.jq/es/methods/parent';\nimport 'mdui.jq/es/methods/parents';\nimport 'mdui.jq/es/methods/removeClass';\nimport 'mdui.jq/es/methods/width';\nimport Selector from 'mdui.jq/es/types/Selector';\nimport mdui from '../../mdui';\nimport '../../jq_extends/methods/transformOrigin';\nimport '../../jq_extends/methods/transitionEnd';\nimport '../../jq_extends/static/throttle';\nimport { componentEvent } from '../../utils/componentEvent';\nimport { $document, $window } from '../../utils/dom';\n\ndeclare module '../../interfaces/MduiStatic' {\n interface MduiStatic {\n /**\n * Menu 组件\n *\n * 请通过 `new mdui.Menu()` 调用\n */\n Menu: {\n /**\n * 实例化 Menu 组件\n * @param anchorSelector 触发菜单的元素的 CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param menuSelector 菜单的 CSS 选择器、或 DOM 元素、或 JQ 对象\n * @param options 配置参数\n */\n new (\n anchorSelector: Selector | HTMLElement | ArrayLike,\n menuSelector: Selector | HTMLElement | ArrayLike,\n options?: OPTIONS,\n ): Menu;\n };\n }\n}\n\ntype OPTIONS = {\n /**\n * 菜单相对于触发它的元素的位置,默认为 `auto`。\n * 取值范围包括:\n * `top`: 菜单在触发它的元素的上方\n * `bottom`: 菜单在触发它的元素的下方\n * `center`: 菜单在窗口中垂直居中\n * `auto`: 自动判断位置。优先级为:`bottom` > `top` > `center`\n */\n position?: 'auto' | 'top' | 'bottom' | 'center';\n\n /**\n * 菜单与触发它的元素的对其方式,默认为 `auto`。\n * 取值范围包括:\n * `left`: 菜单与触发它的元素左对齐\n * `right`: 菜单与触发它的元素右对齐\n * `center`: 菜单在窗口中水平居中\n * `auto`: 自动判断位置:优先级为:`left` > `right` > `center`\n */\n align?: 'auto' | 'left' | 'right' | 'center';\n\n /**\n * 菜单与窗口边框至少保持多少间距,单位为 px,默认为 `16`\n */\n gutter?: number;\n\n /**\n * 菜单的定位方式,默认为 `false`。\n * 为 `true` 时,菜单使用 fixed 定位。在页面滚动时,菜单将保持在窗口固定位置,不随滚动条滚动。\n * 为 `false` 时,菜单使用 absolute 定位。在页面滚动时,菜单将随着页面一起滚动。\n */\n fixed?: boolean;\n\n /**\n * 菜单是否覆盖在触发它的元素的上面,默认为 `auto`\n * 为 `true` 时,使菜单覆盖在触发它的元素的上面\n * 为 `false` 时,使菜单不覆盖触发它的元素\n * 为 `auto` 时,简单菜单覆盖触发它的元素。级联菜单不覆盖触发它的元素\n */\n covered?: boolean | 'auto';\n\n /**\n * 子菜单的触发方式,默认为 `hover`\n * 为 `click` 时,点击时触发子菜单\n * 为 `hover` 时,鼠标悬浮时触发子菜单\n */\n subMenuTrigger?: 'click' | 'hover';\n\n /**\n * 子菜单的触发延迟时间(单位:毫秒),只有在 `subMenuTrigger: hover` 时,这个参数才有效,默认为 `200`\n */\n subMenuDelay?: number;\n};\n\ntype EVENT = 'open' | 'opened' | 'close' | 'closed';\ntype STATE = 'opening' | 'opened' | 'closing' | 'closed';\n\nconst DEFAULT_OPTIONS: OPTIONS = {\n position: 'auto',\n align: 'auto',\n gutter: 16,\n fixed: false,\n covered: 'auto',\n subMenuTrigger: 'hover',\n subMenuDelay: 200,\n};\n\nclass Menu {\n /**\n * 触发菜单的元素的 JQ 对象\n */\n public $anchor: JQ;\n\n /**\n * 菜单元素的 JQ 对象\n */\n public $element: JQ;\n\n /**\n * 配置参数\n */\n public options: OPTIONS = extend({}, DEFAULT_OPTIONS);\n\n /**\n * 当前菜单状态\n */\n private state: STATE = 'closed';\n\n /**\n * 是否是级联菜单\n */\n private isCascade: boolean;\n\n /**\n * 菜单是否覆盖在触发它的元素的上面\n */\n private isCovered: boolean;\n\n public constructor(\n anchorSelector: Selector | HTMLElement | ArrayLike,\n menuSelector: Selector | HTMLElement | ArrayLike,\n options: OPTIONS = {},\n ) {\n this.$anchor = $(anchorSelector).first();\n this.$element = $(menuSelector).first();\n\n // 触发菜单的元素 和 菜单必须是同级的元素,否则菜单可能不能定位\n if (!this.$anchor.parent().is(this.$element.parent())) {\n throw new Error('anchorSelector and menuSelector must be siblings');\n }\n\n extend(this.options, options);\n\n // 是否是级联菜单\n this.isCascade = this.$element.hasClass('mdui-menu-cascade');\n\n // covered 参数处理\n this.isCovered =\n this.options.covered === 'auto' ? !this.isCascade : this.options.covered!;\n\n // 点击触发菜单切换\n this.$anchor.on('click', () => this.toggle());\n\n // 点击菜单外面区域关闭菜单\n $document.on('click touchstart', (event: Event) => {\n const $target = $(event.target as HTMLElement);\n\n if (\n this.isOpen() &&\n !$target.is(this.$element) &&\n !contains(this.$element[0], $target[0]) &&\n !$target.is(this.$anchor) &&\n !contains(this.$anchor[0], $target[0])\n ) {\n this.close();\n }\n });\n\n // 点击不含子菜单的菜单条目关闭菜单\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n $document.on('click', '.mdui-menu-item', function () {\n const $item = $(this);\n\n if (\n !$item.find('.mdui-menu').length &&\n $item.attr('disabled') === undefined\n ) {\n that.close();\n }\n });\n\n // 绑定点击或鼠标移入含子菜单的条目的事件\n this.bindSubMenuEvent();\n\n // 窗口大小变化时,重新调整菜单位置\n $window.on(\n 'resize',\n $.throttle(() => this.readjust(), 100),\n );\n }\n\n /**\n * 是否为打开状态\n */\n private isOpen(): boolean {\n return this.state === 'opening' || this.state === 'opened';\n }\n\n /**\n * 触发组件事件\n * @param name\n */\n private triggerEvent(name: EVENT): void {\n componentEvent(name, 'menu', this.$element, this);\n }\n\n /**\n * 调整主菜单位置\n */\n private readjust(): void {\n let menuLeft;\n let menuTop;\n\n // 菜单位置和方向\n let position: 'bottom' | 'top' | 'center';\n let align: 'left' | 'right' | 'center';\n\n // window 窗口的宽度和高度\n const windowHeight = $window.height();\n const windowWidth = $window.width();\n\n // 配置参数\n const gutter = this.options.gutter!;\n const isCovered = this.isCovered;\n const isFixed = this.options.fixed;\n\n // 动画方向参数\n let transformOriginX;\n let transformOriginY;\n\n // 菜单的原始宽度和高度\n const menuWidth = this.$element.width();\n const menuHeight = this.$element.height();\n\n // 触发菜单的元素在窗口中的位置\n const anchorRect = this.$anchor[0].getBoundingClientRect();\n const anchorTop = anchorRect.top;\n const anchorLeft = anchorRect.left;\n const anchorHeight = anchorRect.height;\n const anchorWidth = anchorRect.width;\n const anchorBottom = windowHeight - anchorTop - anchorHeight;\n const anchorRight = windowWidth - anchorLeft - anchorWidth;\n\n // 触发元素相对其拥有定位属性的父元素的位置\n const anchorOffsetTop = this.$anchor[0].offsetTop;\n const anchorOffsetLeft = this.$anchor[0].offsetLeft;\n\n // 自动判断菜单位置\n if (this.options.position === 'auto') {\n if (anchorBottom + (isCovered ? anchorHeight : 0) > menuHeight + gutter) {\n // 判断下方是否放得下菜单\n position = 'bottom';\n } else if (\n anchorTop + (isCovered ? anchorHeight : 0) >\n menuHeight + gutter\n ) {\n // 判断上方是否放得下菜单\n position = 'top';\n } else {\n // 上下都放不下,居中显示\n position = 'center';\n }\n } else {\n position = this.options.position!;\n }\n\n // 自动判断菜单对齐方式\n if (this.options.align === 'auto') {\n if (anchorRight + anchorWidth > menuWidth + gutter) {\n // 判断右侧是否放得下菜单\n align = 'left';\n } else if (anchorLeft + anchorWidth > menuWidth + gutter) {\n // 判断左侧是否放得下菜单\n align = 'right';\n } else {\n // 左右都放不下,居中显示\n align = 'center';\n }\n } else {\n align = this.options.align!;\n }\n\n // 设置菜单位置\n if (position === 'bottom') {\n transformOriginY = '0';\n menuTop =\n (isCovered ? 0 : anchorHeight) +\n (isFixed ? anchorTop : anchorOffsetTop);\n } else if (position === 'top') {\n transformOriginY = '100%';\n menuTop =\n (isCovered ? anchorHeight : 0) +\n (isFixed ? anchorTop - menuHeight : anchorOffsetTop - menuHeight);\n } else {\n transformOriginY = '50%';\n\n // =====================在窗口中居中\n // 显示的菜单的高度,简单菜单高度不超过窗口高度,若超过了则在菜单内部显示滚动条\n // 级联菜单内部不允许出现滚动条\n let menuHeightTemp = menuHeight;\n\n // 简单菜单比窗口高时,限制菜单高度\n if (!this.isCascade) {\n if (menuHeight + gutter * 2 > windowHeight) {\n menuHeightTemp = windowHeight - gutter * 2;\n this.$element.height(menuHeightTemp);\n }\n }\n\n menuTop =\n (windowHeight - menuHeightTemp) / 2 +\n (isFixed ? 0 : anchorOffsetTop - anchorTop);\n }\n\n this.$element.css('top', `${menuTop}px`);\n\n // 设置菜单对齐方式\n if (align === 'left') {\n transformOriginX = '0';\n menuLeft = isFixed ? anchorLeft : anchorOffsetLeft;\n } else if (align === 'right') {\n transformOriginX = '100%';\n menuLeft = isFixed\n ? anchorLeft + anchorWidth - menuWidth\n : anchorOffsetLeft + anchorWidth - menuWidth;\n } else {\n transformOriginX = '50%';\n\n //=======================在窗口中居中\n // 显示的菜单的宽度,菜单宽度不能超过窗口宽度\n let menuWidthTemp = menuWidth;\n\n // 菜单比窗口宽,限制菜单宽度\n if (menuWidth + gutter * 2 > windowWidth) {\n menuWidthTemp = windowWidth - gutter * 2;\n this.$element.width(menuWidthTemp);\n }\n\n menuLeft =\n (windowWidth - menuWidthTemp) / 2 +\n (isFixed ? 0 : anchorOffsetLeft - anchorLeft);\n }\n\n this.$element.css('left', `${menuLeft}px`);\n\n // 设置菜单动画方向\n this.$element.transformOrigin(`${transformOriginX} ${transformOriginY}`);\n }\n\n /**\n * 调整子菜单的位置\n * @param $submenu\n */\n private readjustSubmenu($submenu: JQ): void {\n const $item = $submenu.parent('.mdui-menu-item');\n\n let submenuTop;\n let submenuLeft;\n\n // 子菜单位置和方向\n let position: 'top' | 'bottom';\n let align: 'left' | 'right';\n\n // window 窗口的宽度和高度\n const windowHeight = $window.height();\n const windowWidth = $window.width();\n\n // 动画方向参数\n let transformOriginX;\n let transformOriginY;\n\n // 子菜单的原始宽度和高度\n const submenuWidth = $submenu.width();\n const submenuHeight = $submenu.height();\n\n // 触发子菜单的菜单项的宽度高度\n const itemRect = $item[0].getBoundingClientRect();\n const itemWidth = itemRect.width;\n const itemHeight = itemRect.height;\n const itemLeft = itemRect.left;\n const itemTop = itemRect.top;\n\n // 判断菜单上下位置\n if (windowHeight - itemTop > submenuHeight) {\n // 判断下方是否放得下菜单\n position = 'bottom';\n } else if (itemTop + itemHeight > submenuHeight) {\n // 判断上方是否放得下菜单\n position = 'top';\n } else {\n // 默认放在下方\n position = 'bottom';\n }\n\n // 判断菜单左右位置\n if (windowWidth - itemLeft - itemWidth > submenuWidth) {\n // 判断右侧是否放得下菜单\n align = 'left';\n } else if (itemLeft > submenuWidth) {\n // 判断左侧是否放得下菜单\n align = 'right';\n } else {\n // 默认放在右侧\n align = 'left';\n }\n\n // 设置菜单位置\n if (position === 'bottom') {\n transformOriginY = '0';\n submenuTop = '0';\n } else if (position === 'top') {\n transformOriginY = '100%';\n submenuTop = -submenuHeight + itemHeight;\n }\n\n $submenu.css('top', `${submenuTop}px`);\n\n // 设置菜单对齐方式\n if (align === 'left') {\n transformOriginX = '0';\n submenuLeft = itemWidth;\n } else if (align === 'right') {\n transformOriginX = '100%';\n submenuLeft = -submenuWidth;\n }\n\n $submenu.css('left', `${submenuLeft}px`);\n\n // 设置菜单动画方向\n $submenu.transformOrigin(`${transformOriginX} ${transformOriginY}`);\n }\n\n /**\n * 打开子菜单\n * @param $submenu\n */\n private openSubMenu($submenu: JQ): void {\n this.readjustSubmenu($submenu);\n\n $submenu\n .addClass('mdui-menu-open')\n .parent('.mdui-menu-item')\n .addClass('mdui-menu-item-active');\n }\n\n /**\n * 关闭子菜单,及其嵌套的子菜单\n * @param $submenu\n */\n private closeSubMenu($submenu: JQ): void {\n // 关闭子菜单\n $submenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(() => $submenu.removeClass('mdui-menu-closing'))\n\n // 移除激活状态的样式\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n\n // 循环关闭嵌套的子菜单\n $submenu.find('.mdui-menu').each((_, menu) => {\n const $subSubmenu = $(menu);\n\n $subSubmenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(() => $subSubmenu.removeClass('mdui-menu-closing'))\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n });\n }\n\n /**\n * 切换子菜单状态\n * @param $submenu\n */\n private toggleSubMenu($submenu: JQ): void {\n $submenu.hasClass('mdui-menu-open')\n ? this.closeSubMenu($submenu)\n : this.openSubMenu($submenu);\n }\n\n /**\n * 绑定子菜单事件\n */\n private bindSubMenuEvent(): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n\n // 点击打开子菜单\n this.$element.on('click', '.mdui-menu-item', function (event) {\n const $item = $(this as HTMLElement);\n const $target = $(event.target as HTMLElement);\n\n // 禁用状态菜单不操作\n if ($item.attr('disabled') !== undefined) {\n return;\n }\n\n // 没有点击在子菜单的菜单项上时,不操作(点在了子菜单的空白区域、或分隔线上)\n if ($target.is('.mdui-menu') || $target.is('.mdui-divider')) {\n return;\n }\n\n // 阻止冒泡,点击菜单项时只在最后一级的 mdui-menu-item 上生效,不向上冒泡\n if (!$target.parents('.mdui-menu-item').first().is($item)) {\n return;\n }\n\n // 当前菜单的子菜单\n const $submenu = $item.children('.mdui-menu');\n\n // 先关闭除当前子菜单外的所有同级子菜单\n $item\n .parent('.mdui-menu')\n .children('.mdui-menu-item')\n .each((_, item) => {\n const $tmpSubmenu = $(item).children('.mdui-menu');\n\n if (\n $tmpSubmenu.length &&\n (!$submenu.length || !$tmpSubmenu.is($submenu))\n ) {\n that.closeSubMenu($tmpSubmenu);\n }\n });\n\n // 切换当前子菜单\n if ($submenu.length) {\n that.toggleSubMenu($submenu);\n }\n });\n\n if (this.options.subMenuTrigger === 'hover') {\n // 临时存储 setTimeout 对象\n let timeout: any = null;\n let timeoutOpen: any = null;\n\n this.$element.on('mouseover mouseout', '.mdui-menu-item', function (\n event,\n ) {\n const $item = $(this as HTMLElement);\n const eventType = event.type;\n const $relatedTarget = $(\n (event as MouseEvent).relatedTarget as HTMLElement,\n );\n\n // 禁用状态的菜单不操作\n if ($item.attr('disabled') !== undefined) {\n return;\n }\n\n // 用 mouseover 模拟 mouseenter\n if (eventType === 'mouseover') {\n if (\n !$item.is($relatedTarget) &&\n contains($item[0], $relatedTarget[0])\n ) {\n return;\n }\n }\n\n // 用 mouseout 模拟 mouseleave\n else if (eventType === 'mouseout') {\n if (\n $item.is($relatedTarget) ||\n contains($item[0], $relatedTarget[0])\n ) {\n return;\n }\n }\n\n // 当前菜单项下的子菜单,未必存在\n const $submenu = $item.children('.mdui-menu');\n\n // 鼠标移入菜单项时,显示菜单项下的子菜单\n if (eventType === 'mouseover') {\n if ($submenu.length) {\n // 当前子菜单准备打开时,如果当前子菜单正准备着关闭,不用再关闭了\n const tmpClose = $submenu.data('timeoutClose.mdui.menu');\n if (tmpClose) {\n clearTimeout(tmpClose);\n }\n\n // 如果当前子菜单已经打开,不操作\n if ($submenu.hasClass('mdui-menu-open')) {\n return;\n }\n\n // 当前子菜单准备打开时,其他准备打开的子菜单不用再打开了\n clearTimeout(timeoutOpen);\n\n // 准备打开当前子菜单\n timeout = timeoutOpen = setTimeout(\n () => that.openSubMenu($submenu),\n that.options.subMenuDelay,\n );\n\n $submenu.data('timeoutOpen.mdui.menu', timeout);\n }\n }\n\n // 鼠标移出菜单项时,关闭菜单项下的子菜单\n else if (eventType === 'mouseout') {\n if ($submenu.length) {\n // 鼠标移出菜单项时,如果当前菜单项下的子菜单正准备打开,不用再打开了\n const tmpOpen = $submenu.data('timeoutOpen.mdui.menu');\n if (tmpOpen) {\n clearTimeout(tmpOpen);\n }\n\n // 准备关闭当前子菜单\n timeout = setTimeout(\n () => that.closeSubMenu($submenu),\n that.options.subMenuDelay,\n );\n\n $submenu.data('timeoutClose.mdui.menu', timeout);\n }\n }\n });\n }\n }\n\n /**\n * 动画结束回调\n */\n private transitionEnd(): void {\n this.$element.removeClass('mdui-menu-closing');\n\n if (this.state === 'opening') {\n this.state = 'opened';\n this.triggerEvent('opened');\n }\n\n if (this.state === 'closing') {\n this.state = 'closed';\n this.triggerEvent('closed');\n\n // 关闭后,恢复菜单样式到默认状态,并恢复 fixed 定位\n this.$element.css({\n top: '',\n left: '',\n width: '',\n position: 'fixed',\n });\n }\n }\n\n /**\n * 切换菜单状态\n */\n public toggle(): void {\n this.isOpen() ? this.close() : this.open();\n }\n\n /**\n * 打开菜单\n */\n public open(): void {\n if (this.isOpen()) {\n return;\n }\n\n this.state = 'opening';\n this.triggerEvent('open');\n\n this.readjust();\n\n this.$element\n // 菜单隐藏状态使用使用 fixed 定位。\n .css('position', this.options.fixed ? 'fixed' : 'absolute')\n .addClass('mdui-menu-open')\n .transitionEnd(() => this.transitionEnd());\n }\n\n /**\n * 关闭菜单\n */\n public close(): void {\n if (!this.isOpen()) {\n return;\n }\n\n this.state = 'closing';\n this.triggerEvent('close');\n\n // 菜单开始关闭时,关闭所有子菜单\n this.$element.find('.mdui-menu').each((_, submenu) => {\n this.closeSubMenu($(submenu));\n });\n\n this.$element\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(() => this.transitionEnd());\n }\n}\n\nmdui.Menu = Menu;\n","import $ from 'mdui.jq/es/$';\nimport 'mdui.jq/es/methods/data';\nimport 'mdui.jq/es/methods/on';\nimport mdui from '../../mdui';\nimport { $document } from '../../utils/dom';\nimport { parseOptions } from '../../utils/parseOptions';\nimport './index';\n\nconst customAttr = 'mdui-menu';\nconst dataName = '_mdui_menu';\n\ntype OPTIONS = {\n target: string;\n position?: 'auto' | 'top' | 'bottom' | 'center';\n align?: 'auto' | 'left' | 'right' | 'center';\n gutter?: number;\n fixed?: boolean;\n covered?: boolean | 'auto';\n subMenuTrigger?: 'click' | 'hover';\n subMenuDelay?: number;\n};\n\n$(() => {\n $document.on('click', `[${customAttr}]`, function () {\n const $this = $(this as HTMLElement);\n let instance = $this.data(dataName);\n\n if (!instance) {\n const options = parseOptions(this as HTMLElement, customAttr) as OPTIONS;\n const menuSelector = options.target;\n // @ts-ignore\n delete options.target;\n\n instance = new mdui.Menu($this, menuSelector, options);\n $this.data(dataName, instance);\n\n instance.toggle();\n }\n });\n});\n"],"names":["t","e","bubbles","cancelable","detail","n","document","createEvent","initCustomEvent","finallyConstructor","callback","constructor","this","then","value","resolve","reason","reject","allSettled","arr","length","TypeError","args","Array","prototype","slice","call","remaining","res","i","val","status","MouseEvent","initMouseEvent","window","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","Event","CustomEvent","setTimeoutFunc","setTimeout","isArray","x","Boolean","noop","Promise","fn","_state","_handled","_value","undefined","_deferreds","doResolve","handle","self","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","promise","push","newValue","finale","thisArg","apply","arguments","_unhandledRejectionFn","len","Handler","done","ex","prom","promiseFinally","all","race","setImmediate","err","console","warn","globalNS","global","Error","isFunction","target","isString","isNumber","isUndefined","isNull","isWindow","Window","isDocument","Document","isElement","Element","isArrayLike","isObjectLike","toElement","documentElement","toCamelCase","string","replace","_","letter","toUpperCase","toKebabCase","replacer","toLowerCase","getComputedStyleValue","element","name","getComputedStyle","getPropertyValue","isBorderBox","getExtraWidth","direction","extra","const","position","reduce","prev","index","let","prop","parseFloat","getStyle","valueNumber","getBoundingClientRect","getChildNodesArray","parent","tempParent","createElement","innerHTML","childNodes","returnFalse","cssNumber","each","keys","Object","JQ","item","$","selector","test","readyState","body","addEventListener","html","trim","toCreate","li","tr","td","th","tbody","option","childTag","parentTag","indexOf","match","querySelectorAll","getElementById","Node","addClass","mdui","contains","container","merge","first","second","get","find","foundElements","handlers","mduiElementId","getElementId","key","parse","type","parts","split","ns","sort","join","matcherFor","RegExp","remove","types","func","removeEvent","handler","handlersInElement","id","removeEventListener","proxy","forEach","event","filter","extend","object1","objectN","unshift","object","param","obj","destructure","keyTmp","v","encodeURIComponent","trigger","extraParameters","eventObject","eventParams","isMouseEvent","_detail","_ns","dispatchEvent","globalOptions","ajaxEvents","ajaxStart","ajaxSuccess","ajaxError","ajaxComplete","isQueryStringData","method","appendQuery","url","query","ajax","options","defaults","textStatus","isCanceled","mergedOptions","data","processData","async","cache","username","password","headers","xhrFields","statusCode","dataType","contentType","timeout","location","toString","params","result1","result2","ArrayBuffer","Blob","FormData","Date","now","xhrTimeout","xhr","XMLHttpRequest","open","setRequestHeader","$2","host","onload","clearTimeout","responseData","isHttpStatusSuccess","JSON","responseText","responseType","response","onerror","statusText","onabort","abort","send","ajaxSetup","dataNS","setObjectToElement","map","elements","concat","removeData","nameItem","unique","result","dir","$elements","nameIndex","node","is","shift","add","className","getAttribute","cls","classList","setAttribute","$element","reverse","$target","parentNode","newItem","cloneNode","existingItem","nextSibling","insertBefore","off","on","one","_this","origCallback","elementId","useCapture","proxyFn","callFn","elem","preventDefault","stopPropagation","_data","eventName","clone","isMatched","matches","msMatchesSelector","$compareWith","compare","removeChild","childLength","child","appendChild","contents","content","extraChilds","$result","k","removeAttribute","style","set","children","__","childNode","eq","closest","matched","parents","rbrace","dataAttr","nodeType","handleExtraWidth","funcIndex","includeMargin","multiply","getExtraWidthValue","documentMode","clientProp","scrollProp","offsetProp","innerProp","doc","Math","max","floatStyle","css","getClientRects","top","left","rect","win","ownerDocument","defaultView","pageYOffset","pageXOffset","resultData","attrs","attributes","empty","$selector","has","$targets","hasClass","funcName","margin","isSet","elementIndex","computedValue","dimension","suffix","hide","display","propName","0","1","2","firstElement","selected","checked","outerHTML","last","not","$excludes","offsetParent","currentOffset","parentOffset","offset","$offsetParent","currentTop","currentLeft","currentTopString","currentLeftString","currentPosition","removeAttr","attributeName","names","removeProp","replaceWith","newContent","before","replaceAll","serializeArray","HTMLFormElement","nodeName","disabled","serialize","elementDisplay","show","siblings","prevAll","nextAll","toggle","reflow","clientLeft","transition","duration","webkitTransitionDuration","transitionDuration","transitionEnd","that","events","fireCallback","transformOrigin","webkitTransformOrigin","transform","webkitTransform","entries","mutation","apiInit","selectors","$this","showOverlay","zIndex","$overlay","appendTo","level","hideOverlay","force","removeClass","lockScreen","$body","newBodyWidth","width","unlockScreen","throttle","delay","timer","GUID","componentEvent","componentName","instance","parameters","inst","fullEventName","jQuery","guid","s4","floor","random","substring","Headroom","DEFAULT_OPTIONS","tolerance","down","up","enable","$document","$window","initialClass","pinnedClass","unpinnedClass","parseOptions","attr","Function","onScroll","rafId","requestAnimationFrame","currentScrollY","lastScrollY","toleranceExceeded","abs","unpin","pin","triggerEvent","state","isEnable","disable","cancelAnimationFrame","getState","customAttr","CollapseAbstract","classPrefix","getNamespace","classItem","classItemOpen","classHeader","classBody","bindEvent","accordion","$item","getItems","close","isOpen","getItem","$content","height","scrollHeight","openAll","closeAll","Collapse","Panel","Table","init","$thRow","$tdRows","selectable","updateThCheckbox","updateTdCheckbox","updateNumericCol","createCheckboxHTML","tag","updateThCheckboxStatus","checkbox","$thCheckbox","selectedRow","tdRowsLength","indeterminate","rowSelectedClass","row","$row","$checkbox","prependTo","$tdCheckboxs","isCheckedAll","numericClass","isNumericCol","$td","dataName","updateTables","startEvent","moveEvent","endEvent","cancelEvent","unlockEvent","touches","isAllow","register","$ripple","touchPosition","TouchEvent","touchStartX","pageX","touchStartY","pageY","innerHeight","innerWidth","center","diameter","pow","translate","wave","$wave","removeTimer","removeRipple","showRipple","hidden","hideRipple","defaultData","reInit","domLoadedEvent","inputEvent","input","$input","eventType","inputType","$textfield","validity","valid","inputValue","hasExtraSpace","outerHeight","maxLength","text","updateValueStyle","$slider","$track","_slider_$track","$fill","_slider_$fill","$thumb","_slider_$thumb","_slider_$input","min","_slider_min","_slider_max","isDisabled","_slider_disabled","isDiscrete","_slider_discrete","$thumbText","_slider_$thumbText","percent","append","focus","updateTextFields","rangeSelector","updateSliders","Fab","$btn","$dial","$dialBtns","btn","transitionDelay","webkitTransitionDelay","Select","$native","uniqueID","handleUpdate","gutter","readjustMenu","transformOriginY","menuMarginTop","windowHeight","elementHeight","$itemFirst","$items","itemHeight","itemMargin","parseInt","menuWidth","menuHeight","size","elementTop","menuMaxHeight","selectedIndex","menuMaxMarginTop","menuTop","$menu","margin-top","transform-origin","selectedValue","itemsData","textContent","selectedText","$selected","after","Tab","$tabs","$indicator","hash","tab","activeIndex","setActive","setIndicatorPosition","bindTabEvent","loop","$tab","clickEvent","targetId","substr","$activeTab","activeTabOffset","scrollLeft","next","$oldTabs","$newTabs","oldTabsElement","newTabsElement","Drawer","isDesktop","overlay","swipeSupport","swipe","openNavEventHandler","swipeStartX","swiping","maybeSwiping","swipeAreaWidth","setPosition","translateX","transformCSS","cleanPosition","webkitTransition","getMaxTranslateX","getTranslateX","currentX","onBodyTouchEnd","touchX","changedTouches","translateRatio","swipingState","touchmove","onBodyTouchMove","touchend","touchcancel","touchY","dXAbs","dYAbs","onBodyTouchStart","$drawer","queue","dequeue","Dialog","cancel","closeOnCancel","confirm","closeOnConfirm","history","modal","closeOnEsc","destroyOnClosed","currentInst","queueName","isLockScreen","readjust","$title","$actions","hashchangeEvent","overlayClick","destroy","doOpen","historyBack","back","keyCode","$dialog","DEFAULT_BUTTON","bold","onClick","title","buttons","stackedButtons","cssClass","onOpen","onOpened","onClose","onClosed","confirmText","dialog","buttonsHTML","HTML","cancelText","alert","onConfirm","onCancel","maxlength","defaultValue","confirmOnEnter","prompt","label","Tooltip","marginLeft","marginTop","targetProps","targetMargin","tooltipWidth","offsetWidth","tooltipHeight","offsetHeight","targetOffset","margin-left","oldOptions","timeoutId","Snackbar","buttonColorStyle","buttonColorClass","buttonColor","buttonText","message","closeOnButtonClick","closeOnOutsideClick","onButtonClick","layerHTML","fillHTML","spinner","$spinner","layer","translateY","snackbarHeight","clientHeight","snackbar","$bottomNav","isThis","Menu","anchorSelector","menuSelector","$anchor","isCascade","isCovered","covered","bindSubMenuEvent","align","fixed","updateSpinners","subMenuTrigger","subMenuDelay","menuLeft","transformOriginX","windowWidth","isFixed","anchorRect","anchorTop","anchorLeft","anchorHeight","anchorWidth","anchorBottom","anchorRight","anchorOffsetTop","offsetTop","anchorOffsetLeft","offsetLeft","menuHeightTemp","menuWidthTemp","readjustSubmenu","$submenu","submenuTop","submenuLeft","submenuWidth","submenuHeight","itemRect","itemWidth","itemLeft","itemTop","openSubMenu","closeSubMenu","menu","$subSubmenu","toggleSubMenu","$tmpSubmenu","timeoutOpen","$relatedTarget","tmpClose","tmpOpen","submenu"],"mappings":"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"} \ No newline at end of file diff --git a/static/module/iconHhys/iconHhysFa.js b/static/module/iconHhys/iconHhysFa.js new file mode 100644 index 0000000..1d81cba --- /dev/null +++ b/static/module/iconHhys/iconHhysFa.js @@ -0,0 +1,487 @@ +/** + * iconHhysFa 1.0 字体图标选择 + * User: jackhhy + * Date: 2020/06/23-11:09 + * Link: https://gitee.com/luckygyl/iconFonts + */ +layui.define(['laypage', 'form'], function (exports) { + "use strict"; + + var IconHhys =function () { + this.v = '1.0'; + }, _MOD = 'iconHhysFa', + _this = this, + $ = layui.jquery, + laypage = layui.laypage, + form = layui.form, + BODY = 'body', + TIPS = '请选择图标'; + + + /** + * 渲染组件 + */ + IconHhys.prototype.render = function (options) { + var opts = options, + // DOM选择器 + elem = opts.elem, + // 数据类型:fontClass/awesome + type = opts.type == null ? 'fontClass' : opts.type, + //当数据类型为awesome 的时候 需要配置 url + url = opts.url , + // 是否分页:true/false + page = opts.page == null ? true : opts.page, + // 每页显示数量 + limit = opts.limit == null ? 12 : opts.limit, + // 是否开启搜索:true/false + search = opts.search == null ? true : opts.search, + // 每个图标格子的宽度:'43px'或'20%' + cellWidth = opts.cellWidth == null ? '20%':opts.cellWidth, + // 点击回调 + click = opts.click, + // 渲染成功后的回调 + success = opts.success, + // json数据 + data = {}, + value = opts.value == null ? '' : opts.value, + // 唯一标识 + tmp = new Date().getTime(), + // 初始化时input的值 + ORIGINAL_ELEM_VALUE = value, + TITLE = 'layui-select-title', + TITLE_ID = 'layui-select-title-' + tmp, + ICON_BODY = 'layui-iconpicker-' + tmp, + PICKER_BODY = 'layui-iconpicker-body-' + tmp, + PAGE_ID = 'layui-iconpicker-page-' + tmp, + LIST_BOX = 'layui-iconpicker-list-box', + selected = 'layui-form-selected', + unselect = 'layui-unselect'; + + var a = { + init: function () { + if (type.indexOf("fontClass") > -1){ + data = common.getfont[type](); + }else{ + data = common.getData(url); + } + a.hideElem().createSelect().createBody().toggleSelect(); + a.preventEvent().inputListen(); + common.loadCss(); + if (success) { + success(this.successHandle()); + } + return a; + }, + successHandle: function () { + var d = { + options: opts, + data: data, + id: tmp, + elem: $('#' + ICON_BODY) + }; + return d; + }, + /** + * 隐藏elem + */ + hideElem: function () { + $(elem).hide(); + return a; + }, + /** + * 绘制select下拉选择框 + */ + createSelect: function () { + if (type.indexOf("fontClass") > -1){ + var oriIcon = ''; + + // 默认图标 + if(ORIGINAL_ELEM_VALUE === '') { + ORIGINAL_ELEM_VALUE = 'layui-icon-circle-dot'; + } + oriIcon = ''; + oriIcon += ''; + + var selectHtml = '
              ' + + '
              ' + + '
              '+ + '' + + oriIcon + + ''+ + '' + + '
              '+ + '
              ' + + '
              ' + + '123' + + '
              '; + $(elem).after(selectHtml); + return a; + }else{ + var oriIcon = ''; + // 默认图标 + if (ORIGINAL_ELEM_VALUE === '') { + ORIGINAL_ELEM_VALUE = 'fa-adjust'; + } + oriIcon = ''; + oriIcon += ''; + + var selectHtml = '
              ' + + '
              ' + + '
              ' + + '' + + oriIcon + + '' + + '' + + '
              ' + + '
              ' + + '
              ' + + '123' + + '
              '; + $(elem).after(selectHtml); + return a; + } + + }, + + /** + * 展开/折叠下拉框 + */ + toggleSelect: function () { + var item = '#' + TITLE_ID + ' .layui-iconpicker-item,#' + TITLE_ID + ' .layui-iconpicker-item .layui-edge'; + a.event('click', item, function (e) { + var $icon = $('#' + ICON_BODY); + if ($icon.hasClass(selected)) { + $icon.removeClass(selected).addClass(unselect); + } else { + // 隐藏其他picker + $('.layui-form-select').removeClass(selected); + // 显示当前picker + $icon.addClass(selected).removeClass(unselect); + } + e.stopPropagation(); + }); + return a; + + }, + + /** + * 绘制主体部分 + */ + createBody: function () { + // 获取数据 + var searchHtml = ''; + + if (search) { + searchHtml = ''; + } + // 组合dom + var bodyHtml = '
              ' + + searchHtml + + '
              '+ + '
              '; + $('#' + ICON_BODY).find('.layui-anim').eq(0).html(bodyHtml); + a.search().createList().check().page(); + return a; + }, + + + /** + * 绘制图标列表 + * @param text 模糊查询关键字 + * @returns {string} + */ + createList: function (text) { + var d = data, + l = d.length, + pageHtml = '', + listHtml = $('
              ')//'
              '; + + // 计算分页数据 + var _limit = limit, // 每页显示数量 + _pages = l % _limit === 0 ? l / _limit : parseInt(l / _limit + 1), // 总计多少页 + _id = PAGE_ID; + + // 图标列表 + var icons = []; + + for (var i = 0; i < l; i++) { + var obj = d[i]; + + // 判断是否模糊查询 + if (text && obj.indexOf(text) === -1) { + continue; + } + + // 是否自定义格子宽度 + var style = ''; + if (cellWidth !== null) { + style += ' style="width:' + cellWidth + '"'; + } + // 每个图标dom + var icon = '
              '; + + if(type.indexOf("fontClass") >-1){ + icon += ''; + }else { + icon += ''; + } + icon += '
              '; + + icons.push(icon); + } + + // 查询出图标后再分页 + l = icons.length; + _pages = l % _limit === 0 ? l / _limit : parseInt(l / _limit + 1); + for (var i = 0; i < _pages; i++) { + // 按limit分块 + var lm = $('
              '); + + for (var j = i * _limit; j < (i+1) * _limit && j < l; j++) { + lm.append(icons[j]); + } + listHtml.append(lm); + } + // 无数据 + if (l === 0) { + listHtml.append('

              无数据

              '); + } + // 判断是否分页 + if (page){ + $('#' + PICKER_BODY).addClass('layui-iconpicker-body-page'); + pageHtml = '
              ' + + '
              ' + + '1/' + + ''+ _pages +'' + + ' ('+ l +')' + + '
              ' + + '
              ' + + ' ' + + ' ' + + '
              ' + + '
              '; + } + + $('#' + ICON_BODY).find('.layui-anim').find('.' + LIST_BOX).html('').append(listHtml).append(pageHtml); + return a; + }, + // 阻止Layui的一些默认事件 + preventEvent: function() { + var item = '#' + ICON_BODY + ' .layui-anim'; + a.event('click', item, function (e) { + e.stopPropagation(); + }); + return a; + }, + + // 分页 + page: function () { + var icon = '#' + PAGE_ID + ' .layui-iconpicker-page-operate .layui-icon'; + + $(icon).unbind('click'); + a.event('click', icon, function (e) { + var elem = e.currentTarget, + total = parseInt($('#' +PAGE_ID + '-pages').html()), + isPrev = $(elem).attr('prev') !== undefined, + // 按钮上标的页码 + index = parseInt($(elem).attr('data-index')), + $cur = $('#' +PAGE_ID + '-current'), + // 点击时正在显示的页码 + current = parseInt($cur.html()); + + // 分页数据 + if (isPrev && current > 1) { + current=current-1; + $(icon + '[prev]').attr('data-index', current); + } else if (!isPrev && current < total){ + current=current+1; + $(icon + '[next]').attr('data-index', current); + } + $cur.html(current); + + // 图标数据 + $('#'+ ICON_BODY + ' .layui-iconpicker-icon-limit').hide(); + $('#layui-iconpicker-icon-limit-' + tmp + current).show(); + e.stopPropagation(); + }); + return a; + }, + /** + * 搜索 + */ + search: function () { + var item = '#' + PICKER_BODY + ' .layui-iconpicker-search .layui-input'; + a.event('input propertychange', item, function (e) { + var elem = e.target, + t = $(elem).val(); + a.createList(t); + }); + return a; + }, + /** + * 点击选中图标 + */ + check: function () { + if(type.indexOf("fontClass") >-1){ + var item = '#' + PICKER_BODY + ' .layui-iconpicker-icon-item'; + a.event('click', item, function (e) { + var el = $(e.currentTarget).find('.layui-icon'), + icon = ''; + + var clsArr = el.attr('class').split(/[\s\n]/), + cls = clsArr[1], + icon = cls; + $('#' + TITLE_ID).find('.layui-iconpicker-item .layui-icon').html('').attr('class', clsArr.join(' ')); + + + $('#' + ICON_BODY).removeClass(selected).addClass(unselect); + $(elem).val(icon).attr('value', icon); + // 回调 + if (click) { + click({ + icon: icon + }); + } + }); + }else{ + var item = '#' + PICKER_BODY + ' .layui-iconpicker-icon-item'; + a.event('click', item, function (e) { + var el = $(e.currentTarget).find('.fa'), + icon = ''; + + var clsArr = el.attr('class').split(/[\s\n]/), + cls = clsArr[1], + icon = cls; + $('#' + TITLE_ID).find('.layui-iconpicker-item .fa').html('').attr('class', clsArr.join(' ')); + + $('#' + ICON_BODY).removeClass(selected).addClass(unselect); + $(elem).val(icon).attr('value', icon); + // 回调 + if (click) { + click({ + icon: icon + }); + } + + }); + } + + return a; + + }, + + + // 监听原始input数值改变 + inputListen: function(){ + var el = $(elem); + a.event('change', elem, function(){ + var value = el.val(); + }) + // el.change(function(){ + + // }); + return a; + }, + event: function (evt, el, fn) { + $(BODY).on(evt, el, fn); + } + + }; + + + + var common = { + /** + * 加载样式表 + */ + loadCss: function () { + var css = '.layui-iconpicker {max-width: 280px;}.layui-iconpicker .layui-anim{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #d2d2d2;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);box-sizing:border-box;}.layui-iconpicker-item{border:1px solid #e6e6e6;width:90px;height:36px;border-radius:4px;cursor:pointer;position:relative;}.layui-iconpicker-icon{border-right:1px solid #e6e6e6;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;width:60px;height:100%;float:left;text-align:center;background:#fff;transition:all .3s;}.layui-iconpicker-icon i{line-height:38px;font-size:18px;}.layui-iconpicker-item > .layui-edge{left:70px;}.layui-iconpicker-item:hover{border-color:#D2D2D2!important;}.layui-iconpicker-item:hover .layui-iconpicker-icon{border-color:#D2D2D2!important;}.layui-iconpicker.layui-form-selected .layui-anim{display:block;}.layui-iconpicker-body{padding:6px;}.layui-iconpicker .layui-iconpicker-list{background-color:#fff;border:1px solid #ccc;border-radius:4px;}.layui-iconpicker .layui-iconpicker-icon-item{display:inline-block;width:21.1%;line-height:36px;text-align:center;cursor:pointer;vertical-align:top;height:36px;margin:4px;border:1px solid #ddd;border-radius:2px;transition:300ms;}.layui-iconpicker .layui-iconpicker-icon-item i.layui-icon{font-size:17px;}.layui-iconpicker .layui-iconpicker-icon-item:hover{background-color:#eee;border-color:#ccc;-webkit-box-shadow:0 0 2px #aaa,0 0 2px #fff inset;-moz-box-shadow:0 0 2px #aaa,0 0 2px #fff inset;box-shadow:0 0 2px #aaa,0 0 2px #fff inset;text-shadow:0 0 1px #fff;}.layui-iconpicker-search{position:relative;margin:0 0 6px 0;border:1px solid #e6e6e6;border-radius:2px;transition:300ms;}.layui-iconpicker-search:hover{border-color:#D2D2D2!important;}.layui-iconpicker-search .layui-input{cursor:text;display:inline-block;width:86%;border:none;padding-right:0;margin-top:1px;}.layui-iconpicker-search .layui-icon{position:absolute;top:11px;right:4%;}.layui-iconpicker-tips{text-align:center;padding:8px 0;cursor:not-allowed;}.layui-iconpicker-page{margin-top:6px;margin-bottom:-6px;font-size:12px;padding:0 2px;}.layui-iconpicker-page-count{display:inline-block;}.layui-iconpicker-page-operate{display:inline-block;float:right;cursor:default;}.layui-iconpicker-page-operate .layui-icon{font-size:12px;cursor:pointer;}.layui-iconpicker-body-page .layui-iconpicker-icon-limit{display:none;}.layui-iconpicker-body-page .layui-iconpicker-icon-limit:first-child{display:block;}'; + var $style = $('head').find('style[iconpicker]'); + if ($style.length === 0) { + $('head').append(''); + } + }, + /** + * 获取数据 + */ + getfont: { + fontClass: function () { + var arr = ["layui-icon-rate-half","layui-icon-rate","layui-icon-rate-solid","layui-icon-cellphone","layui-icon-vercode","layui-icon-login-wechat","layui-icon-login-qq","layui-icon-login-weibo","layui-icon-password","layui-icon-username","layui-icon-refresh-3","layui-icon-auz","layui-icon-spread-left","layui-icon-shrink-right","layui-icon-snowflake","layui-icon-tips","layui-icon-note","layui-icon-home","layui-icon-senior","layui-icon-refresh","layui-icon-refresh-1","layui-icon-flag","layui-icon-theme","layui-icon-notice","layui-icon-website","layui-icon-console","layui-icon-face-surprised","layui-icon-set","layui-icon-template-1","layui-icon-app","layui-icon-template","layui-icon-praise","layui-icon-tread","layui-icon-male","layui-icon-female","layui-icon-camera","layui-icon-camera-fill","layui-icon-more","layui-icon-more-vertical","layui-icon-rmb","layui-icon-dollar","layui-icon-diamond","layui-icon-fire","layui-icon-return","layui-icon-location","layui-icon-read","layui-icon-survey","layui-icon-face-smile","layui-icon-face-cry","layui-icon-cart-simple","layui-icon-cart","layui-icon-next","layui-icon-prev","layui-icon-upload-drag","layui-icon-upload","layui-icon-download-circle","layui-icon-component","layui-icon-file-b","layui-icon-user","layui-icon-find-fill","layui-icon-loading","layui-icon-loading-1","layui-icon-add-1","layui-icon-play","layui-icon-pause","layui-icon-headset","layui-icon-video","layui-icon-voice","layui-icon-speaker","layui-icon-fonts-del","layui-icon-fonts-code","layui-icon-fonts-html","layui-icon-fonts-strong","layui-icon-unlink","layui-icon-picture","layui-icon-link","layui-icon-face-smile-b","layui-icon-align-left","layui-icon-align-right","layui-icon-align-center","layui-icon-fonts-u","layui-icon-fonts-i","layui-icon-tabs","layui-icon-radio","layui-icon-circle","layui-icon-edit","layui-icon-share","layui-icon-delete","layui-icon-form","layui-icon-cellphone-fine","layui-icon-dialogue","layui-icon-fonts-clear","layui-icon-layer","layui-icon-date","layui-icon-water","layui-icon-code-circle","layui-icon-carousel","layui-icon-prev-circle","layui-icon-layouts","layui-icon-util","layui-icon-templeate-1","layui-icon-upload-circle","layui-icon-tree","layui-icon-table","layui-icon-chart","layui-icon-chart-screen","layui-icon-engine","layui-icon-triangle-d","layui-icon-triangle-r","layui-icon-file","layui-icon-set-sm","layui-icon-add-circle","layui-icon-404","layui-icon-about","layui-icon-up","layui-icon-down","layui-icon-left","layui-icon-right","layui-icon-circle-dot","layui-icon-search","layui-icon-set-fill","layui-icon-group","layui-icon-friends","layui-icon-reply-fill","layui-icon-menu-fill","layui-icon-log","layui-icon-picture-fine","layui-icon-face-smile-fine","layui-icon-list","layui-icon-release","layui-icon-ok","layui-icon-help","layui-icon-chat","layui-icon-top","layui-icon-star","layui-icon-star-fill","layui-icon-close-fill","layui-icon-close","layui-icon-ok-circle","layui-icon-add-circle-fine"]; + return arr; + } + }, + /** + * 获取数据 + */ + getData: function (url) { + var iconlist = []; + $.ajax({ + url: url, + type: 'get', + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + async: false, + success: function (ret) { + var exp = /fa-var-(.*):/ig; + var result; + while ((result = exp.exec(ret)) != null) { + iconlist.push('fa-' + result[1]); + } + }, + error: function (xhr, textstatus, thrown) { + layer.msg('fa图标接口有误'); + } + }); + return iconlist; + } + + }; + + a.init(); + return new IconHhys(); + + } + + /** + * 选中图标 + * @param filter lay-filter + * @param iconName 图标名称,自动识别fontClass/unicode + */ + /** IconHhys.prototype.checkIcon = function (filter, iconName){ + var el = $('*[lay-filter='+ filter +']'), + p = el.next().find('.layui-iconpicker-item .layui-icon'), + c = iconName; + if (c.indexOf('#xe') > -1){ + p.html(c); + } else { + p.html('').attr('class', 'layui-icon ' + c); + } + el.attr('value', c).val(c); + };*/ + + + + /** + * 选中图标auwosome + * @param filter lay-filter + * @param iconName 图标名称,自动识别fontClass/unicode + */ + /** IconHhys.prototype.checkAwesome = function (filter, iconName) { + var el = $('*[lay-filter=' + filter + ']'), + p = el.next().find('.layui-iconpicker-item .fa'), + c = iconName; + + if (c.indexOf('#xe') > 0) { + p.html(c); + } else { + p.html('').attr('class', 'fa ' + c); + } + el.attr('value', c).val(c); + };*/ + + + var iconHhys = new IconHhys(); + exports(_MOD, iconHhys); +}); \ No newline at end of file diff --git a/templates/admin/403.php b/templates/admin/403.php new file mode 100755 index 0000000..4c579a8 --- /dev/null +++ b/templates/admin/403.php @@ -0,0 +1,28 @@ + + + + + 403 error + + + + + + + +
              +
              +
              +
              +

              403 error

              +
              +
              + +
              +
              + +
              +
              +
              + + diff --git a/templates/admin/add_category.php b/templates/admin/add_category.php new file mode 100755 index 0000000..b6ebf5b --- /dev/null +++ b/templates/admin/add_category.php @@ -0,0 +1,110 @@ + + + +
              + +
              + +
              +
              +

              1. 关于字体图标的说明请参考帮助文档:https://dwz.ovh/7nr1f

              +

              2. 权重越大,排序越靠前

              +
              +
              + +
              +
              +
              + +
              + +
              +
              + +
              + +
              + +
              +
              + 图标对照表可参考:FontAwesome4 +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              + + +
              + +
              + +
              +
              私有分类下的链接需要登录后才能查看。
              +
              + +
              + +
              + +
              +
              +
              + + +
              +
              +
              + +
              + +
              + + + \ No newline at end of file diff --git a/templates/admin/add_link.php b/templates/admin/add_link.php new file mode 100755 index 0000000..e39a910 --- /dev/null +++ b/templates/admin/add_link.php @@ -0,0 +1,108 @@ + + + +
              + +
              + +
              +
              +

              1. 权重越大,排序越靠前

              +

              2. 识别功能可以自动获取链接标题和描述信息,但不确保一定成功

              +
              +
              + +
              +
              +
              + +
              + +
              +
              + +
              +
              + +
              + +
              +
              + + +
              + +
              + + + +
              + +
              + +
              图标最小尺寸建议为 64 * 64像素,大小不超过100KB,仅部分主题支持自定义图标!
              +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              +
              + + +
              + +
              + +
              +
              私有链接需要登录后才能查看!
              +
              + +
              + +
              + +
              +
              +
              + + + 识别 + +
              + +
              + +
              + +
              + + \ No newline at end of file diff --git a/templates/admin/add_link_tpl.php b/templates/admin/add_link_tpl.php new file mode 100755 index 0000000..650571b --- /dev/null +++ b/templates/admin/add_link_tpl.php @@ -0,0 +1,82 @@ + + + + + + OneNav后台管理 + + + + +
              + +
              +
              +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              +
              + + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              +
              +
              + + + 识别 + +
              +
              +
              +
              +
              + +
              + + + + + + + \ No newline at end of file diff --git a/templates/admin/add_quick_tpl.php b/templates/admin/add_quick_tpl.php new file mode 100755 index 0000000..135dfee --- /dev/null +++ b/templates/admin/add_quick_tpl.php @@ -0,0 +1,118 @@ + + + + + + + + + + + + 快速添加 + + + + +
              +
              + 快速添加链接到OneNav +
              +
              +
              + +
              +
              + +
              + +
              + +
              +
              +
              + 权重 + +
              +
              + 是否私有 + +
              +
              +
              + +
              +
              + + +
              + +
              +
              + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/admin/category_list.php b/templates/admin/category_list.php new file mode 100755 index 0000000..7efc6f4 --- /dev/null +++ b/templates/admin/category_list.php @@ -0,0 +1,92 @@ + + + +
              + +
              + +
              +
              +

              1. 注意:当分类下存在链接时,此分类不允许删除,如果需要删除分类请先前往【我的链接】删除此分类下的所有链接后再操作!

              +
              +
              + +
              +
              +
              + + + + + +
              + +
              + + + + \ No newline at end of file diff --git a/templates/admin/click.php b/templates/admin/click.php new file mode 100755 index 0000000..cb474fe --- /dev/null +++ b/templates/admin/click.php @@ -0,0 +1,169 @@ + + + + + <?php echo $link['title']; ?> - <?php echo $site['title']; ?> + + + + + + + + + + + + +
              + +
              +
              + +
              +
              + +
              + +
              +

              +
              + + +
              + +
              + + +
              + +
              +
              + +
              +
              + + +
              + + diff --git a/templates/admin/edit_category.php b/templates/admin/edit_category.php new file mode 100755 index 0000000..077faca --- /dev/null +++ b/templates/admin/edit_category.php @@ -0,0 +1,143 @@ + + + +
              + +
              + +
              +
              +

              1. 关于字体图标的说明请参考帮助文档:https://dwz.ovh/7nr1f

              +

              2. 权重越大,排序越靠前

              +
              +
              + +
              +
              + +
              + +
              + ' placeholder="请输入分类名称" autocomplete="off" class="layui-input"> +
              +
              + +
              + +
              + +
              +
              + + + +
              + +
              + +
              +
              + 图标对照表可参考:FontAwesome4 +
              +
              + +
              + +
              + +
              +
              + + +
              + +
              + lay-text="是|否"> +
              +
              私有分类下的链接需要登录后才能查看。
              +
              + +
              + +
              + +
              +
              +
              + + +
              +
              +
              + +
              + + +
              + + + \ No newline at end of file diff --git a/templates/admin/edit_category_new.php b/templates/admin/edit_category_new.php new file mode 100755 index 0000000..03b5ed4 --- /dev/null +++ b/templates/admin/edit_category_new.php @@ -0,0 +1,140 @@ + +
              + +
              + +
              +
              +

              1. 关于字体图标的说明请参考帮助文档:https://dwz.ovh/7nr1f

              +

              2. 权重越大,排序越靠前

              +
              +
              + +
              +
              + +
              + +
              + ' placeholder="请输入分类名称" autocomplete="off" class="layui-input"> +
              +
              + +
              + +
              + +
              +
              + + + +
              + +
              + +
              +
              + 图标对照表可参考:FontAwesome4 +
              +
              + +
              + +
              + +
              +
              + + +
              + +
              + lay-text="是|否"> +
              +
              私有分类下的链接需要登录后才能查看。
              +
              + +
              + +
              + +
              +
              +
              + + +
              +
              +
              + +
              + + +
              + + \ No newline at end of file diff --git a/templates/admin/edit_link.php b/templates/admin/edit_link.php new file mode 100755 index 0000000..85a71cd --- /dev/null +++ b/templates/admin/edit_link.php @@ -0,0 +1,126 @@ + + + +
              + +
              + +
              +
              +

              1. 权重越大,排序越靠前

              +

              2. 识别功能可以自动获取链接标题和描述信息,但不确保一定成功

              +
              +
              + +
              +
              + +
              + +
              + +
              +
              + + +
              + +
              + +
              + +
              +
              + + +
              + +
              + + + +
              + +
              + +
              图标最小尺寸建议为 64 * 64像素,大小不超过100KB,仅部分主题支持自定义图标!
              +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              +
              + + +
              + +
              + lay-text="是|否"> +
              +
              私有链接需要登录后才能查看!
              +
              + +
              + +
              + +
              +
              +
              + + + 识别 + +
              + +
              + +
              + +
              + + + + \ No newline at end of file diff --git a/templates/admin/edit_link_new.php b/templates/admin/edit_link_new.php new file mode 100755 index 0000000..e1d26b8 --- /dev/null +++ b/templates/admin/edit_link_new.php @@ -0,0 +1,123 @@ + + +
              + +
              + +
              +
              +

              1. 权重越大,排序越靠前

              +

              2. 识别功能可以自动获取链接标题和描述信息,但不确保一定成功

              +
              +
              + +
              +
              + +
              + +
              + +
              +
              + + +
              + +
              + +
              + +
              +
              + + +
              + +
              + + + +
              + +
              + +
              图标最小尺寸建议为 64 * 64像素,大小不超过100KB,仅部分主题支持自定义图标!
              +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              +
              + + +
              + +
              + lay-text="是|否"> +
              +
              私有链接需要登录后才能查看!
              +
              + +
              + +
              + +
              +
              +
              + + + 识别 + +
              + +
              + +
              + +
              + + \ No newline at end of file diff --git a/templates/admin/ext_js.php b/templates/admin/ext_js.php new file mode 100755 index 0000000..ea9e5a5 --- /dev/null +++ b/templates/admin/ext_js.php @@ -0,0 +1,27 @@ + + + +
              + +
              +
              +
              + +
              + + +
              +
              +
              + + +
              +
              +
              +
              + +
              + +
              + + \ No newline at end of file diff --git a/templates/admin/footer.php b/templates/admin/footer.php new file mode 100755 index 0000000..83875ff --- /dev/null +++ b/templates/admin/footer.php @@ -0,0 +1,7 @@ + +
              + + \ No newline at end of file diff --git a/templates/admin/header.php b/templates/admin/header.php new file mode 100755 index 0000000..444b91c --- /dev/null +++ b/templates/admin/header.php @@ -0,0 +1,44 @@ + + + + + + + + OneNav后台管理 + + + + + + + + + + +
              + \ No newline at end of file diff --git a/templates/admin/imp_link.php b/templates/admin/imp_link.php new file mode 100755 index 0000000..711f8ef --- /dev/null +++ b/templates/admin/imp_link.php @@ -0,0 +1,63 @@ + + + +
              + +
              +
              +
              +
                +
              1. 仅支持 .html 格式导入,导入时会自动创建不存在的分类,使用前请参考帮助文档
              2. +
              3. 导入前,建议先备份数据库
              4. +
              5. 导入会自动去除重复的链接!
              6. +
              +
              + +
              + +

              点击上传,或将书签拖拽到此处

              +
              +
              + 上传成功后渲染 +
              +
              + +
              +
              + +
              + +
              +
              + + +
              + +
              + +
              +
              + +
              + +
              +
              +
              + +
              + +
              + + \ No newline at end of file diff --git a/templates/admin/index.html b/templates/admin/index.html new file mode 100755 index 0000000..0519ecb --- /dev/null +++ b/templates/admin/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/admin/index.php b/templates/admin/index.php new file mode 100755 index 0000000..bc78793 --- /dev/null +++ b/templates/admin/index.php @@ -0,0 +1,111 @@ + + + + +
              + +
              +
              +
              + +
              +
              +

              当前版本

              +

              + + + +

              +
              +
              + +
              +
              +

              最新版本

              +

              + +

              +
              +
              + +
              +
              +

              交流群

              +

              + https://dwz.ovh/qxsul +

              +
              +
              + +
              +
              +

              社区支持

              +

              + https://dwz.ovh/vd0bw +

              +
              +
              + +
              + +
              + +
              +
              +

              帮助文档

              +

              https://dwz.ovh/onenav

              +
              +
              + +
              +
              +

              作者博客

              +

              + https://blog.xiaoz.org/ +

              +
              +
              + +
              +
              +

              购买订阅

              +

              + https://dwz.ovh/69h9q +

              +
              +
              + +
              +
              +

              Chrome浏览器扩展

              +

              + https://dwz.ovh/4kxn2 +

              +
              +
              + + +
              +

              日志输出:

              +
              + +
              + +
              + + +
              +
              +
              +
              + + + diff --git a/templates/admin/init.php b/templates/admin/init.php new file mode 100755 index 0000000..753aaa0 --- /dev/null +++ b/templates/admin/init.php @@ -0,0 +1,65 @@ + + + + + 初始化OneNav用户名/密码 + + + + + + + + + + + +
              +
              + +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              +
              +
              + + + + + + + \ No newline at end of file diff --git a/templates/admin/left.php b/templates/admin/left.php new file mode 100755 index 0000000..a4e2b8d --- /dev/null +++ b/templates/admin/left.php @@ -0,0 +1,52 @@ + \ No newline at end of file diff --git a/templates/admin/link_list.php b/templates/admin/link_list.php new file mode 100755 index 0000000..a409f1e --- /dev/null +++ b/templates/admin/link_list.php @@ -0,0 +1,261 @@ + + + +
              + +
              + +
              +
              +
              + +
              +
              + +
              +
              + +
              +
              + +
              + + +
              +
              + +
              +
              + +
              +
              + + +
              +
              +
              + +
              + + + + +
              + + + + +
              + +
              + + + \ No newline at end of file diff --git a/templates/admin/login.old.php b/templates/admin/login.old.php new file mode 100755 index 0000000..9156465 --- /dev/null +++ b/templates/admin/login.old.php @@ -0,0 +1,63 @@ + + + + + OneNav后台登录 + + + + + + + + + + + +
              +
              + +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              +
              + +
              + +
              + +
              + +
              + + +
              +
              +
              +
              + + + + + + + \ No newline at end of file diff --git a/templates/admin/login.php b/templates/admin/login.php new file mode 100644 index 0000000..46594b9 --- /dev/null +++ b/templates/admin/login.php @@ -0,0 +1,104 @@ + + + + + + + + + + + OneNav管理员登录 + + + + +
              +
              + +
              +
              + +

              OneNav后台管理系统

              + +
              +
              +
              + +

              OneNav

              +
              +
              + 用户名 + +
              +
              + 用户密码 + +
              +
              + +
              +
              + +
              + + + + + + + \ No newline at end of file diff --git a/templates/admin/s_header.php b/templates/admin/s_header.php new file mode 100755 index 0000000..125c57f --- /dev/null +++ b/templates/admin/s_header.php @@ -0,0 +1,17 @@ + + + + + + + + OneNav后台管理 + + + + + + + + + \ No newline at end of file diff --git a/templates/admin/setting/api.php b/templates/admin/setting/api.php new file mode 100644 index 0000000..9696ebe --- /dev/null +++ b/templates/admin/setting/api.php @@ -0,0 +1,59 @@ + + + + +
              + +
              + +
              +
              + API使用说明,请参考:https://dwz.ovh/viot5 +
              +
              + +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              + +
              + +
              + +
              + +
              + +
              + +
              + + + +
              + +
              +
              +
              +
              + + \ No newline at end of file diff --git a/templates/admin/setting/backup.php b/templates/admin/setting/backup.php new file mode 100644 index 0000000..0a3d3ea --- /dev/null +++ b/templates/admin/setting/backup.php @@ -0,0 +1,194 @@ + + + + +
              + +
              + +
              +
              +
                +
              1. 订阅用户可以对数据库进行本地备份和回滚
              2. +
              3. 备份数据库仅保存最近10份数据
              4. +
              5. 该功能仅辅助备份使用,无法确保100%数据安全,因此定期对整个站点打包备份仍然是必要的
              6. +
              7. 如果您需要迁移数据,步骤为:立即备份 > 下载备份到本地 > 新安装OneNav > 上传备份 > 回滚
              8. +
              +
              +
              + +
              + +
              + + + + + + + + + + +
              + +
              + + +
              + + +
              +
              + + + + + \ No newline at end of file diff --git a/templates/admin/setting/share.php b/templates/admin/setting/share.php new file mode 100644 index 0000000..e039652 --- /dev/null +++ b/templates/admin/setting/share.php @@ -0,0 +1,259 @@ + + + + +
              + +
              + +
              +
              +
                +
              1. 订阅用户可以对指定分类下的书签进行分享
              2. +
              3. 比如:您可以将某个私有分类通过设置密码的方式分享给您的好友
              4. +
              5. 若密码留空,则不需要密码也能访问
              6. +
              7. 分享支持删除操作(浏览器全屏才能查看到)
              8. +
              +
              +
              + + + +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              +
              +
              + +
              + +
              + +
              +
              + +
              + +
              +
              + + 更换密码 + +
              +
              + + +
              +
              + +
              + + + + + + + + +
              +
              +
              +
              + + + + + \ No newline at end of file diff --git a/templates/admin/setting/site.php b/templates/admin/setting/site.php new file mode 100644 index 0000000..634bb78 --- /dev/null +++ b/templates/admin/setting/site.php @@ -0,0 +1,100 @@ + + + + +
              + +
              + +
              +
              + 站点设置使用说明,请参考:https://dwz.ovh/un5rz +
              +
              + +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              输入相对路径或者将logo上传到图床,然后粘贴URL,仅部分主题支持logo
              +
              + +
              + +
              + +
              +
              + + +
              + +
              + +
              +
              + +
              + +
              + + + + + + + +
              +
              开启直链模式后将直接打开目标地址,不二次跳转,仅部分主题支持!
              +
              + +
              + +
              + +
              +
              指的是首页单个分类下需要展示的链接数量,默认30,值越低,性能越好
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              +
              +
              + + \ No newline at end of file diff --git a/templates/admin/setting/subscribe.php b/templates/admin/setting/subscribe.php new file mode 100644 index 0000000..b6e2548 --- /dev/null +++ b/templates/admin/setting/subscribe.php @@ -0,0 +1,251 @@ + + + + +
              + +
              + +
              +
              +
                +
              1. 您可以前往:https://dwz.ovh/69h9q 购买订阅服务,订阅后可以:
              2. +
              3. 1. 享受一键更新OneNav
              4. +
              5. 2. 可在线下载和更新主题
              6. +
              7. 3. 可享受一对一售后服务(仅限高级版和商业版)
              8. +
              9. 4. 可帮助OneNav持续发展,让OneNav变得更加美好
              10. +
              11. 5. 更多高级功能(自定义版权、广告管理等)
              12. +
              13. 6. 数据库备份
              14. +
              +
              +
              +

              1. 系统检测到您的域名为,购买订阅时请填写此域名!

              +

              2. 若域名填写错误或更换域名,请前往https://www.onenav.top/msub.html修改订阅!

              + +
              +
              + + +
              +

              我的订阅:

              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              + + + +
              + +
              + " autocomplete="off" placeholder="订阅到期时间" class="layui-input"> +
              +
              + +
              + + + 购买订阅 +
              + +
              +
              + +
              +
              + +
              + +
              +
              + +
              + +
              + +
              + +
              +
              +
              + + +
              +
              + + + 更新失败? +
              + +
              +
              +
              +
              +
              +
              + +
              + + +
              +
              +
              +

              日志输出:

              +
              +
              +
              +
              +
              + +
              +
              + + + + + \ No newline at end of file diff --git a/templates/admin/setting/theme.php b/templates/admin/setting/theme.php new file mode 100644 index 0000000..3e9d50c --- /dev/null +++ b/templates/admin/setting/theme.php @@ -0,0 +1,248 @@ + + + +
              + +
              + +
              +
              +

              1. 主题更换及设置说明,请参考:https://dwz.ovh/yoyaf

              +

              2. 主题本身不收取费用,但为了分摊服务器存储和带宽成本,主题下载和更新需要订阅用户才能使用,敬请谅解!订阅地址:https://dwz.ovh/69h9q

              +

              3. 部分主题来自其它开源项目,OneNav仅做适配,主题版权归原作者所有

              +

              4. 主题提交请联系QQ:446199062

              +
              +
              + +
              +
              + + + + $theme) { + //var_dump($theme['info']->name); + ?> +
              +
              +
              + - version ?> + + (使用中) + +
              +
              + +

              + +
              +
              +
              + + + + + 预览 + +
              +
              + +
              +
              +
              + + + +
              +
              +
              + +
              +

              在线主题:

              +
              + $theme) { + //var_dump($theme['info']->name); + ?> + + +
              +
              +
              + - version ?> +
              +
              + +
              +

              +
              + +
              +
              +
              + + 查看演示 +
              +
              + +
              +
              +
              + + +
              +
              + +
              +
              + + \ No newline at end of file diff --git a/templates/admin/setting/theme_config.php b/templates/admin/setting/theme_config.php new file mode 100644 index 0000000..b765862 --- /dev/null +++ b/templates/admin/setting/theme_config.php @@ -0,0 +1,83 @@ + + + + + + OneNav后台管理 + + + + +
              + +
              +
              + 主题自定义参数设置,请参考:https://dwz.ovh/gnae4,如果您不清楚,请勿修改。 +
              +
              + +
              +
              +
              + +
              + +
              +
              + + $config) { + //如果config.json获取到的数据是空的,则读取info.json + $value = empty( $current_configs->$key ) ? $config : $current_configs->$key; + ?> +
              + +
              + +
              +
              + + +
              + +
              +
              +
              +
              + + + + + \ No newline at end of file diff --git a/templates/admin/setting/theme_detail.php b/templates/admin/setting/theme_detail.php new file mode 100644 index 0000000..9316463 --- /dev/null +++ b/templates/admin/setting/theme_detail.php @@ -0,0 +1,30 @@ + + + + + + OneNav后台管理 + + + + +
              +
              +
              + +
              +
              +
              +
              +

              name; ?>

              +

              描述:description; ?>

              +

              版本:version; ?>

              +

              更新时间:update; ?>

              +

              作者:author; ?>

              +

              使用说明:help_url; ?>

              +

              主页:homepage; ?>

              +
              +
              +
              + + \ No newline at end of file diff --git a/templates/admin/setting/transition_page.php b/templates/admin/setting/transition_page.php new file mode 100644 index 0000000..ba898b4 --- /dev/null +++ b/templates/admin/setting/transition_page.php @@ -0,0 +1,79 @@ + + + + +
              + +
              + +
              +
              + 过渡页使用说明,请参考:https://dwz.ovh/mrkx1 +
              +
              + +
              +
              + +
              + +
              + title="关闭"> + title="开启"> +
              +
              + +
              + +
              + +
              +
              访客停留时间,单位秒
              +
              + +
              + +
              + +
              +
              管理员停留时间,单位秒
              +
              + +
              + +
              + +
              +
              + + + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              + +
              + +
              + +
              +
              +
              +
              + + \ No newline at end of file diff --git a/templates/admin/static/add_quick_tpl.css b/templates/admin/static/add_quick_tpl.css new file mode 100755 index 0000000..f280c1c --- /dev/null +++ b/templates/admin/static/add_quick_tpl.css @@ -0,0 +1,168 @@ +/* + * BaiSu + * 1099116749@qq.com + */ + @charset "utf-8"; + * { + padding: 0; + margin: 0; + font-family: "microsoft yahei", Arial, 'PingFang SC', SimHei, SimSun; + box-sizing: border-box; + font-size: 14px; + } + input:focus, + button:focus { + outline: none; + } + + textarea:focus { + outline: none; + } + + input {} + + body { + background-color: #f2f3fa; + } + + img { + border: none; + } + + li { + list-style: none; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + font-weight: normal; + } + + a { + color: inherit; + text-decoration: none; + } + + .cl { + clear: both; + } + + /*快速添加页面*/ + /*边距调整*/ + .layui-form, + .layui-unselect, + .layui-unselect *{ + box-sizing: content-box; + } + .quick-main{ + width: 360px; + height: 420px; + margin: auto; + padding: 20px; + background-color: white; + border-radius: 10px; + } + .quick-main .title{ + width: 100%; + display: flex; + justify-content: flex-start; + line-height: 45px; + font-weight: bold; + font-size: 15px; + margin-bottom: 10px; + } + .quick-main .title i{ + display: block; + margin-top: 1px; + line-height: 45px; + font-size: 22px; + margin-right: 6px; + color: #3b75fb; + } + .quick-main .list{ + width: 100%; + margin-bottom: 15px; + } + .quick-main .list input{ + width: 100%; + padding: 0 12px; + height: 38px; + border-radius: 6px; + color: #1c2a39; + background-color: #f2f3fa; + border: none; + font-size: 13px; + } + .quick-main .list textarea{ + width: 100%; + padding: 12px; + height: 80px; + border-radius: 6px; + color: #1c2a39; + background-color: #f2f3fa; + border: none; + font-size: 13px; + } + /**/ + .quick-main .layui-form-select dl dd.layui-this{ + background-color: #3b75fb; + color: white; + } + .quick-main .layui-form-select dl{ + padding: 0 0; + } + .quick-main .list-2{ + display: flex; + justify-content: space-between; + } + .quick-main .list-2 .li{ + width: 48%; + border-radius: 6px; + display: flex; + justify-content: flex-start; + padding: 0 12px; + line-height: 38px; + color: #1c2a39; + background-color: #f2f3fa; + font-size: 13px; + } + .quick-main .list-2 .li .layui-unselect{ + margin-left: 10px; + } + .quick-main .list-2 input[type=text]{ + width: 70%; + margin-left: 10px; + } + .quick-main .layui-form-onswitch { + border-color: #3b75fb; + background-color: #3b75fb; + } + + .quick-main .list-3{ + display: flex; + justify-content: space-between; + } + .quick-main .list-3 button{ + width: 48%; + background-color: #3b75fb; + color: white; + height: 38px; + border: none; + border-radius: 6px; + cursor: pointer; + transition: 0.3 all; + } + .quick-main .list-3 button.close{ + color: #1c2a39; + background-color: #f2f3fa; + } + .quick-main .list-3 button:hover{ + box-shadow: 0px 0px 5px #CCCCCC; + opacity: .7; + transition: 0.3 all; + } + \ No newline at end of file diff --git a/templates/admin/static/bg.jpg b/templates/admin/static/bg.jpg new file mode 100755 index 0000000..ef15fab Binary files /dev/null and b/templates/admin/static/bg.jpg differ diff --git a/templates/admin/static/css/link.css b/templates/admin/static/css/link.css new file mode 100644 index 0000000..a85702b --- /dev/null +++ b/templates/admin/static/css/link.css @@ -0,0 +1 @@ +*{margin:0;padding:0}.root{position:absolute;width:100vw;height:100%;background:#292929;border-radius:0px 0px 0px 0px;display:flex;align-items:center;justify-content:center}.root>h2{position:absolute;top:20px;left:20px;color:#fff}.info-box{margin:30px;width:700px;transition:all .5s;background:#f1f1f1;border-radius:16px 16px 16px 16px;opacity:1;padding:30px}.info-box>h3{font-size:26px;font-family:OPPOSans-Bold, OPPOSans;font-weight:bold;color:#000000;line-height:34px}.info-box>ul{margin-top:20px;list-style:none}.info-box>ul>li{margin-top:30px;display:flex}.info-box>ul>li>span:nth-child(1){flex-shrink:0;width:120px;height:34px;font-size:24px;font-family:Source Han Sans CN-Bold, Source Han Sans CN;font-weight:bold;color:#232323;line-height:34px}.info-box>ul>li>span:nth-child(2),.info-box>ul>li>div{width:100%;display:flex;margin-left:50px;font-size:24px;font-family:Source Han Sans CN-Regular, Source Han Sans CN;font-weight:400;color:#232323;line-height:34px}footer{width:100%;position:absolute;z-index:9;bottom:10px;display:flex;font-size:12px;align-items:center;justify-content:center;color:#9e9e9e}footer>img{margin-right:5px;width:20px;height:20px}[link]{display:flex;align-items:center}[link]>a{max-width:calc(100% - 140px);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#0676d1 !important}[tips]{font-size:20px;font-family:Source Han Sans CN-Regular, Source Han Sans CN;font-weight:400;color:#464646 !important;line-height:34px}.next{margin-top:30px;display:flex;justify-content:flex-end}.next>button{width:96px;height:48px;background:#0088ea;border:none;border-radius:8px 8px 8px 8px;opacity:1;font-family:Source Han Sans CN-Regular, Source Han Sans CN;font-weight:400;color:#ffffff;line-height:24px;transition:all 0.3s}.next>button:hover{background-color:#3a96e2}.load{display:none}.load>span{position:relative;top:-2px}.loads{position:relative;top:4px;display:inline-block;width:20px;height:20px;animation:ss 2s linear infinite}@keyframes ss{to{transform:rotate(0deg)}from{transform:rotate(-360deg)}}.copy{margin-left:10px;position:relative;height:24px}.copy>svg{pointer-events:none}@media screen and (max-width: 800px){.info-box{width:calc(100vw - 30px) !important}.info-box>h3{font-size:16px;font-family:OPPOSans-Bold, OPPOSans;font-weight:bold;color:#000000;line-height:34px}.info-box>ul{margin-top:20px;list-style:none}.info-box>ul>li{margin-top:10px;display:flex}.info-box>ul>li>span:nth-child(1){flex-shrink:0;width:70px;height:34px;font-size:14px;font-family:Source Han Sans CN-Bold, Source Han Sans CN;font-weight:bold;color:#232323}.info-box>ul>li>span:nth-child(2),.info-box>ul>li>div{width:100%;max-height:60px;text-overflow:ellipsis;overflow:hidden;display:flex;margin-left:15px !important;font-size:14px;line-height:20px;font-family:Source Han Sans CN-Regular, Source Han Sans CN;font-weight:400;color:#232323;align-items:center}[link]{display:flex;align-items:center}[link]>a{max-width:calc(100% - 40px) !important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#0676d1 !important}.next{margin-top:30px;display:flex;justify-content:flex-end}.next>button{width:96px;height:35px;background:#0088ea;border:none;border-radius:8px 8px 8px 8px;opacity:1;font-weight:400;color:#ffffff;line-height:24px;transition:all 0.3s}.next>button:hover{background-color:#3a96e2}} diff --git a/templates/admin/static/css/link.scss b/templates/admin/static/css/link.scss new file mode 100644 index 0000000..5b0147b --- /dev/null +++ b/templates/admin/static/css/link.scss @@ -0,0 +1,236 @@ +* { + margin: 0; + padding: 0; +} + +.root { + position: absolute; + width: 100vw; + height:100%; + background: #292929; + border-radius: 0px 0px 0px 0px; + display: flex; + align-items: center; + justify-content: center; + > h2 { + position: absolute; + top: 20px; + left: 20px; + color: #fff; + } +} +.info-box { + margin: 30px; + width: 700px; + transition: all .5s; + background: #f1f1f1; + border-radius: 16px 16px 16px 16px; + opacity: 1; + padding: 30px; + > h3 { + font-size: 26px; + font-family: OPPOSans-Bold, OPPOSans; + font-weight: bold; + color: #000000; + line-height: 34px; + } + > ul { + margin-top: 20px; + list-style: none; + > li { + margin-top: 30px; + display: flex; + > span:nth-child(1) { + flex-shrink: 0; + width: 120px; + height: 34px; + font-size: 24px; + font-family: Source Han Sans CN-Bold, Source Han Sans CN; + font-weight: bold; + color: #232323; + line-height: 34px; + } + > span:nth-child(2), + > div { + width: 100%; + display: flex; + margin-left: 50px; + font-size: 24px; + font-family: Source Han Sans CN-Regular, Source Han Sans CN; + font-weight: 400; + color: #232323; + line-height: 34px; + } + } + } +} + +footer { + width: 100%; + position: absolute; + z-index: 9; + bottom: 10px; + display: flex; + font-size: 12px; + align-items: center; + justify-content: center; + color: #9e9e9e; + > img { + margin-right: 5px; + width: 20px; + height: 20px; + } +} + +[link] { + display: flex; + align-items: center; + > a { + max-width: calc(100% - 140px); + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + color: #0676d1 !important; + } +} + +[tips] { + font-size: 20px; + font-family: Source Han Sans CN-Regular, Source Han Sans CN; + font-weight: 400; + color: #464646 !important; + line-height: 34px; +} + +.next { + margin-top: 30px; + display: flex; + justify-content: flex-end; + > button { + width: 96px; + height: 48px; + background: #0088ea; + border: none; + border-radius: 8px 8px 8px 8px; + opacity: 1; + font-family: Source Han Sans CN-Regular, Source Han Sans CN; + font-weight: 400; + color: #ffffff; + line-height: 24px; + transition: all 0.3s; + &:hover { + background-color: #3a96e2; + } + } +} + +.load { + display: none; + > span { + position: relative; + top: -2px; + } +} +.loads { + position: relative; + top: 4px; + display: inline-block; + width: 20px; + height: 20px; + animation: ss 2s linear infinite; +} +@keyframes ss { + to { + transform: rotate(0deg); + } + from { + transform: rotate(-360deg); + } +} + +.copy { + margin-left: 10px; + position: relative; + height: 24px; + > svg { + pointer-events: none; + } +} + +@media screen and (max-width: 800px) { + .info-box { + width: calc(100vw - 30px) !important; + // min-width: 376px; + > h3 { + font-size: 16px; + font-family: OPPOSans-Bold, OPPOSans; + font-weight: bold; + color: #000000; + line-height: 34px; + } + > ul { + margin-top: 20px; + list-style: none; + > li { + margin-top: 10px; + display: flex; + > span:nth-child(1) { + flex-shrink: 0; + width: 70px; + height: 34px; + font-size: 14px; + font-family: Source Han Sans CN-Bold, Source Han Sans CN; + font-weight: bold; + color: #232323; + } + > span:nth-child(2), + > div { + width: 100%; + max-height: 60px; + text-overflow: ellipsis; + overflow: hidden; + display: flex; + margin-left: 15px !important; + font-size: 14px; + line-height: 20px; + font-family: Source Han Sans CN-Regular, Source Han Sans CN; + font-weight: 400; + color: #232323; + align-items: center; + } + } + } + } + [link] { + display: flex; + align-items: center; + > a { + max-width: calc(100% - 40px) !important; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + color: #0676d1 !important; + } + } + .next { + margin-top: 30px; + display: flex; + justify-content: flex-end; + > button { + width: 96px; + height: 35px; + background: #0088ea; + border: none; + border-radius: 8px 8px 8px 8px; + opacity: 1; + font-weight: 400; + color: #ffffff; + line-height: 24px; + transition: all 0.3s; + &:hover { + background-color: #3a96e2; + } + } + } + +} diff --git a/templates/admin/static/css/new.css b/templates/admin/static/css/new.css new file mode 100644 index 0000000..ce84b5e --- /dev/null +++ b/templates/admin/static/css/new.css @@ -0,0 +1,6 @@ +*{margin:0;padding:0}.login{opacity:0;width:100vw;height:100vh;background:url("../image/bg.svg") no-repeat center/cover;display:flex;align-items:center;justify-content:center}.login>.root{position:absolute;width:70%;height:600px;transition:all 0.3s;box-shadow:0px 0px 10px rgba(250,250,250,0.227);border-radius:15px;overflow:hidden;display:flex}.login>.root .left{transition:all 0.3s;position:relative;width:50%;background:#000}.login>.root .left>.cover{position:absolute;display:block;width:100%;height:100%;object-fit:cover}.login>.root .right{transition:all 0.5s;min-width:550px;width:50%;display:flex;flex-direction:column;background:#fbfbfb}.login>.root .right>h2{margin:40px 20px 0px;text-align:center;font-size:32px;font-family:Source Han Sans CN-Bold, Source Han Sans CN;font-weight:bold;color:#2a2a2a;line-height:48px}.login>.root .right>h2:hover{color:#0088ea}.login>.root .right .login_frame{display:flex;justify-content:center}.login>.root .right .login_box{margin-top:100px;padding:20px;width:320px;height:300px;background:#ffffff;box-shadow:0px 3px 8px 1px rgba(0,0,0,0.16);border-radius:16px 16px 16px 16px;opacity:1}.login>.root .right .login_box>h4{width:411px;height:24px;font-size:24px;font-family:Source Han Sans CN-Regular, Source Han Sans CN;font-weight:400;color:#000000;line-height:24px}.login>.root .right .login_box>h6{margin-top:10px;width:411px;height:24px;font-size:16px;font-family:Helvetica Neue-常规体, Helvetica Neue;font-weight:normal;color:#323232;line-height:24px;margin-bottom:30px}.login>.root .right .login_box>form>.inp{margin-bottom:15px;display:flex;flex-direction:column}.login>.root .right .login_box>form>.inp>.label{height:16px;font-size:12px;font-family:Source Han Sans CN-Bold, Source Han Sans CN;font-weight:bold;color:#1a1a1a;line-height:16px;margin-bottom:5px}.login>.root .right .login_box>form>.inp>input{width:calc(100% - 30px);height:35px;border-radius:8px 8px 8px 8px;opacity:1;outline:none;border:1px solid #bfbfbf;padding:0px 15px}.login>.root .right .login_box>form>.submit{margin-top:25px}.login>.root .right .login_box>form>.submit>input{width:100%;height:40px;background:#0088ea;outline:none;border:1px solid #0088ea;border-radius:8px;font-size:16px;font-family:Source Han Sans CN-Regular, Source Han Sans CN;font-weight:400;color:#ffffff}.login .mobile{display:none}@media screen and (max-width: 1278px){.login .left{display:none}.login .right{min-width:100% !important;width:100%}}@media screen and (max-width: 658px){.login .root{display:none !important}.login .mobile{width:100%;height:100%;position:absolute;display:block}.login .mobile>h1{margin:20px;color:#ffffff}.login .mobile>form{position:relative;margin:15px;padding:15px;margin-top:100px}.login .mobile>form>.inp{margin-bottom:15px;display:flex;flex-direction:column}.login .mobile>form>.inp>.label{height:16px;font-size:13px;font-family:Source Han Sans CN-Bold, Source Han Sans CN;font-weight:bold;color:#1a1a1a;line-height:16px;margin-bottom:5px;color:#ffffff}.login .mobile>form>.inp>input{width:calc(100% - 30px);height:40px;border-radius:8px 8px 8px 8px;opacity:1;outline:none;border:1px solid #bfbfbf;padding:0px 15px}.login .mobile>form>.submit{margin-top:25px}.login .mobile>form>.submit>input{width:100%;height:40px;background:#0088ea;outline:none;border:1px solid #0088ea;border-radius:8px;font-size:16px;font-family:Source Han Sans CN-Regular, Source Han Sans CN;font-weight:400;color:#ffffff}}footer{width:100%;position:absolute;z-index:9;bottom:10px;display:flex;font-size:12px;align-items:center;justify-content:center;color:#9e9e9e}footer>img{margin-right:5px;width:20px;height:20px} +.forgot_pass{ + margin-top:14px; + padding-left:1px; + margin-bottom:14px; +} \ No newline at end of file diff --git a/templates/admin/static/css/new.scss b/templates/admin/static/css/new.scss new file mode 100644 index 0000000..3037b64 --- /dev/null +++ b/templates/admin/static/css/new.scss @@ -0,0 +1,220 @@ +* { + margin: 0; + padding: 0; +} + +.login { + opacity: 0; + width: 100vw; + height: 100vh; + background: url("../image/bg.png") no-repeat center/cover; + display: flex; + align-items: center; + justify-content: center; + > .root { + position: absolute; + width: 70%; + height: 600px; + transition: all 0.3s; + box-shadow: 0px 0px 10px rgba(250, 250, 250, 0.227); + border-radius: 15px; + overflow: hidden; + display: flex; + .left { + transition: all 0.3s; + position: relative; + width: 50%; + background: #000; + > .cover { + position: absolute; + display: block; + width: 100%; + height: 100%; + object-fit: cover; + } + } + .right { + transition: all 0.5s; + min-width: 550px; + width: 50%; + display: flex; + flex-direction: column; + background: rgb(251, 251, 251); + > h2 { + margin: 40px 20px 0px; + text-align: center; + font-size: 32px; + font-family: Source Han Sans CN-Bold, Source Han Sans CN; + font-weight: bold; + color: #2a2a2a; + line-height: 48px; + &:hover { + color: #0088ea; + } + } + .login_frame { + display: flex; + justify-content: center; + } + .login_box { + margin-top: 100px; + padding: 20px; + width: 320px; + height: 300px; + background: #ffffff; + box-shadow: 0px 3px 8px 1px rgba(0, 0, 0, 0.1599999964237213); + border-radius: 16px 16px 16px 16px; + opacity: 1; + > h4 { + width: 411px; + height: 24px; + font-size: 24px; + font-family: Source Han Sans CN-Regular, Source Han Sans CN; + font-weight: 400; + color: #000000; + line-height: 24px; + } + > h6 { + margin-top: 10px; + width: 411px; + height: 24px; + font-size: 16px; + font-family: Helvetica Neue-常规体, Helvetica Neue; + font-weight: normal; + color: #323232; + line-height: 24px; + margin-bottom: 30px; + } + > form { + > .inp { + margin-bottom: 15px; + display: flex; + flex-direction: column; + > .label { + height: 16px; + font-size: 12px; + font-family: Source Han Sans CN-Bold, Source Han Sans CN; + font-weight: bold; + color: #1a1a1a; + line-height: 16px; + margin-bottom: 5px; + } + > input { + width: calc(100% - 30px); + height: 35px; + border-radius: 8px 8px 8px 8px; + opacity: 1; + outline: none; + border: 1px solid #bfbfbf; + padding: 0px 15px; + } + } + > .submit { + margin-top: 25px; + > input { + width: 100%; + height: 40px; + background: #0088ea; + outline: none; + border: 1px solid #0088ea; + border-radius: 8px; + font-size: 16px; + font-family: Source Han Sans CN-Regular, Source Han Sans CN; + font-weight: 400; + color: #ffffff; + } + } + } + } + } + } + .mobile { + display: none; + } + @media screen and (max-width: 1278px) { + .left { + display: none; + } + .right { + min-width: 100% !important ; + width: 100%; + } + } + @media screen and (max-width: 658px) { + .root { + display: none !important; + } + .mobile { + width: 100%; + height: 100%; + position: absolute; + display: block; + > h1 { + margin: 20px; + color: #ffffff; + } + > form { + position: relative; + margin: 15px; + padding: 15px; + margin-top:100px; + > .inp { + margin-bottom: 15px; + display: flex; + flex-direction: column; + > .label { + height: 16px; + font-size: 13px; + font-family: Source Han Sans CN-Bold, Source Han Sans CN; + font-weight: bold; + color: #1a1a1a; + line-height: 16px; + margin-bottom: 5px; + color: #ffffff; + } + > input { + width: calc(100% - 30px); + height: 40px; + border-radius: 8px 8px 8px 8px; + opacity: 1; + outline: none; + border: 1px solid #bfbfbf; + padding: 0px 15px; + } + } + > .submit { + margin-top: 25px; + > input { + width: 100%; + height: 40px; + background: #0088ea; + outline: none; + border: 1px solid #0088ea; + border-radius: 8px; + font-size: 16px; + font-family: Source Han Sans CN-Regular, Source Han Sans CN; + font-weight: 400; + color: #ffffff; + } + } + } + + } + } +} +footer { + width: 100%; + position: absolute; + z-index: 9; + bottom: 10px; + display: flex; + font-size: 12px; + align-items: center; + justify-content: center; + color: #9e9e9e; + > img { + margin-right: 5px; + width: 20px; + height: 20px; + } +} \ No newline at end of file diff --git a/templates/admin/static/embed.js b/templates/admin/static/embed.js new file mode 100755 index 0000000..91c677d --- /dev/null +++ b/templates/admin/static/embed.js @@ -0,0 +1,1247 @@ +layui.config({ + base: './static/module/' +}).extend({ + iconHhysFa: 'iconHhys/iconHhysFa' +}); + + + +/** + * 随机生成字符串 + * 参考:https://blog.csdn.net/jiciqiang/article/details/121915750 + * @param len 指定生成字符串长度 + */ + function getRandomString(len){ + let _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789', + min = 0, + max = _charStr.length-1, + _str = ''; //定义随机字符串 变量 + //判断是否指定长度,否则默认长度为15 + len = len || 15; + //循环生成字符串 + for(var i = 0, index; i < len; i++){ + index = (function(randomIndexFunc, i){ + return randomIndexFunc(min, max, i, randomIndexFunc); + })(function(min, max, i, _self){ + let indexTemp = Math.floor(Math.random()*(max-min+1)+min), + numStart = _charStr.length - 10; + if(i==0&&indexTemp >=numStart){ + indexTemp = _self(min, max, i, _self); + } + return indexTemp ; + }, i); + _str += _charStr[index]; + } + return _str; +} + +//生成6位随机数并存储到sessionStorage +function set_icon_name(){ + sessionStorage.icon_name = getRandomString(6); +} + +//获取icon名称 +function get_icon_name(){ + let icon_name; + //从表单获取 + let tmp_name = $("#font_icon").val(); + if( tmp_name == undefined ) { + return false; + } + + tmp_name = tmp_name.split("/"); + tmp_name = tmp_name.pop(); + tmp_name = tmp_name.split("."); + tmp_name = tmp_name[0]; + icon_name = tmp_name; + //如果不存在,则从session获取 + if( icon_name == "" || icon_name == undefined ) { + icon_name = sessionStorage.icon_name; + } + //如果session也不存在,则重新设置一个 + if( icon_name == "" || icon_name == undefined ) { + set_icon_name(); + icon_name = sessionStorage.icon_name; + } + + //最后返回 + return icon_name; + +} + +//获取老图标的完整路径 +function get_old_pic() { + let old_pic = $("#font_icon").val(); + if( old_pic != undefined ) { + return old_pic; + } + else{ + return ''; + } + +} + + +// 2022014 +layui.use(['element','table','layer','form','upload','iconHhysFa'], function(){ + var element = layui.element; + var table = layui.table; + var form = layui.form; + var upload = layui.upload; + layer = layui.layer; + + //第一个实例 + table.render({ + elem: '#category_list', + toolbar: '#catToolbar', + height: 525 + ,url: 'index.php?c=api&method=category_list' //数据接口 + ,page: true //开启分页 + ,cols: [[ //表头 + {type: 'checkbox', fixed: 'left'}, + {field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'} + ,{field: 'font_icon', title: '图标', width:60, templet: function(d){ + return ''; + }} + ,{field: 'name', title: '分类名称', width:160} + ,{field: 'fname', title: '父级分类', width:160} + ,{field: 'link_num', title: '链接数量', width:110,sort:true} + ,{field: 'add_time', title: '添加时间', width:160, sort: true,templet:function(d){ + var add_time = timestampToTime(d.add_time); + return add_time; + }} + ,{field: 'up_time', title: '修改时间', width:160,templet:function(d){ + if(d.up_time != ''){ + var up_time = timestampToTime(d.up_time); + return up_time; + } + else{ + return ''; + } + + }} + ,{field: 'weight', title: '权重', width: 100} + ,{field: 'property', title: '是否私有', width: 120, sort: true,templet: function(d){ + if(d.property == 1) { + return ''; + } + else { + return ''; + } + }} + ,{field: 'description', title: '描述'} + ,{fixed: 'right', title:'操作', toolbar: '#nav_operate', width:150} + ]] + }); + + //监听行工具事件 + table.on('tool(mycategory)', function(obj){ + var data = obj.data; + //console.log(obj); + //console.log(obj) + if(obj.event === 'del'){ + layer.confirm('确认删除?',{icon: 3, title:'温馨提示!'}, function(index){ + $.post('/index.php?c=api&method=del_category',{'id':obj.data.id},function(data,status){ + + if(data.code == 0){ + obj.del(); + } + else{ + layer.msg(data.err_msg); + } + }); + layer.close(index); + }); + } else if(obj.event === 'edit'){ + // 这是原来老的逻辑,跳转到新的页面进行编辑,不太友好 + // window.location.href = '/index.php?c=admin&page=edit_category&id=' + obj.data.id; + // 新的逻辑改为当前页面iframe编辑 + layer.open({ + type: 2, + title: '编辑分类', + shadeClose: true, + maxmin: true, //开启最大化最小化按钮 + area: ['900px', '660px'], + content: '/index.php?c=admin&page=edit_category_new&id=' + obj.data.id + }); + } + }); + //渲染链接列表 + table.render({ + elem: '#link_list' + ,height: 530 + ,url: 'index.php?c=api&method=link_list' //数据接口 + ,method: 'post' + ,page: true //开启分页 + ,toolbar: '#linktool' + ,cols: [[ //表头 + {type:'checkbox'} //开启复选框 + ,{field: 'id', title: 'ID', width:80, sort: true} + ,{field: 'font_icon', title: '图标', width:60, templet:function(d){ + if(d.font_icon == null || d.font_icon == "") + { + return ''; + } + else + { + let random = getRandStr(4); + let font_icon = d.font_icon; + return ``; + } + }} + // ,{field: 'fid', title: '分类ID',sort:true, width:90} + ,{field: 'category_name', title: '所属分类',sort:true,width:120} + ,{field: 'url', title: 'URL',width:140,templet:function(d){ + var url = '' + d.url + ''; + return url; + }} + ,{field: 'title', title: '链接标题', width:140,edit: 'text'} + ,{field: 'add_time', title: '添加时间', width:148, sort: true,templet:function(d){ + var add_time = timestampToTime(d.add_time); + return add_time; + }} + ,{field: 'up_time', title: '修改时间', width:148,sort:true,templet:function(d){ + if(d.up_time == null){ + return ''; + } + else{ + var up_time = timestampToTime(d.up_time); + return up_time; + } + + }} + ,{field: 'weight', title: '权重', width: 75,sort:true,edit: 'text'} + ,{field: 'property', title: '私有', width: 80, sort: true,templet: function(d){ + if(d.property == 1) { + return ''; + } + else { + return ''; + } + }} + ,{field: 'click', title: '点击数',width:90,sort:true} + ,{fixed: 'right', title:'操作', toolbar: '#link_operate'} + ]] + }); + + //头链接工具栏事件 + table.on('toolbar(mylink)', function(obj){ + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event){ + case 'getCheckData': + var data = checkStatus.data; + + if( data.length == 0 ) { + layer.msg('未选中任何数据!'); + } + //遍历删除数据 + else{ + layer.confirm('确认删除选中数据?',{icon: 3, title:'温馨提示!'}, function(index){ + for (let i = 0; i < data.length; i++) { + // $.post('/index.php?c=api&method=del_link',{'id':data[i].id},function(data,status){ + // if(data.code == 0){ + + // } + // else{ + // layer.msg(data.err_msg); + // } + // }); + $.ajax({ + 'url': '/index.php?c=api&method=del_link', + 'type': 'POST', + 'async': false, + 'data':{'id':data[i].id} + }); + + } + layer.open({ + title: '温馨提醒' + ,content: '选中数据已删除!', + yes: function(index, layero){ + window.location.reload(); + layer.close(index); //如果设定了yes回调,需进行手工关闭 + } + }); + + }); + } + //console.log(data[0].id); + //刷新当前页面 + //window.location.reload(); + break; + case 'readmoredata': + var data = checkStatus.data; + fidtext = $("#fid option:selected").text(); + fid = $("#fid").val(); + fid = parseInt(fid); + if( data.length == 0 ) { + layer.msg('未选中任何数据!'); + return false; + } + + if ( isNaN(fid) === true ){ + layer.msg('请先选择分类!',{icon:5}); + } + else{ + + layer.confirm('确认将选中链接的分类修改为【' + fidtext + '】?',{icon: 3, title:'温馨提示!'}, function(index){ + id = []; + for(let i = 0;i < data.length;i++) { + id.push(data[i].id); + } + + $.post("/index.php?c=api&method=batch_modify_category",{id:id,fid:fid},function(data,status){ + if (data.msg === "success") { + layer.msg("修改成功!",{icon:1}); + setTimeout(() => { + window.location.reload(); + }, 2000); + } + else{ + layer.msg(data.err_msg,{icon:5}); + } + }); + }); + } + //console.log(data); + break; + case "set_private": + //用户点击设为私有按钮 + var data = checkStatus.data; + ids = []; + //获取链接所有ID,并拼接为数组 + for(let i = 0;i < data.length;i++) { + ids.push(data[i].id); + } + //调用函数设为私有 + set_link_attribute(ids,1); + break; + case "set_public": + //用户点击设为私有按钮 + var data = checkStatus.data; + ids = []; + //获取链接所有ID,并拼接为数组 + for(let i = 0;i < data.length;i++) { + ids.push(data[i].id); + } + //调用函数设为公有 + set_link_attribute(ids,0); + break; + case 'isAll': + layer.msg(checkStatus.isAll ? '全选': '未全选'); + break; + case "reset_query": + reset_query(); + break; + + //自定义头工具栏右侧图标 - 提示 + case 'LAYTABLE_TIPS': + layer.alert('这是工具栏右侧自定义的一个图标按钮'); + break; + }; + }); + //监听链接工具 + table.on('tool(mylink)', function(obj){ + var data = obj.data; + //console.log(obj); + //console.log(obj) + if(obj.event === 'del'){ + layer.confirm('确认删除?',{icon: 3, title:'温馨提示!'}, function(index){ + $.post('/index.php?c=api&method=del_link',{'id':obj.data.id},function(data,status){ + if(data.code == 0){ + obj.del(); + } + else{ + layer.msg(data.err_msg); + } + }); + layer.close(index); + }); + } else if(obj.event === 'edit'){ + // window.location.href = '/index.php?c=admin&page=edit_link&id=' + obj.data.id; + let height = window.innerHeight; + if( height >= 800 ) { + height = 800; + } + else{ + height = 700; + } + // 改成iframe编辑 + layer.open({ + type: 2, + title: '编辑链接', + shadeClose: true, + maxmin: true, //开启最大化最小化按钮 + area: ['1000px', height + 'px'], + content: '/index.php?c=admin&page=edit_link_new&id=' + obj.data.id + }); + } + }); + + //登录 + form.on('submit(login)', function(data){ + $.post('/index.php?c=login&check=login',data.field,function(data,status){ + //如果添加成功 + if(data.code == 0) { + window.location.href = '/index.php?c=admin'; + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //新的登录 + form.on('submit(new_login)', function(data){ + //获取用户名 + var user = $("#user").val(); + //获取密码 + var password = $("#password").val(); + if ( user == '' || password == '' ) { + layer.msg('用户名或密码不能为空!', {icon: 5}); + return false; + } + $.post('/index.php?c=login&check=login',{user:user,password:password},function(data,status){ + //如果添加成功 + if(data.code == 0) { + window.location.href = '/index.php?c=admin'; + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + //console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //初始化设置onenav密码 + form.on('submit(init_onenav)', function(data){ + //console.log(data.field.username); + + let username = data.field.username; + let password = data.field.password; + let password2 = data.field.password2; + //正则验证用户名、密码 + var u_patt = /^[0-9a-z]{3,32}$/; + if ( !u_patt.test(username) ) { + layer.msg("用户名需要3-32位的小写字母或数字组合!", {icon: 5}); + return false; + } + //正则验证密码 + let p_patt = /^[0-9a-zA-Z!@#%^*.()]{6,16}$/; + if ( !p_patt.test(password) ) { + layer.msg("密码需要6-16字母、数字或特殊字符!", {icon: 5}); + return false; + } + if( password !== password2) { + layer.msg("两次密码不一致!", {icon: 5}); + return false; + } + $.post('/index.php?c=init',data.field,function(data,status){ + //如果添加成功 + if(data.code == 200) { + layer.msg(data.msg, {icon: 1}); + setTimeout(() => { + window.location.href = "/index.php?c=login"; + }, 2000); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + //console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + //手机登录 + form.on('submit(mobile_login)', function(data){ + $.post('/index.php?c=login&check=login',data.field,function(data,status){ + //如果登录成功 + if(data.code == 0) { + window.location.href = '/'; + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //新的手机登录 + form.on('submit(new_mobile_login)', function(data){ + //获取用户名 + var user = $("#m_user").val(); + //获取密码 + var password = $("#m_password").val(); + if ( user == '' || password == '' ) { + layer.msg('用户名或密码不能为空!', {icon: 5}); + return false; + } + + $.post('/index.php?c=login&check=login',{user:user,password:password},function(data,status){ + //如果登录成功 + if(data.code == 0) { + window.location.href = '/index.php?c=mobile'; + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //筛选链接 + form.on('submit(screen_link)', function(data){ + fid = data.field.fid; + if( fid == "" ) { + layer.msg("请先选择分类!",{icon:5}); + return false; + } + //表格重载 + var tableIns = table.render({ + elem: '#link_list' + ,height: 520 + ,url: 'index.php?c=api&method=q_category_link' //数据接口 + ,method: 'post' + ,page: true //开启分页 + ,toolbar: '#linktool' + ,where:{ + category_id:fid + } + ,cols: [[ //表头 + {type:'checkbox'} //开启复选框 + ,{field: 'id', title: 'ID', width:80, sort: true} + ,{field: 'font_icon', title: '图标', width:60, templet:function(d){ + if(d.font_icon == null || d.font_icon == "") + { + return ''; + } + else + { + let random = getRandStr(4); + let font_icon = d.font_icon; + return ``; + } + }} + // ,{field: 'fid', title: '分类ID',sort:true, width:90} + ,{field: 'category_name', title: '所属分类',sort:true,width:120} + ,{field: 'url', title: 'URL',width:140,templet:function(d){ + var url = '' + d.url + ''; + return url; + }} + ,{field: 'title', title: '链接标题', width:140,edit: 'text'} + ,{field: 'add_time', title: '添加时间', width:148, sort: true,templet:function(d){ + var add_time = timestampToTime(d.add_time); + return add_time; + }} + ,{field: 'up_time', title: '修改时间', width:148,sort:true,templet:function(d){ + if(d.up_time == null){ + return ''; + } + else{ + var up_time = timestampToTime(d.up_time); + return up_time; + } + + }} + ,{field: 'weight', title: '权重', width: 75,sort:true,edit: 'text'} + ,{field: 'property', title: '私有', width: 80, sort: true,templet: function(d){ + if(d.property == 1) { + return ''; + } + else { + return ''; + } + }} + ,{field: 'click', title: '点击数',width:90,sort:true} + ,{fixed: 'right', title:'操作', toolbar: '#link_operate'} + ]] + }); + + //console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //保存站点设置 + form.on('submit(set_site)', function(data){ + var index = layer.load(1); + $.post('/index.php?c=api&method=set_site',data.field,function(data,status){ + if(data.code == 0) { + layer.closeAll('loading'); + layer.msg(data.data, {icon: 1}); + } + else{ + layer.closeAll('loading'); + layer.msg(data.err_msg, {icon: 5}); + } + }); + //console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //保存订阅信息 + form.on('submit(set_subscribe)', function(data){ + var order_id = data.field.order_id; + var index = layer.load(1); + $.get('https://onenav.xiaoz.top/v1/check_subscribe.php',data.field,function(data,status){ + + if(data.code == 200) { + //order_id = data.data.order_id; + email = data.data.email; + end_time = data.data.end_time; + //存储到数据库中 + $.post("index.php?c=api&method=set_subscribe",{order_id:order_id,email:email,end_time:end_time},function(data,status){ + if(data.code == 0) { + layer.closeAll('loading'); + layer.msg(data.data, {icon: 1}); + setTimeout(() => { + location.reload(); + }, 2000); + } + else{ + layer.closeAll('loading'); + layer.msg(data.err_msg, {icon: 5}); + } + }); + } + else{ + layer.closeAll('loading'); + layer.msg(data.msg, {icon: 5}); + } + + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + //清空订阅信息 + form.on('submit(reset_subscribe)', function(data){ + //存储到数据库中 + $.post("index.php?c=api&method=set_subscribe",{order_id:'',email:'',end_time:null},function(data,status){ + if(data.code == 0) { + //清空表单 + $("#order_id").val(''); + $("#email").val(''); + //$("#domain").val(''); + $("#end_time").val(''); + layer.msg(data.data, {icon: 1}); + } + else{ + layer.closeAll('loading'); + layer.msg(data.err_msg, {icon: 5}); + } + }); + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //保存站点设置 + form.on('submit(set_transition_page)', function(data){ + var index = layer.load(1); + $.post('/index.php?c=api&method=set_transition_page',data.field,function(data,status){ + if(data.code == 0) { + layer.closeAll('loading'); + layer.msg(data.data, {icon: 1}); + } + else{ + layer.closeAll('loading'); + layer.msg(data.err_msg, {icon: 5}); + } + }); + //console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //添加分类目录 + form.on('submit(add_category)', function(data){ + $.post('/index.php?c=api&method=add_category',data.field,function(data,status){ + //如果添加成功 + if(data.code == 0) { + layer.msg('已添加!', {icon: 1}); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + //添加自定义js + form.on('submit(add_js)', function(data){ + $.post('/index.php?c=api&method=add_js',data.field,function(data,status){ + //如果添加成功 + if(data.code == 0) { + layer.msg('已添加!', {icon: 1}); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + //console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + //修改分类目录 + form.on('submit(edit_category)', function(data){ + $.post('/index.php?c=api&method=edit_category',data.field,function(data,status){ + //如果添加成功 + if(data.code == 0) { + layer.msg('已修改!', {icon: 1}); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //生成token + form.on('submit(create_sk)', function(data){ + if( data.field.SecretKey == '' ) { + $.post('/index.php?c=api&method=create_sk',data.field,function(data,status){ + //如果添加成功 + if(data.code == 0) { + $("#SecretKey").val(data.data); + layer.msg('SecretKey生成完毕!', {icon: 1}); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + } + else{ + layer.msg('SecretKey已经存在!', {icon: 5}); + } + + //console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //更换token + form.on('submit(change_sk)', function(data){ + if( data.field.SecretKey != '' ) { + $.post('/index.php?c=api&method=create_sk',data.field,function(data,status){ + //如果添加成功 + if(data.code == 0) { + $("#SecretKey").val(data.data); + layer.msg('SecretKey已更换!', {icon: 1}); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + } + else{ + layer.msg('请先生成SecretKey!', {icon: 5}); + } + + //console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //计算token + form.on('submit(cal_token)', function(data){ + if( (data.field.SecretKey != '') && (data.field.username != '' ) ) { + let username = data.field.username; + let sk = data.field.SecretKey; + let token = md5(username + sk); + $("#token").val(token); + layer.msg('token计算成功!', {icon: 1}); + } + else{ + layer.msg('SecretKey为空,请先生成!', {icon: 5}); + } + + //console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //添加链接 + form.on('submit(add_link)', function(data){ + $.post('/index.php?c=api&method=add_link',data.field,function(data,status){ + //如果添加成功 + if(data.code == 0) { + //重新设置图标 + set_icon_name(); + layer.msg('已添加!', {icon: 1}); + //禁用按钮 + $("#add_link").addClass("layui-btn-disabled"); + setTimeout(()=>{ + window.location.reload(); + },1500); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + //识别链接信息 + form.on('submit(get_link_info)', function(data){ + $.post('/index.php?c=api&method=get_link_info',data.field.url,function(data,status){ + //如果添加成功 + if(data.code == 0) { + console.log(data); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + //更新链接 + form.on('submit(edit_link)', function(data){ + $.post('/index.php?c=api&method=edit_link&type=console',data.field,function(data,status){ + //如果添加成功 + if(data.code == 0) { + layer.msg('已更新!', {icon: 1}); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + //识别链接信息 + form.on('submit(get_link_info)', function(data){ + //是用ajax异步加载 + $.post('/index.php?c=api&method=get_link_info',data.field,function(data,status){ + //如果添加成功 + if(data.code == 0) { + console.log(data); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + //导入书签 + //识别链接信息 + form.on('submit(imp_link)', function(data){ + //用ajax异步加载 + $.post('/index.php?c=api&method=import_link',data.field,function(data,status){ + //如果添加成功 + if(data.code == 200) { + layer.open({ + title: '导入完成' + ,content: "总数:" + data.msg.count + " 成功:" + data.msg.success + " 失败:" + data.msg.failed + }); + //layer.msg('已添加!', {icon: 1}); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + } + }); + console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value} + return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 + }); + + //书签上传 + //执行实例 + upload.render({ + elem: '#up_html' //绑定元素 + ,url: 'index.php?c=api&method=upload' //上传接口 + ,accept:'file' + ,exts: 'html|HTML' + ,done: function(res){ + //console.log(res); + //上传完毕回调 + if( res.code == 0 ) { + $("#filename").val(res.file_name); + } + else if( res.code < 0) { + layer.msg(res.err_msg, {icon: 5}); + layer.close(); + } + + } + ,error: function(){ + //请求异常回调 + } + }); + + upload.render({ + elem: '#iconUpload' //绑定元素 + ,url: 'index.php?c=api&method=uploadImages' //上传接口 + ,accept:'file' + ,exts: 'ico|jpg|jpeg|png|bmp|svg', + size:100 + ,data: { + //传递图片名称 + "icon_name":get_icon_name(), + //传递老图片名称,接口先将老图片删除 + "old_pic":get_old_pic() + }, + choose:function(obj){ + this.data.old_pic = get_old_pic(); + } + ,done: function(res){ + //console.log(res); + //上传完毕回调 + if( res.code == 200 ) { + $("#font_icon").val(res.data.file_name); + //显示图标 + $("#show_icon img").attr("src","/" + res.data.file_name + "?random" + getRandStr(4)); + } + else if( res.code < 0) { + layer.msg(res.msg, {icon: 5}); + layer.close(); + } + + } + ,error: function(){ + layer.msg("发生预料之外的错误!", {icon: 5}); + layer.close(); + } + }); +}); + +function get_link_info() { + var url = $("#url").val(); + var index = layer.load(1); + $.post('/index.php?c=api&method=get_link_info',{url:url},function(data,status){ + //如果添加成功 + if(data.code == 0) { + if(data.data.title != null) { + $("#title").val(data.data.title); + } + if(data.data.description != null) { + $("#description").val(data.data.description); + } + + layer.close(index); + } + else{ + layer.msg(data.err_msg, {icon: 5}); + layer.close(index); + } + }); +} + +function timestampToTime(timestamp) { + // 将时间戳转换为毫秒 + let timestampInMilliseconds = timestamp * 1000; + + // 创建新的Date对象 + let date = new Date(timestampInMilliseconds); + + // 获取年、月、日、小时、分钟,月份需要+1,因为Date对象中月份从0开始计数 + let year = date.getFullYear(); + let month = ("0" + (date.getMonth() + 1)).slice(-2); + let day = ("0" + date.getDate()).slice(-2); + let hours = ("0" + date.getHours()).slice(-2); + let minutes = ("0" + date.getMinutes()).slice(-2); + + // 生成并返回格式化的日期字符串 + return `${year}-${month}-${day} ${hours}:${minutes}`; +} + +function del_category(id){ + layer.confirm('确认删除这张图片?', {icon: 3, title:'温馨提示!'}, function(index){ + $.post("/set/del_img",{imgid:imgid,path:path,thumbnail_path:thumbnail_path},function(data,status){ + var re = JSON.parse(data); + if(re.code == 200) { + $("#img"+id).remove(); + console.log("#img"+id); + } + else{ + layer.msg(data); + } + }); + + layer.close(index); + }); +} + +//弱密码检查 +function check_weak_password(){ + $.get("/index.php?c=api&method=check_weak_password",function(data,status){ + if (data.err_msg === 'Weak password!') { + layui.use('layer', function(){ + var layer = layui.layer; + + layer.open({ + title:'风险提示!', + content: '系统检测到您使用的默认密码,请参考帮助文档尽快修改!' //这里content是一个普通的String + }); + }); + } + }); +} +//检测数据库是否可能被下载 +function check_db_down(){ + $("#console_log").append("检查数据库是否可被下载...
              "); + $.ajax({ + type:"HEAD", + async:false, + url:"/data/onenav.db3", + statusCode: { + 200: function() { + $("#console_log").append("危险!!!危险!!!危险!!!数据库可被下载,请尽快参考帮助文档:https://dwz.ovh/jvr2t 加固安全设置!

              "); + }, + 403:function() { + $("#console_log").append("您的数据库看起来是安全的!
              "); + } + } + }); +} + + +//获取待更新数据库列表,http://onenav.com/index.php?c=api&method=exe_sql&name=on_db_logs.sql +function get_sql_update_list() { + $("#console_log").append("----------------------------------------------------------------------
              "); + $("#console_log").append("正在检查数据库更新...
              "); + $.get("index.php?c=api&method=get_sql_update_list",function(data,status){ + + if ( data.code == 0 ) { + //如果没有可用更新,直接结束 + if ( data.data.length == 0 ) { + $("#console_log").append("当前无可用更新!
              "); + return false; + } + else{ + $("#console_log").append("检查到可更新SQL列表:
              "); + $("#console_log").append("正在准备更新...
              "); + for(i in data.data) { + sqlname = data.data[i]; + //$("#console_log").append(data.data[i] + "\n"); + exe_sql(sqlname); + } + } + } + }); +} + +//更新SQL函数 +function exe_sql(sqlname) { + $.ajax({ url: "index.php?c=api&method=exe_sql&name=" + sqlname, async:false, success: function(data,status){ + if( data.code == 0 ){ + $("#console_log").append(data.data + "\n" ); + } + else { + $("#console_log").append(sqlname + "更新失败!\n"); + } + }}); +} + +//获取GET参数,参考:https://www.runoob.com/w3cnote/js-get-url-param.html +function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i${latest_version} +[一键更新] +`; + $("#new_version").html(new_version); + $("#new_version").show(); + + //获取当前版本 + let current_version = $("#current_version").text(); + + let pattern = /[0-9]+\.[0-9\.]+/; + current_version = pattern.exec(current_version)[0]; + latest_version = pattern.exec(latest_version)[0]; + + //如果当前版本小于最新版本,则提示更新 + if( current_version < latest_version ) { + $("#update_msg").show(); + } + }); + +} + +//设置链接属性,公有或私有,接收一个链接id数组和一个链接属性 +function set_link_attribute(ids,property) { + if( ids.length === 0 ) { + layer.msg("请先选择链接!",{icon:5}); + } + else{ + $.post("/index.php?c=api&method=set_link_attribute",{ids:ids,property:property},function(data,status){ + if( data.code == 200 ){ + layer.msg("设置已更新!",{icon:1}); + } + else{ + layer.msg("设置失败!",{icon:5}); + } + }); + } +} + +//导出所有链接 +function export_link(url, fileName) { + layer.confirm('导出的链接可以导入到浏览器也可以再次导入到OneNav!', {icon: 3, title:'确定导出所有链接?'}, function(index){ + var date = new Date(); + var current_time = date.toLocaleDateString(); + current_time = current_time.replaceAll("/","."); + var url = "index.php?c=api&method=export_link"; + var fileName = "OneNav_Export_" + current_time + ".html"; + var x = new XMLHttpRequest(); + x.open("GET", url, true); + x.responseType = 'blob'; + x.onload=function(e) { + var url = window.URL.createObjectURL(x.response) + var a = document.createElement('a'); + a.href = url + a.download = fileName; + a.click() + } + x.send(); + + layer.close(index); + }); + +} + +//删除主题 +function delete_theme(name) { + layer.confirm('确认删除此主题(' + name + ')?', {icon: 3, title:'重要提示'}, function(index){ + $.post("index.php?c=api&method=delete_theme",{name:name},function(data,status){ + if( data.code == 200 ) { + layer.msg(data.msg,{icon:1}); + setTimeout(() => { + window.location.reload(); + }, 2000); + } + else{ + layer.msg(data.msg,{icon:5}); + } + }); + }); +} + +//验证是否订阅 +function check_subscribe(msg) { + $.get("/index.php?c=api&method=check_subscribe",function(data,status){ + if( data.code == 200 ) { + return true; + } + else{ + layer.msg(msg, {icon: 5}); + return false; + } + }); +} + +//随机数生成 +function getRandStr(n) { + var chars = ['0','1','2','3','4','5','6','7','8','9', + 'A','B','C','D','E','F','G','H','I','J','K','L','M', + 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z']; + var res = ""; + for(var i = 0; i < n ; i++) { + var id = Math.floor(Math.random()*36); + res += chars[id]; + } + return res; +} + +//删除图标 +function del_link_icon(){ + let icon_path = $("#font_icon").val(); + //如果图标为空 + if( icon_path == "" ) { + layer.msg("图标为空,无需删除!",{icon:1}); + return true; + } + console.log(icon_path.indexOf("http")); + //如果图标包含http开头,则是网络图片,直接清空即可 + if( icon_path.indexOf("http") >= 0 ) { + //置空 + $("#font_icon").val(""); + $("#show_icon img").attr("src",""); + layer.msg("图标已清空,请保存!",{icon:1}); + return true; + } + + $.post("/index.php?c=api&method=del_link_icon",{icon_path:icon_path},function(data,status){ + if( data.code == 200 ) { + $("#font_icon").val(""); + $("#show_icon img").attr("src",""); + layer.msg("图标已删除,请保存!",{icon:1}); + } + else{ + layer.msg(data.msg,{icon:5}); + } + }); +} + +$(document).ready(function() { + // 获取当前页面的 URL + var currentUrl = window.location.href; + + // 遍历导航栏菜单的子菜单项 + $('.layui-nav-child dd a').each(function() { + var $this = $(this); + var linkUrl = $this.attr('href'); + + // 如果子菜单项的链接与当前页面的 URL 匹配,则为该子菜单项添加 'layui-this' 类 + if (currentUrl.indexOf(linkUrl) !== -1) { + // 移除其他菜单项的 'layui-this' 类 + $('.layui-nav-child dd').removeClass('layui-this'); + + // 为匹配的子菜单项添加 'layui-this' 类 + $this.parent().addClass('layui-this'); + + // 结束遍历 + return false; + } + }); +}); + +// 获取当前域名 +function getCurrentDomain() { + // 获取协议(包括末尾的冒号和斜杠) + var protocol = window.location.protocol; + + // 获取域名 + var hostname = window.location.hostname; + + // 获取端口号 + var port = window.location.port; + + // 检查端口号是否为80或443,并相应地调整URL + if (port === "80" || port === "443" || port === "") { + return protocol + "//" + hostname; + } else { + return protocol + "//" + hostname + ":" + port; + } +} +// 技术支持函数 +function support() { + let domain = getCurrentDomain(); + let description = "域名:" + domain; + let support_url = "https://support.xiuping.net/service/index?lang=zh_CN&product_id=1&description=" + description; + layer.open({ + type: 2, + title: false, + shadeClose: true, + shade: 0.8, + area: ['700px', '780px'], + content: support_url // iframe 的 url + }); +} \ No newline at end of file diff --git a/templates/admin/static/image/backgroundLogin.png b/templates/admin/static/image/backgroundLogin.png new file mode 100644 index 0000000..caa5ed4 Binary files /dev/null and b/templates/admin/static/image/backgroundLogin.png differ diff --git a/templates/admin/static/image/bg.png b/templates/admin/static/image/bg.png new file mode 100644 index 0000000..d2ac55d Binary files /dev/null and b/templates/admin/static/image/bg.png differ diff --git a/templates/admin/static/image/bg.svg b/templates/admin/static/image/bg.svg new file mode 100644 index 0000000..2a142d8 --- /dev/null +++ b/templates/admin/static/image/bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/admin/static/image/copyright-fill.png b/templates/admin/static/image/copyright-fill.png new file mode 100644 index 0000000..6e5f47c Binary files /dev/null and b/templates/admin/static/image/copyright-fill.png differ diff --git a/templates/admin/static/style.css b/templates/admin/static/style.css new file mode 100755 index 0000000..7a2c39c --- /dev/null +++ b/templates/admin/static/style.css @@ -0,0 +1,210 @@ +.content-body{ + margin-top:2em; + margin-left:2em; + + margin-right: 2em; +} +.login-logo{ + max-width: 400px; + height: auto; + margin-left: auto; + margin-right: auto; + margin-top:5em; +} +.login-logo h1{ + color:#FFFFFF; + text-align: center; +} +.analyze{ + background-color:#009688; + text-align:center; + color:#FFFFFF; +} +.analyze h3{ + line-height: 2.4em; +} +.analyze p{ + line-height: 2em; +} +.analyze a{ + color:#FFFFFF; +} + +.item{ + /*height:8em;*/ + /* background-color: #F0F0F0; */ + /*border:1px solid #e2e2e2;*/ + border-radius: 2px; + background-color: #009688; + color:#FFFFFF; + text-align:center; + margin-bottom:1em; + line-height:3em; + +} +.item a{ + color:#F2F2F2; +} +.item:hover{ + -webkit-box-shadow: 2px 2px 8px 1px rgba(20, 20, 20, 0.15); -moz-box-shadow: 2px 2px 8px 1px rgba(20, 20, 20, 0.15);box-shadow: 2px 2px 8px 1px rgba(20, 20, 20, 0.15); +} +.item i{ + font-size: 1em; +} +/* msg弹窗提醒 */ +.msg{ + width:auto; + line-height: 16px; + position: fixed; + top:2em; + border: 1px #009933 solid; + border-radius: 3px; + display: none; +} +.admin-msg{ + padding: 16px; + background-color: #F8F8F8; + border-radius: 5px; + color: #999; + height:56px; +} +.admin-msg:hover{ + background-color: #eeeeee; + /*榧犳爣鍙樻垚灏忔墜*/ + cursor: pointer; + +} +.admin-msg a{ + color:#01AAED; +} +.admin-msg h2{ + font-size:18px; + color:#16b777; +} +.admin-msg .text{ + padding:14px 0 2px 0; +} +/* 上传按钮 */ +#up_html{ + margin-left:auto; + margin-right:auto; + width: 100%; + margin-bottom: 2em; + -moz-box-sizing: border-box; /*Firefox3.5+*/ + -webkit-box-sizing: border-box; /*Safari3.2+*/ + -o-box-sizing: border-box; /*Opera9.6*/ + -ms-box-sizing: border-box; /*IE8*/ + box-sizing: border-box; + left:0%; +} + +/* 后台设置提醒 */ +.setting-msg{ + width:100%; + color: #FF5722; + border-left: 3px solid #FF5722; + background-color: #F0F0F0; + padding:0.8em; + border-radius: 1px; + margin-bottom:2em; + -moz-box-sizing: border-box; /*Firefox3.5+*/ + -webkit-box-sizing: border-box; /*Safari3.2+*/ + -o-box-sizing: border-box; /*Opera9.6*/ + -ms-box-sizing: border-box; /*IE8*/ + box-sizing: border-box; +} + +.page-msg{ + width:100%; + color: #FF5722; + border-left: 3px solid #FF5722; + background-color: #F0F0F0; + padding:0.8em; + border-radius: 1px; + margin-bottom:2em; + -moz-box-sizing: border-box; /*Firefox3.5+*/ + -webkit-box-sizing: border-box; /*Safari3.2+*/ + -o-box-sizing: border-box; /*Opera9.6*/ + -ms-box-sizing: border-box; /*IE8*/ + box-sizing: border-box; +} + +.page-msg a{ + color:#01AAED; +} + +.page-msg ol li{ + list-style-type:decimal; +} + +.page-msg ol{ + margin-left: 1.5em; +} + +.setting-msg a{ + color:#01AAED; +} +/* 占位用 */ +.place-holder{ + padding-bottom: 3em; +} +/* .screenshot { + height:220px; +} */ +.screenshot img{ + width: 100%; + height:240px; + /*自动裁剪图片*/ + object-fit: cover; + border-radius: 3px; + /*鼠标移动到上面变成小手*/ + cursor: pointer; +} + +#progress{ + display:none; + margin-top:1em; +} + +#show_icon{ + display:inline-block;width:38px;height:38px;border:1px solid #F6F6F6; + position: relative; + /* bottom: 9px; */ +} + +#show_icon img{ + height: 38px; + width: 38px; +} + +.custom-card { + box-shadow: 0 2px 4px 0 rgba(0,0,0,0.06); /* 更细微的阴影 */ + transition: 0.3s; + border-radius: 10px; /* 圆角边框 */ + background-color: #f9f9f9; /* 非常淡的灰色背景 */ + } + + .custom-card:hover { + box-shadow: 0 4px 8px 0 rgba(0,0,0,0.1); + transform: scale(1.03); /* 稍微缩放的悬停效果 */ + } + + .layui-card-header { + font-weight: bold; /* 自定义标题样式 */ + color: #333; /* 字体颜色 */ + font-size: 16px; + } + + .layui-card-body { + color: #333; /* 内容字体颜色 */ + font-size: 14px; /* 字体大小 */ + } + +.thme-btns { + text-align: center; + padding:6px 0 6px 0; +} + +.upload-backup{ + margin-top: 16px; +} \ No newline at end of file diff --git a/templates/default/index.php b/templates/default/index.php new file mode 100755 index 0000000..3f3798d --- /dev/null +++ b/templates/default/index.php @@ -0,0 +1,294 @@ + + + + + <?php echo $site['title']; ?> - <?php echo $site['subtitle']; ?> + + + + + + + + + + + + + + + + +
              +
              + + menu + +

              +
              + + + + + + account_circle + + account_circle + + +
              +
              + + + + +
              +
              + +
              +
              + + + +
              + + + + + + + + +
              "> + +
              +
              +
              + + + search +
              +
              +
              + +
              + << 返回'; + } + ?> + + "; + //如果分类是私有的 + if( $category['property'] == 1 ) { + $property = ''; + } + else { + $property = ''; + } + ?> +
              + + +
              + + + + + + + + + + $link_num ) { + ?> + + + + + + +
              + + + +
              +
              + + + + + + + + + + + + + + + + diff --git a/templates/default/info.json b/templates/default/info.json new file mode 100644 index 0000000..9751a2b --- /dev/null +++ b/templates/default/info.json @@ -0,0 +1,20 @@ +{ + "name": "OneNav默认主题", + "description": "OneNav默认主题", + "homepage": "https:\/\/www.xiaoz.me", + "help_url":"https://dwz.ovh/gnae4", + "version": "0.9.31", + "update": "2023\/06\/28", + "author": "xiaoz", + "screenshot": "https:\/\/img.rss.ink\/imgs\/2022\/03\/42ed3ef2c4a50f6d.png", + "demo":"", + "require":{ + "min":"0.9.31", + "max":"" + }, + "config": { + "full_width_mode":"off", + "link_description":"show", + "favicon": "online" + } +} \ No newline at end of file diff --git a/templates/default/static/embed.js b/templates/default/static/embed.js new file mode 100755 index 0000000..59efd7c --- /dev/null +++ b/templates/default/static/embed.js @@ -0,0 +1,311 @@ +function gotop(){ + $("html,body").animate({scrollTop: '0px'}, 600); +} +$(".search").blur(function(data,status){ + var keywords = $(".search").val(); + + if( keywords == ''){ + $(".cat-title").removeClass("mdui-hidden"); + } + +}); +var h = holmes({ + input: '.search', + find: '.link-space', + placeholder: '

              未搜索到匹配结果!

              ', + mark: false, + hiddenAttr: true, + // 找到了就添加visible类,没找到添加mdui-hidden + class: { + visible: 'visible', + hidden: 'mdui-hidden' + }, + onHidden(el) { + // console.log('hidden', el); + + }, + onFound(el) { + // console.log('found', el); + $(".cat-title").addClass("mdui-hidden"); + }, + onInput(el) { + $(".cat-title").addClass("mdui-hidden"); + }, + onVisible(el) { + $(".cat-title").removeClass("mdui-hidden"); + }, + onEmpty(el) { + $(".cat-title").removeClass("mdui-hidden"); + } + }); +//鼠标移动到链接修改为原始URL + +//js获取协议和域名部分 +function get_domain(){ + //获取协议 + var protocol = window.location.protocol; + protocol = protocol + '//'; + //获取端口号 + var port = window.location.port; + if( (port == 80) || (port == 443) ){ + port = ''; + } + var hostname = window.location.hostname; + domain = protocol + port + hostname; + return domain; +} +//弹窗 +function msg(text){ + // alert('dfd'); + $html = '
              ' + text + '
              '; + $("body").append($html); + $(".msg").fadeIn(); + $(".msg").fadeOut(3000); + // $(".msg").remove(); +} + +function admin_menu() { + // 加载管理员右键菜单 + //初始化菜单 + $.contextMenu({ + selector: '.link-space', + callback: function(key, options) { + link_id = $(this).attr('id'); + link_id = link_id.replace('id_',''); + + }, + items: { + "open":{name: "打开",icon:"fa-external-link",callback:function(key,opt){ + var link_id = $(this).attr('id'); + link_id = link_id.replace('id_',''); + var tempwindow=window.open('_blank'); + tempwindow.location='index.php?c=click&id='+link_id; + }}, + "edit": {name: "编辑", icon: "edit",callback:function(key,opt){ + var link_id = $(this).attr('id'); + link_id = link_id.replace('id_',''); + var tempwindow=window.open('_blank'); + tempwindow.location='index.php?c=admin&page=edit_link&id='+link_id; + }}, + "delete": {name: "删除", icon: "delete",callback:function(){ + var link_id = $(this).attr('id'); + link_id = link_id.replace('id_',''); + mdui.confirm('确认删除?', + function(){ + $.post("index.php?c=api&method=del_link",{id:link_id},function(data,status){ + //如果删除成功,则移除元素 + if(data.code == 0) { + $("#id_" + link_id).remove(); + } + else{ + //删除失败 + mdui.alert(data.err_msg); + } + }); + }, + function(){ + //点击取消按钮,不做操作 + return true; + } + ); + }}, + "sep1": "---------", + "qrcode": {name: "二维码", icon:"fa-qrcode",callback:function(data,status){ + var link_title = $(this).attr('link-title'); + + //link_title = link_title.substr(0,8); + // link_title = link_title + '...'; + var link_id = $(this).attr('id'); + link_id = link_id.replace('id_',''); + var domain = get_domain(); + var url = domain + '/click/' + link_id; + + mdui.dialog({ + 'title':link_title, + 'cssClass':'show_qrcode', + 'content':`
              ` + }); + + let qrcode = new QRCode(document.getElementById('qrcode'), url); + }}, + "copy":{name:"复制链接",icon:"copy",callback:function(){ + link_url = $(this).attr('link-url'); + // 复制按钮 + var copy = new clipBoard($(".context-menu-icon-copy"), { + beforeCopy: function() { + + }, + copy: function() { + return link_url; + + }, + afterCopy: function() { + layer.msg('链接已复制!'); + } + }); + // 复制按钮END + + }} + + } + }); + // 加载右键菜单END +} + + +function user_menu() { + // 加载游客右键菜单 +//初始化菜单 +$.contextMenu({ + selector: '.link-space', + callback: function(key, options) { + link_id = $(this).attr('id'); + link_id = link_id.replace('id_',''); + +}, + items: { + "open":{name: "打开",icon:"fa-external-link",callback:function(key,opt){ + var link_id = $(this).attr('id'); + link_id = link_id.replace('id_',''); + var tempwindow=window.open('_blank'); + tempwindow.location='index.php?c=click&id='+link_id; + }}, + "sep1": "---------", + "qrcode": {name: "二维码", icon:"fa-qrcode",callback:function(data,status){ + var link_title = $(this).attr('link-title'); + + // link_title = link_title.substr(0,8); + // link_title = link_title + '...'; + var link_id = $(this).attr('id'); + link_id = link_id.replace('id_',''); + var domain = get_domain(); + var url = domain + '/click/' + link_id; + + mdui.dialog({ + 'title':link_title, + 'cssClass':'show_qrcode', + 'content':`
              ` + }); + + let qrcode = new QRCode(document.getElementById('qrcode'), url); + }}, + "copy":{name:"复制链接",icon:"copy",callback:function(){ + link_url = $(this).attr('link-url'); + // 复制按钮 + var copy = new clipBoard($(".context-menu-icon-copy"), { + beforeCopy: function() { + + }, + copy: function() { + return link_url; + + }, + afterCopy: function() { + //msg('链接已复制!'); + // mdui.alert('链接已复制!'); + layer.msg('链接已复制!'); + } + }); + // 复制按钮END + + }} + + } +}); + // 加载游客右键菜单END +}; + +// 添加链接按钮 +$("#add").click(function(){ + open_add_link(); +}); + +function open_add_link(){ + layer.open({ + type: 2, + title: '添加链接', + maxmin: true, + shadeClose: true, //点击遮罩关闭层 + area : ['800px' , '520px'], + content: '/index.php?c=admin&page=add_link_tpl' + }); +} +//搜索框失去焦点 +function clean_search(){ + $(".search").val(''); + $(".search").blur(); +} +//搜索框得到焦点 +function on_search(){ + $(".search").focus(); + $(".search").val(''); +} +//快捷键支持 +// hotkeys('a,esc', function (event, handler){ +// switch (handler.key) { +// case 'a': open_add_link(); +// break; +// case 'esc': clean_search(); +// break; + +// default: alert(event); +// } +// }); + +//链接跳转 +function goto(url) { + window.location.href = url; +} + +function getCookie(cname) +{ + var name = cname + "="; + var ca = document.cookie.split(';'); + for(var i=0; i or contenteditable.',optionsObject:'The options need to be given inside an object like this:\n\nnew Holmes({\n find:".result"\n});\n\nsee also https://haroen.me/holmes/doc/holmes.html',findOption:'A find argument is needed. That should be a querySelectorAll for each of the items you want to match individually. You should have something like:\n\nnew Holmes({\n find:".result"\n});\n\nsee also https://haroen.me/holmes/doc/holmes.html',noInput:'Your Holmes.input didn\'t match a querySelector',impossiblePlaceholder:'The Holmes placeholder couldn\'t be put; the elements had no parent.'},a=function(){function f(a){var k=this;i(this,f);var c=!1;if('object'!==('undefined'==typeof a?'undefined':h(a)))throw new Error(j.optionsObject);if('string'!=typeof a.find)throw new Error(j.findOption);var d={input:'input[type=search]',find:'',placeholder:void 0,mark:!1,class:{visible:void 0,hidden:'hidden'},dynamic:!1,minCharacters:0,hiddenAttr:!1,shouldShow:g,onHidden:void 0,onVisible:void 0,onEmpty:void 0,onFound:void 0,onInput:void 0};this.options=Object.assign({},d,a),this.options.class=Object.assign({},d.class,a.class),this.hidden=0,this.running=!1,window.addEventListener('DOMContentLoaded',function(){return k.start()}),this.search=function(){k.running=!0;var d=!1;k.searchString=k.inputString(),k.options.minCharacters&&0!==k.searchString.length&&k.options.minCharacters>k.searchString.length||(k.options.dynamic&&(k.elements=document.querySelectorAll(k.options.find),k.elementsLength=k.elements.length,k.elementsArray=Array.prototype.slice.call(k.elements)),k.options.mark&&(k._regex=new RegExp('('+k.searchString+')(?![^<]*>)','gi')),k.elementsArray.forEach(function(a){k.options.shouldShow(a.textContent.toLowerCase(),k.searchString)?(k._showElement(a),c&&'function'==typeof k.options.onFound&&k.options.onFound(k.placeholderNode),d=!0):k._hideElement(a)}),'function'==typeof k.options.onInput&&k.options.onInput(k.searchString),d?k.options.placeholder&&k._hideElement(k.placeholderNode):(k.options.placeholder&&k._showElement(k.placeholderNode),!1==c&&(c=!0,'function'==typeof k.options.onEmpty&&k.options.onEmpty(k.placeholderNode))))}}return b(f,[{key:'_hideElement',value:function(b){this.options.class.visible&&b.classList.remove(this.options.class.visible),b.classList.contains(this.options.class.hidden)||(b.classList.add(this.options.class.hidden),this.hidden++,'function'==typeof this.options.onHidden&&this.options.onHidden(b)),this.options.hiddenAttr&&b.setAttribute('hidden','true'),this.options.mark&&(b.innerHTML=b.innerHTML.replace(/<\/?mark>/g,''))}},{key:'_showElement',value:function(b){this.options.class.visible&&b.classList.add(this.options.class.visible),b.classList.contains(this.options.class.hidden)&&(b.classList.remove(this.options.class.hidden),this.hidden--,'function'==typeof this.options.onVisible&&this.options.onVisible(b)),this.options.hiddenAttr&&b.removeAttribute('hidden'),this.options.mark&&(b.innerHTML=b.innerHTML.replace(/<\/?mark>/g,''),this.searchString.length&&(b.innerHTML=b.innerHTML.replace(this._regex,'$1')))}},{key:'_inputHandler',value:function(){console.warn('You can now directly call .search() to refresh the results'),this.search()}},{key:'inputString',value:function(){if(this.input instanceof HTMLInputElement)return this.input.value.toLowerCase();if(this.input.isContentEditable)return this.input.textContent.toLowerCase();throw new Error(j.invalidInput)}},{key:'setInput',value:function(b){if(this.input instanceof HTMLInputElement)this.input.value=b;else if(this.input.isContentEditable)this.input.textContent=b;else throw new Error(j.invalidInput)}},{key:'start',value:function(){var d=document.querySelector(this.options.input);if(d instanceof HTMLElement)this.input=d;else throw new Error(j.noInput);if('string'==typeof this.options.find)this.elements=document.querySelectorAll(this.options.find);else throw new Error(j.findOption);if(this.elementsLength=this.elements.length,this.elementsArray=Array.prototype.slice.call(this.elements),this.hidden=0,'string'==typeof this.options.placeholder){var a=this.options.placeholder;if(this.placeholderNode=document.createElement('div'),this.placeholderNode.id='holmes-placeholder',this._hideElement(this.placeholderNode),this.placeholderNode.innerHTML=a,this.elements[0].parentNode instanceof Element)this.elements[0].parentNode.appendChild(this.placeholderNode);else throw new Error(j.impossiblePlaceholder)}if(this.options.class.visible){var b=this.options.class.visible;this.elementsArray.forEach(function(c){c.classList.add(b)})}this.input.addEventListener('input',this.search)}},{key:'stop',value:function(){var d=this;return new Promise(function(a,b){try{d.input.removeEventListener('input',d.search),d.options.placeholder&&(d.placeholderNode.parentNode?d.placeholderNode.parentNode.removeChild(d.placeholderNode):b(new Error(j.impossiblePlaceholder))),d.options.mark&&d.elementsArray.forEach(function(b){b.innerHTML=b.innerHTML.replace(/<\/?mark>/g,'')}),d.running=!1,a('This instance of Holmes has been stopped.')}catch(c){b(c)}})}},{key:'clear',value:function(){var c=this;this.setInput(''),this.elementsArray.forEach(function(a){c._showElement(a)}),this.options.placeholder&&this._hideElement(this.placeholderNode),this.hidden=0}},{key:'count',value:function(){return{all:this.elementsLength,hidden:this.hidden,visible:this.elementsLength-this.hidden}}}]),f}(),c=function(g){var a=function(){for(var a,b=arguments.length,c=Array(b),d=0;d{for(const s of r)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerpolicy&&(s.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?s.credentials="include":r.crossorigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function o(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();function fs(e,t){const n=Object.create(null),o=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const Wc="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Yc=fs(Wc);function Nl(e){return!!e||e===""}function ds(e){if(X(e)){const t={};for(let n=0;n{if(n){const o=n.split(Xc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function hs(e){let t="";if($e(e))t=e;else if(X(e))for(let n=0;n$e(e)?e:e==null?"":X(e)||Te(e)&&(e.toString===Ml||!ee(e.toString))?JSON.stringify(e,Ll,2):String(e),Ll=(e,t)=>t&&t.__v_isRef?Ll(e,t.value):Sn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r])=>(n[`${o} =>`]=r,n),{})}:Fl(t)?{[`Set(${t.size})`]:[...t.values()]}:Te(t)&&!X(t)&&!Hl(t)?String(t):t,be={},xn=[],vt=()=>{},Zc=()=>!1,Gc=/^on[^a-z]/,zo=e=>Gc.test(e),ms=e=>e.startsWith("onUpdate:"),Me=Object.assign,ps=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},eu=Object.prototype.hasOwnProperty,ie=(e,t)=>eu.call(e,t),X=Array.isArray,Sn=e=>Ko(e)==="[object Map]",Fl=e=>Ko(e)==="[object Set]",ee=e=>typeof e=="function",$e=e=>typeof e=="string",gs=e=>typeof e=="symbol",Te=e=>e!==null&&typeof e=="object",Dl=e=>Te(e)&&ee(e.then)&&ee(e.catch),Ml=Object.prototype.toString,Ko=e=>Ml.call(e),tu=e=>Ko(e).slice(8,-1),Hl=e=>Ko(e)==="[object Object]",vs=e=>$e(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Oo=fs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},nu=/-(\w)/g,Tt=qo(e=>e.replace(nu,(t,n)=>n?n.toUpperCase():"")),ou=/\B([A-Z])/g,pn=qo(e=>e.replace(ou,"-$1").toLowerCase()),Wo=qo(e=>e.charAt(0).toUpperCase()+e.slice(1)),_r=qo(e=>e?`on${Wo(e)}`:""),to=(e,t)=>!Object.is(e,t),yr=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Ul=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ti;const ru=()=>ti||(ti=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Et;class su{constructor(t=!1){this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=Et,!t&&Et&&(this.index=(Et.scopes||(Et.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Et;try{return Et=this,t()}finally{Et=n}}}on(){Et=this}off(){Et=this.parent}stop(t){if(this.active){let n,o;for(n=0,o=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Vl=e=>(e.w&Yt)>0,jl=e=>(e.n&Yt)>0,lu=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o{(u==="length"||u>=o)&&l.push(a)});else switch(n!==void 0&&l.push(i.get(n)),t){case"add":X(e)?vs(n)&&l.push(i.get("length")):(l.push(i.get(cn)),Sn(e)&&l.push(i.get(Vr)));break;case"delete":X(e)||(l.push(i.get(cn)),Sn(e)&&l.push(i.get(Vr)));break;case"set":Sn(e)&&l.push(i.get(cn));break}if(l.length===1)l[0]&&jr(l[0]);else{const a=[];for(const u of l)u&&a.push(...u);jr(_s(a))}}function jr(e,t){const n=X(e)?e:[...e];for(const o of n)o.computed&&oi(o);for(const o of n)o.computed||oi(o)}function oi(e,t){(e!==mt||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const cu=fs("__proto__,__v_isRef,__isVue"),ql=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(gs)),uu=bs(),fu=bs(!1,!0),du=bs(!0),ri=hu();function hu(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const o=me(this);for(let s=0,i=this.length;s{e[t]=function(...n){Bn();const o=me(this)[t].apply(this,n);return $n(),o}}),e}function bs(e=!1,t=!1){return function(o,r,s){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&s===(e?t?Ru:Ql:t?Xl:Jl).get(o))return o;const i=X(o);if(!e&&i&&ie(ri,r))return Reflect.get(ri,r,s);const l=Reflect.get(o,r,s);return(gs(r)?ql.has(r):cu(r))||(e||ot(o,"get",r),t)?l:De(l)?i&&vs(r)?l:l.value:Te(l)?e?Zl(l):We(l):l}}const mu=Wl(),pu=Wl(!0);function Wl(e=!1){return function(n,o,r,s){let i=n[o];if(Pn(i)&&De(i)&&!De(r))return!1;if(!e&&(!No(r)&&!Pn(r)&&(i=me(i),r=me(r)),!X(n)&&De(i)&&!De(r)))return i.value=r,!0;const l=X(n)&&vs(o)?Number(o)e,Yo=e=>Reflect.getPrototypeOf(e);function _o(e,t,n=!1,o=!1){e=e.__v_raw;const r=me(e),s=me(t);n||(t!==s&&ot(r,"get",t),ot(r,"get",s));const{has:i}=Yo(r),l=o?ws:n?xs:no;if(i.call(r,t))return l(e.get(t));if(i.call(r,s))return l(e.get(s));e!==r&&e.get(t)}function yo(e,t=!1){const n=this.__v_raw,o=me(n),r=me(e);return t||(e!==r&&ot(o,"has",e),ot(o,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function bo(e,t=!1){return e=e.__v_raw,!t&&ot(me(e),"iterate",cn),Reflect.get(e,"size",e)}function si(e){e=me(e);const t=me(this);return Yo(t).has.call(t,e)||(t.add(e),Bt(t,"add",e,e)),this}function ii(e,t){t=me(t);const n=me(this),{has:o,get:r}=Yo(n);let s=o.call(n,e);s||(e=me(e),s=o.call(n,e));const i=r.call(n,e);return n.set(e,t),s?to(t,i)&&Bt(n,"set",e,t):Bt(n,"add",e,t),this}function li(e){const t=me(this),{has:n,get:o}=Yo(t);let r=n.call(t,e);r||(e=me(e),r=n.call(t,e)),o&&o.call(t,e);const s=t.delete(e);return r&&Bt(t,"delete",e,void 0),s}function ai(){const e=me(this),t=e.size!==0,n=e.clear();return t&&Bt(e,"clear",void 0,void 0),n}function wo(e,t){return function(o,r){const s=this,i=s.__v_raw,l=me(i),a=t?ws:e?xs:no;return!e&&ot(l,"iterate",cn),i.forEach((u,c)=>o.call(r,a(u),a(c),s))}}function Eo(e,t,n){return function(...o){const r=this.__v_raw,s=me(r),i=Sn(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,u=r[e](...o),c=n?ws:t?xs:no;return!t&&ot(s,"iterate",a?Vr:cn),{next(){const{value:d,done:f}=u.next();return f?{value:d,done:f}:{value:l?[c(d[0]),c(d[1])]:c(d),done:f}},[Symbol.iterator](){return this}}}}function Dt(e){return function(...t){return e==="delete"?!1:this}}function wu(){const e={get(s){return _o(this,s)},get size(){return bo(this)},has:yo,add:si,set:ii,delete:li,clear:ai,forEach:wo(!1,!1)},t={get(s){return _o(this,s,!1,!0)},get size(){return bo(this)},has:yo,add:si,set:ii,delete:li,clear:ai,forEach:wo(!1,!0)},n={get(s){return _o(this,s,!0)},get size(){return bo(this,!0)},has(s){return yo.call(this,s,!0)},add:Dt("add"),set:Dt("set"),delete:Dt("delete"),clear:Dt("clear"),forEach:wo(!0,!1)},o={get(s){return _o(this,s,!0,!0)},get size(){return bo(this,!0)},has(s){return yo.call(this,s,!0)},add:Dt("add"),set:Dt("set"),delete:Dt("delete"),clear:Dt("clear"),forEach:wo(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=Eo(s,!1,!1),n[s]=Eo(s,!0,!1),t[s]=Eo(s,!1,!0),o[s]=Eo(s,!0,!0)}),[e,n,t,o]}const[Eu,Cu,xu,Su]=wu();function Es(e,t){const n=t?e?Su:xu:e?Cu:Eu;return(o,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(ie(n,r)&&r in o?n:o,r,s)}const Tu={get:Es(!1,!1)},Ou={get:Es(!1,!0)},Pu={get:Es(!0,!1)},Jl=new WeakMap,Xl=new WeakMap,Ql=new WeakMap,Ru=new WeakMap;function ku(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Au(e){return e.__v_skip||!Object.isExtensible(e)?0:ku(tu(e))}function We(e){return Pn(e)?e:Cs(e,!1,Yl,Tu,Jl)}function Bu(e){return Cs(e,!1,bu,Ou,Xl)}function Zl(e){return Cs(e,!0,yu,Pu,Ql)}function Cs(e,t,n,o,r){if(!Te(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const i=Au(e);if(i===0)return e;const l=new Proxy(e,i===2?o:n);return r.set(e,l),l}function Tn(e){return Pn(e)?Tn(e.__v_raw):!!(e&&e.__v_isReactive)}function Pn(e){return!!(e&&e.__v_isReadonly)}function No(e){return!!(e&&e.__v_isShallow)}function Gl(e){return Tn(e)||Pn(e)}function me(e){const t=e&&e.__v_raw;return t?me(t):e}function ea(e){return Io(e,"__v_skip",!0),e}const no=e=>Te(e)?We(e):e,xs=e=>Te(e)?Zl(e):e;function ta(e){Kt&&mt&&(e=me(e),Kl(e.dep||(e.dep=_s())))}function na(e,t){e=me(e),e.dep&&jr(e.dep)}function De(e){return!!(e&&e.__v_isRef===!0)}function J(e){return oa(e,!1)}function $u(e){return oa(e,!0)}function oa(e,t){return De(e)?e:new Iu(e,t)}class Iu{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:me(t),this._value=n?t:no(t)}get value(){return ta(this),this._value}set value(t){const n=this.__v_isShallow||No(t)||Pn(t);t=n?t:me(t),to(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:no(t),na(this))}}function Re(e){return De(e)?e.value:e}const Nu={get:(e,t,n)=>Re(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return De(r)&&!De(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function ra(e){return Tn(e)?e:new Proxy(e,Nu)}var sa;class Lu{constructor(t,n,o,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[sa]=!1,this._dirty=!0,this.effect=new ys(t,()=>{this._dirty||(this._dirty=!0,na(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=o}get value(){const t=me(this);return ta(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}sa="__v_isReadonly";function Fu(e,t,n=!1){let o,r;const s=ee(e);return s?(o=e,r=vt):(o=e.get,r=e.set),new Lu(o,r,s||!r,n)}function qt(e,t,n,o){let r;try{r=o?e(...o):e()}catch(s){Jo(s,t,n)}return r}function ct(e,t,n,o){if(ee(e)){const s=qt(e,t,n,o);return s&&Dl(s)&&s.catch(i=>{Jo(i,t,n)}),s}const r=[];for(let s=0;s>>1;ro(He[o])xt&&He.splice(t,1)}function Uu(e){X(e)?On.push(...e):(!kt||!kt.includes(e,e.allowRecurse?rn+1:rn))&&On.push(e),la()}function ci(e,t=oo?xt+1:0){for(;tro(n)-ro(o)),rn=0;rne.id==null?1/0:e.id,Vu=(e,t)=>{const n=ro(e)-ro(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ca(e){zr=!1,oo=!0,He.sort(Vu);const t=vt;try{for(xt=0;xth.trim())),d&&(r=n.map(Ul))}let l,a=o[l=_r(t)]||o[l=_r(Tt(t))];!a&&s&&(a=o[l=_r(pn(t))]),a&&ct(a,e,6,r);const u=o[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ct(u,e,6,r)}}function ua(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(r!==void 0)return r;const s=e.emits;let i={},l=!1;if(!ee(e)){const a=u=>{const c=ua(u,t,!0);c&&(l=!0,Me(i,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(Te(e)&&o.set(e,null),null):(X(s)?s.forEach(a=>i[a]=null):Me(i,s),Te(e)&&o.set(e,i),i)}function Xo(e,t){return!e||!zo(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,pn(t))||ie(e,t))}let at=null,fa=null;function Lo(e){const t=at;return at=e,fa=e&&e.type.__scopeId||null,t}function pe(e,t=at,n){if(!t||e._n)return e;const o=(...r)=>{o._d&&wi(-1);const s=Lo(t);let i;try{i=e(...r)}finally{Lo(s),o._d&&wi(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function br(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:s,propsOptions:[i],slots:l,attrs:a,emit:u,render:c,renderCache:d,data:f,setupState:h,ctx:p,inheritAttrs:_}=e;let b,y;const x=Lo(e);try{if(n.shapeFlag&4){const E=r||o;b=Ct(c.call(E,E,d,s,h,f,p)),y=a}else{const E=t;b=Ct(E.length>1?E(s,{attrs:a,slots:l,emit:u}):E(s,null)),y=t.props?a:zu(a)}}catch(E){Qn.length=0,Jo(E,e,1),b=g(_t)}let A=b;if(y&&_!==!1){const E=Object.keys(y),{shapeFlag:B}=A;E.length&&B&7&&(i&&E.some(ms)&&(y=Ku(y,i)),A=Xt(A,y))}return n.dirs&&(A=Xt(A),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&(A.transition=n.transition),b=A,Lo(x),b}const zu=e=>{let t;for(const n in e)(n==="class"||n==="style"||zo(n))&&((t||(t={}))[n]=e[n]);return t},Ku=(e,t)=>{const n={};for(const o in e)(!ms(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function qu(e,t,n){const{props:o,children:r,component:s}=e,{props:i,children:l,patchFlag:a}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return o?ui(o,i,u):!!i;if(a&8){const c=t.dynamicProps;for(let d=0;de.__isSuspense;function Ju(e,t){t&&t.pendingBranch?X(e)?t.effects.push(...e):t.effects.push(e):Uu(e)}function Wt(e,t){if(Ie){let n=Ie.provides;const o=Ie.parent&&Ie.parent.provides;o===n&&(n=Ie.provides=Object.create(o)),n[e]=t}}function Ze(e,t,n=!1){const o=Ie||at;if(o){const r=o.parent==null?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&ee(t)?t.call(o.proxy):t}}function da(e,t){return Os(e,null,t)}const fi={};function ke(e,t,n){return Os(e,t,n)}function Os(e,t,{immediate:n,deep:o,flush:r,onTrack:s,onTrigger:i}=be){const l=Ie;let a,u=!1,c=!1;if(De(e)?(a=()=>e.value,u=No(e)):Tn(e)?(a=()=>e,o=!0):X(e)?(c=!0,u=e.some(y=>Tn(y)||No(y)),a=()=>e.map(y=>{if(De(y))return y.value;if(Tn(y))return an(y);if(ee(y))return qt(y,l,2)})):ee(e)?t?a=()=>qt(e,l,2):a=()=>{if(!(l&&l.isUnmounted))return d&&d(),ct(e,l,3,[f])}:a=vt,t&&o){const y=a;a=()=>an(y())}let d,f=y=>{d=b.onStop=()=>{qt(y,l,4)}};if(io)return f=vt,t?n&&ct(t,l,3,[a(),c?[]:void 0,f]):a(),vt;let h=c?[]:fi;const p=()=>{if(!!b.active)if(t){const y=b.run();(o||u||(c?y.some((x,A)=>to(x,h[A])):to(y,h)))&&(d&&d(),ct(t,l,3,[y,h===fi?void 0:h,f]),h=y)}else b.run()};p.allowRecurse=!!t;let _;r==="sync"?_=p:r==="post"?_=()=>Xe(p,l&&l.suspense):(p.pre=!0,l&&(p.id=l.uid),_=()=>Ts(p));const b=new ys(a,_);return t?n?p():h=b.run():r==="post"?Xe(b.run.bind(b),l&&l.suspense):b.run(),()=>{b.stop(),l&&l.scope&&ps(l.scope.effects,b)}}function Xu(e,t,n){const o=this.proxy,r=$e(e)?e.includes(".")?ha(o,e):()=>o[e]:e.bind(o,o);let s;ee(t)?s=t:(s=t.handler,n=t);const i=Ie;Rn(this);const l=Os(r,s.bind(o),n);return i?Rn(i):un(),l}function ha(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;r{an(n,t)});else if(Hl(e))for(const n in e)an(e[n],t);return e}function Qu(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return st(()=>{e.isMounted=!0}),er(()=>{e.isUnmounting=!0}),e}const it=[Function,Array],Zu={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:it,onEnter:it,onAfterEnter:it,onEnterCancelled:it,onBeforeLeave:it,onLeave:it,onAfterLeave:it,onLeaveCancelled:it,onBeforeAppear:it,onAppear:it,onAfterAppear:it,onAppearCancelled:it},setup(e,{slots:t}){const n=Nt(),o=Qu();let r;return()=>{const s=t.default&&ga(t.default(),!0);if(!s||!s.length)return;let i=s[0];if(s.length>1){for(const _ of s)if(_.type!==_t){i=_;break}}const l=me(e),{mode:a}=l;if(o.isLeaving)return wr(i);const u=di(i);if(!u)return wr(i);const c=Kr(u,l,o,n);qr(u,c);const d=n.subTree,f=d&&di(d);let h=!1;const{getTransitionKey:p}=u.type;if(p){const _=p();r===void 0?r=_:_!==r&&(r=_,h=!0)}if(f&&f.type!==_t&&(!sn(u,f)||h)){const _=Kr(f,l,o,n);if(qr(f,_),a==="out-in")return o.isLeaving=!0,_.afterLeave=()=>{o.isLeaving=!1,n.update()},wr(i);a==="in-out"&&u.type!==_t&&(_.delayLeave=(b,y,x)=>{const A=pa(o,f);A[String(f.key)]=f,b._leaveCb=()=>{y(),b._leaveCb=void 0,delete c.delayedLeave},c.delayedLeave=x})}return i}}},ma=Zu;function pa(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function Kr(e,t,n,o){const{appear:r,mode:s,persisted:i=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:u,onEnterCancelled:c,onBeforeLeave:d,onLeave:f,onAfterLeave:h,onLeaveCancelled:p,onBeforeAppear:_,onAppear:b,onAfterAppear:y,onAppearCancelled:x}=t,A=String(e.key),E=pa(n,e),B=(V,te)=>{V&&ct(V,o,9,te)},z=(V,te)=>{const ne=te[1];B(V,te),X(V)?V.every(de=>de.length<=1)&&ne():V.length<=1&&ne()},G={mode:s,persisted:i,beforeEnter(V){let te=l;if(!n.isMounted)if(r)te=_||l;else return;V._leaveCb&&V._leaveCb(!0);const ne=E[A];ne&&sn(e,ne)&&ne.el._leaveCb&&ne.el._leaveCb(),B(te,[V])},enter(V){let te=a,ne=u,de=c;if(!n.isMounted)if(r)te=b||a,ne=y||u,de=x||c;else return;let H=!1;const D=V._enterCb=W=>{H||(H=!0,W?B(de,[V]):B(ne,[V]),G.delayedLeave&&G.delayedLeave(),V._enterCb=void 0)};te?z(te,[V,D]):D()},leave(V,te){const ne=String(e.key);if(V._enterCb&&V._enterCb(!0),n.isUnmounting)return te();B(d,[V]);let de=!1;const H=V._leaveCb=D=>{de||(de=!0,te(),D?B(p,[V]):B(h,[V]),V._leaveCb=void 0,E[ne]===e&&delete E[ne])};E[ne]=e,f?z(f,[V,H]):H()},clone(V){return Kr(V,t,n,o)}};return G}function wr(e){if(Qo(e))return e=Xt(e),e.children=null,e}function di(e){return Qo(e)?e.children?e.children[0]:void 0:e}function qr(e,t){e.shapeFlag&6&&e.component?qr(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ga(e,t=!1,n){let o=[],r=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader,Qo=e=>e.type.__isKeepAlive;function Ps(e,t){va(e,"a",t)}function Zo(e,t){va(e,"da",t)}function va(e,t,n=Ie){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Go(t,o,n),n){let r=n.parent;for(;r&&r.parent;)Qo(r.parent.vnode)&&Gu(o,t,n,r),r=r.parent}}function Gu(e,t,n,o){const r=Go(t,e,o,!0);fo(()=>{ps(o[t],r)},n)}function Go(e,t,n=Ie,o=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Bn(),Rn(n);const l=ct(t,n,e,i);return un(),$n(),l});return o?r.unshift(s):r.push(s),s}}const It=e=>(t,n=Ie)=>(!io||e==="sp")&&Go(e,(...o)=>t(...o),n),ef=It("bm"),st=It("m"),tf=It("bu"),nf=It("u"),er=It("bum"),fo=It("um"),of=It("sp"),rf=It("rtg"),sf=It("rtc");function lf(e,t=Ie){Go("ec",e,t)}function tr(e,t){const n=at;if(n===null)return e;const o=or(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;st(i,l,void 0,s&&s[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,a=i.length;le?ka(e)?or(e)||e.proxy:Wr(e.parent):null,Fo=Me(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Wr(e.parent),$root:e=>Wr(e.root),$emit:e=>e.emit,$options:e=>Rs(e),$forceUpdate:e=>e.f||(e.f=()=>Ts(e.update)),$nextTick:e=>e.n||(e.n=tt.bind(e.proxy)),$watch:e=>Xu.bind(e)}),df={get({_:e},t){const{ctx:n,setupState:o,data:r,props:s,accessCache:i,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(o!==be&&ie(o,t))return i[t]=1,o[t];if(r!==be&&ie(r,t))return i[t]=2,r[t];if((u=e.propsOptions[0])&&ie(u,t))return i[t]=3,s[t];if(n!==be&&ie(n,t))return i[t]=4,n[t];Yr&&(i[t]=0)}}const c=Fo[t];let d,f;if(c)return t==="$attrs"&&ot(e,"get",t),c(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==be&&ie(n,t))return i[t]=4,n[t];if(f=a.config.globalProperties,ie(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:s}=e;return r!==be&&ie(r,t)?(r[t]=n,!0):o!==be&&ie(o,t)?(o[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,propsOptions:s}},i){let l;return!!n[i]||e!==be&&ie(e,i)||t!==be&&ie(t,i)||(l=s[0])&&ie(l,i)||ie(o,i)||ie(Fo,i)||ie(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Yr=!0;function hf(e){const t=Rs(e),n=e.proxy,o=e.ctx;Yr=!1,t.beforeCreate&&mi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:i,watch:l,provide:a,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:h,updated:p,activated:_,deactivated:b,beforeDestroy:y,beforeUnmount:x,destroyed:A,unmounted:E,render:B,renderTracked:z,renderTriggered:G,errorCaptured:V,serverPrefetch:te,expose:ne,inheritAttrs:de,components:H,directives:D,filters:W}=t;if(u&&mf(u,o,null,e.appContext.config.unwrapInjectedRef),i)for(const le in i){const ae=i[le];ee(ae)&&(o[le]=ae.bind(n))}if(r){const le=r.call(n,n);Te(le)&&(e.data=We(le))}if(Yr=!0,s)for(const le in s){const ae=s[le],Le=ee(ae)?ae.bind(n,n):ee(ae.get)?ae.get.bind(n,n):vt,N=!ee(ae)&&ee(ae.set)?ae.set.bind(n):vt,j=fe({get:Le,set:N});Object.defineProperty(o,le,{enumerable:!0,configurable:!0,get:()=>j.value,set:Q=>j.value=Q})}if(l)for(const le in l)wa(l[le],o,n,le);if(a){const le=ee(a)?a.call(n):a;Reflect.ownKeys(le).forEach(ae=>{Wt(ae,le[ae])})}c&&mi(c,e,"c");function re(le,ae){X(ae)?ae.forEach(Le=>le(Le.bind(n))):ae&&le(ae.bind(n))}if(re(ef,d),re(st,f),re(tf,h),re(nf,p),re(Ps,_),re(Zo,b),re(lf,V),re(sf,z),re(rf,G),re(er,x),re(fo,E),re(of,te),X(ne))if(ne.length){const le=e.exposed||(e.exposed={});ne.forEach(ae=>{Object.defineProperty(le,ae,{get:()=>n[ae],set:Le=>n[ae]=Le})})}else e.exposed||(e.exposed={});B&&e.render===vt&&(e.render=B),de!=null&&(e.inheritAttrs=de),H&&(e.components=H),D&&(e.directives=D)}function mf(e,t,n=vt,o=!1){X(e)&&(e=Jr(e));for(const r in e){const s=e[r];let i;Te(s)?"default"in s?i=Ze(s.from||r,s.default,!0):i=Ze(s.from||r):i=Ze(s),De(i)&&o?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[r]=i}}function mi(e,t,n){ct(X(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function wa(e,t,n,o){const r=o.includes(".")?ha(n,o):()=>n[o];if($e(e)){const s=t[e];ee(s)&&ke(r,s)}else if(ee(e))ke(r,e.bind(n));else if(Te(e))if(X(e))e.forEach(s=>wa(s,t,n,o));else{const s=ee(e.handler)?e.handler.bind(n):t[e.handler];ee(s)&&ke(r,s,e)}}function Rs(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let a;return l?a=l:!r.length&&!n&&!o?a=t:(a={},r.length&&r.forEach(u=>Do(a,u,i,!0)),Do(a,t,i)),Te(t)&&s.set(t,a),a}function Do(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&Do(e,s,n,!0),r&&r.forEach(i=>Do(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const l=pf[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const pf={data:pi,props:nn,emits:nn,methods:nn,computed:nn,beforeCreate:Ve,created:Ve,beforeMount:Ve,mounted:Ve,beforeUpdate:Ve,updated:Ve,beforeDestroy:Ve,beforeUnmount:Ve,destroyed:Ve,unmounted:Ve,activated:Ve,deactivated:Ve,errorCaptured:Ve,serverPrefetch:Ve,components:nn,directives:nn,watch:vf,provide:pi,inject:gf};function pi(e,t){return t?e?function(){return Me(ee(e)?e.call(this,this):e,ee(t)?t.call(this,this):t)}:t:e}function gf(e,t){return nn(Jr(e),Jr(t))}function Jr(e){if(X(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let d=0;d{a=!0;const[f,h]=Ca(d,t,!0);Me(i,f),h&&l.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!s&&!a)return Te(e)&&o.set(e,xn),xn;if(X(s))for(let c=0;c-1,h[1]=_<0||p<_,(p>-1||ie(h,"default"))&&l.push(d)}}}const u=[i,l];return Te(e)&&o.set(e,u),u}function gi(e){return e[0]!=="$"}function vi(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function _i(e,t){return vi(e)===vi(t)}function yi(e,t){return X(t)?t.findIndex(n=>_i(n,e)):ee(t)&&_i(t,e)?0:-1}const xa=e=>e[0]==="_"||e==="$stable",ks=e=>X(e)?e.map(Ct):[Ct(e)],bf=(e,t,n)=>{if(t._n)return t;const o=pe((...r)=>ks(t(...r)),n);return o._c=!1,o},Sa=(e,t,n)=>{const o=e._ctx;for(const r in e){if(xa(r))continue;const s=e[r];if(ee(s))t[r]=bf(r,s,o);else if(s!=null){const i=ks(s);t[r]=()=>i}}},Ta=(e,t)=>{const n=ks(t);e.slots.default=()=>n},wf=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=me(t),Io(t,"_",n)):Sa(t,e.slots={})}else e.slots={},t&&Ta(e,t);Io(e.slots,nr,1)},Ef=(e,t,n)=>{const{vnode:o,slots:r}=e;let s=!0,i=be;if(o.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:(Me(r,t),!n&&l===1&&delete r._):(s=!t.$stable,Sa(t,r)),i=t}else t&&(Ta(e,t),i={default:1});if(s)for(const l in r)!xa(l)&&!(l in i)&&delete r[l]};function Oa(){return{app:null,config:{isNativeTag:Zc,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Cf=0;function xf(e,t){return function(o,r=null){ee(o)||(o=Object.assign({},o)),r!=null&&!Te(r)&&(r=null);const s=Oa(),i=new Set;let l=!1;const a=s.app={_uid:Cf++,_component:o,_props:r,_container:null,_context:s,_instance:null,version:zf,get config(){return s.config},set config(u){},use(u,...c){return i.has(u)||(u&&ee(u.install)?(i.add(u),u.install(a,...c)):ee(u)&&(i.add(u),u(a,...c))),a},mixin(u){return s.mixins.includes(u)||s.mixins.push(u),a},component(u,c){return c?(s.components[u]=c,a):s.components[u]},directive(u,c){return c?(s.directives[u]=c,a):s.directives[u]},mount(u,c,d){if(!l){const f=g(o,r);return f.appContext=s,c&&t?t(f,u):e(f,u,d),l=!0,a._container=u,u.__vue_app__=a,or(f.component)||f.component.proxy}},unmount(){l&&(e(null,a._container),delete a._container.__vue_app__)},provide(u,c){return s.provides[u]=c,a}};return a}}function Qr(e,t,n,o,r=!1){if(X(e)){e.forEach((f,h)=>Qr(f,t&&(X(t)?t[h]:t),n,o,r));return}if(Po(o)&&!r)return;const s=o.shapeFlag&4?or(o.component)||o.component.proxy:o.el,i=r?null:s,{i:l,r:a}=e,u=t&&t.r,c=l.refs===be?l.refs={}:l.refs,d=l.setupState;if(u!=null&&u!==a&&($e(u)?(c[u]=null,ie(d,u)&&(d[u]=null)):De(u)&&(u.value=null)),ee(a))qt(a,l,12,[i,c]);else{const f=$e(a),h=De(a);if(f||h){const p=()=>{if(e.f){const _=f?ie(d,a)?d[a]:c[a]:a.value;r?X(_)&&ps(_,s):X(_)?_.includes(s)||_.push(s):f?(c[a]=[s],ie(d,a)&&(d[a]=c[a])):(a.value=[s],e.k&&(c[e.k]=a.value))}else f?(c[a]=i,ie(d,a)&&(d[a]=i)):h&&(a.value=i,e.k&&(c[e.k]=i))};i?(p.id=-1,Xe(p,n)):p()}}}const Xe=Ju;function Sf(e){return Tf(e)}function Tf(e,t){const n=ru();n.__VUE__=!0;const{insert:o,remove:r,patchProp:s,createElement:i,createText:l,createComment:a,setText:u,setElementText:c,parentNode:d,nextSibling:f,setScopeId:h=vt,insertStaticContent:p}=e,_=(m,v,C,S=null,P=null,I=null,M=!1,$=null,F=!!v.dynamicChildren)=>{if(m===v)return;m&&!sn(m,v)&&(S=R(m),Q(m,P,I,!0),m=null),v.patchFlag===-2&&(F=!1,v.dynamicChildren=null);const{type:k,ref:K,shapeFlag:U}=v;switch(k){case Bs:b(m,v,C,S);break;case _t:y(m,v,C,S);break;case Er:m==null&&x(v,C,S,M);break;case je:H(m,v,C,S,P,I,M,$,F);break;default:U&1?B(m,v,C,S,P,I,M,$,F):U&6?D(m,v,C,S,P,I,M,$,F):(U&64||U&128)&&k.process(m,v,C,S,P,I,M,$,F,Y)}K!=null&&P&&Qr(K,m&&m.ref,I,v||m,!v)},b=(m,v,C,S)=>{if(m==null)o(v.el=l(v.children),C,S);else{const P=v.el=m.el;v.children!==m.children&&u(P,v.children)}},y=(m,v,C,S)=>{m==null?o(v.el=a(v.children||""),C,S):v.el=m.el},x=(m,v,C,S)=>{[m.el,m.anchor]=p(m.children,v,C,S,m.el,m.anchor)},A=({el:m,anchor:v},C,S)=>{let P;for(;m&&m!==v;)P=f(m),o(m,C,S),m=P;o(v,C,S)},E=({el:m,anchor:v})=>{let C;for(;m&&m!==v;)C=f(m),r(m),m=C;r(v)},B=(m,v,C,S,P,I,M,$,F)=>{M=M||v.type==="svg",m==null?z(v,C,S,P,I,M,$,F):te(m,v,P,I,M,$,F)},z=(m,v,C,S,P,I,M,$)=>{let F,k;const{type:K,props:U,shapeFlag:q,transition:Z,dirs:se}=m;if(F=m.el=i(m.type,I,U&&U.is,U),q&8?c(F,m.children):q&16&&V(m.children,F,null,S,P,I&&K!=="foreignObject",M,$),se&&Zt(m,null,S,"created"),U){for(const ye in U)ye!=="value"&&!Oo(ye)&&s(F,ye,null,U[ye],I,m.children,S,P,w);"value"in U&&s(F,"value",null,U.value),(k=U.onVnodeBeforeMount)&&wt(k,S,m)}G(F,m,m.scopeId,M,S),se&&Zt(m,null,S,"beforeMount");const xe=(!P||P&&!P.pendingBranch)&&Z&&!Z.persisted;xe&&Z.beforeEnter(F),o(F,v,C),((k=U&&U.onVnodeMounted)||xe||se)&&Xe(()=>{k&&wt(k,S,m),xe&&Z.enter(F),se&&Zt(m,null,S,"mounted")},P)},G=(m,v,C,S,P)=>{if(C&&h(m,C),S)for(let I=0;I{for(let k=F;k{const $=v.el=m.el;let{patchFlag:F,dynamicChildren:k,dirs:K}=v;F|=m.patchFlag&16;const U=m.props||be,q=v.props||be;let Z;C&&Gt(C,!1),(Z=q.onVnodeBeforeUpdate)&&wt(Z,C,v,m),K&&Zt(v,m,C,"beforeUpdate"),C&&Gt(C,!0);const se=P&&v.type!=="foreignObject";if(k?ne(m.dynamicChildren,k,$,C,S,se,I):M||ae(m,v,$,null,C,S,se,I,!1),F>0){if(F&16)de($,v,U,q,C,S,P);else if(F&2&&U.class!==q.class&&s($,"class",null,q.class,P),F&4&&s($,"style",U.style,q.style,P),F&8){const xe=v.dynamicProps;for(let ye=0;ye{Z&&wt(Z,C,v,m),K&&Zt(v,m,C,"updated")},S)},ne=(m,v,C,S,P,I,M)=>{for(let $=0;${if(C!==S){if(C!==be)for(const $ in C)!Oo($)&&!($ in S)&&s(m,$,C[$],null,M,v.children,P,I,w);for(const $ in S){if(Oo($))continue;const F=S[$],k=C[$];F!==k&&$!=="value"&&s(m,$,k,F,M,v.children,P,I,w)}"value"in S&&s(m,"value",C.value,S.value)}},H=(m,v,C,S,P,I,M,$,F)=>{const k=v.el=m?m.el:l(""),K=v.anchor=m?m.anchor:l("");let{patchFlag:U,dynamicChildren:q,slotScopeIds:Z}=v;Z&&($=$?$.concat(Z):Z),m==null?(o(k,C,S),o(K,C,S),V(v.children,C,K,P,I,M,$,F)):U>0&&U&64&&q&&m.dynamicChildren?(ne(m.dynamicChildren,q,C,P,I,M,$),(v.key!=null||P&&v===P.subTree)&&As(m,v,!0)):ae(m,v,C,K,P,I,M,$,F)},D=(m,v,C,S,P,I,M,$,F)=>{v.slotScopeIds=$,m==null?v.shapeFlag&512?P.ctx.activate(v,C,S,M,F):W(v,C,S,P,I,M,F):Ce(m,v,F)},W=(m,v,C,S,P,I,M)=>{const $=m.component=Ff(m,S,P);if(Qo(m)&&($.ctx.renderer=Y),Df($),$.asyncDep){if(P&&P.registerDep($,re),!m.el){const F=$.subTree=g(_t);y(null,F,v,C)}return}re($,m,v,C,P,I,M)},Ce=(m,v,C)=>{const S=v.component=m.component;if(qu(m,v,C))if(S.asyncDep&&!S.asyncResolved){le(S,v,C);return}else S.next=v,Hu(S.update),S.update();else v.el=m.el,S.vnode=v},re=(m,v,C,S,P,I,M)=>{const $=()=>{if(m.isMounted){let{next:K,bu:U,u:q,parent:Z,vnode:se}=m,xe=K,ye;Gt(m,!1),K?(K.el=se.el,le(m,K,M)):K=se,U&&yr(U),(ye=K.props&&K.props.onVnodeBeforeUpdate)&&wt(ye,Z,K,se),Gt(m,!0);const Ae=br(m),ft=m.subTree;m.subTree=Ae,_(ft,Ae,d(ft.el),R(ft),m,P,I),K.el=Ae.el,xe===null&&Wu(m,Ae.el),q&&Xe(q,P),(ye=K.props&&K.props.onVnodeUpdated)&&Xe(()=>wt(ye,Z,K,se),P)}else{let K;const{el:U,props:q}=v,{bm:Z,m:se,parent:xe}=m,ye=Po(v);if(Gt(m,!1),Z&&yr(Z),!ye&&(K=q&&q.onVnodeBeforeMount)&&wt(K,xe,v),Gt(m,!0),U&&oe){const Ae=()=>{m.subTree=br(m),oe(U,m.subTree,m,P,null)};ye?v.type.__asyncLoader().then(()=>!m.isUnmounted&&Ae()):Ae()}else{const Ae=m.subTree=br(m);_(null,Ae,C,S,m,P,I),v.el=Ae.el}if(se&&Xe(se,P),!ye&&(K=q&&q.onVnodeMounted)){const Ae=v;Xe(()=>wt(K,xe,Ae),P)}(v.shapeFlag&256||xe&&Po(xe.vnode)&&xe.vnode.shapeFlag&256)&&m.a&&Xe(m.a,P),m.isMounted=!0,v=C=S=null}},F=m.effect=new ys($,()=>Ts(k),m.scope),k=m.update=()=>F.run();k.id=m.uid,Gt(m,!0),k()},le=(m,v,C)=>{v.component=m;const S=m.vnode.props;m.vnode=v,m.next=null,yf(m,v.props,S,C),Ef(m,v.children,C),Bn(),ci(),$n()},ae=(m,v,C,S,P,I,M,$,F=!1)=>{const k=m&&m.children,K=m?m.shapeFlag:0,U=v.children,{patchFlag:q,shapeFlag:Z}=v;if(q>0){if(q&128){N(k,U,C,S,P,I,M,$,F);return}else if(q&256){Le(k,U,C,S,P,I,M,$,F);return}}Z&8?(K&16&&w(k,P,I),U!==k&&c(C,U)):K&16?Z&16?N(k,U,C,S,P,I,M,$,F):w(k,P,I,!0):(K&8&&c(C,""),Z&16&&V(U,C,S,P,I,M,$,F))},Le=(m,v,C,S,P,I,M,$,F)=>{m=m||xn,v=v||xn;const k=m.length,K=v.length,U=Math.min(k,K);let q;for(q=0;qK?w(m,P,I,!0,!1,U):V(v,C,S,P,I,M,$,F,U)},N=(m,v,C,S,P,I,M,$,F)=>{let k=0;const K=v.length;let U=m.length-1,q=K-1;for(;k<=U&&k<=q;){const Z=m[k],se=v[k]=F?jt(v[k]):Ct(v[k]);if(sn(Z,se))_(Z,se,C,null,P,I,M,$,F);else break;k++}for(;k<=U&&k<=q;){const Z=m[U],se=v[q]=F?jt(v[q]):Ct(v[q]);if(sn(Z,se))_(Z,se,C,null,P,I,M,$,F);else break;U--,q--}if(k>U){if(k<=q){const Z=q+1,se=Zq)for(;k<=U;)Q(m[k],P,I,!0),k++;else{const Z=k,se=k,xe=new Map;for(k=se;k<=q;k++){const Ge=v[k]=F?jt(v[k]):Ct(v[k]);Ge.key!=null&&xe.set(Ge.key,k)}let ye,Ae=0;const ft=q-se+1;let vn=!1,Zs=0;const Dn=new Array(ft);for(k=0;k=ft){Q(Ge,P,I,!0);continue}let bt;if(Ge.key!=null)bt=xe.get(Ge.key);else for(ye=se;ye<=q;ye++)if(Dn[ye-se]===0&&sn(Ge,v[ye])){bt=ye;break}bt===void 0?Q(Ge,P,I,!0):(Dn[bt-se]=k+1,bt>=Zs?Zs=bt:vn=!0,_(Ge,v[bt],C,null,P,I,M,$,F),Ae++)}const Gs=vn?Of(Dn):xn;for(ye=Gs.length-1,k=ft-1;k>=0;k--){const Ge=se+k,bt=v[Ge],ei=Ge+1{const{el:I,type:M,transition:$,children:F,shapeFlag:k}=m;if(k&6){j(m.component.subTree,v,C,S);return}if(k&128){m.suspense.move(v,C,S);return}if(k&64){M.move(m,v,C,Y);return}if(M===je){o(I,v,C);for(let U=0;U$.enter(I),P);else{const{leave:U,delayLeave:q,afterLeave:Z}=$,se=()=>o(I,v,C),xe=()=>{U(I,()=>{se(),Z&&Z()})};q?q(I,se,xe):xe()}else o(I,v,C)},Q=(m,v,C,S=!1,P=!1)=>{const{type:I,props:M,ref:$,children:F,dynamicChildren:k,shapeFlag:K,patchFlag:U,dirs:q}=m;if($!=null&&Qr($,null,C,m,!0),K&256){v.ctx.deactivate(m);return}const Z=K&1&&q,se=!Po(m);let xe;if(se&&(xe=M&&M.onVnodeBeforeUnmount)&&wt(xe,v,m),K&6)O(m.component,C,S);else{if(K&128){m.suspense.unmount(C,S);return}Z&&Zt(m,null,v,"beforeUnmount"),K&64?m.type.remove(m,v,C,P,Y,S):k&&(I!==je||U>0&&U&64)?w(k,v,C,!1,!0):(I===je&&U&384||!P&&K&16)&&w(F,v,C),S&&Fe(m)}(se&&(xe=M&&M.onVnodeUnmounted)||Z)&&Xe(()=>{xe&&wt(xe,v,m),Z&&Zt(m,null,v,"unmounted")},C)},Fe=m=>{const{type:v,el:C,anchor:S,transition:P}=m;if(v===je){Je(C,S);return}if(v===Er){E(m);return}const I=()=>{r(C),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(m.shapeFlag&1&&P&&!P.persisted){const{leave:M,delayLeave:$}=P,F=()=>M(C,I);$?$(m.el,I,F):F()}else I()},Je=(m,v)=>{let C;for(;m!==v;)C=f(m),r(m),m=C;r(v)},O=(m,v,C)=>{const{bum:S,scope:P,update:I,subTree:M,um:$}=m;S&&yr(S),P.stop(),I&&(I.active=!1,Q(M,m,v,C)),$&&Xe($,v),Xe(()=>{m.isUnmounted=!0},v),v&&v.pendingBranch&&!v.isUnmounted&&m.asyncDep&&!m.asyncResolved&&m.suspenseId===v.pendingId&&(v.deps--,v.deps===0&&v.resolve())},w=(m,v,C,S=!1,P=!1,I=0)=>{for(let M=I;Mm.shapeFlag&6?R(m.component.subTree):m.shapeFlag&128?m.suspense.next():f(m.anchor||m.el),L=(m,v,C)=>{m==null?v._vnode&&Q(v._vnode,null,null,!0):_(v._vnode||null,m,v,null,null,null,C),ci(),aa(),v._vnode=m},Y={p:_,um:Q,m:j,r:Fe,mt:W,mc:V,pc:ae,pbc:ne,n:R,o:e};let he,oe;return t&&([he,oe]=t(Y)),{render:L,hydrate:he,createApp:xf(L,he)}}function Gt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function As(e,t,n=!1){const o=e.children,r=t.children;if(X(o)&&X(r))for(let s=0;s>1,e[n[l]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}const Pf=e=>e.__isTeleport,Xn=e=>e&&(e.disabled||e.disabled===""),bi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Zr=(e,t)=>{const n=e&&e.to;return $e(n)?t?t(n):null:n},Rf={__isTeleport:!0,process(e,t,n,o,r,s,i,l,a,u){const{mc:c,pc:d,pbc:f,o:{insert:h,querySelector:p,createText:_,createComment:b}}=u,y=Xn(t.props);let{shapeFlag:x,children:A,dynamicChildren:E}=t;if(e==null){const B=t.el=_(""),z=t.anchor=_("");h(B,n,o),h(z,n,o);const G=t.target=Zr(t.props,p),V=t.targetAnchor=_("");G&&(h(V,G),i=i||bi(G));const te=(ne,de)=>{x&16&&c(A,ne,de,r,s,i,l,a)};y?te(n,z):G&&te(G,V)}else{t.el=e.el;const B=t.anchor=e.anchor,z=t.target=e.target,G=t.targetAnchor=e.targetAnchor,V=Xn(e.props),te=V?n:z,ne=V?B:G;if(i=i||bi(z),E?(f(e.dynamicChildren,E,te,r,s,i,l),As(e,t,!0)):a||d(e,t,te,ne,r,s,i,l,!1),y)V||Co(t,n,B,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const de=t.target=Zr(t.props,p);de&&Co(t,de,null,u,0)}else V&&Co(t,z,G,u,1)}},remove(e,t,n,o,{um:r,o:{remove:s}},i){const{shapeFlag:l,children:a,anchor:u,targetAnchor:c,target:d,props:f}=e;if(d&&s(c),(i||!Xn(f))&&(s(u),l&16))for(let h=0;h0?gt||xn:null,Bf(),so>0&>&>.push(e),e}function Jt(e,t,n,o,r,s){return Pa(et(e,t,n,o,r,s,!0))}function dn(e,t,n,o,r){return Pa(g(e,t,n,o,r,!0))}function Mo(e){return e?e.__v_isVNode===!0:!1}function sn(e,t){return e.type===t.type&&e.key===t.key}const nr="__vInternal",Ra=({key:e})=>e!=null?e:null,Ro=({ref:e,ref_key:t,ref_for:n})=>e!=null?$e(e)||De(e)||ee(e)?{i:at,r:e,k:t,f:!!n}:e:null;function et(e,t=null,n=null,o=0,r=null,s=e===je?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ra(t),ref:t&&Ro(t),scopeId:fa,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};return l?($s(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=$e(n)?8:16),so>0&&!i&>&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&>.push(a),a}const g=$f;function $f(e,t=null,n=null,o=0,r=null,s=!1){if((!e||e===uf)&&(e=_t),Mo(e)){const l=Xt(e,t,!0);return n&&$s(l,n),so>0&&!s&>&&(l.shapeFlag&6?gt[gt.indexOf(e)]=l:gt.push(l)),l.patchFlag|=-2,l}if(jf(e)&&(e=e.__vccOpts),t){t=If(t);let{class:l,style:a}=t;l&&!$e(l)&&(t.class=hs(l)),Te(a)&&(Gl(a)&&!X(a)&&(a=Me({},a)),t.style=ds(a))}const i=$e(e)?1:Yu(e)?128:Pf(e)?64:Te(e)?4:ee(e)?2:0;return et(e,t,n,o,r,i,s,!0)}function If(e){return e?Gl(e)||nr in e?Me({},e):e:null}function Xt(e,t,n=!1){const{props:o,ref:r,patchFlag:s,children:i}=e,l=t?rt(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ra(l),ref:t&&t.ref?n&&r?X(r)?r.concat(Ro(t)):[r,Ro(t)]:Ro(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==je?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xt(e.ssContent),ssFallback:e.ssFallback&&Xt(e.ssFallback),el:e.el,anchor:e.anchor}}function Qe(e=" ",t=0){return g(Bs,null,e,t)}function Ei(e="",t=!1){return t?(qe(),dn(_t,null,e)):g(_t,null,e)}function Ct(e){return e==null||typeof e=="boolean"?g(_t):X(e)?g(je,null,e.slice()):typeof e=="object"?jt(e):g(Bs,null,String(e))}function jt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xt(e)}function $s(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(X(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),$s(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(nr in t)?t._ctx=at:r===3&&at&&(at.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ee(t)?(t={default:t,_ctx:at},n=32):(t=String(t),o&64?(n=16,t=[Qe(t)]):n=8);e.children=t,e.shapeFlag|=n}function rt(...e){const t={};for(let n=0;nIe||at,Rn=e=>{Ie=e,e.scope.on()},un=()=>{Ie&&Ie.scope.off(),Ie=null};function ka(e){return e.vnode.shapeFlag&4}let io=!1;function Df(e,t=!1){io=t;const{props:n,children:o}=e.vnode,r=ka(e);_f(e,n,r,t),wf(e,o);const s=r?Mf(e,t):void 0;return io=!1,s}function Mf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=ea(new Proxy(e.ctx,df));const{setup:o}=n;if(o){const r=e.setupContext=o.length>1?Uf(e):null;Rn(e),Bn();const s=qt(o,e,0,[e.props,r]);if($n(),un(),Dl(s)){if(s.then(un,un),t)return s.then(i=>{Ci(e,i,t)}).catch(i=>{Jo(i,e,0)});e.asyncDep=s}else Ci(e,s,t)}else Aa(e,t)}function Ci(e,t,n){ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Te(t)&&(e.setupState=ra(t)),Aa(e,n)}let xi;function Aa(e,t,n){const o=e.type;if(!e.render){if(!t&&xi&&!o.render){const r=o.template||Rs(e).template;if(r){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=o,u=Me(Me({isCustomElement:s,delimiters:l},i),a);o.render=xi(r,u)}}e.render=o.render||vt}Rn(e),Bn(),hf(e),$n(),un()}function Hf(e){return new Proxy(e.attrs,{get(t,n){return ot(e,"get","$attrs"),t[n]}})}function Uf(e){const t=o=>{e.exposed=o||{}};let n;return{get attrs(){return n||(n=Hf(e))},slots:e.slots,emit:e.emit,expose:t}}function or(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(ra(ea(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Fo)return Fo[n](e)}}))}function Vf(e,t=!0){return ee(e)?e.displayName||e.name:e.name||t&&e.__name}function jf(e){return ee(e)&&"__vccOpts"in e}const fe=(e,t)=>Fu(e,t,io);function Is(e,t,n){const o=arguments.length;return o===2?Te(t)&&!X(t)?Mo(t)?g(e,null,[t]):g(e,t):g(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Mo(n)&&(n=[n]),g(e,t,n))}const zf="3.2.41",Kf="http://www.w3.org/2000/svg",ln=typeof document<"u"?document:null,Si=ln&&ln.createElement("template"),qf={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t?ln.createElementNS(Kf,e):ln.createElement(e,n?{is:n}:void 0);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>ln.createTextNode(e),createComment:e=>ln.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ln.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const i=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===s||!(r=r.nextSibling)););else{Si.innerHTML=o?`${e}`:e;const l=Si.content;if(o){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Wf(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Yf(e,t,n){const o=e.style,r=$e(n);if(n&&!r){for(const s in n)Gr(o,s,n[s]);if(t&&!$e(t))for(const s in t)n[s]==null&&Gr(o,s,"")}else{const s=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=s)}}const Ti=/\s*!important$/;function Gr(e,t,n){if(X(n))n.forEach(o=>Gr(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=Jf(e,t);Ti.test(n)?e.setProperty(pn(o),n.replace(Ti,""),"important"):e[o]=n}}const Oi=["Webkit","Moz","ms"],Cr={};function Jf(e,t){const n=Cr[t];if(n)return n;let o=Tt(t);if(o!=="filter"&&o in e)return Cr[t]=o;o=Wo(o);for(let r=0;rxr||(nd.then(()=>xr=0),xr=Date.now());function rd(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;ct(sd(o,n.value),t,5,[o])};return n.value=e,n.attached=od(),n}function sd(e,t){if(X(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>r=>!r._stopped&&o&&o(r))}else return t}const ki=/^on[a-z]/,id=(e,t,n,o,r=!1,s,i,l,a)=>{t==="class"?Wf(e,o,r):t==="style"?Yf(e,n,o):zo(t)?ms(t)||ed(e,t,n,o,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ld(e,t,o,r))?Qf(e,t,o,s,i,l,a):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Xf(e,t,o,r))};function ld(e,t,n,o){return o?!!(t==="innerHTML"||t==="textContent"||t in e&&ki.test(t)&&ee(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||ki.test(t)&&$e(n)?!1:t in e}const Mt="transition",Mn="animation",ho=(e,{slots:t})=>Is(ma,ad(e),t);ho.displayName="Transition";const Ba={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ho.props=Me({},ma.props,Ba);const en=(e,t=[])=>{X(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ai=e=>e?X(e)?e.some(t=>t.length>1):e.length>1:!1;function ad(e){const t={};for(const H in e)H in Ba||(t[H]=e[H]);if(e.css===!1)return t;const{name:n="v",type:o,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:u=i,appearToClass:c=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,p=cd(r),_=p&&p[0],b=p&&p[1],{onBeforeEnter:y,onEnter:x,onEnterCancelled:A,onLeave:E,onLeaveCancelled:B,onBeforeAppear:z=y,onAppear:G=x,onAppearCancelled:V=A}=t,te=(H,D,W)=>{tn(H,D?c:l),tn(H,D?u:i),W&&W()},ne=(H,D)=>{H._isLeaving=!1,tn(H,d),tn(H,h),tn(H,f),D&&D()},de=H=>(D,W)=>{const Ce=H?G:x,re=()=>te(D,H,W);en(Ce,[D,re]),Bi(()=>{tn(D,H?a:s),Ht(D,H?c:l),Ai(Ce)||$i(D,o,_,re)})};return Me(t,{onBeforeEnter(H){en(y,[H]),Ht(H,s),Ht(H,i)},onBeforeAppear(H){en(z,[H]),Ht(H,a),Ht(H,u)},onEnter:de(!1),onAppear:de(!0),onLeave(H,D){H._isLeaving=!0;const W=()=>ne(H,D);Ht(H,d),dd(),Ht(H,f),Bi(()=>{!H._isLeaving||(tn(H,d),Ht(H,h),Ai(E)||$i(H,o,b,W))}),en(E,[H,W])},onEnterCancelled(H){te(H,!1),en(A,[H])},onAppearCancelled(H){te(H,!0),en(V,[H])},onLeaveCancelled(H){ne(H),en(B,[H])}})}function cd(e){if(e==null)return null;if(Te(e))return[Sr(e.enter),Sr(e.leave)];{const t=Sr(e);return[t,t]}}function Sr(e){return Ul(e)}function Ht(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function tn(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Bi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ud=0;function $i(e,t,n,o){const r=e._endId=++ud,s=()=>{r===e._endId&&o()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=fd(e,t);if(!i)return o();const u=i+"end";let c=0;const d=()=>{e.removeEventListener(u,f),s()},f=h=>{h.target===e&&++c>=a&&d()};setTimeout(()=>{c(n[p]||"").split(", "),r=o(Mt+"Delay"),s=o(Mt+"Duration"),i=Ii(r,s),l=o(Mn+"Delay"),a=o(Mn+"Duration"),u=Ii(l,a);let c=null,d=0,f=0;t===Mt?i>0&&(c=Mt,d=i,f=s.length):t===Mn?u>0&&(c=Mn,d=u,f=a.length):(d=Math.max(i,u),c=d>0?i>u?Mt:Mn:null,f=c?c===Mt?s.length:a.length:0);const h=c===Mt&&/\b(transform|all)(,|$)/.test(n[Mt+"Property"]);return{type:c,timeout:d,propCount:f,hasTransform:h}}function Ii(e,t){for(;e.lengthNi(n)+Ni(e[o])))}function Ni(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function dd(){return document.body.offsetHeight}const hd={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},md=(e,t)=>n=>{if(!("key"in n))return;const o=pn(n.key);if(t.some(r=>r===o||hd[r]===o))return e(n)},Ns={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Hn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),Hn(e,!0),o.enter(e)):o.leave(e,()=>{Hn(e,!1)}):Hn(e,t))},beforeUnmount(e,{value:t}){Hn(e,t)}};function Hn(e,t){e.style.display=t?e._vod:"none"}const pd=Me({patchProp:id},qf);let Li;function gd(){return Li||(Li=Sf(pd))}const $a=(...e)=>{const t=gd().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=vd(o);if(!r)return;const s=t._component;!ee(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function vd(e){return $e(e)?document.querySelector(e):e}const Ne=e=>e!=null,lo=e=>typeof e=="function",Lt=e=>e!==null&&typeof e=="object",Ia=e=>Lt(e)&&lo(e.then)&&lo(e.catch),Na=e=>typeof e=="number"||/^\d+(\.\d+)?$/.test(e),_d=()=>mo?/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()):!1;function es(){}const Pe=Object.assign,mo=typeof window<"u";function Fi(e,t){const n=t.split(".");let o=e;return n.forEach(r=>{var s;o=Lt(o)&&(s=o[r])!=null?s:""}),o}function Ls(e,t,n){return t.reduce((o,r)=>((!n||e[r]!==void 0)&&(o[r]=e[r]),o),{})}const Di=e=>Array.isArray(e)?e:[e],nt=null,ce=[Number,String],Se={type:Boolean,default:!0},xo=e=>({type:e,required:!0}),Fs=()=>({type:Array,default:()=>[]}),Ds=e=>({type:Number,default:e}),ze=e=>({type:ce,default:e}),we=e=>({type:String,default:e});var rr=typeof window<"u";function ts(e){return rr?requestAnimationFrame(e):-1}function Mi(e){ts(()=>ts(e))}var yd=e=>e===window,Hi=(e,t)=>({top:0,left:0,right:e,bottom:t,width:e,height:t}),ns=e=>{const t=Re(e);if(yd(t)){const n=t.innerWidth,o=t.innerHeight;return Hi(n,o)}return t!=null&&t.getBoundingClientRect?t.getBoundingClientRect():Hi(0,0)};function sr(e){const t=Ze(e,null);if(t){const n=Nt(),{link:o,unlink:r,internalChildren:s}=t;o(n),fo(()=>r(n));const i=fe(()=>s.indexOf(n));return{parent:t,index:i}}return{parent:null,index:J(-1)}}function bd(e){const t=[],n=o=>{Array.isArray(o)&&o.forEach(r=>{var s;Mo(r)&&(t.push(r),(s=r.component)!=null&&s.subTree&&(t.push(r.component.subTree),n(r.component.subTree.children)),r.children&&n(r.children))})};return n(e),t}function wd(e,t,n){const o=bd(e.subTree.children);n.sort((s,i)=>o.indexOf(s.vnode)-o.indexOf(i.vnode));const r=n.map(s=>s.proxy);t.sort((s,i)=>{const l=r.indexOf(s),a=r.indexOf(i);return l-a})}function ir(e){const t=We([]),n=We([]),o=Nt();return{children:t,linkChildren:s=>{Wt(e,Object.assign({link:a=>{a.proxy&&(n.push(a),t.push(a.proxy),wd(o,t,n))},unlink:a=>{const u=n.indexOf(a);t.splice(u,1),n.splice(u,1)},children:t,internalChildren:n},s))}}}function Ms(e){let t;st(()=>{e(),tt(()=>{t=!0})}),Ps(()=>{t&&e()})}function gn(e,t,n={}){if(!rr)return;const{target:o=window,passive:r=!1,capture:s=!1}=n;let i;const l=u=>{const c=Re(u);c&&!i&&(c.addEventListener(e,t,{capture:s,passive:r}),i=!0)},a=u=>{const c=Re(u);c&&i&&(c.removeEventListener(e,t,s),i=!1)};fo(()=>a(o)),Zo(()=>a(o)),Ms(()=>l(o)),De(o)&&ke(o,(u,c)=>{a(c),l(u)})}var So,Tr;function Ed(){if(!So&&(So=J(0),Tr=J(0),rr)){const e=()=>{So.value=window.innerWidth,Tr.value=window.innerHeight};e(),window.addEventListener("resize",e,{passive:!0}),window.addEventListener("orientationchange",e,{passive:!0})}return{width:So,height:Tr}}var Cd=/scroll|auto|overlay/i,La=rr?window:void 0;function xd(e){return e.tagName!=="HTML"&&e.tagName!=="BODY"&&e.nodeType===1}function Fa(e,t=La){let n=e;for(;n&&n!==t&&xd(n);){const{overflowY:o}=window.getComputedStyle(n);if(Cd.test(o))return n;n=n.parentNode}return t}function Sd(e,t=La){const n=J();return st(()=>{e.value&&(n.value=Fa(e.value,t))}),n}var Da=Symbol("van-field");function Td(e){const t=Ze(Da,null);t&&!t.customValue.value&&(t.customValue.value=e,ke(e,()=>{t.resetValidation(),t.validateWithTrigger("onChange")}))}function Od(e){const t="scrollTop"in e?e.scrollTop:e.pageYOffset;return Math.max(t,0)}function Ui(e,t){"scrollTop"in e?e.scrollTop=t:e.scrollTo(e.scrollX,t)}function Ma(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}function Ha(e){Ui(window,e),Ui(document.body,e)}const Pd=_d();function Rd(){Pd&&Ha(Ma())}const kd=e=>e.stopPropagation();function $t(e,t){(typeof e.cancelable!="boolean"||e.cancelable)&&e.preventDefault(),t&&kd(e)}const{width:Ad,height:Bd}=Ed();function Ke(e){if(Ne(e))return Na(e)?`${e}px`:String(e)}function $d(e){if(Ne(e)){if(Array.isArray(e))return{width:Ke(e[0]),height:Ke(e[1])};const t=Ke(e);return{width:t,height:t}}}function Hs(e){const t={};return e!==void 0&&(t.zIndex=+e),t}let Or;function Id(){if(!Or){const e=document.documentElement,t=e.style.fontSize||window.getComputedStyle(e).fontSize;Or=parseFloat(t)}return Or}function Nd(e){return e=e.replace(/rem/g,""),+e*Id()}function Ld(e){return e=e.replace(/vw/g,""),+e*Ad.value/100}function Fd(e){return e=e.replace(/vh/g,""),+e*Bd.value/100}function Dd(e){if(typeof e=="number")return e;if(mo){if(e.includes("rem"))return Nd(e);if(e.includes("vw"))return Ld(e);if(e.includes("vh"))return Fd(e)}return parseFloat(e)}const Md=/-(\w)/g,Ua=e=>e.replace(Md,(t,n)=>n.toUpperCase()),Hd=e=>e.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,""),ko=(e,t,n)=>Math.min(Math.max(e,t),n);function Vi(e,t,n){const o=e.indexOf(t);return o===-1?e:t==="-"&&o!==0?e.slice(0,o):e.slice(0,o+1)+e.slice(o).replace(n,"")}function Ud(e,t=!0,n=!0){t?e=Vi(e,".",/\./g):e=e.split(".")[0],n?e=Vi(e,"-",/-/g):e=e.replace(/-/,"");const o=t?/[^-0-9.]/g:/[^-0-9]/g;return e.replace(o,"")}const{hasOwnProperty:Vd}=Object.prototype;function jd(e,t,n){const o=t[n];!Ne(o)||(!Vd.call(e,n)||!Lt(o)?e[n]=o:e[n]=Va(Object(e[n]),o))}function Va(e,t){return Object.keys(t).forEach(n=>{jd(e,t,n)}),e}var zd={name:"\u59D3\u540D",tel:"\u7535\u8BDD",save:"\u4FDD\u5B58",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88",delete:"\u5220\u9664",loading:"\u52A0\u8F7D\u4E2D...",noCoupon:"\u6682\u65E0\u4F18\u60E0\u5238",nameEmpty:"\u8BF7\u586B\u5199\u59D3\u540D",addContact:"\u6DFB\u52A0\u8054\u7CFB\u4EBA",telInvalid:"\u8BF7\u586B\u5199\u6B63\u786E\u7684\u7535\u8BDD",vanCalendar:{end:"\u7ED3\u675F",start:"\u5F00\u59CB",title:"\u65E5\u671F\u9009\u62E9",weekdays:["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],monthTitle:(e,t)=>`${e}\u5E74${t}\u6708`,rangePrompt:e=>`\u6700\u591A\u9009\u62E9 ${e} \u5929`},vanCascader:{select:"\u8BF7\u9009\u62E9"},vanPagination:{prev:"\u4E0A\u4E00\u9875",next:"\u4E0B\u4E00\u9875"},vanPullRefresh:{pulling:"\u4E0B\u62C9\u5373\u53EF\u5237\u65B0...",loosing:"\u91CA\u653E\u5373\u53EF\u5237\u65B0..."},vanSubmitBar:{label:"\u5408\u8BA1:"},vanCoupon:{unlimited:"\u65E0\u95E8\u69DB",discount:e=>`${e}\u6298`,condition:e=>`\u6EE1${e}\u5143\u53EF\u7528`},vanCouponCell:{title:"\u4F18\u60E0\u5238",count:e=>`${e}\u5F20\u53EF\u7528`},vanCouponList:{exchange:"\u5151\u6362",close:"\u4E0D\u4F7F\u7528",enable:"\u53EF\u7528",disabled:"\u4E0D\u53EF\u7528",placeholder:"\u8F93\u5165\u4F18\u60E0\u7801"},vanAddressEdit:{area:"\u5730\u533A",postal:"\u90AE\u653F\u7F16\u7801",areaEmpty:"\u8BF7\u9009\u62E9\u5730\u533A",addressEmpty:"\u8BF7\u586B\u5199\u8BE6\u7EC6\u5730\u5740",postalEmpty:"\u90AE\u653F\u7F16\u7801\u4E0D\u6B63\u786E",addressDetail:"\u8BE6\u7EC6\u5730\u5740",defaultAddress:"\u8BBE\u4E3A\u9ED8\u8BA4\u6536\u8D27\u5730\u5740"},vanAddressList:{add:"\u65B0\u589E\u5730\u5740"}};const ji=J("zh-CN"),zi=We({"zh-CN":zd}),Kd={messages(){return zi[ji.value]},use(e,t){ji.value=e,this.add({[e]:t})},add(e={}){Va(zi,e)}};var qd=Kd;function Wd(e){const t=Ua(e)+".";return(n,...o)=>{const r=qd.messages(),s=Fi(r,t+n)||Fi(r,n);return lo(s)?s(...o):s}}function os(e,t){return t?typeof t=="string"?` ${e}--${t}`:Array.isArray(t)?t.reduce((n,o)=>n+os(e,o),""):Object.keys(t).reduce((n,o)=>n+(t[o]?os(e,o):""),""):""}function Yd(e){return(t,n)=>(t&&typeof t!="string"&&(n=t,t=""),t=t?`${e}__${t}`:e,`${t}${os(t,n)}`)}function Ee(e){const t=`van-${e}`;return[t,Yd(t),Wd(t)]}const In="van-hairline",Jd=`${In}--top`,Xd=`${In}--left`,Qd=`${In}--bottom`,Ao=`${In}--surround`,ja=`${In}--top-bottom`,Zd=`${In}-unset--top-bottom`,hn="van-haptics-feedback",za=Symbol("van-form");function Us(e,{args:t=[],done:n,canceled:o}){if(e){const r=e.apply(null,t);Ia(r)?r.then(s=>{s?n():o&&o()}).catch(es):r?n():o&&o()}else n()}function Oe(e){return e.install=t=>{const{name:n}=e;n&&(t.component(n,e),t.component(Ua(`-${n}`),e))},e}const Ka=Symbol();function qa(e){const t=Ze(Ka,null);t&&ke(t,n=>{n&&e()})}const Gd=(e,t)=>{const n=J(),o=()=>{n.value=ns(e).height};return st(()=>{if(tt(o),t)for(let r=1;r<=3;r++)setTimeout(o,100*r)}),qa(()=>tt(o)),n};function Vs(e,t){const n=Gd(e,!0);return o=>g("div",{class:t("placeholder"),style:{height:n.value?`${n.value}px`:void 0}},[o()])}const[Wa,Ki]=Ee("action-bar"),Ya=Symbol(Wa),eh={placeholder:Boolean,safeAreaInsetBottom:Se};var th=_e({name:Wa,props:eh,setup(e,{slots:t}){const n=J(),o=Vs(n,Ki),{linkChildren:r}=ir(Ya);r();const s=()=>{var i;return g("div",{ref:n,class:[Ki(),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[(i=t.default)==null?void 0:i.call(t)])};return()=>e.placeholder?o(s):s()}});const nh=Oe(th);function Qt(e){const t=Nt();t&&Pe(t.proxy,e)}const lr={to:[String,Object],url:String,replace:Boolean};function oh({to:e,url:t,replace:n,$router:o}){e&&o?o[n?"replace":"push"](e):t&&(n?location.replace(t):location.href=t)}function ar(){const e=Nt().proxy;return()=>oh(e)}const[rh,qi]=Ee("badge"),sh={dot:Boolean,max:ce,tag:we("div"),color:String,offset:Array,content:ce,showZero:Se,position:we("top-right")};var ih=_e({name:rh,props:sh,setup(e,{slots:t}){const n=()=>{if(t.content)return!0;const{content:i,showZero:l}=e;return Ne(i)&&i!==""&&(l||i!==0&&i!=="0")},o=()=>{const{dot:i,max:l,content:a}=e;if(!i&&n())return t.content?t.content():Ne(l)&&Na(a)&&+a>l?`${l}+`:a},r=fe(()=>{const i={background:e.color};if(e.offset){const[l,a]=e.offset;t.default?(i.top=Ke(a),typeof l=="number"?i.right=Ke(-l):i.right=l.startsWith("-")?l.replace("-",""):`-${l}`):(i.marginTop=Ke(a),i.marginLeft=Ke(l))}return i}),s=()=>{if(n()||e.dot)return g("div",{class:qi([e.position,{dot:e.dot,fixed:!!t.default}]),style:r.value},[o()])};return()=>{if(t.default){const{tag:i}=e;return g(i,{class:qi("wrapper")},{default:()=>[t.default(),s()]})}return s()}}});const Ja=Oe(ih);let Xa=2e3;const lh=()=>++Xa,ah=e=>{Xa=e},[Qa,ch]=Ee("config-provider"),Za=Symbol(Qa),uh={tag:we("div"),zIndex:Number,themeVars:Object,iconPrefix:String};function fh(e){const t={};return Object.keys(e).forEach(n=>{t[`--van-${Hd(n)}`]=e[n]}),t}_e({name:Qa,props:uh,setup(e,{slots:t}){const n=fe(()=>{if(e.themeVars)return fh(e.themeVars)});return Wt(Za,e),da(()=>{e.zIndex!==void 0&&ah(e.zIndex)}),()=>g(e.tag,{class:ch(),style:n.value},{default:()=>{var o;return[(o=t.default)==null?void 0:o.call(t)]}})}});const[dh,Wi]=Ee("icon"),hh=e=>e==null?void 0:e.includes("/"),mh={dot:Boolean,tag:we("i"),name:String,size:ce,badge:ce,color:String,badgeProps:Object,classPrefix:String};var ph=_e({name:dh,props:mh,setup(e,{slots:t}){const n=Ze(Za,null),o=fe(()=>e.classPrefix||(n==null?void 0:n.iconPrefix)||Wi());return()=>{const{tag:r,dot:s,name:i,size:l,badge:a,color:u}=e,c=hh(i);return g(Ja,rt({dot:s,tag:r,class:[o.value,c?"":`${o.value}-${i}`],style:{color:u,fontSize:Ke(l)},content:a},e.badgeProps),{default:()=>{var d;return[(d=t.default)==null?void 0:d.call(t),c&&g("img",{class:Wi("image"),src:i},null)]}})}}});const Ue=Oe(ph),[gh,Zn]=Ee("loading"),vh=Array(12).fill(null).map((e,t)=>g("i",{class:Zn("line",String(t+1))},null)),_h=g("svg",{class:Zn("circular"),viewBox:"25 25 50 50"},[g("circle",{cx:"50",cy:"50",r:"20",fill:"none"},null)]),yh={size:ce,type:we("circular"),color:String,vertical:Boolean,textSize:ce,textColor:String};var bh=_e({name:gh,props:yh,setup(e,{slots:t}){const n=fe(()=>Pe({color:e.color},$d(e.size))),o=()=>{var r;if(t.default)return g("span",{class:Zn("text"),style:{fontSize:Ke(e.textSize),color:(r=e.textColor)!=null?r:e.color}},[t.default()])};return()=>{const{type:r,vertical:s}=e;return g("div",{class:Zn([r,{vertical:s}]),"aria-live":"polite","aria-busy":!0},[g("span",{class:Zn("spinner",r),style:n.value},[r==="spinner"?vh:_h]),o()])}}});const Nn=Oe(bh),[wh,_n]=Ee("button"),Eh=Pe({},lr,{tag:we("button"),text:String,icon:String,type:we("default"),size:we("normal"),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:we("button"),loadingSize:ce,loadingText:String,loadingType:String,iconPosition:we("left")});var Ch=_e({name:wh,props:Eh,emits:["click"],setup(e,{emit:t,slots:n}){const o=ar(),r=()=>n.loading?n.loading():g(Nn,{size:e.loadingSize,type:e.loadingType,class:_n("loading")},null),s=()=>{if(e.loading)return r();if(n.icon)return g("div",{class:_n("icon")},[n.icon()]);if(e.icon)return g(Ue,{name:e.icon,class:_n("icon"),classPrefix:e.iconPrefix},null)},i=()=>{let u;if(e.loading?u=e.loadingText:u=n.default?n.default():e.text,u)return g("span",{class:_n("text")},[u])},l=()=>{const{color:u,plain:c}=e;if(u){const d={color:c?u:"white"};return c||(d.background=u),u.includes("gradient")?d.border=0:d.borderColor=u,d}},a=u=>{e.loading?$t(u):e.disabled||(t("click",u),o())};return()=>{const{tag:u,type:c,size:d,block:f,round:h,plain:p,square:_,loading:b,disabled:y,hairline:x,nativeType:A,iconPosition:E}=e,B=[_n([c,d,{plain:p,block:f,round:h,square:_,loading:b,disabled:y,hairline:x}]),{[Ao]:x}];return g(u,{type:A,class:B,style:l(),disabled:y,onClick:a},{default:()=>[g("div",{class:_n("content")},[E==="left"&&s(),i(),E==="right"&&s()])]})}}});const mn=Oe(Ch),[xh,Sh]=Ee("action-bar-button"),Th=Pe({},lr,{type:String,text:String,icon:String,color:String,loading:Boolean,disabled:Boolean});var Oh=_e({name:xh,props:Th,setup(e,{slots:t}){const n=ar(),{parent:o,index:r}=sr(Ya),s=fe(()=>{if(o){const l=o.children[r.value-1];return!(l&&"isButton"in l)}}),i=fe(()=>{if(o){const l=o.children[r.value+1];return!(l&&"isButton"in l)}});return Qt({isButton:!0}),()=>{const{type:l,icon:a,text:u,color:c,loading:d,disabled:f}=e;return g(mn,{class:Sh([l,{last:i.value,first:s.value}]),size:"large",type:l,icon:a,color:c,loading:d,disabled:f,onClick:n},{default:()=>[t.default?t.default():u]})}}});const Yi=Oe(Oh),cr={show:Boolean,zIndex:ce,overlay:Se,duration:ce,teleport:[String,Object],lockScroll:Se,lazyRender:Se,beforeClose:Function,overlayStyle:Object,overlayClass:nt,transitionAppear:Boolean,closeOnClickOverlay:Se},Ga=Object.keys(cr);function Ph(e,t){return e>t?"horizontal":t>e?"vertical":""}function js(){const e=J(0),t=J(0),n=J(0),o=J(0),r=J(0),s=J(0),i=J(""),l=()=>i.value==="vertical",a=()=>i.value==="horizontal",u=()=>{n.value=0,o.value=0,r.value=0,s.value=0,i.value=""};return{move:f=>{const h=f.touches[0];n.value=(h.clientX<0?0:h.clientX)-e.value,o.value=h.clientY-t.value,r.value=Math.abs(n.value),s.value=Math.abs(o.value);const p=10;(!i.value||r.value{u(),e.value=f.touches[0].clientX,t.value=f.touches[0].clientY},reset:u,startX:e,startY:t,deltaX:n,deltaY:o,offsetX:r,offsetY:s,direction:i,isVertical:l,isHorizontal:a}}let Un=0;const Ji="van-overflow-hidden";function Rh(e,t){const n=js(),o="01",r="10",s=c=>{n.move(c);const d=n.deltaY.value>0?r:o,f=Fa(c.target,e.value),{scrollHeight:h,offsetHeight:p,scrollTop:_}=f;let b="11";_===0?b=p>=h?"00":"01":_+p>=h&&(b="10"),b!=="11"&&n.isVertical()&&!(parseInt(b,2)&parseInt(d,2))&&$t(c,!0)},i=()=>{document.addEventListener("touchstart",n.start),document.addEventListener("touchmove",s,{passive:!1}),Un||document.body.classList.add(Ji),Un++},l=()=>{Un&&(document.removeEventListener("touchstart",n.start),document.removeEventListener("touchmove",s),Un--,Un||document.body.classList.remove(Ji))},a=()=>t()&&i(),u=()=>t()&&l();Ms(a),Zo(u),er(u),ke(t,c=>{c?i():l()})}function ec(e){const t=J(!1);return ke(e,n=>{n&&(t.value=n)},{immediate:!0}),n=>()=>t.value?n():null}const[kh,Ah]=Ee("overlay"),Bh={show:Boolean,zIndex:ce,duration:ce,className:nt,lockScroll:Se,lazyRender:Se,customStyle:Object};var $h=_e({name:kh,props:Bh,setup(e,{slots:t}){const n=J(),o=ec(()=>e.show||!e.lazyRender),r=i=>{e.lockScroll&&$t(i,!0)},s=o(()=>{var i;const l=Pe(Hs(e.zIndex),e.customStyle);return Ne(e.duration)&&(l.animationDuration=`${e.duration}s`),tr(g("div",{ref:n,style:l,class:[Ah(),e.className]},[(i=t.default)==null?void 0:i.call(t)]),[[Ns,e.show]])});return gn("touchmove",r,{target:n}),()=>g(ho,{name:"van-fade",appear:!0},{default:s})}});const Ih=Oe($h),Nh=Pe({},cr,{round:Boolean,position:we("center"),closeIcon:we("cross"),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:we("top-right"),safeAreaInsetTop:Boolean,safeAreaInsetBottom:Boolean}),[Lh,Xi]=Ee("popup");var Fh=_e({name:Lh,inheritAttrs:!1,props:Nh,emits:["open","close","opened","closed","keydown","update:show","click-overlay","click-close-icon"],setup(e,{emit:t,attrs:n,slots:o}){let r,s;const i=J(),l=J(),a=ec(()=>e.show||!e.lazyRender),u=fe(()=>{const B={zIndex:i.value};if(Ne(e.duration)){const z=e.position==="center"?"animationDuration":"transitionDuration";B[z]=`${e.duration}s`}return B}),c=()=>{r||(r=!0,i.value=e.zIndex!==void 0?+e.zIndex:lh(),t("open"))},d=()=>{r&&Us(e.beforeClose,{done(){r=!1,t("close"),t("update:show",!1)}})},f=B=>{t("click-overlay",B),e.closeOnClickOverlay&&d()},h=()=>{if(e.overlay)return g(Ih,{show:e.show,class:e.overlayClass,zIndex:i.value,duration:e.duration,customStyle:e.overlayStyle,role:e.closeOnClickOverlay?"button":void 0,tabindex:e.closeOnClickOverlay?0:void 0,onClick:f},{default:o["overlay-content"]})},p=B=>{t("click-close-icon",B),d()},_=()=>{if(e.closeable)return g(Ue,{role:"button",tabindex:0,name:e.closeIcon,class:[Xi("close-icon",e.closeIconPosition),hn],classPrefix:e.iconPrefix,onClick:p},null)},b=()=>t("opened"),y=()=>t("closed"),x=B=>t("keydown",B),A=a(()=>{var B;const{round:z,position:G,safeAreaInsetTop:V,safeAreaInsetBottom:te}=e;return tr(g("div",rt({ref:l,style:u.value,role:"dialog",tabindex:0,class:[Xi({round:z,[G]:G}),{"van-safe-area-top":V,"van-safe-area-bottom":te}],onKeydown:x},n),[(B=o.default)==null?void 0:B.call(o),_()]),[[Ns,e.show]])}),E=()=>{const{position:B,transition:z,transitionAppear:G}=e,V=B==="center"?"van-fade":`van-popup-slide-${B}`;return g(ho,{name:z||V,appear:G,onAfterEnter:b,onAfterLeave:y},{default:A})};return ke(()=>e.show,B=>{B&&!r&&(c(),n.tabindex===0&&tt(()=>{var z;(z=l.value)==null||z.focus()})),!B&&r&&(r=!1,t("close"))}),Qt({popupRef:l}),Rh(l,()=>e.show&&e.lockScroll),gn("popstate",()=>{e.closeOnPopstate&&(d(),s=!1)}),st(()=>{e.show&&c()}),Ps(()=>{s&&(t("update:show",!0),s=!1)}),Zo(()=>{e.show&&e.teleport&&(d(),s=!0)}),Wt(Ka,()=>e.show),()=>e.teleport?g(Af,{to:e.teleport},{default:()=>[h(),E()]}):g(je,null,[h(),E()])}});const po=Oe(Fh),[Dh,dt]=Ee("action-sheet"),Mh=Pe({},cr,{title:String,round:Se,actions:Fs(),closeIcon:we("cross"),closeable:Se,cancelText:String,description:String,closeOnPopstate:Se,closeOnClickAction:Boolean,safeAreaInsetBottom:Se}),Hh=[...Ga,"round","closeOnPopstate","safeAreaInsetBottom"];var Uh=_e({name:Dh,props:Mh,emits:["select","cancel","update:show"],setup(e,{slots:t,emit:n}){const o=c=>n("update:show",c),r=()=>{o(!1),n("cancel")},s=()=>{if(e.title)return g("div",{class:dt("header")},[e.title,e.closeable&&g(Ue,{name:e.closeIcon,class:[dt("close"),hn],onClick:r},null)])},i=()=>{if(t.cancel||e.cancelText)return[g("div",{class:dt("gap")},null),g("button",{type:"button",class:dt("cancel"),onClick:r},[t.cancel?t.cancel():e.cancelText])]},l=(c,d)=>c.loading?g(Nn,{class:dt("loading-icon")},null):t.action?t.action({action:c,index:d}):[g("span",{class:dt("name")},[c.name]),c.subname&&g("div",{class:dt("subname")},[c.subname])],a=(c,d)=>{const{color:f,loading:h,callback:p,disabled:_,className:b}=c,y=()=>{_||h||(p&&p(c),e.closeOnClickAction&&o(!1),tt(()=>n("select",c,d)))};return g("button",{type:"button",style:{color:f},class:[dt("item",{loading:h,disabled:_}),b],onClick:y},[l(c,d)])},u=()=>{if(e.description||t.description){const c=t.description?t.description():e.description;return g("div",{class:dt("description")},[c])}};return()=>g(po,rt({class:dt(),position:"bottom","onUpdate:show":o},Ls(e,Hh)),{default:()=>{var c;return[s(),u(),g("div",{class:dt("content")},[e.actions.map(a),(c=t.default)==null?void 0:c.call(t)]),i()]}})}});const Vh=Oe(Uh);function Ho(e){if(!Ne(e))return e;if(Array.isArray(e))return e.map(t=>Ho(t));if(Lt(e)){const t={};return Object.keys(e).forEach(n=>{t[n]=Ho(e[n])}),t}return e}const Qi=200,Zi=300,jh=15,[tc,Pr]=Ee("picker-column");function zh(e){const{transform:t}=window.getComputedStyle(e),n=t.slice(7,t.length-1).split(", ")[5];return Number(n)}const nc=Symbol(tc),Rr=e=>Lt(e)&&e.disabled;var Kh=_e({name:tc,props:{textKey:xo(String),readonly:Boolean,allowHtml:Boolean,className:nt,itemHeight:xo(Number),defaultIndex:Ds(0),swipeDuration:xo(ce),initialOptions:Fs(),visibleItemCount:xo(ce)},emits:["change"],setup(e,{emit:t,slots:n}){let o,r,s,i,l;const a=J(),u=J(),c=We({index:e.defaultIndex,offset:0,duration:0,options:Ho(e.initialOptions)}),d=js(),f=()=>c.options.length,h=()=>e.itemHeight*(+e.visibleItemCount-1)/2,p=D=>{D=ko(D,0,f());for(let W=D;W=0;W--)if(!Rr(c.options[W]))return W},_=(D,W)=>{D=p(D)||0;const Ce=-D*e.itemHeight,re=()=>{D!==c.index&&(c.index=D,W&&t("change",D))};o&&Ce!==c.offset?l=re:re(),c.offset=Ce},b=D=>{JSON.stringify(D)!==JSON.stringify(c.options)&&(c.options=Ho(D),_(e.defaultIndex))},y=D=>{o||e.readonly||(l=null,c.duration=Qi,_(D,!0))},x=D=>Lt(D)&&e.textKey in D?D[e.textKey]:D,A=D=>ko(Math.round(-D/e.itemHeight),0,f()-1),E=(D,W)=>{const Ce=Math.abs(D/W);D=c.offset+Ce/.003*(D<0?-1:1);const re=A(D);c.duration=+e.swipeDuration,_(re,!0)},B=()=>{o=!1,c.duration=0,l&&(l(),l=null)},z=D=>{if(!e.readonly){if(d.start(D),o){const W=zh(u.value);c.offset=Math.min(0,W-h()),r=c.offset}else r=c.offset;c.duration=0,s=Date.now(),i=r,l=null}},G=D=>{if(e.readonly)return;d.move(D),d.isVertical()&&(o=!0,$t(D,!0)),c.offset=ko(r+d.deltaY.value,-(f()*e.itemHeight),e.itemHeight);const W=Date.now();W-s>Zi&&(s=W,i=c.offset)},V=()=>{if(e.readonly)return;const D=c.offset-i,W=Date.now()-s;if(Wjh){E(D,W);return}const re=A(c.offset);c.duration=Qi,_(re,!0),setTimeout(()=>{o=!1},0)},te=()=>{const D={height:`${e.itemHeight}px`};return c.options.map((W,Ce)=>{const re=x(W),le=Rr(W),ae={role:"button",style:D,tabindex:le?-1:0,class:Pr("item",{disabled:le,selected:Ce===c.index}),onClick:()=>y(Ce)},Le={class:"van-ellipsis",[e.allowHtml?"innerHTML":"textContent"]:re};return g("li",ae,[n.option?n.option(W):g("div",Le,null)])})},ne=D=>{const{options:W}=c;for(let Ce=0;Cec.options[c.index],H=()=>c.options.length;return _(c.index),sr(nc),Qt({state:c,setIndex:_,getValue:de,setValue:ne,setOptions:b,hasOptions:H,stopMomentum:B}),ke(()=>e.initialOptions,b),ke(()=>e.defaultIndex,D=>_(D)),gn("touchmove",G,{target:a}),()=>g("div",{ref:a,class:[Pr(),e.className],onTouchstartPassive:z,onTouchend:V,onTouchcancel:V},[g("ul",{ref:u,style:{transform:`translate3d(0, ${c.offset+h()}px, 0)`,transitionDuration:`${c.duration}ms`,transitionProperty:c.duration?"all":"none"},class:Pr("wrapper"),onTransitionend:B},[te()])])}});const[qh,Ot,Gi]=Ee("picker"),Wh={title:String,loading:Boolean,readonly:Boolean,allowHtml:Boolean,itemHeight:ze(44),showToolbar:Se,swipeDuration:ze(1e3),visibleItemCount:ze(6),cancelButtonText:String,confirmButtonText:String},Yh=Pe({},Wh,{columns:Fs(),valueKey:String,defaultIndex:ze(0),toolbarPosition:we("top"),columnsFieldNames:Object});var Jh=_e({name:qh,props:Yh,emits:["confirm","cancel","change"],setup(e,{emit:t,slots:n}){const o=J(!1),r=J(),s=J([]),i=fe(()=>{const{columnsFieldNames:N}=e;return{text:(N==null?void 0:N.text)||e.valueKey||"text",values:(N==null?void 0:N.values)||"values",children:(N==null?void 0:N.children)||"children"}}),{children:l,linkChildren:a}=ir(nc);a();const u=fe(()=>Dd(e.itemHeight)),c=fe(()=>{const N=e.columns[0];if(typeof N=="object"){if(i.value.children in N)return"cascade";if(i.value.values in N)return"object"}return"plain"}),d=()=>{var N;const j=[];let Q={[i.value.children]:e.columns};for(;Q&&Q[i.value.children];){const Fe=Q[i.value.children];let Je=(N=Q.defaultIndex)!=null?N:+e.defaultIndex;for(;Fe[Je]&&Fe[Je].disabled;)if(Je{const{columns:N}=e;c.value==="plain"?s.value=[{[i.value.values]:N}]:c.value==="cascade"?d():s.value=N,o.value=s.value.some(j=>j[i.value.values]&&j[i.value.values].length!==0)||l.some(j=>j.hasOptions)},h=()=>l.map(N=>N.state.index),p=(N,j)=>{const Q=l[N];Q&&(Q.setOptions(j),o.value=!0)},_=N=>{let j={[i.value.children]:e.columns};const Q=h();for(let Fe=0;Fe<=N;Fe++)j=j[i.value.children][Q[Fe]];for(;j&&j[i.value.children];)N++,p(N,j[i.value.children]),j=j[i.value.children][j.defaultIndex||0]},b=N=>l[N],y=N=>{const j=b(N);if(j)return j.getValue()},x=(N,j)=>{const Q=b(N);Q&&(Q.setValue(j),c.value==="cascade"&&_(N))},A=N=>{const j=b(N);if(j)return j.state.index},E=(N,j)=>{const Q=b(N);Q&&(Q.setIndex(j),c.value==="cascade"&&_(N))},B=N=>{const j=b(N);if(j)return j.state.options},z=()=>l.map(N=>N.getValue()),G=N=>{N.forEach((j,Q)=>{x(Q,j)})},V=N=>{N.forEach((j,Q)=>{E(Q,j)})},te=N=>{c.value==="plain"?t(N,y(0),A(0)):t(N,z(),h())},ne=N=>{c.value==="cascade"&&_(N),c.value==="plain"?t("change",y(0),A(0)):t("change",z(),N)},de=()=>{l.forEach(N=>N.stopMomentum()),te("confirm")},H=()=>te("cancel"),D=()=>{if(n.title)return n.title();if(e.title)return g("div",{class:[Ot("title"),"van-ellipsis"]},[e.title])},W=()=>{const N=e.cancelButtonText||Gi("cancel");return g("button",{type:"button",class:[Ot("cancel"),hn],onClick:H},[n.cancel?n.cancel():N])},Ce=()=>{const N=e.confirmButtonText||Gi("confirm");return g("button",{type:"button",class:[Ot("confirm"),hn],onClick:de},[n.confirm?n.confirm():N])},re=()=>{if(e.showToolbar){const N=n.toolbar||n.default;return g("div",{class:Ot("toolbar")},[N?N():[W(),D(),Ce()]])}},le=()=>s.value.map((N,j)=>{var Q;return g(Kh,{textKey:i.value.text,readonly:e.readonly,allowHtml:e.allowHtml,className:N.className,itemHeight:u.value,defaultIndex:(Q=N.defaultIndex)!=null?Q:+e.defaultIndex,swipeDuration:e.swipeDuration,initialOptions:N[i.value.values],visibleItemCount:e.visibleItemCount,onChange:()=>ne(j)},{option:n.option})}),ae=N=>{if(o.value){const j={height:`${u.value}px`},Q={backgroundSize:`100% ${(N-u.value)/2}px`};return[g("div",{class:Ot("mask"),style:Q},null),g("div",{class:[Zd,Ot("frame")],style:j},null)]}},Le=()=>{const N=u.value*+e.visibleItemCount,j={height:`${N}px`};return g("div",{ref:r,class:Ot("columns"),style:j},[le(),ae(N)])};return ke(()=>e.columns,f,{immediate:!0}),gn("touchmove",$t,{target:r}),Qt({confirm:de,getValues:z,setValues:G,getIndexes:h,setIndexes:V,getColumnIndex:A,setColumnIndex:E,getColumnValue:y,setColumnValue:x,getColumnValues:B,setColumnValues:p}),()=>{var N,j;return g("div",{class:Ot()},[e.toolbarPosition==="top"?re():null,e.loading?g(Nn,{class:Ot("loading")},null):null,(N=n["columns-top"])==null?void 0:N.call(n),Le(),(j=n["columns-bottom"])==null?void 0:j.call(n),e.toolbarPosition==="bottom"?re():null])}}});const Xh=Oe(Jh),[Qh,yn]=Ee("cell"),oc={icon:String,size:String,title:ce,value:ce,label:ce,center:Boolean,isLink:Boolean,border:Se,required:Boolean,iconPrefix:String,valueClass:nt,labelClass:nt,titleClass:nt,titleStyle:null,arrowDirection:String,clickable:{type:Boolean,default:null}},Zh=Pe({},oc,lr);var Gh=_e({name:Qh,props:Zh,setup(e,{slots:t}){const n=ar(),o=()=>{if(t.label||Ne(e.label))return g("div",{class:[yn("label"),e.labelClass]},[t.label?t.label():e.label])},r=()=>{if(t.title||Ne(e.title))return g("div",{class:[yn("title"),e.titleClass],style:e.titleStyle},[t.title?t.title():g("span",null,[e.title]),o()])},s=()=>{const a=t.value||t.default;if(a||Ne(e.value)){const c=t.title||Ne(e.title);return g("div",{class:[yn("value",{alone:!c}),e.valueClass]},[a?a():g("span",null,[e.value])])}},i=()=>{if(t.icon)return t.icon();if(e.icon)return g(Ue,{name:e.icon,class:yn("left-icon"),classPrefix:e.iconPrefix},null)},l=()=>{if(t["right-icon"])return t["right-icon"]();if(e.isLink){const a=e.arrowDirection?`arrow-${e.arrowDirection}`:"arrow";return g(Ue,{name:a,class:yn("right-icon")},null)}};return()=>{var a,u;const{size:c,center:d,border:f,isLink:h,required:p}=e,_=(a=e.clickable)!=null?a:h,b={center:d,required:p,clickable:_,borderless:!f};return c&&(b[c]=!!c),g("div",{class:yn(b),role:_?"button":void 0,tabindex:_?0:void 0,onClick:n},[i(),r(),s(),l(),(u=t.extra)==null?void 0:u.call(t)])}}});const ur=Oe(Gh),[em,tm]=Ee("form"),nm={colon:Boolean,disabled:Boolean,readonly:Boolean,showError:Boolean,labelWidth:ce,labelAlign:String,inputAlign:String,scrollToError:Boolean,validateFirst:Boolean,submitOnEnter:Se,showErrorMessage:Se,errorMessageAlign:String,validateTrigger:{type:[String,Array],default:"onBlur"}};var om=_e({name:em,props:nm,emits:["submit","failed"],setup(e,{emit:t,slots:n}){const{children:o,linkChildren:r}=ir(za),s=b=>b?o.filter(y=>b.includes(y.name)):o,i=b=>new Promise((y,x)=>{const A=[];s(b).reduce((B,z)=>B.then(()=>{if(!A.length)return z.validate().then(G=>{G&&A.push(G)})}),Promise.resolve()).then(()=>{A.length?x(A):y()})}),l=b=>new Promise((y,x)=>{const A=s(b);Promise.all(A.map(E=>E.validate())).then(E=>{E=E.filter(Boolean),E.length?x(E):y()})}),a=b=>{const y=o.find(x=>x.name===b);return y?new Promise((x,A)=>{y.validate().then(E=>{E?A(E):x()})}):Promise.reject()},u=b=>typeof b=="string"?a(b):e.validateFirst?i(b):l(b),c=b=>{typeof b=="string"&&(b=[b]),s(b).forEach(x=>{x.resetValidation()})},d=()=>o.reduce((b,y)=>(b[y.name]=y.getValidationStatus(),b),{}),f=(b,y)=>{o.some(x=>x.name===b?(x.$el.scrollIntoView(y),!0):!1)},h=()=>o.reduce((b,y)=>(b[y.name]=y.formValue.value,b),{}),p=()=>{const b=h();u().then(()=>t("submit",b)).catch(y=>{t("failed",{values:b,errors:y}),e.scrollToError&&y[0].name&&f(y[0].name)})},_=b=>{$t(b),p()};return r({props:e}),Qt({submit:p,validate:u,getValues:h,scrollToField:f,resetValidation:c,getValidationStatus:d}),()=>{var b;return g("form",{class:tm(),onSubmit:_},[(b=n.default)==null?void 0:b.call(n)])}}});const rm=Oe(om);function rc(e){return Array.isArray(e)?!e.length:e===0?!1:!e}function sm(e,t){if(rc(e)){if(t.required)return!1;if(t.validateEmpty===!1)return!0}return!(t.pattern&&!t.pattern.test(String(e)))}function im(e,t){return new Promise(n=>{const o=t.validator(e,t);if(Ia(o)){o.then(n);return}n(o)})}function el(e,t){const{message:n}=t;return lo(n)?n(e,t):n||""}function lm({target:e}){e.composing=!0}function tl({target:e}){e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}function am(e,t){const n=Ma();e.style.height="auto";let o=e.scrollHeight;if(Lt(t)){const{maxHeight:r,minHeight:s}=t;r!==void 0&&(o=Math.min(o,r)),s!==void 0&&(o=Math.max(o,s))}o&&(e.style.height=`${o}px`,Ha(n))}function cm(e){return e==="number"?{type:"text",inputmode:"decimal"}:e==="digit"?{type:"tel",inputmode:"numeric"}:{type:e}}function kr(e){return[...e].length}function um(e,t){return[...e].slice(0,t).join("")}let fm=0;function dm(){const e=Nt(),{name:t="unknown"}=(e==null?void 0:e.type)||{};return`${t}-${++fm}`}const[hm,lt]=Ee("field"),mm={id:String,name:String,leftIcon:String,rightIcon:String,autofocus:Boolean,clearable:Boolean,maxlength:ce,formatter:Function,clearIcon:we("clear"),modelValue:ze(""),inputAlign:String,placeholder:String,autocomplete:String,errorMessage:String,enterkeyhint:String,clearTrigger:we("focus"),formatTrigger:we("onChange"),error:{type:Boolean,default:null},disabled:{type:Boolean,default:null},readonly:{type:Boolean,default:null}},pm=Pe({},oc,mm,{rows:ce,type:we("text"),rules:Array,autosize:[Boolean,Object],labelWidth:ce,labelClass:nt,labelAlign:String,showWordLimit:Boolean,errorMessageAlign:String,colon:{type:Boolean,default:null}});var gm=_e({name:hm,props:pm,emits:["blur","focus","clear","keypress","click-input","end-validate","start-validate","click-left-icon","click-right-icon","update:modelValue"],setup(e,{emit:t,slots:n}){const o=dm(),r=We({status:"unvalidated",focused:!1,validateMessage:""}),s=J(),i=J(),l=J(),{parent:a}=sr(za),u=()=>{var w;return String((w=e.modelValue)!=null?w:"")},c=w=>{if(Ne(e[w]))return e[w];if(a&&Ne(a.props[w]))return a.props[w]},d=fe(()=>{const w=c("readonly");if(e.clearable&&!w){const R=u()!=="",L=e.clearTrigger==="always"||e.clearTrigger==="focus"&&r.focused;return R&&L}return!1}),f=fe(()=>l.value&&n.input?l.value():e.modelValue),h=w=>w.reduce((R,L)=>R.then(()=>{if(r.status==="failed")return;let{value:Y}=f;if(L.formatter&&(Y=L.formatter(Y,L)),!sm(Y,L)){r.status="failed",r.validateMessage=el(Y,L);return}if(L.validator)return rc(Y)&&L.validateEmpty===!1?void 0:im(Y,L).then(he=>{he&&typeof he=="string"?(r.status="failed",r.validateMessage=he):he===!1&&(r.status="failed",r.validateMessage=el(Y,L))})}),Promise.resolve()),p=()=>{r.status="unvalidated",r.validateMessage=""},_=()=>t("end-validate",{status:r.status}),b=(w=e.rules)=>new Promise(R=>{p(),w?(t("start-validate"),h(w).then(()=>{r.status==="failed"?(R({name:e.name,message:r.validateMessage}),_()):(r.status="passed",R(),_())})):R()}),y=w=>{if(a&&e.rules){const{validateTrigger:R}=a.props,L=Di(R).includes(w),Y=e.rules.filter(he=>he.trigger?Di(he.trigger).includes(w):L);Y.length&&b(Y)}},x=w=>{const{maxlength:R}=e;if(Ne(R)&&kr(w)>R){const L=u();return L&&kr(L)===+R?L:um(w,+R)}return w},A=(w,R="onChange")=>{if(w=x(w),e.type==="number"||e.type==="digit"){const L=e.type==="number";w=Ud(w,L,L)}e.formatter&&R===e.formatTrigger&&(w=e.formatter(w)),s.value&&s.value.value!==w&&(s.value.value=w),w!==e.modelValue&&t("update:modelValue",w)},E=w=>{w.target.composing||A(w.target.value)},B=()=>{var w;return(w=s.value)==null?void 0:w.blur()},z=()=>{var w;return(w=s.value)==null?void 0:w.focus()},G=()=>{const w=s.value;e.type==="textarea"&&e.autosize&&w&&am(w,e.autosize)},V=w=>{r.focused=!0,t("focus",w),tt(G),c("readonly")&&B()},te=w=>{c("readonly")||(r.focused=!1,A(u(),"onBlur"),t("blur",w),y("onBlur"),tt(G),Rd())},ne=w=>t("click-input",w),de=w=>t("click-left-icon",w),H=w=>t("click-right-icon",w),D=w=>{$t(w),t("update:modelValue",""),t("clear",w)},W=fe(()=>{if(typeof e.error=="boolean")return e.error;if(a&&a.props.showError&&r.status==="failed")return!0}),Ce=fe(()=>{const w=c("labelWidth");if(w)return{width:Ke(w)}}),re=w=>{w.keyCode===13&&(!(a&&a.props.submitOnEnter)&&e.type!=="textarea"&&$t(w),e.type==="search"&&B()),t("keypress",w)},le=()=>e.id||`${o}-input`,ae=()=>r.status,Le=()=>{const w=lt("control",[c("inputAlign"),{error:W.value,custom:!!n.input,"min-height":e.type==="textarea"&&!e.autosize}]);if(n.input)return g("div",{class:w,onClick:ne},[n.input()]);const R={id:le(),ref:s,name:e.name,rows:e.rows!==void 0?+e.rows:void 0,class:w,disabled:c("disabled"),readonly:c("readonly"),autofocus:e.autofocus,placeholder:e.placeholder,autocomplete:e.autocomplete,enterkeyhint:e.enterkeyhint,"aria-labelledby":e.label?`${o}-label`:void 0,onBlur:te,onFocus:V,onInput:E,onClick:ne,onChange:tl,onKeypress:re,onCompositionend:tl,onCompositionstart:lm};return e.type==="textarea"?g("textarea",R,null):g("input",rt(cm(e.type),R),null)},N=()=>{const w=n["left-icon"];if(e.leftIcon||w)return g("div",{class:lt("left-icon"),onClick:de},[w?w():g(Ue,{name:e.leftIcon,classPrefix:e.iconPrefix},null)])},j=()=>{const w=n["right-icon"];if(e.rightIcon||w)return g("div",{class:lt("right-icon"),onClick:H},[w?w():g(Ue,{name:e.rightIcon,classPrefix:e.iconPrefix},null)])},Q=()=>{if(e.showWordLimit&&e.maxlength){const w=kr(u());return g("div",{class:lt("word-limit")},[g("span",{class:lt("word-num")},[w]),Qe("/"),e.maxlength])}},Fe=()=>{if(a&&a.props.showErrorMessage===!1)return;const w=e.errorMessage||r.validateMessage;if(w){const R=n["error-message"],L=c("errorMessageAlign");return g("div",{class:lt("error-message",L)},[R?R({message:w}):w])}},Je=()=>{const w=c("colon")?":":"";if(n.label)return[n.label(),w];if(e.label)return g("label",{id:`${o}-label`,for:le()},[e.label+w])},O=()=>[g("div",{class:lt("body")},[Le(),d.value&&g(Ue,{ref:i,name:e.clearIcon,class:lt("clear")},null),j(),n.button&&g("div",{class:lt("button")},[n.button()])]),Q(),Fe()];return Qt({blur:B,focus:z,validate:b,formValue:f,resetValidation:p,getValidationStatus:ae}),Wt(Da,{customValue:l,resetValidation:p,validateWithTrigger:y}),ke(()=>e.modelValue,()=>{A(u()),p(),y("onChange"),tt(G)}),st(()=>{A(u(),e.formatTrigger),tt(G)}),gn("touchstart",D,{target:fe(()=>{var w;return(w=i.value)==null?void 0:w.$el})}),()=>{const w=c("disabled"),R=c("labelAlign"),L=Je(),Y=N();return g(ur,{size:e.size,icon:e.leftIcon,class:lt({error:W.value,disabled:w,[`label-${R}`]:R}),center:e.center,border:e.border,isLink:e.isLink,clickable:e.clickable,titleStyle:Ce.value,valueClass:lt("value"),titleClass:[lt("label",[R,{required:e.required}]),e.labelClass],arrowDirection:e.arrowDirection},{icon:Y?()=>Y:null,title:L?()=>L:null,value:O,extra:n.extra})}}});const vm=Oe(gm);function sc(){const e=We({show:!1}),t=r=>{e.show=r},n=r=>{Pe(e,r,{transitionAppear:!0}),t(!0)},o=()=>t(!1);return Qt({open:n,close:o,toggle:t}),{open:n,close:o,state:e,toggle:t}}function ic(e){const t=$a(e),n=document.createElement("div");return document.body.appendChild(n),{instance:t.mount(n),unmount(){t.unmount(),document.body.removeChild(n)}}}let Vn=0;function _m(e){e?(Vn||document.body.classList.add("van-toast--unclickable"),Vn++):Vn&&(Vn--,Vn||document.body.classList.remove("van-toast--unclickable"))}const[ym,jn]=Ee("toast"),bm=["show","overlay","teleport","transition","overlayClass","overlayStyle","closeOnClickOverlay"],wm={icon:String,show:Boolean,type:we("text"),overlay:Boolean,message:ce,iconSize:ce,duration:Ds(2e3),position:we("middle"),teleport:[String,Object],className:nt,iconPrefix:String,transition:we("van-fade"),loadingType:String,forbidClick:Boolean,overlayClass:nt,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean};var lc=_e({name:ym,props:wm,emits:["update:show"],setup(e,{emit:t}){let n,o=!1;const r=()=>{const c=e.show&&e.forbidClick;o!==c&&(o=c,_m(o))},s=c=>t("update:show",c),i=()=>{e.closeOnClick&&s(!1)},l=()=>clearTimeout(n),a=()=>{const{icon:c,type:d,iconSize:f,iconPrefix:h,loadingType:p}=e;if(c||d==="success"||d==="fail")return g(Ue,{name:c||d,size:f,class:jn("icon"),classPrefix:h},null);if(d==="loading")return g(Nn,{class:jn("loading"),size:f,type:p},null)},u=()=>{const{type:c,message:d}=e;if(Ne(d)&&d!=="")return c==="html"?g("div",{key:0,class:jn("text"),innerHTML:String(d)},null):g("div",{class:jn("text")},[d])};return ke(()=>[e.show,e.forbidClick],r),ke(()=>[e.show,e.type,e.message,e.duration],()=>{l(),e.show&&e.duration>0&&(n=setTimeout(()=>{s(!1)},e.duration))}),st(r),fo(r),()=>g(po,rt({class:[jn([e.position,{[e.type]:!e.icon}]),e.className],lockScroll:!1,onClick:i,onClosed:l,"onUpdate:show":s},Ls(e,bm)),{default:()=>[a(),u()]})}});const ac={icon:"",type:"text",message:"",className:"",overlay:!1,onClose:void 0,onOpened:void 0,duration:2e3,teleport:"body",iconSize:void 0,iconPrefix:void 0,position:"middle",transition:"van-fade",forbidClick:!1,loadingType:void 0,overlayClass:"",overlayStyle:void 0,closeOnClick:!1,closeOnClickOverlay:!1};let pt=[],fr=!1,Uo=Pe({},ac);const Vo=new Map;function cc(e){return Lt(e)?e:{message:e}}function Em(){const{instance:e,unmount:t}=ic({setup(){const n=J(""),{open:o,state:r,close:s,toggle:i}=sc(),l=()=>{fr&&(pt=pt.filter(u=>u!==e),t())},a=()=>g(lc,rt(r,{onClosed:l,"onUpdate:show":i}),null);return ke(n,u=>{r.message=u}),Nt().render=a,{open:o,clear:s,message:n}}});return e}function Cm(){if(!pt.length||fr){const e=Em();pt.push(e)}return pt[pt.length-1]}function ve(e={}){if(!mo)return{};const t=Cm(),n=cc(e);return t.open(Pe({},Uo,Vo.get(n.type||Uo.type),n)),t}const zs=e=>t=>ve(Pe({type:e},cc(t)));ve.loading=zs("loading");ve.success=zs("success");ve.fail=zs("fail");ve.clear=e=>{var t;pt.length&&(e?(pt.forEach(n=>{n.clear()}),pt=[]):fr?(t=pt.shift())==null||t.clear():pt[0].clear())};function xm(e,t){typeof e=="string"?Vo.set(e,t):Pe(Uo,e)}ve.setDefaultOptions=xm;ve.resetDefaultOptions=e=>{typeof e=="string"?Vo.delete(e):(Uo=Pe({},ac),Vo.clear())};ve.allowMultiple=(e=!0)=>{fr=e};ve.install=e=>{e.use(Oe(lc)),e.config.globalProperties.$toast=ve};const[Sm,Ar]=Ee("switch"),Tm={size:ce,loading:Boolean,disabled:Boolean,modelValue:nt,activeColor:String,inactiveColor:String,activeValue:{type:nt,default:!0},inactiveValue:{type:nt,default:!1}};var Om=_e({name:Sm,props:Tm,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const o=()=>e.modelValue===e.activeValue,r=()=>{if(!e.disabled&&!e.loading){const i=o()?e.inactiveValue:e.activeValue;t("update:modelValue",i),t("change",i)}},s=()=>{if(e.loading){const i=o()?e.activeColor:e.inactiveColor;return g(Nn,{class:Ar("loading"),color:i},null)}if(n.node)return n.node()};return Td(()=>e.modelValue),()=>{var i;const{size:l,loading:a,disabled:u,activeColor:c,inactiveColor:d}=e,f=o(),h={fontSize:Ke(l),backgroundColor:f?c:d};return g("div",{role:"switch",class:Ar({on:f,loading:a,disabled:u}),style:h,tabindex:u?void 0:0,"aria-checked":f,onClick:r},[g("div",{class:Ar("node")},[s()]),(i=n.background)==null?void 0:i.call(n)])}}});const Pm=Oe(Om),[Rm,nl]=Ee("tag"),km={size:String,mark:Boolean,show:Se,type:we("default"),color:String,plain:Boolean,round:Boolean,textColor:String,closeable:Boolean};var Am=_e({name:Rm,props:km,emits:["close"],setup(e,{slots:t,emit:n}){const o=i=>{i.stopPropagation(),n("close",i)},r=()=>e.plain?{color:e.textColor||e.color,borderColor:e.color}:{color:e.textColor,background:e.color},s=()=>{var i;const{type:l,mark:a,plain:u,round:c,size:d,closeable:f}=e,h={mark:a,plain:u,round:c};d&&(h[d]=d);const p=f&&g(Ue,{name:"cross",class:[nl("close"),hn],onClick:o},null);return g("span",{style:r(),class:nl([h,l])},[(i=t.default)==null?void 0:i.call(t),p])};return()=>g(ho,{name:e.closeable?"van-fade":void 0},{default:()=>[e.show?s():null]})}});const Bm=Oe(Am),[$m,bn]=Ee("image"),Im={src:String,alt:String,fit:String,position:String,round:Boolean,block:Boolean,width:ce,height:ce,radius:ce,lazyLoad:Boolean,iconSize:ce,showError:Se,errorIcon:we("photo-fail"),iconPrefix:String,showLoading:Se,loadingIcon:we("photo")};var Nm=_e({name:$m,props:Im,emits:["load","error"],setup(e,{emit:t,slots:n}){const o=J(!1),r=J(!0),s=J(),{$Lazyload:i}=Nt().proxy,l=fe(()=>{const _={width:Ke(e.width),height:Ke(e.height)};return Ne(e.radius)&&(_.overflow="hidden",_.borderRadius=Ke(e.radius)),_});ke(()=>e.src,()=>{o.value=!1,r.value=!0});const a=_=>{r.value=!1,t("load",_)},u=_=>{o.value=!0,r.value=!1,t("error",_)},c=(_,b,y)=>y?y():g(Ue,{name:_,size:e.iconSize,class:b,classPrefix:e.iconPrefix},null),d=()=>{if(r.value&&e.showLoading)return g("div",{class:bn("loading")},[c(e.loadingIcon,bn("loading-icon"),n.loading)]);if(o.value&&e.showError)return g("div",{class:bn("error")},[c(e.errorIcon,bn("error-icon"),n.error)])},f=()=>{if(o.value||!e.src)return;const _={alt:e.alt,class:bn("img"),style:{objectFit:e.fit,objectPosition:e.position}};return e.lazyLoad?tr(g("img",rt({ref:s},_),null),[[ff("lazy"),e.src]]):g("img",rt({src:e.src,onLoad:a,onError:u},_),null)},h=({el:_})=>{const b=()=>{_===s.value&&r.value&&a()};s.value?b():tt(b)},p=({el:_})=>{_===s.value&&!o.value&&u()};return i&&mo&&(i.$on("loaded",h),i.$on("error",p),er(()=>{i.$off("loaded",h),i.$off("error",p)})),()=>{var _;return g("div",{class:bn({round:e.round,block:e.block}),style:l.value},[f(),d(),(_=n.default)==null?void 0:_.call(n)])}}});const Lm=Oe(Nm),[Fm,ol]=Ee("cell-group"),Dm={title:String,inset:Boolean,border:Se};var Mm=_e({name:Fm,inheritAttrs:!1,props:Dm,setup(e,{slots:t,attrs:n}){const o=()=>{var s;return g("div",rt({class:[ol({inset:e.inset}),{[ja]:e.border&&!e.inset}]},n),[(s=t.default)==null?void 0:s.call(t)])},r=()=>g("div",{class:ol("title",{inset:e.inset})},[t.title?t.title():e.title]);return()=>e.title||t.title?g(je,null,[r(),o()]):o()}});const uc=Oe(Mm),[Hm,ht,To]=Ee("dialog"),Um=Pe({},cr,{title:String,theme:String,width:ce,message:[String,Function],callback:Function,allowHtml:Boolean,className:nt,transition:we("van-dialog-bounce"),messageAlign:String,closeOnPopstate:Se,showCancelButton:Boolean,cancelButtonText:String,cancelButtonColor:String,cancelButtonDisabled:Boolean,confirmButtonText:String,confirmButtonColor:String,confirmButtonDisabled:Boolean,showConfirmButton:Se,closeOnClickOverlay:Boolean}),Vm=[...Ga,"transition","closeOnPopstate"];var fc=_e({name:Hm,props:Um,emits:["confirm","cancel","keydown","update:show"],setup(e,{emit:t,slots:n}){const o=J(),r=We({confirm:!1,cancel:!1}),s=y=>t("update:show",y),i=y=>{var x;s(!1),(x=e.callback)==null||x.call(e,y)},l=y=>()=>{!e.show||(t(y),e.beforeClose?(r[y]=!0,Us(e.beforeClose,{args:[y],done(){i(y),r[y]=!1},canceled(){r[y]=!1}})):i(y))},a=l("cancel"),u=l("confirm"),c=md(y=>{var x,A;if(y.target!==((A=(x=o.value)==null?void 0:x.popupRef)==null?void 0:A.value))return;({Enter:e.showConfirmButton?u:es,Escape:e.showCancelButton?a:es})[y.key](),t("keydown",y)},["enter","esc"]),d=()=>{const y=n.title?n.title():e.title;if(y)return g("div",{class:ht("header",{isolated:!e.message&&!n.default})},[y])},f=y=>{const{message:x,allowHtml:A,messageAlign:E}=e,B=ht("message",{"has-title":y,[E]:E}),z=lo(x)?x():x;return A&&typeof z=="string"?g("div",{class:B,innerHTML:z},null):g("div",{class:B},[z])},h=()=>{if(n.default)return g("div",{class:ht("content")},[n.default()]);const{title:y,message:x,allowHtml:A}=e;if(x){const E=!!(y||n.title);return g("div",{key:A?1:0,class:ht("content",{isolated:!E})},[f(E)])}},p=()=>g("div",{class:[Jd,ht("footer")]},[e.showCancelButton&&g(mn,{size:"large",text:e.cancelButtonText||To("cancel"),class:ht("cancel"),style:{color:e.cancelButtonColor},loading:r.cancel,disabled:e.cancelButtonDisabled,onClick:a},null),e.showConfirmButton&&g(mn,{size:"large",text:e.confirmButtonText||To("confirm"),class:[ht("confirm"),{[Xd]:e.showCancelButton}],style:{color:e.confirmButtonColor},loading:r.confirm,disabled:e.confirmButtonDisabled,onClick:u},null)]),_=()=>g(nh,{class:ht("footer")},{default:()=>[e.showCancelButton&&g(Yi,{type:"warning",text:e.cancelButtonText||To("cancel"),class:ht("cancel"),color:e.cancelButtonColor,loading:r.cancel,disabled:e.cancelButtonDisabled,onClick:a},null),e.showConfirmButton&&g(Yi,{type:"danger",text:e.confirmButtonText||To("confirm"),class:ht("confirm"),color:e.confirmButtonColor,loading:r.confirm,disabled:e.confirmButtonDisabled,onClick:u},null)]}),b=()=>n.footer?n.footer():e.theme==="round-button"?_():p();return()=>{const{width:y,title:x,theme:A,message:E,className:B}=e;return g(po,rt({ref:o,role:"dialog",class:[ht([A]),B],style:{width:Ke(y)},tabindex:0,"aria-labelledby":x||E,onKeydown:c,"onUpdate:show":s},Ls(e,Vm)),{default:()=>[d(),h(),b()]})}}});let ao;function jm(){({instance:ao}=ic({setup(){const{state:t,toggle:n}=sc();return()=>g(fc,rt(t,{"onUpdate:show":n}),null)}}))}function Be(e){return mo?new Promise((t,n)=>{ao||jm(),ao.open(Pe({},Be.currentOptions,e,{callback:o=>{(o==="confirm"?t:n)(o)}}))}):Promise.resolve()}Be.defaultOptions={title:"",width:"",theme:null,message:"",overlay:!0,callback:null,teleport:"body",className:"",allowHtml:!1,lockScroll:!0,transition:void 0,beforeClose:null,overlayClass:"",overlayStyle:void 0,messageAlign:"",cancelButtonText:"",cancelButtonColor:null,cancelButtonDisabled:!1,confirmButtonText:"",confirmButtonColor:null,confirmButtonDisabled:!1,showConfirmButton:!0,showCancelButton:!1,closeOnPopstate:!0,closeOnClickOverlay:!1};Be.currentOptions=Pe({},Be.defaultOptions);Be.alert=Be;Be.confirm=e=>Be(Pe({showCancelButton:!0},e));Be.close=()=>{ao&&ao.toggle(!1)};Be.setDefaultOptions=e=>{Pe(Be.currentOptions,e)};Be.resetDefaultOptions=()=>{Be.currentOptions=Pe({},Be.defaultOptions)};Be.Component=Oe(fc);Be.install=e=>{e.use(Be.Component),e.config.globalProperties.$dialog=Be};const[zm,Pt]=Ee("nav-bar"),Km={title:String,fixed:Boolean,zIndex:ce,border:Se,leftText:String,rightText:String,leftArrow:Boolean,placeholder:Boolean,safeAreaInsetTop:Boolean};var qm=_e({name:zm,props:Km,emits:["click-left","click-right"],setup(e,{emit:t,slots:n}){const o=J(),r=Vs(o,Pt),s=c=>t("click-left",c),i=c=>t("click-right",c),l=()=>n.left?n.left():[e.leftArrow&&g(Ue,{class:Pt("arrow"),name:"arrow-left"},null),e.leftText&&g("span",{class:Pt("text")},[e.leftText])],a=()=>n.right?n.right():g("span",{class:Pt("text")},[e.rightText]),u=()=>{const{title:c,fixed:d,border:f,zIndex:h}=e,p=Hs(h),_=e.leftArrow||e.leftText||n.left,b=e.rightText||n.right;return g("div",{ref:o,style:p,class:[Pt({fixed:d}),{[Qd]:f,"van-safe-area-top":e.safeAreaInsetTop}]},[g("div",{class:Pt("content")},[_&&g("div",{class:[Pt("left"),hn],onClick:s},[l()]),g("div",{class:[Pt("title"),"van-ellipsis"]},[n.title?n.title():c]),b&&g("div",{class:[Pt("right"),hn],onClick:i},[a()])])])};return()=>e.fixed&&e.placeholder?r(u):u()}});const Wm=Oe(qm),[Ym,zn]=Ee("notice-bar"),Jm={text:String,mode:String,color:String,delay:ze(1),speed:ze(60),leftIcon:String,wrapable:Boolean,background:String,scrollable:{type:Boolean,default:null}};var Xm=_e({name:Ym,props:Jm,emits:["close","replay"],setup(e,{emit:t,slots:n}){let o=0,r=0,s;const i=J(),l=J(),a=We({show:!0,offset:0,duration:0}),u=()=>{if(n["left-icon"])return n["left-icon"]();if(e.leftIcon)return g(Ue,{class:zn("left-icon"),name:e.leftIcon},null)},c=()=>{if(e.mode==="closeable")return"cross";if(e.mode==="link")return"arrow"},d=b=>{e.mode==="closeable"&&(a.show=!1,t("close",b))},f=()=>{if(n["right-icon"])return n["right-icon"]();const b=c();if(b)return g(Ue,{name:b,class:zn("right-icon"),onClick:d},null)},h=()=>{a.offset=o,a.duration=0,ts(()=>{Mi(()=>{a.offset=-r,a.duration=(r+o)/+e.speed,t("replay")})})},p=()=>{const b=e.scrollable===!1&&!e.wrapable,y={transform:a.offset?`translateX(${a.offset}px)`:"",transitionDuration:`${a.duration}s`};return g("div",{ref:i,role:"marquee",class:zn("wrap")},[g("div",{ref:l,style:y,class:[zn("content"),{"van-ellipsis":b}],onTransitionend:h},[n.default?n.default():e.text])])},_=()=>{const{delay:b,speed:y,scrollable:x}=e,A=Ne(b)?+b*1e3:0;o=0,r=0,a.offset=0,a.duration=0,clearTimeout(s),s=setTimeout(()=>{if(!i.value||!l.value||x===!1)return;const E=ns(i).width,B=ns(l).width;(x||B>E)&&Mi(()=>{o=E,r=B,a.offset=-r,a.duration=r/+y})},A)};return qa(_),Ms(_),gn("pageshow",_),Qt({reset:_}),ke(()=>[e.text,e.scrollable],_),()=>{const{color:b,wrapable:y,background:x}=e;return tr(g("div",{role:"alert",class:zn({wrapable:y}),style:{color:b,background:x}},[u(),p(),f()]),[[Ns,a.show]])}}});const dc=Oe(Xm),[Qm,wn,rl]=Ee("pagination"),Br=(e,t,n)=>({number:e,text:t,active:n}),Zm={mode:we("multi"),prevText:String,nextText:String,pageCount:ze(0),modelValue:Ds(0),totalItems:ze(0),showPageSize:ze(5),itemsPerPage:ze(10),forceEllipses:Boolean};var Gm=_e({name:Qm,props:Zm,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const o=fe(()=>{const{pageCount:c,totalItems:d,itemsPerPage:f}=e,h=+c||Math.ceil(+d/+f);return Math.max(1,h)}),r=fe(()=>{const c=[],d=o.value,f=+e.showPageSize,{modelValue:h,forceEllipses:p}=e;let _=1,b=d;const y=fd&&(b=d,_=b-f+1));for(let x=_;x<=b;x++){const A=Br(x,x,x===h);c.push(A)}if(y&&f>0&&p){if(_>1){const x=Br(_-1,"...");c.unshift(x)}if(b{c=ko(c,1,o.value),e.modelValue!==c&&(t("update:modelValue",c),d&&t("change",c))};da(()=>s(e.modelValue));const i=()=>g("li",{class:wn("page-desc")},[n.pageDesc?n.pageDesc():`${e.modelValue}/${o.value}`]),l=()=>{const{mode:c,modelValue:d}=e,f=n["prev-text"],h=d===1;return g("li",{class:[wn("item",{disabled:h,border:c==="simple",prev:!0}),Ao]},[g("button",{type:"button",disabled:h,onClick:()=>s(d-1,!0)},[f?f():e.prevText||rl("prev")])])},a=()=>{const{mode:c,modelValue:d}=e,f=n["next-text"],h=d===o.value;return g("li",{class:[wn("item",{disabled:h,border:c==="simple",next:!0}),Ao]},[g("button",{type:"button",disabled:h,onClick:()=>s(d+1,!0)},[f?f():e.nextText||rl("next")])])},u=()=>r.value.map(c=>g("li",{class:[wn("item",{active:c.active,page:!0}),Ao]},[g("button",{type:"button","aria-current":c.active||void 0,onClick:()=>s(c.number,!0)},[n.page?n.page(c):c.text])]));return()=>g("nav",{role:"navigation",class:wn()},[g("ul",{class:wn("items")},[l(),e.mode==="simple"?i():u(),a()])])}});const ep=Oe(Gm),[tp,Kn,np]=Ee("pull-refresh"),hc=50,op=["pulling","loosing","success"],rp={disabled:Boolean,modelValue:Boolean,headHeight:ze(hc),successText:String,pullingText:String,loosingText:String,loadingText:String,pullDistance:ce,successDuration:ze(500),animationDuration:ze(300)};var sp=_e({name:tp,props:rp,emits:["change","refresh","update:modelValue"],setup(e,{emit:t,slots:n}){let o;const r=J(),s=J(),i=Sd(r),l=We({status:"normal",distance:0,duration:0}),a=js(),u=()=>{if(e.headHeight!==hc)return{height:`${e.headHeight}px`}},c=()=>l.status!=="loading"&&l.status!=="success"&&!e.disabled,d=E=>{const B=+(e.pullDistance||e.headHeight);return E>B&&(E{const z=+(e.pullDistance||e.headHeight);l.distance=E,B?l.status="loading":E===0?l.status="normal":E{const{status:E}=l;return E==="normal"?"":e[`${E}Text`]||np(E)},p=()=>{const{status:E,distance:B}=l;if(n[E])return n[E]({distance:B});const z=[];return op.includes(E)&&z.push(g("div",{class:Kn("text")},[h()])),E==="loading"&&z.push(g(Nn,{class:Kn("loading")},{default:h})),z},_=()=>{l.status="success",setTimeout(()=>{f(0)},+e.successDuration)},b=E=>{o=Od(i.value)===0,o&&(l.duration=0,a.start(E))},y=E=>{c()&&b(E)},x=E=>{if(c()){o||b(E);const{deltaY:B}=a;a.move(E),o&&B.value>=0&&a.isVertical()&&($t(E),f(d(B.value)))}},A=()=>{o&&a.deltaY.value&&c()&&(l.duration=+e.animationDuration,l.status==="loosing"?(f(+e.headHeight,!0),t("update:modelValue",!0),tt(()=>t("refresh"))):f(0))};return ke(()=>e.modelValue,E=>{l.duration=+e.animationDuration,E?f(+e.headHeight,!0):n.success||e.successText?_():f(0,!1)}),gn("touchmove",x,{target:s}),()=>{var E;const B={transitionDuration:`${l.duration}ms`,transform:l.distance?`translate3d(0,${l.distance}px, 0)`:""};return g("div",{ref:r,class:Kn()},[g("div",{ref:s,class:Kn("track"),style:B,onTouchstartPassive:y,onTouchend:A,onTouchcancel:A},[g("div",{class:Kn("head"),style:u()},[p()]),(E=n.default)==null?void 0:E.call(n)])])}}});const ip=Oe(sp),[mc,sl]=Ee("tabbar"),lp={route:Boolean,fixed:Se,border:Se,zIndex:ce,placeholder:Boolean,activeColor:String,beforeChange:Function,inactiveColor:String,modelValue:ze(0),safeAreaInsetBottom:{type:Boolean,default:null}},pc=Symbol(mc);var ap=_e({name:mc,props:lp,emits:["change","update:modelValue"],setup(e,{emit:t,slots:n}){const o=J(),{linkChildren:r}=ir(pc),s=Vs(o,sl),i=()=>{var u;return(u=e.safeAreaInsetBottom)!=null?u:e.fixed},l=()=>{var u;const{fixed:c,zIndex:d,border:f}=e;return g("div",{ref:o,role:"tablist",style:Hs(d),class:[sl({fixed:c}),{[ja]:f,"van-safe-area-bottom":i()}]},[(u=n.default)==null?void 0:u.call(n)])};return r({props:e,setActive:(u,c)=>{Us(e.beforeChange,{args:[u],done(){t("update:modelValue",u),t("change",u),c()}})}}),()=>e.fixed&&e.placeholder?s(l):l()}});const cp=Oe(ap),[up,$r]=Ee("tabbar-item"),fp=Pe({},lr,{dot:Boolean,icon:String,name:ce,badge:ce,badgeProps:Object,iconPrefix:String});var dp=_e({name:up,props:fp,emits:["click"],setup(e,{emit:t,slots:n}){const o=ar(),r=Nt().proxy,{parent:s,index:i}=sr(pc);if(!s)return;const l=fe(()=>{var c;const{route:d,modelValue:f}=s.props;if(d&&"$route"in r){const{$route:h}=r,{to:p}=e,_=Lt(p)?p:{path:p};return!!h.matched.find(b=>{const y="path"in _&&_.path===b.path,x="name"in _&&_.name===b.name;return y||x})}return((c=e.name)!=null?c:i.value)===f}),a=c=>{var d;l.value||s.setActive((d=e.name)!=null?d:i.value,o),t("click",c)},u=()=>{if(n.icon)return n.icon({active:l.value});if(e.icon)return g(Ue,{name:e.icon,classPrefix:e.iconPrefix},null)};return()=>{var c;const{dot:d,badge:f}=e,{activeColor:h,inactiveColor:p}=s.props,_=l.value?h:p;return g("div",{role:"tab",class:$r({active:l.value}),style:{color:_},tabindex:0,"aria-selected":l.value,onClick:a},[g(Ja,rt({dot:d,class:$r("icon"),content:f},e.badgeProps),{default:u}),g("div",{class:$r("text")},[(c=n.default)==null?void 0:c.call(n,{active:l.value})])])}}});const hp=Oe(dp);/*! + * vue-router v4.1.6 + * (c) 2022 Eduardo San Martin Morote + * @license MIT + */const Cn=typeof window<"u";function mp(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ge=Object.assign;function Ir(e,t){const n={};for(const o in t){const r=t[o];n[o]=yt(r)?r.map(e):e(r)}return n}const Gn=()=>{},yt=Array.isArray,pp=/\/$/,gp=e=>e.replace(pp,"");function Nr(e,t,n="/"){let o,r={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(o=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),r=e(s)),l>-1&&(o=o||t.slice(0,l),i=t.slice(l,t.length)),o=bp(o!=null?o:t,n),{fullPath:o+(s&&"?")+s+i,path:o,query:r,hash:i}}function vp(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function il(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function _p(e,t,n){const o=t.matched.length-1,r=n.matched.length-1;return o>-1&&o===r&&kn(t.matched[o],n.matched[r])&&gc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function kn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function gc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!yp(e[n],t[n]))return!1;return!0}function yp(e,t){return yt(e)?ll(e,t):yt(t)?ll(t,e):e===t}function ll(e,t){return yt(t)?e.length===t.length&&e.every((n,o)=>n===t[o]):e.length===1&&e[0]===t}function bp(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/");let r=n.length-1,s,i;for(s=0;s1&&r--;else break;return n.slice(0,r).join("/")+"/"+o.slice(s-(s===o.length?1:0)).join("/")}var co;(function(e){e.pop="pop",e.push="push"})(co||(co={}));var eo;(function(e){e.back="back",e.forward="forward",e.unknown=""})(eo||(eo={}));function wp(e){if(!e)if(Cn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),gp(e)}const Ep=/^[^#]+#/;function Cp(e,t){return e.replace(Ep,"#")+t}function xp(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}const dr=()=>({left:window.pageXOffset,top:window.pageYOffset});function Sp(e){let t;if("el"in e){const n=e.el,o=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=xp(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function al(e,t){return(history.state?history.state.position-t:-1)+e}const rs=new Map;function Tp(e,t){rs.set(e,t)}function Op(e){const t=rs.get(e);return rs.delete(e),t}let Pp=()=>location.protocol+"//"+location.host;function vc(e,t){const{pathname:n,search:o,hash:r}=t,s=e.indexOf("#");if(s>-1){let l=r.includes(e.slice(s))?e.slice(s).length:1,a=r.slice(l);return a[0]!=="/"&&(a="/"+a),il(a,"")}return il(n,e)+o+r}function Rp(e,t,n,o){let r=[],s=[],i=null;const l=({state:f})=>{const h=vc(e,location),p=n.value,_=t.value;let b=0;if(f){if(n.value=h,t.value=f,i&&i===p){i=null;return}b=_?f.position-_.position:0}else o(h);r.forEach(y=>{y(n.value,p,{delta:b,type:co.pop,direction:b?b>0?eo.forward:eo.back:eo.unknown})})};function a(){i=n.value}function u(f){r.push(f);const h=()=>{const p=r.indexOf(f);p>-1&&r.splice(p,1)};return s.push(h),h}function c(){const{history:f}=window;!f.state||f.replaceState(ge({},f.state,{scroll:dr()}),"")}function d(){for(const f of s)f();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",c),{pauseListeners:a,listen:u,destroy:d}}function cl(e,t,n,o=!1,r=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:r?dr():null}}function kp(e){const{history:t,location:n}=window,o={value:vc(e,n)},r={value:t.state};r.value||s(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,u,c){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+a:Pp()+e+a;try{t[c?"replaceState":"pushState"](u,"",f),r.value=u}catch(h){console.error(h),n[c?"replace":"assign"](f)}}function i(a,u){const c=ge({},t.state,cl(r.value.back,a,r.value.forward,!0),u,{position:r.value.position});s(a,c,!0),o.value=a}function l(a,u){const c=ge({},r.value,t.state,{forward:a,scroll:dr()});s(c.current,c,!0);const d=ge({},cl(o.value,a,null),{position:c.position+1},u);s(a,d,!1),o.value=a}return{location:o,state:r,push:l,replace:i}}function Ap(e){e=wp(e);const t=kp(e),n=Rp(e,t.state,t.location,t.replace);function o(s,i=!0){i||n.pauseListeners(),history.go(s)}const r=ge({location:"",base:e,go:o,createHref:Cp.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function Bp(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Ap(e)}function $p(e){return typeof e=="string"||e&&typeof e=="object"}function _c(e){return typeof e=="string"||typeof e=="symbol"}const Ut={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},yc=Symbol("");var ul;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ul||(ul={}));function An(e,t){return ge(new Error,{type:e,[yc]:!0},t)}function Rt(e,t){return e instanceof Error&&yc in e&&(t==null||!!(e.type&t))}const fl="[^/]+?",Ip={sensitive:!1,strict:!1,start:!0,end:!0},Np=/[.+*?^${}()[\]/\\]/g;function Lp(e,t){const n=ge({},Ip,t),o=[];let r=n.start?"^":"";const s=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(r+="/");for(let d=0;dt.length?t.length===1&&t[0]===40+40?1:-1:0}function Dp(e,t){let n=0;const o=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const Mp={type:0,value:""},Hp=/[a-zA-Z0-9_]/;function Up(e){if(!e)return[[]];if(e==="/")return[[Mp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=0,o=n;const r=[];let s;function i(){s&&r.push(s),s=[]}let l=0,a,u="",c="";function d(){!u||(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function f(){u+=a}for(;l{i(x)}:Gn}function i(c){if(_c(c)){const d=o.get(c);d&&(o.delete(c),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(c);d>-1&&(n.splice(d,1),c.record.name&&o.delete(c.record.name),c.children.forEach(i),c.alias.forEach(i))}}function l(){return n}function a(c){let d=0;for(;d=0&&(c.record.path!==n[d].record.path||!bc(c,n[d]));)d++;n.splice(d,0,c),c.record.name&&!ml(c)&&o.set(c.record.name,c)}function u(c,d){let f,h={},p,_;if("name"in c&&c.name){if(f=o.get(c.name),!f)throw An(1,{location:c});_=f.record.name,h=ge(hl(d.params,f.keys.filter(x=>!x.optional).map(x=>x.name)),c.params&&hl(c.params,f.keys.map(x=>x.name))),p=f.stringify(h)}else if("path"in c)p=c.path,f=n.find(x=>x.re.test(p)),f&&(h=f.parse(p),_=f.record.name);else{if(f=d.name?o.get(d.name):n.find(x=>x.re.test(d.path)),!f)throw An(1,{location:c,currentLocation:d});_=f.record.name,h=ge({},d.params,c.params),p=f.stringify(h)}const b=[];let y=f;for(;y;)b.unshift(y.record),y=y.parent;return{name:_,path:p,params:h,matched:b,meta:qp(b)}}return e.forEach(c=>s(c)),{addRoute:s,resolve:u,removeRoute:i,getRoutes:l,getRecordMatcher:r}}function hl(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function zp(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Kp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Kp(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]=typeof n=="boolean"?n:n[o];return t}function ml(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function qp(e){return e.reduce((t,n)=>ge(t,n.meta),{})}function pl(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}function bc(e,t){return t.children.some(n=>n===e||bc(e,n))}const wc=/#/g,Wp=/&/g,Yp=/\//g,Jp=/=/g,Xp=/\?/g,Ec=/\+/g,Qp=/%5B/g,Zp=/%5D/g,Cc=/%5E/g,Gp=/%60/g,xc=/%7B/g,eg=/%7C/g,Sc=/%7D/g,tg=/%20/g;function Ks(e){return encodeURI(""+e).replace(eg,"|").replace(Qp,"[").replace(Zp,"]")}function ng(e){return Ks(e).replace(xc,"{").replace(Sc,"}").replace(Cc,"^")}function ss(e){return Ks(e).replace(Ec,"%2B").replace(tg,"+").replace(wc,"%23").replace(Wp,"%26").replace(Gp,"`").replace(xc,"{").replace(Sc,"}").replace(Cc,"^")}function og(e){return ss(e).replace(Jp,"%3D")}function rg(e){return Ks(e).replace(wc,"%23").replace(Xp,"%3F")}function sg(e){return e==null?"":rg(e).replace(Yp,"%2F")}function jo(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function ig(e){const t={};if(e===""||e==="?")return t;const o=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&ss(s)):[o&&ss(o)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function lg(e){const t={};for(const n in e){const o=e[n];o!==void 0&&(t[n]=yt(o)?o.map(r=>r==null?null:""+r):o==null?o:""+o)}return t}const ag=Symbol(""),vl=Symbol(""),hr=Symbol(""),qs=Symbol(""),is=Symbol("");function qn(){let e=[];function t(o){return e.push(o),()=>{const r=e.indexOf(o);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function zt(e,t,n,o,r){const s=o&&(o.enterCallbacks[r]=o.enterCallbacks[r]||[]);return()=>new Promise((i,l)=>{const a=d=>{d===!1?l(An(4,{from:n,to:t})):d instanceof Error?l(d):$p(d)?l(An(2,{from:t,to:d})):(s&&o.enterCallbacks[r]===s&&typeof d=="function"&&s.push(d),i())},u=e.call(o&&o.instances[r],t,n,a);let c=Promise.resolve(u);e.length<3&&(c=c.then(a)),c.catch(d=>l(d))})}function Lr(e,t,n,o){const r=[];for(const s of e)for(const i in s.components){let l=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(cg(l)){const u=(l.__vccOpts||l)[t];u&&r.push(zt(u,n,o,s,i))}else{let a=l();r.push(()=>a.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const c=mp(u)?u.default:u;s.components[i]=c;const f=(c.__vccOpts||c)[t];return f&&zt(f,n,o,s,i)()}))}}return r}function cg(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function _l(e){const t=Ze(hr),n=Ze(qs),o=fe(()=>t.resolve(Re(e.to))),r=fe(()=>{const{matched:a}=o.value,{length:u}=a,c=a[u-1],d=n.matched;if(!c||!d.length)return-1;const f=d.findIndex(kn.bind(null,c));if(f>-1)return f;const h=yl(a[u-2]);return u>1&&yl(c)===h&&d[d.length-1].path!==h?d.findIndex(kn.bind(null,a[u-2])):f}),s=fe(()=>r.value>-1&&hg(n.params,o.value.params)),i=fe(()=>r.value>-1&&r.value===n.matched.length-1&&gc(n.params,o.value.params));function l(a={}){return dg(a)?t[Re(e.replace)?"replace":"push"](Re(e.to)).catch(Gn):Promise.resolve()}return{route:o,href:fe(()=>o.value.href),isActive:s,isExactActive:i,navigate:l}}const ug=_e({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:_l,setup(e,{slots:t}){const n=We(_l(e)),{options:o}=Ze(hr),r=fe(()=>({[bl(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[bl(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:Is("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},s)}}}),fg=ug;function dg(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function hg(e,t){for(const n in t){const o=t[n],r=e[n];if(typeof o=="string"){if(o!==r)return!1}else if(!yt(r)||r.length!==o.length||o.some((s,i)=>s!==r[i]))return!1}return!0}function yl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const bl=(e,t,n)=>e!=null?e:t!=null?t:n,mg=_e({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=Ze(is),r=fe(()=>e.route||o.value),s=Ze(vl,0),i=fe(()=>{let u=Re(s);const{matched:c}=r.value;let d;for(;(d=c[u])&&!d.components;)u++;return u}),l=fe(()=>r.value.matched[i.value]);Wt(vl,fe(()=>i.value+1)),Wt(ag,l),Wt(is,r);const a=J();return ke(()=>[a.value,l.value,e.name],([u,c,d],[f,h,p])=>{c&&(c.instances[d]=u,h&&h!==c&&u&&u===f&&(c.leaveGuards.size||(c.leaveGuards=h.leaveGuards),c.updateGuards.size||(c.updateGuards=h.updateGuards))),u&&c&&(!h||!kn(c,h)||!f)&&(c.enterCallbacks[d]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=r.value,c=e.name,d=l.value,f=d&&d.components[c];if(!f)return wl(n.default,{Component:f,route:u});const h=d.props[c],p=h?h===!0?u.params:typeof h=="function"?h(u):h:null,b=Is(f,ge({},p,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(d.instances[c]=null)},ref:a}));return wl(n.default,{Component:b,route:u})||b}}});function wl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const pg=mg;function gg(e){const t=jp(e.routes,e),n=e.parseQuery||ig,o=e.stringifyQuery||gl,r=e.history,s=qn(),i=qn(),l=qn(),a=$u(Ut);let u=Ut;Cn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Ir.bind(null,O=>""+O),d=Ir.bind(null,sg),f=Ir.bind(null,jo);function h(O,w){let R,L;return _c(O)?(R=t.getRecordMatcher(O),L=w):L=O,t.addRoute(L,R)}function p(O){const w=t.getRecordMatcher(O);w&&t.removeRoute(w)}function _(){return t.getRoutes().map(O=>O.record)}function b(O){return!!t.getRecordMatcher(O)}function y(O,w){if(w=ge({},w||a.value),typeof O=="string"){const m=Nr(n,O,w.path),v=t.resolve({path:m.path},w),C=r.createHref(m.fullPath);return ge(m,v,{params:f(v.params),hash:jo(m.hash),redirectedFrom:void 0,href:C})}let R;if("path"in O)R=ge({},O,{path:Nr(n,O.path,w.path).path});else{const m=ge({},O.params);for(const v in m)m[v]==null&&delete m[v];R=ge({},O,{params:d(O.params)}),w.params=d(w.params)}const L=t.resolve(R,w),Y=O.hash||"";L.params=c(f(L.params));const he=vp(o,ge({},O,{hash:ng(Y),path:L.path})),oe=r.createHref(he);return ge({fullPath:he,hash:Y,query:o===gl?lg(O.query):O.query||{}},L,{redirectedFrom:void 0,href:oe})}function x(O){return typeof O=="string"?Nr(n,O,a.value.path):ge({},O)}function A(O,w){if(u!==O)return An(8,{from:w,to:O})}function E(O){return G(O)}function B(O){return E(ge(x(O),{replace:!0}))}function z(O){const w=O.matched[O.matched.length-1];if(w&&w.redirect){const{redirect:R}=w;let L=typeof R=="function"?R(O):R;return typeof L=="string"&&(L=L.includes("?")||L.includes("#")?L=x(L):{path:L},L.params={}),ge({query:O.query,hash:O.hash,params:"path"in L?{}:O.params},L)}}function G(O,w){const R=u=y(O),L=a.value,Y=O.state,he=O.force,oe=O.replace===!0,m=z(R);if(m)return G(ge(x(m),{state:typeof m=="object"?ge({},Y,m.state):Y,force:he,replace:oe}),w||R);const v=R;v.redirectedFrom=w;let C;return!he&&_p(o,L,R)&&(C=An(16,{to:v,from:L}),N(L,L,!0,!1)),(C?Promise.resolve(C):te(v,L)).catch(S=>Rt(S)?Rt(S,2)?S:Le(S):le(S,v,L)).then(S=>{if(S){if(Rt(S,2))return G(ge({replace:oe},x(S.to),{state:typeof S.to=="object"?ge({},Y,S.to.state):Y,force:he}),w||v)}else S=de(v,L,!0,oe,Y);return ne(v,L,S),S})}function V(O,w){const R=A(O,w);return R?Promise.reject(R):Promise.resolve()}function te(O,w){let R;const[L,Y,he]=vg(O,w);R=Lr(L.reverse(),"beforeRouteLeave",O,w);for(const m of L)m.leaveGuards.forEach(v=>{R.push(zt(v,O,w))});const oe=V.bind(null,O,w);return R.push(oe),En(R).then(()=>{R=[];for(const m of s.list())R.push(zt(m,O,w));return R.push(oe),En(R)}).then(()=>{R=Lr(Y,"beforeRouteUpdate",O,w);for(const m of Y)m.updateGuards.forEach(v=>{R.push(zt(v,O,w))});return R.push(oe),En(R)}).then(()=>{R=[];for(const m of O.matched)if(m.beforeEnter&&!w.matched.includes(m))if(yt(m.beforeEnter))for(const v of m.beforeEnter)R.push(zt(v,O,w));else R.push(zt(m.beforeEnter,O,w));return R.push(oe),En(R)}).then(()=>(O.matched.forEach(m=>m.enterCallbacks={}),R=Lr(he,"beforeRouteEnter",O,w),R.push(oe),En(R))).then(()=>{R=[];for(const m of i.list())R.push(zt(m,O,w));return R.push(oe),En(R)}).catch(m=>Rt(m,8)?m:Promise.reject(m))}function ne(O,w,R){for(const L of l.list())L(O,w,R)}function de(O,w,R,L,Y){const he=A(O,w);if(he)return he;const oe=w===Ut,m=Cn?history.state:{};R&&(L||oe?r.replace(O.fullPath,ge({scroll:oe&&m&&m.scroll},Y)):r.push(O.fullPath,Y)),a.value=O,N(O,w,R,oe),Le()}let H;function D(){H||(H=r.listen((O,w,R)=>{if(!Je.listening)return;const L=y(O),Y=z(L);if(Y){G(ge(Y,{replace:!0}),L).catch(Gn);return}u=L;const he=a.value;Cn&&Tp(al(he.fullPath,R.delta),dr()),te(L,he).catch(oe=>Rt(oe,12)?oe:Rt(oe,2)?(G(oe.to,L).then(m=>{Rt(m,20)&&!R.delta&&R.type===co.pop&&r.go(-1,!1)}).catch(Gn),Promise.reject()):(R.delta&&r.go(-R.delta,!1),le(oe,L,he))).then(oe=>{oe=oe||de(L,he,!1),oe&&(R.delta&&!Rt(oe,8)?r.go(-R.delta,!1):R.type===co.pop&&Rt(oe,20)&&r.go(-1,!1)),ne(L,he,oe)}).catch(Gn)}))}let W=qn(),Ce=qn(),re;function le(O,w,R){Le(O);const L=Ce.list();return L.length?L.forEach(Y=>Y(O,w,R)):console.error(O),Promise.reject(O)}function ae(){return re&&a.value!==Ut?Promise.resolve():new Promise((O,w)=>{W.add([O,w])})}function Le(O){return re||(re=!O,D(),W.list().forEach(([w,R])=>O?R(O):w()),W.reset()),O}function N(O,w,R,L){const{scrollBehavior:Y}=e;if(!Cn||!Y)return Promise.resolve();const he=!R&&Op(al(O.fullPath,0))||(L||!R)&&history.state&&history.state.scroll||null;return tt().then(()=>Y(O,w,he)).then(oe=>oe&&Sp(oe)).catch(oe=>le(oe,O,w))}const j=O=>r.go(O);let Q;const Fe=new Set,Je={currentRoute:a,listening:!0,addRoute:h,removeRoute:p,hasRoute:b,getRoutes:_,resolve:y,options:e,push:E,replace:B,go:j,back:()=>j(-1),forward:()=>j(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:Ce.add,isReady:ae,install(O){const w=this;O.component("RouterLink",fg),O.component("RouterView",pg),O.config.globalProperties.$router=w,Object.defineProperty(O.config.globalProperties,"$route",{enumerable:!0,get:()=>Re(a)}),Cn&&!Q&&a.value===Ut&&(Q=!0,E(r.location).catch(Y=>{}));const R={};for(const Y in Ut)R[Y]=fe(()=>a.value[Y]);O.provide(hr,w),O.provide(qs,We(R)),O.provide(is,a);const L=O.unmount;Fe.add(O),O.unmount=function(){Fe.delete(O),Fe.size<1&&(u=Ut,H&&H(),H=null,a.value=Ut,Q=!1,re=!1),L()}}};return Je}function En(e){return e.reduce((t,n)=>t.then(()=>n()),Promise.resolve())}function vg(e,t){const n=[],o=[],r=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;ikn(u,l))?o.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>kn(u,a))||r.push(a))}return[n,o,r]}function _g(){return Ze(hr)}function Tc(){return Ze(qs)}const yg={__name:"Header",setup(e){const t=J("OneNav\u540E\u53F0\u9996\u9875"),n=Tc(),o=()=>{switch(n.path){case"/links":t.value="\u6211\u7684\u94FE\u63A5";break;case"/add_link":t.value="\u6DFB\u52A0\u94FE\u63A5";break;case"/categorys":t.value="\u6211\u7684\u5206\u7C7B";break;default:t.value="OneNav\u540E\u53F0\u9996\u9875"}};st(()=>{o()});const r=()=>{window.location.href="/"};return ke(n,(s,i)=>{o()}),(s,i)=>{const l=Ue,a=Wm;return qe(),dn(a,{title:t.value},{left:pe(()=>[g(l,{name:"wap-home-o",title:"\u8FD4\u56DE\u524D\u53F0\u9996\u9875",size:"22",color:"#C2C2C2",onClick:r})]),_:1},8,["title"])}}};const bg={class:"my-footer"},wg={__name:"Footer",setup(e){const t=J(0),n=_g(),o=r=>{n.push(r)};return(r,s)=>{const i=hp,l=cp;return qe(),Jt("div",bg,[g(l,{modelValue:t.value,"onUpdate:modelValue":s[4]||(s[4]=a=>t.value=a)},{default:pe(()=>[g(i,{icon:"home-o",onClick:s[0]||(s[0]=a=>o("/"))},{default:pe(()=>[Qe(" \u540E\u53F0\u9996\u9875 ")]),_:1}),g(i,{icon:"link-o",onClick:s[1]||(s[1]=a=>o("/links"))},{default:pe(()=>[Qe(" \u6211\u7684\u94FE\u63A5 ")]),_:1}),g(i,{icon:"add-o",onClick:s[2]||(s[2]=a=>o("/add_link"))},{default:pe(()=>[Qe(" \u6DFB\u52A0\u94FE\u63A5 ")]),_:1}),g(i,{icon:"label-o",onClick:s[3]||(s[3]=a=>o("/categorys"))},{default:pe(()=>[Qe(" \u6211\u7684\u5206\u7C7B ")]),_:1})]),_:1},8,["modelValue"])])}}},Eg={__name:"App",setup(e){return Tc(),(t,n)=>{const o=cf("RouterView");return qe(),Jt(je,null,[g(yg),g(o),g(wg)],64)}}};function Oc(e,t){return function(){return e.apply(t,arguments)}}const{toString:Pc}=Object.prototype,{getPrototypeOf:Ws}=Object,Ys=(e=>t=>{const n=Pc.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ft=e=>(e=e.toLowerCase(),t=>Ys(t)===e),mr=e=>t=>typeof t===e,{isArray:go}=Array,ls=mr("undefined");function Cg(e){return e!==null&&!ls(e)&&e.constructor!==null&&!ls(e.constructor)&&Ln(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Rc=Ft("ArrayBuffer");function xg(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Rc(e.buffer),t}const Sg=mr("string"),Ln=mr("function"),kc=mr("number"),Ac=e=>e!==null&&typeof e=="object",Tg=e=>e===!0||e===!1,Bo=e=>{if(Ys(e)!=="object")return!1;const t=Ws(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Og=Ft("Date"),Pg=Ft("File"),Rg=Ft("Blob"),kg=Ft("FileList"),Ag=e=>Ac(e)&&Ln(e.pipe),Bg=e=>{const t="[object FormData]";return e&&(typeof FormData=="function"&&e instanceof FormData||Pc.call(e)===t||Ln(e.toString)&&e.toString()===t)},$g=Ft("URLSearchParams"),Ig=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function pr(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let o,r;if(typeof e!="object"&&(e=[e]),go(e))for(o=0,r=e.length;o{Bo(e[o])&&Bo(n)?e[o]=as(e[o],n):Bo(n)?e[o]=as({},n):go(n)?e[o]=n.slice():e[o]=n};for(let n=0,o=arguments.length;n(pr(t,(r,s)=>{n&&Ln(r)?e[s]=Oc(r,n):e[s]=r},{allOwnKeys:o}),e),Lg=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Fg=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Dg=(e,t,n,o)=>{let r,s,i;const l={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),s=r.length;s-- >0;)i=r[s],(!o||o(i,e,t))&&!l[i]&&(t[i]=e[i],l[i]=!0);e=n!==!1&&Ws(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Mg=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},Hg=e=>{if(!e)return null;if(go(e))return e;let t=e.length;if(!kc(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Ug=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Ws(Uint8Array)),Vg=(e,t)=>{const o=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=o.next())&&!r.done;){const s=r.value;t.call(e,s[0],s[1])}},jg=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},zg=Ft("HTMLFormElement"),Kg=e=>e.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,function(n,o,r){return o.toUpperCase()+r}),El=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),qg=Ft("RegExp"),Bc=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};pr(n,(r,s)=>{t(r,s,e)!==!1&&(o[s]=r)}),Object.defineProperties(e,o)},Wg=e=>{Bc(e,(t,n)=>{const o=e[n];if(!!Ln(o)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not read-only method '"+n+"'")})}})},Yg=(e,t)=>{const n={},o=r=>{r.forEach(s=>{n[s]=!0})};return go(e)?o(e):o(String(e).split(t)),n},Jg=()=>{},Xg=(e,t)=>(e=+e,Number.isFinite(e)?e:t),T={isArray:go,isArrayBuffer:Rc,isBuffer:Cg,isFormData:Bg,isArrayBufferView:xg,isString:Sg,isNumber:kc,isBoolean:Tg,isObject:Ac,isPlainObject:Bo,isUndefined:ls,isDate:Og,isFile:Pg,isBlob:Rg,isRegExp:qg,isFunction:Ln,isStream:Ag,isURLSearchParams:$g,isTypedArray:Ug,isFileList:kg,forEach:pr,merge:as,extend:Ng,trim:Ig,stripBOM:Lg,inherits:Fg,toFlatObject:Dg,kindOf:Ys,kindOfTest:Ft,endsWith:Mg,toArray:Hg,forEachEntry:Vg,matchAll:jg,isHTMLForm:zg,hasOwnProperty:El,hasOwnProp:El,reduceDescriptors:Bc,freezeMethods:Wg,toObjectSet:Yg,toCamelCase:Kg,noop:Jg,toFiniteNumber:Xg};function ue(e,t,n,o,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),r&&(this.response=r)}T.inherits(ue,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const $c=ue.prototype,Ic={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Ic[e]={value:e}});Object.defineProperties(ue,Ic);Object.defineProperty($c,"isAxiosError",{value:!0});ue.from=(e,t,n,o,r,s)=>{const i=Object.create($c);return T.toFlatObject(e,i,function(a){return a!==Error.prototype},l=>l!=="isAxiosError"),ue.call(i,e.message,t,n,o,r),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};var Qg=typeof self=="object"?self.FormData:window.FormData;function cs(e){return T.isPlainObject(e)||T.isArray(e)}function Nc(e){return T.endsWith(e,"[]")?e.slice(0,-2):e}function Cl(e,t,n){return e?e.concat(t).map(function(r,s){return r=Nc(r),!n&&s?"["+r+"]":r}).join(n?".":""):t}function Zg(e){return T.isArray(e)&&!e.some(cs)}const Gg=T.toFlatObject(T,{},null,function(t){return/^is[A-Z]/.test(t)});function ev(e){return e&&T.isFunction(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator]}function gr(e,t,n){if(!T.isObject(e))throw new TypeError("target must be an object");t=t||new(Qg||FormData),n=T.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(_,b){return!T.isUndefined(b[_])});const o=n.metaTokens,r=n.visitor||c,s=n.dots,i=n.indexes,a=(n.Blob||typeof Blob<"u"&&Blob)&&ev(t);if(!T.isFunction(r))throw new TypeError("visitor must be a function");function u(p){if(p===null)return"";if(T.isDate(p))return p.toISOString();if(!a&&T.isBlob(p))throw new ue("Blob is not supported. Use a Buffer instead.");return T.isArrayBuffer(p)||T.isTypedArray(p)?a&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function c(p,_,b){let y=p;if(p&&!b&&typeof p=="object"){if(T.endsWith(_,"{}"))_=o?_:_.slice(0,-2),p=JSON.stringify(p);else if(T.isArray(p)&&Zg(p)||T.isFileList(p)||T.endsWith(_,"[]")&&(y=T.toArray(p)))return _=Nc(_),y.forEach(function(A,E){!(T.isUndefined(A)||A===null)&&t.append(i===!0?Cl([_],E,s):i===null?_:_+"[]",u(A))}),!1}return cs(p)?!0:(t.append(Cl(b,_,s),u(p)),!1)}const d=[],f=Object.assign(Gg,{defaultVisitor:c,convertValue:u,isVisitable:cs});function h(p,_){if(!T.isUndefined(p)){if(d.indexOf(p)!==-1)throw Error("Circular reference detected in "+_.join("."));d.push(p),T.forEach(p,function(y,x){(!(T.isUndefined(y)||y===null)&&r.call(t,y,T.isString(x)?x.trim():x,_,f))===!0&&h(y,_?_.concat(x):[x])}),d.pop()}}if(!T.isObject(e))throw new TypeError("data must be an object");return h(e),t}function xl(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function Js(e,t){this._pairs=[],e&&gr(e,this,t)}const Lc=Js.prototype;Lc.append=function(t,n){this._pairs.push([t,n])};Lc.toString=function(t){const n=t?function(o){return t.call(this,o,xl)}:xl;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};function tv(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Fc(e,t,n){if(!t)return e;const o=n&&n.encode||tv,r=n&&n.serialize;let s;if(r?s=r(t,n):s=T.isURLSearchParams(t)?t.toString():new Js(t,n).toString(o),s){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class Sl{constructor(){this.handlers=[]}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:!1,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){T.forEach(this.handlers,function(o){o!==null&&t(o)})}}const Dc={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},nv=typeof URLSearchParams<"u"?URLSearchParams:Js,ov=FormData,rv=(()=>{let e;return typeof navigator<"u"&&((e=navigator.product)==="ReactNative"||e==="NativeScript"||e==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),At={isBrowser:!0,classes:{URLSearchParams:nv,FormData:ov,Blob},isStandardBrowserEnv:rv,protocols:["http","https","file","blob","url","data"]};function sv(e,t){return gr(e,new At.classes.URLSearchParams,Object.assign({visitor:function(n,o,r,s){return At.isNode&&T.isBuffer(n)?(this.append(o,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}function iv(e){return T.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function lv(e){const t={},n=Object.keys(e);let o;const r=n.length;let s;for(o=0;o=n.length;return i=!i&&T.isArray(r)?r.length:i,a?(T.hasOwnProp(r,i)?r[i]=[r[i],o]:r[i]=o,!l):((!r[i]||!T.isObject(r[i]))&&(r[i]=[]),t(n,o,r[i],s)&&T.isArray(r[i])&&(r[i]=lv(r[i])),!l)}if(T.isFormData(e)&&T.isFunction(e.entries)){const n={};return T.forEachEntry(e,(o,r)=>{t(iv(o),r,n,0)}),n}return null}function av(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new ue("Request failed with status code "+n.status,[ue.ERR_BAD_REQUEST,ue.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const cv=At.isStandardBrowserEnv?function(){return{write:function(n,o,r,s,i,l){const a=[];a.push(n+"="+encodeURIComponent(o)),T.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),T.isString(s)&&a.push("path="+s),T.isString(i)&&a.push("domain="+i),l===!0&&a.push("secure"),document.cookie=a.join("; ")},read:function(n){const o=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return o?decodeURIComponent(o[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function uv(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function fv(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function Hc(e,t){return e&&!uv(t)?fv(e,t):t}const dv=At.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let o;function r(s){let i=s;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return o=r(window.location.href),function(i){const l=T.isString(i)?r(i):i;return l.protocol===o.protocol&&l.host===o.host}}():function(){return function(){return!0}}();function vo(e,t,n){ue.call(this,e==null?"canceled":e,ue.ERR_CANCELED,t,n),this.name="CanceledError"}T.inherits(vo,ue,{__CANCEL__:!0});function hv(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}const mv=T.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),pv=e=>{const t={};let n,o,r;return e&&e.split(` +`).forEach(function(i){r=i.indexOf(":"),n=i.substring(0,r).trim().toLowerCase(),o=i.substring(r+1).trim(),!(!n||t[n]&&mv[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o)}),t},Tl=Symbol("internals"),Uc=Symbol("defaults");function Jn(e){return e&&String(e).trim().toLowerCase()}function $o(e){return e===!1||e==null?e:T.isArray(e)?e.map($o):String(e)}function gv(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}function Ol(e,t,n,o){if(T.isFunction(o))return o.call(this,t,n);if(!!T.isString(t)){if(T.isString(o))return t.indexOf(o)!==-1;if(T.isRegExp(o))return o.test(t)}}function vv(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function _v(e,t){const n=T.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(r,s,i){return this[o].call(this,t,r,s,i)},configurable:!0})})}function Wn(e,t){t=t.toLowerCase();const n=Object.keys(e);let o=n.length,r;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}function ut(e,t){e&&this.set(e),this[Uc]=t||null}Object.assign(ut.prototype,{set:function(e,t,n){const o=this;function r(s,i,l){const a=Jn(i);if(!a)throw new Error("header name must be a non-empty string");const u=Wn(o,a);u&&l!==!0&&(o[u]===!1||l===!1)||(o[u||i]=$o(s))}return T.isPlainObject(e)?T.forEach(e,(s,i)=>{r(s,i,t)}):r(t,e,n),this},get:function(e,t){if(e=Jn(e),!e)return;const n=Wn(this,e);if(n){const o=this[n];if(!t)return o;if(t===!0)return gv(o);if(T.isFunction(t))return t.call(this,o,n);if(T.isRegExp(t))return t.exec(o);throw new TypeError("parser must be boolean|regexp|function")}},has:function(e,t){if(e=Jn(e),e){const n=Wn(this,e);return!!(n&&(!t||Ol(this,this[n],n,t)))}return!1},delete:function(e,t){const n=this;let o=!1;function r(s){if(s=Jn(s),s){const i=Wn(n,s);i&&(!t||Ol(n,n[i],i,t))&&(delete n[i],o=!0)}}return T.isArray(e)?e.forEach(r):r(e),o},clear:function(){return Object.keys(this).forEach(this.delete.bind(this))},normalize:function(e){const t=this,n={};return T.forEach(this,(o,r)=>{const s=Wn(n,r);if(s){t[s]=$o(o),delete t[r];return}const i=e?vv(r):String(r).trim();i!==r&&delete t[r],t[i]=$o(o),n[i]=!0}),this},toJSON:function(e){const t=Object.create(null);return T.forEach(Object.assign({},this[Uc]||null,this),(n,o)=>{n==null||n===!1||(t[o]=e&&T.isArray(n)?n.join(", "):n)}),t}});Object.assign(ut,{from:function(e){return T.isString(e)?new this(pv(e)):e instanceof this?e:new this(e)},accessor:function(e){const n=(this[Tl]=this[Tl]={accessors:{}}).accessors,o=this.prototype;function r(s){const i=Jn(s);n[i]||(_v(o,s),n[i]=!0)}return T.isArray(e)?e.forEach(r):r(e),this}});ut.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]);T.freezeMethods(ut.prototype);T.freezeMethods(ut);function yv(e,t){e=e||10;const n=new Array(e),o=new Array(e);let r=0,s=0,i;return t=t!==void 0?t:1e3,function(a){const u=Date.now(),c=o[s];i||(i=u),n[r]=a,o[r]=u;let d=s,f=0;for(;d!==r;)f+=n[d++],d=d%e;if(r=(r+1)%e,r===s&&(s=(s+1)%e),u-i{const s=r.loaded,i=r.lengthComputable?r.total:void 0,l=s-n,a=o(l),u=s<=i;n=s;const c={loaded:s,total:i,progress:i?s/i:void 0,bytes:l,rate:a||void 0,estimated:a&&i&&u?(i-s)/a:void 0};c[t?"download":"upload"]=!0,e(c)}}function Rl(e){return new Promise(function(n,o){let r=e.data;const s=ut.from(e.headers).normalize(),i=e.responseType;let l;function a(){e.cancelToken&&e.cancelToken.unsubscribe(l),e.signal&&e.signal.removeEventListener("abort",l)}T.isFormData(r)&&At.isStandardBrowserEnv&&s.setContentType(!1);let u=new XMLHttpRequest;if(e.auth){const h=e.auth.username||"",p=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";s.set("Authorization","Basic "+btoa(h+":"+p))}const c=Hc(e.baseURL,e.url);u.open(e.method.toUpperCase(),Fc(c,e.params,e.paramsSerializer),!0),u.timeout=e.timeout;function d(){if(!u)return;const h=ut.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),_={data:!i||i==="text"||i==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:h,config:e,request:u};av(function(y){n(y),a()},function(y){o(y),a()},_),u=null}if("onloadend"in u?u.onloadend=d:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(d)},u.onabort=function(){!u||(o(new ue("Request aborted",ue.ECONNABORTED,e,u)),u=null)},u.onerror=function(){o(new ue("Network Error",ue.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){let p=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const _=e.transitional||Dc;e.timeoutErrorMessage&&(p=e.timeoutErrorMessage),o(new ue(p,_.clarifyTimeoutError?ue.ETIMEDOUT:ue.ECONNABORTED,e,u)),u=null},At.isStandardBrowserEnv){const h=(e.withCredentials||dv(c))&&e.xsrfCookieName&&cv.read(e.xsrfCookieName);h&&s.set(e.xsrfHeaderName,h)}r===void 0&&s.setContentType(null),"setRequestHeader"in u&&T.forEach(s.toJSON(),function(p,_){u.setRequestHeader(_,p)}),T.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),i&&i!=="json"&&(u.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&u.addEventListener("progress",Pl(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",Pl(e.onUploadProgress)),(e.cancelToken||e.signal)&&(l=h=>{!u||(o(!h||h.type?new vo(null,e,u):h),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(l),e.signal&&(e.signal.aborted?l():e.signal.addEventListener("abort",l)));const f=hv(c);if(f&&At.protocols.indexOf(f)===-1){o(new ue("Unsupported protocol "+f+":",ue.ERR_BAD_REQUEST,e));return}u.send(r||null)})}const kl={http:Rl,xhr:Rl},Al={getAdapter:e=>{if(T.isString(e)){const t=kl[e];if(!e)throw Error(T.hasOwnProp(e)?`Adapter '${e}' is not available in the build`:`Can not resolve adapter '${e}'`);return t}if(!T.isFunction(e))throw new TypeError("adapter is not a function");return e},adapters:kl},bv={"Content-Type":"application/x-www-form-urlencoded"};function wv(){let e;return typeof XMLHttpRequest<"u"?e=Al.getAdapter("xhr"):typeof process<"u"&&T.kindOf(process)==="process"&&(e=Al.getAdapter("http")),e}function Ev(e,t,n){if(T.isString(e))try{return(t||JSON.parse)(e),T.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return(n||JSON.stringify)(e)}const Fn={transitional:Dc,adapter:wv(),transformRequest:[function(t,n){const o=n.getContentType()||"",r=o.indexOf("application/json")>-1,s=T.isObject(t);if(s&&T.isHTMLForm(t)&&(t=new FormData(t)),T.isFormData(t))return r&&r?JSON.stringify(Mc(t)):t;if(T.isArrayBuffer(t)||T.isBuffer(t)||T.isStream(t)||T.isFile(t)||T.isBlob(t))return t;if(T.isArrayBufferView(t))return t.buffer;if(T.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(s){if(o.indexOf("application/x-www-form-urlencoded")>-1)return sv(t,this.formSerializer).toString();if((l=T.isFileList(t))||o.indexOf("multipart/form-data")>-1){const a=this.env&&this.env.FormData;return gr(l?{"files[]":t}:t,a&&new a,this.formSerializer)}}return s||r?(n.setContentType("application/json",!1),Ev(t)):t}],transformResponse:[function(t){const n=this.transitional||Fn.transitional,o=n&&n.forcedJSONParsing,r=this.responseType==="json";if(t&&T.isString(t)&&(o&&!this.responseType||r)){const i=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(l){if(i)throw l.name==="SyntaxError"?ue.from(l,ue.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:At.classes.FormData,Blob:At.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};T.forEach(["delete","get","head"],function(t){Fn.headers[t]={}});T.forEach(["post","put","patch"],function(t){Fn.headers[t]=T.merge(bv)});function Fr(e,t){const n=this||Fn,o=t||n,r=ut.from(o.headers);let s=o.data;return T.forEach(e,function(l){s=l.call(n,s,r.normalize(),t?t.status:void 0)}),r.normalize(),s}function Vc(e){return!!(e&&e.__CANCEL__)}function Dr(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new vo}function Bl(e){return Dr(e),e.headers=ut.from(e.headers),e.data=Fr.call(e,e.transformRequest),(e.adapter||Fn.adapter)(e).then(function(o){return Dr(e),o.data=Fr.call(e,e.transformResponse,o),o.headers=ut.from(o.headers),o},function(o){return Vc(o)||(Dr(e),o&&o.response&&(o.response.data=Fr.call(e,e.transformResponse,o.response),o.response.headers=ut.from(o.response.headers))),Promise.reject(o)})}function uo(e,t){t=t||{};const n={};function o(u,c){return T.isPlainObject(u)&&T.isPlainObject(c)?T.merge(u,c):T.isPlainObject(c)?T.merge({},c):T.isArray(c)?c.slice():c}function r(u){if(T.isUndefined(t[u])){if(!T.isUndefined(e[u]))return o(void 0,e[u])}else return o(e[u],t[u])}function s(u){if(!T.isUndefined(t[u]))return o(void 0,t[u])}function i(u){if(T.isUndefined(t[u])){if(!T.isUndefined(e[u]))return o(void 0,e[u])}else return o(void 0,t[u])}function l(u){if(u in t)return o(e[u],t[u]);if(u in e)return o(void 0,e[u])}const a={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:l};return T.forEach(Object.keys(e).concat(Object.keys(t)),function(c){const d=a[c]||r,f=d(c);T.isUndefined(f)&&d!==l||(n[c]=f)}),n}const jc="1.1.3",Xs={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Xs[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e}});const $l={};Xs.transitional=function(t,n,o){function r(s,i){return"[Axios v"+jc+"] Transitional option '"+s+"'"+i+(o?". "+o:"")}return(s,i,l)=>{if(t===!1)throw new ue(r(i," has been removed"+(n?" in "+n:"")),ue.ERR_DEPRECATED);return n&&!$l[i]&&($l[i]=!0,console.warn(r(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,i,l):!0}};function Cv(e,t,n){if(typeof e!="object")throw new ue("options must be an object",ue.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let r=o.length;for(;r-- >0;){const s=o[r],i=t[s];if(i){const l=e[s],a=l===void 0||i(l,s,e);if(a!==!0)throw new ue("option "+s+" must be "+a,ue.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new ue("Unknown option "+s,ue.ERR_BAD_OPTION)}}const us={assertOptions:Cv,validators:Xs},Vt=us.validators;class fn{constructor(t){this.defaults=t,this.interceptors={request:new Sl,response:new Sl}}request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=uo(this.defaults,n);const{transitional:o,paramsSerializer:r}=n;o!==void 0&&us.assertOptions(o,{silentJSONParsing:Vt.transitional(Vt.boolean),forcedJSONParsing:Vt.transitional(Vt.boolean),clarifyTimeoutError:Vt.transitional(Vt.boolean)},!1),r!==void 0&&us.assertOptions(r,{encode:Vt.function,serialize:Vt.function},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();const s=n.headers&&T.merge(n.headers.common,n.headers[n.method]);s&&T.forEach(["delete","get","head","post","put","patch","common"],function(p){delete n.headers[p]}),n.headers=new ut(n.headers,s);const i=[];let l=!0;this.interceptors.request.forEach(function(p){typeof p.runWhen=="function"&&p.runWhen(n)===!1||(l=l&&p.synchronous,i.unshift(p.fulfilled,p.rejected))});const a=[];this.interceptors.response.forEach(function(p){a.push(p.fulfilled,p.rejected)});let u,c=0,d;if(!l){const h=[Bl.bind(this),void 0];for(h.unshift.apply(h,i),h.push.apply(h,a),d=h.length,u=Promise.resolve(n);c{if(!o._listeners)return;let s=o._listeners.length;for(;s-- >0;)o._listeners[s](r);o._listeners=null}),this.promise.then=r=>{let s;const i=new Promise(l=>{o.subscribe(l),s=l}).then(r);return i.cancel=function(){o.unsubscribe(s)},i},t(function(s,i,l){o.reason||(o.reason=new vo(s,i,l),n(o.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new Qs(function(r){t=r}),cancel:t}}}function xv(e){return function(n){return e.apply(null,n)}}function Sv(e){return T.isObject(e)&&e.isAxiosError===!0}function zc(e){const t=new fn(e),n=Oc(fn.prototype.request,t);return T.extend(n,fn.prototype,t,{allOwnKeys:!0}),T.extend(n,t,null,{allOwnKeys:!0}),n.create=function(r){return zc(uo(e,r))},n}const Ye=zc(Fn);Ye.Axios=fn;Ye.CanceledError=vo;Ye.CancelToken=Qs;Ye.isCancel=Vc;Ye.VERSION=jc;Ye.toFormData=gr;Ye.AxiosError=ue;Ye.Cancel=Ye.CanceledError;Ye.all=function(t){return Promise.all(t)};Ye.spread=xv;Ye.isAxiosError=Sv;Ye.formToJSON=e=>Mc(T.isHTMLForm(e)?new FormData(e):e);var Il={expireTimes:"1d",path:"; path=/",domain:"",secure:!1,sameSite:"; SameSite=Lax"},Tv=function(){function e(){this.current_default_config=Il}return e.prototype.config=function(t){for(var n in this.current_default_config)this.current_default_config[n]=t[n]?t[n]:Il[n]},e.prototype.get=function(t){var n=decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null;if(n&&n.substring(0,1)==="{"&&n.substring(n.length-1,n.length)==="}")try{n=JSON.parse(n)}catch{return n}return n},e.prototype.set=function(t,n,o,r,s,i,l){if(t){if(/^(?:expires|max-age|path|domain|secure|SameSite)$/i.test(t))throw new Error('Cookie name illegality. Cannot be set to ["expires","max-age","path","domain","secure","SameSite"] current key name: '+t)}else throw new Error("Cookie name is not found in the first argument.");n&&n.constructor===Object&&(n=JSON.stringify(n));var a="";if(o==null&&(o=this.current_default_config.expireTimes?this.current_default_config.expireTimes:""),o&&o!=0)switch(o.constructor){case Number:o===1/0||o===-1?a="; expires=Fri, 31 Dec 9999 23:59:59 GMT":a="; max-age="+o;break;case String:if(/^(?:\d+(y|m|d|h|min|s))$/i.test(o)){var u=o.replace(/^(\d+)(?:y|m|d|h|min|s)$/i,"$1");switch(o.replace(/^(?:\d+)(y|m|d|h|min|s)$/i,"$1").toLowerCase()){case"m":a="; max-age="+ +u*2592e3;break;case"d":a="; max-age="+ +u*86400;break;case"h":a="; max-age="+ +u*3600;break;case"min":a="; max-age="+ +u*60;break;case"s":a="; max-age="+u;break;case"y":a="; max-age="+ +u*31104e3;break}}else a="; expires="+o;break;case Date:a="; expires="+o.toUTCString();break}return document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(n)+a+(s?"; domain="+s:this.current_default_config.domain?this.current_default_config.domain:"")+(r?"; path="+r:this.current_default_config.path?this.current_default_config.path:"; path=/")+(i==null?this.current_default_config.secure?"; Secure":"":i?"; Secure":"")+(l==null?this.current_default_config.sameSite?"; SameSute="+this.current_default_config.sameSite:"":l?"; SameSite="+l:""),this},e.prototype.remove=function(t,n,o){return!t||!this.isKey(t)?!1:(document.cookie=encodeURIComponent(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(o?"; domain="+o:this.current_default_config.domain?this.current_default_config.domain:"")+(n?"; path="+n:this.current_default_config.path?this.current_default_config.path:"; path=/")+"; SameSite=Lax",!0)},e.prototype.isKey=function(t){return new RegExp("(?:^|;\\s*)"+encodeURIComponent(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},e.prototype.keys=function(){if(!document.cookie)return[];for(var t=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),n=0;n{Pv.get("CID");let e="";return Ye.create({headers:{"X-Token":e}})};const Rv={class:"home"},kv={class:"avatar"},Av={class:"welcom"},Bv={class:"buy"},$v={class:"logout"},Iv={__name:"Home",setup(e){const t=J({}),n=vr(),o=J({ip:"",area:""}),r=()=>{let a=St+"/index.php?c=api&method=app_info";n.get(a).then(function(u){u.data.code==200?t.value=u.data.data:ve.fail(u.data.err_msg)}).catch(function(u){ve.fail(u)})},s=()=>{Ye.get("https://ip.rss.ink/json").then(function(a){let u=a.data.code,c=a.data.data;u==200&&(o.value.ip=c.ip,o.value.area=c.area)}).catch(function(a){console.log(a)})},i=()=>{window.location.href="/index.php?c=admin&page=logout"},l=a=>{window.location.href=a};return st(()=>{r(),s()}),(a,u)=>{const c=Lm,d=Bm,f=ur,h=uc,p=mn;return qe(),Jt("div",Rv,[et("div",kv,[g(c,{round:"",width:"64px",height:"64px",src:"/static/images/avatar.jpg"})]),et("div",Av,[et("p",null,"\u6B22\u8FCE\u56DE\u6765\uFF0C"+on(t.value.username),1)]),g(h,null,{default:pe(()=>[g(f,{title:"PHP\u7248\u672C"},{"right-icon":pe(()=>[g(d,{plain:"",type:"primary"},{default:pe(()=>[Qe(on(t.value.php_version),1)]),_:1})]),_:1}),g(f,{title:"OneNav\u7248\u672C"},{"right-icon":pe(()=>[g(d,{plain:"",type:"primary"},{default:pe(()=>[Qe(on(t.value.onenav_version),1)]),_:1})]),_:1}),g(f,{title:"\u5206\u7C7B\u6570\u91CF"},{"right-icon":pe(()=>[g(d,{plain:"",type:"primary"},{default:pe(()=>[Qe(on(t.value.cat_num),1)]),_:1})]),_:1}),g(f,{title:"\u94FE\u63A5\u6570\u91CF"},{"right-icon":pe(()=>[g(d,{plain:"",type:"primary"},{default:pe(()=>[Qe(on(t.value.link_num),1)]),_:1})]),_:1}),g(f,{title:"\u60A8\u7684IP",value:o.value.ip},null,8,["value"]),g(f,{title:"IP\u5F52\u5C5E\u5730",value:o.value.area},null,8,["value"]),g(f,{title:"QQ\u7FA4",value:"932795364"})]),_:1}),et("div",Bv,[g(p,{type:"warning",round:"",block:"",onClick:u[0]||(u[0]=_=>l("https://shop.xiaoz.top/productinfo-101.html"))},{default:pe(()=>[Qe("\u8D2D\u4E70\u8BA2\u9605")]),_:1})]),et("div",$v,[g(p,{type:"warning",round:"",block:"",onClick:i},{default:pe(()=>[Qe("\u9000\u51FA")]),_:1})])])}}};const Nv={class:"link-form"},Lv={style:{margin:"16px"}},Kc={__name:"LinkFrom",props:["linkinfo"],setup(e){const t=e;let n=vr();const o=J({category_list:[],category_columns:[],showPicker:!1,form_field:{url:"",title:"",property:0,description:"",weight:0,url_standby:"",fid:0},link_property_state:!1,cat_result:""}),r=d=>{o.value.cat_result=d,o.value.showPicker=!1},s=()=>{let d=St+"/index.php?c=api&method=category_list&page=1&limit=999";n.get(d).then(function(f){if(f.data.code==0){o.value.category_list=f.data.data;for(let h of o.value.category_list)o.value.category_columns.push(h.name);o.value.cat_result=u(o.value.form_field.fid)}}).catch(function(f){})},i=()=>{let d=t.linkinfo;o.value.form_field={url:d.url,title:d.title,property:d.property,description:d.description,weight:d.weight,url_standby:d.url_standby,fid:d.fid},d.property==1?o.value.link_property_state=!0:o.value.link_property_state=!1},l=()=>{let d=St+"/index.php?c=api&method=edit_link",f=t.linkinfo;const h=new URLSearchParams;h.append("id",f.id),h.append("url",o.value.form_field.url),h.append("title",o.value.form_field.title),h.append("fid",c(o.value.cat_result)),h.append("weight",o.value.form_field.weight),o.value.link_property_state?h.append("property",1):h.append("property",0),h.append("description",o.value.form_field.description),n.post(d,h).then(function(p){p.data.code==0?ve.success("\u4FEE\u6539\u6210\u529F\uFF01"):ve.fail(p.data.err_msg)}).catch(function(p){ve.fail(p)})},a=()=>{let d=St+"/index.php?c=api&method=add_link";t.linkinfo;const f=new URLSearchParams;f.append("url",o.value.form_field.url),f.append("title",o.value.form_field.title),f.append("fid",c(o.value.cat_result)),f.append("weight",o.value.form_field.weight),o.value.link_property_state?f.append("property",1):f.append("property",0),f.append("description",o.value.form_field.description),n.post(d,f).then(function(h){h.data.code==0?ve.success("\u6DFB\u52A0\u6210\u529F\uFF01"):ve.fail(h.data.err_msg)}).catch(function(h){ve.fail(h)})},u=d=>{let f="";return o.value.category_list.filter(h=>{h.id==d&&(f=h.name)}),f},c=d=>{let f="";return o.value.category_list.filter(h=>{h.name==d&&(f=h.id)}),f};return st(()=>{t.linkinfo&&i(),s()}),ke(t,(d,f)=>{i(),s()}),(d,f)=>{const h=vm,p=Pm,_=Xh,b=po,y=uc,x=mn,A=rm;return qe(),Jt("div",Nv,[g(A,null,{default:pe(()=>[g(y,{inset:""},{default:pe(()=>[g(h,{modelValue:o.value.form_field.url,"onUpdate:modelValue":f[0]||(f[0]=E=>o.value.form_field.url=E),name:"url",label:"URL",placeholder:"URL",rules:[{required:!0,message:"\u8BF7\u586B\u5199URL"}]},null,8,["modelValue"]),g(h,{modelValue:o.value.form_field.url_standby,"onUpdate:modelValue":f[1]||(f[1]=E=>o.value.form_field.url_standby=E),name:"url_standby",label:"\u5907\u7528URL",placeholder:"\u5907\u7528URL"},null,8,["modelValue"]),g(h,{modelValue:o.value.form_field.title,"onUpdate:modelValue":f[2]||(f[2]=E=>o.value.form_field.title=E),name:"title",label:"\u540D\u79F0",placeholder:"\u94FE\u63A5\u540D\u79F0",rules:[{required:!0,message:"\u8BF7\u586B\u5199\u94FE\u63A5\u540D\u79F0"}]},null,8,["modelValue"]),g(h,{modelValue:o.value.form_field.weight,"onUpdate:modelValue":f[3]||(f[3]=E=>o.value.form_field.weight=E),name:"weight",label:"\u6743\u91CD",placeholder:"\u6743\u91CD\u8D8A\u9AD8,\u6392\u5E8F\u8D8A\u9760\u524D",rules:[{required:!0,message:"\u8BF7\u586B\u5199\u6743\u91CD"}]},null,8,["modelValue"]),g(h,{modelValue:o.value.form_field.description,"onUpdate:modelValue":f[4]||(f[4]=E=>o.value.form_field.description=E),name:"description",label:"\u63CF\u8FF0",placeholder:"\u94FE\u63A5\u63CF\u8FF0"},null,8,["modelValue"]),g(h,{name:"switch",label:"\u79C1\u6709"},{input:pe(()=>[g(p,{modelValue:o.value.link_property_state,"onUpdate:modelValue":f[5]||(f[5]=E=>o.value.link_property_state=E),size:"20"},null,8,["modelValue"])]),_:1}),g(h,{modelValue:o.value.cat_result,"onUpdate:modelValue":f[6]||(f[6]=E=>o.value.cat_result=E),"is-link":"",readonly:"",name:"picker",label:"\u6240\u5C5E\u5206\u7C7B",placeholder:"\u70B9\u51FB\u9009\u62E9\u5206\u7C7B",onClick:f[7]||(f[7]=E=>o.value.showPicker=!0)},null,8,["modelValue"]),g(b,{show:o.value.showPicker,"onUpdate:show":f[9]||(f[9]=E=>o.value.showPicker=E),position:"bottom"},{default:pe(()=>[g(_,{columns:o.value.category_columns,onConfirm:r,onCancel:f[8]||(f[8]=E=>o.value.showPicker=!1)},null,8,["columns"])]),_:1},8,["show"])]),_:1}),et("div",Lv,[t.linkinfo?(qe(),dn(x,{key:0,round:"",block:"",type:"primary","native-type":"submit",onClick:l},{default:pe(()=>[Qe(" \u4FDD\u5B58 ")]),_:1})):Ei("",!0),t.linkinfo?Ei("",!0):(qe(),dn(x,{key:1,round:"",block:"",type:"primary","native-type":"submit",onClick:a},{default:pe(()=>[Qe(" \u6DFB\u52A0 ")]),_:1}))])]),_:1})])}}};const Fv={class:"links"},Dv={class:"custom-title"},Mv=["innerHTML"],Hv=["href"],Uv={__name:"Links",setup(e){let t=vr(),n=J({currentPage:1,total_items:0,items_per_page:10,link_data:[],edit_state:!1,link_id:0,link_info:{},category_list:[],action_state:!1,cat_actions:[],cat_title:"\u8BF7\u9009\u62E9\u5206\u7C7B",loading:!1});const o=f=>``,r=()=>{n.value.cat_title=="\u8BF7\u9009\u62E9\u5206\u7C7B"?s():i(l(n.value.cat_title))},s=()=>{let f=St+"/index.php?c=api&method=link_list&limit="+n.value.items_per_page+"&page="+n.value.currentPage;t.get(f).then(function(h){if(h.data.code==0)return n.value.total_items=h.data.count,n.value.link_data=h.data.data,!0;ve.fail(h.data.err_msg)}).catch(function(h){ve.fail(h)})},i=f=>{let h=St+"/index.php?c=api&method=q_category_link&limit="+n.value.items_per_page+"&page="+n.value.currentPage+"&category_id="+f;t.get(h).then(function(p){if(p.data.code==0)return n.value.total_items=p.data.count,n.value.link_data=p.data.data,!0;ve.fail(p.data.err_msg)}).catch(function(p){ve.fail(p)})},l=f=>{let h="";return n.value.category_list.filter(p=>{p.name==f&&(h=p.id)}),h},a=(f,h)=>{let p=h.id,_=h.title;Be.confirm({title:"\u786E\u8BA4\u5220\u9664\uFF1F",message:`\u60A8\u5C06\u5220\u9664\u201C${_}\u201D\uFF0C\u6B64\u64CD\u4F5C\u4E0D\u53EF\u9006\uFF01`}).then(()=>{let b=St+"/index.php?c=api&method=del_link";const y=new URLSearchParams;y.append("id",p),t.post(b,y).then(function(x){return x.data.code==0?(n.value.link_data.splice(f,1),!0):(ve.fail(x.data.err_msg),!1)}).catch(function(x){return ve.fail(x),!1})}).catch(()=>{})},u=(f,h)=>{n.value.link_info=h,n.value.edit_state=!0},c=()=>{let f=St+"/index.php?c=api&method=category_list&page=1&limit=999";t.get(f).then(function(h){if(h.data.code==0){n.value.category_list=h.data.data;for(let p of n.value.category_list)n.value.cat_actions.push({name:p.name});n.value.cat_result=get_cat_name(n.value.form_field.fid)}}).catch(function(h){})},d=f=>{n.value.action_state=!1,n.value.cat_title=f.name,i(l(f.name))};return st(()=>{c(),s()}),(f,h)=>{const p=dc,_=ur,b=Vh,y=mn,x=ep,A=po;return qe(),Jt("div",Fv,[g(p,{"left-icon":"volume-o",scrollable:!1,text:"\u60A8\u53EF\u4EE5\u9009\u62E9\u5206\u7C7B\u5355\u72EC\u7B5B\u9009\u8BE5\u5206\u7C7B\u4E0B\u7684\u94FE\u63A5!"}),g(_,{"is-link":"",title:Re(n).cat_title,onClick:h[0]||(h[0]=E=>Re(n).action_state=!0)},null,8,["title"]),g(b,{show:Re(n).action_state,"onUpdate:show":h[1]||(h[1]=E=>Re(n).action_state=E),actions:Re(n).cat_actions,onSelect:d},null,8,["show","actions"]),(qe(!0),Jt(je,null,ba(Re(n).link_data,(E,B)=>(qe(),dn(_,{key:E.id},{title:pe(()=>[et("span",Dv,[et("span",{class:"favicon",innerHTML:o(E.url)},null,8,Mv),et("a",{href:E.url,target:"_blank"},on(E.title),9,Hv)])]),"right-icon":pe(()=>[g(y,{plain:"",icon:"edit",type:"primary",size:"mini",onClick:z=>u(B,E)},null,8,["onClick"]),g(y,{plain:"",icon:"delete-o",type:"primary",size:"mini",onClick:z=>a(B,E)},null,8,["onClick"])]),_:2},1024))),128)),g(x,{onChange:r,modelValue:Re(n).currentPage,"onUpdate:modelValue":h[2]||(h[2]=E=>Re(n).currentPage=E),"total-items":Re(n).total_items,"items-per-page":Re(n).items_per_page},null,8,["modelValue","total-items","items-per-page"]),g(A,{show:Re(n).edit_state,"onUpdate:show":h[3]||(h[3]=E=>Re(n).edit_state=E),position:"top",style:{height:"80%"}},{default:pe(()=>[g(Kc,{linkinfo:Re(n).link_info},null,8,["linkinfo"])]),_:1},8,["show"])])}}},Vv={__name:"AddLink",setup(e){return(t,n)=>(qe(),dn(Kc))}};const jv={class:"categorys"},zv={class:"custom-title"},Kv={__name:"Categorys",setup(e){const t=vr(),n=J({cat_data:[],loading:!1}),o=()=>{n.value.loading=!1,r(),ve("\u5237\u65B0\u6210\u529F")},r=()=>{let i=St+"/index.php?c=api&method=category_list&page=1&limit=999";t.get(i).then(function(l){if(l.data.code==0)return n.value.cat_data=l.data.data,!0;ve.fail(l.data.err_msg)}).catch(function(l){ve.fail(l)})},s=(i,l)=>{let a=l.id,u=l.name;Be.confirm({title:"\u786E\u8BA4\u5220\u9664\uFF1F",message:`\u60A8\u5C06\u5220\u9664\u201C${u}\u201D\uFF0C\u6B64\u64CD\u4F5C\u4E0D\u53EF\u9006\uFF01`}).then(()=>{let c=St+"/index.php?c=api&method=del_category";const d=new URLSearchParams;d.append("id",a),t.post(c,d).then(function(f){return f.data.code==0?(n.value.cat_data.splice(i,1),!0):(ve.fail(f.data.err_msg),!1)}).catch(function(f){return ve.fail(f),!1})}).catch(()=>{})};return st(()=>{r()}),(i,l)=>{const a=dc,u=mn,c=ur,d=ip;return qe(),Jt("div",jv,[et("div",null,[g(a,{wrapable:"",scrollable:!1,text:"\u6DFB\u52A0\u548C\u4FEE\u6539\u5206\u7C7B\u8BF7\u5728PC\u540E\u53F0\u64CD\u4F5C,\u82E5\u5206\u7C7B\u4E0B\u5B58\u5728\u94FE\u63A5\u5C06\u65E0\u6CD5\u5220\u9664!"})]),g(d,{modelValue:n.value.loading,"onUpdate:modelValue":l[0]||(l[0]=f=>n.value.loading=f),onRefresh:o},{default:pe(()=>[(qe(!0),Jt(je,null,ba(n.value.cat_data,(f,h)=>(qe(),dn(c,{key:f.id},{title:pe(()=>[et("span",zv,on(f.name),1)]),"right-icon":pe(()=>[g(u,{plain:"",icon:"delete-o",type:"primary",size:"mini",onClick:p=>s(h,f)},null,8,["onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue"])])}}},qv=gg({history:Bp(),routes:[{path:"/",name:"home",component:Iv},{path:"/links",name:"Links",component:Uv},{path:"/add_link",component:Vv},{path:"/categorys",component:Kv}]}),qc=$a(Eg);qc.use(qv);qc.mount("#app"); diff --git a/templates/mobile/favicon.ico b/templates/mobile/favicon.ico new file mode 100644 index 0000000..df36fcf Binary files /dev/null and b/templates/mobile/favicon.ico differ diff --git a/templates/mobile/index.php b/templates/mobile/index.php new file mode 100644 index 0000000..669e4bb --- /dev/null +++ b/templates/mobile/index.php @@ -0,0 +1,15 @@ + + + + + + + OneNav手机版后台 + + + + +
              + + + diff --git a/templates/qnloft/assets/css/block-library.min-5.6.2.css b/templates/qnloft/assets/css/block-library.min-5.6.2.css new file mode 100644 index 0000000..f7a707c --- /dev/null +++ b/templates/qnloft/assets/css/block-library.min-5.6.2.css @@ -0,0 +1,11 @@ +:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87}#start-resizable-editor-section{display:none}.wp-block-audio figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-audio audio{width:100%;min-width:300px}.wp-block-button__link{color:#fff;background-color:#32373c;border:none;border-radius:1.55em;box-shadow:none;cursor:pointer;display:inline-block;font-size:1.125em;padding:.667em 1.333em;text-align:center;text-decoration:none;overflow-wrap:break-word}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:#fff}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}.is-style-outline>.wp-block-button__link,.wp-block-button__link.is-style-outline{border:2px solid}.is-style-outline>.wp-block-button__link:not(.has-text-color),.wp-block-button__link.is-style-outline:not(.has-text-color){color:#32373c}.is-style-outline>.wp-block-button__link:not(.has-background),.wp-block-button__link.is-style-outline:not(.has-background){background-color:transparent}.wp-block-buttons .wp-block-button{display:inline-block;margin-right:.5em;margin-bottom:.5em}.wp-block-buttons .wp-block-button:last-child{margin-right:0}.wp-block-buttons.alignright .wp-block-button{margin-right:0;margin-left:.5em}.wp-block-buttons.alignright .wp-block-button:first-child{margin-left:0}.wp-block-buttons.alignleft .wp-block-button{margin-left:0;margin-right:.5em}.wp-block-buttons.alignleft .wp-block-button:last-child{margin-right:0}.wp-block-button.aligncenter,.wp-block-buttons.aligncenter,.wp-block-calendar{text-align:center}.wp-block-calendar tbody td,.wp-block-calendar th{padding:.25em;border:1px solid #ddd}.wp-block-calendar tfoot td{border:none}.wp-block-calendar table{width:100%;border-collapse:collapse}.wp-block-calendar table th{font-weight:400;background:#ddd}.wp-block-calendar a{text-decoration:underline}.wp-block-calendar table caption,.wp-block-calendar table tbody{color:#40464d}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-code code{white-space:pre-wrap;overflow-wrap:break-word}.wp-block-columns{display:flex;margin-bottom:1.75em;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-columns.has-background{padding:1.25em 2.375em}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap:break-word}@media (max-width:599px){.wp-block-column{flex-basis:100%!important}}@media (min-width:600px) and (max-width:781px){.wp-block-column:not(:only-child){flex-basis:calc(50% - 1em)!important;flex-grow:0}.wp-block-column:nth-child(2n){margin-left:2em}}@media (min-width:782px){.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-column[style*=flex-basis]{flex-grow:0}.wp-block-column:not(:first-child){margin-left:2em}}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{-ms-grid-row-align:center;align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}.wp-block-cover,.wp-block-cover-image{position:relative;background-size:cover;background-position:50%;min-height:430px;height:100%;width:100%;display:flex;justify-content:center;align-items:center;padding:1em;box-sizing:border-box}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";background-color:inherit}.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim:not(.has-background-gradient):before,.wp-block-cover .wp-block-cover__gradient-background{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:290px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{display:block;content:"";font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:100%;z-index:1;color:#fff}.wp-block-cover-image .wp-block-subhead:not(.has-text-color),.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover .wp-block-subhead:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p:not(.has-text-color){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover__video-background{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);width:100%;height:100%;z-index:0;-o-object-fit:cover;object-fit:cover}.wp-block-cover-image-text,.wp-block-cover-text,section.wp-block-cover-image h2{color:#fff}.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-left:0;text-align:left}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-right:0;text-align:right}.wp-block-cover-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:580px;padding:.44em;text-align:center}.wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{max-width:360px;width:100%}.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{min-width:280px}.wp-block-embed{margin-bottom:1em}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-embed iframe{max-width:100%}.wp-block-embed__wrapper{position:relative}.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-embed-responsive .wp-has-aspect-ratio iframe{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%}.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%}.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%}.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%}.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%}.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%}.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.77%}.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%}.wp-block-file{margin-bottom:1.5em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file .wp-block-file__button{background:#32373c;border-radius:2em;color:#fff;font-size:.8em;padding:.5em 1em}.wp-block-file a.wp-block-file__button{text-decoration:none}.wp-block-file a.wp-block-file__button:active,.wp-block-file a.wp-block-file__button:focus,.wp-block-file a.wp-block-file__button:hover,.wp-block-file a.wp-block-file__button:visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.wp-block-file *+.wp-block-file__button{margin-left:.75em}.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 1em 1em 0;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{display:flex;align-items:flex-end;justify-content:flex-start}}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{width:auto}}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:3em .77em .7em;color:#fff;text-align:center;font-size:.8em;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);box-sizing:border-box;margin:0}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid figcaption,.wp-block-gallery figcaption{flex-grow:1}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%}@supports (position:sticky){.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{height:100%;flex:1;-o-object-fit:cover;object-fit:cover}}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-right:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc(33.33333% - .66667em);margin-right:1em}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc(25% - .75em);margin-right:1em}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc(20% - .8em);margin-right:1em}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc(16.66667% - .83333em);margin-right:1em}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc(14.28571% - .85714em);margin-right:1em}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc(12.5% - .875em);margin-right:1em}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n){margin-right:0}.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n){margin-right:0}.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n){margin-right:0}.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n){margin-right:0}.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n){margin-right:0}.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n){margin-right:0}.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:290px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-group{box-sizing:border-box}h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}.wp-block-image{margin-bottom:1em}.wp-block-image img{max-width:100%}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption{display:table-caption;caption-side:bottom}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-top:.5em;margin-bottom:1em}.is-style-circle-mask img,.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.is-style-circle-mask img{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0}}.wp-block-latest-comments__comment{line-height:1.1;list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{min-height:2.25em;list-style:none}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-left:3.25em}.has-dates .wp-block-latest-comments__comment,.has-excerpts .wp-block-latest-comments__comment{line-height:1.5}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;line-height:1.8;margin:.36em 0 1.4em}.wp-block-latest-comments__comment-date{display:block;font-size:.75em}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;width:2.5em}.wp-block-latest-posts.alignleft{margin-right:2em}.wp-block-latest-posts.alignright{margin-left:2em}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none}.wp-block-latest-posts.wp-block-latest-posts__list li{clear:both}.wp-block-latest-posts.is-grid{display:flex;flex-wrap:wrap;padding:0}.wp-block-latest-posts.is-grid li{margin:0 1.25em 1.25em 0;width:100%}@media (min-width:600px){.wp-block-latest-posts.columns-2 li{width:calc(50% - .625em)}.wp-block-latest-posts.columns-2 li:nth-child(2n){margin-right:0}.wp-block-latest-posts.columns-3 li{width:calc(33.33333% - .83333em)}.wp-block-latest-posts.columns-3 li:nth-child(3n){margin-right:0}.wp-block-latest-posts.columns-4 li{width:calc(25% - .9375em)}.wp-block-latest-posts.columns-4 li:nth-child(4n){margin-right:0}.wp-block-latest-posts.columns-5 li{width:calc(20% - 1em)}.wp-block-latest-posts.columns-5 li:nth-child(5n){margin-right:0}.wp-block-latest-posts.columns-6 li{width:calc(16.66667% - 1.04167em)}.wp-block-latest-posts.columns-6 li:nth-child(6n){margin-right:0}}.wp-block-latest-posts__post-author,.wp-block-latest-posts__post-date{display:block;color:#555;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-top:.5em;margin-bottom:1em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;width:auto}.wp-block-latest-posts__featured-image.alignleft{margin-right:1em}.wp-block-latest-posts__featured-image.alignright{margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}.block-editor-image-alignment-control__row .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label{margin-bottom:0}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{ + /*!rtl:begin:ignore*/direction:ltr; + /*!rtl:end:ignore*/display:-ms-grid;display:grid;-ms-grid-columns:50% 1fr;grid-template-columns:50% 1fr;-ms-grid-rows:auto;grid-template-rows:auto}.wp-block-media-text.has-media-on-the-right{-ms-grid-columns:1fr 50%;grid-template-columns:1fr 50%}.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media{-ms-grid-row-align:start;align-self:start}.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media,.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .wp-block-media-text__media{-ms-grid-row-align:center;align-self:center}.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media{-ms-grid-row-align:end;align-self:end}.wp-block-media-text .wp-block-media-text__media{ + /*!rtl:begin:ignore*/-ms-grid-column:1;grid-column:1;-ms-grid-row:1;grid-row:1; + /*!rtl:end:ignore*/margin:0}.wp-block-media-text .wp-block-media-text__content{direction:ltr; + /*!rtl:begin:ignore*/-ms-grid-column:2;grid-column:2;-ms-grid-row:1;grid-row:1; + /*!rtl:end:ignore*/padding:0 8%;word-break:break-word}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{ + /*!rtl:begin:ignore*/-ms-grid-column:2;grid-column:2;-ms-grid-row:1;grid-row:1 + /*!rtl:end:ignore*/}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{ + /*!rtl:begin:ignore*/-ms-grid-column:1;grid-column:1;-ms-grid-row:1;grid-row:1 + /*!rtl:end:ignore*/}.wp-block-media-text__media img,.wp-block-media-text__media video{max-width:unset;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill figure.wp-block-media-text__media{height:100%;min-height:250px;background-size:cover}.wp-block-media-text.is-image-fill figure.wp-block-media-text__media>img{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{-ms-grid-columns:100%!important;grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{-ms-grid-column:1;grid-column:1;-ms-grid-row:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{-ms-grid-column:1;grid-column:1;-ms-grid-row:2;grid-row:2}}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation-link:not(.has-text-color){color:#1e1e1e}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation__container{background-color:#fff}.items-justified-left>ul{justify-content:flex-start}.items-justified-center>ul{justify-content:center}.items-justified-right>ul{justify-content:flex-end}.wp-block-navigation-link{display:flex;align-items:center;position:relative;margin:0}.wp-block-navigation-link .wp-block-navigation__container:empty{display:none}.wp-block-navigation__container{list-style:none;margin:0;padding-left:0;display:flex;flex-wrap:wrap}.is-vertical .wp-block-navigation__container{display:block}.has-child>.wp-block-navigation-link__content{padding-right:.5em}.has-child .wp-block-navigation__container{border:1px solid rgba(0,0,0,.15);background-color:inherit;color:inherit;position:absolute;left:0;top:100%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:2;opacity:0;transition:opacity .1s linear;visibility:hidden}.has-child .wp-block-navigation__container>.wp-block-navigation-link>.wp-block-navigation-link__content{flex-grow:1}.has-child .wp-block-navigation__container>.wp-block-navigation-link>.wp-block-navigation-link__submenu-icon{padding-right:.5em}@media (min-width:782px){.has-child .wp-block-navigation__container{left:1.5em}.has-child .wp-block-navigation__container .wp-block-navigation__container{left:100%;top:-1px}.has-child .wp-block-navigation__container .wp-block-navigation__container:before{content:"";position:absolute;right:100%;height:100%;display:block;width:.5em;background:transparent}.has-child .wp-block-navigation__container .wp-block-navigation-link__submenu-icon svg{transform:rotate(0)}}.has-child:hover{cursor:pointer}.has-child:hover>.wp-block-navigation__container{visibility:visible;opacity:1;display:flex;flex-direction:column}.has-child:focus-within{cursor:pointer}.has-child:focus-within>.wp-block-navigation__container{visibility:visible;opacity:1;display:flex;flex-direction:column}.wp-block-navigation-link__content{color:inherit;text-decoration:none;padding:.5em 1em}.wp-block-navigation-link__content+.wp-block-navigation-link__content{padding-top:0}.has-text-color .wp-block-navigation-link__content{color:inherit}.wp-block-navigation-link__label{word-break:normal;overflow-wrap:break-word}.wp-block-navigation-link__submenu-icon{height:inherit;padding:.375em 1em .375em 0}.wp-block-navigation-link__submenu-icon svg{fill:currentColor}@media (min-width:782px){.wp-block-navigation-link__submenu-icon svg{transform:rotate(90deg)}}.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;line-height:.68;font-weight:100;margin:.05em .1em 0 0;text-transform:uppercase;font-style:normal}p.has-background{padding:1.25em 2.375em}p.has-text-color a{color:inherit}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{width:100%;margin-top:0;margin-bottom:0;font-size:.5em}.wp-block-post-author__avatar{margin-right:1em}.wp-block-post-author__bio{margin-bottom:.7em;font-size:.7em}.wp-block-post-author__content{flex-grow:1;flex-basis:0}.wp-block-post-author__name{font-weight:700;margin:0}.wp-block-pullquote{padding:3em 0;margin-left:0;margin-right:0;text-align:center}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:290px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p{font-size:1.25em}.wp-block-pullquote p{font-size:1.75em;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.wp-block-pullquote:not(.is-style-solid-color){background:none}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;text-align:left;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{margin-top:0;margin-bottom:0;font-size:2em}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit}.wp-block-quote.is-large,.wp-block-quote.is-style-large{margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:1.125em;text-align:right}.wp-block-rss.alignleft{margin-right:2em}.wp-block-rss.alignright{margin-left:2em}.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;padding:0;list-style:none}.wp-block-rss.is-grid li{margin:0 1em 1em 0;width:100%}@media (min-width:600px){.wp-block-rss.columns-2 li{width:calc(50% - 1em)}.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}.wp-block-rss.columns-4 li{width:calc(25% - 1em)}.wp-block-rss.columns-5 li{width:calc(20% - 1em)}.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;color:#555;font-size:.8125em}.wp-block-search .wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search .wp-block-search__label{width:100%}.wp-block-search .wp-block-search__input{flex-grow:1;min-width:3em;border:1px solid #949494}.wp-block-search .wp-block-search__button{margin-left:.625em;word-break:normal}.wp-block-search .wp-block-search__button svg{min-width:1.5em;min-height:1.5em}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-left:0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px;border:1px solid #949494}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input{border-radius:0;border:none;padding:0 0 0 .25em}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus{outline:none}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button{padding:.125em .5em}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;max-width:none;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"\00b7 \00b7 \00b7";color:currentColor;font-size:1.5em;letter-spacing:2em;padding-left:2em;font-family:serif}.wp-block-custom-logo .aligncenter{display:table}.wp-block-social-links{display:flex;flex-wrap:wrap;justify-content:flex-start;padding-left:0;padding-right:0;text-indent:0;margin-left:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{text-decoration:none;border-bottom:0;box-shadow:none}.wp-social-link{display:block;width:36px;height:36px;border-radius:9999px;margin:0 8px 8px 0;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-social-link{transition-duration:0s}}.wp-social-link a{padding:6px;display:block;line-height:0;transition:transform .1s ease}.wp-social-link a,.wp-social-link a:active,.wp-social-link a:hover,.wp-social-link a:visited,.wp-social-link svg{color:currentColor;fill:currentColor}.wp-social-link:hover{transform:scale(1.1)}.wp-block-social-links.aligncenter{justify-content:center;display:flex}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#fe4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{background-color:#fefc00;color:#fff;stroke:#000}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none;padding:4px}.wp-block-social-links.is-style-logos-only .wp-social-link svg{width:28px;height:28px}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#fe4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{color:#fff;stroke:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:16px;padding-right:16px}.wp-block-spacer{clear:both}p.wp-block-subhead{font-size:1.1em;font-style:italic;opacity:.75}.wp-block-table{overflow-x:auto}.wp-block-table table{width:100%}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{border-spacing:0;border-collapse:inherit;background-color:transparent;border-bottom:1px solid #f0f0f0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}.wp-block-text-columns,.wp-block-text-columns.aligncenter{display:flex}.wp-block-text-columns .wp-block-column{margin:0 1em;padding:0}.wp-block-text-columns .wp-block-column:first-child{margin-left:0}.wp-block-text-columns .wp-block-column:last-child{margin-right:0}.wp-block-text-columns.columns-2 .wp-block-column{width:50%}.wp-block-text-columns.columns-3 .wp-block-column{width:33.33333%}.wp-block-text-columns.columns-4 .wp-block-column{width:25%}.wp-block-video{margin-left:0;margin-right:0}.wp-block-video video{max-width:100%}@supports (position:sticky){.wp-block-video [poster]{-o-object-fit:cover;object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-post-featured-image a{display:inline-block}:root .has-pale-pink-background-color{background-color:#f78da7}:root .has-vivid-red-background-color{background-color:#cf2e2e}:root .has-luminous-vivid-orange-background-color{background-color:#ff6900}:root .has-luminous-vivid-amber-background-color{background-color:#fcb900}:root .has-light-green-cyan-background-color{background-color:#7bdcb5}:root .has-vivid-green-cyan-background-color{background-color:#00d084}:root .has-pale-cyan-blue-background-color{background-color:#8ed1fc}:root .has-vivid-cyan-blue-background-color{background-color:#0693e3}:root .has-vivid-purple-background-color{background-color:#9b51e0}:root .has-white-background-color{background-color:#fff}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-cyan-bluish-gray-background-color{background-color:#abb8c3}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-black-background-color{background-color:#000}:root .has-pale-pink-color{color:#f78da7}:root .has-vivid-red-color{color:#cf2e2e}:root .has-luminous-vivid-orange-color{color:#ff6900}:root .has-luminous-vivid-amber-color{color:#fcb900}:root .has-light-green-cyan-color{color:#7bdcb5}:root .has-vivid-green-cyan-color{color:#00d084}:root .has-pale-cyan-blue-color{color:#8ed1fc}:root .has-vivid-cyan-blue-color{color:#0693e3}:root .has-vivid-purple-color{color:#9b51e0}:root .has-white-color{color:#fff}:root .has-very-light-gray-color{color:#eee}:root .has-cyan-bluish-gray-color{color:#abb8c3}:root .has-very-dark-gray-color{color:#313131}:root .has-black-color{color:#000}:root .has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:linear-gradient(135deg,#0693e3,#9b51e0)}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:linear-gradient(135deg,#7adcb4,#00d082)}:root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:linear-gradient(135deg,#fcb900,#ff6900)}:root .has-luminous-vivid-orange-to-vivid-red-gradient-background{background:linear-gradient(135deg,#ff6900,#cf2e2e)}:root .has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:linear-gradient(135deg,#eee,#a9b8c3)}:root .has-cool-to-warm-spectrum-gradient-background{background:linear-gradient(135deg,#4aeadc,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c)}:root .has-blush-light-purple-gradient-background{background:linear-gradient(135deg,#ffceec,#9896f0)}:root .has-blush-bordeaux-gradient-background{background:linear-gradient(135deg,#fecda5,#fe2d2d 50%,#6b003e)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-luminous-dusk-gradient-background{background:linear-gradient(135deg,#ffcb70,#c751c0 50%,#4158d0)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-pale-ocean-gradient-background{background:linear-gradient(135deg,#fff5cb,#b6e3d4 50%,#33a7b5)}:root .has-electric-grass-gradient-background{background:linear-gradient(135deg,#caf880,#71ce7e)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root .has-link-color a{color:#00e;color:var(--wp--style--color--link,#00e)}.has-small-font-size{font-size:.8125em}.has-normal-font-size,.has-regular-font-size{font-size:1em}.has-medium-font-size{font-size:1.25em}.has-large-font-size{font-size:2.25em}.has-huge-font-size,.has-larger-font-size{font-size:2.625em}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both} \ No newline at end of file diff --git a/templates/qnloft/assets/css/bootstrap.min-4.3.1.css b/templates/qnloft/assets/css/bootstrap.min-4.3.1.css new file mode 100644 index 0000000..61185bd --- /dev/null +++ b/templates/qnloft/assets/css/bootstrap.min-4.3.1.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:0px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} \ No newline at end of file diff --git a/templates/qnloft/assets/css/custom-style.css b/templates/qnloft/assets/css/custom-style.css new file mode 100644 index 0000000..66fd4f3 --- /dev/null +++ b/templates/qnloft/assets/css/custom-style.css @@ -0,0 +1,125 @@ +/*调整全局字体大小*/ +body,html{font-size:14px;} + +/*左导航悬浮sidebar-menu-inner宽度调整为90px*/ +.sidebar-popup.sidebar-menu-inner > div > ul > li.sidebar-item>ul{position:absolute;top:0px;left:10px;width:90px;z-index:99} +.sidebar-popup.sidebar-menu-inner ul{width:90px} +.sidebar-popup.sidebar-menu-inner ul li{width:90px} + +/*隐藏左导航scrollbar*/ +.sidebar-menu.flex-fill::-webkit-scrollbar{display:none} + +/*搜索框搜索图标颜色*/ +#search button i{color:#6C757D;font-size:18px} + +/*顶部导航栏字体+图标颜色*/ +.big-header-banner .page-header{color:#ffffff;background:rgba(255,255,255,0);box-shadow:none;transition:color .3s,background-color .3s} +.big-header-banner:not(.header-bg) .page-header .navbar-nav>li>a,.big-header-banner:not(.header-bg) .navbar-menu a:not(.dropdown-item){color:#ffffff;} +.big-header-banner:not(.header-bg) .page-header .navbar-nav>li>a:hover,.big-header-banner:not(.header-bg) .navbar-menu a:not(.dropdown-item):hover{color:#dc3545;} +.big-header-banner:not(.header-bg) .header-mini-btn path{stroke:#ffffff;} +.big-header-banner:not(.header-bg) .header-mini-btn label:hover path{stroke:#ffffff;} + +/*搜索栏字体+背景*/ +.header-big #search-text{color:#6C757D;} +.io-black-mode .header-big #search-text{color:#fff;} + +/*搜索activate图标颜色*/ +.header-big .search-type input:checked+label:before{content:'';border-width:8px 8px 0px 8px;border-style:solid;border-color:#ffffff transparent transparent;position:absolute;left:50%;top:0;margin-left:-8px} + +/*主页搜索搜索框(头+底部)字体颜色*/ +.header-big:not(.no-bg) .s-type-list{color:#20c997} +.header-big:not(.no-bg) .text-muted,.header-big:not(.no-bg) .search-type .menu-item a,.header-big:not(.no-bg) .big-title .h1{color:#ffffff!important} + +/*主页header-banner底部宽度*/ +.post-top{padding-bottom:50px} + +/*左导航二级导航标题左侧距离*/ +.sidebar-menu-inner ul li ul li a{margin-left:30px;} + +/*头部导航二级导航iconfont图标*/ +.navbar-collapse ul li.menu-item-has-children:after{content:'\e612';} + +/*搜索部分背景样式*/ +.header-big.css-color{background-size:unset;background-position:unset;animation:unset;} + +/*搜索热词样式调整*/ +.search-hot-text{ + position: absolute; + z-index: 100; + width: 100%; + border-radius: 0 0 10px 10px; + background: #FFF; + box-shadow: 0px 4px 5px 0px #cccccc94; + overflow: hidden; +} +.search-hot-text ul{ + margin: 0; + padding: 5px 0; +} +.search-hot-text ul li{ + line-height: 30px; + font-size: 14px; + padding: 0px 25px; + color: #777; + cursor: pointer; +} +.io-black-mode .search-hot-text ul li{ + color: #fff; +} +.search-hot-text ul li.current{ + background: #f1f1f1; + color: #2196f3; +} +.search-hot-text ul li:hover{ + background: #f1f1f1; + color: #2196f3; + cursor: pointer; +} +.search-hot-text ul li span{ + display: inline-block; + width: 20px; + height: 20px; + font-size: 12px; + line-height: 20px; + text-align: center; + background: #e5e5e5; + margin-right: 10px; + border-radius: 10px; + color: #999; +} + +footer.main-footer .footer-text { + text-align: center; +} +footer.main-footer .footer-text a { + color: #007bff; +} +footer.main-footer .footer-text a:hover { + color: #07C160; +} + +/*About页面*/ +.panel .panel-body a {color: #007bff;} +.panel .panel-body a:hover {color: #979898;} + +/*网格背景*/ +.io-grey-mode .page-container .grid-bg { + background-image: linear-gradient(rgba(50, 0, 0, 0.05) 1px, transparent 0), linear-gradient(90deg, rgba(50, 0, 0, 0.05) 1px, transparent 0); + background-size: 15px 15px; + background-color: #d8d8d8; +} + + + + + + + + + + + + + + + diff --git a/templates/qnloft/assets/css/fancybox.min-3.5.7.css b/templates/qnloft/assets/css/fancybox.min-3.5.7.css new file mode 100644 index 0000000..7cc60b2 --- /dev/null +++ b/templates/qnloft/assets/css/fancybox.min-3.5.7.css @@ -0,0 +1 @@ +body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}} \ No newline at end of file diff --git a/templates/qnloft/assets/css/fonts/iconfont-1616676273262.eot b/templates/qnloft/assets/css/fonts/iconfont-1616676273262.eot new file mode 100644 index 0000000..d4b1812 Binary files /dev/null and b/templates/qnloft/assets/css/fonts/iconfont-1616676273262.eot differ diff --git a/templates/qnloft/assets/css/fonts/iconfont-1616676273262.ttf b/templates/qnloft/assets/css/fonts/iconfont-1616676273262.ttf new file mode 100644 index 0000000..5b3a8a7 Binary files /dev/null and b/templates/qnloft/assets/css/fonts/iconfont-1616676273262.ttf differ diff --git a/templates/qnloft/assets/css/fonts/iconfont-1616676273262.woff b/templates/qnloft/assets/css/fonts/iconfont-1616676273262.woff new file mode 100644 index 0000000..14c428d Binary files /dev/null and b/templates/qnloft/assets/css/fonts/iconfont-1616676273262.woff differ diff --git a/templates/qnloft/assets/css/iconfont-3.03029.1.css b/templates/qnloft/assets/css/iconfont-3.03029.1.css new file mode 100644 index 0000000..eec3fc4 --- /dev/null +++ b/templates/qnloft/assets/css/iconfont-3.03029.1.css @@ -0,0 +1,501 @@ +@font-face {font-family: "iconfont"; + src: url('fonts/iconfont-1616676273262.eot'); /* IE9 */ + src: url('fonts/iconfont-1616676273262.eot#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('fonts/iconfont-1616676273262.woff') format('woff'), + url('fonts/iconfont-1616676273262.ttf') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('https://nav.iowen.cn/wp-content/themes/onenav/css/fonts/iconfont.svg?t=1616676273262#iconfont') format('svg'); /* iOS 4.1- */ +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-shangchuan:before { + content: "\e637"; +} + +.icon-upload:before { + content: "\e761"; +} + +.icon-dsb:before { + content: "\eb71"; +} + +.icon-add:before { + content: "\e6d8"; +} + +.icon-subtract:before { + content: "\e70f"; +} + +.icon-collection-line:before { + content: "\e636"; +} + +.icon-nothing:before { + content: "\e6f7"; +} + +.icon-nothing1:before { + content: "\e684"; +} + +.icon-modify:before { + content: "\e634"; +} + +.icon-tvbox:before { + content: "\e8d4"; +} + +.icon-sspai:before { + content: "\e631"; +} + +.icon-wuaipojie:before { + content: "\e633"; +} + +.icon-36kr:before { + content: "\eb72"; +} + +.icon-lssdjt:before { + content: "\e6af"; +} + +.icon-bilibili:before { + content: "\e65f"; +} + +.icon-ithome:before { + content: "\e632"; +} + +.icon-wailian:before { + content: "\e66c"; +} + +.icon-book-mark-line:before { + content: "\e6bb"; +} + +.icon-book:before { + content: "\e62a"; +} + +.icon-buy_car:before { + content: "\e62b"; +} + +.icon-smzdm:before { + content: "\e629"; +} + +.icon-phone:before { + content: "\e625"; +} + +.icon-baidu:before { + content: "\e68b"; +} + +.icon-zhihu:before { + content: "\e623"; +} + +.icon-refresh:before { + content: "\e6b6"; +} + +.icon-mac:before { + content: "\e624"; +} + +.icon-app:before { + content: "\e6b9"; +} + +.icon-jt-line-r:before { + content: "\e620"; +} + +.icon-chakan-line:before { + content: "\e62f"; +} + +.icon-version-Line:before { + content: "\e61f"; +} + +.icon-ad-line:before { + content: "\e79e"; +} + +.icon-ad-copy:before { + content: "\eb6f"; +} + +.icon-shijian:before { + content: "\e7d3"; +} + +.icon-huabanfuben:before { + content: "\e62d"; +} + +.icon-xiazai:before { + content: "\e6c3"; +} + +.icon-down:before { + content: "\e6cc"; +} + +.icon-en:before { + content: "\e61d"; +} + +.icon-cn:before { + content: "\e764"; +} + +.icon-zouxiang:before { + content: "\e621"; +} + +.icon-qushitubiao:before { + content: "\e6bd"; +} + +.icon-tubiaopeizhi:before { + content: "\e622"; +} + +.icon-zip:before { + content: "\e616"; +} + +.icon-ubuntu:before { + content: "\e66d"; +} + +.icon-app-store-fill:before { + content: "\e6a9"; +} + +.icon-android:before { + content: "\e614"; +} + +.icon-linux:before { + content: "\e650"; +} + +.icon-app-store-fill-b:before { + content: "\eb6e"; +} + +.icon-microsoft:before { + content: "\eb70"; +} + +.icon-loading:before { + content: "\e613"; +} + +.icon-goto:before { + content: "\e611"; +} + +.icon-yinhao-l:before { + content: "\e672"; +} + +.icon-yinhao-r:before { + content: "\ea23"; +} + +.icon-picture:before { + content: "\e66e"; +} + +.icon-book-mark:before { + content: "\e670"; +} + +.icon-url:before { + content: "\e6c7"; +} + +.icon-key:before { + content: "\e6a6"; +} + +.icon-tougao:before { + content: "\e648"; +} + +.icon-point:before { + content: "\ea21"; +} + +.icon-chart-box:before { + content: "\e627"; +} + +.icon-renren:before { + content: "\e607"; +} + +.icon-links:before { + content: "\e642"; +} + +.icon-qqzone:before { + content: "\e839"; +} + +.icon-chart:before { + content: "\e617"; +} + +.icon-tiwwer:before { + content: "\e65b"; +} + +.icon-douban:before { + content: "\e6c6"; +} + +.icon-chart-pc:before { + content: "\ea1f"; +} + +.icon-copy:before { + content: "\e697"; +} + +.icon-share:before { + content: "\e6e6"; +} + +.icon-facebook:before { + content: "\e60b"; +} + +.icon-user:before { + content: "\e61e"; +} + +.icon-download:before { + content: "\e604"; +} + +.icon-heart:before { + content: "\e630"; +} + +.icon-instructions:before { + content: "\e656"; +} + +.icon-comment:before { + content: "\e668"; +} + +.icon-to-up:before { + content: "\e6bc"; +} + +.icon-business:before { + content: "\e685"; +} + +.icon-bulletin:before { + content: "\e608"; +} + +.icon-password:before { + content: "\e675"; +} + +.icon-related:before { + content: "\e605"; +} + +.icon-statement:before { + content: "\e62e"; +} + +.icon-hot:before { + content: "\e659"; +} + +.icon-light:before { + content: "\e6ff"; +} + +.icon-night:before { + content: "\e6fa"; +} + +.icon-collection:before { + content: "\e849"; +} + +.icon-name:before { + content: "\e7fb"; +} + +.icon-cloud-download:before { + content: "\e61a"; +} + +.icon-like:before { + content: "\e615"; +} + +.icon-user-circle:before { + content: "\e662"; +} + +.icon-publish:before { + content: "\e6b2"; +} + +.icon-version:before { + content: "\e70c"; +} + +.icon-notice:before { + content: "\e6b7"; +} + +.icon-chakan:before { + content: "\e61c"; +} + +.icon-time:before { + content: "\e747"; +} + +.icon-crying-circle:before { + content: "\e606"; +} + +.icon-gonggao4:before { + content: "\e7b2"; +} + +.icon-category:before { + content: "\e60c"; +} + +.icon-classification:before { + content: "\e72e"; +} + +.icon-tags:before { + content: "\e60e"; +} + +.icon-globe:before { + content: "\e603"; +} + +.icon-adopt:before { + content: "\e601"; +} + +.icon-crying:before { + content: "\e737"; +} + +.icon-warning:before { + content: "\e602"; +} + +.icon-smiley-circle:before { + content: "\e641"; +} + +.icon-close-circle:before { + content: "\e60f"; +} + +.icon-close:before { + content: "\e60a"; +} + +.icon-tishi:before { + content: "\e610"; +} + +.icon-smiley:before { + content: "\e619"; +} + +.icon-arrow-l:before { + content: "\e794"; +} + +.icon-arrow-t:before { + content: "\e795"; +} + +.icon-arrow-r-m:before { + content: "\ea22"; +} + +.icon-arrow-r:before { + content: "\e793"; +} + +.icon-arrow-b:before { + content: "\e612"; +} + +.icon-tag:before { + content: "\e628"; +} + +.icon-weibo:before { + content: "\e626"; +} + +.icon-git:before { + content: "\e61b"; +} + +.icon-qr-sweep:before { + content: "\e618"; +} + +.icon-search:before { + content: "\e792"; +} + +.icon-wechat:before { + content: "\e609"; +} + +.icon-github:before { + content: "\e64a"; +} + +.icon-qr:before { + content: "\e60d"; +} + +.icon-qq:before { + content: "\e600"; +} + diff --git a/templates/qnloft/assets/css/style-3.03029.1.css b/templates/qnloft/assets/css/style-3.03029.1.css new file mode 100644 index 0000000..d847ba5 --- /dev/null +++ b/templates/qnloft/assets/css/style-3.03029.1.css @@ -0,0 +1,1069 @@ +/*! + * Theme Name:One Nav + * Theme URI:https://www.iotheme.cn/ + * Author:iowen + * Author URI:https://www.iowen.cn/ + */ + +html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +body{width:100%;min-height:100vh;vertical-align:baseline;word-wrap:break-word;color:#282a2d;background:#f9f9f9;transition:background-color .3s} +body,input,button,select,optgroup,option,textarea,blockquote,dd,dl,figure,form,pre,.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:"SF Pro SC","SF Pro Text","SF Pro Icons",PingFang SC,Lantinghei SC,Microsoft Yahei,Hiragino Sans GB,Microsoft Sans Serif,WenQuanYi Micro Hei,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} +body,html{height:100%;margin:0;padding:0;border:0} +a{color:#282a2d;outline:0!important;text-decoration:none} +a:hover{text-decoration:none;color:#07C160} +p{color:#1d232b;margin:0;white-space:normal;word-break:break-all} + +/*-------------------------------------------------------------- +## Basics style +--------------------------------------------------------------*/ +.page-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row} +.page-container>.flex-fill{min-width:0} +.main-content{-ms-flex-direction:column;flex-direction:column;display:-ms-flexbox;display:flex} +.content-site{padding:0 15px;width:100%;margin-right:auto;margin-left:auto} +.down-content img,.site-content img,.apd img,.post-apd img,.panel-body img{max-width:100%;height:auto} +.nothing{padding:20px 0;text-align:center;color:#888;background:rgba(136,136,136,.2);border-radius:5px} +.sticky{position:-webkit-sticky;position:sticky;top:0;z-index:1080} +.io{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1} +.avatar{background:#888;border-radius: 100%;-ms-flex-pack: center;justify-content: center;-ms-flex-align: center;align-items: center;-ms-flex-negative: 0;flex-shrink: 0;overflow: hidden;} +.disabled{pointer-events:none;filter:grayscale(100%);-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:url("data:image/svg+xml;utf8,#grayscale");filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);-webkit-filter:grayscale(1)} +@media (min-width:1920px){.content-site{max-width:1900px} +} +@media (min-width:768px){.content-site{padding:0 30px} +} +/*-------------------------------------------------------------- +## WordPress Basics style +--------------------------------------------------------------*/ +.alignnone{margin:5px 20px 20px 0} +.aligncenter,div.aligncenter{display:block;margin:5px auto 5px auto} +.alignright{float:right;margin:5px 0 20px 20px} +.alignleft{float:left;margin:5px 20px 20px 0} +a img.alignright{float:right;margin:5px 0 20px 20px} +a img.alignnone{margin:5px 20px 20px 0} +a img.alignleft{float:left;margin:5px 20px 20px 0} +a img.aligncenter{display:block;margin-left:auto;margin-right:auto} +.wp-caption{background:#fff;border:1px solid #f0f0f0;max-width:96%;padding:5px 3px 10px;text-align:center} +.wp-caption.alignnone{margin:5px 20px 20px 0} +.wp-caption.alignleft{margin:5px 20px 20px 0} +.wp-caption.alignright{margin:5px 0 20px 20px} +.wp-caption img{border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width:auto} +.wp-caption p.wp-caption-text{font-size:11px;line-height:17px;margin:0;padding:0 4px 5px} +.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important} +.screen-reader-text:focus{background-color:#eee;clip:auto!important;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000} + +/*-------------------------------------------------------------- +## Sidebar style +--------------------------------------------------------------*/ +.sidebar-nav{position:fixed;display:table-cell;font-size:.875rem;width:220px;height:100vh;z-index:1081;opacity:1!important} +.sidebar-nav-inner{width:inherit;margin:0;max-width:170px;background:#2c2e2f;pointer-events:inherit;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;transition:background-color .3s} +.sidebar-nav .logo{line-height:74px;width:100%;text-align:center} +.sidebar-nav .logo .logo-collapsed{display:none} +.sidebar-logo{height:74px;transition:background-color .2s} +.sidebar-logo img{max-height:40px} +.sidebar-menu{transition:all .3s;} +.sidebar-nav .flex-bottom a,.sidebar-menu-inner a{display:block;overflow:hidden;padding-left:1.125rem;line-height:40px;max-height:40px;color:#b2b8be;transition:all .3s} +.sidebar-menu ul:first-child > li> a,.sidebar-menu ul:first-child > li> a span{ line-height:50px;max-height:50px;} +.sidebar-menu-inner .sidebar-item .sidebar-item >ul>li a span{margin-left:60px} +.sidebar-item{position:relative;display:block} +.sidebar-item.sidebar-show{border-bottom:none} +.sidebar-item ul{display:none;background:rgba(0,0,0,.1)} +.sidebar-item.sidebar-show ul{display:block} +.sidebar-item ul li{display:block} +.sidebar-menu-inner ul li ul li a{margin-left:36px} +.sidebar-more{float:right;margin-right:24px;line-height:50px!important;transition:transform .3s} +.sidebar-item .label-Primary{float:right;margin-right:24px} +a>i.sidebar-more{transform:scale(.8)} +.sidebar-show>a>i.sidebar-more{transform:scale(.8) rotate(90deg)} +.sidebar-show,.sidebar-item>a:hover{color:#FFF;background:rgba(0,0,0,.2)} +.sidebar-show>a:before,.sidebar-item>a:hover:before{opacity:1} +.sidebar-nav-inner .flex-fill{overflow:auto;-webkit-overflow-scrolling:touch} +.border-color{border-color:rgba(129,129,129,.15)!important} +.border-t{border-color:rgba(129,129,129,.15)!important} +.mini-sidebar .logo .logo-expanded{display:none} +.mini-sidebar .logo .logo-collapsed{display:block} +.mini-sidebar .sidebar-menu,.mini-sidebar .sidebar-menu{width:60px} +.sidebar-nav ul{margin:0;padding:0} +.mini-sidebar ul:first-child>li.sidebar-item>a span{display:none} +.mini-sidebar ul:first-child > li > ul{display:none} +.sidebar-nav .top-menu{display:none} +.sidebar-nav .top-menu .sub-menu{background-color:rgba(136,136,136,.05)} +.sidebar-nav .top-menu .menu-item-has-children>a::after{content:'\e616';font-family:"iconfont";position:absolute;right:24px;-webkit-transform:scale(.6);transform:rotate(0deg) scale(.6);transition:transform .2s} +.sidebar-nav .top-menu>ul i{display:none} +.sidebar-nav.show .top-menu{display:inherit} +/*-------------------------------------------------------------- +## Sidebar Popup style +--------------------------------------------------------------*/ +.sidebar-popup div{background:#151618} +.sidebar-popup{display:block;position:absolute;position:fixed;border:3px solid rgba(60,71,76,0)} +.sidebar-popup.second{left:60px} +.sidebar-popup div{border-radius:5px} +.sidebar-popup i,.sidiebar-popup .label-Primary{display:none} +.sidebar-popup.sidebar-menu-inner a span{margin-left:0px} +.sidebar-popup.sidebar-menu-inner > div > ul > li.sidebar-item>ul{position:absolute;top:0px;left:180px;width:180px;z-index:99} +.sidebar-popup.sidebar-menu-inner ul{width:180px} +.sidebar-popup.sidebar-menu-inner ul li{width:180px} +.sidebar-popup.sidebar-menu-inner ul li:last-child,.sidebar-popup>div>ul>li:last-child>a{border-radius:0 0 5px 5px } +.sidebar-popup a{padding-right:16px} +.sidebar-popup::before{content:'';border-width:5px 5px 5px 0px;border-style:solid;border-color:transparent #151618 transparent;position:absolute;top:14px;left:-4px} +.sidebar-popup ul{margin:0;padding:0} +.sidebar-nav,.sidebar-popup.sidebar-menu-inner ul li{background:#2c2e2f;list-style:none} +.sidebar-item li>a:hover,.sidebar-popup>div>ul>li>a:hover{color:#FFF;background:rgba(119,121,125,.15)} +/*-------------------------------------------------------------- +## header menu +--------------------------------------------------------------*/ +.navbar-collapse ul li{position:relative;list-style:none} +.navbar-collapse li>ul{-webkit-transform:translateY(15px);transform:translateY(15px)} +.navbar-collapse ul li ul{position:absolute;min-width:90px;opacity:0;overflow:hidden;visibility:hidden;background:#fff;border-radius:4px;box-shadow:0 5px 20px 0px rgba(0,0,0,.15);transition:.3s} +.navbar-collapse ul li.focus>ul,.navbar-collapse ul li:hover>ul{opacity:1;z-index:1;overflow:visible;visibility:visible;-webkit-transform:translateY(0);transform:translateY(0)} +.navbar-collapse ul li.menu-item-has-children:after{content:'\e616';font-family:"iconfont";position:absolute;top:14px;right:-2px;font-size:12px;-webkit-transform:scale(.6);transform:rotate(0deg) scale(.6);transition:transform .2s} +.navbar-collapse ul li.menu-item-has-children:hover:after{transform:rotate(45deg) scale(.6)} +.navbar .navbar-nav li>a{font-size:14px;padding:10px 15px;display:block;transition:color .2s} +.navbar .navbar-nav i{margin-right:2px!important} +.navbar-menu{-ms-flex-direction:row;flex-direction:row;margin-left:auto;-ms-align-items:center;align-items:center} +.navbar-collapse .weather{display:table} +.navbar-brand img{max-height:40px} +.nav-github{display:none;position:absolute;top:0;right:0;border:0} +.page-header{position:fixed;right:0;left:0;background:#fff;box-shadow:0px 0px 25px 5px rgba(10,10,10,.05);transition:background-color .3s} +.page-header ul{margin:0;padding:0} +.header-mini-btn{height:74px;width:40px} +.header-mini-btn svg{margin:0 -20px;height:74px} +.header-mini-btn input[type="checkbox"]{display:none} +.header-mini-btn path{fill:none;stroke:#888;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;--length:24;--offset:-38;stroke-dasharray:var(--length) var(--total-length);stroke-dashoffset:var(--offset);transition:all .8s cubic-bezier(.645,.045,.355,1)} +.header-mini-btn circle{fill:#fff3;opacity:0;transition:opacity .3s;cursor:pointer} +.header-mini-btn label{display:block;top:0;right:0} +.header-mini-btn label circle:hover{opacity:1} +.header-mini-btn input:checked+svg .line--1,.header-mini-btn input:checked+svg .line--3{--length:12.602325267} +.header-mini-btn .line--1,.header-mini-btn .line--3{--total-length:126.38166809082031} +.header-mini-btn .line--2{--total-length:80} +/*.header-mini-btn input:checked+svg .line--1,.header-mini-btn input:checked+svg .line--3{--offset:-105.1770175568}*/ +.header-mini-btn label{cursor:pointer} +.header-mini-btn path{transition:all .5s cubic-bezier(.645,.045,.355,1),stroke .2s ease} +.header-mini-btn label:hover path{ stroke:#07C160} +.bulletin{box-sizing:border-box;height:25px;line-height:25px;overflow:hidden} +.bulletin ul{margin:0;padding:0;list-style-type:none;font-size:14px} +@media (min-width:768px){.navbar{padding:0 1rem} +.main-content{margin-left:170px} +.page-header{left:170px} +.sidebar-nav.animate-nav+.main-content{-webkit-transition:.2s;-o-transition:.2s;transition:.2s} +.sidebar-nav.animate-nav+.main-content .page-header{-webkit-transition:left .2s,color .3s,background-color .3s;-o-transition:left .2s,color .3s,background-color .3s;transition:left .2s,color .3s,background-color .3s} +.sidebar-nav.mini-sidebar+.main-content{margin-left:60px} +.sidebar-nav.mini-sidebar+.main-content .page-header{left:60px} +} +@media (max-width:767.98px){.nav-github{display:none} +} +/*-------------------------------------------------------------- +## mobile menu +--------------------------------------------------------------*/ +.navbar-menu a{color:#777} +@media (min-width:768px){.sidebar-nav{display:block!important} +} +@media (max-width:767.98px){.sidebar-nav{background:transparent!important} +.sidebar-nav{width:100%!important;height:100%!important;top:0!important;position:fixed;z-index:1090!important;display:none;padding-left:0!important} +.sidebar-nav.show>div{transform:translate3d(0,0,0)} +.sidebar-nav>*{position:fixed;height:100%;transition:.2s cubic-bezier(.25,.8,.25,1);transform:translate3d(-100%,0,0);width:17.5rem} +} +/*-------------------------------------------------------------- +## Font Size style +--------------------------------------------------------------*/ +.text-ss{font-size:.45rem!important} +.text-xs{font-size:.75rem!important} +.text-sm{font-size:.875rem!important} +.text-md{font-size:1rem!important} +.text-lg{font-size:1.125rem!important} +.text-xl{font-size:1.375rem!important} +.text-64{font-size:4rem!important} +.badge.text-ss{font-weight:normal} +@media (max-width:767.98px){.text-lg{font-size:1rem!important} +.text-xl{font-size:1.25rem!important} +.alert-body .text-md{font-size:.875rem!important} +} +/*-------------------------------------------------------------- +## Font line height style +--------------------------------------------------------------*/ +.text-height-xs{line-height:1!important} +.text-height-sm{line-height:1.2!important} +.text-height-md{line-height:1.4!important} +.text-height-lg{line-height:1.6!important} +.text-height-xl{line-height:2!important} + +/*-------------------------------------------------------------- +## URL box style +--------------------------------------------------------------*/ +.text-gray{color:#555} +.overflowClip_1{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;word-break:break-all;display:-webkit-box!important;-webkit-line-clamp:1;-webkit-box-orient:vertical} +.overflowClip_1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block!important} +.overflowClip_2{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;word-break:break-all;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical} +.url-card .url-body{transform:translateY(0px);-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease} +.url-card .url-body:hover{transform:translateY(-6px);-webkit-transform:translateY(-6px);-moz-transform:translateY(-6px);box-shadow:0 26px 40px -24px rgba(0,36,100,.3);-webkit-box-shadow:0 26px 40px -24px rgba(0,36,100,.3);-moz-box-shadow:0 26px 40px -24px rgba(0,36,100,.3)} +.url-card .url-like{position:absolute;top:5px;right:10px;opacity:0;transition:opacity .3s} +.url-card .url-body:hover .url-like{opacity:1} +.url-card .url-info{overflow:hidden;padding-right:5px} +.url-card .url-goto-after{height:24px;border-top:1px solid rgba(136,136,136,.2)} +.url-card .url-goto{position:absolute;bottom:0;left:0px;right:0} +.url-card .card-body{padding:.938rem} +.url-card .url-img{width:40px;height:40px;-webkit-box-flex:0;-ms-flex:none;flex:none;background:rgba(255, 255, 255, 0);overflow:hidden} +.url-card .url-img>img{max-height:100%;vertical-align:unset} +.url-card .max .url-img{width:60px;height:60px} +.url-card .mini .url-img{width:25px;height:25px} +.url-card .post-min .url-img{width:20px;height:20px} +.url-card .post-min .url-img>img{vertical-align:unset} +.url-card.wechat a.card:after{content:'\e60d';position:absolute;display:inline-block;font-family:"iconfont";font-size:66px;color:#888;margin-left:10px;bottom:-15px;right:10px;opacity:.15} +.url-card.down a.card:after{content:'\e604';position:absolute;display:inline-block;font-family:"iconfont";font-size:60px;color:#888;margin-left:10px;bottom:-10px;right:10px;opacity:.15} +.url-card.down .mini a.card:after,.url-card.wechat .mini a.card:after{font-size:30px;margin-left:10px;bottom:-5px;right:10px} +.url-card.down .max a.card:after,.url-card.wechat .max a.card:after{font-size:30px;bottom:25px} +.url-card .mini a.togo,.url-card .default a.togo{position:absolute;top:20px;right:0;width:30px;height:30px;line-height:30px;opacity:.2;transition:opacity .3s} +.url-card .mini a.togo{top:4px} +.url-card .url-body:hover a.togo{opacity:1} +.url-card .max a.togo{margin-left:auto} +.url-card .max .tga{width:calc(100% - 15px);overflow:hidden} +.url-card .max .tga a{font-size:75%;padding:.125rem .4rem;background:rgba(134,134,134,.1);color:#888;border-radius:10px;transition:.3s} +.url-card .max .tga a:not(.no-tag):hover{background:#07C160;color:#fff} +.home-like{cursor:pointer} +.home-like:hover{color:#07C160} +.home-like-hide{opacity:0!important;transform:scale(3) translateY(-25px)!important} +.url-card a.togo:hover i{text-shadow:0 0 5px} +.panel-body .url-card.shortcode-url .card{background:rgba(136,136,136,.1)} +.url-card .remove-site,.url-card .remove-cm-site{position:absolute;top:-8px;right:0;font-size:20px;color:#07C160;line-height:20px} +.url-card .mini .card-body{padding:0.4rem 0.5rem} +.edit .url-card.sortable{cursor:move} +.edit .url-card.sortable .url-body a{pointer-events:none} +.edit .url-card.sortable .url-body:hover{transform:initial;box-shadow:initial} +/*-------------------------------------------------------------- +## app box style +--------------------------------------------------------------*/ +.card-app.default .media,.card-app.card{transform:translateY(0);-webkit-transform:translateY(0);-moz-transform:translateY(0);-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease} +.app-rounded{border-radius:30%!important} +.card-app.default .media-content{background-color:transparent!important} +.card-app.default:hover .media,.card-app.card:hover{transform:translateY(-6px);-webkit-transform:translateY(-6px);-moz-transform:translateY(-6px);box-shadow:0 26px 40px -24px rgba(0,36,100,.3);-webkit-box-shadow:0 26px 40px -24px rgba(0,36,100,.3);-moz-box-shadow:0 26px 40px -24px rgba(0,36,100,.3);-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease} +.app-info .info-term{display:inline-block} +.app-content{overflow:hidden;align-items:center} +.app-content .app-ico img{width:128px} +.app-nature .badge i{font-weight:100} +.card-app.card .tga{overflow:hidden} +.card-app.card .tga a{font-size:75%;padding:.125rem .4rem;background:rgba(134,134,134,.1);color:#888;border-radius:10px;transition:.3s} +.card-app.card .tga a:not(.no-tag):hover{background:#07C160;color:#fff} +.card-app.card .app-platform{position:absolute;top:3px;right:5px;opacity:0;transition:opacity .3s} +.card-app.card:hover .app-platform{opacity:.3} +.radius-50{border-radius:100px!important} +.historic .line-thead,.historic .line-tbody{position:relative;height:1px} +.historic .line-thead:before,.historic .line-tbody:before{content:'';position:absolute;height:1px;left:0;right:0;background-color:rgba(136,136,136,.4)} +.historic .line-tbody:before{background-color:rgba(136,136,136,.2)} +#app-down-modal .statement{border-radius:5px;border:2px dashed rgba(159, 255, 95, 0.7);background-color:rgba(159, 255, 95, 0.2)} +.screenshot-carousel{background-color:rgba(0,0,0,.1);overflow:hidden;box-shadow:0 0 50px 0 rgba(0,0,0,.1) inset} +.screenshot-carousel .img_wrapper{height:420px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center} +.screenshot-carousel .img_wrapper a{display:contents;flex:1} +.screenshot-carousel .img_wrapper img{max-width:calc(100% - 20px);max-height:calc(100% - 20px);-webkit-box-shadow:0 10px 13px rgba(31,45,62,.35);box-shadow:0 10px 13px rgba(31,45,62,.35);border-radius:5px} +.screenshot-carousel .carousel-indicators li{width:8px;height:8px;border:0;border-radius:10px;transition:.3s} +.screenshot-carousel .carousel-indicators .active{width:20px;height:8px;border-radius:10px} +.carousel-control-next, .carousel-control-prev{opacity:0;width:60px;transition:all .3s} +.carousel-control-prev{transform:translateX(-50px)} +.carousel-control-next{transform:translateX(50px)} +.screenshot-carousel .carousel-control-prev:before,.screenshot-carousel .carousel-control-next:before{content:'';position:absolute;width:40px;height:40px;top:calc(50% - 20px);left:calc(50% - 20px);border-radius:20px;z-index:-1;background-color:rgba(0, 0, 0, 0.2)} +.screenshot-carousel:hover .carousel-control-next,.screenshot-carousel:hover .carousel-control-prev{opacity:.5;transform:translateX(0)} +.screenshot-carousel .carousel-control-next:hover,.screenshot-carousel .carousel-control-prev:hover{opacity:.9} +.screenshot-carousel .carousel-control-next:focus,.screenshot-carousel .carousel-control-prev:focus{opacity:.9} + +/*-------------------------------------------------------------- +## footer style +--------------------------------------------------------------*/ +footer.main-footer{padding:20px 30px;margin-top:0px} +#footer-tools{position:fixed;bottom:20px;right:20px;display:flex} +#footer-tools .btn{color:#777;background:#eee;width:40px;height:40px;font-size:1rem;text-align:center;line-height:40px;padding:unset;display:block;border:unset} +#footer-tools .go-up{display:none} +#footer-tools .btn:hover{color:#444} +#footer-tools [data-v-db6ccf64][data-v-41ba7e2c],#footer-tools [data-v-db6ccf64][data-v-6d083e75]{top:unset!important;bottom:0!important;right:44px!important} +#footer-tools .s-sticker-tmp{position:absolute!important;font-size:12px!important;top:-6px;left:18px;transform:scale(.82);padding:1px 5px;background:#07C160;color:#ffffff!important;border-radius:50px;padding:1px 5px!important} +.friendlink a{position:relative;display:inline-block;margin:.25rem .5rem .25rem .25rem} +.friendlink a:before{content:'\2022';display:inline-block;position:relative;margin-right:5px} +@media (max-width:767.98px){footer.main-footer .footer-text{text-align:center;float:none} +#footer-tools{bottom:15px;right:10px} +} + + +/*-------------------------------------------------------------- +## bootstrap custom style +--------------------------------------------------------------*/ +.btn.focus,.btn:focus{outline:0;box-shadow:none} +.tooltip-inner img{margin:.25rem 0} +.tooltip-inner p{color:#fff} +.modal-backdrop{z-index:1089!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.5)} +.modal-backdrop.show{opacity:1} +.modal{z-index:1090} +.modal-content,.modal-header,.modal-footer{border:0} +.btn:not(.go-up){border-radius:3px;white-space:normal;font-size:.875rem} +.carousel-blog li{width:10px;height:10px;border:0;border-radius:10px} +.carousel-blog{margin:10px;top:0;bottom:auto;left:unset} +.card,.block{background:#fff;border-width:0;margin-bottom:1rem;box-shadow:0px 0px 20px -5px rgba(158,158,158,.2);transition:background-color .3s} +.input-group-text{border:1px solid #e9ebef;background-color:#e9ebef} +.badge-danger{background-color:#07C160} +.form-control{font-size:.875rem;color:#6d6e74;border:1px solid #f1f3f6;background-color:#f1f3f6} +.form-control:focus{border:1px solid #f1f3f6;background-color:#f1f3f6;box-shadow:none} +.form-control::-webkit-input-placeholder{color:#888a8f;opacity:1} +.form-control::-moz-placeholder{color:#888a8f;opacity:1} +.form-control:-ms-input-placeholder{color:#888a8f;opacity:1} +.form-control::-ms-input-placeholder{color:#888a8f;opacity:1} +.form-control::placeholder{color:#888a8f;opacity:1} +.form-control:disabled,.form-control[readonly]{background-color:#f1f3f6;opacity:1;color:#0d131b} +.btn-danger{color:#fff;background-color:#07C160;border-color:#07C160} +.btn-danger:hover{color:#fff;background-color:#14171b;border-color:#14171b} +.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#07C160;border-color:#07C160;box-shadow:none} +.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#07C160;border-color:#07C160} +.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#07C160;border-color:#07C160} +.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:none} +.btn-dark{color:#fff;background-color:#14171b;border-color:#14171b} +.btn-dark:hover{color:#fff;background-color:#07C160;border-color:#07C160} +.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#000;border-color:#000;box-shadow:none} +.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#222831;border-color:#222831} +.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#000;border-color:#000} +.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:none} +.btn-outline-danger{color:#07C160;border-color:#07C160} +.btn-outline-danger:hover{color:#fff;border-color:#07C160;background-color:#07C160} +.text-muted a{color:#6c757d} +.text-muted a:hover{color:#5c656d} +.custom-switch .custom-control-label::before{height:1.125rem;width:2rem;border-radius:.57rem;background-color:transparent} +.custom-switch .custom-control-label::after{width:calc(1.125rem - 4px);height:calc(1.125rem - 4px)} +.custom-control-input:not(:disabled):active~.custom-control-label::before{background-color:rgba(241,64,76,.15);border-color:rgba(241,64,76,.15)} +.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(241,64,76,.25)} +.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#07C160} +.custom-switch .custom-control-input:checked~.custom-control-label::after{-webkit-transform:translateX(.85rem);transform:translateX(.85rem)} +.custom-control-input:checked~.custom-control-label::before{border-color:#07C160;background-color:#07C160} +.transparent{background:transparent!important;border-color:transparent!important;box-shadow:unset!important} +.dropdown-menu{border:unset;box-shadow:0 5px 20px 0px rgba(0,0,0,.15)} +.dropdown-item:hover{background-color:rgba(136,136,136,.1)} +.dropdown-item:active,.dropdown-item:focus{color:#333;background-color:rgba(136,136,136,.2)} +.dropdown-divider{border-color:rgba(136,136,136,.2);} +.carousel-vertical .carousel-inner .carousel-item-next.carousel-item-left, +.carousel-vertical .carousel-inner .carousel-item-prev.carousel-item-right{-webkit-transform:translateY(0);transform:translateY(0)} +.carousel-vertical .carousel-inner .active.carousel-item-left, +.carousel-vertical .carousel-inner .carousel-item-prev{-webkit-transform:translateY(-100%);transform:translateY(-100%)} +.carousel-vertical .carousel-inner .active.carousel-item-right, +.carousel-vertical .carousel-inner .carousel-item-next{-webkit-transform:translateY(100%);transform:translateY(100%)} +@media (min-width:992px){ +.col-lg-5a{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%} +} +@media (min-width:1200px){ +.col-xl-5a{flex:0 0 20%;max-width:20%} +.col-xl-6a{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%} +.col-xl-7a{flex:0 0 14.285714%;max-width:14.285714%} +.col-xl-8a{flex:0 0 12.5%;max-width:12.5%} +} +@media (min-width:1400px){ +.container-lg{max-width:1340px} +} +@media (min-width:1680px){ +.d-xxl-block{display:block!important} +.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%} +.col-xxl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%} +.col-xxl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%} +.col-xxl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%} +.col-xxl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%} +.col-xxl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%} +.col-xxl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%} +.col-xxl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%} +.col-xxl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%} +.col-xxl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%} +.col-xxl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%} +.col-xxl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%} +.col-xxl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%} +.col-xxl-5a{flex:0 0 20%;max-width:20%} +.col-xxl-6a{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%} +.col-xxl-7a{flex:0 0 14.285714%;max-width:14.285714%} +.col-xxl-8a{flex:0 0 12.5%;max-width:12.5%} +.col-xxl-10a{flex:0 0 10%;max-width:10%} +.mx-xxl-n5{margin-left:-5rem!important;margin-right:-5rem!important} +.container-lg{max-width:1400px} +} +.size-50{width:50px;height:50px} +.size-70{width:70px;height:70px} +/*-------------------------------------------------------------- +## Grid +--------------------------------------------------------------*/ +.row-lg{margin-left:-1rem;margin-right:-1rem} +.row-lg [class*="col-"],.row-lg .col{padding-left:1rem;padding-right:1rem} +.row-md{margin-left:-.75rem;margin-right:-.75rem} +.row-md [class*="col-"],.row-md .col{padding-left:.75rem;padding-right:.75rem} +.row-sm{margin-left:-.5rem!important;margin-right:-.5rem!important} +.row-sm [class*="col-"],.row-sm .col{padding-left:.5rem!important;padding-right:.5rem!important} +.row-xs{margin-left:-.25rem!important;margin-right:-.25rem!important} +.row-xs [class*="col-"],.row-xs .col{padding-left:.25rem!important;padding-right:.25rem!important} +.row-xs .card,.row-xs .block{margin-bottom:.5rem!important} +@media (min-width:768px) and (max-width:991.98px){.row{margin-right:-.75rem;margin-left:-.75rem} +.row.no-gutters{margin-right:0rem;margin-left:0rem} +} +@media (min-width:768px) and (max-width:991.98px){.row-md{margin-left:-.5rem;margin-right:-.5rem} +.row-md [class*="col-"],.row-md .col{padding-left:.5rem;padding-right:.5rem} +} +@media (max-width:991.98px){.padding{padding:1.5rem} +.row-lg{margin-left:-.5rem;margin-right:-.5rem} +.row-lg [class*="col-"],.row-lg .col{padding-left:.5rem;padding-right:.5rem} +} +@media (max-width:767.98px){.padding{padding:1rem} +.container{padding-right:.625rem;padding-left:.625rem} +.row{margin-right:-0.625rem;margin-left:-0.625rem} +.row>.col,.row>[class*="col-"]{padding-right:.625rem;padding-left:.625rem} +.row-md{margin-left:-.5rem;margin-right:-.5rem} +.row-md [class*="col-"],.row-md .col{padding-left:.5rem;padding-right:.5rem} +.no-gutters{margin-right:0;margin-left:0} +.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0} +} + +/* load style */ +#loading,#load-loading,.load-loading{-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999999;background:#fff;-webkit-transition:ease-in-out .5s;transition:ease-in-out .5s} +.load-loading{position:absolute;background:transparent} +.load-loading .bg{position:absolute;width:100%;height:100%;background:#000;opacity:.2} +#load-loading{opacity:0} +#loading.close{opacity:0;visibility:hidden} +.io-black-mode #loading,.io-black-mode #load-loading{background:#111;} + +/*-------------------------------------------------------------- +## search style +--------------------------------------------------------------*/ +#search{max-width:800px;position:relative} +#search form{position:relative} +#search-text{z-index:inherit;padding:9pt;height:50px;font-size:1pc;border:0;border-radius:3px;background-color:#fff;transition:.3s} +#search button{position:absolute;top:0;right:0;background:#313437;border:0;width:60px;height:36px;margin:7px 9pt 0;line-height:36px;border-radius:3px} +#search button:hover{background:#000;cursor:pointer} +#search button i{color:#fff;font-size:18px} +#search .search-select{height:50px;cursor:pointer;border:none;background-color:#fff;transition:.3s} +#search .input-group-prepend:not(.d-none)+.search-key{border-top-left-radius:0;border-bottom-left-radius:0} +.search-group{display:none;padding-left:75px} +.search-group-modal{display:none;padding-left:75px} +.s-current .search-type{padding-left:0;display:block} +.s-current{display:block} +#search-list{position:relative} +#search-list-modal{position:relative} +.s-type{position:absolute;top:0;left:0;z-index:23;width:75px} +.s-type:hover{height:auto} +.s-type>span{display:block;height:31px;width:75px} +.s-type-list{display:none;position:absolute;top:31px;padding:9pt 0;width:70px;background:#fff;border-radius:5px;box-shadow:0 9px 20px rgba(0,0,0,.16)} +.s-type-list:before{position:absolute;top:-1pc;left:20px;content:'';display:block;width:0;height:0;border:10px solid transparent;border-bottom-color:#fff} +.s-type-list label{display:block;font-size:15px;text-align:center;font-weight:normal;margin-bottom:0;padding:2px 0;cursor:pointer;transition:.3s} +.s-type-list label:hover{background:rgba(136,136,136,.1)} +.s-type-list .tile-lg{color:#fff;width:3pc;height:3pc;font-size:1.25rem;line-height:3rem;border-radius:.3rem;display:block;margin:auto} +.s-type:hover .s-type-list{display:block} +.type-text{position:absolute;left:0;width:75px;padding-left:9pt;font-size:1pc;line-height:31px} +.type-text:after{content:"\e793";font-family:"iconfont";font-size:12px;margin:0 0 0 10px} +.search-type{white-space:nowrap;margin:0}.search-type label{margin:0} +.search-type li{display:inline-block} +.search-type li label{display:inline-block;padding:0 11px;font-size:14px;line-height:31px;border-radius:3px 3px 0 0;cursor:pointer} +.search-type li.menu-item a{display:inline-block;font-size:14px;line-height:31px;border-radius:3px 3px 0 0} +.search-type input:checked+label,.search-type input:hover+label{background-color:#fff} +.set-check{margin-top:3px;font-size:9pt}.set-check label{margin-left:3px} +.set-check input,.set-check label{opacity:0;transition:all .3s ease} +.search-type li{list-style:none;display:inline-block} +.search-type{overflow:auto} +.search-smart-tips{position:absolute;z-index:20;width:100%;overflow:hidden} +.search-smart-tips ul{padding:10px 0;margin:0} +.search-smart-tips ul li{line-height:30px;font-size:14px;padding:0px 25px;cursor:pointer;list-style:none;transition:.3s} +.search-smart-tips ul li:hover,.search-smart-tips ul li.current{background-color:rgba(130,130,130,.5)} +@media screen and (max-width:767.98px){#search{margin:25px auto 15px} +.s-type-list label{padding:5px 0} +.search-list{height:30px;overflow-y:hidden;overflow-x:scroll;white-space:nowrap} +} +.search-modal #m_search-text{z-index:inherit;padding:9pt;height:50px;font-size:1pc;border:0;border-radius:3px;background-color:rgba(126, 126, 126, 0.1)} +.search-modal #search .search-select,.search-modal .search-type input:checked+label,.search-modal .search-type input:hover+label{background-color:rgba(126, 126, 126, 0.1)} +.search-modal li.menu-item{display:inline-block!important;margin:4px} +.search-modal li.menu-item a{font-size:12px;padding:.375rem .875rem;background:rgba(136,136,136,.1);border-radius:50px} +.btn-search{position:relative;background-color:rgba(150,150,150,.16);transition:.2s ease-out} +.btn-search:hover,.btn-search.current{color:#fff!important;background-color:#07C160;box-shadow:0 5px 20px -3px rgba(249,100,90,.6)} +.btn-search.current:after{content:"";position:absolute;bottom:-17px;left:0;right:0;margin:0 auto;width:0;border:10px solid transparent;border-top-color:#07C160} + +/*-------------------------------------------------------------- +## custom style +--------------------------------------------------------------*/ +.text-break-all{word-break:break-all} +.posts-nav{font-size:14px;color:rgba(0,0,0,.44);padding:10px 0;text-align:center} +.posts-nav .page-numbers{position:relative;min-width:35px;height:35px;padding:0 5px;line-height:35px;display:inline-block;background-color:rgba(150,150,150,.16);margin:0 2px;border-radius:.2rem;-webkit-transition:.2s ease-out;transition:.2s ease-out} +.posts-nav .page-numbers.current,.posts-nav .page-numbers:not(.dots):hover{color:#fff!important;background-color:#07C160;box-shadow:0px 5px 20px -3px rgba(249,100,90,.6)} +.posts-nav .page-numbers.dots{border-color:rgba(0,0,0,0)} +.ajax-loading{background:rgba(250,250,250,.7)!important} +#comments-navi>span,#comments-navi>a,.page-nav span:not(.current){position:relative;display:inline-block;background-color:rgba(150, 150, 150, 0.16);min-width:35px;height:35px;padding:0 5px;line-height:35px;margin:.2rem .1rem;font-size:0.75rem;border-radius:0.2rem;-webkit-transition:.2s ease-out;transition:.2s ease-out} +.page-nav span.all{width:auto;padding:0 10px} +#comments-navi>a:hover,#comments-navi>.current,.page-nav>a:hover span,.page-nav>.current span{color:#fff!important;background-color:#07C160;box-shadow:0px 5px 20px -3px rgba(249, 100, 90, .6)} +.overflow-x-auto{overflow-x:auto;overflow-y:unset} +.overflow-y-auto{overflow-y:auto;overflow-x:unset} +.slider-menu-father{border-radius:100px;overflow:hidden} +.media-title-bg:before{content:"";position:absolute;left:0;height:80px;right:0;bottom:0;background-image:linear-gradient(to top,rgba(0,0,0,.5) 20%,transparent 80%)} +.external{padding-right:5px} +.external:after{content:"\e66c";font-family:"iconfont";font-size:75%} +.nav-login-user{position: relative;} +.nav-login-user .user-ico img{width:28px;height:28px;border-radius:100%} +.nav-login-user .header-user{position: absolute;opacity: 0;width: 400px;right: -30px;visibility: hidden;transition:.3s;} +.nav-login-user:hover .header-user{opacity:1;visibility: visible;} +.user-card-top img{width:46px;height:46px;border-radius:100%} +.nav-login-user .card-top{padding-bottom:10px;border-bottom:1px dashed #cecece} +.fancybox-slide--iframe .fancybox-content{max-width:1280px;margin:0} +.fancybox-slide--iframe.fancybox-slide{padding:44px 0} +.fancybox-toolbar{right:calc(50% - 22px);top:22px} +.big-header-banner .page-header{color:#fff;background:rgba(255,255,255,0);box-shadow:none;transition:color .3s,background-color .3s} +.big-header-banner.header-bg .page-header{color:initial;backdrop-filter: blur(10px);background:rgba(255,255,255,.7)} +.big-header-banner:not(.header-bg) .page-header .navbar-nav>li>a,.big-header-banner:not(.header-bg) .navbar-menu a:not(.dropdown-item){color:#eee;} +.big-header-banner:not(.header-bg) .header-mini-btn path{stroke:#eee} +.big-header-banner:not(.header-bg) .page-header .navbar-nav>li>a:hover,.big-header-banner:not(.header-bg) .navbar-menu a:not(.dropdown-item):hover{color:#fff;} +.big-header-banner:not(.header-bg) .header-mini-btn label:hover path{stroke:#fff} +.header-big{position:relative;margin-top:-75px;padding-top:30px;padding-bottom:60px} +.header-big.bg-gradual:before{content: "";position: absolute;left: 0;height: 80px;right: 0;bottom: 0;background-image: linear-gradient(to top,#f9f9f9 0%,transparent 80%);transition:.3s} +.header-big.css-img,.header-big.css-bing{background-color:#1b1d1f;background-size:cover;background-position:cover} +.header-big.canvas-fx{background-color:#1b1d1f} +.post-top{padding-bottom:10px} +.header-big.no-bg{padding-bottom:10px} +.header-big.css-color{background-size:400%;background-position:0% 100%;-webkit-animation:gradient 7.5s ease-in-out infinite;animation:gradient 7.5s ease-in-out infinite} +@-webkit-keyframes gradient{50%{background-position:100% 0} +} +@keyframes gradient{50%{background-position:100% 0} +} +.header-big .s-search,.header-big #bulletin_box{margin:0 15px} +.header-big #bulletin_box{background:transparent;box-shadow:none} +.header-big:not(.no-bg) #bulletin_box a{color:#fff} +.header-big .bulletin-big #bulletin_box{max-width:600px;margin:0 auto} +.header-big:not(.no-bg) #bulletin_box .card-body{color:#fff!important;background:rgba(0,0,0,.3);border-radius:50px} +.header-big .bulletin-close{opacity:.1;transition:opacity .3s} +.header-big .bulletin-big #bulletin_box:hover .bulletin-close{opacity:.7} +.header-big .search-group{padding:0;margin:0 auto} +.header-big #search-list{text-align:center} +.header-big .search-smart-tips{width:unset;left:20px;right:20px} +.header-big .search-type input:checked+label,.header-big .search-type input:hover+label{position:relative;background:transparent!important} +.header-big .search-type input:checked+label:before{content:'';border-width:8px 8px 0px 8px;border-style:solid;border-color:rgba(0,0,0,0.6) transparent transparent;position:absolute;left:50%;top:0;margin-left:-8px} +.header-big .search-type li label{padding-top:5px} +.header-big .s-type-list{position:relative!important;display:inline-table;overflow:auto;white-space:nowrap;text-align:center;position:inherit;top:inherit;padding:inherit;width:none;background:none!important;border-radius:inherit;box-shadow:none!important} +.header-big:not(.no-bg) .s-type-list{color:#fff} +.s-type:hover .s-type-list.big{display:inline-table} +.header-big .s-type-list .anchor{background:#888;border-radius:100px;width:10px;height:4px;bottom:5px;-webkit-transition:.25s;transition:.25s} +.header-big:not(.no-bg) .s-type-list .anchor{background:#fff} +.header-big .s-type-list label:hover{background:none} +.header-big .s-type-list:before{display:none} +.header-big .s-type{position:inherit;top:inherit;left:inherit;z-index:inherit;width:auto} +.header-big .s-type-list label{position:relative;display:inline-block} +.header-big .s-type-list label span{display:block;padding:10px 10px} +.header-big .s-type-list label:not(.active)::after{content:'';height:4px;width:4px;border-radius:2px;position:absolute;left:50%;bottom:5px;margin-left:-2px;background-color:rgba(255,255,255,0);transition:.3s} +.header-big .s-type-list label:not(.active):hover::after{background-color:#fff} +.header-big .s-type-list label:not(.active),.header-big:not(.no-bg) .search-type label{opacity:.5;transition:opacity .3s} +.header-big .s-type-list label:not(.active):hover,.header-big:not(.no-bg) .search-type label:hover{opacity:1} +.header-big .search-type input:checked+label{opacity:1} +.header-big #search-text{border-radius:50px;color:#fff;border:1px solid rgba(255,255,255,.05);padding:9px 20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);} +.header-big #search button{position:absolute;top:0;right:0;background:transparent;border:0!important;width:unset;height:unset;margin:0 9px;line-height:50px;border-radius:3px} +.header-big #search button:active,.header-big #search button:focus{box-shadow:none;outline:none;border:0!important} +/*.header-big .search-smart-tips{top:100px}*/ +.header-big .canvas-bg{position:absolute;top:0;width:100%;height:100%;border-width:0} +.header-big:not(.no-bg) .text-muted,.header-big:not(.no-bg) .search-type .menu-item a,.header-big:not(.no-bg) .big-title .h1{color:#fff!important} +.header-big.no-bg #search-text{color:#fff;border:none;background-color:rgba(0,0,0,0.2)!important} +.header-big.no-bg .search-type input:checked+label:before{border-color:rgba(0,0,0,0.2) transparent transparent} +.header-big .search-type li.menu-item{padding:5px 10px 0px 10px} +@media screen and (min-width:768px){.header-big{padding-top:80px;padding-bottom:110px} +.post-top{padding-bottom:20px} +.header-big.no-bg{padding-bottom:20px} +.header-big .search-type li label,.header-big .search-type li.menu-item{padding:5px 20px} +.header-big .s-type-list label span{padding:10px 20px} +} +@media screen and (min-width:992px){.header-big .s-search{margin:0} +} +.io-black-mode .header-big.bg-gradual:before{background-image: linear-gradient(to top,#1b1d1f 0%,transparent 80%)} +.io-black-mode .big-header-banner .page-header {background:transparent;box-shadow:none} +.io-black-mode .big-header-banner.header-bg .page-header{color:#fff;background:#2c2e2f;box-shadow:0 0 25px 5px rgba(10,10,10,.25)} +/* --- carousel --- */ +.media-content{position:absolute;top:0;bottom:0;left:0;right:0;border:0;border-radius:inherit;background-size:cover;background-repeat:no-repeat;background-position:50% 50%;background-color:rgba(120,120,120,.1)} +.carousel-item.home-item:after{content:"";display:block;padding-top:300px} +.carousel-caption{ bottom:0;padding-top:10px;padding-bottom:10px} +.media{position:relative;display:block;overflow:hidden;padding:0;-ms-flex-negative:0;flex-shrink:0;border-top-left-radius:inherit;border-top-right-radius:inherit} +.media:after{content:'';display:block;padding-top:100%} +.media-title{position:absolute;bottom:0;left:0;right:0;margin:5px 10px;color:#fff} +.new-news{height:300px} +.new-news .news_title{background-color:rgba(0,0,0,.1);padding:8px 10px;border-radius:.20rem .20rem 0 0} +.new-news ul{overflow:auto;padding:0 20px;margin-bottom:10px} +.new-news ul li{position:relative;padding:0 10px 10px 20px;border-left:2px solid rgba(136,136,136,.2)} +.new-news ul li i{font-size:12px;top:3px;color:#888;position:absolute;padding:5px;left:-12px;background:#fff;transition:background-color .3s} +.new-news .news_all_btn{position:absolute;right:4px;padding:8px 10px;transition:.3s} +.new-news .news_all_btn:hover{right:0px} +@media screen and (max-width:767.98px){.new-news{height:200px} +.big-title .h1{font-size:30px} +} +@media screen and (max-width:575.98px){.carousel-item.home-item:after{padding-top:250px} +.new-news{height:150px} +} +@media screen and (max-width:454.98px){.carousel-item.home-item:after{padding-top:180px} +.new-news{height:100px} +} +.overlay{width:100%;height:100%;background-color:rgba(0,0,0,.66);position:absolute;opacity:.22;top:0;left:0;-webkit-transition:opacity 0.3s ease-in-out;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out} +.article-list:after{padding-top:146px} +.media-21x9:after{padding-top:42.857143%} +.media-16x9:after{padding-top:56.25%} +.media-4x3:after{padding-top:75%} +.media-2x3:after{padding-top:150%} +.media-3x2:after{padding-top:66.66666%} +.media-3x4:after{padding-top:133.33333%} +.media-1x2:after{padding-top:200%} +.media-2x1:after{padding-top:50%} +.media-3x1:after{padding-top:33%} +.media-4x1:after{padding-top:25%} +.media-5x1:after{padding-top:20%} +.media-5x7:after{padding-top:141%} +.media-1-4:after{padding-top:25vh;min-height:10rem} +.media-1-3:after{padding-top:33vh;min-height:12.5rem} +.media-1-2:after{padding-top:50vh;min-height:15rem} +@media (max-width:767.98px){.post-cover .media-5x1:after{padding-top:30%} +} +@media (min-width:1200px){ +.media-xl-16x9:after{padding-top:56.25%!important} +.media-xl-3x2:after{padding-top:66.66666%!important} +} +/* --- content --- */ +blockquote{position:relative;padding:.9375rem 0 .9375rem 1.75rem;margin:1.5rem 0;border-left:5px solid rgba(136,136,136,.2);background-color:rgba(136,136,136,.1)} +blockquote p:last-of-type{margin:0;padding:0} +.tags i{color:#07C160;margin-right:10px;vertical-align:middle} +.tags a{display:inline-block;margin:0 6px 12px 0;padding:3px 10px;color:#6d6d6d;font-size:10px;transition:.3s;background:rgba(148,149,158,.15);border-radius:15px} +.color-0{color:#07C160!important;background-color:rgba(249,100,90,.15)!important} +.color-1,.color-5{color:#20a0ff!important;background-color:rgba(32,158,255,.15)!important} +.color-2,.color-6{color:#39c408!important;background-color:rgba(58,196,8,.15)!important} +.color-3,.color-7{color:#ff8400!important;background-color:rgba(255,131,0,.15)!important} +.color-4,.color-8{color:#837adc!important;background-color:rgba(132,122,220,.15)!important} +.color-d{color:#888} +.card.new-news li{list-style:none} +.tags a:focus,.tags a:hover{background-color:#232425!important;text-decoration:none;color:#fff!important} +pre{position:relative;overflow-y:auto;border:0;color:#777;border-radius:3px;padding:.75rem;margin:1.5rem 0;white-space:pre-wrap;word-wrap:break-word;background-color:rgba(0,0,0,.04)} +table{width:100%} +th,td{border:1px solid rgba(136,136,136,.3);padding:8px 12px} +.single-top-area{background:#fff} +.near-navigation{display:flex;background:#fff} +.near-navigation .nav{display:flex;flex-direction:column;justify-content:center;min-height:80px;padding:0 20px;position:relative;width:50%;word-break:break-word} +.near-navigation .next{align-items:flex-end;text-align:right;border-radius:0 5px 5px 0;overflow:hidden} +.near-navigation .previous{border-radius:5px 0 0 5px;overflow:hidden} +.near-navigation span{font-size:14px;font-weight:500;position:relative;text-transform:uppercase;z-index:2} +.near-navigation .near-title{font-size:12px;margin:5px 0 0;position:relative;z-index:2} +.near-navigation img{height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;width:100%} +.near-navigation .none span,.near-navigation .none .near-title{color:#999} +.panel-header h1{line-height:1.5} +.panel-body p,.site-content p,.post-content figure{margin-bottom:1.25rem;font-size:1rem;line-height:2;word-wrap:break-word} +.panel-body h1,.panel-body h2,.panel-body h3,.panel-body h4,.panel-body h5,.panel-body h6{margin-bottom:1rem} +.panel-body h1{font-size:1.5rem} +.panel-body h2{font-size:1.25rem;border-left:3px solid #07C160;padding:.25rem 0 .25rem 1.25rem;margin-left:-1.438rem} +.panel-body h3{font-size:1.125rem;border-left:3px solid #07C160;padding-left:1.25rem;margin-left:-1.438rem} +.panel-body h4{font-size:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(136,136,136,.2)} +.panel-body h5,.panel-body h6{font-size:1rem} +.panel-body ul,.panel-body ol{font-size:.875rem} +.panel-body ul li,.panel-body ol li{margin:.5rem 0} +.transparent .panel-body h2,.transparent .panel-body h3{position:relative;margin-left:0} +@media (max-width:767.98px){blockquote{padding-left:1.25rem} +.panel-body p,.panel-body figure{font-size:0.9375rem} +.panel-header h3,.panel-header .h3{font-size:1.5rem} +} + +/* --- site-body --- */ +.siteico{background:#e6e8ed;position:relative;overflow:hidden;box-shadow:0 30px 20px -20px rgba(0,0,0,.15);border-radius:10px;transition:background-color .3s} +.siteico:before{content:'';display:block;padding-top:100%} +.tool-actions{position:absolute;left:0;bottom:0;right:0;padding:.625rem 0} +.tool-actions .btn-light{color:#424446!important;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:rgba(250,250,250,.5)!important;border-color:transparent!important} +.tool-actions .btn-light:hover{background-color:rgba(255,255,255,.8)!important} +.customize-menu .btn-edit{color:#ddd;line-height:24px;background:#07C160;padding:0 10px;margin:5px 0;border-radius:50px;white-space:nowrap} +.customize-menu .btn-edit:hover{color:#fff} +.blur{-moz-filter:blur(15px);-ms-filter:blur(15px);-webkit-filter:blur(15px);filter:blur(15px);filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius=15,MakeShadow=false)} +.blur-layer{top:0;left:0;right:0;bottom:0;position:absolute;width:inherit;height:inherit;opacity:.2} +.img-cover{max-width:90%!important;min-width:72px!important;max-height:90%!important;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;border-radius:6px} +@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}} +.site-body .btn{border-radius:6px;padding:7px 16px;background-color:rgba(138,138,138,.15);transition:.3s} +.site-body .btn:hover{color:#fff;background:#202224} +.site-body .btn:active{box-shadow:unset} +.site-body .site-go .btn{margin-bottom:10px} +.site-go-url{position:relative} +.site-go-url .spare-url{position:absolute;opacity:0;visibility:hidden;margin-top:0;transition:.3s} +.site-go-url .spare-url a{white-space:nowrap} +.site-go-url:hover .spare-url{opacity:1;visibility:visible;margin-top:-10px} +.card-post .flex-avatar{padding:2px!important} +.card-post .media,.card-book .media{box-shadow:0 0 20px -5px rgba(20,20,20,.2);-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease} +.card-post:hover .media,.card-book:hover .media{transform:translateY(-6px);-webkit-transform:translateY(-6px);-moz-transform:translateY(-6px);box-shadow:0 26px 40px -24px rgba(27,28,31,.3);-webkit-box-shadow:0 26px 40px -24px rgba(27,28,31,.3);-moz-box-shadow:0 26px 40px -24px rgba(27,28,31,.3)} +.card-post .list-content{padding-bottom:.5rem} +.btn-arrow{position:relative} +.btn-arrow span{padding-right:1.25rem;display:inline-block} +.btn-arrow i{position:absolute;font-size:18px;width:.8em;right:1rem;top:50%;opacity:.6;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:all 200ms ease-out;-o-transition:all 200ms ease-out;transition:all 200ms ease-out;will-change:right,opacity} +.btn-arrow:hover i,.btn-arrow:focus i{opacity:1;right:.6rem} +.btn-cat{color:#fff!important;background:#07C160;font-size:12px;padding:2px 5px;border-radius:4px;transition:.3s} +.btn-cat:hover{color:#fff;background:#212224} +.btn-icon{text-align:center;width:3.125rem;height:3.125rem;padding:0!important;position:relative} +.btn-icon span{position:absolute;width:100%;height:100%;top:0;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center} +.country-piece{position:absolute;color:#fff;top:10px;right:10px;transition:.3s;padding:0 5px;background:#07C160;border-radius:20px} +@media screen and (max-width:575.98px){.siteico:before{padding-top:60%} +.card-post .list-content{padding-top:.5rem} +} + +/* --- down-body --- */ +.down-content{margin-top:120px} +.down-content .card{border:0} +.down-content .card .card-header{position:relative;border-radius:6px;padding:.3rem;margin:0 15px;margin-top:-30px;border:0;background:linear-gradient(60deg,#07C160,#f1417c);box-shadow:0 5px 20px 0 rgba(0,0,0,.2),0 13px 24px -11px rgba(176,39,62,.6)} +.down-content .card-header-img{margin-top:-100px;padding:8px;width:120px;height:120px;background:#ffffff;transition:background-color .3s} +.down-content .card-signup{border-radius:6px;margin:0 15px;box-shadow:0 16px 24px 2px rgba(0,0,0,.1),0 6px 30px 5px rgba(0,0,0,.08),0 8px 10px -5px rgba(0,0,0,.15)} +.down-content .down-info li{margin:5px 0} +.btn-danger{color:#fff;background-color:#07C160;border-color:transparent} +.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;box-shadow:0 0 0 0 transparent } +.down-content .apd-right{position:relative;background:rgba(34,34,34,.05);width:100%;height:100%;border-radius:6px;border:2px dashed rgba(0,0,0,.1)} +.down-content .statement{position:relative;margin:0 -1.25rem;border-bottom:2px dashed #eee;border-top:2px dashed #eee;background:rgba(0,0,0,.01);transition:.3s} +.down-content .statement:before{content:"";position:absolute;width:8px;height:8px;top:5px;left:5px;border-radius:50%;background:#eee;box-shadow:0 10px #eee,0 20px #eee;transition:.3s} +.down-content .card-nav-tabs:before{content:"\e604";position:absolute;bottom:-3px;right:5px;font-size:20px;color:rgba(129,129,129,.3);font-family:"iconfont"} +@media screen and (max-width:767.98px){.down-content .card-signup{border-radius:6px;margin:0 -10px} +.down-content{margin-top:90px} +.down-content .card .card-header{margin-left:5px;margin-right:5px} +.down-content .card-header-img{margin-top:-70px;padding:6px;width:90px;height:90px} +} + +/* --- book-body --- */ +.book-info ul{list-style:none;margin:0;padding:0} +.book-info .info-title{display:inline-block;width:70px;text-align:justify;text-justify:distribute-all-lines;-moz-text-align-last:justify;text-align-last:justify} + +/* --- comment --- */ +.v-avatar{width:32px;height:32px} +.profile img{width:48px;height:48px;border-radius:50%} +.children .profile img{width:40px;height:40px;border-radius:50%} +.comment-list .comment-text{border-bottom:1px solid rgba(135,135,135,.15);padding-bottom:1rem;margin-bottom:1rem} +.comment-list .children .comment_body,.comment-list .children .comment-respond{margin-left:3.875rem;padding:0 0 1rem} +.comment-list>.comment>.children .comment:last-child .comment-text{border-bottom:1px solid rgba(135,135,135,.15);padding-bottom:1rem;margin-bottom:0} +.comment-list>.comment:last-child .comment-text{border:0;padding-bottom:0} +.not-comment,.commclose{background-color:rgba(136,161,199,.3)!important} +.comment-list .is-author{opacity:.5;cursor:pointer;transition:opacity .3s} +.comment-list .rank{position:relative;color:#fff;cursor:pointer;font-size:.75rem;padding:1px 8px;margin:0 4px;background:#07C160;border-radius:6px;transition:opacity .3s} +.comment-list .rank:after{content:"";position:absolute;width:8px;height:4px;top:50%;margin-top:-2px;left:-4px;border-radius:2px;background:#ffae00} +.comment-list .rank:before{content:"";position:absolute;width:5px;height:5px;top:50%;margin-top:-2.5px;left:0px;border-radius:3px;background:#fff} +.comment-list .rank:hover{color:#fff} +.comment-list .is-author:hover{opacity:1} +.comment-form .comment-form-cookies-consent label{display:inline} +input[type="radio"] + label,input[type="checkbox"] + label{font-weight:400} +.form-submit{text-align:right} +.comment-list,.comment-list .children{list-style:none;margin:0;padding:0} +.comment-body{color:#333;margin-bottom:4em} +.comment-body{margin-left:65px} +.comment-author{margin-bottom:.4em;position:relative;z-index:2} +.comment-author .avatar{height:50px;left:-65px;position:absolute;width:50px} +.comment-metadata{color:#767676;font-weight:800;letter-spacing:.1818em;text-transform:uppercase} +.comment-reply-link{font-weight:800;position:relative} +.btn-home{color:#fff;background:#07C160;padding:10px 30px;transition:.3s} +.btn-home:hover{color:#fff;background:#333} +.iconfont{display:inline-block;font-size:inherit;font-variant:normal;text-rendering:auto;line-height:0} +.icon-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em} +.icon-2x{font-size:2em} +.icon-3x{font-size:3em} +.icon-4x{font-size:4em} +.icon-5x{font-size:5em} +.icon-8x{font-size:8em} +.icon-fw{text-align:center;width:1.25em} +.icon-spin{-webkit-animation:icon-spin 2s infinite linear;animation:icon-spin 2s infinite linear} +.hot-card .hot-body{height:200px} +.hot-card .hot-heat{white-space:nowrap} +.hot-rank{width:18px;border-radius:4px;background:rgba(124, 124, 124, 0.3);display:inline-block} +.hot-rank-1{color:#fff;background:#07C160} +.hot-rank-2{color:#fff;background:#c56831} +.hot-rank-3{color:#fff;background:#b89e2c} +.hot-platform span{margin:0 5px;white-space:nowrap} +.hot-platform{border-radius:4px;display:inline-table;background:rgba(77, 77, 77, 0.3)} +.background-fx{position:absolute;left:60px;right:0;height:100vh;top:0;overflow:hidden;opacity:1;z-index:-1} +.shape-01{position:absolute;top:11%;right:42%;-webkit-animation:animationFramesTwo 13s linear infinite;animation:animationFramesTwo 13s linear infinite} +.shape-02{position:absolute;top:27%;left:17%;-webkit-animation:animationFramesFour 25s linear infinite alternate;animation:animationFramesFour 25s linear infinite alternate} +.shape-03{position:absolute;top:30%;left:50%;-webkit-animation:animationFramesThree 35s linear infinite alternate;animation:animationFramesThree 35s linear infinite alternate} +.shape-04{position:absolute;top:40%;right:23%;-webkit-animation:animationFramesFour 20s linear infinite alternate;animation:animationFramesFour 20s linear infinite alternate} +.shape-05{position:absolute;bottom:62%;right:28%;-webkit-animation:animationFramesOne 15s linear infinite;animation:animationFramesOne 15s linear infinite} +.shape-06{position:absolute;bottom:73%;left:38%;-webkit-animation:animationFramesFour 20s linear infinite alternate;animation:animationFramesFour 20s linear infinite alternate} +.shape-07{position:absolute;left:14%;bottom:54%;-webkit-animation:animationFramesOne 17s linear infinite;animation:animationFramesOne 17s linear infinite} +.shape-08{position:absolute;left:14%;top:60%;-webkit-animation:animationFramesOne 20s linear infinite alternate;animation:animationFramesOne 20s linear infinite alternate} +.shape-09{position:absolute;top:22%;left:41%;-webkit-animation:animationFramesOne 15s linear infinite;animation:animationFramesOne 15s linear infinite} +.shape-10{position:absolute;top:8%;right:6%;-webkit-animation:animationFramesOne 15s linear infinite;animation:animationFramesOne 15s linear infinite} +.shape-11{position:absolute;top:10%;right:8%;-webkit-animation:animationFramesOne 12s linear infinite;animation:animationFramesOne 12s linear infinite} +@keyframes animationFramesOne{0%{transform:translate(0) rotate(0deg)} +20%{transform:translate(73px,-1px) rotate(36deg)} +40%{transform:translate(141px,72px) rotate(72deg)} +60%{transform:translate(83px,122px) rotate(108deg)} +80%{transform:translate(-40px,72px) rotate(144deg)} +to{transform:translate(0) rotate(0deg)} +}@-webkit-keyframes animationFramesOne{0%{-webkit-transform:translate(0) rotate(0deg)} +20%{-webkit-transform:translate(73px,-1px) rotate(36deg)} +40%{-webkit-transform:translate(141px,72px) rotate(72deg)} +60%{-webkit-transform:translate(83px,122px) rotate(108deg)} +80%{-webkit-transform:translate(-40px,72px) rotate(144deg)} +to{-webkit-transform:translate(0) rotate(0deg)} +}@keyframes animationFramesTwo{0%{transform:translate(0) rotate(0deg) scale(1)} +20%{transform:translate(73px,-1px) rotate(36deg) scale(.9)} +40%{transform:translate(141px,72px) rotate(72deg) scale(1)} +60%{transform:translate(83px,122px) rotate(108deg) scale(1.2)} +80%{transform:translate(-40px,72px) rotate(144deg) scale(1.1)} +to{transform:translate(0) rotate(0deg) scale(1)} +}@-webkit-keyframes animationFramesTwo{0%{-webkit-transform:translate(0) rotate(0deg) scale(1)} +20%{-webkit-transform:translate(73px,-1px) rotate(36deg) scale(.9)} +40%{-webkit-transform:translate(141px,72px) rotate(72deg) scale(1)} +60%{-webkit-transform:translate(83px,122px) rotate(108deg) scale(1.2)} +80%{-webkit-transform:translate(-40px,72px) rotate(144deg) scale(1.1)} +to{-webkit-transform:translate(0) rotate(0deg) scale(1)} +}@keyframes animationFramesThree{0%{transform:translate(165px,-179px)} +to{transform:translate(-346px,617px)} +}@-webkit-keyframes animationFramesThree{0%{-webkit-transform:translate(165px,-179px)} +to{-webkit-transform:translate(-346px,617px)} +}@keyframes animationFramesFour{0%{transform:translate(-300px,151px) rotate(0deg)} +to{transform:translate(251px,-200px) rotate(180deg)} +}@-webkit-keyframes animationFramesFour{0%{-webkit-transform:translate(-300px,151px) rotate(0deg)} +to{-webkit-transform:translate(251px,-200px) rotate(180deg)} +} +@media screen and (max-width:1199.98px){ +.hot-search{min-width:1164px} +} +@media screen and (max-width:575.98px){ +.shape-10{right:12%;width:100px} +.shape-11{right:14%;width:100px} +.comment-list .children .comment_body,.comment-list .children .comment-respond{margin-left:1.875rem} +} + +@-webkit-keyframes icon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)} +100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)} +}@keyframes icon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)} +100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)} +} +/* --- users --- */ +.user-bg{height:269px;margin-top:-75px;position:relative;background-color:rgba(5,15,25,.2);background-repeat:no-repeat;background-size:cover;background-position:center center} +.user-bg::before{content:"";position:absolute;left:0;height:240px;right:0;bottom:0;background-image:linear-gradient(to top,#000000 0%,transparent 60%);transition:.3s} +.user-area .avatar-body{display:inline-block;min-height:112px;min-width:112px} +.user-area img{max-width:100%} +.bg-white,.border-light{transition:.3s} +.border-2w{border-width:2px!important} +.user-area .user-menu{margin-top:-169px} +.user-area .card-menu{margin-top:60px} +.user-area .author-avatar{margin-top:-75px} +.user-area ul{list-style:none;padding:0;margin:0;width:100%} +.user-nav li .user-tab{padding:8px 0;display:block;border-radius:4px} +.user-nav li .user-tab.active{background-color:rgba(136,136,136,.1)} +.user-area .local-avatar-label svg{display:none;width:38px;height:38px;position:absolute;top:0;left:0;color:#fff;background:rgba(0,0,0,.2);border-radius:50%;transform-origin:50% 50% 0;fill:rgba(255,255,255,.65);cursor:pointer} +.user-area .local-avatar-label:hover svg{display:block} +.user-area .avatar-picker{display:inline-block;width:38px;height:38px;position:absolute;left:0;top:0;cursor:pointer} +.user-area .avatar-picker input,.user-area .cover-picker input{border:1px solid #eee;border-radius:5px} +.user-area .user-cover{position:relative} +.user-area .io-cover-picker{display:inline-block;width:25px;height:25px;position:absolute;right:2px;top:2px;cursor:pointer} +.user-area .cover-picker::after{content:'\e634';color:#fff;font-family:"iconfont";position:absolute;font-size:25px;line-height:25px;opacity:.6} +.user-area .cover-picker:hover:after{opacity:1} +.user-area .author-meta-r{margin-top:-110px;} +.empty-content{font-size: 169px;opacity:.3;} +.terms-placeholder{border:2px dashed #4ecdff;background-color:transparent;min-height:42px;} +.admin-sites .overflow-auto{max-height:300px} +.manage-sites .sites-card,.sites-placeholder,.admin-sites .sites-card{padding:6px 8px;background-color:#eee} +.manage-sites .sites-card:not(.add){cursor:move;transition:box-shadow .3s;} +.sites-placeholder{border:2px dashed #4ecdff;background-color:transparent} +.manage-sites .sites-card:not(.add):hover,.admin-sites .sites-card:hover{box-shadow:0 6px 10px rgba(0, 0, 0,.15);} +.sites-hover .nav-link{background-color:rgba(136,136,136,.15);} +input.nav-link{display:block;width:100%;color:#495057;background-color:transparent;background-clip:padding-box;border:1px solid #ced4da;border-radius:0.25rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out} +input.nav-link::-ms-expand{background-color:transparent;border:0} +input.nav-link:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057} +input.nav-link:focus{color:#495057;background-color:transparent;border-color:#80bdff;outline:0;box-shadow:0 0 0 0.2rem rgba(0,123,255,0.25)} +input.nav-link::-webkit-input-placeholder{color:#6c757d;opacity:1} +input.nav-link::-moz-placeholder{color:#6c757d;opacity:1} +input.nav-link:-ms-input-placeholder{color:#6c757d;opacity:1} +input.nav-link::-ms-input-placeholder{color:#6c757d;opacity:1} +input.nav-link::placeholder{color:#6c757d;opacity:1} +input.nav-link:disabled,input.nav-link[readonly]{background-color:transparent;opacity:1} +.sites-card .dropdown-menu{min-width:320px} +.nav-pills.sites-nav .nav-link{border:1px solid rgba(136,136,136,.1);} +.nav-pills.sites-nav .nav-link.active,.nav-pills.sites-nav .show>.nav-link{background-color:#07C160;box-shadow:0px 5px 20px -3px rgba(241,64,75,.6)} +.sites-li{position:relative} +.sites-li .sites-setting{position:absolute;top:9px;right:5px;opacity:0;transition:opacity .3s;} +.sites-li.admin-li .sites-setting{top:15px} +.tab-pane .sites-li .sites-setting{top:6px} +.sites-li:hover .sites-setting{opacity:1} +.sites-li .active:not(.d-none)+.change-terms-name+.sites-setting a{color:#fff;} +.notifications-list li{position:relative} +.notifications-list li .notifi-time{position:absolute;top:-18px;left:0} +.drag-add-bookmarks{border:2px dashed rgb(235, 34, 34);opacity:.8} +#add-new-sites button.close{text-shadow:none} +#add-new-sites button.close:focus{outline:none} +@media screen and (min-width:768px){.sites-card .dropdown-menu{min-width:450px} +.admin-sites .overflow-auto{max-height:750px} +} +/* --- tougao --- */ +.show_ico{float:left;width:64px;height:64px;line-height:60px;padding:2px;cursor:pointer} +.show_ico .remove-ico{position:absolute;cursor:pointer;top:1px;right:1px;font-size:20px;z-index:1;display:block;width:24px;height:24px;line-height:24px;background:rgba(34,34,34,.5);border-radius:50%} +.wechat .show_ico .remove-ico{font-size:25px;width:29px;height:29px;line-height:29px} +.show_ico .remove-ico:hover{color:#07C160} +.upload_img{position:relative;display:table;color:white;background-color:rgba(136,136,136,.1);overflow:hidden;cursor:pointer;text-align:center;vertical-align:center;border-radius:5px;transition:.3s} +.wechat .show_ico{width:138px;height:138px;line-height:128px} +.upload_img:not(.disabled):hover{background:#222324} +.upload_img input{position:absolute;cursor:pointer;opacity:0;left:0;right:0;top:0;bottom:0} +.postform{margin:5px} +.tougao-form img{max-width:100%} +#alert_placeholder .alert{display:inline-block} +#tougaocategorg{padding-left:8px} +.slider_menu[sliderTab]{position:relative;display:inline-block} +.slider_menu[sliderTab]>.menu{position:relative;white-space:nowrap;margin:0;text-align:center;display:inline-block;background:rgba(0,0,0,.1);border-radius:100px;padding:5px} +.slider_menu[sliderTab] .anchor{background:#07C160;border-radius:100px;width:60px;height:40px;opacity:0;-webkit-transition:.25s;transition:.25s} +.slider_menu[sliderTab]>.menu>li{display:inline-block;cursor:pointer} +.slider_menu[sliderTab]>.menu>li{display:inline-block;cursor:pointer} +.slider_menu[sliderTab]>.menu>li.next,.slider_menu[sliderTab]>.menu>li.prev,.slider_menu[sliderTab]>.menu>li>.sub-menu{display:none} +.slider_menu[sliderTab]>.menu>li>a{display:block;text-decoration:none;position:relative;color:#888;height:40px;line-height:40px;text-align:center;font-size:14px;padding:0 16px;-webkit-transition:.25s;transition:.25s} +.slider_menu[sliderTab]>.menu>li>a:hover{color:#fff} +.slider_menu[sliderTab]>.menu>li>a.active{color:#fff} +.slider_menu[sliderTab] ul:hover li:not(.hover) a.active{color:#888!important;/*background:#fff;border-radius:100px*/} +.slider_menu.mini_tab[sliderTab]>.menu>li>a{height:28px;line-height:28px;padding:0 12px} +.slider_menu.mini_tab[sliderTab]>.menu{padding:3px} +.nav-pills.menu .nav-link.active,.nav-pills.menu .show>.nav-link{background:none} +.checkbox-custom{position:relative;padding:0 15px 0 25px;margin-bottom:7px;margin-top:0;display:inline-block} +.checkbox-custom input[type="checkbox"]{opacity:0;position:absolute;cursor:pointer;z-index:2;margin:-6px 0 0 0;top:50%;left:3px} +.checkbox-custom span:before{content:'';position:absolute;top:50%;left:0;margin-top:-9px;width:19px;height:18px;display:inline-block;border-radius:2px;border:1px solid rgba(132, 132, 132, 0.5)} +.checkbox-custom input[type="checkbox"]:checked +span:after{content:"";position:absolute;display:inline-block;top:50%;left:5px;margin-top:-5px;font-size:11px;line-height:1;width:10px;height:10px;border-radius:2px;background:#ff4242} +/*提示*/ +.io-bomb,.io-bomb-overlay{width:100%;height:100%;top:0;left:0} +.io-bomb{position:fixed;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;pointer-events:none} +.io-bomb{z-index:1099} +.io-bomb.tips-success i{color:#28a745} +.io-bomb.tips-error i{color:#ffc107} +.io-bomb-overlay{position:absolute;background:rgba(10, 10, 10, .4);opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-duration:0.3s;transition-duration:0.3s} +.io-bomb-open .io-bomb-overlay{opacity:1;pointer-events:auto} +@supports (-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px)){ +.io-bomb-open .io-bomb-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}} +.io-bomb-body{position:relative;opacity:0;max-width:340px;width:100%} +.io-bomb-open .io-bomb-body{pointer-events:auto} +.io-bomb-xl .io-bomb-body{width:100%;max-width:790px} +.io-bomb-lg .io-bomb-body{width:100%;max-width:790px} +.io-bomb-md .io-bomb-body{max-width:340px;width:100%} +.io-bomb-sm .io-bomb-body{max-width:300px;width:auto} +.io-bomb-reward .io-bomb-body{max-width:270px} +.io-bomb-content{position:relative;padding:1.25rem;overflow:hidden;border-radius:6px;box-shadow:0 10px 50px -5px rgba(6, 39, 67, 0.12);transition:.3s} +.io-bomb-xl .io-bomb-content{padding:0;border:0} +.io-bomb-lg .io-bomb-content{padding:0;border:0;border-radius:0} +.io-bomb-sm .io-bomb-content{padding:2rem;padding:1.75rem 2.5rem} +.io-bomb-nopd .io-bomb-content{padding:0;border:0} +@media (max-width:991.98px){ +.io-bomb-xl .io-bomb-body{height:100%} +.io-bomb-xl .io-bomb-body .io-bomb-content{box-shadow:none;border-radius:0;height:100%} +} +.io-bomb-content .text-success i{color:#28a745} +.io-bomb-content .text-danger i{color:#ffc107} +.btn-close-bomb i{cursor:pointer;font-size:1.75rem;color:#fff;transition:.3s} +.btn-close-bomb i:hover{color:#07C160} +.io-bomb.io-bomb-open .io-bomb-body,.io-bomb.io-bomb-close .io-bomb-body{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards} +.io-bomb.io-bomb-open .io-bomb-body{-webkit-animation-name:tips-open;animation-name:tips-open} +.io-bomb.io-bomb-close .io-bomb-body{-webkit-animation-name:tips-close;animation-name:tips-close} +@-webkit-keyframes tips-open{ +0%{opacity:0;-webkit-transform:translate3d(0, 50px, 0)} +100%{opacity:1;-webkit-transform:translate3d(0, 0, 0)}} +@keyframes tips-open{ +0%{opacity:0;-webkit-transform:translate3d(0, 50px, 0);transform:translate3d(0, 50px, 0)} +100%{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}} +@-webkit-keyframes tips-close{ +0%{opacity:1;-webkit-transform:translate3d(0, 0, 0)} +100%{opacity:0;-webkit-transform:translate3d(0, 50px, 0)}} +@keyframes tips-close{ +0%{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)} +100%{opacity:0;-webkit-transform:translate3d(0, 50px, 0);transform:translate3d(0, 50px, 0)}} +/*-------------------------------------------------------------- +## sidebar style +--------------------------------------------------------------*/ +.sidebar .card-header{position:relative;padding:.75rem 1.25rem;margin-bottom:0;background-color:transparent;border-bottom:none} +.sidebar .card-header:after{content:"";background-color:#07C160;left:1.25rem;width:50px;height:2px;bottom:-2px;position:absolute;-webkit-transition:0.5s;-moz-transition:0.5s;-ms-transition:0.5s;-o-transition:0.5s;transition:0.5s} +.sidebar .card:hover .card-header:after{width:80px} +.sidebar .tags a{display:inline-block;margin:4px 2px;font-size:12px;background:rgba(148,149,158,.15);border-radius:5px} +.sidebar .card .searchform{flex:1 1 auto;padding:1.25rem} +.sidebar .card .searchform>div{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%} +.sidebar .card .searchform input[type='text']{position:relative;display:block;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;margin-bottom:0;font-size:.875rem;font-weight:400;line-height:1.5;color:#6d6e74;background-color:#f1f3f6;background-clip:padding-box;border:1px solid #f1f3f6;border-radius:.25rem;transition:border-color .3s,background-color .3s;border-top-right-radius:0;border-bottom-right-radius:0} +.sidebar .card .searchform input[type="submit"]{margin-left:-1px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem 1.25rem;margin-bottom:0;font-size:.875rem;font-weight:400;line-height:1.5;color:#fff;text-align:center;white-space:nowrap;border:1px solid #07C160;background-color:#07C160;border-radius:.25rem;border-top-left-radius:0;border-bottom-left-radius:0;transition:.3s} +.sidebar .card .searchform input[type="submit"]:hover{border:1px solid #14171b;background-color:#14171b} +.sidebar .url-card .card{background:#f1f3f6;box-shadow:unset;border:1px solid #f1f3f6;transition:.3s} +.sidebar .url-card .card:hover{transform:unset;box-shadow:unset;border:1px solid #07C160!important} +.sidebar .url-card.down a:after,.sidebar .url-card.wechat a:after{font-size:27px;bottom:-6px;right:5px} +.widget_author_meta{position:relative} +.widget-author-avatar{position:absolute;left:50%;top:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)} +.widget-author-meta{margin-top:2rem} +.widget-author-cover{position:relative;border-radius:3px 3px 0 0} +.widget-author-cover+.widget-author-meta{margin-top:2rem} +.widget-author-cover .widget-author-avatar{top:auto;bottom:0;-webkit-transform:translate(-50%,50%);-ms-transform:translate(-50%,50%);transform:translate(-50%,50%)} +.flex-avatar{position:relative;line-height:1;white-space:nowrap;font-weight:bold;border-radius:100%;padding:5px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0;background:#fff;transition:background-color .3s} +.flex-avatar img{border-radius:inherit} +.badge-outline-primary{color:#07C160;border:#07C160 solid 1px} +.list-post>div{display:-ms-flexbox;display:flex} +.list-post>div>.list-item{-ms-flex-item-align:stretch;align-self:stretch;-ms-flex:1 1 auto;flex:1 1 auto} +.list{padding-left:0;padding-right:0} +.list-item{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word} +.list-content{padding:1rem 0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-pack:center;justify-content:center} +.list-item.block .list-content{padding:1rem} +.list-body{-ms-flex:1 1 auto;flex:1 1 auto} +.list-footer{margin-top:0.5rem} +.list-title{font-size:0.875rem;line-height:1.4285714286;display:block;color:inherit} +.list-title .badge{position:relative;top:-2px;font-size:.75rem;margin:0 .25rem 0 0} +.list-bulletin .list-item{position:relative;padding:0 10px 10px 20px;border-left:2px solid rgba(136,136,136,.2)} +.list-bulletin .list-item>i{font-size:12px;top:8px;color:#888;position:absolute;padding:5px;left:-12px;background:#fff;transition:background-color .3s} +.bulletin-card{transform:translateY(0);transition:.3s} +.bulletin-card:hover{transform:translateY(-6px)} +@media (max-width:767.98px){.list-title{font-size:0.9375rem!important} +.list-title .badge{padding:.2em;margin:0 .25rem 0 0} +} +.list-grid .list-item{-ms-flex-direction:row;flex-direction:row} +.list-grid.list-grid-padding .list-item{padding:1.25rem} +.list-grid.list-grid-padding .list-content{padding:0 0 0 1rem} +.list-grid .list-item .media:first-child{border-radius:inherit} +.list-grid .list-item .media:last-child{border-radius:inherit} +.list-grid .flex-row-reverse .media:first-child{border-radius:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit} +@media (max-width:767.98px){.list-grid.list-grid-padding .list-item{padding:.675rem .75rem;margin-bottom:.75rem} +.list-grid.list-grid-padding .list-item .media-3x2:after{padding-top:75%} +.list-grid.list-grid-padding .list-content{padding:0 0 0 .75rem} +} +/*-------------------------------------------------------------- +## grey style +--------------------------------------------------------------*/ +.io-grey-mode .sidebar-logo{background:#fff} +.io-grey-mode .page-header{box-shadow:none} +.io-grey-mode .sidebar-nav-inner{background:#fff} +.io-grey-mode .border-color{border-color:transparent!important} +.io-grey-mode .sidebar-nav .flex-bottom a,.io-grey-mode .sidebar-menu-inner a{color:#515C6B} +.io-grey-mode .sidebar-item ul{background:none} +.io-grey-mode .sidebar-show,.io-grey-mode .sidebar-item>a:hover{color:#07C160;background:none} +.io-grey-mode .sidebar-popup div{background:#dadbdd} +.io-grey-mode .sidebar-popup::before{border-color:transparent #dadbdd transparent} +.io-grey-mode .sidebar-nav,.io-grey-mode .sidebar-popup.sidebar-menu-inner ul li{background:#f0f2f4} +.io-grey-mode .sidebar-item li>a:hover,.io-grey-mode .sidebar-popup>div>ul>li>a:hover{color:#07C160;background:none} + +/*-------------------------------------------------------------- +## black style +--------------------------------------------------------------*/ +.io-black-mode{background-color:#1b1d1f} +.io-black-mode .logo-light{display:none!important} +.io-black-mode .logo-dark{display:initial!important} +.io-black-mode .btn-move{color:#989da1!important} +.io-black-mode #add-new-sites button.close{color:#989da1} +.io-black-mode .bg-light,.io-black-mode .manage-sites .sites-card,.io-black-mode .admin-sites .sites-card{background:#363738!important} +.io-black-mode .border-light{border-color:#363738!important} +.io-black-mode .bg-white{background:#2c2e2f!important} +.io-black-mode .sidebar-nav .top-menu .sub-menu{background-color:rgba(3,4,6,.1)} +.io-black-mode,.io-black-mode a:not(.btn),.io-black-mode .button>a{color:#c6c9cf} +.io-black-mode p,.io-black-mode input.nav-link{color:#bbb} +.io-black-mode .ajax-loading{background:rgba(27,29,31,.7)!important} +.io-black-mode .card,.io-black-mode .block{box-shadow:none} +.io-black-mode .tpwthwidt .text_235ileA,.io-black-mode .tpwthwidt .title_2Cea4o9{color:#bbb} +.io-black-mode .text-gray,.io-black-mode .comment-body{color:#888} +.io-black-mode .down-content .card-header-img,.io-black-mode .modal-content,.io-black-mode .flex-avatar,.io-black-mode .card,.io-black-mode .near-navigation,.io-black-mode .single-top-area,.io-black-mode .new-news,.io-black-mode .new-news ul li i,.io-black-mode .list-bulletin .list-item>i,.io-black-mode #search-text,.io-black-mode .search-type input:checked+label,.io-black-mode .search-type input:hover+label{background-color:#2c2e2f} +.io-black-mode .admin-sites .card{background-color:#363738} +.io-black-mode .s-type-list{background-color:#1f2123;box-shadow:0 9px 20px rgba(0,0,0,.3)} +.io-black-mode #search .search-select{background-color:#2c2e2f;border-color:#2c2e2f} +.io-black-mode .s-type-list:before{border-bottom-color:#1f2123} +.io-black-mode .url-card .url-body:hover,.io-black-mode .card-app.default:hover .media{box-shadow:0 26px 40px -24px rgba(2,4,6,.3);-webkit-box-shadow:0 26px 40px -24px rgba(2,4,6,.3);-moz-box-shadow:0 26px 40px -24px rgba(2,4,6,.3)} +.io-black-mode .page-header{background:#2c2e2f;box-shadow:0 0 25px 5px rgba(10,10,10,.25)} +.io-black-mode textarea,.io-black-mode .form-control,.io-black-mode .sidebar .card .searchform input[type='text']{color:#aaa;background:#363738;border:1px solid #363738} +.io-black-mode .sidebar .url-card .card{background:#363738;border-color:#363738} +.io-black-mode .site-body .btn{color:#ddd} +.io-black-mode .siteico{background:#222} +.io-black-mode .search-modal #search .search-select,.io-black-mode .search-modal .search-type input:checked+label,.io-black-mode .search-modal .search-type input:hover+label{background-color:#363738;border:none} +.io-black-mode .posts-nav{color:rgba(221,221,221,.2)} +.io-black-mode .input-group-text{color:#ddd;background:#26282a;border-color:#26282a} +.io-black-mode #footer-tools .btn{color:#aaa;background:#363738} +.io-black-mode #footer-tools .btn:hover{color:#fff} +.io-black-mode a:not(.btn):hover{color:#fff} +.io-black-mode .down-content .statement:before{background:#1b1d1f;box-shadow:0 10px #1b1d1f,0 20px #1b1d1f} +.io-black-mode .down-content .statement{border-color:#1b1d1f;background:rgba(0,0,0,.1)} +.io-black-mode .navbar-collapse ul li ul,.io-black-mode .dropdown-menu{background:#3D4044;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)} +.io-black-mode .down-content .card-signup{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)} +.io-black-mode .btn-light{color:#b2b8be!important;background-color:#363738!important;border-color:transparent!important} +.io-black-mode .btn-light:hover{background-color:#313234!important} +.io-black-mode .tool-actions .btn-light{color:#b2b8be!important;background-color:rgba(24,25,26,.5)!important;border-color:transparent!important} +.io-black-mode .tool-actions .btn-light:hover{background-color:rgba(14,15,16,.8)!important} +.io-black-mode .background-fx{opacity:.3} +.io-black-mode .background-fx .shape-11{opacity:.5} +.io-black-mode .background-fx .shape-10{opacity:.1} +.io-black-mode .ioch-code-highlight{background-color:#151619;border:0} +.io-black-mode :not(pre) > code[class*="language-"],.io-black-mode pre[class*="language-"]{background-color:rgba(0,0,0,.15)} +.io-black-mode .ioch-code-highlight .io-btn-copy{border:1px solid rgba(255,255,255,.5)} +/*-------------------------------------------------------------- +## webkit scrollbar style +--------------------------------------------------------------*/ +/*@media only screen and (min-device-width:768px){ +::-webkit-scrollbar-thumb{background-color:rgba(130,130,130,.1);-webkit-border-radius:4px;border-radius:4px} +::-webkit-scrollbar-thumb:hover{background-color:#07C160;-webkit-border-radius:4px;border-radius:4px} +::-webkit-scrollbar{width:5px;height:5px} +::-webkit-scrollbar-thumb:active{background-color:#07C160;-webkit-border-radius:4px;border-radius:4px} +::-webkit-scrollbar-corner{background:rgba(0,0,0,0);border-radius:0 0 8px 0} +::-webkit-scrollbar-button{background-color:rgba(0,0,0,0);height:2px;width:2px} +}*/ diff --git a/templates/qnloft/assets/fontawesome-4.7.0/HELP-US-OUT.txt b/templates/qnloft/assets/fontawesome-4.7.0/HELP-US-OUT.txt new file mode 100644 index 0000000..83d083d --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/HELP-US-OUT.txt @@ -0,0 +1,7 @@ +I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, +Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, +comprehensive icon sets or copy and paste your own. + +Please. Check it out. + +-Dave Gandy diff --git a/templates/qnloft/assets/fontawesome-4.7.0/css/font-awesome.css b/templates/qnloft/assets/fontawesome-4.7.0/css/font-awesome.css new file mode 100644 index 0000000..ee906a8 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/css/font-awesome.css @@ -0,0 +1,2337 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/css/font-awesome.min.css b/templates/qnloft/assets/fontawesome-4.7.0/css/font-awesome.min.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/fonts/FontAwesome.otf b/templates/qnloft/assets/fontawesome-4.7.0/fonts/FontAwesome.otf new file mode 100644 index 0000000..401ec0f Binary files /dev/null and b/templates/qnloft/assets/fontawesome-4.7.0/fonts/FontAwesome.otf differ diff --git a/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.eot b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.eot differ diff --git a/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.svg b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.ttf b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.ttf differ diff --git a/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.woff b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.woff differ diff --git a/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.woff2 b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/templates/qnloft/assets/fontawesome-4.7.0/fonts/fontawesome-webfont.woff2 differ diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/animated.less b/templates/qnloft/assets/fontawesome-4.7.0/less/animated.less new file mode 100644 index 0000000..66ad52a --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/animated.less @@ -0,0 +1,34 @@ +// Animated Icons +// -------------------------- + +.@{fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.@{fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/bordered-pulled.less b/templates/qnloft/assets/fontawesome-4.7.0/less/bordered-pulled.less new file mode 100644 index 0000000..f1c8ad7 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/bordered-pulled.less @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.@{fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em @fa-border-color; + border-radius: .1em; +} + +.@{fa-css-prefix}-pull-left { float: left; } +.@{fa-css-prefix}-pull-right { float: right; } + +.@{fa-css-prefix} { + &.@{fa-css-prefix}-pull-left { margin-right: .3em; } + &.@{fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.@{fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/core.less b/templates/qnloft/assets/fontawesome-4.7.0/less/core.less new file mode 100644 index 0000000..c577ac8 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/core.less @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.@{fa-css-prefix} { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/fixed-width.less b/templates/qnloft/assets/fontawesome-4.7.0/less/fixed-width.less new file mode 100644 index 0000000..110289f --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/fixed-width.less @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.@{fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/font-awesome.less b/templates/qnloft/assets/fontawesome-4.7.0/less/font-awesome.less new file mode 100644 index 0000000..c3677de --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/font-awesome.less @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables.less"; +@import "mixins.less"; +@import "path.less"; +@import "core.less"; +@import "larger.less"; +@import "fixed-width.less"; +@import "list.less"; +@import "bordered-pulled.less"; +@import "animated.less"; +@import "rotated-flipped.less"; +@import "stacked.less"; +@import "icons.less"; +@import "screen-reader.less"; diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/icons.less b/templates/qnloft/assets/fontawesome-4.7.0/less/icons.less new file mode 100644 index 0000000..159d600 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/icons.less @@ -0,0 +1,789 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.@{fa-css-prefix}-glass:before { content: @fa-var-glass; } +.@{fa-css-prefix}-music:before { content: @fa-var-music; } +.@{fa-css-prefix}-search:before { content: @fa-var-search; } +.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; } +.@{fa-css-prefix}-heart:before { content: @fa-var-heart; } +.@{fa-css-prefix}-star:before { content: @fa-var-star; } +.@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; } +.@{fa-css-prefix}-user:before { content: @fa-var-user; } +.@{fa-css-prefix}-film:before { content: @fa-var-film; } +.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; } +.@{fa-css-prefix}-th:before { content: @fa-var-th; } +.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; } +.@{fa-css-prefix}-check:before { content: @fa-var-check; } +.@{fa-css-prefix}-remove:before, +.@{fa-css-prefix}-close:before, +.@{fa-css-prefix}-times:before { content: @fa-var-times; } +.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; } +.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; } +.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; } +.@{fa-css-prefix}-signal:before { content: @fa-var-signal; } +.@{fa-css-prefix}-gear:before, +.@{fa-css-prefix}-cog:before { content: @fa-var-cog; } +.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; } +.@{fa-css-prefix}-home:before { content: @fa-var-home; } +.@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; } +.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; } +.@{fa-css-prefix}-road:before { content: @fa-var-road; } +.@{fa-css-prefix}-download:before { content: @fa-var-download; } +.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; } +.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; } +.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; } +.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; } +.@{fa-css-prefix}-rotate-right:before, +.@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; } +.@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; } +.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; } +.@{fa-css-prefix}-lock:before { content: @fa-var-lock; } +.@{fa-css-prefix}-flag:before { content: @fa-var-flag; } +.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; } +.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; } +.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; } +.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; } +.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; } +.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; } +.@{fa-css-prefix}-tag:before { content: @fa-var-tag; } +.@{fa-css-prefix}-tags:before { content: @fa-var-tags; } +.@{fa-css-prefix}-book:before { content: @fa-var-book; } +.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; } +.@{fa-css-prefix}-print:before { content: @fa-var-print; } +.@{fa-css-prefix}-camera:before { content: @fa-var-camera; } +.@{fa-css-prefix}-font:before { content: @fa-var-font; } +.@{fa-css-prefix}-bold:before { content: @fa-var-bold; } +.@{fa-css-prefix}-italic:before { content: @fa-var-italic; } +.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; } +.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; } +.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; } +.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; } +.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; } +.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; } +.@{fa-css-prefix}-list:before { content: @fa-var-list; } +.@{fa-css-prefix}-dedent:before, +.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; } +.@{fa-css-prefix}-indent:before { content: @fa-var-indent; } +.@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; } +.@{fa-css-prefix}-photo:before, +.@{fa-css-prefix}-image:before, +.@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; } +.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; } +.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; } +.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; } +.@{fa-css-prefix}-tint:before { content: @fa-var-tint; } +.@{fa-css-prefix}-edit:before, +.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; } +.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; } +.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; } +.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; } +.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; } +.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; } +.@{fa-css-prefix}-backward:before { content: @fa-var-backward; } +.@{fa-css-prefix}-play:before { content: @fa-var-play; } +.@{fa-css-prefix}-pause:before { content: @fa-var-pause; } +.@{fa-css-prefix}-stop:before { content: @fa-var-stop; } +.@{fa-css-prefix}-forward:before { content: @fa-var-forward; } +.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; } +.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; } +.@{fa-css-prefix}-eject:before { content: @fa-var-eject; } +.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; } +.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; } +.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; } +.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; } +.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; } +.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; } +.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; } +.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; } +.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; } +.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; } +.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; } +.@{fa-css-prefix}-ban:before { content: @fa-var-ban; } +.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; } +.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; } +.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; } +.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; } +.@{fa-css-prefix}-mail-forward:before, +.@{fa-css-prefix}-share:before { content: @fa-var-share; } +.@{fa-css-prefix}-expand:before { content: @fa-var-expand; } +.@{fa-css-prefix}-compress:before { content: @fa-var-compress; } +.@{fa-css-prefix}-plus:before { content: @fa-var-plus; } +.@{fa-css-prefix}-minus:before { content: @fa-var-minus; } +.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; } +.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; } +.@{fa-css-prefix}-gift:before { content: @fa-var-gift; } +.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; } +.@{fa-css-prefix}-fire:before { content: @fa-var-fire; } +.@{fa-css-prefix}-eye:before { content: @fa-var-eye; } +.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; } +.@{fa-css-prefix}-warning:before, +.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; } +.@{fa-css-prefix}-plane:before { content: @fa-var-plane; } +.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; } +.@{fa-css-prefix}-random:before { content: @fa-var-random; } +.@{fa-css-prefix}-comment:before { content: @fa-var-comment; } +.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; } +.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; } +.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; } +.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; } +.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; } +.@{fa-css-prefix}-folder:before { content: @fa-var-folder; } +.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; } +.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; } +.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; } +.@{fa-css-prefix}-bar-chart-o:before, +.@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; } +.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; } +.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; } +.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; } +.@{fa-css-prefix}-key:before { content: @fa-var-key; } +.@{fa-css-prefix}-gears:before, +.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; } +.@{fa-css-prefix}-comments:before { content: @fa-var-comments; } +.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; } +.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; } +.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; } +.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; } +.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; } +.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; } +.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; } +.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; } +.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; } +.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; } +.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; } +.@{fa-css-prefix}-upload:before { content: @fa-var-upload; } +.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; } +.@{fa-css-prefix}-phone:before { content: @fa-var-phone; } +.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; } +.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; } +.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; } +.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; } +.@{fa-css-prefix}-facebook-f:before, +.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; } +.@{fa-css-prefix}-github:before { content: @fa-var-github; } +.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } +.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } +.@{fa-css-prefix}-feed:before, +.@{fa-css-prefix}-rss:before { content: @fa-var-rss; } +.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; } +.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } +.@{fa-css-prefix}-bell:before { content: @fa-var-bell; } +.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; } +.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; } +.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; } +.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; } +.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; } +.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; } +.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; } +.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; } +.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; } +.@{fa-css-prefix}-globe:before { content: @fa-var-globe; } +.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; } +.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; } +.@{fa-css-prefix}-filter:before { content: @fa-var-filter; } +.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; } +.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; } +.@{fa-css-prefix}-group:before, +.@{fa-css-prefix}-users:before { content: @fa-var-users; } +.@{fa-css-prefix}-chain:before, +.@{fa-css-prefix}-link:before { content: @fa-var-link; } +.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; } +.@{fa-css-prefix}-flask:before { content: @fa-var-flask; } +.@{fa-css-prefix}-cut:before, +.@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; } +.@{fa-css-prefix}-copy:before, +.@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; } +.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; } +.@{fa-css-prefix}-save:before, +.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; } +.@{fa-css-prefix}-square:before { content: @fa-var-square; } +.@{fa-css-prefix}-navicon:before, +.@{fa-css-prefix}-reorder:before, +.@{fa-css-prefix}-bars:before { content: @fa-var-bars; } +.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; } +.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; } +.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; } +.@{fa-css-prefix}-underline:before { content: @fa-var-underline; } +.@{fa-css-prefix}-table:before { content: @fa-var-table; } +.@{fa-css-prefix}-magic:before { content: @fa-var-magic; } +.@{fa-css-prefix}-truck:before { content: @fa-var-truck; } +.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; } +.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; } +.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; } +.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; } +.@{fa-css-prefix}-money:before { content: @fa-var-money; } +.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; } +.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; } +.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; } +.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; } +.@{fa-css-prefix}-columns:before { content: @fa-var-columns; } +.@{fa-css-prefix}-unsorted:before, +.@{fa-css-prefix}-sort:before { content: @fa-var-sort; } +.@{fa-css-prefix}-sort-down:before, +.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; } +.@{fa-css-prefix}-sort-up:before, +.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; } +.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; } +.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; } +.@{fa-css-prefix}-rotate-left:before, +.@{fa-css-prefix}-undo:before { content: @fa-var-undo; } +.@{fa-css-prefix}-legal:before, +.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; } +.@{fa-css-prefix}-dashboard:before, +.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; } +.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; } +.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; } +.@{fa-css-prefix}-flash:before, +.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; } +.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; } +.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; } +.@{fa-css-prefix}-paste:before, +.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; } +.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; } +.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; } +.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; } +.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; } +.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; } +.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; } +.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; } +.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; } +.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; } +.@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; } +.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; } +.@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; } +.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; } +.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; } +.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; } +.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; } +.@{fa-css-prefix}-beer:before { content: @fa-var-beer; } +.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; } +.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; } +.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; } +.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; } +.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; } +.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; } +.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; } +.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; } +.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; } +.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; } +.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; } +.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; } +.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; } +.@{fa-css-prefix}-mobile-phone:before, +.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; } +.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; } +.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; } +.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; } +.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; } +.@{fa-css-prefix}-circle:before { content: @fa-var-circle; } +.@{fa-css-prefix}-mail-reply:before, +.@{fa-css-prefix}-reply:before { content: @fa-var-reply; } +.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; } +.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; } +.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; } +.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; } +.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; } +.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; } +.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; } +.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; } +.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; } +.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; } +.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; } +.@{fa-css-prefix}-code:before { content: @fa-var-code; } +.@{fa-css-prefix}-mail-reply-all:before, +.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; } +.@{fa-css-prefix}-star-half-empty:before, +.@{fa-css-prefix}-star-half-full:before, +.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; } +.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; } +.@{fa-css-prefix}-crop:before { content: @fa-var-crop; } +.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; } +.@{fa-css-prefix}-unlink:before, +.@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; } +.@{fa-css-prefix}-question:before { content: @fa-var-question; } +.@{fa-css-prefix}-info:before { content: @fa-var-info; } +.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; } +.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; } +.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; } +.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; } +.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; } +.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; } +.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; } +.@{fa-css-prefix}-shield:before { content: @fa-var-shield; } +.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; } +.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; } +.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; } +.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; } +.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; } +.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; } +.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; } +.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; } +.@{fa-css-prefix}-html5:before { content: @fa-var-html5; } +.@{fa-css-prefix}-css3:before { content: @fa-var-css3; } +.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; } +.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; } +.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; } +.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; } +.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; } +.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; } +.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; } +.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; } +.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; } +.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; } +.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; } +.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; } +.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; } +.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; } +.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; } +.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; } +.@{fa-css-prefix}-compass:before { content: @fa-var-compass; } +.@{fa-css-prefix}-toggle-down:before, +.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; } +.@{fa-css-prefix}-toggle-up:before, +.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; } +.@{fa-css-prefix}-toggle-right:before, +.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; } +.@{fa-css-prefix}-euro:before, +.@{fa-css-prefix}-eur:before { content: @fa-var-eur; } +.@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; } +.@{fa-css-prefix}-dollar:before, +.@{fa-css-prefix}-usd:before { content: @fa-var-usd; } +.@{fa-css-prefix}-rupee:before, +.@{fa-css-prefix}-inr:before { content: @fa-var-inr; } +.@{fa-css-prefix}-cny:before, +.@{fa-css-prefix}-rmb:before, +.@{fa-css-prefix}-yen:before, +.@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; } +.@{fa-css-prefix}-ruble:before, +.@{fa-css-prefix}-rouble:before, +.@{fa-css-prefix}-rub:before { content: @fa-var-rub; } +.@{fa-css-prefix}-won:before, +.@{fa-css-prefix}-krw:before { content: @fa-var-krw; } +.@{fa-css-prefix}-bitcoin:before, +.@{fa-css-prefix}-btc:before { content: @fa-var-btc; } +.@{fa-css-prefix}-file:before { content: @fa-var-file; } +.@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; } +.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; } +.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; } +.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; } +.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; } +.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; } +.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; } +.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; } +.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; } +.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; } +.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; } +.@{fa-css-prefix}-xing:before { content: @fa-var-xing; } +.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; } +.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; } +.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; } +.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; } +.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; } +.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; } +.@{fa-css-prefix}-adn:before { content: @fa-var-adn; } +.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; } +.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; } +.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; } +.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; } +.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; } +.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; } +.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; } +.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; } +.@{fa-css-prefix}-apple:before { content: @fa-var-apple; } +.@{fa-css-prefix}-windows:before { content: @fa-var-windows; } +.@{fa-css-prefix}-android:before { content: @fa-var-android; } +.@{fa-css-prefix}-linux:before { content: @fa-var-linux; } +.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; } +.@{fa-css-prefix}-skype:before { content: @fa-var-skype; } +.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; } +.@{fa-css-prefix}-trello:before { content: @fa-var-trello; } +.@{fa-css-prefix}-female:before { content: @fa-var-female; } +.@{fa-css-prefix}-male:before { content: @fa-var-male; } +.@{fa-css-prefix}-gittip:before, +.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; } +.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; } +.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; } +.@{fa-css-prefix}-archive:before { content: @fa-var-archive; } +.@{fa-css-prefix}-bug:before { content: @fa-var-bug; } +.@{fa-css-prefix}-vk:before { content: @fa-var-vk; } +.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; } +.@{fa-css-prefix}-renren:before { content: @fa-var-renren; } +.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; } +.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; } +.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; } +.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; } +.@{fa-css-prefix}-toggle-left:before, +.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; } +.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; } +.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; } +.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; } +.@{fa-css-prefix}-turkish-lira:before, +.@{fa-css-prefix}-try:before { content: @fa-var-try; } +.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; } +.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; } +.@{fa-css-prefix}-slack:before { content: @fa-var-slack; } +.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; } +.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; } +.@{fa-css-prefix}-openid:before { content: @fa-var-openid; } +.@{fa-css-prefix}-institution:before, +.@{fa-css-prefix}-bank:before, +.@{fa-css-prefix}-university:before { content: @fa-var-university; } +.@{fa-css-prefix}-mortar-board:before, +.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; } +.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; } +.@{fa-css-prefix}-google:before { content: @fa-var-google; } +.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; } +.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; } +.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; } +.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; } +.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; } +.@{fa-css-prefix}-digg:before { content: @fa-var-digg; } +.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; } +.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; } +.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; } +.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; } +.@{fa-css-prefix}-language:before { content: @fa-var-language; } +.@{fa-css-prefix}-fax:before { content: @fa-var-fax; } +.@{fa-css-prefix}-building:before { content: @fa-var-building; } +.@{fa-css-prefix}-child:before { content: @fa-var-child; } +.@{fa-css-prefix}-paw:before { content: @fa-var-paw; } +.@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; } +.@{fa-css-prefix}-cube:before { content: @fa-var-cube; } +.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; } +.@{fa-css-prefix}-behance:before { content: @fa-var-behance; } +.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; } +.@{fa-css-prefix}-steam:before { content: @fa-var-steam; } +.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; } +.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; } +.@{fa-css-prefix}-automobile:before, +.@{fa-css-prefix}-car:before { content: @fa-var-car; } +.@{fa-css-prefix}-cab:before, +.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; } +.@{fa-css-prefix}-tree:before { content: @fa-var-tree; } +.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; } +.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; } +.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; } +.@{fa-css-prefix}-database:before { content: @fa-var-database; } +.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; } +.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; } +.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; } +.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; } +.@{fa-css-prefix}-file-photo-o:before, +.@{fa-css-prefix}-file-picture-o:before, +.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; } +.@{fa-css-prefix}-file-zip-o:before, +.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; } +.@{fa-css-prefix}-file-sound-o:before, +.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; } +.@{fa-css-prefix}-file-movie-o:before, +.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; } +.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; } +.@{fa-css-prefix}-vine:before { content: @fa-var-vine; } +.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; } +.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; } +.@{fa-css-prefix}-life-bouy:before, +.@{fa-css-prefix}-life-buoy:before, +.@{fa-css-prefix}-life-saver:before, +.@{fa-css-prefix}-support:before, +.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; } +.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; } +.@{fa-css-prefix}-ra:before, +.@{fa-css-prefix}-resistance:before, +.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; } +.@{fa-css-prefix}-ge:before, +.@{fa-css-prefix}-empire:before { content: @fa-var-empire; } +.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; } +.@{fa-css-prefix}-git:before { content: @fa-var-git; } +.@{fa-css-prefix}-y-combinator-square:before, +.@{fa-css-prefix}-yc-square:before, +.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; } +.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; } +.@{fa-css-prefix}-qq:before { content: @fa-var-qq; } +.@{fa-css-prefix}-wechat:before, +.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; } +.@{fa-css-prefix}-send:before, +.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; } +.@{fa-css-prefix}-send-o:before, +.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; } +.@{fa-css-prefix}-history:before { content: @fa-var-history; } +.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; } +.@{fa-css-prefix}-header:before { content: @fa-var-header; } +.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; } +.@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; } +.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; } +.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; } +.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; } +.@{fa-css-prefix}-soccer-ball-o:before, +.@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; } +.@{fa-css-prefix}-tty:before { content: @fa-var-tty; } +.@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; } +.@{fa-css-prefix}-plug:before { content: @fa-var-plug; } +.@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; } +.@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; } +.@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; } +.@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; } +.@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; } +.@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; } +.@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; } +.@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; } +.@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; } +.@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; } +.@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; } +.@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; } +.@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; } +.@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; } +.@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; } +.@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; } +.@{fa-css-prefix}-trash:before { content: @fa-var-trash; } +.@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; } +.@{fa-css-prefix}-at:before { content: @fa-var-at; } +.@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; } +.@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; } +.@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; } +.@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; } +.@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; } +.@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; } +.@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; } +.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; } +.@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; } +.@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; } +.@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; } +.@{fa-css-prefix}-bus:before { content: @fa-var-bus; } +.@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; } +.@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; } +.@{fa-css-prefix}-cc:before { content: @fa-var-cc; } +.@{fa-css-prefix}-shekel:before, +.@{fa-css-prefix}-sheqel:before, +.@{fa-css-prefix}-ils:before { content: @fa-var-ils; } +.@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; } +.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; } +.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; } +.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; } +.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; } +.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; } +.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; } +.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; } +.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; } +.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; } +.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; } +.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; } +.@{fa-css-prefix}-diamond:before { content: @fa-var-diamond; } +.@{fa-css-prefix}-ship:before { content: @fa-var-ship; } +.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; } +.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; } +.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; } +.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; } +.@{fa-css-prefix}-venus:before { content: @fa-var-venus; } +.@{fa-css-prefix}-mars:before { content: @fa-var-mars; } +.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; } +.@{fa-css-prefix}-intersex:before, +.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; } +.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; } +.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; } +.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; } +.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; } +.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; } +.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; } +.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; } +.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; } +.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; } +.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; } +.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; } +.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; } +.@{fa-css-prefix}-server:before { content: @fa-var-server; } +.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; } +.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; } +.@{fa-css-prefix}-hotel:before, +.@{fa-css-prefix}-bed:before { content: @fa-var-bed; } +.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; } +.@{fa-css-prefix}-train:before { content: @fa-var-train; } +.@{fa-css-prefix}-subway:before { content: @fa-var-subway; } +.@{fa-css-prefix}-medium:before { content: @fa-var-medium; } +.@{fa-css-prefix}-yc:before, +.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; } +.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; } +.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; } +.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; } +.@{fa-css-prefix}-battery-4:before, +.@{fa-css-prefix}-battery:before, +.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; } +.@{fa-css-prefix}-battery-3:before, +.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; } +.@{fa-css-prefix}-battery-2:before, +.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; } +.@{fa-css-prefix}-battery-1:before, +.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; } +.@{fa-css-prefix}-battery-0:before, +.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; } +.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; } +.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; } +.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; } +.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; } +.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; } +.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; } +.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; } +.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; } +.@{fa-css-prefix}-clone:before { content: @fa-var-clone; } +.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; } +.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; } +.@{fa-css-prefix}-hourglass-1:before, +.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; } +.@{fa-css-prefix}-hourglass-2:before, +.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; } +.@{fa-css-prefix}-hourglass-3:before, +.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; } +.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; } +.@{fa-css-prefix}-hand-grab-o:before, +.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; } +.@{fa-css-prefix}-hand-stop-o:before, +.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; } +.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; } +.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; } +.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; } +.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; } +.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; } +.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; } +.@{fa-css-prefix}-registered:before { content: @fa-var-registered; } +.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; } +.@{fa-css-prefix}-gg:before { content: @fa-var-gg; } +.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; } +.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; } +.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; } +.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; } +.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; } +.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; } +.@{fa-css-prefix}-safari:before { content: @fa-var-safari; } +.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; } +.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; } +.@{fa-css-prefix}-opera:before { content: @fa-var-opera; } +.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; } +.@{fa-css-prefix}-tv:before, +.@{fa-css-prefix}-television:before { content: @fa-var-television; } +.@{fa-css-prefix}-contao:before { content: @fa-var-contao; } +.@{fa-css-prefix}-500px:before { content: @fa-var-500px; } +.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; } +.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; } +.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; } +.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; } +.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; } +.@{fa-css-prefix}-industry:before { content: @fa-var-industry; } +.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; } +.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; } +.@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; } +.@{fa-css-prefix}-map:before { content: @fa-var-map; } +.@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; } +.@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; } +.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; } +.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; } +.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; } +.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; } +.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; } +.@{fa-css-prefix}-edge:before { content: @fa-var-edge; } +.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; } +.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; } +.@{fa-css-prefix}-modx:before { content: @fa-var-modx; } +.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; } +.@{fa-css-prefix}-usb:before { content: @fa-var-usb; } +.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; } +.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; } +.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; } +.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; } +.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; } +.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; } +.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; } +.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; } +.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; } +.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; } +.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; } +.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; } +.@{fa-css-prefix}-percent:before { content: @fa-var-percent; } +.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; } +.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; } +.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; } +.@{fa-css-prefix}-envira:before { content: @fa-var-envira; } +.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; } +.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; } +.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; } +.@{fa-css-prefix}-blind:before { content: @fa-var-blind; } +.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; } +.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; } +.@{fa-css-prefix}-braille:before { content: @fa-var-braille; } +.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; } +.@{fa-css-prefix}-asl-interpreting:before, +.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; } +.@{fa-css-prefix}-deafness:before, +.@{fa-css-prefix}-hard-of-hearing:before, +.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; } +.@{fa-css-prefix}-glide:before { content: @fa-var-glide; } +.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; } +.@{fa-css-prefix}-signing:before, +.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; } +.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; } +.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; } +.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; } +.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; } +.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; } +.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; } +.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } +.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; } +.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; } +.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; } +.@{fa-css-prefix}-google-plus-circle:before, +.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; } +.@{fa-css-prefix}-fa:before, +.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; } +.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake-o; } +.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; } +.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open-o; } +.@{fa-css-prefix}-linode:before { content: @fa-var-linode; } +.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; } +.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book-o; } +.@{fa-css-prefix}-vcard:before, +.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; } +.@{fa-css-prefix}-vcard-o:before, +.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card-o; } +.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; } +.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle-o; } +.@{fa-css-prefix}-user-o:before { content: @fa-var-user-o; } +.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; } +.@{fa-css-prefix}-drivers-license:before, +.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; } +.@{fa-css-prefix}-drivers-license-o:before, +.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card-o; } +.@{fa-css-prefix}-quora:before { content: @fa-var-quora; } +.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; } +.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; } +.@{fa-css-prefix}-thermometer-4:before, +.@{fa-css-prefix}-thermometer:before, +.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; } +.@{fa-css-prefix}-thermometer-3:before, +.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; } +.@{fa-css-prefix}-thermometer-2:before, +.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; } +.@{fa-css-prefix}-thermometer-1:before, +.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; } +.@{fa-css-prefix}-thermometer-0:before, +.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; } +.@{fa-css-prefix}-shower:before { content: @fa-var-shower; } +.@{fa-css-prefix}-bathtub:before, +.@{fa-css-prefix}-s15:before, +.@{fa-css-prefix}-bath:before { content: @fa-var-bath; } +.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; } +.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; } +.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; } +.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; } +.@{fa-css-prefix}-times-rectangle:before, +.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; } +.@{fa-css-prefix}-times-rectangle-o:before, +.@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close-o; } +.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; } +.@{fa-css-prefix}-grav:before { content: @fa-var-grav; } +.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; } +.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; } +.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; } +.@{fa-css-prefix}-eercast:before { content: @fa-var-eercast; } +.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; } +.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake-o; } +.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; } +.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; } +.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; } diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/larger.less b/templates/qnloft/assets/fontawesome-4.7.0/less/larger.less new file mode 100644 index 0000000..c9d6467 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/larger.less @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.@{fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.@{fa-css-prefix}-2x { font-size: 2em; } +.@{fa-css-prefix}-3x { font-size: 3em; } +.@{fa-css-prefix}-4x { font-size: 4em; } +.@{fa-css-prefix}-5x { font-size: 5em; } diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/list.less b/templates/qnloft/assets/fontawesome-4.7.0/less/list.less new file mode 100644 index 0000000..0b44038 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/list.less @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.@{fa-css-prefix}-ul { + padding-left: 0; + margin-left: @fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.@{fa-css-prefix}-li { + position: absolute; + left: -@fa-li-width; + width: @fa-li-width; + top: (2em / 14); + text-align: center; + &.@{fa-css-prefix}-lg { + left: (-@fa-li-width + (4em / 14)); + } +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/mixins.less b/templates/qnloft/assets/fontawesome-4.7.0/less/mixins.less new file mode 100644 index 0000000..beef231 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/mixins.less @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +.fa-icon() { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +.fa-icon-rotate(@degrees, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; + -webkit-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +.sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/path.less b/templates/qnloft/assets/fontawesome-4.7.0/less/path.less new file mode 100644 index 0000000..835be41 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/path.less @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); + src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), + url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), + url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), + url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), + url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); + // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/rotated-flipped.less b/templates/qnloft/assets/fontawesome-4.7.0/less/rotated-flipped.less new file mode 100644 index 0000000..f6ba814 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/rotated-flipped.less @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } +.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } +.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } + +.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } +.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .@{fa-css-prefix}-rotate-90, +:root .@{fa-css-prefix}-rotate-180, +:root .@{fa-css-prefix}-rotate-270, +:root .@{fa-css-prefix}-flip-horizontal, +:root .@{fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/screen-reader.less b/templates/qnloft/assets/fontawesome-4.7.0/less/screen-reader.less new file mode 100644 index 0000000..11c1881 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/screen-reader.less @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { .sr-only(); } +.sr-only-focusable { .sr-only-focusable(); } diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/stacked.less b/templates/qnloft/assets/fontawesome-4.7.0/less/stacked.less new file mode 100644 index 0000000..fc53fb0 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/stacked.less @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.@{fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.@{fa-css-prefix}-stack-1x { line-height: inherit; } +.@{fa-css-prefix}-stack-2x { font-size: 2em; } +.@{fa-css-prefix}-inverse { color: @fa-inverse; } diff --git a/templates/qnloft/assets/fontawesome-4.7.0/less/variables.less b/templates/qnloft/assets/fontawesome-4.7.0/less/variables.less new file mode 100644 index 0000000..7ddbbc0 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/less/variables.less @@ -0,0 +1,800 @@ +// Variables +// -------------------------- + +@fa-font-path: "../fonts"; +@fa-font-size-base: 14px; +@fa-line-height-base: 1; +//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly +@fa-css-prefix: fa; +@fa-version: "4.7.0"; +@fa-border-color: #eee; +@fa-inverse: #fff; +@fa-li-width: (30em / 14); + +@fa-var-500px: "\f26e"; +@fa-var-address-book: "\f2b9"; +@fa-var-address-book-o: "\f2ba"; +@fa-var-address-card: "\f2bb"; +@fa-var-address-card-o: "\f2bc"; +@fa-var-adjust: "\f042"; +@fa-var-adn: "\f170"; +@fa-var-align-center: "\f037"; +@fa-var-align-justify: "\f039"; +@fa-var-align-left: "\f036"; +@fa-var-align-right: "\f038"; +@fa-var-amazon: "\f270"; +@fa-var-ambulance: "\f0f9"; +@fa-var-american-sign-language-interpreting: "\f2a3"; +@fa-var-anchor: "\f13d"; +@fa-var-android: "\f17b"; +@fa-var-angellist: "\f209"; +@fa-var-angle-double-down: "\f103"; +@fa-var-angle-double-left: "\f100"; +@fa-var-angle-double-right: "\f101"; +@fa-var-angle-double-up: "\f102"; +@fa-var-angle-down: "\f107"; +@fa-var-angle-left: "\f104"; +@fa-var-angle-right: "\f105"; +@fa-var-angle-up: "\f106"; +@fa-var-apple: "\f179"; +@fa-var-archive: "\f187"; +@fa-var-area-chart: "\f1fe"; +@fa-var-arrow-circle-down: "\f0ab"; +@fa-var-arrow-circle-left: "\f0a8"; +@fa-var-arrow-circle-o-down: "\f01a"; +@fa-var-arrow-circle-o-left: "\f190"; +@fa-var-arrow-circle-o-right: "\f18e"; +@fa-var-arrow-circle-o-up: "\f01b"; +@fa-var-arrow-circle-right: "\f0a9"; +@fa-var-arrow-circle-up: "\f0aa"; +@fa-var-arrow-down: "\f063"; +@fa-var-arrow-left: "\f060"; +@fa-var-arrow-right: "\f061"; +@fa-var-arrow-up: "\f062"; +@fa-var-arrows: "\f047"; +@fa-var-arrows-alt: "\f0b2"; +@fa-var-arrows-h: "\f07e"; +@fa-var-arrows-v: "\f07d"; +@fa-var-asl-interpreting: "\f2a3"; +@fa-var-assistive-listening-systems: "\f2a2"; +@fa-var-asterisk: "\f069"; +@fa-var-at: "\f1fa"; +@fa-var-audio-description: "\f29e"; +@fa-var-automobile: "\f1b9"; +@fa-var-backward: "\f04a"; +@fa-var-balance-scale: "\f24e"; +@fa-var-ban: "\f05e"; +@fa-var-bandcamp: "\f2d5"; +@fa-var-bank: "\f19c"; +@fa-var-bar-chart: "\f080"; +@fa-var-bar-chart-o: "\f080"; +@fa-var-barcode: "\f02a"; +@fa-var-bars: "\f0c9"; +@fa-var-bath: "\f2cd"; +@fa-var-bathtub: "\f2cd"; +@fa-var-battery: "\f240"; +@fa-var-battery-0: "\f244"; +@fa-var-battery-1: "\f243"; +@fa-var-battery-2: "\f242"; +@fa-var-battery-3: "\f241"; +@fa-var-battery-4: "\f240"; +@fa-var-battery-empty: "\f244"; +@fa-var-battery-full: "\f240"; +@fa-var-battery-half: "\f242"; +@fa-var-battery-quarter: "\f243"; +@fa-var-battery-three-quarters: "\f241"; +@fa-var-bed: "\f236"; +@fa-var-beer: "\f0fc"; +@fa-var-behance: "\f1b4"; +@fa-var-behance-square: "\f1b5"; +@fa-var-bell: "\f0f3"; +@fa-var-bell-o: "\f0a2"; +@fa-var-bell-slash: "\f1f6"; +@fa-var-bell-slash-o: "\f1f7"; +@fa-var-bicycle: "\f206"; +@fa-var-binoculars: "\f1e5"; +@fa-var-birthday-cake: "\f1fd"; +@fa-var-bitbucket: "\f171"; +@fa-var-bitbucket-square: "\f172"; +@fa-var-bitcoin: "\f15a"; +@fa-var-black-tie: "\f27e"; +@fa-var-blind: "\f29d"; +@fa-var-bluetooth: "\f293"; +@fa-var-bluetooth-b: "\f294"; +@fa-var-bold: "\f032"; +@fa-var-bolt: "\f0e7"; +@fa-var-bomb: "\f1e2"; +@fa-var-book: "\f02d"; +@fa-var-bookmark: "\f02e"; +@fa-var-bookmark-o: "\f097"; +@fa-var-braille: "\f2a1"; +@fa-var-briefcase: "\f0b1"; +@fa-var-btc: "\f15a"; +@fa-var-bug: "\f188"; +@fa-var-building: "\f1ad"; +@fa-var-building-o: "\f0f7"; +@fa-var-bullhorn: "\f0a1"; +@fa-var-bullseye: "\f140"; +@fa-var-bus: "\f207"; +@fa-var-buysellads: "\f20d"; +@fa-var-cab: "\f1ba"; +@fa-var-calculator: "\f1ec"; +@fa-var-calendar: "\f073"; +@fa-var-calendar-check-o: "\f274"; +@fa-var-calendar-minus-o: "\f272"; +@fa-var-calendar-o: "\f133"; +@fa-var-calendar-plus-o: "\f271"; +@fa-var-calendar-times-o: "\f273"; +@fa-var-camera: "\f030"; +@fa-var-camera-retro: "\f083"; +@fa-var-car: "\f1b9"; +@fa-var-caret-down: "\f0d7"; +@fa-var-caret-left: "\f0d9"; +@fa-var-caret-right: "\f0da"; +@fa-var-caret-square-o-down: "\f150"; +@fa-var-caret-square-o-left: "\f191"; +@fa-var-caret-square-o-right: "\f152"; +@fa-var-caret-square-o-up: "\f151"; +@fa-var-caret-up: "\f0d8"; +@fa-var-cart-arrow-down: "\f218"; +@fa-var-cart-plus: "\f217"; +@fa-var-cc: "\f20a"; +@fa-var-cc-amex: "\f1f3"; +@fa-var-cc-diners-club: "\f24c"; +@fa-var-cc-discover: "\f1f2"; +@fa-var-cc-jcb: "\f24b"; +@fa-var-cc-mastercard: "\f1f1"; +@fa-var-cc-paypal: "\f1f4"; +@fa-var-cc-stripe: "\f1f5"; +@fa-var-cc-visa: "\f1f0"; +@fa-var-certificate: "\f0a3"; +@fa-var-chain: "\f0c1"; +@fa-var-chain-broken: "\f127"; +@fa-var-check: "\f00c"; +@fa-var-check-circle: "\f058"; +@fa-var-check-circle-o: "\f05d"; +@fa-var-check-square: "\f14a"; +@fa-var-check-square-o: "\f046"; +@fa-var-chevron-circle-down: "\f13a"; +@fa-var-chevron-circle-left: "\f137"; +@fa-var-chevron-circle-right: "\f138"; +@fa-var-chevron-circle-up: "\f139"; +@fa-var-chevron-down: "\f078"; +@fa-var-chevron-left: "\f053"; +@fa-var-chevron-right: "\f054"; +@fa-var-chevron-up: "\f077"; +@fa-var-child: "\f1ae"; +@fa-var-chrome: "\f268"; +@fa-var-circle: "\f111"; +@fa-var-circle-o: "\f10c"; +@fa-var-circle-o-notch: "\f1ce"; +@fa-var-circle-thin: "\f1db"; +@fa-var-clipboard: "\f0ea"; +@fa-var-clock-o: "\f017"; +@fa-var-clone: "\f24d"; +@fa-var-close: "\f00d"; +@fa-var-cloud: "\f0c2"; +@fa-var-cloud-download: "\f0ed"; +@fa-var-cloud-upload: "\f0ee"; +@fa-var-cny: "\f157"; +@fa-var-code: "\f121"; +@fa-var-code-fork: "\f126"; +@fa-var-codepen: "\f1cb"; +@fa-var-codiepie: "\f284"; +@fa-var-coffee: "\f0f4"; +@fa-var-cog: "\f013"; +@fa-var-cogs: "\f085"; +@fa-var-columns: "\f0db"; +@fa-var-comment: "\f075"; +@fa-var-comment-o: "\f0e5"; +@fa-var-commenting: "\f27a"; +@fa-var-commenting-o: "\f27b"; +@fa-var-comments: "\f086"; +@fa-var-comments-o: "\f0e6"; +@fa-var-compass: "\f14e"; +@fa-var-compress: "\f066"; +@fa-var-connectdevelop: "\f20e"; +@fa-var-contao: "\f26d"; +@fa-var-copy: "\f0c5"; +@fa-var-copyright: "\f1f9"; +@fa-var-creative-commons: "\f25e"; +@fa-var-credit-card: "\f09d"; +@fa-var-credit-card-alt: "\f283"; +@fa-var-crop: "\f125"; +@fa-var-crosshairs: "\f05b"; +@fa-var-css3: "\f13c"; +@fa-var-cube: "\f1b2"; +@fa-var-cubes: "\f1b3"; +@fa-var-cut: "\f0c4"; +@fa-var-cutlery: "\f0f5"; +@fa-var-dashboard: "\f0e4"; +@fa-var-dashcube: "\f210"; +@fa-var-database: "\f1c0"; +@fa-var-deaf: "\f2a4"; +@fa-var-deafness: "\f2a4"; +@fa-var-dedent: "\f03b"; +@fa-var-delicious: "\f1a5"; +@fa-var-desktop: "\f108"; +@fa-var-deviantart: "\f1bd"; +@fa-var-diamond: "\f219"; +@fa-var-digg: "\f1a6"; +@fa-var-dollar: "\f155"; +@fa-var-dot-circle-o: "\f192"; +@fa-var-download: "\f019"; +@fa-var-dribbble: "\f17d"; +@fa-var-drivers-license: "\f2c2"; +@fa-var-drivers-license-o: "\f2c3"; +@fa-var-dropbox: "\f16b"; +@fa-var-drupal: "\f1a9"; +@fa-var-edge: "\f282"; +@fa-var-edit: "\f044"; +@fa-var-eercast: "\f2da"; +@fa-var-eject: "\f052"; +@fa-var-ellipsis-h: "\f141"; +@fa-var-ellipsis-v: "\f142"; +@fa-var-empire: "\f1d1"; +@fa-var-envelope: "\f0e0"; +@fa-var-envelope-o: "\f003"; +@fa-var-envelope-open: "\f2b6"; +@fa-var-envelope-open-o: "\f2b7"; +@fa-var-envelope-square: "\f199"; +@fa-var-envira: "\f299"; +@fa-var-eraser: "\f12d"; +@fa-var-etsy: "\f2d7"; +@fa-var-eur: "\f153"; +@fa-var-euro: "\f153"; +@fa-var-exchange: "\f0ec"; +@fa-var-exclamation: "\f12a"; +@fa-var-exclamation-circle: "\f06a"; +@fa-var-exclamation-triangle: "\f071"; +@fa-var-expand: "\f065"; +@fa-var-expeditedssl: "\f23e"; +@fa-var-external-link: "\f08e"; +@fa-var-external-link-square: "\f14c"; +@fa-var-eye: "\f06e"; +@fa-var-eye-slash: "\f070"; +@fa-var-eyedropper: "\f1fb"; +@fa-var-fa: "\f2b4"; +@fa-var-facebook: "\f09a"; +@fa-var-facebook-f: "\f09a"; +@fa-var-facebook-official: "\f230"; +@fa-var-facebook-square: "\f082"; +@fa-var-fast-backward: "\f049"; +@fa-var-fast-forward: "\f050"; +@fa-var-fax: "\f1ac"; +@fa-var-feed: "\f09e"; +@fa-var-female: "\f182"; +@fa-var-fighter-jet: "\f0fb"; +@fa-var-file: "\f15b"; +@fa-var-file-archive-o: "\f1c6"; +@fa-var-file-audio-o: "\f1c7"; +@fa-var-file-code-o: "\f1c9"; +@fa-var-file-excel-o: "\f1c3"; +@fa-var-file-image-o: "\f1c5"; +@fa-var-file-movie-o: "\f1c8"; +@fa-var-file-o: "\f016"; +@fa-var-file-pdf-o: "\f1c1"; +@fa-var-file-photo-o: "\f1c5"; +@fa-var-file-picture-o: "\f1c5"; +@fa-var-file-powerpoint-o: "\f1c4"; +@fa-var-file-sound-o: "\f1c7"; +@fa-var-file-text: "\f15c"; +@fa-var-file-text-o: "\f0f6"; +@fa-var-file-video-o: "\f1c8"; +@fa-var-file-word-o: "\f1c2"; +@fa-var-file-zip-o: "\f1c6"; +@fa-var-files-o: "\f0c5"; +@fa-var-film: "\f008"; +@fa-var-filter: "\f0b0"; +@fa-var-fire: "\f06d"; +@fa-var-fire-extinguisher: "\f134"; +@fa-var-firefox: "\f269"; +@fa-var-first-order: "\f2b0"; +@fa-var-flag: "\f024"; +@fa-var-flag-checkered: "\f11e"; +@fa-var-flag-o: "\f11d"; +@fa-var-flash: "\f0e7"; +@fa-var-flask: "\f0c3"; +@fa-var-flickr: "\f16e"; +@fa-var-floppy-o: "\f0c7"; +@fa-var-folder: "\f07b"; +@fa-var-folder-o: "\f114"; +@fa-var-folder-open: "\f07c"; +@fa-var-folder-open-o: "\f115"; +@fa-var-font: "\f031"; +@fa-var-font-awesome: "\f2b4"; +@fa-var-fonticons: "\f280"; +@fa-var-fort-awesome: "\f286"; +@fa-var-forumbee: "\f211"; +@fa-var-forward: "\f04e"; +@fa-var-foursquare: "\f180"; +@fa-var-free-code-camp: "\f2c5"; +@fa-var-frown-o: "\f119"; +@fa-var-futbol-o: "\f1e3"; +@fa-var-gamepad: "\f11b"; +@fa-var-gavel: "\f0e3"; +@fa-var-gbp: "\f154"; +@fa-var-ge: "\f1d1"; +@fa-var-gear: "\f013"; +@fa-var-gears: "\f085"; +@fa-var-genderless: "\f22d"; +@fa-var-get-pocket: "\f265"; +@fa-var-gg: "\f260"; +@fa-var-gg-circle: "\f261"; +@fa-var-gift: "\f06b"; +@fa-var-git: "\f1d3"; +@fa-var-git-square: "\f1d2"; +@fa-var-github: "\f09b"; +@fa-var-github-alt: "\f113"; +@fa-var-github-square: "\f092"; +@fa-var-gitlab: "\f296"; +@fa-var-gittip: "\f184"; +@fa-var-glass: "\f000"; +@fa-var-glide: "\f2a5"; +@fa-var-glide-g: "\f2a6"; +@fa-var-globe: "\f0ac"; +@fa-var-google: "\f1a0"; +@fa-var-google-plus: "\f0d5"; +@fa-var-google-plus-circle: "\f2b3"; +@fa-var-google-plus-official: "\f2b3"; +@fa-var-google-plus-square: "\f0d4"; +@fa-var-google-wallet: "\f1ee"; +@fa-var-graduation-cap: "\f19d"; +@fa-var-gratipay: "\f184"; +@fa-var-grav: "\f2d6"; +@fa-var-group: "\f0c0"; +@fa-var-h-square: "\f0fd"; +@fa-var-hacker-news: "\f1d4"; +@fa-var-hand-grab-o: "\f255"; +@fa-var-hand-lizard-o: "\f258"; +@fa-var-hand-o-down: "\f0a7"; +@fa-var-hand-o-left: "\f0a5"; +@fa-var-hand-o-right: "\f0a4"; +@fa-var-hand-o-up: "\f0a6"; +@fa-var-hand-paper-o: "\f256"; +@fa-var-hand-peace-o: "\f25b"; +@fa-var-hand-pointer-o: "\f25a"; +@fa-var-hand-rock-o: "\f255"; +@fa-var-hand-scissors-o: "\f257"; +@fa-var-hand-spock-o: "\f259"; +@fa-var-hand-stop-o: "\f256"; +@fa-var-handshake-o: "\f2b5"; +@fa-var-hard-of-hearing: "\f2a4"; +@fa-var-hashtag: "\f292"; +@fa-var-hdd-o: "\f0a0"; +@fa-var-header: "\f1dc"; +@fa-var-headphones: "\f025"; +@fa-var-heart: "\f004"; +@fa-var-heart-o: "\f08a"; +@fa-var-heartbeat: "\f21e"; +@fa-var-history: "\f1da"; +@fa-var-home: "\f015"; +@fa-var-hospital-o: "\f0f8"; +@fa-var-hotel: "\f236"; +@fa-var-hourglass: "\f254"; +@fa-var-hourglass-1: "\f251"; +@fa-var-hourglass-2: "\f252"; +@fa-var-hourglass-3: "\f253"; +@fa-var-hourglass-end: "\f253"; +@fa-var-hourglass-half: "\f252"; +@fa-var-hourglass-o: "\f250"; +@fa-var-hourglass-start: "\f251"; +@fa-var-houzz: "\f27c"; +@fa-var-html5: "\f13b"; +@fa-var-i-cursor: "\f246"; +@fa-var-id-badge: "\f2c1"; +@fa-var-id-card: "\f2c2"; +@fa-var-id-card-o: "\f2c3"; +@fa-var-ils: "\f20b"; +@fa-var-image: "\f03e"; +@fa-var-imdb: "\f2d8"; +@fa-var-inbox: "\f01c"; +@fa-var-indent: "\f03c"; +@fa-var-industry: "\f275"; +@fa-var-info: "\f129"; +@fa-var-info-circle: "\f05a"; +@fa-var-inr: "\f156"; +@fa-var-instagram: "\f16d"; +@fa-var-institution: "\f19c"; +@fa-var-internet-explorer: "\f26b"; +@fa-var-intersex: "\f224"; +@fa-var-ioxhost: "\f208"; +@fa-var-italic: "\f033"; +@fa-var-joomla: "\f1aa"; +@fa-var-jpy: "\f157"; +@fa-var-jsfiddle: "\f1cc"; +@fa-var-key: "\f084"; +@fa-var-keyboard-o: "\f11c"; +@fa-var-krw: "\f159"; +@fa-var-language: "\f1ab"; +@fa-var-laptop: "\f109"; +@fa-var-lastfm: "\f202"; +@fa-var-lastfm-square: "\f203"; +@fa-var-leaf: "\f06c"; +@fa-var-leanpub: "\f212"; +@fa-var-legal: "\f0e3"; +@fa-var-lemon-o: "\f094"; +@fa-var-level-down: "\f149"; +@fa-var-level-up: "\f148"; +@fa-var-life-bouy: "\f1cd"; +@fa-var-life-buoy: "\f1cd"; +@fa-var-life-ring: "\f1cd"; +@fa-var-life-saver: "\f1cd"; +@fa-var-lightbulb-o: "\f0eb"; +@fa-var-line-chart: "\f201"; +@fa-var-link: "\f0c1"; +@fa-var-linkedin: "\f0e1"; +@fa-var-linkedin-square: "\f08c"; +@fa-var-linode: "\f2b8"; +@fa-var-linux: "\f17c"; +@fa-var-list: "\f03a"; +@fa-var-list-alt: "\f022"; +@fa-var-list-ol: "\f0cb"; +@fa-var-list-ul: "\f0ca"; +@fa-var-location-arrow: "\f124"; +@fa-var-lock: "\f023"; +@fa-var-long-arrow-down: "\f175"; +@fa-var-long-arrow-left: "\f177"; +@fa-var-long-arrow-right: "\f178"; +@fa-var-long-arrow-up: "\f176"; +@fa-var-low-vision: "\f2a8"; +@fa-var-magic: "\f0d0"; +@fa-var-magnet: "\f076"; +@fa-var-mail-forward: "\f064"; +@fa-var-mail-reply: "\f112"; +@fa-var-mail-reply-all: "\f122"; +@fa-var-male: "\f183"; +@fa-var-map: "\f279"; +@fa-var-map-marker: "\f041"; +@fa-var-map-o: "\f278"; +@fa-var-map-pin: "\f276"; +@fa-var-map-signs: "\f277"; +@fa-var-mars: "\f222"; +@fa-var-mars-double: "\f227"; +@fa-var-mars-stroke: "\f229"; +@fa-var-mars-stroke-h: "\f22b"; +@fa-var-mars-stroke-v: "\f22a"; +@fa-var-maxcdn: "\f136"; +@fa-var-meanpath: "\f20c"; +@fa-var-medium: "\f23a"; +@fa-var-medkit: "\f0fa"; +@fa-var-meetup: "\f2e0"; +@fa-var-meh-o: "\f11a"; +@fa-var-mercury: "\f223"; +@fa-var-microchip: "\f2db"; +@fa-var-microphone: "\f130"; +@fa-var-microphone-slash: "\f131"; +@fa-var-minus: "\f068"; +@fa-var-minus-circle: "\f056"; +@fa-var-minus-square: "\f146"; +@fa-var-minus-square-o: "\f147"; +@fa-var-mixcloud: "\f289"; +@fa-var-mobile: "\f10b"; +@fa-var-mobile-phone: "\f10b"; +@fa-var-modx: "\f285"; +@fa-var-money: "\f0d6"; +@fa-var-moon-o: "\f186"; +@fa-var-mortar-board: "\f19d"; +@fa-var-motorcycle: "\f21c"; +@fa-var-mouse-pointer: "\f245"; +@fa-var-music: "\f001"; +@fa-var-navicon: "\f0c9"; +@fa-var-neuter: "\f22c"; +@fa-var-newspaper-o: "\f1ea"; +@fa-var-object-group: "\f247"; +@fa-var-object-ungroup: "\f248"; +@fa-var-odnoklassniki: "\f263"; +@fa-var-odnoklassniki-square: "\f264"; +@fa-var-opencart: "\f23d"; +@fa-var-openid: "\f19b"; +@fa-var-opera: "\f26a"; +@fa-var-optin-monster: "\f23c"; +@fa-var-outdent: "\f03b"; +@fa-var-pagelines: "\f18c"; +@fa-var-paint-brush: "\f1fc"; +@fa-var-paper-plane: "\f1d8"; +@fa-var-paper-plane-o: "\f1d9"; +@fa-var-paperclip: "\f0c6"; +@fa-var-paragraph: "\f1dd"; +@fa-var-paste: "\f0ea"; +@fa-var-pause: "\f04c"; +@fa-var-pause-circle: "\f28b"; +@fa-var-pause-circle-o: "\f28c"; +@fa-var-paw: "\f1b0"; +@fa-var-paypal: "\f1ed"; +@fa-var-pencil: "\f040"; +@fa-var-pencil-square: "\f14b"; +@fa-var-pencil-square-o: "\f044"; +@fa-var-percent: "\f295"; +@fa-var-phone: "\f095"; +@fa-var-phone-square: "\f098"; +@fa-var-photo: "\f03e"; +@fa-var-picture-o: "\f03e"; +@fa-var-pie-chart: "\f200"; +@fa-var-pied-piper: "\f2ae"; +@fa-var-pied-piper-alt: "\f1a8"; +@fa-var-pied-piper-pp: "\f1a7"; +@fa-var-pinterest: "\f0d2"; +@fa-var-pinterest-p: "\f231"; +@fa-var-pinterest-square: "\f0d3"; +@fa-var-plane: "\f072"; +@fa-var-play: "\f04b"; +@fa-var-play-circle: "\f144"; +@fa-var-play-circle-o: "\f01d"; +@fa-var-plug: "\f1e6"; +@fa-var-plus: "\f067"; +@fa-var-plus-circle: "\f055"; +@fa-var-plus-square: "\f0fe"; +@fa-var-plus-square-o: "\f196"; +@fa-var-podcast: "\f2ce"; +@fa-var-power-off: "\f011"; +@fa-var-print: "\f02f"; +@fa-var-product-hunt: "\f288"; +@fa-var-puzzle-piece: "\f12e"; +@fa-var-qq: "\f1d6"; +@fa-var-qrcode: "\f029"; +@fa-var-question: "\f128"; +@fa-var-question-circle: "\f059"; +@fa-var-question-circle-o: "\f29c"; +@fa-var-quora: "\f2c4"; +@fa-var-quote-left: "\f10d"; +@fa-var-quote-right: "\f10e"; +@fa-var-ra: "\f1d0"; +@fa-var-random: "\f074"; +@fa-var-ravelry: "\f2d9"; +@fa-var-rebel: "\f1d0"; +@fa-var-recycle: "\f1b8"; +@fa-var-reddit: "\f1a1"; +@fa-var-reddit-alien: "\f281"; +@fa-var-reddit-square: "\f1a2"; +@fa-var-refresh: "\f021"; +@fa-var-registered: "\f25d"; +@fa-var-remove: "\f00d"; +@fa-var-renren: "\f18b"; +@fa-var-reorder: "\f0c9"; +@fa-var-repeat: "\f01e"; +@fa-var-reply: "\f112"; +@fa-var-reply-all: "\f122"; +@fa-var-resistance: "\f1d0"; +@fa-var-retweet: "\f079"; +@fa-var-rmb: "\f157"; +@fa-var-road: "\f018"; +@fa-var-rocket: "\f135"; +@fa-var-rotate-left: "\f0e2"; +@fa-var-rotate-right: "\f01e"; +@fa-var-rouble: "\f158"; +@fa-var-rss: "\f09e"; +@fa-var-rss-square: "\f143"; +@fa-var-rub: "\f158"; +@fa-var-ruble: "\f158"; +@fa-var-rupee: "\f156"; +@fa-var-s15: "\f2cd"; +@fa-var-safari: "\f267"; +@fa-var-save: "\f0c7"; +@fa-var-scissors: "\f0c4"; +@fa-var-scribd: "\f28a"; +@fa-var-search: "\f002"; +@fa-var-search-minus: "\f010"; +@fa-var-search-plus: "\f00e"; +@fa-var-sellsy: "\f213"; +@fa-var-send: "\f1d8"; +@fa-var-send-o: "\f1d9"; +@fa-var-server: "\f233"; +@fa-var-share: "\f064"; +@fa-var-share-alt: "\f1e0"; +@fa-var-share-alt-square: "\f1e1"; +@fa-var-share-square: "\f14d"; +@fa-var-share-square-o: "\f045"; +@fa-var-shekel: "\f20b"; +@fa-var-sheqel: "\f20b"; +@fa-var-shield: "\f132"; +@fa-var-ship: "\f21a"; +@fa-var-shirtsinbulk: "\f214"; +@fa-var-shopping-bag: "\f290"; +@fa-var-shopping-basket: "\f291"; +@fa-var-shopping-cart: "\f07a"; +@fa-var-shower: "\f2cc"; +@fa-var-sign-in: "\f090"; +@fa-var-sign-language: "\f2a7"; +@fa-var-sign-out: "\f08b"; +@fa-var-signal: "\f012"; +@fa-var-signing: "\f2a7"; +@fa-var-simplybuilt: "\f215"; +@fa-var-sitemap: "\f0e8"; +@fa-var-skyatlas: "\f216"; +@fa-var-skype: "\f17e"; +@fa-var-slack: "\f198"; +@fa-var-sliders: "\f1de"; +@fa-var-slideshare: "\f1e7"; +@fa-var-smile-o: "\f118"; +@fa-var-snapchat: "\f2ab"; +@fa-var-snapchat-ghost: "\f2ac"; +@fa-var-snapchat-square: "\f2ad"; +@fa-var-snowflake-o: "\f2dc"; +@fa-var-soccer-ball-o: "\f1e3"; +@fa-var-sort: "\f0dc"; +@fa-var-sort-alpha-asc: "\f15d"; +@fa-var-sort-alpha-desc: "\f15e"; +@fa-var-sort-amount-asc: "\f160"; +@fa-var-sort-amount-desc: "\f161"; +@fa-var-sort-asc: "\f0de"; +@fa-var-sort-desc: "\f0dd"; +@fa-var-sort-down: "\f0dd"; +@fa-var-sort-numeric-asc: "\f162"; +@fa-var-sort-numeric-desc: "\f163"; +@fa-var-sort-up: "\f0de"; +@fa-var-soundcloud: "\f1be"; +@fa-var-space-shuttle: "\f197"; +@fa-var-spinner: "\f110"; +@fa-var-spoon: "\f1b1"; +@fa-var-spotify: "\f1bc"; +@fa-var-square: "\f0c8"; +@fa-var-square-o: "\f096"; +@fa-var-stack-exchange: "\f18d"; +@fa-var-stack-overflow: "\f16c"; +@fa-var-star: "\f005"; +@fa-var-star-half: "\f089"; +@fa-var-star-half-empty: "\f123"; +@fa-var-star-half-full: "\f123"; +@fa-var-star-half-o: "\f123"; +@fa-var-star-o: "\f006"; +@fa-var-steam: "\f1b6"; +@fa-var-steam-square: "\f1b7"; +@fa-var-step-backward: "\f048"; +@fa-var-step-forward: "\f051"; +@fa-var-stethoscope: "\f0f1"; +@fa-var-sticky-note: "\f249"; +@fa-var-sticky-note-o: "\f24a"; +@fa-var-stop: "\f04d"; +@fa-var-stop-circle: "\f28d"; +@fa-var-stop-circle-o: "\f28e"; +@fa-var-street-view: "\f21d"; +@fa-var-strikethrough: "\f0cc"; +@fa-var-stumbleupon: "\f1a4"; +@fa-var-stumbleupon-circle: "\f1a3"; +@fa-var-subscript: "\f12c"; +@fa-var-subway: "\f239"; +@fa-var-suitcase: "\f0f2"; +@fa-var-sun-o: "\f185"; +@fa-var-superpowers: "\f2dd"; +@fa-var-superscript: "\f12b"; +@fa-var-support: "\f1cd"; +@fa-var-table: "\f0ce"; +@fa-var-tablet: "\f10a"; +@fa-var-tachometer: "\f0e4"; +@fa-var-tag: "\f02b"; +@fa-var-tags: "\f02c"; +@fa-var-tasks: "\f0ae"; +@fa-var-taxi: "\f1ba"; +@fa-var-telegram: "\f2c6"; +@fa-var-television: "\f26c"; +@fa-var-tencent-weibo: "\f1d5"; +@fa-var-terminal: "\f120"; +@fa-var-text-height: "\f034"; +@fa-var-text-width: "\f035"; +@fa-var-th: "\f00a"; +@fa-var-th-large: "\f009"; +@fa-var-th-list: "\f00b"; +@fa-var-themeisle: "\f2b2"; +@fa-var-thermometer: "\f2c7"; +@fa-var-thermometer-0: "\f2cb"; +@fa-var-thermometer-1: "\f2ca"; +@fa-var-thermometer-2: "\f2c9"; +@fa-var-thermometer-3: "\f2c8"; +@fa-var-thermometer-4: "\f2c7"; +@fa-var-thermometer-empty: "\f2cb"; +@fa-var-thermometer-full: "\f2c7"; +@fa-var-thermometer-half: "\f2c9"; +@fa-var-thermometer-quarter: "\f2ca"; +@fa-var-thermometer-three-quarters: "\f2c8"; +@fa-var-thumb-tack: "\f08d"; +@fa-var-thumbs-down: "\f165"; +@fa-var-thumbs-o-down: "\f088"; +@fa-var-thumbs-o-up: "\f087"; +@fa-var-thumbs-up: "\f164"; +@fa-var-ticket: "\f145"; +@fa-var-times: "\f00d"; +@fa-var-times-circle: "\f057"; +@fa-var-times-circle-o: "\f05c"; +@fa-var-times-rectangle: "\f2d3"; +@fa-var-times-rectangle-o: "\f2d4"; +@fa-var-tint: "\f043"; +@fa-var-toggle-down: "\f150"; +@fa-var-toggle-left: "\f191"; +@fa-var-toggle-off: "\f204"; +@fa-var-toggle-on: "\f205"; +@fa-var-toggle-right: "\f152"; +@fa-var-toggle-up: "\f151"; +@fa-var-trademark: "\f25c"; +@fa-var-train: "\f238"; +@fa-var-transgender: "\f224"; +@fa-var-transgender-alt: "\f225"; +@fa-var-trash: "\f1f8"; +@fa-var-trash-o: "\f014"; +@fa-var-tree: "\f1bb"; +@fa-var-trello: "\f181"; +@fa-var-tripadvisor: "\f262"; +@fa-var-trophy: "\f091"; +@fa-var-truck: "\f0d1"; +@fa-var-try: "\f195"; +@fa-var-tty: "\f1e4"; +@fa-var-tumblr: "\f173"; +@fa-var-tumblr-square: "\f174"; +@fa-var-turkish-lira: "\f195"; +@fa-var-tv: "\f26c"; +@fa-var-twitch: "\f1e8"; +@fa-var-twitter: "\f099"; +@fa-var-twitter-square: "\f081"; +@fa-var-umbrella: "\f0e9"; +@fa-var-underline: "\f0cd"; +@fa-var-undo: "\f0e2"; +@fa-var-universal-access: "\f29a"; +@fa-var-university: "\f19c"; +@fa-var-unlink: "\f127"; +@fa-var-unlock: "\f09c"; +@fa-var-unlock-alt: "\f13e"; +@fa-var-unsorted: "\f0dc"; +@fa-var-upload: "\f093"; +@fa-var-usb: "\f287"; +@fa-var-usd: "\f155"; +@fa-var-user: "\f007"; +@fa-var-user-circle: "\f2bd"; +@fa-var-user-circle-o: "\f2be"; +@fa-var-user-md: "\f0f0"; +@fa-var-user-o: "\f2c0"; +@fa-var-user-plus: "\f234"; +@fa-var-user-secret: "\f21b"; +@fa-var-user-times: "\f235"; +@fa-var-users: "\f0c0"; +@fa-var-vcard: "\f2bb"; +@fa-var-vcard-o: "\f2bc"; +@fa-var-venus: "\f221"; +@fa-var-venus-double: "\f226"; +@fa-var-venus-mars: "\f228"; +@fa-var-viacoin: "\f237"; +@fa-var-viadeo: "\f2a9"; +@fa-var-viadeo-square: "\f2aa"; +@fa-var-video-camera: "\f03d"; +@fa-var-vimeo: "\f27d"; +@fa-var-vimeo-square: "\f194"; +@fa-var-vine: "\f1ca"; +@fa-var-vk: "\f189"; +@fa-var-volume-control-phone: "\f2a0"; +@fa-var-volume-down: "\f027"; +@fa-var-volume-off: "\f026"; +@fa-var-volume-up: "\f028"; +@fa-var-warning: "\f071"; +@fa-var-wechat: "\f1d7"; +@fa-var-weibo: "\f18a"; +@fa-var-weixin: "\f1d7"; +@fa-var-whatsapp: "\f232"; +@fa-var-wheelchair: "\f193"; +@fa-var-wheelchair-alt: "\f29b"; +@fa-var-wifi: "\f1eb"; +@fa-var-wikipedia-w: "\f266"; +@fa-var-window-close: "\f2d3"; +@fa-var-window-close-o: "\f2d4"; +@fa-var-window-maximize: "\f2d0"; +@fa-var-window-minimize: "\f2d1"; +@fa-var-window-restore: "\f2d2"; +@fa-var-windows: "\f17a"; +@fa-var-won: "\f159"; +@fa-var-wordpress: "\f19a"; +@fa-var-wpbeginner: "\f297"; +@fa-var-wpexplorer: "\f2de"; +@fa-var-wpforms: "\f298"; +@fa-var-wrench: "\f0ad"; +@fa-var-xing: "\f168"; +@fa-var-xing-square: "\f169"; +@fa-var-y-combinator: "\f23b"; +@fa-var-y-combinator-square: "\f1d4"; +@fa-var-yahoo: "\f19e"; +@fa-var-yc: "\f23b"; +@fa-var-yc-square: "\f1d4"; +@fa-var-yelp: "\f1e9"; +@fa-var-yen: "\f157"; +@fa-var-yoast: "\f2b1"; +@fa-var-youtube: "\f167"; +@fa-var-youtube-play: "\f16a"; +@fa-var-youtube-square: "\f166"; + diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_animated.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_animated.scss new file mode 100644 index 0000000..8a020db --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_animated.scss @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_bordered-pulled.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_bordered-pulled.scss new file mode 100644 index 0000000..d4b85a0 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_bordered-pulled.scss @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_core.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_core.scss new file mode 100644 index 0000000..7425ef8 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_core.scss @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_fixed-width.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_fixed-width.scss new file mode 100644 index 0000000..b221c98 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_icons.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_icons.scss new file mode 100644 index 0000000..e63e702 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_icons.scss @@ -0,0 +1,789 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; } +.#{$fa-css-prefix}-music:before { content: $fa-var-music; } +.#{$fa-css-prefix}-search:before { content: $fa-var-search; } +.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; } +.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; } +.#{$fa-css-prefix}-star:before { content: $fa-var-star; } +.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; } +.#{$fa-css-prefix}-user:before { content: $fa-var-user; } +.#{$fa-css-prefix}-film:before { content: $fa-var-film; } +.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; } +.#{$fa-css-prefix}-th:before { content: $fa-var-th; } +.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; } +.#{$fa-css-prefix}-check:before { content: $fa-var-check; } +.#{$fa-css-prefix}-remove:before, +.#{$fa-css-prefix}-close:before, +.#{$fa-css-prefix}-times:before { content: $fa-var-times; } +.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; } +.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; } +.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; } +.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; } +.#{$fa-css-prefix}-gear:before, +.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; } +.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; } +.#{$fa-css-prefix}-home:before { content: $fa-var-home; } +.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; } +.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; } +.#{$fa-css-prefix}-road:before { content: $fa-var-road; } +.#{$fa-css-prefix}-download:before { content: $fa-var-download; } +.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; } +.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; } +.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; } +.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; } +.#{$fa-css-prefix}-rotate-right:before, +.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; } +.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; } +.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; } +.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; } +.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; } +.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; } +.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; } +.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; } +.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; } +.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; } +.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; } +.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; } +.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; } +.#{$fa-css-prefix}-book:before { content: $fa-var-book; } +.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; } +.#{$fa-css-prefix}-print:before { content: $fa-var-print; } +.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; } +.#{$fa-css-prefix}-font:before { content: $fa-var-font; } +.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; } +.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; } +.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; } +.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; } +.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; } +.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; } +.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; } +.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; } +.#{$fa-css-prefix}-list:before { content: $fa-var-list; } +.#{$fa-css-prefix}-dedent:before, +.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; } +.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; } +.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; } +.#{$fa-css-prefix}-photo:before, +.#{$fa-css-prefix}-image:before, +.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; } +.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; } +.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; } +.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; } +.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; } +.#{$fa-css-prefix}-edit:before, +.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; } +.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; } +.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; } +.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; } +.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; } +.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; } +.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; } +.#{$fa-css-prefix}-play:before { content: $fa-var-play; } +.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; } +.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; } +.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; } +.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; } +.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; } +.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; } +.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; } +.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; } +.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; } +.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; } +.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; } +.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; } +.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; } +.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; } +.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; } +.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; } +.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; } +.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; } +.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; } +.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; } +.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; } +.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; } +.#{$fa-css-prefix}-mail-forward:before, +.#{$fa-css-prefix}-share:before { content: $fa-var-share; } +.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; } +.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; } +.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; } +.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; } +.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; } +.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; } +.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; } +.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; } +.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; } +.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; } +.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; } +.#{$fa-css-prefix}-warning:before, +.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; } +.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; } +.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; } +.#{$fa-css-prefix}-random:before { content: $fa-var-random; } +.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; } +.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; } +.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; } +.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; } +.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; } +.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; } +.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; } +.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; } +.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; } +.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; } +.#{$fa-css-prefix}-bar-chart-o:before, +.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; } +.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; } +.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; } +.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; } +.#{$fa-css-prefix}-key:before { content: $fa-var-key; } +.#{$fa-css-prefix}-gears:before, +.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; } +.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; } +.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; } +.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; } +.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; } +.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; } +.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; } +.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; } +.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; } +.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; } +.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; } +.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; } +.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; } +.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; } +.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; } +.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; } +.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; } +.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; } +.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; } +.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; } +.#{$fa-css-prefix}-facebook-f:before, +.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; } +.#{$fa-css-prefix}-github:before { content: $fa-var-github; } +.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } +.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } +.#{$fa-css-prefix}-feed:before, +.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } +.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } +.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } +.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; } +.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; } +.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; } +.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; } +.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; } +.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; } +.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; } +.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; } +.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; } +.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; } +.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; } +.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; } +.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; } +.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; } +.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; } +.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; } +.#{$fa-css-prefix}-group:before, +.#{$fa-css-prefix}-users:before { content: $fa-var-users; } +.#{$fa-css-prefix}-chain:before, +.#{$fa-css-prefix}-link:before { content: $fa-var-link; } +.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; } +.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; } +.#{$fa-css-prefix}-cut:before, +.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; } +.#{$fa-css-prefix}-copy:before, +.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; } +.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; } +.#{$fa-css-prefix}-save:before, +.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; } +.#{$fa-css-prefix}-square:before { content: $fa-var-square; } +.#{$fa-css-prefix}-navicon:before, +.#{$fa-css-prefix}-reorder:before, +.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; } +.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; } +.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; } +.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; } +.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; } +.#{$fa-css-prefix}-table:before { content: $fa-var-table; } +.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; } +.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; } +.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; } +.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; } +.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; } +.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; } +.#{$fa-css-prefix}-money:before { content: $fa-var-money; } +.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; } +.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; } +.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; } +.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; } +.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; } +.#{$fa-css-prefix}-unsorted:before, +.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; } +.#{$fa-css-prefix}-sort-down:before, +.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; } +.#{$fa-css-prefix}-sort-up:before, +.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; } +.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; } +.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; } +.#{$fa-css-prefix}-rotate-left:before, +.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; } +.#{$fa-css-prefix}-legal:before, +.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; } +.#{$fa-css-prefix}-dashboard:before, +.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; } +.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; } +.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; } +.#{$fa-css-prefix}-flash:before, +.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; } +.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; } +.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; } +.#{$fa-css-prefix}-paste:before, +.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; } +.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; } +.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; } +.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; } +.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; } +.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; } +.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; } +.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; } +.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; } +.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; } +.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; } +.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; } +.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; } +.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; } +.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; } +.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; } +.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; } +.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; } +.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; } +.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; } +.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; } +.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; } +.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; } +.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; } +.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; } +.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; } +.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; } +.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; } +.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; } +.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; } +.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; } +.#{$fa-css-prefix}-mobile-phone:before, +.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; } +.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; } +.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; } +.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; } +.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; } +.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; } +.#{$fa-css-prefix}-mail-reply:before, +.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; } +.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; } +.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; } +.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; } +.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; } +.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; } +.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; } +.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; } +.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; } +.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; } +.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; } +.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; } +.#{$fa-css-prefix}-code:before { content: $fa-var-code; } +.#{$fa-css-prefix}-mail-reply-all:before, +.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; } +.#{$fa-css-prefix}-star-half-empty:before, +.#{$fa-css-prefix}-star-half-full:before, +.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; } +.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; } +.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; } +.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; } +.#{$fa-css-prefix}-unlink:before, +.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; } +.#{$fa-css-prefix}-question:before { content: $fa-var-question; } +.#{$fa-css-prefix}-info:before { content: $fa-var-info; } +.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; } +.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; } +.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; } +.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; } +.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; } +.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; } +.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; } +.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; } +.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; } +.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; } +.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; } +.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; } +.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; } +.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; } +.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; } +.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; } +.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; } +.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; } +.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; } +.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; } +.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; } +.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; } +.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; } +.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; } +.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; } +.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; } +.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; } +.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; } +.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; } +.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; } +.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; } +.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; } +.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; } +.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; } +.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; } +.#{$fa-css-prefix}-toggle-down:before, +.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; } +.#{$fa-css-prefix}-toggle-up:before, +.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; } +.#{$fa-css-prefix}-toggle-right:before, +.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; } +.#{$fa-css-prefix}-euro:before, +.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; } +.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; } +.#{$fa-css-prefix}-dollar:before, +.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; } +.#{$fa-css-prefix}-rupee:before, +.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; } +.#{$fa-css-prefix}-cny:before, +.#{$fa-css-prefix}-rmb:before, +.#{$fa-css-prefix}-yen:before, +.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; } +.#{$fa-css-prefix}-ruble:before, +.#{$fa-css-prefix}-rouble:before, +.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; } +.#{$fa-css-prefix}-won:before, +.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; } +.#{$fa-css-prefix}-bitcoin:before, +.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; } +.#{$fa-css-prefix}-file:before { content: $fa-var-file; } +.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; } +.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; } +.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; } +.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; } +.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; } +.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; } +.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; } +.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; } +.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; } +.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; } +.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; } +.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; } +.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; } +.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; } +.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; } +.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; } +.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; } +.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; } +.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; } +.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; } +.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; } +.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; } +.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; } +.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; } +.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; } +.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; } +.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; } +.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; } +.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; } +.#{$fa-css-prefix}-android:before { content: $fa-var-android; } +.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; } +.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; } +.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; } +.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; } +.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; } +.#{$fa-css-prefix}-female:before { content: $fa-var-female; } +.#{$fa-css-prefix}-male:before { content: $fa-var-male; } +.#{$fa-css-prefix}-gittip:before, +.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; } +.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; } +.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; } +.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; } +.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; } +.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; } +.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; } +.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; } +.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; } +.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; } +.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; } +.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; } +.#{$fa-css-prefix}-toggle-left:before, +.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; } +.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; } +.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; } +.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; } +.#{$fa-css-prefix}-turkish-lira:before, +.#{$fa-css-prefix}-try:before { content: $fa-var-try; } +.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; } +.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; } +.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; } +.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; } +.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; } +.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; } +.#{$fa-css-prefix}-institution:before, +.#{$fa-css-prefix}-bank:before, +.#{$fa-css-prefix}-university:before { content: $fa-var-university; } +.#{$fa-css-prefix}-mortar-board:before, +.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; } +.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; } +.#{$fa-css-prefix}-google:before { content: $fa-var-google; } +.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; } +.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; } +.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; } +.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; } +.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; } +.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; } +.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; } +.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; } +.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; } +.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; } +.#{$fa-css-prefix}-language:before { content: $fa-var-language; } +.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; } +.#{$fa-css-prefix}-building:before { content: $fa-var-building; } +.#{$fa-css-prefix}-child:before { content: $fa-var-child; } +.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; } +.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; } +.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; } +.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; } +.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; } +.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; } +.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; } +.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; } +.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; } +.#{$fa-css-prefix}-automobile:before, +.#{$fa-css-prefix}-car:before { content: $fa-var-car; } +.#{$fa-css-prefix}-cab:before, +.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; } +.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; } +.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; } +.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; } +.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; } +.#{$fa-css-prefix}-database:before { content: $fa-var-database; } +.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; } +.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; } +.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; } +.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; } +.#{$fa-css-prefix}-file-photo-o:before, +.#{$fa-css-prefix}-file-picture-o:before, +.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; } +.#{$fa-css-prefix}-file-zip-o:before, +.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; } +.#{$fa-css-prefix}-file-sound-o:before, +.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; } +.#{$fa-css-prefix}-file-movie-o:before, +.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; } +.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; } +.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; } +.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; } +.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; } +.#{$fa-css-prefix}-life-bouy:before, +.#{$fa-css-prefix}-life-buoy:before, +.#{$fa-css-prefix}-life-saver:before, +.#{$fa-css-prefix}-support:before, +.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; } +.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; } +.#{$fa-css-prefix}-ra:before, +.#{$fa-css-prefix}-resistance:before, +.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; } +.#{$fa-css-prefix}-ge:before, +.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; } +.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; } +.#{$fa-css-prefix}-git:before { content: $fa-var-git; } +.#{$fa-css-prefix}-y-combinator-square:before, +.#{$fa-css-prefix}-yc-square:before, +.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; } +.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; } +.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; } +.#{$fa-css-prefix}-wechat:before, +.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; } +.#{$fa-css-prefix}-send:before, +.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; } +.#{$fa-css-prefix}-send-o:before, +.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; } +.#{$fa-css-prefix}-history:before { content: $fa-var-history; } +.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; } +.#{$fa-css-prefix}-header:before { content: $fa-var-header; } +.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; } +.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; } +.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; } +.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; } +.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; } +.#{$fa-css-prefix}-soccer-ball-o:before, +.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; } +.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; } +.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; } +.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; } +.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; } +.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; } +.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; } +.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; } +.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; } +.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; } +.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; } +.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; } +.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; } +.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; } +.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; } +.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; } +.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; } +.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; } +.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; } +.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; } +.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; } +.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; } +.#{$fa-css-prefix}-at:before { content: $fa-var-at; } +.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; } +.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; } +.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; } +.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; } +.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; } +.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; } +.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; } +.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; } +.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; } +.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; } +.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; } +.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; } +.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; } +.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; } +.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; } +.#{$fa-css-prefix}-shekel:before, +.#{$fa-css-prefix}-sheqel:before, +.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; } +.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; } +.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; } +.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; } +.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; } +.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; } +.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; } +.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; } +.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; } +.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; } +.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; } +.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; } +.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; } +.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; } +.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; } +.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; } +.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; } +.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; } +.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; } +.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; } +.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; } +.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; } +.#{$fa-css-prefix}-intersex:before, +.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; } +.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; } +.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; } +.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; } +.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; } +.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; } +.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; } +.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; } +.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; } +.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; } +.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; } +.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; } +.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; } +.#{$fa-css-prefix}-server:before { content: $fa-var-server; } +.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; } +.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; } +.#{$fa-css-prefix}-hotel:before, +.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; } +.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; } +.#{$fa-css-prefix}-train:before { content: $fa-var-train; } +.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; } +.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; } +.#{$fa-css-prefix}-yc:before, +.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; } +.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; } +.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; } +.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; } +.#{$fa-css-prefix}-battery-4:before, +.#{$fa-css-prefix}-battery:before, +.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; } +.#{$fa-css-prefix}-battery-3:before, +.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; } +.#{$fa-css-prefix}-battery-2:before, +.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; } +.#{$fa-css-prefix}-battery-1:before, +.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; } +.#{$fa-css-prefix}-battery-0:before, +.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; } +.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; } +.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; } +.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; } +.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; } +.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; } +.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; } +.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; } +.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; } +.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; } +.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; } +.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; } +.#{$fa-css-prefix}-hourglass-1:before, +.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; } +.#{$fa-css-prefix}-hourglass-2:before, +.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; } +.#{$fa-css-prefix}-hourglass-3:before, +.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; } +.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; } +.#{$fa-css-prefix}-hand-grab-o:before, +.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; } +.#{$fa-css-prefix}-hand-stop-o:before, +.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; } +.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; } +.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; } +.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; } +.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; } +.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; } +.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; } +.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; } +.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; } +.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; } +.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; } +.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; } +.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; } +.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; } +.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; } +.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; } +.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; } +.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; } +.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; } +.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; } +.#{$fa-css-prefix}-tv:before, +.#{$fa-css-prefix}-television:before { content: $fa-var-television; } +.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; } +.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; } +.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; } +.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; } +.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; } +.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; } +.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; } +.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; } +.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; } +.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; } +.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; } +.#{$fa-css-prefix}-map:before { content: $fa-var-map; } +.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; } +.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; } +.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; } +.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; } +.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; } +.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; } +.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; } +.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; } +.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; } +.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; } +.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; } +.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; } +.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; } +.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; } +.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; } +.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; } +.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; } +.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; } +.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; } +.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; } +.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; } +.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; } +.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; } +.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; } +.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; } +.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; } +.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; } +.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; } +.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; } +.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; } +.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; } +.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; } +.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; } +.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; } +.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; } +.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; } +.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; } +.#{$fa-css-prefix}-asl-interpreting:before, +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; } +.#{$fa-css-prefix}-deafness:before, +.#{$fa-css-prefix}-hard-of-hearing:before, +.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; } +.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; } +.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; } +.#{$fa-css-prefix}-signing:before, +.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; } +.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; } +.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; } +.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; } +.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; } +.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; } +.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; } +.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; } +.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; } +.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; } +.#{$fa-css-prefix}-google-plus-circle:before, +.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; } +.#{$fa-css-prefix}-fa:before, +.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; } +.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; } +.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; } +.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; } +.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; } +.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; } +.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; } +.#{$fa-css-prefix}-vcard:before, +.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; } +.#{$fa-css-prefix}-vcard-o:before, +.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; } +.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; } +.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; } +.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; } +.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; } +.#{$fa-css-prefix}-drivers-license:before, +.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; } +.#{$fa-css-prefix}-drivers-license-o:before, +.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; } +.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; } +.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; } +.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; } +.#{$fa-css-prefix}-thermometer-4:before, +.#{$fa-css-prefix}-thermometer:before, +.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; } +.#{$fa-css-prefix}-thermometer-3:before, +.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; } +.#{$fa-css-prefix}-thermometer-2:before, +.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; } +.#{$fa-css-prefix}-thermometer-1:before, +.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; } +.#{$fa-css-prefix}-thermometer-0:before, +.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; } +.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; } +.#{$fa-css-prefix}-bathtub:before, +.#{$fa-css-prefix}-s15:before, +.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; } +.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; } +.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; } +.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; } +.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; } +.#{$fa-css-prefix}-times-rectangle:before, +.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; } +.#{$fa-css-prefix}-times-rectangle-o:before, +.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; } +.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; } +.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; } +.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; } +.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; } +.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; } +.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; } +.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; } +.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; } +.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; } +.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; } +.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; } diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_larger.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_larger.scss new file mode 100644 index 0000000..41e9a81 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_larger.scss @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_list.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_list.scss new file mode 100644 index 0000000..7d1e4d5 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_list.scss @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_mixins.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_mixins.scss new file mode 100644 index 0000000..c3bbd57 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_mixins.scss @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +@mixin fa-icon() { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_path.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_path.scss new file mode 100644 index 0000000..bb457c2 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_path.scss @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), + url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); +// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_rotated-flipped.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_rotated-flipped.scss new file mode 100644 index 0000000..a3558fd --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_rotated-flipped.scss @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$fa-css-prefix}-rotate-90, +:root .#{$fa-css-prefix}-rotate-180, +:root .#{$fa-css-prefix}-rotate-270, +:root .#{$fa-css-prefix}-flip-horizontal, +:root .#{$fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_screen-reader.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_screen-reader.scss new file mode 100644 index 0000000..637426f --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_stacked.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_stacked.scss new file mode 100644 index 0000000..aef7403 --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_stacked.scss @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/_variables.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/_variables.scss new file mode 100644 index 0000000..498fc4a --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/_variables.scss @@ -0,0 +1,800 @@ +// Variables +// -------------------------- + +$fa-font-path: "../fonts" !default; +$fa-font-size-base: 14px !default; +$fa-line-height-base: 1 !default; +//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly +$fa-css-prefix: fa !default; +$fa-version: "4.7.0" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: (30em / 14) !default; + +$fa-var-500px: "\f26e"; +$fa-var-address-book: "\f2b9"; +$fa-var-address-book-o: "\f2ba"; +$fa-var-address-card: "\f2bb"; +$fa-var-address-card-o: "\f2bc"; +$fa-var-adjust: "\f042"; +$fa-var-adn: "\f170"; +$fa-var-align-center: "\f037"; +$fa-var-align-justify: "\f039"; +$fa-var-align-left: "\f036"; +$fa-var-align-right: "\f038"; +$fa-var-amazon: "\f270"; +$fa-var-ambulance: "\f0f9"; +$fa-var-american-sign-language-interpreting: "\f2a3"; +$fa-var-anchor: "\f13d"; +$fa-var-android: "\f17b"; +$fa-var-angellist: "\f209"; +$fa-var-angle-double-down: "\f103"; +$fa-var-angle-double-left: "\f100"; +$fa-var-angle-double-right: "\f101"; +$fa-var-angle-double-up: "\f102"; +$fa-var-angle-down: "\f107"; +$fa-var-angle-left: "\f104"; +$fa-var-angle-right: "\f105"; +$fa-var-angle-up: "\f106"; +$fa-var-apple: "\f179"; +$fa-var-archive: "\f187"; +$fa-var-area-chart: "\f1fe"; +$fa-var-arrow-circle-down: "\f0ab"; +$fa-var-arrow-circle-left: "\f0a8"; +$fa-var-arrow-circle-o-down: "\f01a"; +$fa-var-arrow-circle-o-left: "\f190"; +$fa-var-arrow-circle-o-right: "\f18e"; +$fa-var-arrow-circle-o-up: "\f01b"; +$fa-var-arrow-circle-right: "\f0a9"; +$fa-var-arrow-circle-up: "\f0aa"; +$fa-var-arrow-down: "\f063"; +$fa-var-arrow-left: "\f060"; +$fa-var-arrow-right: "\f061"; +$fa-var-arrow-up: "\f062"; +$fa-var-arrows: "\f047"; +$fa-var-arrows-alt: "\f0b2"; +$fa-var-arrows-h: "\f07e"; +$fa-var-arrows-v: "\f07d"; +$fa-var-asl-interpreting: "\f2a3"; +$fa-var-assistive-listening-systems: "\f2a2"; +$fa-var-asterisk: "\f069"; +$fa-var-at: "\f1fa"; +$fa-var-audio-description: "\f29e"; +$fa-var-automobile: "\f1b9"; +$fa-var-backward: "\f04a"; +$fa-var-balance-scale: "\f24e"; +$fa-var-ban: "\f05e"; +$fa-var-bandcamp: "\f2d5"; +$fa-var-bank: "\f19c"; +$fa-var-bar-chart: "\f080"; +$fa-var-bar-chart-o: "\f080"; +$fa-var-barcode: "\f02a"; +$fa-var-bars: "\f0c9"; +$fa-var-bath: "\f2cd"; +$fa-var-bathtub: "\f2cd"; +$fa-var-battery: "\f240"; +$fa-var-battery-0: "\f244"; +$fa-var-battery-1: "\f243"; +$fa-var-battery-2: "\f242"; +$fa-var-battery-3: "\f241"; +$fa-var-battery-4: "\f240"; +$fa-var-battery-empty: "\f244"; +$fa-var-battery-full: "\f240"; +$fa-var-battery-half: "\f242"; +$fa-var-battery-quarter: "\f243"; +$fa-var-battery-three-quarters: "\f241"; +$fa-var-bed: "\f236"; +$fa-var-beer: "\f0fc"; +$fa-var-behance: "\f1b4"; +$fa-var-behance-square: "\f1b5"; +$fa-var-bell: "\f0f3"; +$fa-var-bell-o: "\f0a2"; +$fa-var-bell-slash: "\f1f6"; +$fa-var-bell-slash-o: "\f1f7"; +$fa-var-bicycle: "\f206"; +$fa-var-binoculars: "\f1e5"; +$fa-var-birthday-cake: "\f1fd"; +$fa-var-bitbucket: "\f171"; +$fa-var-bitbucket-square: "\f172"; +$fa-var-bitcoin: "\f15a"; +$fa-var-black-tie: "\f27e"; +$fa-var-blind: "\f29d"; +$fa-var-bluetooth: "\f293"; +$fa-var-bluetooth-b: "\f294"; +$fa-var-bold: "\f032"; +$fa-var-bolt: "\f0e7"; +$fa-var-bomb: "\f1e2"; +$fa-var-book: "\f02d"; +$fa-var-bookmark: "\f02e"; +$fa-var-bookmark-o: "\f097"; +$fa-var-braille: "\f2a1"; +$fa-var-briefcase: "\f0b1"; +$fa-var-btc: "\f15a"; +$fa-var-bug: "\f188"; +$fa-var-building: "\f1ad"; +$fa-var-building-o: "\f0f7"; +$fa-var-bullhorn: "\f0a1"; +$fa-var-bullseye: "\f140"; +$fa-var-bus: "\f207"; +$fa-var-buysellads: "\f20d"; +$fa-var-cab: "\f1ba"; +$fa-var-calculator: "\f1ec"; +$fa-var-calendar: "\f073"; +$fa-var-calendar-check-o: "\f274"; +$fa-var-calendar-minus-o: "\f272"; +$fa-var-calendar-o: "\f133"; +$fa-var-calendar-plus-o: "\f271"; +$fa-var-calendar-times-o: "\f273"; +$fa-var-camera: "\f030"; +$fa-var-camera-retro: "\f083"; +$fa-var-car: "\f1b9"; +$fa-var-caret-down: "\f0d7"; +$fa-var-caret-left: "\f0d9"; +$fa-var-caret-right: "\f0da"; +$fa-var-caret-square-o-down: "\f150"; +$fa-var-caret-square-o-left: "\f191"; +$fa-var-caret-square-o-right: "\f152"; +$fa-var-caret-square-o-up: "\f151"; +$fa-var-caret-up: "\f0d8"; +$fa-var-cart-arrow-down: "\f218"; +$fa-var-cart-plus: "\f217"; +$fa-var-cc: "\f20a"; +$fa-var-cc-amex: "\f1f3"; +$fa-var-cc-diners-club: "\f24c"; +$fa-var-cc-discover: "\f1f2"; +$fa-var-cc-jcb: "\f24b"; +$fa-var-cc-mastercard: "\f1f1"; +$fa-var-cc-paypal: "\f1f4"; +$fa-var-cc-stripe: "\f1f5"; +$fa-var-cc-visa: "\f1f0"; +$fa-var-certificate: "\f0a3"; +$fa-var-chain: "\f0c1"; +$fa-var-chain-broken: "\f127"; +$fa-var-check: "\f00c"; +$fa-var-check-circle: "\f058"; +$fa-var-check-circle-o: "\f05d"; +$fa-var-check-square: "\f14a"; +$fa-var-check-square-o: "\f046"; +$fa-var-chevron-circle-down: "\f13a"; +$fa-var-chevron-circle-left: "\f137"; +$fa-var-chevron-circle-right: "\f138"; +$fa-var-chevron-circle-up: "\f139"; +$fa-var-chevron-down: "\f078"; +$fa-var-chevron-left: "\f053"; +$fa-var-chevron-right: "\f054"; +$fa-var-chevron-up: "\f077"; +$fa-var-child: "\f1ae"; +$fa-var-chrome: "\f268"; +$fa-var-circle: "\f111"; +$fa-var-circle-o: "\f10c"; +$fa-var-circle-o-notch: "\f1ce"; +$fa-var-circle-thin: "\f1db"; +$fa-var-clipboard: "\f0ea"; +$fa-var-clock-o: "\f017"; +$fa-var-clone: "\f24d"; +$fa-var-close: "\f00d"; +$fa-var-cloud: "\f0c2"; +$fa-var-cloud-download: "\f0ed"; +$fa-var-cloud-upload: "\f0ee"; +$fa-var-cny: "\f157"; +$fa-var-code: "\f121"; +$fa-var-code-fork: "\f126"; +$fa-var-codepen: "\f1cb"; +$fa-var-codiepie: "\f284"; +$fa-var-coffee: "\f0f4"; +$fa-var-cog: "\f013"; +$fa-var-cogs: "\f085"; +$fa-var-columns: "\f0db"; +$fa-var-comment: "\f075"; +$fa-var-comment-o: "\f0e5"; +$fa-var-commenting: "\f27a"; +$fa-var-commenting-o: "\f27b"; +$fa-var-comments: "\f086"; +$fa-var-comments-o: "\f0e6"; +$fa-var-compass: "\f14e"; +$fa-var-compress: "\f066"; +$fa-var-connectdevelop: "\f20e"; +$fa-var-contao: "\f26d"; +$fa-var-copy: "\f0c5"; +$fa-var-copyright: "\f1f9"; +$fa-var-creative-commons: "\f25e"; +$fa-var-credit-card: "\f09d"; +$fa-var-credit-card-alt: "\f283"; +$fa-var-crop: "\f125"; +$fa-var-crosshairs: "\f05b"; +$fa-var-css3: "\f13c"; +$fa-var-cube: "\f1b2"; +$fa-var-cubes: "\f1b3"; +$fa-var-cut: "\f0c4"; +$fa-var-cutlery: "\f0f5"; +$fa-var-dashboard: "\f0e4"; +$fa-var-dashcube: "\f210"; +$fa-var-database: "\f1c0"; +$fa-var-deaf: "\f2a4"; +$fa-var-deafness: "\f2a4"; +$fa-var-dedent: "\f03b"; +$fa-var-delicious: "\f1a5"; +$fa-var-desktop: "\f108"; +$fa-var-deviantart: "\f1bd"; +$fa-var-diamond: "\f219"; +$fa-var-digg: "\f1a6"; +$fa-var-dollar: "\f155"; +$fa-var-dot-circle-o: "\f192"; +$fa-var-download: "\f019"; +$fa-var-dribbble: "\f17d"; +$fa-var-drivers-license: "\f2c2"; +$fa-var-drivers-license-o: "\f2c3"; +$fa-var-dropbox: "\f16b"; +$fa-var-drupal: "\f1a9"; +$fa-var-edge: "\f282"; +$fa-var-edit: "\f044"; +$fa-var-eercast: "\f2da"; +$fa-var-eject: "\f052"; +$fa-var-ellipsis-h: "\f141"; +$fa-var-ellipsis-v: "\f142"; +$fa-var-empire: "\f1d1"; +$fa-var-envelope: "\f0e0"; +$fa-var-envelope-o: "\f003"; +$fa-var-envelope-open: "\f2b6"; +$fa-var-envelope-open-o: "\f2b7"; +$fa-var-envelope-square: "\f199"; +$fa-var-envira: "\f299"; +$fa-var-eraser: "\f12d"; +$fa-var-etsy: "\f2d7"; +$fa-var-eur: "\f153"; +$fa-var-euro: "\f153"; +$fa-var-exchange: "\f0ec"; +$fa-var-exclamation: "\f12a"; +$fa-var-exclamation-circle: "\f06a"; +$fa-var-exclamation-triangle: "\f071"; +$fa-var-expand: "\f065"; +$fa-var-expeditedssl: "\f23e"; +$fa-var-external-link: "\f08e"; +$fa-var-external-link-square: "\f14c"; +$fa-var-eye: "\f06e"; +$fa-var-eye-slash: "\f070"; +$fa-var-eyedropper: "\f1fb"; +$fa-var-fa: "\f2b4"; +$fa-var-facebook: "\f09a"; +$fa-var-facebook-f: "\f09a"; +$fa-var-facebook-official: "\f230"; +$fa-var-facebook-square: "\f082"; +$fa-var-fast-backward: "\f049"; +$fa-var-fast-forward: "\f050"; +$fa-var-fax: "\f1ac"; +$fa-var-feed: "\f09e"; +$fa-var-female: "\f182"; +$fa-var-fighter-jet: "\f0fb"; +$fa-var-file: "\f15b"; +$fa-var-file-archive-o: "\f1c6"; +$fa-var-file-audio-o: "\f1c7"; +$fa-var-file-code-o: "\f1c9"; +$fa-var-file-excel-o: "\f1c3"; +$fa-var-file-image-o: "\f1c5"; +$fa-var-file-movie-o: "\f1c8"; +$fa-var-file-o: "\f016"; +$fa-var-file-pdf-o: "\f1c1"; +$fa-var-file-photo-o: "\f1c5"; +$fa-var-file-picture-o: "\f1c5"; +$fa-var-file-powerpoint-o: "\f1c4"; +$fa-var-file-sound-o: "\f1c7"; +$fa-var-file-text: "\f15c"; +$fa-var-file-text-o: "\f0f6"; +$fa-var-file-video-o: "\f1c8"; +$fa-var-file-word-o: "\f1c2"; +$fa-var-file-zip-o: "\f1c6"; +$fa-var-files-o: "\f0c5"; +$fa-var-film: "\f008"; +$fa-var-filter: "\f0b0"; +$fa-var-fire: "\f06d"; +$fa-var-fire-extinguisher: "\f134"; +$fa-var-firefox: "\f269"; +$fa-var-first-order: "\f2b0"; +$fa-var-flag: "\f024"; +$fa-var-flag-checkered: "\f11e"; +$fa-var-flag-o: "\f11d"; +$fa-var-flash: "\f0e7"; +$fa-var-flask: "\f0c3"; +$fa-var-flickr: "\f16e"; +$fa-var-floppy-o: "\f0c7"; +$fa-var-folder: "\f07b"; +$fa-var-folder-o: "\f114"; +$fa-var-folder-open: "\f07c"; +$fa-var-folder-open-o: "\f115"; +$fa-var-font: "\f031"; +$fa-var-font-awesome: "\f2b4"; +$fa-var-fonticons: "\f280"; +$fa-var-fort-awesome: "\f286"; +$fa-var-forumbee: "\f211"; +$fa-var-forward: "\f04e"; +$fa-var-foursquare: "\f180"; +$fa-var-free-code-camp: "\f2c5"; +$fa-var-frown-o: "\f119"; +$fa-var-futbol-o: "\f1e3"; +$fa-var-gamepad: "\f11b"; +$fa-var-gavel: "\f0e3"; +$fa-var-gbp: "\f154"; +$fa-var-ge: "\f1d1"; +$fa-var-gear: "\f013"; +$fa-var-gears: "\f085"; +$fa-var-genderless: "\f22d"; +$fa-var-get-pocket: "\f265"; +$fa-var-gg: "\f260"; +$fa-var-gg-circle: "\f261"; +$fa-var-gift: "\f06b"; +$fa-var-git: "\f1d3"; +$fa-var-git-square: "\f1d2"; +$fa-var-github: "\f09b"; +$fa-var-github-alt: "\f113"; +$fa-var-github-square: "\f092"; +$fa-var-gitlab: "\f296"; +$fa-var-gittip: "\f184"; +$fa-var-glass: "\f000"; +$fa-var-glide: "\f2a5"; +$fa-var-glide-g: "\f2a6"; +$fa-var-globe: "\f0ac"; +$fa-var-google: "\f1a0"; +$fa-var-google-plus: "\f0d5"; +$fa-var-google-plus-circle: "\f2b3"; +$fa-var-google-plus-official: "\f2b3"; +$fa-var-google-plus-square: "\f0d4"; +$fa-var-google-wallet: "\f1ee"; +$fa-var-graduation-cap: "\f19d"; +$fa-var-gratipay: "\f184"; +$fa-var-grav: "\f2d6"; +$fa-var-group: "\f0c0"; +$fa-var-h-square: "\f0fd"; +$fa-var-hacker-news: "\f1d4"; +$fa-var-hand-grab-o: "\f255"; +$fa-var-hand-lizard-o: "\f258"; +$fa-var-hand-o-down: "\f0a7"; +$fa-var-hand-o-left: "\f0a5"; +$fa-var-hand-o-right: "\f0a4"; +$fa-var-hand-o-up: "\f0a6"; +$fa-var-hand-paper-o: "\f256"; +$fa-var-hand-peace-o: "\f25b"; +$fa-var-hand-pointer-o: "\f25a"; +$fa-var-hand-rock-o: "\f255"; +$fa-var-hand-scissors-o: "\f257"; +$fa-var-hand-spock-o: "\f259"; +$fa-var-hand-stop-o: "\f256"; +$fa-var-handshake-o: "\f2b5"; +$fa-var-hard-of-hearing: "\f2a4"; +$fa-var-hashtag: "\f292"; +$fa-var-hdd-o: "\f0a0"; +$fa-var-header: "\f1dc"; +$fa-var-headphones: "\f025"; +$fa-var-heart: "\f004"; +$fa-var-heart-o: "\f08a"; +$fa-var-heartbeat: "\f21e"; +$fa-var-history: "\f1da"; +$fa-var-home: "\f015"; +$fa-var-hospital-o: "\f0f8"; +$fa-var-hotel: "\f236"; +$fa-var-hourglass: "\f254"; +$fa-var-hourglass-1: "\f251"; +$fa-var-hourglass-2: "\f252"; +$fa-var-hourglass-3: "\f253"; +$fa-var-hourglass-end: "\f253"; +$fa-var-hourglass-half: "\f252"; +$fa-var-hourglass-o: "\f250"; +$fa-var-hourglass-start: "\f251"; +$fa-var-houzz: "\f27c"; +$fa-var-html5: "\f13b"; +$fa-var-i-cursor: "\f246"; +$fa-var-id-badge: "\f2c1"; +$fa-var-id-card: "\f2c2"; +$fa-var-id-card-o: "\f2c3"; +$fa-var-ils: "\f20b"; +$fa-var-image: "\f03e"; +$fa-var-imdb: "\f2d8"; +$fa-var-inbox: "\f01c"; +$fa-var-indent: "\f03c"; +$fa-var-industry: "\f275"; +$fa-var-info: "\f129"; +$fa-var-info-circle: "\f05a"; +$fa-var-inr: "\f156"; +$fa-var-instagram: "\f16d"; +$fa-var-institution: "\f19c"; +$fa-var-internet-explorer: "\f26b"; +$fa-var-intersex: "\f224"; +$fa-var-ioxhost: "\f208"; +$fa-var-italic: "\f033"; +$fa-var-joomla: "\f1aa"; +$fa-var-jpy: "\f157"; +$fa-var-jsfiddle: "\f1cc"; +$fa-var-key: "\f084"; +$fa-var-keyboard-o: "\f11c"; +$fa-var-krw: "\f159"; +$fa-var-language: "\f1ab"; +$fa-var-laptop: "\f109"; +$fa-var-lastfm: "\f202"; +$fa-var-lastfm-square: "\f203"; +$fa-var-leaf: "\f06c"; +$fa-var-leanpub: "\f212"; +$fa-var-legal: "\f0e3"; +$fa-var-lemon-o: "\f094"; +$fa-var-level-down: "\f149"; +$fa-var-level-up: "\f148"; +$fa-var-life-bouy: "\f1cd"; +$fa-var-life-buoy: "\f1cd"; +$fa-var-life-ring: "\f1cd"; +$fa-var-life-saver: "\f1cd"; +$fa-var-lightbulb-o: "\f0eb"; +$fa-var-line-chart: "\f201"; +$fa-var-link: "\f0c1"; +$fa-var-linkedin: "\f0e1"; +$fa-var-linkedin-square: "\f08c"; +$fa-var-linode: "\f2b8"; +$fa-var-linux: "\f17c"; +$fa-var-list: "\f03a"; +$fa-var-list-alt: "\f022"; +$fa-var-list-ol: "\f0cb"; +$fa-var-list-ul: "\f0ca"; +$fa-var-location-arrow: "\f124"; +$fa-var-lock: "\f023"; +$fa-var-long-arrow-down: "\f175"; +$fa-var-long-arrow-left: "\f177"; +$fa-var-long-arrow-right: "\f178"; +$fa-var-long-arrow-up: "\f176"; +$fa-var-low-vision: "\f2a8"; +$fa-var-magic: "\f0d0"; +$fa-var-magnet: "\f076"; +$fa-var-mail-forward: "\f064"; +$fa-var-mail-reply: "\f112"; +$fa-var-mail-reply-all: "\f122"; +$fa-var-male: "\f183"; +$fa-var-map: "\f279"; +$fa-var-map-marker: "\f041"; +$fa-var-map-o: "\f278"; +$fa-var-map-pin: "\f276"; +$fa-var-map-signs: "\f277"; +$fa-var-mars: "\f222"; +$fa-var-mars-double: "\f227"; +$fa-var-mars-stroke: "\f229"; +$fa-var-mars-stroke-h: "\f22b"; +$fa-var-mars-stroke-v: "\f22a"; +$fa-var-maxcdn: "\f136"; +$fa-var-meanpath: "\f20c"; +$fa-var-medium: "\f23a"; +$fa-var-medkit: "\f0fa"; +$fa-var-meetup: "\f2e0"; +$fa-var-meh-o: "\f11a"; +$fa-var-mercury: "\f223"; +$fa-var-microchip: "\f2db"; +$fa-var-microphone: "\f130"; +$fa-var-microphone-slash: "\f131"; +$fa-var-minus: "\f068"; +$fa-var-minus-circle: "\f056"; +$fa-var-minus-square: "\f146"; +$fa-var-minus-square-o: "\f147"; +$fa-var-mixcloud: "\f289"; +$fa-var-mobile: "\f10b"; +$fa-var-mobile-phone: "\f10b"; +$fa-var-modx: "\f285"; +$fa-var-money: "\f0d6"; +$fa-var-moon-o: "\f186"; +$fa-var-mortar-board: "\f19d"; +$fa-var-motorcycle: "\f21c"; +$fa-var-mouse-pointer: "\f245"; +$fa-var-music: "\f001"; +$fa-var-navicon: "\f0c9"; +$fa-var-neuter: "\f22c"; +$fa-var-newspaper-o: "\f1ea"; +$fa-var-object-group: "\f247"; +$fa-var-object-ungroup: "\f248"; +$fa-var-odnoklassniki: "\f263"; +$fa-var-odnoklassniki-square: "\f264"; +$fa-var-opencart: "\f23d"; +$fa-var-openid: "\f19b"; +$fa-var-opera: "\f26a"; +$fa-var-optin-monster: "\f23c"; +$fa-var-outdent: "\f03b"; +$fa-var-pagelines: "\f18c"; +$fa-var-paint-brush: "\f1fc"; +$fa-var-paper-plane: "\f1d8"; +$fa-var-paper-plane-o: "\f1d9"; +$fa-var-paperclip: "\f0c6"; +$fa-var-paragraph: "\f1dd"; +$fa-var-paste: "\f0ea"; +$fa-var-pause: "\f04c"; +$fa-var-pause-circle: "\f28b"; +$fa-var-pause-circle-o: "\f28c"; +$fa-var-paw: "\f1b0"; +$fa-var-paypal: "\f1ed"; +$fa-var-pencil: "\f040"; +$fa-var-pencil-square: "\f14b"; +$fa-var-pencil-square-o: "\f044"; +$fa-var-percent: "\f295"; +$fa-var-phone: "\f095"; +$fa-var-phone-square: "\f098"; +$fa-var-photo: "\f03e"; +$fa-var-picture-o: "\f03e"; +$fa-var-pie-chart: "\f200"; +$fa-var-pied-piper: "\f2ae"; +$fa-var-pied-piper-alt: "\f1a8"; +$fa-var-pied-piper-pp: "\f1a7"; +$fa-var-pinterest: "\f0d2"; +$fa-var-pinterest-p: "\f231"; +$fa-var-pinterest-square: "\f0d3"; +$fa-var-plane: "\f072"; +$fa-var-play: "\f04b"; +$fa-var-play-circle: "\f144"; +$fa-var-play-circle-o: "\f01d"; +$fa-var-plug: "\f1e6"; +$fa-var-plus: "\f067"; +$fa-var-plus-circle: "\f055"; +$fa-var-plus-square: "\f0fe"; +$fa-var-plus-square-o: "\f196"; +$fa-var-podcast: "\f2ce"; +$fa-var-power-off: "\f011"; +$fa-var-print: "\f02f"; +$fa-var-product-hunt: "\f288"; +$fa-var-puzzle-piece: "\f12e"; +$fa-var-qq: "\f1d6"; +$fa-var-qrcode: "\f029"; +$fa-var-question: "\f128"; +$fa-var-question-circle: "\f059"; +$fa-var-question-circle-o: "\f29c"; +$fa-var-quora: "\f2c4"; +$fa-var-quote-left: "\f10d"; +$fa-var-quote-right: "\f10e"; +$fa-var-ra: "\f1d0"; +$fa-var-random: "\f074"; +$fa-var-ravelry: "\f2d9"; +$fa-var-rebel: "\f1d0"; +$fa-var-recycle: "\f1b8"; +$fa-var-reddit: "\f1a1"; +$fa-var-reddit-alien: "\f281"; +$fa-var-reddit-square: "\f1a2"; +$fa-var-refresh: "\f021"; +$fa-var-registered: "\f25d"; +$fa-var-remove: "\f00d"; +$fa-var-renren: "\f18b"; +$fa-var-reorder: "\f0c9"; +$fa-var-repeat: "\f01e"; +$fa-var-reply: "\f112"; +$fa-var-reply-all: "\f122"; +$fa-var-resistance: "\f1d0"; +$fa-var-retweet: "\f079"; +$fa-var-rmb: "\f157"; +$fa-var-road: "\f018"; +$fa-var-rocket: "\f135"; +$fa-var-rotate-left: "\f0e2"; +$fa-var-rotate-right: "\f01e"; +$fa-var-rouble: "\f158"; +$fa-var-rss: "\f09e"; +$fa-var-rss-square: "\f143"; +$fa-var-rub: "\f158"; +$fa-var-ruble: "\f158"; +$fa-var-rupee: "\f156"; +$fa-var-s15: "\f2cd"; +$fa-var-safari: "\f267"; +$fa-var-save: "\f0c7"; +$fa-var-scissors: "\f0c4"; +$fa-var-scribd: "\f28a"; +$fa-var-search: "\f002"; +$fa-var-search-minus: "\f010"; +$fa-var-search-plus: "\f00e"; +$fa-var-sellsy: "\f213"; +$fa-var-send: "\f1d8"; +$fa-var-send-o: "\f1d9"; +$fa-var-server: "\f233"; +$fa-var-share: "\f064"; +$fa-var-share-alt: "\f1e0"; +$fa-var-share-alt-square: "\f1e1"; +$fa-var-share-square: "\f14d"; +$fa-var-share-square-o: "\f045"; +$fa-var-shekel: "\f20b"; +$fa-var-sheqel: "\f20b"; +$fa-var-shield: "\f132"; +$fa-var-ship: "\f21a"; +$fa-var-shirtsinbulk: "\f214"; +$fa-var-shopping-bag: "\f290"; +$fa-var-shopping-basket: "\f291"; +$fa-var-shopping-cart: "\f07a"; +$fa-var-shower: "\f2cc"; +$fa-var-sign-in: "\f090"; +$fa-var-sign-language: "\f2a7"; +$fa-var-sign-out: "\f08b"; +$fa-var-signal: "\f012"; +$fa-var-signing: "\f2a7"; +$fa-var-simplybuilt: "\f215"; +$fa-var-sitemap: "\f0e8"; +$fa-var-skyatlas: "\f216"; +$fa-var-skype: "\f17e"; +$fa-var-slack: "\f198"; +$fa-var-sliders: "\f1de"; +$fa-var-slideshare: "\f1e7"; +$fa-var-smile-o: "\f118"; +$fa-var-snapchat: "\f2ab"; +$fa-var-snapchat-ghost: "\f2ac"; +$fa-var-snapchat-square: "\f2ad"; +$fa-var-snowflake-o: "\f2dc"; +$fa-var-soccer-ball-o: "\f1e3"; +$fa-var-sort: "\f0dc"; +$fa-var-sort-alpha-asc: "\f15d"; +$fa-var-sort-alpha-desc: "\f15e"; +$fa-var-sort-amount-asc: "\f160"; +$fa-var-sort-amount-desc: "\f161"; +$fa-var-sort-asc: "\f0de"; +$fa-var-sort-desc: "\f0dd"; +$fa-var-sort-down: "\f0dd"; +$fa-var-sort-numeric-asc: "\f162"; +$fa-var-sort-numeric-desc: "\f163"; +$fa-var-sort-up: "\f0de"; +$fa-var-soundcloud: "\f1be"; +$fa-var-space-shuttle: "\f197"; +$fa-var-spinner: "\f110"; +$fa-var-spoon: "\f1b1"; +$fa-var-spotify: "\f1bc"; +$fa-var-square: "\f0c8"; +$fa-var-square-o: "\f096"; +$fa-var-stack-exchange: "\f18d"; +$fa-var-stack-overflow: "\f16c"; +$fa-var-star: "\f005"; +$fa-var-star-half: "\f089"; +$fa-var-star-half-empty: "\f123"; +$fa-var-star-half-full: "\f123"; +$fa-var-star-half-o: "\f123"; +$fa-var-star-o: "\f006"; +$fa-var-steam: "\f1b6"; +$fa-var-steam-square: "\f1b7"; +$fa-var-step-backward: "\f048"; +$fa-var-step-forward: "\f051"; +$fa-var-stethoscope: "\f0f1"; +$fa-var-sticky-note: "\f249"; +$fa-var-sticky-note-o: "\f24a"; +$fa-var-stop: "\f04d"; +$fa-var-stop-circle: "\f28d"; +$fa-var-stop-circle-o: "\f28e"; +$fa-var-street-view: "\f21d"; +$fa-var-strikethrough: "\f0cc"; +$fa-var-stumbleupon: "\f1a4"; +$fa-var-stumbleupon-circle: "\f1a3"; +$fa-var-subscript: "\f12c"; +$fa-var-subway: "\f239"; +$fa-var-suitcase: "\f0f2"; +$fa-var-sun-o: "\f185"; +$fa-var-superpowers: "\f2dd"; +$fa-var-superscript: "\f12b"; +$fa-var-support: "\f1cd"; +$fa-var-table: "\f0ce"; +$fa-var-tablet: "\f10a"; +$fa-var-tachometer: "\f0e4"; +$fa-var-tag: "\f02b"; +$fa-var-tags: "\f02c"; +$fa-var-tasks: "\f0ae"; +$fa-var-taxi: "\f1ba"; +$fa-var-telegram: "\f2c6"; +$fa-var-television: "\f26c"; +$fa-var-tencent-weibo: "\f1d5"; +$fa-var-terminal: "\f120"; +$fa-var-text-height: "\f034"; +$fa-var-text-width: "\f035"; +$fa-var-th: "\f00a"; +$fa-var-th-large: "\f009"; +$fa-var-th-list: "\f00b"; +$fa-var-themeisle: "\f2b2"; +$fa-var-thermometer: "\f2c7"; +$fa-var-thermometer-0: "\f2cb"; +$fa-var-thermometer-1: "\f2ca"; +$fa-var-thermometer-2: "\f2c9"; +$fa-var-thermometer-3: "\f2c8"; +$fa-var-thermometer-4: "\f2c7"; +$fa-var-thermometer-empty: "\f2cb"; +$fa-var-thermometer-full: "\f2c7"; +$fa-var-thermometer-half: "\f2c9"; +$fa-var-thermometer-quarter: "\f2ca"; +$fa-var-thermometer-three-quarters: "\f2c8"; +$fa-var-thumb-tack: "\f08d"; +$fa-var-thumbs-down: "\f165"; +$fa-var-thumbs-o-down: "\f088"; +$fa-var-thumbs-o-up: "\f087"; +$fa-var-thumbs-up: "\f164"; +$fa-var-ticket: "\f145"; +$fa-var-times: "\f00d"; +$fa-var-times-circle: "\f057"; +$fa-var-times-circle-o: "\f05c"; +$fa-var-times-rectangle: "\f2d3"; +$fa-var-times-rectangle-o: "\f2d4"; +$fa-var-tint: "\f043"; +$fa-var-toggle-down: "\f150"; +$fa-var-toggle-left: "\f191"; +$fa-var-toggle-off: "\f204"; +$fa-var-toggle-on: "\f205"; +$fa-var-toggle-right: "\f152"; +$fa-var-toggle-up: "\f151"; +$fa-var-trademark: "\f25c"; +$fa-var-train: "\f238"; +$fa-var-transgender: "\f224"; +$fa-var-transgender-alt: "\f225"; +$fa-var-trash: "\f1f8"; +$fa-var-trash-o: "\f014"; +$fa-var-tree: "\f1bb"; +$fa-var-trello: "\f181"; +$fa-var-tripadvisor: "\f262"; +$fa-var-trophy: "\f091"; +$fa-var-truck: "\f0d1"; +$fa-var-try: "\f195"; +$fa-var-tty: "\f1e4"; +$fa-var-tumblr: "\f173"; +$fa-var-tumblr-square: "\f174"; +$fa-var-turkish-lira: "\f195"; +$fa-var-tv: "\f26c"; +$fa-var-twitch: "\f1e8"; +$fa-var-twitter: "\f099"; +$fa-var-twitter-square: "\f081"; +$fa-var-umbrella: "\f0e9"; +$fa-var-underline: "\f0cd"; +$fa-var-undo: "\f0e2"; +$fa-var-universal-access: "\f29a"; +$fa-var-university: "\f19c"; +$fa-var-unlink: "\f127"; +$fa-var-unlock: "\f09c"; +$fa-var-unlock-alt: "\f13e"; +$fa-var-unsorted: "\f0dc"; +$fa-var-upload: "\f093"; +$fa-var-usb: "\f287"; +$fa-var-usd: "\f155"; +$fa-var-user: "\f007"; +$fa-var-user-circle: "\f2bd"; +$fa-var-user-circle-o: "\f2be"; +$fa-var-user-md: "\f0f0"; +$fa-var-user-o: "\f2c0"; +$fa-var-user-plus: "\f234"; +$fa-var-user-secret: "\f21b"; +$fa-var-user-times: "\f235"; +$fa-var-users: "\f0c0"; +$fa-var-vcard: "\f2bb"; +$fa-var-vcard-o: "\f2bc"; +$fa-var-venus: "\f221"; +$fa-var-venus-double: "\f226"; +$fa-var-venus-mars: "\f228"; +$fa-var-viacoin: "\f237"; +$fa-var-viadeo: "\f2a9"; +$fa-var-viadeo-square: "\f2aa"; +$fa-var-video-camera: "\f03d"; +$fa-var-vimeo: "\f27d"; +$fa-var-vimeo-square: "\f194"; +$fa-var-vine: "\f1ca"; +$fa-var-vk: "\f189"; +$fa-var-volume-control-phone: "\f2a0"; +$fa-var-volume-down: "\f027"; +$fa-var-volume-off: "\f026"; +$fa-var-volume-up: "\f028"; +$fa-var-warning: "\f071"; +$fa-var-wechat: "\f1d7"; +$fa-var-weibo: "\f18a"; +$fa-var-weixin: "\f1d7"; +$fa-var-whatsapp: "\f232"; +$fa-var-wheelchair: "\f193"; +$fa-var-wheelchair-alt: "\f29b"; +$fa-var-wifi: "\f1eb"; +$fa-var-wikipedia-w: "\f266"; +$fa-var-window-close: "\f2d3"; +$fa-var-window-close-o: "\f2d4"; +$fa-var-window-maximize: "\f2d0"; +$fa-var-window-minimize: "\f2d1"; +$fa-var-window-restore: "\f2d2"; +$fa-var-windows: "\f17a"; +$fa-var-won: "\f159"; +$fa-var-wordpress: "\f19a"; +$fa-var-wpbeginner: "\f297"; +$fa-var-wpexplorer: "\f2de"; +$fa-var-wpforms: "\f298"; +$fa-var-wrench: "\f0ad"; +$fa-var-xing: "\f168"; +$fa-var-xing-square: "\f169"; +$fa-var-y-combinator: "\f23b"; +$fa-var-y-combinator-square: "\f1d4"; +$fa-var-yahoo: "\f19e"; +$fa-var-yc: "\f23b"; +$fa-var-yc-square: "\f1d4"; +$fa-var-yelp: "\f1e9"; +$fa-var-yen: "\f157"; +$fa-var-yoast: "\f2b1"; +$fa-var-youtube: "\f167"; +$fa-var-youtube-play: "\f16a"; +$fa-var-youtube-square: "\f166"; + diff --git a/templates/qnloft/assets/fontawesome-4.7.0/scss/font-awesome.scss b/templates/qnloft/assets/fontawesome-4.7.0/scss/font-awesome.scss new file mode 100644 index 0000000..f1c83aa --- /dev/null +++ b/templates/qnloft/assets/fontawesome-4.7.0/scss/font-awesome.scss @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; +@import "screen-reader"; diff --git a/templates/qnloft/assets/images/bg-bio.jpg b/templates/qnloft/assets/images/bg-bio.jpg new file mode 100644 index 0000000..edf086e Binary files /dev/null and b/templates/qnloft/assets/images/bg-bio.jpg differ diff --git a/templates/qnloft/assets/images/bg-dna.jpg b/templates/qnloft/assets/images/bg-dna.jpg new file mode 100644 index 0000000..9e23337 Binary files /dev/null and b/templates/qnloft/assets/images/bg-dna.jpg differ diff --git a/templates/qnloft/assets/images/bg-math.jpg b/templates/qnloft/assets/images/bg-math.jpg new file mode 100644 index 0000000..58e3ecc Binary files /dev/null and b/templates/qnloft/assets/images/bg-math.jpg differ diff --git a/templates/qnloft/assets/images/bt.png b/templates/qnloft/assets/images/bt.png new file mode 100644 index 0000000..686b19d Binary files /dev/null and b/templates/qnloft/assets/images/bt.png differ diff --git a/templates/qnloft/assets/images/bt8-expand-dark.png b/templates/qnloft/assets/images/bt8-expand-dark.png new file mode 100644 index 0000000..1c48cac Binary files /dev/null and b/templates/qnloft/assets/images/bt8-expand-dark.png differ diff --git a/templates/qnloft/assets/images/bt8-expand-light.png b/templates/qnloft/assets/images/bt8-expand-light.png new file mode 100644 index 0000000..5cfebb1 Binary files /dev/null and b/templates/qnloft/assets/images/bt8-expand-light.png differ diff --git a/templates/qnloft/assets/images/favicon.png b/templates/qnloft/assets/images/favicon.png new file mode 100644 index 0000000..686b19d Binary files /dev/null and b/templates/qnloft/assets/images/favicon.png differ diff --git a/templates/qnloft/assets/images/forkme_on_github_right_darkblue.png b/templates/qnloft/assets/images/forkme_on_github_right_darkblue.png new file mode 100644 index 0000000..146ef8a Binary files /dev/null and b/templates/qnloft/assets/images/forkme_on_github_right_darkblue.png differ diff --git a/templates/qnloft/assets/images/logo-collapse-dark.png b/templates/qnloft/assets/images/logo-collapse-dark.png new file mode 100644 index 0000000..e405d27 Binary files /dev/null and b/templates/qnloft/assets/images/logo-collapse-dark.png differ diff --git a/templates/qnloft/assets/images/logo-collapse-light.png b/templates/qnloft/assets/images/logo-collapse-light.png new file mode 100644 index 0000000..10f1d19 Binary files /dev/null and b/templates/qnloft/assets/images/logo-collapse-light.png differ diff --git a/templates/qnloft/assets/images/logo-collapsed@2x.png b/templates/qnloft/assets/images/logo-collapsed@2x.png new file mode 100644 index 0000000..e405d27 Binary files /dev/null and b/templates/qnloft/assets/images/logo-collapsed@2x.png differ diff --git a/templates/qnloft/assets/images/logo@2x.png b/templates/qnloft/assets/images/logo@2x.png new file mode 100644 index 0000000..a0c1a4a Binary files /dev/null and b/templates/qnloft/assets/images/logo@2x.png differ diff --git a/templates/qnloft/assets/images/logo_dark@2x.png b/templates/qnloft/assets/images/logo_dark@2x.png new file mode 100644 index 0000000..76f1a51 Binary files /dev/null and b/templates/qnloft/assets/images/logo_dark@2x.png differ diff --git a/templates/qnloft/assets/images/off_on.png b/templates/qnloft/assets/images/off_on.png new file mode 100644 index 0000000..177851f Binary files /dev/null and b/templates/qnloft/assets/images/off_on.png differ diff --git a/templates/qnloft/assets/images/search_icon.png b/templates/qnloft/assets/images/search_icon.png new file mode 100644 index 0000000..c3de8f7 Binary files /dev/null and b/templates/qnloft/assets/images/search_icon.png differ diff --git a/templates/qnloft/assets/js/TweenMax.min.js b/templates/qnloft/assets/js/TweenMax.min.js new file mode 100644 index 0000000..16d66c6 --- /dev/null +++ b/templates/qnloft/assets/js/TweenMax.min.js @@ -0,0 +1,17 @@ +/*! + * VERSION: 1.13.1 + * DATE: 2014-07-19 + * UPDATES AND DOCS AT: http://www.greensock.com + * + * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin + * + * @license Copyright (c) 2008-2014, GreenSock. All rights reserved. + * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + **/ +var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("TweenMax",["core.Animation","core.SimpleTimeline","TweenLite"],function(t,e,i){var s=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},r=function(t,e,s){i.call(this,t,e,s),this._cycle=0,this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._dirty=!0,this.render=r.prototype.render},n=1e-10,a=i._internals,o=a.isSelector,h=a.isArray,l=r.prototype=i.to({},.1,{}),_=[];r.version="1.13.1",l.constructor=r,l.kill()._gc=!1,r.killTweensOf=r.killDelayedCallsTo=i.killTweensOf,r.getTweensOf=i.getTweensOf,r.lagSmoothing=i.lagSmoothing,r.ticker=i.ticker,r.render=i.render,l.invalidate=function(){return this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),i.prototype.invalidate.call(this)},l.updateTo=function(t,e){var s,r=this.ratio;e&&this._startTime.998){var n=this._time;this.render(0,!0,!1),this._initted=!1,this.render(n,!0,!1)}else if(this._time>0){this._initted=!1,this._init();for(var a,o=1/(1-r),h=this._firstPT;h;)a=h.s+h.c,h.c*=o,h.s=a-h.c,h=h._next}return this},l.render=function(t,e,i){this._initted||0===this._duration&&this.vars.repeat&&this.invalidate();var s,r,o,h,l,u,p,c,f=this._dirty?this.totalDuration():this._totalDuration,m=this._time,d=this._totalTime,g=this._cycle,v=this._duration,y=this._rawPrevTime;if(t>=f?(this._totalTime=f,this._cycle=this._repeat,this._yoyo&&0!==(1&this._cycle)?(this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0):(this._time=v,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1),this._reversed||(s=!0,r="onComplete"),0===v&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(0===t||0>y||y===n)&&y!==t&&(i=!0,y>n&&(r="onReverseComplete")),this._rawPrevTime=c=!e||t||y===t?t:n)):1e-7>t?(this._totalTime=this._time=this._cycle=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==d||0===v&&y>0&&y!==n)&&(r="onReverseComplete",s=this._reversed),0>t?(this._active=!1,0===v&&(this._initted||!this.vars.lazy||i)&&(y>=0&&(i=!0),this._rawPrevTime=c=!e||t||y===t?t:n)):this._initted||(i=!0)):(this._totalTime=this._time=t,0!==this._repeat&&(h=v+this._repeatDelay,this._cycle=this._totalTime/h>>0,0!==this._cycle&&this._cycle===this._totalTime/h&&this._cycle--,this._time=this._totalTime-this._cycle*h,this._yoyo&&0!==(1&this._cycle)&&(this._time=v-this._time),this._time>v?this._time=v:0>this._time&&(this._time=0)),this._easeType?(l=this._time/v,u=this._easeType,p=this._easePower,(1===u||3===u&&l>=.5)&&(l=1-l),3===u&&(l*=2),1===p?l*=l:2===p?l*=l*l:3===p?l*=l*l*l:4===p&&(l*=l*l*l*l),this.ratio=1===u?1-l:2===u?l:.5>this._time/v?l/2:1-l/2):this.ratio=this._ease.getRatio(this._time/v)),m===this._time&&!i&&g===this._cycle)return d!==this._totalTime&&this._onUpdate&&(e||this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||_)),void 0;if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=m,this._totalTime=d,this._rawPrevTime=y,this._cycle=g,a.lazyTweens.push(this),this._lazy=t,void 0;this._time&&!s?this.ratio=this._ease.getRatio(this._time/v):s&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==m&&t>=0&&(this._active=!0),0===d&&(2===this._initted&&t>0&&this._init(),this._startAt&&(t>=0?this._startAt.render(t,e,i):r||(r="_dummyGS")),this.vars.onStart&&(0!==this._totalTime||0===v)&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||_))),o=this._firstPT;o;)o.f?o.t[o.p](o.c*this.ratio+o.s):o.t[o.p]=o.c*this.ratio+o.s,o=o._next;this._onUpdate&&(0>t&&this._startAt&&this._startTime&&this._startAt.render(t,e,i),e||(this._totalTime!==d||s)&&this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||_)),this._cycle!==g&&(e||this._gc||this.vars.onRepeat&&this.vars.onRepeat.apply(this.vars.onRepeatScope||this,this.vars.onRepeatParams||_)),r&&(!this._gc||i)&&(0>t&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(t,e,i),s&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[r]&&this.vars[r].apply(this.vars[r+"Scope"]||this,this.vars[r+"Params"]||_),0===v&&this._rawPrevTime===n&&c!==n&&(this._rawPrevTime=0))},r.to=function(t,e,i){return new r(t,e,i)},r.from=function(t,e,i){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,new r(t,e,i)},r.fromTo=function(t,e,i,s){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,new r(t,e,s)},r.staggerTo=r.allTo=function(t,e,n,a,l,u,p){a=a||0;var c,f,m,d,g=n.delay||0,v=[],y=function(){n.onComplete&&n.onComplete.apply(n.onCompleteScope||this,arguments),l.apply(p||this,u||_)};for(h(t)||("string"==typeof t&&(t=i.selector(t)||t),o(t)&&(t=s(t))),c=t.length,m=0;c>m;m++){f={};for(d in n)f[d]=n[d];f.delay=g,m===c-1&&l&&(f.onComplete=y),v[m]=new r(t[m],e,f),g+=a}return v},r.staggerFrom=r.allFrom=function(t,e,i,s,n,a,o){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,r.staggerTo(t,e,i,s,n,a,o)},r.staggerFromTo=r.allFromTo=function(t,e,i,s,n,a,o,h){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,r.staggerTo(t,e,s,n,a,o,h)},r.delayedCall=function(t,e,i,s,n){return new r(e,0,{delay:t,onComplete:e,onCompleteParams:i,onCompleteScope:s,onReverseComplete:e,onReverseCompleteParams:i,onReverseCompleteScope:s,immediateRender:!1,useFrames:n,overwrite:0})},r.set=function(t,e){return new r(t,0,e)},r.isTweening=function(t){return i.getTweensOf(t,!0).length>0};var u=function(t,e){for(var s=[],r=0,n=t._first;n;)n instanceof i?s[r++]=n:(e&&(s[r++]=n),s=s.concat(u(n,e)),r=s.length),n=n._next;return s},p=r.getAllTweens=function(e){return u(t._rootTimeline,e).concat(u(t._rootFramesTimeline,e))};r.killAll=function(t,i,s,r){null==i&&(i=!0),null==s&&(s=!0);var n,a,o,h=p(0!=r),l=h.length,_=i&&s&&r;for(o=0;l>o;o++)a=h[o],(_||a instanceof e||(n=a.target===a.vars.onComplete)&&s||i&&!n)&&(t?a.totalTime(a._reversed?0:a.totalDuration()):a._enabled(!1,!1))},r.killChildTweensOf=function(t,e){if(null!=t){var n,l,_,u,p,c=a.tweenLookup;if("string"==typeof t&&(t=i.selector(t)||t),o(t)&&(t=s(t)),h(t))for(u=t.length;--u>-1;)r.killChildTweensOf(t[u],e);else{n=[];for(_ in c)for(l=c[_].target.parentNode;l;)l===t&&(n=n.concat(c[_].tweens)),l=l.parentNode;for(p=n.length,u=0;p>u;u++)e&&n[u].totalTime(n[u].totalDuration()),n[u]._enabled(!1,!1)}}};var c=function(t,i,s,r){i=i!==!1,s=s!==!1,r=r!==!1;for(var n,a,o=p(r),h=i&&s&&r,l=o.length;--l>-1;)a=o[l],(h||a instanceof e||(n=a.target===a.vars.onComplete)&&s||i&&!n)&&a.paused(t)};return r.pauseAll=function(t,e,i){c(!0,t,e,i)},r.resumeAll=function(t,e,i){c(!1,t,e,i)},r.globalTimeScale=function(e){var s=t._rootTimeline,r=i.ticker.time;return arguments.length?(e=e||n,s._startTime=r-(r-s._startTime)*s._timeScale/e,s=t._rootFramesTimeline,r=i.ticker.frame,s._startTime=r-(r-s._startTime)*s._timeScale/e,s._timeScale=t._rootTimeline._timeScale=e,e):s._timeScale},l.progress=function(t){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),!1):this._time/this.duration()},l.totalProgress=function(t){return arguments.length?this.totalTime(this.totalDuration()*t,!1):this._totalTime/this.totalDuration()},l.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!==(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},l.duration=function(e){return arguments.length?t.prototype.duration.call(this,e):this._duration},l.totalDuration=function(t){return arguments.length?-1===this._repeat?this:this.duration((t-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat,this._dirty=!1),this._totalDuration)},l.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},l.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},l.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},r},!0),_gsScope._gsDefine("TimelineLite",["core.Animation","core.SimpleTimeline","TweenLite"],function(t,e,i){var s=function(t){e.call(this,t),this._labels={},this.autoRemoveChildren=this.vars.autoRemoveChildren===!0,this.smoothChildTiming=this.vars.smoothChildTiming===!0,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var i,s,r=this.vars;for(s in r)i=r[s],o(i)&&-1!==i.join("").indexOf("{self}")&&(r[s]=this._swapSelfInParams(i));o(r.tweens)&&this.add(r.tweens,0,r.align,r.stagger)},r=1e-10,n=i._internals,a=n.isSelector,o=n.isArray,h=n.lazyTweens,l=n.lazyRender,_=[],u=_gsScope._gsDefine.globals,p=function(t){var e,i={};for(e in t)i[e]=t[e];return i},c=function(t,e,i,s){t._timeline.pause(t._startTime),e&&e.apply(s||t._timeline,i||_)},f=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},m=s.prototype=new e;return s.version="1.13.1",m.constructor=s,m.kill()._gc=!1,m.to=function(t,e,s,r){var n=s.repeat&&u.TweenMax||i;return e?this.add(new n(t,e,s),r):this.set(t,s,r)},m.from=function(t,e,s,r){return this.add((s.repeat&&u.TweenMax||i).from(t,e,s),r)},m.fromTo=function(t,e,s,r,n){var a=r.repeat&&u.TweenMax||i;return e?this.add(a.fromTo(t,e,s,r),n):this.set(t,r,n)},m.staggerTo=function(t,e,r,n,o,h,l,_){var u,c=new s({onComplete:h,onCompleteParams:l,onCompleteScope:_,smoothChildTiming:this.smoothChildTiming});for("string"==typeof t&&(t=i.selector(t)||t),a(t)&&(t=f(t)),n=n||0,u=0;t.length>u;u++)r.startAt&&(r.startAt=p(r.startAt)),c.to(t[u],e,p(r),u*n);return this.add(c,o)},m.staggerFrom=function(t,e,i,s,r,n,a,o){return i.immediateRender=0!=i.immediateRender,i.runBackwards=!0,this.staggerTo(t,e,i,s,r,n,a,o)},m.staggerFromTo=function(t,e,i,s,r,n,a,o,h){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,this.staggerTo(t,e,s,r,n,a,o,h)},m.call=function(t,e,s,r){return this.add(i.delayedCall(0,t,e,s),r)},m.set=function(t,e,s){return s=this._parseTimeOrLabel(s,0,!0),null==e.immediateRender&&(e.immediateRender=s===this._time&&!this._paused),this.add(new i(t,0,e),s)},s.exportRoot=function(t,e){t=t||{},null==t.smoothChildTiming&&(t.smoothChildTiming=!0);var r,n,a=new s(t),o=a._timeline;for(null==e&&(e=!0),o._remove(a,!0),a._startTime=0,a._rawPrevTime=a._time=a._totalTime=o._time,r=o._first;r;)n=r._next,e&&r instanceof i&&r.target===r.vars.onComplete||a.add(r,r._startTime-r._delay),r=n;return o.add(a,0),a},m.add=function(r,n,a,h){var l,_,u,p,c,f;if("number"!=typeof n&&(n=this._parseTimeOrLabel(n,0,!0,r)),!(r instanceof t)){if(r instanceof Array||r&&r.push&&o(r)){for(a=a||"normal",h=h||0,l=n,_=r.length,u=0;_>u;u++)o(p=r[u])&&(p=new s({tweens:p})),this.add(p,l),"string"!=typeof p&&"function"!=typeof p&&("sequence"===a?l=p._startTime+p.totalDuration()/p._timeScale:"start"===a&&(p._startTime-=p.delay())),l+=h;return this._uncache(!0)}if("string"==typeof r)return this.addLabel(r,n);if("function"!=typeof r)throw"Cannot add "+r+" into the timeline; it is not a tween, timeline, function, or string.";r=i.delayedCall(0,r)}if(e.prototype.add.call(this,r,n),(this._gc||this._time===this._duration)&&!this._paused&&this._durationr._startTime;c._timeline;)f&&c._timeline.smoothChildTiming?c.totalTime(c._totalTime,!0):c._gc&&c._enabled(!0,!1),c=c._timeline;return this},m.remove=function(e){if(e instanceof t)return this._remove(e,!1);if(e instanceof Array||e&&e.push&&o(e)){for(var i=e.length;--i>-1;)this.remove(e[i]);return this}return"string"==typeof e?this.removeLabel(e):this.kill(null,e)},m._remove=function(t,i){e.prototype._remove.call(this,t,i);var s=this._last;return s?this._time>s._startTime+s._totalDuration/s._timeScale&&(this._time=this.duration(),this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},m.append=function(t,e){return this.add(t,this._parseTimeOrLabel(null,e,!0,t))},m.insert=m.insertMultiple=function(t,e,i,s){return this.add(t,e||0,i,s)},m.appendMultiple=function(t,e,i,s){return this.add(t,this._parseTimeOrLabel(null,e,!0,t),i,s)},m.addLabel=function(t,e){return this._labels[t]=this._parseTimeOrLabel(e),this},m.addPause=function(t,e,i,s){return this.call(c,["{self}",e,i,s],this,t)},m.removeLabel=function(t){return delete this._labels[t],this},m.getLabelTime=function(t){return null!=this._labels[t]?this._labels[t]:-1},m._parseTimeOrLabel=function(e,i,s,r){var n;if(r instanceof t&&r.timeline===this)this.remove(r);else if(r&&(r instanceof Array||r.push&&o(r)))for(n=r.length;--n>-1;)r[n]instanceof t&&r[n].timeline===this&&this.remove(r[n]);if("string"==typeof i)return this._parseTimeOrLabel(i,s&&"number"==typeof e&&null==this._labels[i]?e-this.duration():0,s);if(i=i||0,"string"!=typeof e||!isNaN(e)&&null==this._labels[e])null==e&&(e=this.duration());else{if(n=e.indexOf("="),-1===n)return null==this._labels[e]?s?this._labels[e]=this.duration()+i:i:this._labels[e]+i;i=parseInt(e.charAt(n-1)+"1",10)*Number(e.substr(n+1)),e=n>1?this._parseTimeOrLabel(e.substr(0,n-1),0,s):this.duration()}return Number(e)+i},m.seek=function(t,e){return this.totalTime("number"==typeof t?t:this._parseTimeOrLabel(t),e!==!1)},m.stop=function(){return this.paused(!0)},m.gotoAndPlay=function(t,e){return this.play(t,e)},m.gotoAndStop=function(t,e){return this.pause(t,e)},m.render=function(t,e,i){this._gc&&this._enabled(!0,!1);var s,n,a,o,u,p=this._dirty?this.totalDuration():this._totalDuration,c=this._time,f=this._startTime,m=this._timeScale,d=this._paused;if(t>=p?(this._totalTime=this._time=p,this._reversed||this._hasPausedChild()||(n=!0,o="onComplete",0===this._duration&&(0===t||0>this._rawPrevTime||this._rawPrevTime===r)&&this._rawPrevTime!==t&&this._first&&(u=!0,this._rawPrevTime>r&&(o="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,t=p+1e-4):1e-7>t?(this._totalTime=this._time=0,(0!==c||0===this._duration&&this._rawPrevTime!==r&&(this._rawPrevTime>0||0>t&&this._rawPrevTime>=0))&&(o="onReverseComplete",n=this._reversed),0>t?(this._active=!1,this._rawPrevTime>=0&&this._first&&(u=!0),this._rawPrevTime=t):(this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,t=0,this._initted||(u=!0))):this._totalTime=this._time=this._rawPrevTime=t,this._time!==c&&this._first||i||u){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==c&&t>0&&(this._active=!0),0===c&&this.vars.onStart&&0!==this._time&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||_)),this._time>=c)for(s=this._first;s&&(a=s._next,!this._paused||d);)(s._active||s._startTime<=this._time&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=a;else for(s=this._last;s&&(a=s._prev,!this._paused||d);)(s._active||c>=s._startTime&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=a;this._onUpdate&&(e||(h.length&&l(),this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||_))),o&&(this._gc||(f===this._startTime||m!==this._timeScale)&&(0===this._time||p>=this.totalDuration())&&(n&&(h.length&&l(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[o]&&this.vars[o].apply(this.vars[o+"Scope"]||this,this.vars[o+"Params"]||_)))}},m._hasPausedChild=function(){for(var t=this._first;t;){if(t._paused||t instanceof s&&t._hasPausedChild())return!0;t=t._next}return!1},m.getChildren=function(t,e,s,r){r=r||-9999999999;for(var n=[],a=this._first,o=0;a;)r>a._startTime||(a instanceof i?e!==!1&&(n[o++]=a):(s!==!1&&(n[o++]=a),t!==!1&&(n=n.concat(a.getChildren(!0,e,s)),o=n.length))),a=a._next;return n},m.getTweensOf=function(t,e){var s,r,n=this._gc,a=[],o=0;for(n&&this._enabled(!0,!0),s=i.getTweensOf(t),r=s.length;--r>-1;)(s[r].timeline===this||e&&this._contains(s[r]))&&(a[o++]=s[r]);return n&&this._enabled(!1,!0),a},m._contains=function(t){for(var e=t.timeline;e;){if(e===this)return!0;e=e.timeline}return!1},m.shiftChildren=function(t,e,i){i=i||0;for(var s,r=this._first,n=this._labels;r;)r._startTime>=i&&(r._startTime+=t),r=r._next;if(e)for(s in n)n[s]>=i&&(n[s]+=t);return this._uncache(!0)},m._kill=function(t,e){if(!t&&!e)return this._enabled(!1,!1);for(var i=e?this.getTweensOf(e):this.getChildren(!0,!0,!1),s=i.length,r=!1;--s>-1;)i[s]._kill(t,e)&&(r=!0);return r},m.clear=function(t){var e=this.getChildren(!1,!0,!0),i=e.length;for(this._time=this._totalTime=0;--i>-1;)e[i]._enabled(!1,!1);return t!==!1&&(this._labels={}),this._uncache(!0)},m.invalidate=function(){for(var t=this._first;t;)t.invalidate(),t=t._next;return this},m._enabled=function(t,i){if(t===this._gc)for(var s=this._first;s;)s._enabled(t,!0),s=s._next;return e.prototype._enabled.call(this,t,i)},m.duration=function(t){return arguments.length?(0!==this.duration()&&0!==t&&this.timeScale(this._duration/t),this):(this._dirty&&this.totalDuration(),this._duration)},m.totalDuration=function(t){if(!arguments.length){if(this._dirty){for(var e,i,s=0,r=this._last,n=999999999999;r;)e=r._prev,r._dirty&&r.totalDuration(),r._startTime>n&&this._sortChildren&&!r._paused?this.add(r,r._startTime-r._delay):n=r._startTime,0>r._startTime&&!r._paused&&(s-=r._startTime,this._timeline.smoothChildTiming&&(this._startTime+=r._startTime/this._timeScale),this.shiftChildren(-r._startTime,!1,-9999999999),n=0),i=r._startTime+r._totalDuration/r._timeScale,i>s&&(s=i),r=e;this._duration=this._totalDuration=s,this._dirty=!1}return this._totalDuration}return 0!==this.totalDuration()&&0!==t&&this.timeScale(this._totalDuration/t),this},m.usesFrames=function(){for(var e=this._timeline;e._timeline;)e=e._timeline;return e===t._rootFramesTimeline},m.rawTime=function(){return this._paused?this._totalTime:(this._timeline.rawTime()-this._startTime)*this._timeScale},s},!0),_gsScope._gsDefine("TimelineMax",["TimelineLite","TweenLite","easing.Ease"],function(t,e,i){var s=function(e){t.call(this,e),this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._cycle=0,this._yoyo=this.vars.yoyo===!0,this._dirty=!0},r=1e-10,n=[],a=e._internals,o=a.lazyTweens,h=a.lazyRender,l=new i(null,null,1,0),_=s.prototype=new t;return _.constructor=s,_.kill()._gc=!1,s.version="1.13.1",_.invalidate=function(){return this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),t.prototype.invalidate.call(this)},_.addCallback=function(t,i,s,r){return this.add(e.delayedCall(0,t,s,r),i)},_.removeCallback=function(t,e){if(t)if(null==e)this._kill(null,t);else for(var i=this.getTweensOf(t,!1),s=i.length,r=this._parseTimeOrLabel(e);--s>-1;)i[s]._startTime===r&&i[s]._enabled(!1,!1);return this},_.tweenTo=function(t,i){i=i||{};var s,r,a,o={ease:l,overwrite:i.delay?2:1,useFrames:this.usesFrames(),immediateRender:!1};for(r in i)o[r]=i[r];return o.time=this._parseTimeOrLabel(t),s=Math.abs(Number(o.time)-this._time)/this._timeScale||.001,a=new e(this,s,o),o.onStart=function(){a.target.paused(!0),a.vars.time!==a.target.time()&&s===a.duration()&&a.duration(Math.abs(a.vars.time-a.target.time())/a.target._timeScale),i.onStart&&i.onStart.apply(i.onStartScope||a,i.onStartParams||n)},a},_.tweenFromTo=function(t,e,i){i=i||{},t=this._parseTimeOrLabel(t),i.startAt={onComplete:this.seek,onCompleteParams:[t],onCompleteScope:this},i.immediateRender=i.immediateRender!==!1;var s=this.tweenTo(e,i);return s.duration(Math.abs(s.vars.time-t)/this._timeScale||.001)},_.render=function(t,e,i){this._gc&&this._enabled(!0,!1);var s,a,l,_,u,p,c=this._dirty?this.totalDuration():this._totalDuration,f=this._duration,m=this._time,d=this._totalTime,g=this._startTime,v=this._timeScale,y=this._rawPrevTime,T=this._paused,w=this._cycle;if(t>=c?(this._locked||(this._totalTime=c,this._cycle=this._repeat),this._reversed||this._hasPausedChild()||(a=!0,_="onComplete",0===this._duration&&(0===t||0>y||y===r)&&y!==t&&this._first&&(u=!0,y>r&&(_="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:r,this._yoyo&&0!==(1&this._cycle)?this._time=t=0:(this._time=f,t=f+1e-4)):1e-7>t?(this._locked||(this._totalTime=this._cycle=0),this._time=0,(0!==m||0===f&&y!==r&&(y>0||0>t&&y>=0)&&!this._locked)&&(_="onReverseComplete",a=this._reversed),0>t?(this._active=!1,y>=0&&this._first&&(u=!0),this._rawPrevTime=t):(this._rawPrevTime=f||!e||t||this._rawPrevTime===t?t:r,t=0,this._initted||(u=!0))):(0===f&&0>y&&(u=!0),this._time=this._rawPrevTime=t,this._locked||(this._totalTime=t,0!==this._repeat&&(p=f+this._repeatDelay,this._cycle=this._totalTime/p>>0,0!==this._cycle&&this._cycle===this._totalTime/p&&this._cycle--,this._time=this._totalTime-this._cycle*p,this._yoyo&&0!==(1&this._cycle)&&(this._time=f-this._time),this._time>f?(this._time=f,t=f+1e-4):0>this._time?this._time=t=0:t=this._time))),this._cycle!==w&&!this._locked){var x=this._yoyo&&0!==(1&w),b=x===(this._yoyo&&0!==(1&this._cycle)),P=this._totalTime,S=this._cycle,k=this._rawPrevTime,R=this._time;if(this._totalTime=w*f,w>this._cycle?x=!x:this._totalTime+=f,this._time=m,this._rawPrevTime=0===f?y-1e-4:y,this._cycle=w,this._locked=!0,m=x?0:f,this.render(m,e,0===f),e||this._gc||this.vars.onRepeat&&this.vars.onRepeat.apply(this.vars.onRepeatScope||this,this.vars.onRepeatParams||n),b&&(m=x?f+1e-4:-1e-4,this.render(m,!0,!1)),this._locked=!1,this._paused&&!T)return;this._time=R,this._totalTime=P,this._cycle=S,this._rawPrevTime=k}if(!(this._time!==m&&this._first||i||u))return d!==this._totalTime&&this._onUpdate&&(e||this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||n)),void 0;if(this._initted||(this._initted=!0),this._active||!this._paused&&this._totalTime!==d&&t>0&&(this._active=!0),0===d&&this.vars.onStart&&0!==this._totalTime&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||n)),this._time>=m)for(s=this._first;s&&(l=s._next,!this._paused||T);)(s._active||s._startTime<=this._time&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=l;else for(s=this._last;s&&(l=s._prev,!this._paused||T);)(s._active||m>=s._startTime&&!s._paused&&!s._gc)&&(s._reversed?s.render((s._dirty?s.totalDuration():s._totalDuration)-(t-s._startTime)*s._timeScale,e,i):s.render((t-s._startTime)*s._timeScale,e,i)),s=l;this._onUpdate&&(e||(o.length&&h(),this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||n))),_&&(this._locked||this._gc||(g===this._startTime||v!==this._timeScale)&&(0===this._time||c>=this.totalDuration())&&(a&&(o.length&&h(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[_]&&this.vars[_].apply(this.vars[_+"Scope"]||this,this.vars[_+"Params"]||n)))},_.getActive=function(t,e,i){null==t&&(t=!0),null==e&&(e=!0),null==i&&(i=!1);var s,r,n=[],a=this.getChildren(t,e,i),o=0,h=a.length;for(s=0;h>s;s++)r=a[s],r.isActive()&&(n[o++]=r);return n},_.getLabelAfter=function(t){t||0!==t&&(t=this._time);var e,i=this.getLabelsArray(),s=i.length;for(e=0;s>e;e++)if(i[e].time>t)return i[e].name;return null},_.getLabelBefore=function(t){null==t&&(t=this._time);for(var e=this.getLabelsArray(),i=e.length;--i>-1;)if(t>e[i].time)return e[i].name;return null},_.getLabelsArray=function(){var t,e=[],i=0;for(t in this._labels)e[i++]={time:this._labels[t],name:t};return e.sort(function(t,e){return t.time-e.time}),e},_.progress=function(t){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),!1):this._time/this.duration()},_.totalProgress=function(t){return arguments.length?this.totalTime(this.totalDuration()*t,!1):this._totalTime/this.totalDuration()},_.totalDuration=function(e){return arguments.length?-1===this._repeat?this:this.duration((e-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(t.prototype.totalDuration.call(this),this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat),this._totalDuration)},_.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!==(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},_.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},_.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},_.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},_.currentLabel=function(t){return arguments.length?this.seek(t,!0):this.getLabelBefore(this._time+1e-8)},s},!0),function(){var t=180/Math.PI,e=[],i=[],s=[],r={},n=function(t,e,i,s){this.a=t,this.b=e,this.c=i,this.d=s,this.da=s-t,this.ca=i-t,this.ba=e-t},a=",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,",o=function(t,e,i,s){var r={a:t},n={},a={},o={c:s},h=(t+e)/2,l=(e+i)/2,_=(i+s)/2,u=(h+l)/2,p=(l+_)/2,c=(p-u)/8;return r.b=h+(t-h)/4,n.b=u+c,r.c=n.a=(r.b+n.b)/2,n.c=a.a=(u+p)/2,a.b=p-c,o.b=_+(s-_)/4,a.c=o.a=(a.b+o.b)/2,[r,n,a,o]},h=function(t,r,n,a,h){var l,_,u,p,c,f,m,d,g,v,y,T,w,x=t.length-1,b=0,P=t[0].a;for(l=0;x>l;l++)c=t[b],_=c.a,u=c.d,p=t[b+1].d,h?(y=e[l],T=i[l],w=.25*(T+y)*r/(a?.5:s[l]||.5),f=u-(u-_)*(a?.5*r:0!==y?w/y:0),m=u+(p-u)*(a?.5*r:0!==T?w/T:0),d=u-(f+((m-f)*(3*y/(y+T)+.5)/4||0))):(f=u-.5*(u-_)*r,m=u+.5*(p-u)*r,d=u-(f+m)/2),f+=d,m+=d,c.c=g=f,c.b=0!==l?P:P=c.a+.6*(c.c-c.a),c.da=u-_,c.ca=g-_,c.ba=P-_,n?(v=o(_,P,g,u),t.splice(b,1,v[0],v[1],v[2],v[3]),b+=4):b++,P=m;c=t[b],c.b=P,c.c=P+.4*(c.d-P),c.da=c.d-c.a,c.ca=c.c-c.a,c.ba=P-c.a,n&&(v=o(c.a,P,c.c,c.d),t.splice(b,1,v[0],v[1],v[2],v[3]))},l=function(t,s,r,a){var o,h,l,_,u,p,c=[];if(a)for(t=[a].concat(t),h=t.length;--h>-1;)"string"==typeof(p=t[h][s])&&"="===p.charAt(1)&&(t[h][s]=a[s]+Number(p.charAt(0)+p.substr(2)));if(o=t.length-2,0>o)return c[0]=new n(t[0][s],0,0,t[-1>o?0:1][s]),c;for(h=0;o>h;h++)l=t[h][s],_=t[h+1][s],c[h]=new n(l,0,0,_),r&&(u=t[h+2][s],e[h]=(e[h]||0)+(_-l)*(_-l),i[h]=(i[h]||0)+(u-_)*(u-_));return c[h]=new n(t[h][s],0,0,t[h+1][s]),c},_=function(t,n,o,_,u,p){var c,f,m,d,g,v,y,T,w={},x=[],b=p||t[0];u="string"==typeof u?","+u+",":a,null==n&&(n=1);for(f in t[0])x.push(f);if(t.length>1){for(T=t[t.length-1],y=!0,c=x.length;--c>-1;)if(f=x[c],Math.abs(b[f]-T[f])>.05){y=!1;break}y&&(t=t.concat(),p&&t.unshift(p),t.push(t[1]),p=t[t.length-3])}for(e.length=i.length=s.length=0,c=x.length;--c>-1;)f=x[c],r[f]=-1!==u.indexOf(","+f+","),w[f]=l(t,f,r[f],p);for(c=e.length;--c>-1;)e[c]=Math.sqrt(e[c]),i[c]=Math.sqrt(i[c]);if(!_){for(c=x.length;--c>-1;)if(r[f])for(m=w[x[c]],v=m.length-1,d=0;v>d;d++)g=m[d+1].da/i[d]+m[d].da/e[d],s[d]=(s[d]||0)+g*g;for(c=s.length;--c>-1;)s[c]=Math.sqrt(s[c])}for(c=x.length,d=o?4:1;--c>-1;)f=x[c],m=w[f],h(m,n,o,_,r[f]),y&&(m.splice(0,d),m.splice(m.length-d,d));return w},u=function(t,e,i){e=e||"soft";var s,r,a,o,h,l,_,u,p,c,f,m={},d="cubic"===e?3:2,g="soft"===e,v=[];if(g&&i&&(t=[i].concat(t)),null==t||d+1>t.length)throw"invalid Bezier data";for(p in t[0])v.push(p);for(l=v.length;--l>-1;){for(p=v[l],m[p]=h=[],c=0,u=t.length,_=0;u>_;_++)s=null==i?t[_][p]:"string"==typeof(f=t[_][p])&&"="===f.charAt(1)?i[p]+Number(f.charAt(0)+f.substr(2)):Number(f),g&&_>1&&u-1>_&&(h[c++]=(s+h[c-2])/2),h[c++]=s;for(u=c-d+1,c=0,_=0;u>_;_+=d)s=h[_],r=h[_+1],a=h[_+2],o=2===d?0:h[_+3],h[c++]=f=3===d?new n(s,r,a,o):new n(s,(2*r+s)/3,(2*r+a)/3,a);h.length=c}return m},p=function(t,e,i){for(var s,r,n,a,o,h,l,_,u,p,c,f=1/i,m=t.length;--m>-1;)for(p=t[m],n=p.a,a=p.d-n,o=p.c-n,h=p.b-n,s=r=0,_=1;i>=_;_++)l=f*_,u=1-l,s=r-(r=(l*l*a+3*u*(l*o+u*h))*l),c=m*i+_-1,e[c]=(e[c]||0)+s*s},c=function(t,e){e=e>>0||6;var i,s,r,n,a=[],o=[],h=0,l=0,_=e-1,u=[],c=[];for(i in t)p(t[i],a,e);for(r=a.length,s=0;r>s;s++)h+=Math.sqrt(a[s]),n=s%e,c[n]=h,n===_&&(l+=h,n=s/e>>0,u[n]=c,o[n]=l,h=0,c=[]);return{length:l,lengths:o,segments:u}},f=_gsScope._gsDefine.plugin({propName:"bezier",priority:-1,version:"1.3.3",API:2,global:!0,init:function(t,e,i){this._target=t,e instanceof Array&&(e={values:e}),this._func={},this._round={},this._props=[],this._timeRes=null==e.timeResolution?6:parseInt(e.timeResolution,10);var s,r,n,a,o,h=e.values||[],l={},p=h[0],f=e.autoRotate||i.vars.orientToBezier;this._autoRotate=f?f instanceof Array?f:[["x","y","rotation",f===!0?0:Number(f)||0]]:null;for(s in p)this._props.push(s);for(n=this._props.length;--n>-1;)s=this._props[n],this._overwriteProps.push(s),r=this._func[s]="function"==typeof t[s],l[s]=r?t[s.indexOf("set")||"function"!=typeof t["get"+s.substr(3)]?s:"get"+s.substr(3)]():parseFloat(t[s]),o||l[s]!==h[0][s]&&(o=l);if(this._beziers="cubic"!==e.type&&"quadratic"!==e.type&&"soft"!==e.type?_(h,isNaN(e.curviness)?1:e.curviness,!1,"thruBasic"===e.type,e.correlate,o):u(h,e.type,l),this._segCount=this._beziers[s].length,this._timeRes){var m=c(this._beziers,this._timeRes);this._length=m.length,this._lengths=m.lengths,this._segments=m.segments,this._l1=this._li=this._s1=this._si=0,this._l2=this._lengths[0],this._curSeg=this._segments[0],this._s2=this._curSeg[0],this._prec=1/this._curSeg.length}if(f=this._autoRotate)for(this._initialRotations=[],f[0]instanceof Array||(this._autoRotate=f=[f]),n=f.length;--n>-1;){for(a=0;3>a;a++)s=f[n][a],this._func[s]="function"==typeof t[s]?t[s.indexOf("set")||"function"!=typeof t["get"+s.substr(3)]?s:"get"+s.substr(3)]:!1;s=f[n][2],this._initialRotations[n]=this._func[s]?this._func[s].call(this._target):this._target[s]}return this._startRatio=i.vars.runBackwards?1:0,!0},set:function(e){var i,s,r,n,a,o,h,l,_,u,p=this._segCount,c=this._func,f=this._target,m=e!==this._startRatio;if(this._timeRes){if(_=this._lengths,u=this._curSeg,e*=this._length,r=this._li,e>this._l2&&p-1>r){for(l=p-1;l>r&&e>=(this._l2=_[++r]););this._l1=_[r-1],this._li=r,this._curSeg=u=this._segments[r],this._s2=u[this._s1=this._si=0]}else if(this._l1>e&&r>0){for(;r>0&&(this._l1=_[--r])>=e;);0===r&&this._l1>e?this._l1=0:r++,this._l2=_[r],this._li=r,this._curSeg=u=this._segments[r],this._s1=u[(this._si=u.length-1)-1]||0,this._s2=u[this._si]}if(i=r,e-=this._l1,r=this._si,e>this._s2&&u.length-1>r){for(l=u.length-1;l>r&&e>=(this._s2=u[++r]););this._s1=u[r-1],this._si=r}else if(this._s1>e&&r>0){for(;r>0&&(this._s1=u[--r])>=e;);0===r&&this._s1>e?this._s1=0:r++,this._s2=u[r],this._si=r}o=(r+(e-this._s1)/(this._s2-this._s1))*this._prec}else i=0>e?0:e>=1?p-1:p*e>>0,o=(e-i*(1/p))*p;for(s=1-o,r=this._props.length;--r>-1;)n=this._props[r],a=this._beziers[n][i],h=(o*o*a.da+3*s*(o*a.ca+s*a.ba))*o+a.a,this._round[n]&&(h=Math.round(h)),c[n]?f[n](h):f[n]=h;if(this._autoRotate){var d,g,v,y,T,w,x,b=this._autoRotate; +for(r=b.length;--r>-1;)n=b[r][2],w=b[r][3]||0,x=b[r][4]===!0?1:t,a=this._beziers[b[r][0]],d=this._beziers[b[r][1]],a&&d&&(a=a[i],d=d[i],g=a.a+(a.b-a.a)*o,y=a.b+(a.c-a.b)*o,g+=(y-g)*o,y+=(a.c+(a.d-a.c)*o-y)*o,v=d.a+(d.b-d.a)*o,T=d.b+(d.c-d.b)*o,v+=(T-v)*o,T+=(d.c+(d.d-d.c)*o-T)*o,h=m?Math.atan2(T-v,y-g)*x+w:this._initialRotations[r],c[n]?f[n](h):f[n]=h)}}}),m=f.prototype;f.bezierThrough=_,f.cubicToQuadratic=o,f._autoCSS=!0,f.quadraticToCubic=function(t,e,i){return new n(t,(2*e+t)/3,(2*e+i)/3,i)},f._cssRegister=function(){var t=_gsScope._gsDefine.globals.CSSPlugin;if(t){var e=t._internals,i=e._parseToProxy,s=e._setPluginRatio,r=e.CSSPropTween;e._registerComplexSpecialProp("bezier",{parser:function(t,e,n,a,o,h){e instanceof Array&&(e={values:e}),h=new f;var l,_,u,p=e.values,c=p.length-1,m=[],d={};if(0>c)return o;for(l=0;c>=l;l++)u=i(t,p[l],a,o,h,c!==l),m[l]=u.end;for(_ in e)d[_]=e[_];return d.values=m,o=new r(t,"bezier",0,0,u.pt,2),o.data=u,o.plugin=h,o.setRatio=s,0===d.autoRotate&&(d.autoRotate=!0),!d.autoRotate||d.autoRotate instanceof Array||(l=d.autoRotate===!0?0:Number(d.autoRotate),d.autoRotate=null!=u.end.left?[["left","top","rotation",l,!1]]:null!=u.end.x?[["x","y","rotation",l,!1]]:!1),d.autoRotate&&(a._transform||a._enableTransforms(!1),u.autoRotate=a._target._gsTransform),h._onInitTween(u.proxy,d,a._tween),o}})}},m._roundProps=function(t,e){for(var i=this._overwriteProps,s=i.length;--s>-1;)(t[i[s]]||t.bezier||t.bezierThrough)&&(this._round[i[s]]=e)},m._kill=function(t){var e,i,s=this._props;for(e in this._beziers)if(e in t)for(delete this._beziers[e],delete this._func[e],i=s.length;--i>-1;)s[i]===e&&s.splice(i,1);return this._super._kill.call(this,t)}}(),_gsScope._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(t,e){var i,s,r,n,a=function(){t.call(this,"css"),this._overwriteProps.length=0,this.setRatio=a.prototype.setRatio},o={},h=a.prototype=new t("css");h.constructor=a,a.version="1.13.1",a.API=2,a.defaultTransformPerspective=0,a.defaultSkewType="compensated",h="px",a.suffixMap={top:h,right:h,bottom:h,left:h,width:h,height:h,fontSize:h,padding:h,margin:h,perspective:h,lineHeight:""};var l,_,u,p,c,f,m=/(?:\d|\-\d|\.\d|\-\.\d)+/g,d=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,g=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,v=/[^\d\-\.]/g,y=/(?:\d|\-|\+|=|#|\.)*/g,T=/opacity *= *([^)]*)/i,w=/opacity:([^;]*)/i,x=/alpha\(opacity *=.+?\)/i,b=/^(rgb|hsl)/,P=/([A-Z])/g,S=/-([a-z])/gi,k=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,R=function(t,e){return e.toUpperCase()},A=/(?:Left|Right|Width)/i,C=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,O=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,D=/,(?=[^\)]*(?:\(|$))/gi,M=Math.PI/180,z=180/Math.PI,I={},E=document,L=E.createElement("div"),F=E.createElement("img"),N=a._internals={_specialProps:o},X=navigator.userAgent,U=function(){var t,e=X.indexOf("Android"),i=E.createElement("div");return u=-1!==X.indexOf("Safari")&&-1===X.indexOf("Chrome")&&(-1===e||Number(X.substr(e+8,1))>3),c=u&&6>Number(X.substr(X.indexOf("Version/")+8,1)),p=-1!==X.indexOf("Firefox"),/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(X)&&(f=parseFloat(RegExp.$1)),i.innerHTML="a",t=i.getElementsByTagName("a")[0],t?/^0.55/.test(t.style.opacity):!1}(),Y=function(t){return T.test("string"==typeof t?t:(t.currentStyle?t.currentStyle.filter:t.style.filter)||"")?parseFloat(RegExp.$1)/100:1},j=function(t){window.console&&console.log(t)},B="",q="",V=function(t,e){e=e||L;var i,s,r=e.style;if(void 0!==r[t])return t;for(t=t.charAt(0).toUpperCase()+t.substr(1),i=["O","Moz","ms","Ms","Webkit"],s=5;--s>-1&&void 0===r[i[s]+t];);return s>=0?(q=3===s?"ms":i[s],B="-"+q.toLowerCase()+"-",q+t):null},G=E.defaultView?E.defaultView.getComputedStyle:function(){},W=a.getStyle=function(t,e,i,s,r){var n;return U||"opacity"!==e?(!s&&t.style[e]?n=t.style[e]:(i=i||G(t))?n=i[e]||i.getPropertyValue(e)||i.getPropertyValue(e.replace(P,"-$1").toLowerCase()):t.currentStyle&&(n=t.currentStyle[e]),null==r||n&&"none"!==n&&"auto"!==n&&"auto auto"!==n?n:r):Y(t)},Q=N.convertToPixels=function(t,i,s,r,n){if("px"===r||!r)return s;if("auto"===r||!s)return 0;var o,h,l,_=A.test(i),u=t,p=L.style,c=0>s;if(c&&(s=-s),"%"===r&&-1!==i.indexOf("border"))o=s/100*(_?t.clientWidth:t.clientHeight);else{if(p.cssText="border:0 solid red;position:"+W(t,"position")+";line-height:0;","%"!==r&&u.appendChild)p[_?"borderLeftWidth":"borderTopWidth"]=s+r;else{if(u=t.parentNode||E.body,h=u._gsCache,l=e.ticker.frame,h&&_&&h.time===l)return h.width*s/100;p[_?"width":"height"]=s+r}u.appendChild(L),o=parseFloat(L[_?"offsetWidth":"offsetHeight"]),u.removeChild(L),_&&"%"===r&&a.cacheWidths!==!1&&(h=u._gsCache=u._gsCache||{},h.time=l,h.width=100*(o/s)),0!==o||n||(o=Q(t,i,s,r,!0))}return c?-o:o},Z=N.calculateOffset=function(t,e,i){if("absolute"!==W(t,"position",i))return 0;var s="left"===e?"Left":"Top",r=W(t,"margin"+s,i);return t["offset"+s]-(Q(t,e,parseFloat(r),r.replace(y,""))||0)},$=function(t,e){var i,s,r={};if(e=e||G(t,null))if(i=e.length)for(;--i>-1;)r[e[i].replace(S,R)]=e.getPropertyValue(e[i]);else for(i in e)r[i]=e[i];else if(e=t.currentStyle||t.style)for(i in e)"string"==typeof i&&void 0===r[i]&&(r[i.replace(S,R)]=e[i]);return U||(r.opacity=Y(t)),s=Pe(t,e,!1),r.rotation=s.rotation,r.skewX=s.skewX,r.scaleX=s.scaleX,r.scaleY=s.scaleY,r.x=s.x,r.y=s.y,xe&&(r.z=s.z,r.rotationX=s.rotationX,r.rotationY=s.rotationY,r.scaleZ=s.scaleZ),r.filters&&delete r.filters,r},H=function(t,e,i,s,r){var n,a,o,h={},l=t.style;for(a in i)"cssText"!==a&&"length"!==a&&isNaN(a)&&(e[a]!==(n=i[a])||r&&r[a])&&-1===a.indexOf("Origin")&&("number"==typeof n||"string"==typeof n)&&(h[a]="auto"!==n||"left"!==a&&"top"!==a?""!==n&&"auto"!==n&&"none"!==n||"string"!=typeof e[a]||""===e[a].replace(v,"")?n:0:Z(t,a),void 0!==l[a]&&(o=new ue(l,a,l[a],o)));if(s)for(a in s)"className"!==a&&(h[a]=s[a]);return{difs:h,firstMPT:o}},K={width:["Left","Right"],height:["Top","Bottom"]},J=["marginLeft","marginRight","marginTop","marginBottom"],te=function(t,e,i){var s=parseFloat("width"===e?t.offsetWidth:t.offsetHeight),r=K[e],n=r.length;for(i=i||G(t,null);--n>-1;)s-=parseFloat(W(t,"padding"+r[n],i,!0))||0,s-=parseFloat(W(t,"border"+r[n]+"Width",i,!0))||0;return s},ee=function(t,e){(null==t||""===t||"auto"===t||"auto auto"===t)&&(t="0 0");var i=t.split(" "),s=-1!==t.indexOf("left")?"0%":-1!==t.indexOf("right")?"100%":i[0],r=-1!==t.indexOf("top")?"0%":-1!==t.indexOf("bottom")?"100%":i[1];return null==r?r="0":"center"===r&&(r="50%"),("center"===s||isNaN(parseFloat(s))&&-1===(s+"").indexOf("="))&&(s="50%"),e&&(e.oxp=-1!==s.indexOf("%"),e.oyp=-1!==r.indexOf("%"),e.oxr="="===s.charAt(1),e.oyr="="===r.charAt(1),e.ox=parseFloat(s.replace(v,"")),e.oy=parseFloat(r.replace(v,""))),s+" "+r+(i.length>2?" "+i[2]:"")},ie=function(t,e){return"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2)):parseFloat(t)-parseFloat(e)},se=function(t,e){return null==t?e:"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*Number(t.substr(2))+e:parseFloat(t)},re=function(t,e,i,s){var r,n,a,o,h=1e-6;return null==t?o=e:"number"==typeof t?o=t:(r=360,n=t.split("_"),a=Number(n[0].replace(v,""))*(-1===t.indexOf("rad")?1:z)-("="===t.charAt(1)?0:e),n.length&&(s&&(s[i]=e+a),-1!==t.indexOf("short")&&(a%=r,a!==a%(r/2)&&(a=0>a?a+r:a-r)),-1!==t.indexOf("_cw")&&0>a?a=(a+9999999999*r)%r-(0|a/r)*r:-1!==t.indexOf("ccw")&&a>0&&(a=(a-9999999999*r)%r-(0|a/r)*r)),o=e+a),h>o&&o>-h&&(o=0),o},ne={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},ae=function(t,e,i){return t=0>t?t+1:t>1?t-1:t,0|255*(1>6*t?e+6*(i-e)*t:.5>t?i:2>3*t?e+6*(i-e)*(2/3-t):e)+.5},oe=function(t){var e,i,s,r,n,a;return t&&""!==t?"number"==typeof t?[t>>16,255&t>>8,255&t]:(","===t.charAt(t.length-1)&&(t=t.substr(0,t.length-1)),ne[t]?ne[t]:"#"===t.charAt(0)?(4===t.length&&(e=t.charAt(1),i=t.charAt(2),s=t.charAt(3),t="#"+e+e+i+i+s+s),t=parseInt(t.substr(1),16),[t>>16,255&t>>8,255&t]):"hsl"===t.substr(0,3)?(t=t.match(m),r=Number(t[0])%360/360,n=Number(t[1])/100,a=Number(t[2])/100,i=.5>=a?a*(n+1):a+n-a*n,e=2*a-i,t.length>3&&(t[3]=Number(t[3])),t[0]=ae(r+1/3,e,i),t[1]=ae(r,e,i),t[2]=ae(r-1/3,e,i),t):(t=t.match(m)||ne.transparent,t[0]=Number(t[0]),t[1]=Number(t[1]),t[2]=Number(t[2]),t.length>3&&(t[3]=Number(t[3])),t)):ne.black},he="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b";for(h in ne)he+="|"+h+"\\b";he=RegExp(he+")","gi");var le=function(t,e,i,s){if(null==t)return function(t){return t};var r,n=e?(t.match(he)||[""])[0]:"",a=t.split(n).join("").match(g)||[],o=t.substr(0,t.indexOf(a[0])),h=")"===t.charAt(t.length-1)?")":"",l=-1!==t.indexOf(" ")?" ":",",_=a.length,u=_>0?a[0].replace(m,""):"";return _?r=e?function(t){var e,p,c,f;if("number"==typeof t)t+=u;else if(s&&D.test(t)){for(f=t.replace(D,"|").split("|"),c=0;f.length>c;c++)f[c]=r(f[c]);return f.join(",")}if(e=(t.match(he)||[n])[0],p=t.split(e).join("").match(g)||[],c=p.length,_>c--)for(;_>++c;)p[c]=i?p[0|(c-1)/2]:a[c];return o+p.join(l)+l+e+h+(-1!==t.indexOf("inset")?" inset":"")}:function(t){var e,n,p;if("number"==typeof t)t+=u;else if(s&&D.test(t)){for(n=t.replace(D,"|").split("|"),p=0;n.length>p;p++)n[p]=r(n[p]);return n.join(",")}if(e=t.match(g)||[],p=e.length,_>p--)for(;_>++p;)e[p]=i?e[0|(p-1)/2]:a[p];return o+e.join(l)+h}:function(t){return t}},_e=function(t){return t=t.split(","),function(e,i,s,r,n,a,o){var h,l=(i+"").split(" ");for(o={},h=0;4>h;h++)o[t[h]]=l[h]=l[h]||l[(h-1)/2>>0];return r.parse(e,o,n,a)}},ue=(N._setPluginRatio=function(t){this.plugin.setRatio(t);for(var e,i,s,r,n=this.data,a=n.proxy,o=n.firstMPT,h=1e-6;o;)e=a[o.v],o.r?e=Math.round(e):h>e&&e>-h&&(e=0),o.t[o.p]=e,o=o._next;if(n.autoRotate&&(n.autoRotate.rotation=a.rotation),1===t)for(o=n.firstMPT;o;){if(i=o.t,i.type){if(1===i.type){for(r=i.xs0+i.s+i.xs1,s=1;i.l>s;s++)r+=i["xn"+s]+i["xs"+(s+1)];i.e=r}}else i.e=i.s+i.xs0;o=o._next}},function(t,e,i,s,r){this.t=t,this.p=e,this.v=i,this.r=r,s&&(s._prev=this,this._next=s)}),pe=(N._parseToProxy=function(t,e,i,s,r,n){var a,o,h,l,_,u=s,p={},c={},f=i._transform,m=I;for(i._transform=null,I=e,s=_=i.parse(t,e,s,r),I=m,n&&(i._transform=f,u&&(u._prev=null,u._prev&&(u._prev._next=null)));s&&s!==u;){if(1>=s.type&&(o=s.p,c[o]=s.s+s.c,p[o]=s.s,n||(l=new ue(s,"s",o,l,s.r),s.c=0),1===s.type))for(a=s.l;--a>0;)h="xn"+a,o=s.p+"_"+h,c[o]=s.data[h],p[o]=s[h],n||(l=new ue(s,h,o,l,s.rxp[h]));s=s._next}return{proxy:p,end:c,firstMPT:l,pt:_}},N.CSSPropTween=function(t,e,s,r,a,o,h,l,_,u,p){this.t=t,this.p=e,this.s=s,this.c=r,this.n=h||e,t instanceof pe||n.push(this.n),this.r=l,this.type=o||0,_&&(this.pr=_,i=!0),this.b=void 0===u?s:u,this.e=void 0===p?s+r:p,a&&(this._next=a,a._prev=this)}),ce=a.parseComplex=function(t,e,i,s,r,n,a,o,h,_){i=i||n||"",a=new pe(t,e,0,0,a,_?2:1,null,!1,o,i,s),s+="";var u,p,c,f,g,v,y,T,w,x,P,S,k=i.split(", ").join(",").split(" "),R=s.split(", ").join(",").split(" "),A=k.length,C=l!==!1;for((-1!==s.indexOf(",")||-1!==i.indexOf(","))&&(k=k.join(" ").replace(D,", ").split(" "),R=R.join(" ").replace(D,", ").split(" "),A=k.length),A!==R.length&&(k=(n||"").split(" "),A=k.length),a.plugin=h,a.setRatio=_,u=0;A>u;u++)if(f=k[u],g=R[u],T=parseFloat(f),T||0===T)a.appendXtra("",T,ie(g,T),g.replace(d,""),C&&-1!==g.indexOf("px"),!0);else if(r&&("#"===f.charAt(0)||ne[f]||b.test(f)))S=","===g.charAt(g.length-1)?"),":")",f=oe(f),g=oe(g),w=f.length+g.length>6,w&&!U&&0===g[3]?(a["xs"+a.l]+=a.l?" transparent":"transparent",a.e=a.e.split(R[u]).join("transparent")):(U||(w=!1),a.appendXtra(w?"rgba(":"rgb(",f[0],g[0]-f[0],",",!0,!0).appendXtra("",f[1],g[1]-f[1],",",!0).appendXtra("",f[2],g[2]-f[2],w?",":S,!0),w&&(f=4>f.length?1:f[3],a.appendXtra("",f,(4>g.length?1:g[3])-f,S,!1)));else if(v=f.match(m)){if(y=g.match(d),!y||y.length!==v.length)return a;for(c=0,p=0;v.length>p;p++)P=v[p],x=f.indexOf(P,c),a.appendXtra(f.substr(c,x-c),Number(P),ie(y[p],P),"",C&&"px"===f.substr(x+P.length,2),0===p),c=x+P.length;a["xs"+a.l]+=f.substr(c)}else a["xs"+a.l]+=a.l?" "+f:f;if(-1!==s.indexOf("=")&&a.data){for(S=a.xs0+a.data.s,u=1;a.l>u;u++)S+=a["xs"+u]+a.data["xn"+u];a.e=S+a["xs"+u]}return a.l||(a.type=-1,a.xs0=a.e),a.xfirst||a},fe=9;for(h=pe.prototype,h.l=h.pr=0;--fe>0;)h["xn"+fe]=0,h["xs"+fe]="";h.xs0="",h._next=h._prev=h.xfirst=h.data=h.plugin=h.setRatio=h.rxp=null,h.appendXtra=function(t,e,i,s,r,n){var a=this,o=a.l;return a["xs"+o]+=n&&o?" "+t:t||"",i||0===o||a.plugin?(a.l++,a.type=a.setRatio?2:1,a["xs"+a.l]=s||"",o>0?(a.data["xn"+o]=e+i,a.rxp["xn"+o]=r,a["xn"+o]=e,a.plugin||(a.xfirst=new pe(a,"xn"+o,e,i,a.xfirst||a,0,a.n,r,a.pr),a.xfirst.xs0=0),a):(a.data={s:e+i},a.rxp={},a.s=e,a.c=i,a.r=r,a)):(a["xs"+o]+=e+(s||""),a)};var me=function(t,e){e=e||{},this.p=e.prefix?V(t)||t:t,o[t]=o[this.p]=this,this.format=e.formatter||le(e.defaultValue,e.color,e.collapsible,e.multi),e.parser&&(this.parse=e.parser),this.clrs=e.color,this.multi=e.multi,this.keyword=e.keyword,this.dflt=e.defaultValue,this.pr=e.priority||0},de=N._registerComplexSpecialProp=function(t,e,i){"object"!=typeof e&&(e={parser:i});var s,r,n=t.split(","),a=e.defaultValue;for(i=i||[a],s=0;n.length>s;s++)e.prefix=0===s&&e.prefix,e.defaultValue=i[s]||a,r=new me(n[s],e)},ge=function(t){if(!o[t]){var e=t.charAt(0).toUpperCase()+t.substr(1)+"Plugin";de(t,{parser:function(t,i,s,r,n,a,h){var l=(_gsScope.GreenSockGlobals||_gsScope).com.greensock.plugins[e];return l?(l._cssRegister(),o[s].parse(t,i,s,r,n,a,h)):(j("Error: "+e+" js file not loaded."),n)}})}};h=me.prototype,h.parseComplex=function(t,e,i,s,r,n){var a,o,h,l,_,u,p=this.keyword;if(this.multi&&(D.test(i)||D.test(e)?(o=e.replace(D,"|").split("|"),h=i.replace(D,"|").split("|")):p&&(o=[e],h=[i])),h){for(l=h.length>o.length?h.length:o.length,a=0;l>a;a++)e=o[a]=o[a]||this.dflt,i=h[a]=h[a]||this.dflt,p&&(_=e.indexOf(p),u=i.indexOf(p),_!==u&&(i=-1===u?h:o,i[a]+=" "+p));e=o.join(", "),i=h.join(", ")}return ce(t,this.p,e,i,this.clrs,this.dflt,s,this.pr,r,n)},h.parse=function(t,e,i,s,n,a){return this.parseComplex(t.style,this.format(W(t,this.p,r,!1,this.dflt)),this.format(e),n,a)},a.registerSpecialProp=function(t,e,i){de(t,{parser:function(t,s,r,n,a,o){var h=new pe(t,r,0,0,a,2,r,!1,i);return h.plugin=o,h.setRatio=e(t,s,n._tween,r),h},priority:i})};var ve="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),ye=V("transform"),Te=B+"transform",we=V("transformOrigin"),xe=null!==V("perspective"),be=N.Transform=function(){this.skewY=0},Pe=N.getTransform=function(t,e,i,s){if(t._gsTransform&&i&&!s)return t._gsTransform;var r,n,o,h,l,_,u,p,c,f,m,d,g,v=i?t._gsTransform||new be:new be,y=0>v.scaleX,T=2e-5,w=1e5,x=179.99,b=x*M,P=xe?parseFloat(W(t,we,e,!1,"0 0 0").split(" ")[2])||v.zOrigin||0:0;if(ye?r=W(t,Te,e,!0):t.currentStyle&&(r=t.currentStyle.filter.match(C),r=r&&4===r.length?[r[0].substr(4),Number(r[2].substr(4)),Number(r[1].substr(4)),r[3].substr(4),v.x||0,v.y||0].join(","):""),r&&"none"!==r&&"matrix(1, 0, 0, 1, 0, 0)"!==r){for(n=(r||"").match(/(?:\-|\b)[\d\-\.e]+\b/gi)||[],o=n.length;--o>-1;)h=Number(n[o]),n[o]=(l=h-(h|=0))?(0|l*w+(0>l?-.5:.5))/w+h:h;if(16===n.length){var S=n[8],k=n[9],R=n[10],A=n[12],O=n[13],D=n[14];if(v.zOrigin&&(D=-v.zOrigin,A=S*D-n[12],O=k*D-n[13],D=R*D+v.zOrigin-n[14]),!i||s||null==v.rotationX){var I,E,L,F,N,X,U,Y=n[0],j=n[1],B=n[2],q=n[3],V=n[4],G=n[5],Q=n[6],Z=n[7],$=n[11],H=Math.atan2(Q,R),K=-b>H||H>b;v.rotationX=H*z,H&&(F=Math.cos(-H),N=Math.sin(-H),I=V*F+S*N,E=G*F+k*N,L=Q*F+R*N,S=V*-N+S*F,k=G*-N+k*F,R=Q*-N+R*F,$=Z*-N+$*F,V=I,G=E,Q=L),H=Math.atan2(S,Y),v.rotationY=H*z,H&&(X=-b>H||H>b,F=Math.cos(-H),N=Math.sin(-H),I=Y*F-S*N,E=j*F-k*N,L=B*F-R*N,k=j*N+k*F,R=B*N+R*F,$=q*N+$*F,Y=I,j=E,B=L),H=Math.atan2(j,G),v.rotation=H*z,H&&(U=-b>H||H>b,F=Math.cos(-H),N=Math.sin(-H),Y=Y*F+V*N,E=j*F+G*N,G=j*-N+G*F,Q=B*-N+Q*F,j=E),U&&K?v.rotation=v.rotationX=0:U&&X?v.rotation=v.rotationY=0:X&&K&&(v.rotationY=v.rotationX=0),v.scaleX=(0|Math.sqrt(Y*Y+j*j)*w+.5)/w,v.scaleY=(0|Math.sqrt(G*G+k*k)*w+.5)/w,v.scaleZ=(0|Math.sqrt(Q*Q+R*R)*w+.5)/w,v.skewX=0,v.perspective=$?1/(0>$?-$:$):0,v.x=A,v.y=O,v.z=D}}else if(!(xe&&!s&&n.length&&v.x===n[4]&&v.y===n[5]&&(v.rotationX||v.rotationY)||void 0!==v.x&&"none"===W(t,"display",e))){var J=n.length>=6,te=J?n[0]:1,ee=n[1]||0,ie=n[2]||0,se=J?n[3]:1;v.x=n[4]||0,v.y=n[5]||0,_=Math.sqrt(te*te+ee*ee),u=Math.sqrt(se*se+ie*ie),p=te||ee?Math.atan2(ee,te)*z:v.rotation||0,c=ie||se?Math.atan2(ie,se)*z+p:v.skewX||0,f=_-Math.abs(v.scaleX||0),m=u-Math.abs(v.scaleY||0),Math.abs(c)>90&&270>Math.abs(c)&&(y?(_*=-1,c+=0>=p?180:-180,p+=0>=p?180:-180):(u*=-1,c+=0>=c?180:-180)),d=(p-v.rotation)%180,g=(c-v.skewX)%180,(void 0===v.skewX||f>T||-T>f||m>T||-T>m||d>-x&&x>d&&false|d*w||g>-x&&x>g&&false|g*w)&&(v.scaleX=_,v.scaleY=u,v.rotation=p,v.skewX=c),xe&&(v.rotationX=v.rotationY=v.z=0,v.perspective=parseFloat(a.defaultTransformPerspective)||0,v.scaleZ=1)}v.zOrigin=P;for(o in v)T>v[o]&&v[o]>-T&&(v[o]=0)}else v={x:0,y:0,z:0,scaleX:1,scaleY:1,scaleZ:1,skewX:0,perspective:0,rotation:0,rotationX:0,rotationY:0,zOrigin:0};return i&&(t._gsTransform=v),v.xPercent=v.yPercent=0,v},Se=function(t){var e,i,s=this.data,r=-s.rotation*M,n=r+s.skewX*M,a=1e5,o=(0|Math.cos(r)*s.scaleX*a)/a,h=(0|Math.sin(r)*s.scaleX*a)/a,l=(0|Math.sin(n)*-s.scaleY*a)/a,_=(0|Math.cos(n)*s.scaleY*a)/a,u=this.t.style,p=this.t.currentStyle;if(p){i=h,h=-l,l=-i,e=p.filter,u.filter="";var c,m,d=this.t.offsetWidth,g=this.t.offsetHeight,v="absolute"!==p.position,w="progid:DXImageTransform.Microsoft.Matrix(M11="+o+", M12="+h+", M21="+l+", M22="+_,x=s.x+d*s.xPercent/100,b=s.y+g*s.yPercent/100;if(null!=s.ox&&(c=(s.oxp?.01*d*s.ox:s.ox)-d/2,m=(s.oyp?.01*g*s.oy:s.oy)-g/2,x+=c-(c*o+m*h),b+=m-(c*l+m*_)),v?(c=d/2,m=g/2,w+=", Dx="+(c-(c*o+m*h)+x)+", Dy="+(m-(c*l+m*_)+b)+")"):w+=", sizingMethod='auto expand')",u.filter=-1!==e.indexOf("DXImageTransform.Microsoft.Matrix(")?e.replace(O,w):w+" "+e,(0===t||1===t)&&1===o&&0===h&&0===l&&1===_&&(v&&-1===w.indexOf("Dx=0, Dy=0")||T.test(e)&&100!==parseFloat(RegExp.$1)||-1===e.indexOf("gradient("&&e.indexOf("Alpha"))&&u.removeAttribute("filter")),!v){var P,S,k,R=8>f?1:-1;for(c=s.ieOffsetX||0,m=s.ieOffsetY||0,s.ieOffsetX=Math.round((d-((0>o?-o:o)*d+(0>h?-h:h)*g))/2+x),s.ieOffsetY=Math.round((g-((0>_?-_:_)*g+(0>l?-l:l)*d))/2+b),fe=0;4>fe;fe++)S=J[fe],P=p[S],i=-1!==P.indexOf("px")?parseFloat(P):Q(this.t,S,parseFloat(P),P.replace(y,""))||0,k=i!==s[S]?2>fe?-s.ieOffsetX:-s.ieOffsetY:2>fe?c-s.ieOffsetX:m-s.ieOffsetY,u[S]=(s[S]=Math.round(i-k*(0===fe||2===fe?1:R)))+"px"}}},ke=N.set3DTransformRatio=function(t){var e,i,s,r,n,a,o,h,l,_,u,c,f,m,d,g,v,y,T,w,x,b,P,S=this.data,k=this.t.style,R=S.rotation*M,A=S.scaleX,C=S.scaleY,O=S.scaleZ,D=S.x,z=S.y,I=S.z,E=S.perspective;if(!(1!==t&&0!==t||"auto"!==S.force3D||S.rotationY||S.rotationX||1!==O||E||I))return Re.call(this,t),void 0;if(p){var L=1e-4;L>A&&A>-L&&(A=O=2e-5),L>C&&C>-L&&(C=O=2e-5),!E||S.z||S.rotationX||S.rotationY||(E=0)}if(R||S.skewX)y=Math.cos(R),T=Math.sin(R),e=y,n=T,S.skewX&&(R-=S.skewX*M,y=Math.cos(R),T=Math.sin(R),"simple"===S.skewType&&(w=Math.tan(S.skewX*M),w=Math.sqrt(1+w*w),y*=w,T*=w)),i=-T,a=y;else{if(!(S.rotationY||S.rotationX||1!==O||E))return k[ye]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) translate3d(":"translate3d(")+D+"px,"+z+"px,"+I+"px)"+(1!==A||1!==C?" scale("+A+","+C+")":""),void 0;e=a=1,i=n=0}u=1,s=r=o=h=l=_=c=f=m=0,d=E?-1/E:0,g=S.zOrigin,v=1e5,R=S.rotationY*M,R&&(y=Math.cos(R),T=Math.sin(R),l=u*-T,f=d*-T,s=e*T,o=n*T,u*=y,d*=y,e*=y,n*=y),R=S.rotationX*M,R&&(y=Math.cos(R),T=Math.sin(R),w=i*y+s*T,x=a*y+o*T,b=_*y+u*T,P=m*y+d*T,s=i*-T+s*y,o=a*-T+o*y,u=_*-T+u*y,d=m*-T+d*y,i=w,a=x,_=b,m=P),1!==O&&(s*=O,o*=O,u*=O,d*=O),1!==C&&(i*=C,a*=C,_*=C,m*=C),1!==A&&(e*=A,n*=A,l*=A,f*=A),g&&(c-=g,r=s*c,h=o*c,c=u*c+g),r=(w=(r+=D)-(r|=0))?(0|w*v+(0>w?-.5:.5))/v+r:r,h=(w=(h+=z)-(h|=0))?(0|w*v+(0>w?-.5:.5))/v+h:h,c=(w=(c+=I)-(c|=0))?(0|w*v+(0>w?-.5:.5))/v+c:c,k[ye]=(S.xPercent||S.yPercent?"translate("+S.xPercent+"%,"+S.yPercent+"%) matrix3d(":"matrix3d(")+[(0|e*v)/v,(0|n*v)/v,(0|l*v)/v,(0|f*v)/v,(0|i*v)/v,(0|a*v)/v,(0|_*v)/v,(0|m*v)/v,(0|s*v)/v,(0|o*v)/v,(0|u*v)/v,(0|d*v)/v,r,h,c,E?1+-c/E:1].join(",")+")"},Re=N.set2DTransformRatio=function(t){var e,i,s,r,n,a=this.data,o=this.t,h=o.style,l=a.x,_=a.y;return a.rotationX||a.rotationY||a.z||a.force3D===!0||"auto"===a.force3D&&1!==t&&0!==t?(this.setRatio=ke,ke.call(this,t),void 0):(a.rotation||a.skewX?(e=a.rotation*M,i=e-a.skewX*M,s=1e5,r=a.scaleX*s,n=a.scaleY*s,h[ye]=(a.xPercent||a.yPercent?"translate("+a.xPercent+"%,"+a.yPercent+"%) matrix(":"matrix(")+(0|Math.cos(e)*r)/s+","+(0|Math.sin(e)*r)/s+","+(0|Math.sin(i)*-n)/s+","+(0|Math.cos(i)*n)/s+","+l+","+_+")"):h[ye]=(a.xPercent||a.yPercent?"translate("+a.xPercent+"%,"+a.yPercent+"%) matrix(":"matrix(")+a.scaleX+",0,0,"+a.scaleY+","+l+","+_+")",void 0)};de("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent",{parser:function(t,e,i,s,n,o,h){if(s._transform)return n;var l,_,u,p,c,f,m,d=s._transform=Pe(t,r,!0,h.parseTransform),g=t.style,v=1e-6,y=ve.length,T=h,w={};if("string"==typeof T.transform&&ye)u=L.style,u[ye]=T.transform,u.display="block",u.position="absolute",E.body.appendChild(L),l=Pe(L,null,!1),E.body.removeChild(L);else if("object"==typeof T){if(l={scaleX:se(null!=T.scaleX?T.scaleX:T.scale,d.scaleX),scaleY:se(null!=T.scaleY?T.scaleY:T.scale,d.scaleY),scaleZ:se(T.scaleZ,d.scaleZ),x:se(T.x,d.x),y:se(T.y,d.y),z:se(T.z,d.z),xPercent:se(T.xPercent,d.xPercent),yPercent:se(T.yPercent,d.yPercent),perspective:se(T.transformPerspective,d.perspective)},m=T.directionalRotation,null!=m)if("object"==typeof m)for(u in m)T[u]=m[u];else T.rotation=m;"string"==typeof T.x&&-1!==T.x.indexOf("%")&&(l.x=0,l.xPercent=se(T.x,d.xPercent)),"string"==typeof T.y&&-1!==T.y.indexOf("%")&&(l.y=0,l.yPercent=se(T.y,d.yPercent)),l.rotation=re("rotation"in T?T.rotation:"shortRotation"in T?T.shortRotation+"_short":"rotationZ"in T?T.rotationZ:d.rotation,d.rotation,"rotation",w),xe&&(l.rotationX=re("rotationX"in T?T.rotationX:"shortRotationX"in T?T.shortRotationX+"_short":d.rotationX||0,d.rotationX,"rotationX",w),l.rotationY=re("rotationY"in T?T.rotationY:"shortRotationY"in T?T.shortRotationY+"_short":d.rotationY||0,d.rotationY,"rotationY",w)),l.skewX=null==T.skewX?d.skewX:re(T.skewX,d.skewX),l.skewY=null==T.skewY?d.skewY:re(T.skewY,d.skewY),(_=l.skewY-d.skewY)&&(l.skewX+=_,l.rotation+=_)}for(xe&&null!=T.force3D&&(d.force3D=T.force3D,f=!0),d.skewType=T.skewType||d.skewType||a.defaultSkewType,c=d.force3D||d.z||d.rotationX||d.rotationY||l.z||l.rotationX||l.rotationY||l.perspective,c||null==T.scale||(l.scaleZ=1);--y>-1;)i=ve[y],p=l[i]-d[i],(p>v||-v>p||null!=I[i])&&(f=!0,n=new pe(d,i,d[i],p,n),i in w&&(n.e=w[i]),n.xs0=0,n.plugin=o,s._overwriteProps.push(n.n));return p=T.transformOrigin,(p||xe&&c&&d.zOrigin)&&(ye?(f=!0,i=we,p=(p||W(t,i,r,!1,"50% 50%"))+"",n=new pe(g,i,0,0,n,-1,"transformOrigin"),n.b=g[i],n.plugin=o,xe?(u=d.zOrigin,p=p.split(" "),d.zOrigin=(p.length>2&&(0===u||"0px"!==p[2])?parseFloat(p[2]):u)||0,n.xs0=n.e=p[0]+" "+(p[1]||"50%")+" 0px",n=new pe(d,"zOrigin",0,0,n,-1,n.n),n.b=u,n.xs0=n.e=d.zOrigin):n.xs0=n.e=p):ee(p+"",d)),f&&(s._transformType=c||3===this._transformType?3:2),n},prefix:!0}),de("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),de("borderRadius",{defaultValue:"0px",parser:function(t,e,i,n,a){e=this.format(e);var o,h,l,_,u,p,c,f,m,d,g,v,y,T,w,x,b=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],P=t.style;for(m=parseFloat(t.offsetWidth),d=parseFloat(t.offsetHeight),o=e.split(" "),h=0;b.length>h;h++)this.p.indexOf("border")&&(b[h]=V(b[h])),u=_=W(t,b[h],r,!1,"0px"),-1!==u.indexOf(" ")&&(_=u.split(" "),u=_[0],_=_[1]),p=l=o[h],c=parseFloat(u),v=u.substr((c+"").length),y="="===p.charAt(1),y?(f=parseInt(p.charAt(0)+"1",10),p=p.substr(2),f*=parseFloat(p),g=p.substr((f+"").length-(0>f?1:0))||""):(f=parseFloat(p),g=p.substr((f+"").length)),""===g&&(g=s[i]||v),g!==v&&(T=Q(t,"borderLeft",c,v),w=Q(t,"borderTop",c,v),"%"===g?(u=100*(T/m)+"%",_=100*(w/d)+"%"):"em"===g?(x=Q(t,"borderLeft",1,"em"),u=T/x+"em",_=w/x+"em"):(u=T+"px",_=w+"px"),y&&(p=parseFloat(u)+f+g,l=parseFloat(_)+f+g)),a=ce(P,b[h],u+" "+_,p+" "+l,!1,"0px",a);return a},prefix:!0,formatter:le("0px 0px 0px 0px",!1,!0)}),de("backgroundPosition",{defaultValue:"0 0",parser:function(t,e,i,s,n,a){var o,h,l,_,u,p,c="background-position",m=r||G(t,null),d=this.format((m?f?m.getPropertyValue(c+"-x")+" "+m.getPropertyValue(c+"-y"):m.getPropertyValue(c):t.currentStyle.backgroundPositionX+" "+t.currentStyle.backgroundPositionY)||"0 0"),g=this.format(e);if(-1!==d.indexOf("%")!=(-1!==g.indexOf("%"))&&(p=W(t,"backgroundImage").replace(k,""),p&&"none"!==p)){for(o=d.split(" "),h=g.split(" "),F.setAttribute("src",p),l=2;--l>-1;)d=o[l],_=-1!==d.indexOf("%"),_!==(-1!==h[l].indexOf("%"))&&(u=0===l?t.offsetWidth-F.width:t.offsetHeight-F.height,o[l]=_?parseFloat(d)/100*u+"px":100*(parseFloat(d)/u)+"%");d=o.join(" ")}return this.parseComplex(t.style,d,g,n,a)},formatter:ee}),de("backgroundSize",{defaultValue:"0 0",formatter:ee}),de("perspective",{defaultValue:"0px",prefix:!0}),de("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),de("transformStyle",{prefix:!0}),de("backfaceVisibility",{prefix:!0}),de("userSelect",{prefix:!0}),de("margin",{parser:_e("marginTop,marginRight,marginBottom,marginLeft")}),de("padding",{parser:_e("paddingTop,paddingRight,paddingBottom,paddingLeft")}),de("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(t,e,i,s,n,a){var o,h,l;return 9>f?(h=t.currentStyle,l=8>f?" ":",",o="rect("+h.clipTop+l+h.clipRight+l+h.clipBottom+l+h.clipLeft+")",e=this.format(e).split(",").join(l)):(o=this.format(W(t,this.p,r,!1,this.dflt)),e=this.format(e)),this.parseComplex(t.style,o,e,n,a)}}),de("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),de("autoRound,strictUnits",{parser:function(t,e,i,s,r){return r}}),de("border",{defaultValue:"0px solid #000",parser:function(t,e,i,s,n,a){return this.parseComplex(t.style,this.format(W(t,"borderTopWidth",r,!1,"0px")+" "+W(t,"borderTopStyle",r,!1,"solid")+" "+W(t,"borderTopColor",r,!1,"#000")),this.format(e),n,a)},color:!0,formatter:function(t){var e=t.split(" ");return e[0]+" "+(e[1]||"solid")+" "+(t.match(he)||["#000"])[0]}}),de("borderWidth",{parser:_e("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),de("float,cssFloat,styleFloat",{parser:function(t,e,i,s,r){var n=t.style,a="cssFloat"in n?"cssFloat":"styleFloat";return new pe(n,a,0,0,r,-1,i,!1,0,n[a],e)}});var Ae=function(t){var e,i=this.t,s=i.filter||W(this.data,"filter"),r=0|this.s+this.c*t;100===r&&(-1===s.indexOf("atrix(")&&-1===s.indexOf("radient(")&&-1===s.indexOf("oader(")?(i.removeAttribute("filter"),e=!W(this.data,"filter")):(i.filter=s.replace(x,""),e=!0)),e||(this.xn1&&(i.filter=s=s||"alpha(opacity="+r+")"),-1===s.indexOf("pacity")?0===r&&this.xn1||(i.filter=s+" alpha(opacity="+r+")"):i.filter=s.replace(T,"opacity="+r))};de("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(t,e,i,s,n,a){var o=parseFloat(W(t,"opacity",r,!1,"1")),h=t.style,l="autoAlpha"===i;return"string"==typeof e&&"="===e.charAt(1)&&(e=("-"===e.charAt(0)?-1:1)*parseFloat(e.substr(2))+o),l&&1===o&&"hidden"===W(t,"visibility",r)&&0!==e&&(o=0),U?n=new pe(h,"opacity",o,e-o,n):(n=new pe(h,"opacity",100*o,100*(e-o),n),n.xn1=l?1:0,h.zoom=1,n.type=2,n.b="alpha(opacity="+n.s+")",n.e="alpha(opacity="+(n.s+n.c)+")",n.data=t,n.plugin=a,n.setRatio=Ae),l&&(n=new pe(h,"visibility",0,0,n,-1,null,!1,0,0!==o?"inherit":"hidden",0===e?"hidden":"inherit"),n.xs0="inherit",s._overwriteProps.push(n.n),s._overwriteProps.push(i)),n}});var Ce=function(t,e){e&&(t.removeProperty?("ms"===e.substr(0,2)&&(e="M"+e.substr(1)),t.removeProperty(e.replace(P,"-$1").toLowerCase())):t.removeAttribute(e))},Oe=function(t){if(this.t._gsClassPT=this,1===t||0===t){this.t.setAttribute("class",0===t?this.b:this.e);for(var e=this.data,i=this.t.style;e;)e.v?i[e.p]=e.v:Ce(i,e.p),e=e._next;1===t&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e)};de("className",{parser:function(t,e,s,n,a,o,h){var l,_,u,p,c,f=t.getAttribute("class")||"",m=t.style.cssText;if(a=n._classNamePT=new pe(t,s,0,0,a,2),a.setRatio=Oe,a.pr=-11,i=!0,a.b=f,_=$(t,r),u=t._gsClassPT){for(p={},c=u.data;c;)p[c.p]=1,c=c._next;u.setRatio(1)}return t._gsClassPT=a,a.e="="!==e.charAt(1)?e:f.replace(RegExp("\\s*\\b"+e.substr(2)+"\\b"),"")+("+"===e.charAt(0)?" "+e.substr(2):""),n._tween._duration&&(t.setAttribute("class",a.e),l=H(t,_,$(t),h,p),t.setAttribute("class",f),a.data=l.firstMPT,t.style.cssText=m,a=a.xfirst=n.parse(t,l.difs,a,o)),a}});var De=function(t){if((1===t||0===t)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var e,i,s,r,n=this.t.style,a=o.transform.parse;if("all"===this.e)n.cssText="",r=!0;else for(e=this.e.split(","),s=e.length;--s>-1;)i=e[s],o[i]&&(o[i].parse===a?r=!0:i="transformOrigin"===i?we:o[i].p),Ce(n,i);r&&(Ce(n,ye),this.t._gsTransform&&delete this.t._gsTransform)}};for(de("clearProps",{parser:function(t,e,s,r,n){return n=new pe(t,s,0,0,n,2),n.setRatio=De,n.e=e,n.pr=-10,n.data=r._tween,i=!0,n}}),h="bezier,throwProps,physicsProps,physics2D".split(","),fe=h.length;fe--;)ge(h[fe]);h=a.prototype,h._firstPT=null,h._onInitTween=function(t,e,o){if(!t.nodeType)return!1;this._target=t,this._tween=o,this._vars=e,l=e.autoRound,i=!1,s=e.suffixMap||a.suffixMap,r=G(t,""),n=this._overwriteProps;var h,p,f,m,d,g,v,y,T,x=t.style;if(_&&""===x.zIndex&&(h=W(t,"zIndex",r),("auto"===h||""===h)&&this._addLazySet(x,"zIndex",0)),"string"==typeof e&&(m=x.cssText,h=$(t,r),x.cssText=m+";"+e,h=H(t,h,$(t)).difs,!U&&w.test(e)&&(h.opacity=parseFloat(RegExp.$1)),e=h,x.cssText=m),this._firstPT=p=this.parse(t,e,null),this._transformType){for(T=3===this._transformType,ye?u&&(_=!0,""===x.zIndex&&(v=W(t,"zIndex",r),("auto"===v||""===v)&&this._addLazySet(x,"zIndex",0)),c&&this._addLazySet(x,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(T?"visible":"hidden"))):x.zoom=1,f=p;f&&f._next;)f=f._next;y=new pe(t,"transform",0,0,null,2),this._linkCSSP(y,null,f),y.setRatio=T&&xe?ke:ye?Re:Se,y.data=this._transform||Pe(t,r,!0),n.pop()}if(i){for(;p;){for(g=p._next,f=m;f&&f.pr>p.pr;)f=f._next;(p._prev=f?f._prev:d)?p._prev._next=p:m=p,(p._next=f)?f._prev=p:d=p,p=g}this._firstPT=m}return!0},h.parse=function(t,e,i,n){var a,h,_,u,p,c,f,m,d,g,v=t.style;for(a in e)c=e[a],h=o[a],h?i=h.parse(t,c,a,this,i,n,e):(p=W(t,a,r)+"",d="string"==typeof c,"color"===a||"fill"===a||"stroke"===a||-1!==a.indexOf("Color")||d&&b.test(c)?(d||(c=oe(c),c=(c.length>3?"rgba(":"rgb(")+c.join(",")+")"),i=ce(v,a,p,c,!0,"transparent",i,0,n)):!d||-1===c.indexOf(" ")&&-1===c.indexOf(",")?(_=parseFloat(p),f=_||0===_?p.substr((_+"").length):"",(""===p||"auto"===p)&&("width"===a||"height"===a?(_=te(t,a,r),f="px"):"left"===a||"top"===a?(_=Z(t,a,r),f="px"):(_="opacity"!==a?0:1,f="")),g=d&&"="===c.charAt(1),g?(u=parseInt(c.charAt(0)+"1",10),c=c.substr(2),u*=parseFloat(c),m=c.replace(y,"")):(u=parseFloat(c),m=d?c.substr((u+"").length)||"":""),""===m&&(m=a in s?s[a]:f),c=u||0===u?(g?u+_:u)+m:e[a],f!==m&&""!==m&&(u||0===u)&&_&&(_=Q(t,a,_,f),"%"===m?(_/=Q(t,a,100,"%")/100,e.strictUnits!==!0&&(p=_+"%")):"em"===m?_/=Q(t,a,1,"em"):"px"!==m&&(u=Q(t,a,u,m),m="px"),g&&(u||0===u)&&(c=u+_+m)),g&&(u+=_),!_&&0!==_||!u&&0!==u?void 0!==v[a]&&(c||"NaN"!=c+""&&null!=c)?(i=new pe(v,a,u||_||0,0,i,-1,a,!1,0,p,c),i.xs0="none"!==c||"display"!==a&&-1===a.indexOf("Style")?c:p):j("invalid "+a+" tween value: "+e[a]):(i=new pe(v,a,_,u-_,i,0,a,l!==!1&&("px"===m||"zIndex"===a),0,p,c),i.xs0=m)):i=ce(v,a,p,c,!0,null,i,0,n)),n&&i&&!i.plugin&&(i.plugin=n); +return i},h.setRatio=function(t){var e,i,s,r=this._firstPT,n=1e-6;if(1!==t||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(t||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;r;){if(e=r.c*t+r.s,r.r?e=Math.round(e):n>e&&e>-n&&(e=0),r.type)if(1===r.type)if(s=r.l,2===s)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2;else if(3===s)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3;else if(4===s)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4;else if(5===s)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4+r.xn4+r.xs5;else{for(i=r.xs0+e+r.xs1,s=1;r.l>s;s++)i+=r["xn"+s]+r["xs"+(s+1)];r.t[r.p]=i}else-1===r.type?r.t[r.p]=r.xs0:r.setRatio&&r.setRatio(t);else r.t[r.p]=e+r.xs0;r=r._next}else for(;r;)2!==r.type?r.t[r.p]=r.b:r.setRatio(t),r=r._next;else for(;r;)2!==r.type?r.t[r.p]=r.e:r.setRatio(t),r=r._next},h._enableTransforms=function(t){this._transformType=t||3===this._transformType?3:2,this._transform=this._transform||Pe(this._target,r,!0)};var Me=function(){this.t[this.p]=this.e,this.data._linkCSSP(this,this._next,null,!0)};h._addLazySet=function(t,e,i){var s=this._firstPT=new pe(t,e,0,0,this._firstPT,2);s.e=i,s.setRatio=Me,s.data=this},h._linkCSSP=function(t,e,i,s){return t&&(e&&(e._prev=t),t._next&&(t._next._prev=t._prev),t._prev?t._prev._next=t._next:this._firstPT===t&&(this._firstPT=t._next,s=!0),i?i._next=t:s||null!==this._firstPT||(this._firstPT=t),t._next=e,t._prev=i),t},h._kill=function(e){var i,s,r,n=e;if(e.autoAlpha||e.alpha){n={};for(s in e)n[s]=e[s];n.opacity=1,n.autoAlpha&&(n.visibility=1)}return e.className&&(i=this._classNamePT)&&(r=i.xfirst,r&&r._prev?this._linkCSSP(r._prev,i._next,r._prev._prev):r===this._firstPT&&(this._firstPT=i._next),i._next&&this._linkCSSP(i._next,i._next._next,r._prev),this._classNamePT=null),t.prototype._kill.call(this,n)};var ze=function(t,e,i){var s,r,n,a;if(t.slice)for(r=t.length;--r>-1;)ze(t[r],e,i);else for(s=t.childNodes,r=s.length;--r>-1;)n=s[r],a=n.type,n.style&&(e.push($(n)),i&&i.push(n)),1!==a&&9!==a&&11!==a||!n.childNodes.length||ze(n,e,i)};return a.cascadeTo=function(t,i,s){var r,n,a,o=e.to(t,i,s),h=[o],l=[],_=[],u=[],p=e._internals.reservedProps;for(t=o._targets||o.target,ze(t,l,u),o.render(i,!0),ze(t,_),o.render(0,!0),o._enabled(!0),r=u.length;--r>-1;)if(n=H(u[r],l[r],_[r]),n.firstMPT){n=n.difs;for(a in s)p[a]&&(n[a]=s[a]);h.push(e.to(u[r],i,n))}return h},t.activate([a]),a},!0),function(){var t=_gsScope._gsDefine.plugin({propName:"roundProps",priority:-1,API:2,init:function(t,e,i){return this._tween=i,!0}}),e=t.prototype;e._onInitAllProps=function(){for(var t,e,i,s=this._tween,r=s.vars.roundProps instanceof Array?s.vars.roundProps:s.vars.roundProps.split(","),n=r.length,a={},o=s._propLookup.roundProps;--n>-1;)a[r[n]]=1;for(n=r.length;--n>-1;)for(t=r[n],e=s._firstPT;e;)i=e._next,e.pg?e.t._roundProps(a,!0):e.n===t&&(this._add(e.t,t,e.s,e.c),i&&(i._prev=e._prev),e._prev?e._prev._next=i:s._firstPT===e&&(s._firstPT=i),e._next=e._prev=null,s._propLookup[t]=o),e=i;return!1},e._add=function(t,e,i,s){this._addTween(t,e,i,i+s,e,!0),this._overwriteProps.push(e)}}(),_gsScope._gsDefine.plugin({propName:"attr",API:2,version:"0.3.3",init:function(t,e){var i,s,r;if("function"!=typeof t.setAttribute)return!1;this._target=t,this._proxy={},this._start={},this._end={};for(i in e)this._start[i]=this._proxy[i]=s=t.getAttribute(i),r=this._addTween(this._proxy,i,parseFloat(s),e[i],i),this._end[i]=r?r.s+r.c:e[i],this._overwriteProps.push(i);return!0},set:function(t){this._super.setRatio.call(this,t);for(var e,i=this._overwriteProps,s=i.length,r=1===t?this._end:t?this._proxy:this._start;--s>-1;)e=i[s],this._target.setAttribute(e,r[e]+"")}}),_gsScope._gsDefine.plugin({propName:"directionalRotation",version:"0.2.1",API:2,init:function(t,e){"object"!=typeof e&&(e={rotation:e}),this.finals={};var i,s,r,n,a,o,h=e.useRadians===!0?2*Math.PI:360,l=1e-6;for(i in e)"useRadians"!==i&&(o=(e[i]+"").split("_"),s=o[0],r=parseFloat("function"!=typeof t[i]?t[i]:t[i.indexOf("set")||"function"!=typeof t["get"+i.substr(3)]?i:"get"+i.substr(3)]()),n=this.finals[i]="string"==typeof s&&"="===s.charAt(1)?r+parseInt(s.charAt(0)+"1",10)*Number(s.substr(2)):Number(s)||0,a=n-r,o.length&&(s=o.join("_"),-1!==s.indexOf("short")&&(a%=h,a!==a%(h/2)&&(a=0>a?a+h:a-h)),-1!==s.indexOf("_cw")&&0>a?a=(a+9999999999*h)%h-(0|a/h)*h:-1!==s.indexOf("ccw")&&a>0&&(a=(a-9999999999*h)%h-(0|a/h)*h)),(a>l||-l>a)&&(this._addTween(t,i,r,r+a,i),this._overwriteProps.push(i)));return!0},set:function(t){var e;if(1!==t)this._super.setRatio.call(this,t);else for(e=this._firstPT;e;)e.f?e.t[e.p](this.finals[e.p]):e.t[e.p]=this.finals[e.p],e=e._next}})._autoCSS=!0,_gsScope._gsDefine("easing.Back",["easing.Ease"],function(t){var e,i,s,r=_gsScope.GreenSockGlobals||_gsScope,n=r.com.greensock,a=2*Math.PI,o=Math.PI/2,h=n._class,l=function(e,i){var s=h("easing."+e,function(){},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,s},_=t.register||function(){},u=function(t,e,i,s){var r=h("easing."+t,{easeOut:new e,easeIn:new i,easeInOut:new s},!0);return _(r,t),r},p=function(t,e,i){this.t=t,this.v=e,i&&(this.next=i,i.prev=this,this.c=i.v-e,this.gap=i.t-t)},c=function(e,i){var s=h("easing."+e,function(t){this._p1=t||0===t?t:1.70158,this._p2=1.525*this._p1},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,r.config=function(t){return new s(t)},s},f=u("Back",c("BackOut",function(t){return(t-=1)*t*((this._p1+1)*t+this._p1)+1}),c("BackIn",function(t){return t*t*((this._p1+1)*t-this._p1)}),c("BackInOut",function(t){return 1>(t*=2)?.5*t*t*((this._p2+1)*t-this._p2):.5*((t-=2)*t*((this._p2+1)*t+this._p2)+2)})),m=h("easing.SlowMo",function(t,e,i){e=e||0===e?e:.7,null==t?t=.7:t>1&&(t=1),this._p=1!==t?e:0,this._p1=(1-t)/2,this._p2=t,this._p3=this._p1+this._p2,this._calcEnd=i===!0},!0),d=m.prototype=new t;return d.constructor=m,d.getRatio=function(t){var e=t+(.5-t)*this._p;return this._p1>t?this._calcEnd?1-(t=1-t/this._p1)*t:e-(t=1-t/this._p1)*t*t*t*e:t>this._p3?this._calcEnd?1-(t=(t-this._p3)/this._p1)*t:e+(t-e)*(t=(t-this._p3)/this._p1)*t*t*t:this._calcEnd?1:e},m.ease=new m(.7,.7),d.config=m.config=function(t,e,i){return new m(t,e,i)},e=h("easing.SteppedEase",function(t){t=t||1,this._p1=1/t,this._p2=t+1},!0),d=e.prototype=new t,d.constructor=e,d.getRatio=function(t){return 0>t?t=0:t>=1&&(t=.999999999),(this._p2*t>>0)*this._p1},d.config=e.config=function(t){return new e(t)},i=h("easing.RoughEase",function(e){e=e||{};for(var i,s,r,n,a,o,h=e.taper||"none",l=[],_=0,u=0|(e.points||20),c=u,f=e.randomize!==!1,m=e.clamp===!0,d=e.template instanceof t?e.template:null,g="number"==typeof e.strength?.4*e.strength:.4;--c>-1;)i=f?Math.random():1/u*c,s=d?d.getRatio(i):i,"none"===h?r=g:"out"===h?(n=1-i,r=n*n*g):"in"===h?r=i*i*g:.5>i?(n=2*i,r=.5*n*n*g):(n=2*(1-i),r=.5*n*n*g),f?s+=Math.random()*r-.5*r:c%2?s+=.5*r:s-=.5*r,m&&(s>1?s=1:0>s&&(s=0)),l[_++]={x:i,y:s};for(l.sort(function(t,e){return t.x-e.x}),o=new p(1,1,null),c=u;--c>-1;)a=l[c],o=new p(a.x,a.y,o);this._prev=new p(0,0,0!==o.t?o:o.next)},!0),d=i.prototype=new t,d.constructor=i,d.getRatio=function(t){var e=this._prev;if(t>e.t){for(;e.next&&t>=e.t;)e=e.next;e=e.prev}else for(;e.prev&&e.t>=t;)e=e.prev;return this._prev=e,e.v+(t-e.t)/e.gap*e.c},d.config=function(t){return new i(t)},i.ease=new i,u("Bounce",l("BounceOut",function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}),l("BounceIn",function(t){return 1/2.75>(t=1-t)?1-7.5625*t*t:2/2.75>t?1-(7.5625*(t-=1.5/2.75)*t+.75):2.5/2.75>t?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}),l("BounceInOut",function(t){var e=.5>t;return t=e?1-2*t:2*t-1,t=1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,e?.5*(1-t):.5*t+.5})),u("Circ",l("CircOut",function(t){return Math.sqrt(1-(t-=1)*t)}),l("CircIn",function(t){return-(Math.sqrt(1-t*t)-1)}),l("CircInOut",function(t){return 1>(t*=2)?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)})),s=function(e,i,s){var r=h("easing."+e,function(t,e){this._p1=t||1,this._p2=e||s,this._p3=this._p2/a*(Math.asin(1/this._p1)||0)},!0),n=r.prototype=new t;return n.constructor=r,n.getRatio=i,n.config=function(t,e){return new r(t,e)},r},u("Elastic",s("ElasticOut",function(t){return this._p1*Math.pow(2,-10*t)*Math.sin((t-this._p3)*a/this._p2)+1},.3),s("ElasticIn",function(t){return-(this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*a/this._p2))},.3),s("ElasticInOut",function(t){return 1>(t*=2)?-.5*this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*a/this._p2):.5*this._p1*Math.pow(2,-10*(t-=1))*Math.sin((t-this._p3)*a/this._p2)+1},.45)),u("Expo",l("ExpoOut",function(t){return 1-Math.pow(2,-10*t)}),l("ExpoIn",function(t){return Math.pow(2,10*(t-1))-.001}),l("ExpoInOut",function(t){return 1>(t*=2)?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))})),u("Sine",l("SineOut",function(t){return Math.sin(t*o)}),l("SineIn",function(t){return-Math.cos(t*o)+1}),l("SineInOut",function(t){return-.5*(Math.cos(Math.PI*t)-1)})),h("easing.EaseLookup",{find:function(e){return t.map[e]}},!0),_(r.SlowMo,"SlowMo","ease,"),_(i,"RoughEase","ease,"),_(e,"SteppedEase","ease,"),f},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(t,e){"use strict";var i=t.GreenSockGlobals=t.GreenSockGlobals||t;if(!i.TweenLite){var s,r,n,a,o,h=function(t){var e,s=t.split("."),r=i;for(e=0;s.length>e;e++)r[s[e]]=r=r[s[e]]||{};return r},l=h("com.greensock"),_=1e-10,u=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},p=function(){},c=function(){var t=Object.prototype.toString,e=t.call([]);return function(i){return null!=i&&(i instanceof Array||"object"==typeof i&&!!i.push&&t.call(i)===e)}}(),f={},m=function(s,r,n,a){this.sc=f[s]?f[s].sc:[],f[s]=this,this.gsClass=null,this.func=n;var o=[];this.check=function(l){for(var _,u,p,c,d=r.length,g=d;--d>-1;)(_=f[r[d]]||new m(r[d],[])).gsClass?(o[d]=_.gsClass,g--):l&&_.sc.push(this);if(0===g&&n)for(u=("com.greensock."+s).split("."),p=u.pop(),c=h(u.join("."))[p]=this.gsClass=n.apply(n,o),a&&(i[p]=c,"function"==typeof define&&define.amd?define((t.GreenSockAMDPath?t.GreenSockAMDPath+"/":"")+s.split(".").pop(),[],function(){return c}):s===e&&"undefined"!=typeof module&&module.exports&&(module.exports=c)),d=0;this.sc.length>d;d++)this.sc[d].check()},this.check(!0)},d=t._gsDefine=function(t,e,i,s){return new m(t,e,i,s)},g=l._class=function(t,e,i){return e=e||function(){},d(t,[],function(){return e},i),e};d.globals=i;var v=[0,0,1,1],y=[],T=g("easing.Ease",function(t,e,i,s){this._func=t,this._type=i||0,this._power=s||0,this._params=e?v.concat(e):v},!0),w=T.map={},x=T.register=function(t,e,i,s){for(var r,n,a,o,h=e.split(","),_=h.length,u=(i||"easeIn,easeOut,easeInOut").split(",");--_>-1;)for(n=h[_],r=s?g("easing."+n,null,!0):l.easing[n]||{},a=u.length;--a>-1;)o=u[a],w[n+"."+o]=w[o+n]=r[o]=t.getRatio?t:t[o]||new t};for(n=T.prototype,n._calcEnd=!1,n.getRatio=function(t){if(this._func)return this._params[0]=t,this._func.apply(null,this._params);var e=this._type,i=this._power,s=1===e?1-t:2===e?t:.5>t?2*t:2*(1-t);return 1===i?s*=s:2===i?s*=s*s:3===i?s*=s*s*s:4===i&&(s*=s*s*s*s),1===e?1-s:2===e?s:.5>t?s/2:1-s/2},s=["Linear","Quad","Cubic","Quart","Quint,Strong"],r=s.length;--r>-1;)n=s[r]+",Power"+r,x(new T(null,null,1,r),n,"easeOut",!0),x(new T(null,null,2,r),n,"easeIn"+(0===r?",easeNone":"")),x(new T(null,null,3,r),n,"easeInOut");w.linear=l.easing.Linear.easeIn,w.swing=l.easing.Quad.easeInOut;var b=g("events.EventDispatcher",function(t){this._listeners={},this._eventTarget=t||this});n=b.prototype,n.addEventListener=function(t,e,i,s,r){r=r||0;var n,h,l=this._listeners[t],_=0;for(null==l&&(this._listeners[t]=l=[]),h=l.length;--h>-1;)n=l[h],n.c===e&&n.s===i?l.splice(h,1):0===_&&r>n.pr&&(_=h+1);l.splice(_,0,{c:e,s:i,up:s,pr:r}),this!==a||o||a.wake()},n.removeEventListener=function(t,e){var i,s=this._listeners[t];if(s)for(i=s.length;--i>-1;)if(s[i].c===e)return s.splice(i,1),void 0},n.dispatchEvent=function(t){var e,i,s,r=this._listeners[t];if(r)for(e=r.length,i=this._eventTarget;--e>-1;)s=r[e],s.up?s.c.call(s.s||i,{type:t,target:i}):s.c.call(s.s||i)};var P=t.requestAnimationFrame,S=t.cancelAnimationFrame,k=Date.now||function(){return(new Date).getTime()},R=k();for(s=["ms","moz","webkit","o"],r=s.length;--r>-1&&!P;)P=t[s[r]+"RequestAnimationFrame"],S=t[s[r]+"CancelAnimationFrame"]||t[s[r]+"CancelRequestAnimationFrame"];g("Ticker",function(t,e){var i,s,r,n,h,l=this,u=k(),c=e!==!1&&P,f=500,m=33,d=function(t){var e,a,o=k()-R;o>f&&(u+=o-m),R+=o,l.time=(R-u)/1e3,e=l.time-h,(!i||e>0||t===!0)&&(l.frame++,h+=e+(e>=n?.004:n-e),a=!0),t!==!0&&(r=s(d)),a&&l.dispatchEvent("tick")};b.call(l),l.time=l.frame=0,l.tick=function(){d(!0)},l.lagSmoothing=function(t,e){f=t||1/_,m=Math.min(e,f,0)},l.sleep=function(){null!=r&&(c&&S?S(r):clearTimeout(r),s=p,r=null,l===a&&(o=!1))},l.wake=function(){null!==r?l.sleep():l.frame>10&&(R=k()-f+5),s=0===i?p:c&&P?P:function(t){return setTimeout(t,0|1e3*(h-l.time)+1)},l===a&&(o=!0),d(2)},l.fps=function(t){return arguments.length?(i=t,n=1/(i||60),h=this.time+n,l.wake(),void 0):i},l.useRAF=function(t){return arguments.length?(l.sleep(),c=t,l.fps(i),void 0):c},l.fps(t),setTimeout(function(){c&&(!r||5>l.frame)&&l.useRAF(!1)},1500)}),n=l.Ticker.prototype=new l.events.EventDispatcher,n.constructor=l.Ticker;var A=g("core.Animation",function(t,e){if(this.vars=e=e||{},this._duration=this._totalDuration=t||0,this._delay=Number(e.delay)||0,this._timeScale=1,this._active=e.immediateRender===!0,this.data=e.data,this._reversed=e.reversed===!0,B){o||a.wake();var i=this.vars.useFrames?j:B;i.add(this,i._time),this.vars.paused&&this.paused(!0)}});a=A.ticker=new l.Ticker,n=A.prototype,n._dirty=n._gc=n._initted=n._paused=!1,n._totalTime=n._time=0,n._rawPrevTime=-1,n._next=n._last=n._onUpdate=n._timeline=n.timeline=null,n._paused=!1;var C=function(){o&&k()-R>2e3&&a.wake(),setTimeout(C,2e3)};C(),n.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},n.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},n.resume=function(t,e){return null!=t&&this.seek(t,e),this.paused(!1)},n.seek=function(t,e){return this.totalTime(Number(t),e!==!1)},n.restart=function(t,e){return this.reversed(!1).paused(!1).totalTime(t?-this._delay:0,e!==!1,!0)},n.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},n.render=function(){},n.invalidate=function(){return this},n.isActive=function(){var t,e=this._timeline,i=this._startTime;return!e||!this._gc&&!this._paused&&e.isActive()&&(t=e.rawTime())>=i&&i+this.totalDuration()/this._timeScale>t},n._enabled=function(t,e){return o||a.wake(),this._gc=!t,this._active=this.isActive(),e!==!0&&(t&&!this.timeline?this._timeline.add(this,this._startTime-this._delay):!t&&this.timeline&&this._timeline._remove(this,!0)),!1},n._kill=function(){return this._enabled(!1,!1)},n.kill=function(t,e){return this._kill(t,e),this},n._uncache=function(t){for(var e=t?this:this.timeline;e;)e._dirty=!0,e=e.timeline;return this},n._swapSelfInParams=function(t){for(var e=t.length,i=t.concat();--e>-1;)"{self}"===t[e]&&(i[e]=this);return i},n.eventCallback=function(t,e,i,s){if("on"===(t||"").substr(0,2)){var r=this.vars;if(1===arguments.length)return r[t];null==e?delete r[t]:(r[t]=e,r[t+"Params"]=c(i)&&-1!==i.join("").indexOf("{self}")?this._swapSelfInParams(i):i,r[t+"Scope"]=s),"onUpdate"===t&&(this._onUpdate=e)}return this},n.delay=function(t){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+t-this._delay),this._delay=t,this):this._delay},n.duration=function(t){return arguments.length?(this._duration=this._totalDuration=t,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._timethis._duration?this._duration:t,e)):this._time},n.totalTime=function(t,e,i){if(o||a.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>t&&!i&&(t+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var s=this._totalDuration,r=this._timeline;if(t>s&&!i&&(t=s),this._startTime=(this._paused?this._pauseTime:r._time)-(this._reversed?s-t:t)/this._timeScale,r._dirty||this._uncache(!1),r._timeline)for(;r._timeline;)r._timeline._time!==(r._startTime+r._totalTime)/r._timeScale&&r.totalTime(r._totalTime,!0),r=r._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==t||0===this._duration)&&(this.render(t,e,!1),I.length&&q())}return this},n.progress=n.totalProgress=function(t,e){return arguments.length?this.totalTime(this.duration()*t,e):this._time/this.duration()},n.startTime=function(t){return arguments.length?(t!==this._startTime&&(this._startTime=t,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,t-this._delay)),this):this._startTime},n.timeScale=function(t){if(!arguments.length)return this._timeScale;if(t=t||_,this._timeline&&this._timeline.smoothChildTiming){var e=this._pauseTime,i=e||0===e?e:this._timeline.totalTime();this._startTime=i-(i-this._startTime)*this._timeScale/t}return this._timeScale=t,this._uncache(!1)},n.reversed=function(t){return arguments.length?(t!=this._reversed&&(this._reversed=t,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},n.paused=function(t){if(!arguments.length)return this._paused;if(t!=this._paused&&this._timeline){o||t||a.wake();var e=this._timeline,i=e.rawTime(),s=i-this._pauseTime;!t&&e.smoothChildTiming&&(this._startTime+=s,this._uncache(!1)),this._pauseTime=t?i:null,this._paused=t,this._active=this.isActive(),!t&&0!==s&&this._initted&&this.duration()&&this.render(e.smoothChildTiming?this._totalTime:(i-this._startTime)/this._timeScale,!0,!0)}return this._gc&&!t&&this._enabled(!0,!1),this};var O=g("core.SimpleTimeline",function(t){A.call(this,0,t),this.autoRemoveChildren=this.smoothChildTiming=!0});n=O.prototype=new A,n.constructor=O,n.kill()._gc=!1,n._first=n._last=null,n._sortChildren=!1,n.add=n.insert=function(t,e){var i,s;if(t._startTime=Number(e||0)+t._delay,t._paused&&this!==t._timeline&&(t._pauseTime=t._startTime+(this.rawTime()-t._startTime)/t._timeScale),t.timeline&&t.timeline._remove(t,!0),t.timeline=t._timeline=this,t._gc&&t._enabled(!0,!0),i=this._last,this._sortChildren)for(s=t._startTime;i&&i._startTime>s;)i=i._prev;return i?(t._next=i._next,i._next=t):(t._next=this._first,this._first=t),t._next?t._next._prev=t:this._last=t,t._prev=i,this._timeline&&this._uncache(!0),this},n._remove=function(t,e){return t.timeline===this&&(e||t._enabled(!1,!0),t._prev?t._prev._next=t._next:this._first===t&&(this._first=t._next),t._next?t._next._prev=t._prev:this._last===t&&(this._last=t._prev),t._next=t._prev=t.timeline=null,this._timeline&&this._uncache(!0)),this},n.render=function(t,e,i){var s,r=this._first;for(this._totalTime=this._time=this._rawPrevTime=t;r;)s=r._next,(r._active||t>=r._startTime&&!r._paused)&&(r._reversed?r.render((r._dirty?r.totalDuration():r._totalDuration)-(t-r._startTime)*r._timeScale,e,i):r.render((t-r._startTime)*r._timeScale,e,i)),r=s},n.rawTime=function(){return o||a.wake(),this._totalTime};var D=g("TweenLite",function(e,i,s){if(A.call(this,i,s),this.render=D.prototype.render,null==e)throw"Cannot tween a null target.";this.target=e="string"!=typeof e?e:D.selector(e)||e;var r,n,a,o=e.jquery||e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType),h=this.vars.overwrite;if(this._overwrite=h=null==h?Y[D.defaultOverwrite]:"number"==typeof h?h>>0:Y[h],(o||e instanceof Array||e.push&&c(e))&&"number"!=typeof e[0])for(this._targets=a=u(e),this._propLookup=[],this._siblings=[],r=0;a.length>r;r++)n=a[r],n?"string"!=typeof n?n.length&&n!==t&&n[0]&&(n[0]===t||n[0].nodeType&&n[0].style&&!n.nodeType)?(a.splice(r--,1),this._targets=a=a.concat(u(n))):(this._siblings[r]=V(n,this,!1),1===h&&this._siblings[r].length>1&&G(n,this,null,1,this._siblings[r])):(n=a[r--]=D.selector(n),"string"==typeof n&&a.splice(r+1,1)):a.splice(r--,1);else this._propLookup={},this._siblings=V(e,this,!1),1===h&&this._siblings.length>1&&G(e,this,null,1,this._siblings);(this.vars.immediateRender||0===i&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-_,this.render(-this._delay))},!0),M=function(e){return e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType)},z=function(t,e){var i,s={};for(i in t)U[i]||i in e&&"transform"!==i&&"x"!==i&&"y"!==i&&"width"!==i&&"height"!==i&&"className"!==i&&"border"!==i||!(!F[i]||F[i]&&F[i]._autoCSS)||(s[i]=t[i],delete t[i]);t.css=s};n=D.prototype=new A,n.constructor=D,n.kill()._gc=!1,n.ratio=0,n._firstPT=n._targets=n._overwrittenProps=n._startAt=null,n._notifyPluginsOfEnabled=n._lazy=!1,D.version="1.13.1",D.defaultEase=n._ease=new T(null,null,1,1),D.defaultOverwrite="auto",D.ticker=a,D.autoSleep=!0,D.lagSmoothing=function(t,e){a.lagSmoothing(t,e)},D.selector=t.$||t.jQuery||function(e){var i=t.$||t.jQuery;return i?(D.selector=i,i(e)):"undefined"==typeof document?e:document.querySelectorAll?document.querySelectorAll(e):document.getElementById("#"===e.charAt(0)?e.substr(1):e)};var I=[],E={},L=D._internals={isArray:c,isSelector:M,lazyTweens:I},F=D._plugins={},N=L.tweenLookup={},X=0,U=L.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1},Y={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,"true":1,"false":0},j=A._rootFramesTimeline=new O,B=A._rootTimeline=new O,q=L.lazyRender=function(){var t=I.length;for(E={};--t>-1;)s=I[t],s&&s._lazy!==!1&&(s.render(s._lazy,!1,!0),s._lazy=!1);I.length=0};B._startTime=a.time,j._startTime=a.frame,B._active=j._active=!0,setTimeout(q,1),A._updateRoot=D.render=function(){var t,e,i;if(I.length&&q(),B.render((a.time-B._startTime)*B._timeScale,!1,!1),j.render((a.frame-j._startTime)*j._timeScale,!1,!1),I.length&&q(),!(a.frame%120)){for(i in N){for(e=N[i].tweens,t=e.length;--t>-1;)e[t]._gc&&e.splice(t,1);0===e.length&&delete N[i]}if(i=B._first,(!i||i._paused)&&D.autoSleep&&!j._first&&1===a._listeners.tick.length){for(;i&&i._paused;)i=i._next;i||a.sleep()}}},a.addEventListener("tick",A._updateRoot);var V=function(t,e,i){var s,r,n=t._gsTweenID;if(N[n||(t._gsTweenID=n="t"+X++)]||(N[n]={target:t,tweens:[]}),e&&(s=N[n].tweens,s[r=s.length]=e,i))for(;--r>-1;)s[r]===e&&s.splice(r,1);return N[n].tweens},G=function(t,e,i,s,r){var n,a,o,h;if(1===s||s>=4){for(h=r.length,n=0;h>n;n++)if((o=r[n])!==e)o._gc||o._enabled(!1,!1)&&(a=!0);else if(5===s)break;return a}var l,u=e._startTime+_,p=[],c=0,f=0===e._duration;for(n=r.length;--n>-1;)(o=r[n])===e||o._gc||o._paused||(o._timeline!==e._timeline?(l=l||W(e,0,f),0===W(o,l,f)&&(p[c++]=o)):u>=o._startTime&&o._startTime+o.totalDuration()/o._timeScale>u&&((f||!o._initted)&&2e-10>=u-o._startTime||(p[c++]=o)));for(n=c;--n>-1;)o=p[n],2===s&&o._kill(i,t)&&(a=!0),(2!==s||!o._firstPT&&o._initted)&&o._enabled(!1,!1)&&(a=!0);return a},W=function(t,e,i){for(var s=t._timeline,r=s._timeScale,n=t._startTime;s._timeline;){if(n+=s._startTime,r*=s._timeScale,s._paused)return-100;s=s._timeline}return n/=r,n>e?n-e:i&&n===e||!t._initted&&2*_>n-e?_:(n+=t.totalDuration()/t._timeScale/r)>e+_?0:n-e-_};n._init=function(){var t,e,i,s,r,n=this.vars,a=this._overwrittenProps,o=this._duration,h=!!n.immediateRender,l=n.ease;if(n.startAt){this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),r={};for(s in n.startAt)r[s]=n.startAt[s];if(r.overwrite=!1,r.immediateRender=!0,r.lazy=h&&n.lazy!==!1,r.startAt=r.delay=null,this._startAt=D.to(this.target,0,r),h)if(this._time>0)this._startAt=null;else if(0!==o)return}else if(n.runBackwards&&0!==o)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{i={};for(s in n)U[s]&&"autoCSS"!==s||(i[s]=n[s]);if(i.overwrite=0,i.data="isFromStart",i.lazy=h&&n.lazy!==!1,i.immediateRender=h,this._startAt=D.to(this.target,0,i),h){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1)}if(this._ease=l=l?l instanceof T?l:"function"==typeof l?new T(l,n.easeParams):w[l]||D.defaultEase:D.defaultEase,n.easeParams instanceof Array&&l.config&&(this._ease=l.config.apply(l,n.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(t=this._targets.length;--t>-1;)this._initProps(this._targets[t],this._propLookup[t]={},this._siblings[t],a?a[t]:null)&&(e=!0);else e=this._initProps(this.target,this._propLookup,this._siblings,a);if(e&&D._onPluginEvent("_onInitAllProps",this),a&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),n.runBackwards)for(i=this._firstPT;i;)i.s+=i.c,i.c=-i.c,i=i._next;this._onUpdate=n.onUpdate,this._initted=!0},n._initProps=function(e,i,s,r){var n,a,o,h,l,_;if(null==e)return!1;E[e._gsTweenID]&&q(),this.vars.css||e.style&&e!==t&&e.nodeType&&F.css&&this.vars.autoCSS!==!1&&z(this.vars,e);for(n in this.vars){if(_=this.vars[n],U[n])_&&(_ instanceof Array||_.push&&c(_))&&-1!==_.join("").indexOf("{self}")&&(this.vars[n]=_=this._swapSelfInParams(_,this));else if(F[n]&&(h=new F[n])._onInitTween(e,this.vars[n],this)){for(this._firstPT=l={_next:this._firstPT,t:h,p:"setRatio",s:0,c:1,f:!0,n:n,pg:!0,pr:h._priority},a=h._overwriteProps.length;--a>-1;)i[h._overwriteProps[a]]=this._firstPT;(h._priority||h._onInitAllProps)&&(o=!0),(h._onDisable||h._onEnable)&&(this._notifyPluginsOfEnabled=!0)}else this._firstPT=i[n]=l={_next:this._firstPT,t:e,p:n,f:"function"==typeof e[n],n:n,pg:!1,pr:0},l.s=l.f?e[n.indexOf("set")||"function"!=typeof e["get"+n.substr(3)]?n:"get"+n.substr(3)]():parseFloat(e[n]),l.c="string"==typeof _&&"="===_.charAt(1)?parseInt(_.charAt(0)+"1",10)*Number(_.substr(2)):Number(_)-l.s||0;l&&l._next&&(l._next._prev=l)}return r&&this._kill(r,e)?this._initProps(e,i,s,r):this._overwrite>1&&this._firstPT&&s.length>1&&G(e,this,i,this._overwrite,s)?(this._kill(i,e),this._initProps(e,i,s,r)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(E[e._gsTweenID]=!0),o)},n.render=function(t,e,i){var s,r,n,a,o=this._time,h=this._duration,l=this._rawPrevTime;if(t>=h)this._totalTime=this._time=h,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(s=!0,r="onComplete"),0===h&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(0===t||0>l||l===_)&&l!==t&&(i=!0,l>_&&(r="onReverseComplete")),this._rawPrevTime=a=!e||t||l===t?t:_);else if(1e-7>t)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==o||0===h&&l>0&&l!==_)&&(r="onReverseComplete",s=this._reversed),0>t?(this._active=!1,0===h&&(this._initted||!this.vars.lazy||i)&&(l>=0&&(i=!0),this._rawPrevTime=a=!e||t||l===t?t:_)):this._initted||(i=!0);else if(this._totalTime=this._time=t,this._easeType){var u=t/h,p=this._easeType,c=this._easePower;(1===p||3===p&&u>=.5)&&(u=1-u),3===p&&(u*=2),1===c?u*=u:2===c?u*=u*u:3===c?u*=u*u*u:4===c&&(u*=u*u*u*u),this.ratio=1===p?1-u:2===p?u:.5>t/h?u/2:1-u/2}else this.ratio=this._ease.getRatio(t/h);if(this._time!==o||i){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=o,this._rawPrevTime=l,I.push(this),this._lazy=t,void 0;this._time&&!s?this.ratio=this._ease.getRatio(this._time/h):s&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==o&&t>=0&&(this._active=!0),0===o&&(this._startAt&&(t>=0?this._startAt.render(t,e,i):r||(r="_dummyGS")),this.vars.onStart&&(0!==this._time||0===h)&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||y))),n=this._firstPT;n;)n.f?n.t[n.p](n.c*this.ratio+n.s):n.t[n.p]=n.c*this.ratio+n.s,n=n._next;this._onUpdate&&(0>t&&this._startAt&&this._startTime&&this._startAt.render(t,e,i),e||(this._time!==o||s)&&this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||y)),r&&(!this._gc||i)&&(0>t&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(t,e,i),s&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[r]&&this.vars[r].apply(this.vars[r+"Scope"]||this,this.vars[r+"Params"]||y),0===h&&this._rawPrevTime===_&&a!==_&&(this._rawPrevTime=0))}},n._kill=function(t,e){if("all"===t&&(t=null),null==t&&(null==e||e===this.target))return this._lazy=!1,this._enabled(!1,!1);e="string"!=typeof e?e||this._targets||this.target:D.selector(e)||e;var i,s,r,n,a,o,h,l;if((c(e)||M(e))&&"number"!=typeof e[0])for(i=e.length;--i>-1;)this._kill(t,e[i])&&(o=!0);else{if(this._targets){for(i=this._targets.length;--i>-1;)if(e===this._targets[i]){a=this._propLookup[i]||{},this._overwrittenProps=this._overwrittenProps||[],s=this._overwrittenProps[i]=t?this._overwrittenProps[i]||{}:"all";break}}else{if(e!==this.target)return!1;a=this._propLookup,s=this._overwrittenProps=t?this._overwrittenProps||{}:"all"}if(a){h=t||a,l=t!==s&&"all"!==s&&t!==a&&("object"!=typeof t||!t._tempKill);for(r in h)(n=a[r])&&(n.pg&&n.t._kill(h)&&(o=!0),n.pg&&0!==n.t._overwriteProps.length||(n._prev?n._prev._next=n._next:n===this._firstPT&&(this._firstPT=n._next),n._next&&(n._next._prev=n._prev),n._next=n._prev=null),delete a[r]),l&&(s[r]=1);!this._firstPT&&this._initted&&this._enabled(!1,!1)}}return o},n.invalidate=function(){return this._notifyPluginsOfEnabled&&D._onPluginEvent("_onDisable",this),this._firstPT=null,this._overwrittenProps=null,this._onUpdate=null,this._startAt=null,this._initted=this._active=this._notifyPluginsOfEnabled=this._lazy=!1,this._propLookup=this._targets?{}:[],this},n._enabled=function(t,e){if(o||a.wake(),t&&this._gc){var i,s=this._targets;if(s)for(i=s.length;--i>-1;)this._siblings[i]=V(s[i],this,!0);else this._siblings=V(this.target,this,!0)}return A.prototype._enabled.call(this,t,e),this._notifyPluginsOfEnabled&&this._firstPT?D._onPluginEvent(t?"_onEnable":"_onDisable",this):!1},D.to=function(t,e,i){return new D(t,e,i)},D.from=function(t,e,i){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,new D(t,e,i)},D.fromTo=function(t,e,i,s){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,new D(t,e,s)},D.delayedCall=function(t,e,i,s,r){return new D(e,0,{delay:t,onComplete:e,onCompleteParams:i,onCompleteScope:s,onReverseComplete:e,onReverseCompleteParams:i,onReverseCompleteScope:s,immediateRender:!1,useFrames:r,overwrite:0})},D.set=function(t,e){return new D(t,0,e)},D.getTweensOf=function(t,e){if(null==t)return[];t="string"!=typeof t?t:D.selector(t)||t;var i,s,r,n;if((c(t)||M(t))&&"number"!=typeof t[0]){for(i=t.length,s=[];--i>-1;)s=s.concat(D.getTweensOf(t[i],e));for(i=s.length;--i>-1;)for(n=s[i],r=i;--r>-1;)n===s[r]&&s.splice(i,1)}else for(s=V(t).concat(),i=s.length;--i>-1;)(s[i]._gc||e&&!s[i].isActive())&&s.splice(i,1);return s},D.killTweensOf=D.killDelayedCallsTo=function(t,e,i){"object"==typeof e&&(i=e,e=!1);for(var s=D.getTweensOf(t,e),r=s.length;--r>-1;)s[r]._kill(i,t)};var Q=g("plugins.TweenPlugin",function(t,e){this._overwriteProps=(t||"").split(","),this._propName=this._overwriteProps[0],this._priority=e||0,this._super=Q.prototype},!0);if(n=Q.prototype,Q.version="1.10.1",Q.API=2,n._firstPT=null,n._addTween=function(t,e,i,s,r,n){var a,o; +return null!=s&&(a="number"==typeof s||"="!==s.charAt(1)?Number(s)-i:parseInt(s.charAt(0)+"1",10)*Number(s.substr(2)))?(this._firstPT=o={_next:this._firstPT,t:t,p:e,s:i,c:a,f:"function"==typeof t[e],n:r||e,r:n},o._next&&(o._next._prev=o),o):void 0},n.setRatio=function(t){for(var e,i=this._firstPT,s=1e-6;i;)e=i.c*t+i.s,i.r?e=Math.round(e):s>e&&e>-s&&(e=0),i.f?i.t[i.p](e):i.t[i.p]=e,i=i._next},n._kill=function(t){var e,i=this._overwriteProps,s=this._firstPT;if(null!=t[this._propName])this._overwriteProps=[];else for(e=i.length;--e>-1;)null!=t[i[e]]&&i.splice(e,1);for(;s;)null!=t[s.n]&&(s._next&&(s._next._prev=s._prev),s._prev?(s._prev._next=s._next,s._prev=null):this._firstPT===s&&(this._firstPT=s._next)),s=s._next;return!1},n._roundProps=function(t,e){for(var i=this._firstPT;i;)(t[this._propName]||null!=i.n&&t[i.n.split(this._propName+"_").join("")])&&(i.r=e),i=i._next},D._onPluginEvent=function(t,e){var i,s,r,n,a,o=e._firstPT;if("_onInitAllProps"===t){for(;o;){for(a=o._next,s=r;s&&s.pr>o.pr;)s=s._next;(o._prev=s?s._prev:n)?o._prev._next=o:r=o,(o._next=s)?s._prev=o:n=o,o=a}o=e._firstPT=r}for(;o;)o.pg&&"function"==typeof o.t[t]&&o.t[t]()&&(i=!0),o=o._next;return i},Q.activate=function(t){for(var e=t.length;--e>-1;)t[e].API===Q.API&&(F[(new t[e])._propName]=t[e]);return!0},d.plugin=function(t){if(!(t&&t.propName&&t.init&&t.API))throw"illegal plugin definition.";var e,i=t.propName,s=t.priority||0,r=t.overwriteProps,n={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_roundProps",initAll:"_onInitAllProps"},a=g("plugins."+i.charAt(0).toUpperCase()+i.substr(1)+"Plugin",function(){Q.call(this,i,s),this._overwriteProps=r||[]},t.global===!0),o=a.prototype=new Q(i);o.constructor=a,a.API=t.API;for(e in n)"function"==typeof t[e]&&(o[n[e]]=t[e]);return a.version=t.version,Q.activate([a]),a},s=t._gsQueue){for(r=0;s.length>r;r++)s[r]();for(n in f)f[n].func||t.console.log("GSAP encountered missing dependency: com.greensock."+n)}o=!1}}("undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window,"TweenMax"); \ No newline at end of file diff --git a/templates/qnloft/assets/js/app-anim.js b/templates/qnloft/assets/js/app-anim.js new file mode 100644 index 0000000..caa71ea --- /dev/null +++ b/templates/qnloft/assets/js/app-anim.js @@ -0,0 +1,1318 @@ +(function($){ + $(document).ready(function(){ + // 侧栏菜单初始状态设置 + if(theme.minNav != '1')trigger_resizable(true); + // 主题状态 + switch_mode(); + // 搜索模块 + intoSearch(); + // 粘性页脚 + stickFooter(); + // 网址块提示 + if(isPC()){ $('[data-toggle="tooltip"]').tooltip({trigger: 'hover'}); }else{ $('.qr-img[data-toggle="tooltip"]').tooltip({trigger: 'hover'}); } + // 初始化tab滑块 + intoSlider(); + // 初始化theiaStickySidebar + $('.sidebar').theiaStickySidebar({ + additionalMarginTop: 90, + additionalMarginBottom: 20 + }); + // 初始化游客自定义数据 + /*if(theme.isCustomize == '1'){ + intoSites(false); + intoSites(true); + }*/ + }); + $(".panel-body.single img").each(function(i) { + if (!this.parentNode.href) { + if(theme.lazyload) + $(this).wrap("") + else + $(this).wrap("") + } + }) + // Enable/Disable Resizable Event + var wid = 0; + $(window).resize(function() { + clearTimeout(wid); + wid = setTimeout(go_resize, 200); + }); + function go_resize() { + stickFooter(); + //if(theme.minNav != '1'){ + trigger_resizable(false); + //} + } + // count-a数字动画 + $('.count-a').each(function () { + $(this).prop('Counter', 0).animate({ + Counter: $(this).text() + }, { + duration: 1000, + easing: 'swing', + step: function (now) { + $(this).text(Math.ceil(now)); + } + }); + }); + $(document).on('click', "a[target!='_blank']", function() { + if( theme.loading=='1' && $(this).attr('href') && $(this).attr('href').indexOf("#") != 0 && $(this).attr('href').indexOf("java") != 0 && !$(this).data('fancybox') && !$(this).data('commentid') && !$(this).hasClass('nofx') ){ + var load = $('
              '); + $("body").prepend(load); + load.animate({opacity:'1'},200,'swing').delay(2000).hide(300,function(){ load.remove() }); + } + }); + // 点赞 + $(".btn-like").click(function() { + var t = $(this); + if(t.data('action') == "post_like"){ + if (t.hasClass('liked')) { + showAlert(JSON.parse('{"status":3,"msg":"您已经赞过了!"}')); + } else { + var icop = t.children('.flex-column'); + t.addClass('liked'); + $.ajax({ + type : 'POST', + url : theme.ajaxurl, + data : { + action: t.data('action'), + post_id: t.data("id"), + ticket: t.data("ticket") + }, + success : function( data ){ + $am = $(''); + icop.prepend($am); + showAlert(JSON.parse('{"status":1,"msg":"谢谢点赞!"}')); + $('.like-count').html(data); + $am.addClass('home-like-hide'); + }, + error:function(){ + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + } + }); + } + }else{ + if (t.hasClass('disabled')) + return false; + var _delete = 0; + var id = t.data("id"); + if (t.hasClass('liked')) { + _delete = 1; + } + t.addClass('disabled'); + $.ajax({ + type : 'POST', + url : theme.ajaxurl, + data : { + action: t.data("action"), + post_id: t.data("id"), + post_type: t.data("post_type"), + delete: _delete, + ticket: t.data("ticket") + }, + success : function( data ){ + t.removeClass('disabled'); + if(data.status==1){ + $('.star-count-'+id).html(data.count); + if(_delete==1){ + t.removeClass('liked'); + t.find('.star-ico').removeClass('icon-collection').addClass('icon-collection-line'); + } + else{ + t.addClass('liked'); + t.find('.star-ico').removeClass('icon-collection-line').addClass('icon-collection'); + } + ioPopupTips(data.status, data.msg); + return false; + } + ioPopupTips(data.status, data.msg); + }, + error:function(){ + t.removeClass('disabled'); + ioPopupTips(4, "网络错误 --."); + } + }); + + } + return false; + }); + // 卡片点赞 + $(document).on('click', '.home-like', function() { + if ($(this).hasClass('liked')) { + showAlert(JSON.parse('{"status":3,"msg":"您已经赞过了!"}')); + } else { + var icop = $(this); + var id = $(this).data("id"); + $(this).addClass('liked'); + $.ajax({ + type : 'POST', + url : theme.ajaxurl, + data : { + action: "post_like", + post_id: id + }, + success : function( data ){ + $am = $(''); + icop.prepend($am); + showAlert(JSON.parse('{"status":1,"msg":"谢谢点赞!"}')); + $(".home-like-"+id).html(data); + $am.addClass('home-like-hide'); + }, + error:function(){ + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + } + }); + } + return false; + }); + //未开启详情页计算访客方法 + $(document).on('click', '.url-card a.is-views[data-id]', function() { + $.ajax({ + type:"GET", + url:theme.ajaxurl, + data:{ + action:'io_postviews', + postviews_id:$(this).data('id'), + }, + cache:false, + }); + }); + // app下载统计 + var clipboard = new ClipboardJS('a.down_count', { + text: $(document).on('click','a.down_count', function(e) { + var mm = $(e.target).data('clipboard-text'); + $.ajax({ + type:"POST", + url:theme.ajaxurl, + data: $(this).data(), + success : function( data ){ + $('.down-count-text').html(data); + } + }); + if( mm ){ + return mm; + } + }) + }); + clipboard.on("success",function (e) { + alert("网盘密码已复制,点“确定”进入下载页面。"); + }); + + //夜间模式 + $(document).on('click', '.switch-dark-mode', function(event) { + event.preventDefault(); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'html', + data: { + mode_toggle: $('body').hasClass('io-black-mode') === true ? 1 : 0, + action: 'switch_dark_mode', + }, + }) + .done(function(response) { + $('body').toggleClass('io-black-mode '+theme.defaultclass); + switch_mode(); + $("#"+ $('.switch-dark-mode').attr('aria-describedby')).remove(); + //$('.switch-dark-mode').removeAttr('aria-describedby'); + }) + }); + function switch_mode(){ + if($('body').hasClass('io-black-mode')){ + if($(".switch-dark-mode").attr("data-original-title")) + $(".switch-dark-mode").attr("data-original-title","日间模式"); + else + $(".switch-dark-mode").attr("title","日间模式"); + $(".mode-ico").removeClass("icon-night"); + $(".mode-ico").addClass("icon-light"); + } + else{ + if($(".switch-dark-mode").attr("data-original-title")) + $(".switch-dark-mode").attr("data-original-title","夜间模式"); + else + $(".switch-dark-mode").attr("title","夜间模式"); + $(".mode-ico").removeClass("icon-light"); + $(".mode-ico").addClass("icon-night"); + } + } + //返回顶部 + $(window).scroll(function () { + if ($(this).scrollTop() >= 50) { + $('#go-to-up').fadeIn(200); + $('.big-header-banner').addClass('header-bg'); + } else { + $('#go-to-up').fadeOut(200); + $('.big-header-banner').removeClass('header-bg'); + } + }); + $('.go-up').click(function () { + $('body,html').animate({ + scrollTop: 0 + }, 500); + return false; + }); + + + //滑块菜单 + $('.slider_menu').children("ul").children("li").not(".anchor").hover(function() { + $(this).addClass("hover"), + //$('li.anchor').css({ + // transform: "scale(1.05)", + //}), + toTarget($(this).parent(),true,true) + }, function() { + //$('li.anchor').css({ + // transform: "scale(1)", + //}), + $(this).removeClass("hover") + }); + $('.slider_menu').mouseleave(function(e) { + var menu = $(this).children("ul"); + window.setTimeout(function() { + toTarget(menu,true,true) + }, 50) + }) ; + function intoSlider() { + $(".slider_menu[sliderTab]").each(function() { + if(!$(this).hasClass('into')){ + var menu = $(this).children("ul"); + menu.prepend('
            • '); + var target = menu.find('.active').parent(); + if(0 < target.length){ + menu.children(".anchor").css({ + left: target.position().left + target.scrollLeft() + "px", + width: target.outerWidth() + "px", + height: target.height() + "px", + opacity: "1" + }) + } + $(this).addClass('into'); + } + }) + } + //粘性页脚 + function stickFooter() { + $('.main-footer').attr('style', ''); + if($('.main-footer').hasClass('text-xs')) + { + var win_height = jQuery(window).height(), + footer_height = $('.main-footer').outerHeight(true), + main_content_height = $('.main-footer').position().top + footer_height ; + if(win_height > main_content_height - parseInt($('.main-footer').css('marginTop'), 10)) + { + $('.main-footer').css({ + marginTop: win_height - main_content_height + }); + } + } + } + + + $('#sidebar-switch').on('click',function(){ + $('#sidebar').removeClass('mini-sidebar'); + //221024: 调整左导航展开时,点击图标锚定定位失效 + //$('.sidebar-nav .change-href').attr('href','javascript:;'); + + }); + + // Trigger Resizable Function + var isMin = false, + isMobileMin = false; + function trigger_resizable( isNoAnim ) { + if( (theme.minNav == '1' && !isMin && 767.98<$(window).width() )||(!isMin && 767.98<$(window).width() && $(window).width()<1024) ){ + //$('#mini-button').removeAttr('checked'); + $('#mini-button').prop('checked', false); + trigger_lsm_mini(isNoAnim); + isMin = true; + if(isMobileMin){ + $('#sidebar').addClass('mini-sidebar'); + $('.sidebar-nav .change-href').each(function(){$(this).attr('href',$(this).data('change'))}); + isMobileMin = false; + } + } + else if( ( theme.minNav != '1')&&((isMin && $(window).width()>=1024) || ( isMobileMin && !isMin && $(window).width()>=1024 ) ) ){ + $('#mini-button').prop('checked', true); + trigger_lsm_mini(isNoAnim); + isMin = false; + if(isMobileMin){ + isMobileMin = false; + } + } + else if($(window).width() < 767.98 && $('#sidebar').hasClass('mini-sidebar')){ + $('#sidebar').removeClass('mini-sidebar'); + //221024: 调整左导航展开时,点击图标锚定定位失效 + //$('.sidebar-nav .change-href').attr('href','javascript:;'); + isMobileMin = true; + isMin = false; + } + } + // sidebar-menu-inner收缩展开 + $('.sidebar-menu-inner a').on('click',function(){//.sidebar-menu-inner a //.has-sub a + + //console.log('--->>>'+$(this).find('span').text()); + if (!$('.sidebar-nav').hasClass('mini-sidebar')) {//菜单栏没有最小化 + $(this).parent("li").siblings("li.sidebar-item").children('ul').slideUp(200); + if ($(this).next().css('display') == "none") { //展开 + //展开未展开 + // $('.sidebar-item').children('ul').slideUp(300); + $(this).next('ul').slideDown(200); + $(this).parent('li').addClass('sidebar-show').siblings('li').removeClass('sidebar-show'); + }else{ //收缩 + //收缩已展开 + $(this).next('ul').slideUp(200); + //$('.sidebar-item.sidebar-show').removeClass('sidebar-show'); + $(this).parent('li').removeClass('sidebar-show'); + } + } + }); + //菜单栏最小化 + $('#mini-button').on('click',function(){ + console.log('start trigger_lsm_mini'); + trigger_lsm_mini(true); + + }); + function trigger_lsm_mini(isNoAnim){ + if (!$('.header-mini-btn input[type="checkbox"]').prop("checked")) { + $('.sidebar-nav').removeClass('mini-sidebar'); + //221024: 调整左导航展开时,点击图标锚定定位失效 + //$('.sidebar-nav .change-href').attr('href','javascript:;'); + $('.sidebar-menu ul ul').css("display", "none"); + console.log('checked=true'); + if(isNoAnim){ + console.log('isNoAnim=true'); + $('.sidebar-nav').removeClass('animate-nav'); + $('.sidebar-nav').width(170); + } + else{ + console.log('isNoAnim=false'); + $('.sidebar-nav').addClass('animate-nav'); + $('.sidebar-nav').stop().animate({width: 170},200); + } + }else{ + console.log('checked=false'); + $('.sidebar-item.sidebar-show').removeClass('sidebar-show'); + $('.sidebar-menu ul').removeAttr('style'); + $('.sidebar-nav').addClass('mini-sidebar'); + $('.sidebar-nav .change-href').each(function(){$(this).attr('href',$(this).data('change'))}); + if(isNoAnim){ + $('.sidebar-nav').removeClass('animate-nav'); + $('.sidebar-nav').width(60); + } + else{ + $('.sidebar-nav').addClass('animate-nav'); + $('.sidebar-nav').stop().animate({width: 60},200); + } + } + //$('.sidebar-nav').css("transition","width .3s"); + } + //显示2级悬浮菜单 + $(document).on('mouseover','.mini-sidebar .sidebar-menu ul:first>li,.mini-sidebar .flex-bottom ul:first>li',function(){ + var offset = 2; + if($(this).parents('.flex-bottom').length!=0) + offset = -3; + $(".sidebar-popup.second").length == 0 && ($("body").append("")); + $(".sidebar-popup.second>div").html($(this).html()); + $(".sidebar-popup.second").show(); + var top = $(this).offset().top - $(window).scrollTop() + offset; + var d = $(window).height() - $(".sidebar-popup.second>div").height(); + if(d - top <= 0 ){ + top = d >= 0 ? d - 8 : 0; + } + $(".sidebar-popup.second").stop().animate({"top":top}, 50); + }); + //隐藏悬浮菜单面板 + $(document).on('mouseleave','.mini-sidebar .sidebar-menu ul:first, .mini-sidebar .slimScrollBar,.second.sidebar-popup',function(){ + $(".sidebar-popup.second").hide(); + }); + //常驻2级悬浮菜单面板 + $(document).on('mouseover','.mini-sidebar .slimScrollBar,.second.sidebar-popup',function(){ + $(".sidebar-popup.second").show(); + }); + + $(document).on('click', '.ajax-cm-home .ajax-cm', function(event) { + event.preventDefault(); + var t = $(this); + var id = t.data('id'); + var box = $(t.attr('href')).children('.site-list'); + //console.log(box.children('.url-card').length); + if( box.children('.url-card').length==0 ){ + t.addClass('disabled'); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'html', + data : { + action: t.data('action'), + term_id: id, + }, + cache: true, + }) + .done(function(response) { + if (response.trim()) { + var url = $(response); + box.html(url); + if(isPC()) url.find('[data-toggle="tooltip"]').tooltip({ trigger: 'hover' }); + } else { + } + t.removeClass('disabled'); + }) + .fail(function() { + t.removeClass('disabled'); + }) + } + }); + + //首页tab模式请求内容 + $(document).on('click', '.ajax-list a', function(event) { + event.preventDefault(); + loadAjax( $(this), $(this).parents('.ajax-list') , '.'+$(this).data('target')); + }); + + $(document).on('click', '.ajax-list-home a', function(event) { + event.preventDefault(); + loadAjax( $(this), $(this).parents('.ajax-list-home'), '.ajax-'+$(this).parents('.ajax-list-home').data('id') ); + }); + + function loadAjax(t,parent,body){ + if( !t.hasClass('active') ){ + parent.find('a').removeClass('active'); + t.addClass('active'); + if($(body).children(".ajax-loading").length == 0) + $(body).append('
              '); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'html', + data : t.data(), + cache: true, + }) + .done(function(response) { + if (response.trim()) { + $(body).html(''); + $(body).append(response); + //if(theme.lazyload == '1') { + // $(body+" img.lazy").lazyload(); + //} + var url = $(body).children('#ajax-cat-url').data('url'); + if(url) + t.parents('.d-flex.flex-fill.flex-tab').children('.btn-move.tab-move').show().attr('href', url); + else + t.parents('.d-flex.flex-fill.flex-tab').children('.btn-move.tab-move').hide(); + if(isPC()) $('.ajax-url [data-toggle="tooltip"]').tooltip({ trigger: 'hover' }); + } else { + $('.ajax-loading').remove(); + } + }) + .fail(function() { + $('.ajax-loading').remove(); + }) + } + } + + // 自定义模块----------------- + $(".add-link-form").on("submit", function() { + var siteName = $(".site-add-name").val() + , siteUrl = $(".site-add-url").val(); + addSiteList({ + id: +new Date, + name: siteName, + url: siteUrl + }); + this.reset(); + this.querySelector("input").focus(); + $(this).find(".btn-close-fm").click(); + }); + var isEdit = false; + $('.customize-menu .btn-edit').click(function () { + if(isEdit){ + $('.url-card .remove-site,#add-site').hide(); + $('.url-card .remove-site,.add-custom-site').hide(); + $('.url-card .remove-cm-site').hide(); + $('.customize-sites').removeClass('edit'); + ioSortable(); + $('.customize-menu .btn-edit').html("编辑"); + }else{ + $('.url-card .remove-site,#add-site').show(); + $('.url-card .remove-site,.add-custom-site').show(); + $('.url-card .remove-cm-site').show(); + $('.customize-sites').addClass('edit'); + ioSortable(); + $('.customize-menu .btn-edit').html("确定"); + } + isEdit = !isEdit; + }); + function addSiteList(site){ + var sites = getItem("myLinks"); + //判断是否重复 + for (var i = 0; i < sites.length; i++) { + if(sites[i].url==site.url) + { + showAlert(JSON.parse('{"status":4,"msg":"该网址已经存在了 --."}')); + return; + } + } + sites.unshift(site); + addSite(site,false,false); + setItem(sites,"myLinks"); + } + function addSite(site,isLive,isHeader) { + if(!isLive) $('.customize_nothing').remove(); + else $('.customize_nothing_click').remove(); + var url_f,matches = site.url.match(/^(?:https?:\/\/)?((?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6})/); + if (!matches || matches.length < 2) url_f=site.url; + else { + url_f=matches[0]; + if(theme.urlformat == '1') + url_f = matches[1]; + } + var newSite = $(''); + if(isLive){ + if(isHeader) + $(".my-click-list").prepend(newSite); + else + $(".my-click-list").append(newSite); + newSite.children('.remove-site').on("click",removeLiveSite); + } else { + $("#add-site").before(newSite); + newSite.children('.remove-site').on("click",removeSite); + } + if(isEdit) + newSite.children('.remove-site').show(); + if(isPC()) $('.new-site[data-toggle="tooltip"]').tooltip({ trigger: 'hover' }); + } + function getItem(key) { + var a = window.localStorage.getItem(key); + return a ? a = JSON.parse(a) : []; + } + function setItem(sites,key) { + window.localStorage.setItem(key, JSON.stringify(sites)); + } + function intoSites(isLive) { + var sites = getItem( isLive ? "livelists" : "myLinks" ); + if(sites.length && !isLive && !$("#add-site")[0]){ + $(".customize_nothing.custom-site").children(".nothing").html('您已登录,检测到您的设备上有数据,点击同步到服务器'); + return; + } + if (sites.length) { + for (var i = 0; i < sites.length; i++) { + addSite(sites[i],isLive,false); + } + } + } + function removeSite() { + var id = $(this).data("id"), + sites = getItem("myLinks"); + for (var i = 0; i < sites.length; i++){ + if ( parseInt(sites[i].id) === parseInt(id)) { + console.log(sites[i].id, id); + sites.splice(i, 1); + break; + } + } + setItem(sites,"myLinks"); + $(this).parent().remove(); + } + function removeLiveSite() { + var id = $(this).data("id"), + sites = getItem("livelists"); + for (var i = 0; i < sites.length; i++){ + if ( parseInt(sites[i].id) === parseInt(id)) { + console.log(sites[i].id, id); + sites.splice(i, 1); + break; + } + } + setItem(sites,"livelists"); + $(this).parent().remove(); + } + $(document).on('click', '.add-new-custom-site', function(event) { + var t = $(this); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'json', + data : t.data(), + }) + .done(function(response) { + showAlert(response); + }) + .fail(function() { + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + }) + }); + $(".add-custom-site-form").on("submit", function() { + var t = $(this); + var tt = this; + var url = t.find("input[name=url]").val(); + var name = t.find("input[name=url_name]").val(); + var term_id = t.find('input:radio:checked').val(); + var term_name = t.find('input[name=term_name]').val(); + if(term_name=='' && term_id==undefined){ + showAlert(JSON.parse('{"status":3,"msg":"为什么不选分类"}')); + return false; + } + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'json', + data : t.serialize()+"&action=add_custom_url", + }) + .done(function(response) { + if(response.status !=1){ + showAlert(response); + return; + } + var url_f,matches = url.match(/^(?:https?:\/\/)?((?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6})/); + if (!matches || matches.length < 2) url_f=url; + else { + url_f=matches[0]; + if(theme.urlformat == '1') + url_f = matches[1]; + } + var id = response.id; + var newSite = $(''); + $(".add-custom-site[data-term_id="+term_id+"]").before(newSite); + tt.reset(); + tt.querySelector("input").focus(); + t.find(".btn-close-fm").click(); + showAlert(JSON.parse('{"status":1,"msg":"添加成功。"}')); + }) + .fail(function() { + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + return; + }) + }); + $(document).on("click",'.url-card .remove-cm-site', function(event){ + var t = $(this); + t.addClass('disabled'); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'json', + data : t.data(), + }) + .done(function(response) { + if(response.status == 1){ + t.parent().remove(); + } + t.removeClass('disabled'); + showAlert(response); + }) + .fail(function() { + t.removeClass('disabled'); + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + }) + }); + function ioSortable() { + if($('.customize-sites').hasClass('edit')){ + if(isPC()) $('.customize-sites .new-site[data-toggle="tooltip"]').tooltip('disable'); + //$('.customize-sites').find('a').attr('href','javascript:void(0)'); + $('.customize-sites .site-list').sortable({ + items: '.sortable', + containment: ".main-content", + //'placeholder': "ui-state-highlight", + update : function(e, ui) { + $('.customize-sites .site-list').sortable('disable'); + var term_id = $(this).data('term_id'); + var order = $(this).sortable('serialize'); + + + var queryData = { "action": "update_custom_url_order", "term_id" : term_id, "order" : order }; + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + data: queryData, + cache: false, + dataType: "json", + success: function(data){ + if(data.status != 1){ + showAlert(data); + } + $('.customize-sites .site-list').sortable('enable'); + }, + error: function(html){ + $('.customize-sites .site-list').sortable('enable'); + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + } + }); + + } + }); + }else{ + if(isPC()) $('.customize-sites .new-site[data-toggle="tooltip"]').tooltip('enable'); + //$('.customize-sites').find('a').attr('href',$(this).data('url')); + $( ".customize-sites .site-list" ).sortable( "destroy" ); + } + + } + + $("input[name=term_name]").focus(function(){ + var this_input = $("input[name=term_id]"); + this_input.prop('checked', false); + }); + $('.form_custom_term_id').on("click", function(event){ + $("input[name=term_name]").val(""); + }); + $(document).on('click', '.url-card a.card', function(event) { + var site = { + id: $(this).data("id"), + name: $(this).find("strong").html(), + url: $(this).data("url") + }; + if(site.url==="") + return; + var liveList = getItem("livelists"); + var isNew = true; + for (var i = 0; i < liveList.length; i++){ + if (liveList[i].name === site.name) { + isNew = false; + } + } + if(isNew){ + var maxSite = theme.customizemax; + if(liveList.length > maxSite-1){ + $(".my-click-list .site-"+liveList[maxSite-1].id).parent().remove(); + liveList.splice(maxSite-1, 1); + } + addSite(site,true,true); + liveList.unshift(site); + setItem(liveList,"livelists"); + } + }); + // 搜索模块 ----------------------- + function intoSearch() { + if(window.localStorage.getItem("searchlist")){ + $(".hide-type-list input#"+window.localStorage.getItem("searchlist")).prop('checked', true); + $(".hide-type-list input#m_"+window.localStorage.getItem("searchlist")).prop('checked', true); + } + if(window.localStorage.getItem("searchlistmenu")){ + $('.s-type-list.big label').removeClass('active'); + $(".s-type-list [data-id="+window.localStorage.getItem("searchlistmenu")+"]").addClass('active'); + } + toTarget($(".s-type-list.big"),false,false); + $('.hide-type-list .s-current').removeClass("s-current"); + $('.hide-type-list input:radio[name="type"]:checked').parents(".search-group").addClass("s-current"); + $('.hide-type-list input:radio[name="type2"]:checked').parents(".search-group").addClass("s-current"); + + $(".super-search-fm").attr("action",$('.hide-type-list input:radio:checked').val()); + $(".search-key").attr("placeholder",$('.hide-type-list input:radio:checked').data("placeholder")); + if(window.localStorage.getItem("searchlist")=='type-zhannei'){ + $(".search-key").attr("zhannei","true"); + } + } + $(document).on('click', '.s-type-list label', function(event) { + //event.preventDefault(); + $('.s-type-list.big label').removeClass('active'); + $(this).addClass('active'); + window.localStorage.setItem("searchlistmenu", $(this).data("id")); + var parent = $(this).parents(".s-search"); + parent.find('.search-group').removeClass("s-current"); + parent.find('#'+$(this).attr("for")).parents(".search-group").addClass("s-current"); + toTarget($(this).parents(".s-type-list"),false,false); + }); + $('.hide-type-list .search-group input').on('click', function() { + var parent = $(this).parents(".s-search"); + window.localStorage.setItem("searchlist", $(this).attr("id").replace("m_","")); + parent.children(".super-search-fm").attr("action",$(this).val()); + parent.find(".search-key").attr("placeholder",$(this).data("placeholder")); + + if($(this).attr('id')=="type-zhannei" || $(this).attr('id')=="m_type-zhannei") + parent.find(".search-key").attr("zhannei","true"); + else + parent.find(".search-key").attr("zhannei",""); + + parent.find(".search-key").select(); + parent.find(".search-key").focus(); + }); + $(document).on("submit", ".super-search-fm", function() { + var key = encodeURIComponent($(this).find(".search-key").val()) + if(key == "") + return false; + else{ + window.open( $(this).attr("action") + key); + return false; + } + }); + function getSmartTipsGoogle(value,parents) { + $.ajax({ + type: "GET", + url: "//suggestqueries.google.com/complete/search?client=firefox&callback=iowenHot", + async: true, + data: { q: value }, + dataType: "jsonp", + jsonp: "callback", + success: function(res) { + var list = parents.children(".search-smart-tips"); + list.children("ul").text(""); + tipsList = res[1].length; + if (tipsList) { + for (var i = 0; i < tipsList; i++) { + list.children("ul").append("
            • " + res[1][i] + "
            • "); + list.find("li").eq(i).click(function() { + var keyword = $(this).html(); + parents.find(".smart-tips.search-key").val(keyword); + parents.children(".super-search-fm").submit(); + list.slideUp(200); + }); + }; + list.slideDown(200); + } else { + list.slideUp(200) + } + }, + error: function(res) { + tipsList = 0; + } + }) + } + function getSmartTipsBaidu(value,parents) { + $.ajax({ + type: "GET", + url: "//sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?cb=iowenHot", + async: true, + data: { wd: value }, + dataType: "jsonp", + jsonp: "cb", + success: function(res) { + var list = parents.children(".search-smart-tips"); + list.children("ul").text(""); + tipsList = res.s.length; + if (tipsList) { + for (var i = 0; i < tipsList; i++) { + list.children("ul").append("
            • " + res.s[i] + "
            • "); + list.find("li").eq(i).click(function() { + var keyword = $(this).html(); + parents.find(".smart-tips.search-key").val(keyword); + parents.children(".super-search-fm").submit(); + list.slideUp(200); + }); + }; + list.slideDown(200); + } else { + list.slideUp(200) + } + }, + error: function(res) { + tipsList = 0; + } + }) + } + var listIndex = -1; + var parent; + var tipsList = 0; + var isZhannei = false; + $(document).on("blur", ".smart-tips.search-key", function() { + parent = ''; + $(".search-smart-tips").delay(150).slideUp(200) + }); + $(document).on("focus", ".smart-tips.search-key", function() { + isZhannei = $(this).attr('zhannei')!=''?true:false; + parent = $(this).parents('#search'); + if ($(this).val() && !isZhannei) { + switch(theme.hotWords) { + case "baidu": + getSmartTipsBaidu($(this).val(),parent) + break; + case "google": + getSmartTipsGoogle($(this).val(),parent) + break; + default: + } + } + }); + $(document).on("keyup", ".smart-tips.search-key", function(e) { + isZhannei = $(this).attr('zhannei')!=''?true:false; + parent = $(this).parents('#search'); + if ($(this).val()) { + if (e.keyCode == 38 || e.keyCode == 40 || isZhannei) { + return + } + switch(theme.hotWords) { + case "baidu": + getSmartTipsBaidu($(this).val(),parent) + break; + case "google": + getSmartTipsGoogle($(this).val(),parent) + break; + default: + } + listIndex = -1; + } else { + $(".search-smart-tips").slideUp(200) + } + }); + $(document).on("keydown", ".smart-tips.search-key", function(e) { + parent = $(this).parents('#search'); + if (e.keyCode === 40) { + listIndex === (tipsList - 1) ? listIndex = 0 : listIndex++; + parent.find(".search-smart-tips ul li").eq(listIndex).addClass("current").siblings().removeClass("current"); + var hotValue = parent.find(".search-smart-tips ul li").eq(listIndex).html(); + parent.find(".smart-tips.search-key").val(hotValue) + } + if (e.keyCode === 38) { + if (e.preventDefault) { + e.preventDefault() + } + if (e.returnValue) { + e.returnValue = false + } + listIndex === 0 || listIndex === -1 ? listIndex = (tipsList - 1) : listIndex--; + parent.find(".search-smart-tips ul li").eq(listIndex).addClass("current").siblings().removeClass("current"); + var hotValue = parent.find(".search-smart-tips ul li").eq(listIndex).html(); + parent.find(".smart-tips.search-key").val(hotValue) + } + }); + $('.nav-login-user.dropdown').hover(function(){ + if(!$(this).hasClass('show')) + $(this).children('a').click(); + },function(){ + //$(this).removeClass('show'); + //$(this).children('a').attr('aria-expanded',false); + //$(this).children('.dropdown-menu').removeClass('show'); + }); + $('#add-new-sites-modal').on('show.bs.modal', function (event) { + var button = $(event.relatedTarget); + var modal = $(this); + modal.find('[name="term_id"]').val( button.data('terms_id') ); + modal.find('[name="url"]').val( button.data('new_url') ); + modal.find('[name="url_name"]').val(''); + modal.find('[name="url_summary"]').removeClass('is-invalid').val(''); + button.data('new_url',''); + var _url = modal.find('[name="url"]').val(); + if(_url!=''){ + getUrlInfo(_url,modal); + urlStartValue = _url; + } + }); + var urlStartValue = ''; + $('#modal-new-url').on('blur',function(){ + var t = $(this); + if(t.val()!=''){ + if(isURL(t.val())){ + if(urlStartValue!=t.val()){ + urlStartValue = t.val(); + getUrlInfo(t.val(),$('.add_new_sites_modal')); + } + }else{ + showAlert(JSON.parse('{"status":4,"msg":"URL 无效!"}')); + } + } + }); + $('#modal-new-url-summary').on('blur',function(){ + var t = $(this); + if(t.val()!=''){ + t.removeClass('is-invalid'); + } + }); + function getUrlInfo(_url,modal){ + $('#modal-new-url-ico').show(); + $.post("//apiv2.iotheme.cn/webinfo/get.php", { url: _url ,key: theme.apikey },function(data,status){ + if(data.code==0){ + $('#modal-new-url-ico').hide(); + $("#modal-new-url-summary").addClass('is-invalid'); + } + else{ + $('#modal-new-url-ico').hide(); + if(data.site_title=="" && data.site_description==""){ + $("#modal-new-url-summary").addClass('is-invalid'); + }else{ + modal.find('[name="url_name"]').val(data.site_title); + modal.find('[name="url_summary"]').val(data.site_description); + } + } + }).fail(function () { + $('#modal-new-url-ico').hide(); + $(".refre_msg").html('访问超时,请再试试,或者手动填写').show(200).delay(4000).hide(200); + }); + } +})(jQuery); +function isURL(URL){ + var str=URL; + var Expression=/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/; + var objExp=new RegExp(Expression); + if(objExp.test(str)==true){ + return true; + }else{ + return false; + } +} +function isPC() { + let u = navigator.userAgent; + let Agents = ["Android", "iPhone", "webOS", "BlackBerry", "SymbianOS", "Windows Phone", "iPad", "iPod"]; + let flag = true; + for (let i = 0; i < Agents.length; i++) { + if (u.indexOf(Agents[i]) > 0) { + flag = false; + break; + } + } + return flag; +} +function chack_name(str){ + //var pattern = RegExp(/[( )(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\-)(\_)(\+)(\=)(\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\»)(\«)(\“)(\”)(\?)(\)]+/); + var pattern = RegExp(/[( )(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\*)(\()(\))(\+)(\=)(\[)(\])(\{)(\})(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\»)(\«)(\“)(\”)(\?)(\)]+/); + if (pattern.test(str)){ + return true; + } + return false; +} +function showAlert(data) { + var title,alert,ico; + switch(data.status) { + case 1: + title = '成功'; + alert='success'; + ico='icon-adopt'; + break; + case 2: + title = '信息'; + alert='info'; + ico='icon-tishi'; + break; + case 3: + title = '警告'; + alert='warning'; + ico='icon-warning'; + break; + case 4: + title = '错误'; + alert='danger'; + ico='icon-close-circle'; + break; + default: + } + var msg = data.msg; + if(!$('#alert_placeholder').hasClass('text-sm')){ + $('body').append('
              ') + } + $html = $(''); + $('#alert_placeholder').append( $html );//prepend + $html.show(200).delay(3500).hide(300, function(){ $(this).remove() }); +} +function toTarget(menu, padding, isMult) { + var slider = menu.children(".anchor"); + var target = menu.children(".hover").first() ; + if (target && 0 < target.length){ + } + else{ + if(isMult) + target = menu.find('.active').parent(); + else + target = menu.find('.active'); + } + if(0 < target.length){ + if(padding) + slider.css({ + left: target.position().left + target.scrollLeft() + "px", + width: target.outerWidth() + "px", + opacity: "1" + }); + else + slider.css({ + left: target.position().left + target.scrollLeft() + (target.outerWidth()/4) + "px", + width: target.outerWidth()/2 + "px", + opacity: "1" + }); + } + else{ + slider.css({ + opacity: "0" + }) + } +} +var ioadindex = 0; +function loadingShow(parent = "body"){ + if($('.load-loading')[0]){ + ioadindex ++; + return $('.load-loading'); + } + var load = $(''); + $(parent).prepend(load); + load.fadeIn(200); + return load; +} +function loadingHid(load){ + if(ioadindex>0) + ioadindex--; + else{ + ioadindex = 0; + load.fadeOut(300,function(){ load.remove() }); + } +} +function ioPopupTips(type, msg, callBack) { + var ico = ''; + switch(type) { + case 1: + ico='icon-adopt'; + break; + case 2: + ico='icon-tishi'; + break; + case 3: + ico='icon-warning'; + break; + case 4: + ico='icon-close-circle'; + break; + default: + } + var c = type==1 ? 'tips-success' : 'tips-error'; + var html = '
              '+ + '
              '+ + '
              '+ + '
              '+ + '

              '+msg+'

              '+ + '
              '+ + '
              '+ + '
              '; + var tips = $(html); + $('body').addClass('modal-open').append(tips); + setTimeout(function(){ + $('body').removeClass('modal-open'); + if ($.isFunction(callBack)) callBack(true); + tips.removeClass('io-bomb-open').addClass('io-bomb-close'); + setTimeout(function(){ + tips.removeClass('io-bomb-close'); + setTimeout(function(){ + tips.remove(); + }, 200); + },400); + },2000); +} +function ioPopup(type, html, maskStyle, btnCallBack) { + var maskStyle = maskStyle ? 'style="' + maskStyle + '"' : ''; + var size = ''; + if( type == 'big' ){ + size = 'io-bomb-lg'; + }else if( type == 'no-padding' ){ + size = 'io-bomb-nopd'; + }else if( type == 'cover' ){ + size = 'io-bomb-cover io-bomb-nopd'; + }else if( type == 'full' ){ + size = 'io-bomb-xl'; + }else if( type == 'small' ){ + size = 'io-bomb-sm'; + }else if( type == 'confirm' ){ + size = 'io-bomb-md'; + } + var template = '\ +
              \ +
              \ +
              \ +
              \ + '+html+'\ +
              \ +
              \ + \ +
              \ +
              \ +
              \ + '; + var popup = $(template); + $('body').addClass('modal-open').append(popup); + var close = function(){ + $('body').removeClass('modal-open'); + $(popup).removeClass('io-bomb-open').addClass('io-bomb-close'); + setTimeout(function(){ + $(popup).removeClass('io-bomb-close'); + setTimeout(function(){ + popup.remove(); + }, 200); + },600); + } + $(popup).on('click touchstart', '.btn-close-bomb i, .io-bomb-overlay', function(event) { + event.preventDefault(); + if ($.isFunction(btnCallBack)) btnCallBack(true); + close(); + }); + return popup; +} +function ioConfirm(message, btnCallBack) { + var template = '\ +
              \ +
              \ +
              \ +
              \ + '+message+'\ +
              \ + \ + \ +
              \ +
              \ +
              \ +
              \ + '; + var popup = $(template); + $('body').addClass('modal-open').append(popup); + _onclick = function (r) { + close(); + if ($.isFunction(btnCallBack)) btnCallBack(r); + }; + var close = function(){ + $('body').removeClass('modal-open'); + $(popup).removeClass('io-bomb-open').addClass('io-bomb-close'); + setTimeout(function(){ + $(popup).removeClass('io-bomb-close'); + setTimeout(function(){ + popup.remove(); + }, 200); + },600); + } + return popup; +} +console.log("\n %c WebStack-Hugo 导航主题 By ShumLab %c https://www.shumlab.com/ \n", "color: #ffffff; background: #f1404b; padding:5px 0;", "background: #030307; padding:5px 0;"); + +/** + * Minified by jsDelivr using Terser v5.3.5. + * Original file: /npm/js-base64@3.6.0/base64.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):function(){const r=e.Base64,o=t();o.noConflict=()=>(e.Base64=r,o),e.Meteor&&(Base64=o),e.Base64=o}()}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this,(function(){"use strict";const e="3.6.0",t="function"==typeof atob,r="function"==typeof btoa,o="function"==typeof Buffer,n="function"==typeof TextDecoder?new TextDecoder:void 0,a="function"==typeof TextEncoder?new TextEncoder:void 0,f=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],i=(e=>{let t={};return e.forEach(((e,r)=>t[e]=r)),t})(f),c=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,u=String.fromCharCode.bind(String),s="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):(e,t=(e=>e))=>new Uint8Array(Array.prototype.slice.call(e,0).map(t)),d=e=>e.replace(/[+\/]/g,(e=>"+"==e?"-":"_")).replace(/=+$/m,""),l=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),h=e=>{let t,r,o,n,a="";const i=e.length%3;for(let i=0;i255||(o=e.charCodeAt(i++))>255||(n=e.charCodeAt(i++))>255)throw new TypeError("invalid character found");t=r<<16|o<<8|n,a+=f[t>>18&63]+f[t>>12&63]+f[t>>6&63]+f[63&t]}return i?a.slice(0,i-3)+"===".substring(i):a},p=r?e=>btoa(e):o?e=>Buffer.from(e,"binary").toString("base64"):h,y=o?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let r=0,o=e.length;rt?d(y(e)):y(e),b=e=>{if(e.length<2)return(t=e.charCodeAt(0))<128?e:t<2048?u(192|t>>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},g=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,B=e=>e.replace(g,b),x=o?e=>Buffer.from(e,"utf8").toString("base64"):a?e=>y(a.encode(e)):e=>p(B(e)),C=(e,t=!1)=>t?d(x(e)):x(e),m=e=>C(e,!0),U=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,F=e=>{switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u(55296+(t>>>10))+u(56320+(1023&t));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},w=e=>e.replace(U,F),S=e=>{if(e=e.replace(/\s+/g,""),!c.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let t,r,o,n="";for(let a=0;a>16&255):64===o?u(t>>16&255,t>>8&255):u(t>>16&255,t>>8&255,255&t);return n},E=t?e=>atob(l(e)):o?e=>Buffer.from(e,"base64").toString("binary"):S,v=o?e=>s(Buffer.from(e,"base64")):e=>s(E(e),(e=>e.charCodeAt(0))),D=e=>v(z(e)),R=o?e=>Buffer.from(e,"base64").toString("utf8"):n?e=>n.decode(v(e)):e=>w(E(e)),z=e=>l(e.replace(/[-_]/g,(e=>"-"==e?"+":"/"))),T=e=>R(z(e)),Z=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),j=function(){const e=(e,t)=>Object.defineProperty(String.prototype,e,Z(t));e("fromBase64",(function(){return T(this)})),e("toBase64",(function(e){return C(this,e)})),e("toBase64URI",(function(){return C(this,!0)})),e("toBase64URL",(function(){return C(this,!0)})),e("toUint8Array",(function(){return D(this)}))},I=function(){const e=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,Z(t));e("toBase64",(function(e){return A(this,e)})),e("toBase64URI",(function(){return A(this,!0)})),e("toBase64URL",(function(){return A(this,!0)}))},O={version:e,VERSION:"3.6.0",atob:E,atobPolyfill:S,btoa:p,btoaPolyfill:h,fromBase64:T,toBase64:C,encode:C,encodeURI:m,encodeURL:m,utob:B,btou:w,decode:T,isValid:e=>{if("string"!=typeof e)return!1;const t=e.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},fromUint8Array:A,toUint8Array:D,extendString:j,extendUint8Array:I,extendBuiltins:()=>{j(),I()},Base64:{}};return Object.keys(O).forEach((e=>O.Base64[e]=O[e])),O})); +/** + * Chrome Bookmarks Converter + * v1.0.0 + * + * Convert a standard exported Google Chrome bookmarks HTML file into a JavaScript oject structure. + * + * Dependencies: jQuery (latest). + * + * @summary Use JavaScript to convert an exported Chrome bookmarks HTML file. Export the results to JSON. + * @author Jason Snelders + * + * Created at : 2019-11-14 22:34:00 + * Last modified : 2019-11-14 22:34:00 + */ +function ChromBookmarkConverter(){this.bookmarks={folders:[]},this.stripUnneededTags=function(a){return a=a.replace(/

              /gi,""),a=a.replace(/

              /gi,""),a=a.replace(/

              /gi,""),a=a.replace(/
              /gi,"")},this.processChromeBookmarksContent=function(a){var c,b=this;a=this.stripUnneededTags(a),c=$.parseHTML(a),$.each(c,function(a,c){if("DL"==c.tagName){var d={type:"folder",title:"未命名",items:[]};b.bookmarks.folders.push(d),b.processDL(c,1,d)}})},this.processDL=function(a,b,c){var d=this,e=0,f={},g={type:"folder",title:"",add_date:"",last_modified:"",items:[]},h={},i=$(a),j=!1;$.each(i.children(),function(a,i){var k,l,m,n,o,p,q,r,s;e+=1,k=b+"."+e,1==j&&i.tagName.toLowerCase()!="DL".toLowerCase()&&(j=!1,console.log("h3",f),g.items.push(f)),i.tagName.toLowerCase()=="DL".toLowerCase()&&(g={type:"folder",title:f.title,add_date:f.add_date,last_modified:f.last_modified,items:[]},1==j&&(j=!1),d.bookmarks.folders.push(g),d.processDL(i,k,g)),i.tagName.toLowerCase()=="H3".toLowerCase()&&(l=$(i),m=l.text()?l.text():"未命名",n=l.attr("add_date"),o=l.attr("last_modified"),f={type:"header",title:m,add_date:n,last_modified:o},j=!0),"a"==i.tagName.toLowerCase()&&isURL($(i).attr("href"))&&""!=$(i).text()&&(p=$(i),q=p.text(),r=p.attr("href"),s=p.attr("add_date"),p.attr("icon"),h={type:"link",title:q,href:r,add_date:s},c.items.push(h))})}} diff --git a/templates/qnloft/assets/js/app-mini.js b/templates/qnloft/assets/js/app-mini.js new file mode 100644 index 0000000..00d7bca --- /dev/null +++ b/templates/qnloft/assets/js/app-mini.js @@ -0,0 +1,1313 @@ +(function($){ + $(document).ready(function(){ + // 侧栏菜单初始状态设置 + if(theme.minNav != '1')trigger_resizable(true); + // 主题状态 + switch_mode(); + // 搜索模块 + intoSearch(); + // 粘性页脚 + stickFooter(); + // 网址块提示 + if(isPC()){ $('[data-toggle="tooltip"]').tooltip({trigger: 'hover'}); }else{ $('.qr-img[data-toggle="tooltip"]').tooltip({trigger: 'hover'}); } + // 初始化tab滑块 + intoSlider(); + // 初始化theiaStickySidebar + $('.sidebar').theiaStickySidebar({ + additionalMarginTop: 90, + additionalMarginBottom: 20 + }); + // 初始化游客自定义数据 + /*if(theme.isCustomize == '1'){ + intoSites(false); + intoSites(true); + }*/ + }); + $(".panel-body.single img").each(function(i) { + if (!this.parentNode.href) { + if(theme.lazyload) + $(this).wrap("") + else + $(this).wrap("") + } + }) + // Enable/Disable Resizable Event + var wid = 0; + $(window).resize(function() { + clearTimeout(wid); + wid = setTimeout(go_resize, 200); + }); + function go_resize() { + stickFooter(); + //if(theme.minNav != '1'){ + trigger_resizable(false); + //} + } + // count-a数字动画 + $('.count-a').each(function () { + $(this).prop('Counter', 0).animate({ + Counter: $(this).text() + }, { + duration: 1000, + easing: 'swing', + step: function (now) { + $(this).text(Math.ceil(now)); + } + }); + }); + $(document).on('click', "a[target!='_blank']", function() { + if( theme.loading=='1' && $(this).attr('href') && $(this).attr('href').indexOf("#") != 0 && $(this).attr('href').indexOf("java") != 0 && !$(this).data('fancybox') && !$(this).data('commentid') && !$(this).hasClass('nofx') ){ + var load = $('
              '); + $("body").prepend(load); + load.animate({opacity:'1'},200,'swing').delay(2000).hide(300,function(){ load.remove() }); + } + }); + // 点赞 + $(".btn-like").click(function() { + var t = $(this); + if(t.data('action') == "post_like"){ + if (t.hasClass('liked')) { + showAlert(JSON.parse('{"status":3,"msg":"您已经赞过了!"}')); + } else { + var icop = t.children('.flex-column'); + t.addClass('liked'); + $.ajax({ + type : 'POST', + url : theme.ajaxurl, + data : { + action: t.data('action'), + post_id: t.data("id"), + ticket: t.data("ticket") + }, + success : function( data ){ + $am = $(''); + icop.prepend($am); + showAlert(JSON.parse('{"status":1,"msg":"谢谢点赞!"}')); + $('.like-count').html(data); + $am.addClass('home-like-hide'); + }, + error:function(){ + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + } + }); + } + }else{ + if (t.hasClass('disabled')) + return false; + var _delete = 0; + var id = t.data("id"); + if (t.hasClass('liked')) { + _delete = 1; + } + t.addClass('disabled'); + $.ajax({ + type : 'POST', + url : theme.ajaxurl, + data : { + action: t.data("action"), + post_id: t.data("id"), + post_type: t.data("post_type"), + delete: _delete, + ticket: t.data("ticket") + }, + success : function( data ){ + t.removeClass('disabled'); + if(data.status==1){ + $('.star-count-'+id).html(data.count); + if(_delete==1){ + t.removeClass('liked'); + t.find('.star-ico').removeClass('icon-collection').addClass('icon-collection-line'); + } + else{ + t.addClass('liked'); + t.find('.star-ico').removeClass('icon-collection-line').addClass('icon-collection'); + } + ioPopupTips(data.status, data.msg); + return false; + } + ioPopupTips(data.status, data.msg); + }, + error:function(){ + t.removeClass('disabled'); + ioPopupTips(4, "网络错误 --."); + } + }); + + } + return false; + }); + // 卡片点赞 + $(document).on('click', '.home-like', function() { + if ($(this).hasClass('liked')) { + showAlert(JSON.parse('{"status":3,"msg":"您已经赞过了!"}')); + } else { + var icop = $(this); + var id = $(this).data("id"); + $(this).addClass('liked'); + $.ajax({ + type : 'POST', + url : theme.ajaxurl, + data : { + action: "post_like", + post_id: id + }, + success : function( data ){ + $am = $(''); + icop.prepend($am); + showAlert(JSON.parse('{"status":1,"msg":"谢谢点赞!"}')); + $(".home-like-"+id).html(data); + $am.addClass('home-like-hide'); + }, + error:function(){ + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + } + }); + } + return false; + }); + //未开启详情页计算访客方法 + $(document).on('click', '.url-card a.is-views[data-id]', function() { + $.ajax({ + type:"GET", + url:theme.ajaxurl, + data:{ + action:'io_postviews', + postviews_id:$(this).data('id'), + }, + cache:false, + }); + }); + // app下载统计 + var clipboard = new ClipboardJS('a.down_count', { + text: $(document).on('click','a.down_count', function(e) { + var mm = $(e.target).data('clipboard-text'); + $.ajax({ + type:"POST", + url:theme.ajaxurl, + data: $(this).data(), + success : function( data ){ + $('.down-count-text').html(data); + } + }); + if( mm ){ + return mm; + } + }) + }); + clipboard.on("success",function (e) { + alert("网盘密码已复制,点“确定”进入下载页面。"); + }); + + //夜间模式 + $(document).on('click', '.switch-dark-mode', function(event) { + event.preventDefault(); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'html', + data: { + mode_toggle: $('body').hasClass('io-black-mode') === true ? 1 : 0, + action: 'switch_dark_mode', + }, + }) + .done(function(response) { + $('body').toggleClass('io-black-mode '+theme.defaultclass); + switch_mode(); + $("#"+ $('.switch-dark-mode').attr('aria-describedby')).remove(); + //$('.switch-dark-mode').removeAttr('aria-describedby'); + }) + }); + function switch_mode(){ + if($('body').hasClass('io-black-mode')){ + if($(".switch-dark-mode").attr("data-original-title")) + $(".switch-dark-mode").attr("data-original-title","日间模式"); + else + $(".switch-dark-mode").attr("title","日间模式"); + $(".mode-ico").removeClass("icon-night"); + $(".mode-ico").addClass("icon-light"); + } + else{ + if($(".switch-dark-mode").attr("data-original-title")) + $(".switch-dark-mode").attr("data-original-title","夜间模式"); + else + $(".switch-dark-mode").attr("title","夜间模式"); + $(".mode-ico").removeClass("icon-light"); + $(".mode-ico").addClass("icon-night"); + } + } + //返回顶部 + $(window).scroll(function () { + if ($(this).scrollTop() >= 50) { + $('#go-to-up').fadeIn(200); + $('.big-header-banner').addClass('header-bg'); + } else { + $('#go-to-up').fadeOut(200); + $('.big-header-banner').removeClass('header-bg'); + } + }); + $('.go-up').click(function () { + $('body,html').animate({ + scrollTop: 0 + }, 500); + return false; + }); + + + //滑块菜单 + $('.slider_menu').children("ul").children("li").not(".anchor").hover(function() { + $(this).addClass("hover"), + //$('li.anchor').css({ + // transform: "scale(1.05)", + //}), + toTarget($(this).parent(),true,true) + }, function() { + //$('li.anchor').css({ + // transform: "scale(1)", + //}), + $(this).removeClass("hover") + }); + $('.slider_menu').mouseleave(function(e) { + var menu = $(this).children("ul"); + window.setTimeout(function() { + toTarget(menu,true,true) + }, 50) + }) ; + function intoSlider() { + $(".slider_menu[sliderTab]").each(function() { + if(!$(this).hasClass('into')){ + var menu = $(this).children("ul"); + menu.prepend('
            • '); + var target = menu.find('.active').parent(); + if(0 < target.length){ + menu.children(".anchor").css({ + left: target.position().left + target.scrollLeft() + "px", + width: target.outerWidth() + "px", + height: target.height() + "px", + opacity: "1" + }) + } + $(this).addClass('into'); + } + }) + } + //粘性页脚 + function stickFooter() { + $('.main-footer').attr('style', ''); + if($('.main-footer').hasClass('text-xs')) + { + var win_height = jQuery(window).height(), + footer_height = $('.main-footer').outerHeight(true), + main_content_height = $('.main-footer').position().top + footer_height ; + if(win_height > main_content_height - parseInt($('.main-footer').css('marginTop'), 10)) + { + $('.main-footer').css({ + marginTop: win_height - main_content_height + }); + } + } + } + + + $('#sidebar-switch').on('click',function(){ + $('#sidebar').removeClass('mini-sidebar'); + //221024: 调整左导航展开时,点击图标锚定定位失效 + //$('.sidebar-nav .change-href').attr('href','javascript:;'); + + }); + + // Trigger Resizable Function + var isMin = false, + isMobileMin = false; + function trigger_resizable( isNoAnim ) { + if( (theme.minNav == '1' && !isMin && 767.98<$(window).width() )||(!isMin && 767.98<$(window).width() && $(window).width()<1024) ){ + //$('#mini-button').removeAttr('checked'); + $('#mini-button').prop('checked', false); + trigger_lsm_mini(isNoAnim); + isMin = true; + if(isMobileMin){ + $('#sidebar').addClass('mini-sidebar'); + $('.sidebar-nav .change-href').each(function(){$(this).attr('href',$(this).data('change'))}); + isMobileMin = false; + } + } + else if( ( theme.minNav != '1')&&((isMin && $(window).width()>=1024) || ( isMobileMin && !isMin && $(window).width()>=1024 ) ) ){ + $('#mini-button').prop('checked', true); + trigger_lsm_mini(isNoAnim); + isMin = false; + if(isMobileMin){ + isMobileMin = false; + } + } + else if($(window).width() < 767.98 && $('#sidebar').hasClass('mini-sidebar')){ + $('#sidebar').removeClass('mini-sidebar'); + //221024: 调整左导航展开时,点击图标锚定定位失效 + //$('.sidebar-nav .change-href').attr('href','javascript:;'); + isMobileMin = true; + isMin = false; + } + } + // sidebar-menu-inner收缩展开 + $('.sidebar-menu-inner a').on('click',function(){//.sidebar-menu-inner a //.has-sub a + + //console.log('--->>>'+$(this).find('span').text()); + if (!$('.sidebar-nav').hasClass('mini-sidebar')) {//菜单栏没有最小化 + $(this).parent("li").siblings("li.sidebar-item").children('ul').slideUp(200); + if ($(this).next().css('display') == "none") { //展开 + //展开未展开 + // $('.sidebar-item').children('ul').slideUp(300); + $(this).next('ul').slideDown(200); + $(this).parent('li').addClass('sidebar-show').siblings('li').removeClass('sidebar-show'); + }else{ //收缩 + //收缩已展开 + $(this).next('ul').slideUp(200); + //$('.sidebar-item.sidebar-show').removeClass('sidebar-show'); + $(this).parent('li').removeClass('sidebar-show'); + } + } + }); + //菜单栏最小化 + $('#mini-button').on('click',function(){ + trigger_lsm_mini(false); + + }); + function trigger_lsm_mini(isNoAnim){ + if ($('.header-mini-btn input[type="checkbox"]').prop("checked")) { + $('.sidebar-nav').removeClass('mini-sidebar'); + //221024: 调整左导航展开时,点击图标锚定定位失效 + //$('.sidebar-nav .change-href').attr('href','javascript:;'); + $('.sidebar-menu ul ul').css("display", "none"); + if(isNoAnim){ + $('.sidebar-nav').removeClass('animate-nav'); + $('.sidebar-nav').width(220); + } + else{ + $('.sidebar-nav').addClass('animate-nav'); + $('.sidebar-nav').stop().animate({width: 170},200); + } + }else{ + $('.sidebar-item.sidebar-show').removeClass('sidebar-show'); + $('.sidebar-menu ul').removeAttr('style'); + $('.sidebar-nav').addClass('mini-sidebar'); + $('.sidebar-nav .change-href').each(function(){$(this).attr('href',$(this).data('change'))}); + if(isNoAnim){ + $('.sidebar-nav').removeClass('animate-nav'); + $('.sidebar-nav').width(60); + } + else{ + $('.sidebar-nav').addClass('animate-nav'); + $('.sidebar-nav').stop().animate({width: 60},200); + } + } + //$('.sidebar-nav').css("transition","width .3s"); + } + //显示2级悬浮菜单 + $(document).on('mouseover','.mini-sidebar .sidebar-menu ul:first>li,.mini-sidebar .flex-bottom ul:first>li',function(){ + var offset = 2; + if($(this).parents('.flex-bottom').length!=0) + offset = -3; + $(".sidebar-popup.second").length == 0 && ($("body").append("")); + $(".sidebar-popup.second>div").html($(this).html()); + $(".sidebar-popup.second").show(); + var top = $(this).offset().top - $(window).scrollTop() + offset; + var d = $(window).height() - $(".sidebar-popup.second>div").height(); + if(d - top <= 0 ){ + top = d >= 0 ? d - 8 : 0; + } + $(".sidebar-popup.second").stop().animate({"top":top}, 50); + }); + //隐藏悬浮菜单面板 + $(document).on('mouseleave','.mini-sidebar .sidebar-menu ul:first, .mini-sidebar .slimScrollBar,.second.sidebar-popup',function(){ + $(".sidebar-popup.second").hide(); + }); + //常驻2级悬浮菜单面板 + $(document).on('mouseover','.mini-sidebar .slimScrollBar,.second.sidebar-popup',function(){ + $(".sidebar-popup.second").show(); + }); + + $(document).on('click', '.ajax-cm-home .ajax-cm', function(event) { + event.preventDefault(); + var t = $(this); + var id = t.data('id'); + var box = $(t.attr('href')).children('.site-list'); + //console.log(box.children('.url-card').length); + if( box.children('.url-card').length==0 ){ + t.addClass('disabled'); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'html', + data : { + action: t.data('action'), + term_id: id, + }, + cache: true, + }) + .done(function(response) { + if (response.trim()) { + var url = $(response); + box.html(url); + if(isPC()) url.find('[data-toggle="tooltip"]').tooltip({ trigger: 'hover' }); + } else { + } + t.removeClass('disabled'); + }) + .fail(function() { + t.removeClass('disabled'); + }) + } + }); + + //首页tab模式请求内容 + $(document).on('click', '.ajax-list a', function(event) { + event.preventDefault(); + loadAjax( $(this), $(this).parents('.ajax-list') , '.'+$(this).data('target')); + }); + + $(document).on('click', '.ajax-list-home a', function(event) { + event.preventDefault(); + loadAjax( $(this), $(this).parents('.ajax-list-home'), '.ajax-'+$(this).parents('.ajax-list-home').data('id') ); + }); + + function loadAjax(t,parent,body){ + if( !t.hasClass('active') ){ + parent.find('a').removeClass('active'); + t.addClass('active'); + if($(body).children(".ajax-loading").length == 0) + $(body).append('
              '); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'html', + data : t.data(), + cache: true, + }) + .done(function(response) { + if (response.trim()) { + $(body).html(''); + $(body).append(response); + //if(theme.lazyload == '1') { + // $(body+" img.lazy").lazyload(); + //} + var url = $(body).children('#ajax-cat-url').data('url'); + if(url) + t.parents('.d-flex.flex-fill.flex-tab').children('.btn-move.tab-move').show().attr('href', url); + else + t.parents('.d-flex.flex-fill.flex-tab').children('.btn-move.tab-move').hide(); + if(isPC()) $('.ajax-url [data-toggle="tooltip"]').tooltip({ trigger: 'hover' }); + } else { + $('.ajax-loading').remove(); + } + }) + .fail(function() { + $('.ajax-loading').remove(); + }) + } + } + + // 自定义模块----------------- + $(".add-link-form").on("submit", function() { + var siteName = $(".site-add-name").val() + , siteUrl = $(".site-add-url").val(); + addSiteList({ + id: +new Date, + name: siteName, + url: siteUrl + }); + this.reset(); + this.querySelector("input").focus(); + $(this).find(".btn-close-fm").click(); + }); + var isEdit = false; + $('.customize-menu .btn-edit').click(function () { + if(isEdit){ + $('.url-card .remove-site,#add-site').hide(); + $('.url-card .remove-site,.add-custom-site').hide(); + $('.url-card .remove-cm-site').hide(); + $('.customize-sites').removeClass('edit'); + ioSortable(); + $('.customize-menu .btn-edit').html("编辑"); + }else{ + $('.url-card .remove-site,#add-site').show(); + $('.url-card .remove-site,.add-custom-site').show(); + $('.url-card .remove-cm-site').show(); + $('.customize-sites').addClass('edit'); + ioSortable(); + $('.customize-menu .btn-edit').html("确定"); + } + isEdit = !isEdit; + }); + function addSiteList(site){ + var sites = getItem("myLinks"); + //判断是否重复 + for (var i = 0; i < sites.length; i++) { + if(sites[i].url==site.url) + { + showAlert(JSON.parse('{"status":4,"msg":"该网址已经存在了 --."}')); + return; + } + } + sites.unshift(site); + addSite(site,false,false); + setItem(sites,"myLinks"); + } + function addSite(site,isLive,isHeader) { + if(!isLive) $('.customize_nothing').remove(); + else $('.customize_nothing_click').remove(); + var url_f,matches = site.url.match(/^(?:https?:\/\/)?((?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6})/); + if (!matches || matches.length < 2) url_f=site.url; + else { + url_f=matches[0]; + if(theme.urlformat == '1') + url_f = matches[1]; + } + var newSite = $(''); + if(isLive){ + if(isHeader) + $(".my-click-list").prepend(newSite); + else + $(".my-click-list").append(newSite); + newSite.children('.remove-site').on("click",removeLiveSite); + } else { + $("#add-site").before(newSite); + newSite.children('.remove-site').on("click",removeSite); + } + if(isEdit) + newSite.children('.remove-site').show(); + if(isPC()) $('.new-site[data-toggle="tooltip"]').tooltip({ trigger: 'hover' }); + } + function getItem(key) { + var a = window.localStorage.getItem(key); + return a ? a = JSON.parse(a) : []; + } + function setItem(sites,key) { + window.localStorage.setItem(key, JSON.stringify(sites)); + } + function intoSites(isLive) { + var sites = getItem( isLive ? "livelists" : "myLinks" ); + if(sites.length && !isLive && !$("#add-site")[0]){ + $(".customize_nothing.custom-site").children(".nothing").html('您已登录,检测到您的设备上有数据,点击同步到服务器'); + return; + } + if (sites.length) { + for (var i = 0; i < sites.length; i++) { + addSite(sites[i],isLive,false); + } + } + } + function removeSite() { + var id = $(this).data("id"), + sites = getItem("myLinks"); + for (var i = 0; i < sites.length; i++){ + if ( parseInt(sites[i].id) === parseInt(id)) { + console.log(sites[i].id, id); + sites.splice(i, 1); + break; + } + } + setItem(sites,"myLinks"); + $(this).parent().remove(); + } + function removeLiveSite() { + var id = $(this).data("id"), + sites = getItem("livelists"); + for (var i = 0; i < sites.length; i++){ + if ( parseInt(sites[i].id) === parseInt(id)) { + console.log(sites[i].id, id); + sites.splice(i, 1); + break; + } + } + setItem(sites,"livelists"); + $(this).parent().remove(); + } + $(document).on('click', '.add-new-custom-site', function(event) { + var t = $(this); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'json', + data : t.data(), + }) + .done(function(response) { + showAlert(response); + }) + .fail(function() { + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + }) + }); + $(".add-custom-site-form").on("submit", function() { + var t = $(this); + var tt = this; + var url = t.find("input[name=url]").val(); + var name = t.find("input[name=url_name]").val(); + var term_id = t.find('input:radio:checked').val(); + var term_name = t.find('input[name=term_name]').val(); + if(term_name=='' && term_id==undefined){ + showAlert(JSON.parse('{"status":3,"msg":"为什么不选分类"}')); + return false; + } + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'json', + data : t.serialize()+"&action=add_custom_url", + }) + .done(function(response) { + if(response.status !=1){ + showAlert(response); + return; + } + var url_f,matches = url.match(/^(?:https?:\/\/)?((?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6})/); + if (!matches || matches.length < 2) url_f=url; + else { + url_f=matches[0]; + if(theme.urlformat == '1') + url_f = matches[1]; + } + var id = response.id; + var newSite = $(''); + $(".add-custom-site[data-term_id="+term_id+"]").before(newSite); + tt.reset(); + tt.querySelector("input").focus(); + t.find(".btn-close-fm").click(); + showAlert(JSON.parse('{"status":1,"msg":"添加成功。"}')); + }) + .fail(function() { + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + return; + }) + }); + $(document).on("click",'.url-card .remove-cm-site', function(event){ + var t = $(this); + t.addClass('disabled'); + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + dataType: 'json', + data : t.data(), + }) + .done(function(response) { + if(response.status == 1){ + t.parent().remove(); + } + t.removeClass('disabled'); + showAlert(response); + }) + .fail(function() { + t.removeClass('disabled'); + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + }) + }); + function ioSortable() { + if($('.customize-sites').hasClass('edit')){ + if(isPC()) $('.customize-sites .new-site[data-toggle="tooltip"]').tooltip('disable'); + //$('.customize-sites').find('a').attr('href','javascript:void(0)'); + $('.customize-sites .site-list').sortable({ + items: '.sortable', + containment: ".main-content", + //'placeholder': "ui-state-highlight", + update : function(e, ui) { + $('.customize-sites .site-list').sortable('disable'); + var term_id = $(this).data('term_id'); + var order = $(this).sortable('serialize'); + + + var queryData = { "action": "update_custom_url_order", "term_id" : term_id, "order" : order }; + $.ajax({ + url: theme.ajaxurl, + type: 'POST', + data: queryData, + cache: false, + dataType: "json", + success: function(data){ + if(data.status != 1){ + showAlert(data); + } + $('.customize-sites .site-list').sortable('enable'); + }, + error: function(html){ + $('.customize-sites .site-list').sortable('enable'); + showAlert(JSON.parse('{"status":4,"msg":"网络错误 --."}')); + } + }); + + } + }); + }else{ + if(isPC()) $('.customize-sites .new-site[data-toggle="tooltip"]').tooltip('enable'); + //$('.customize-sites').find('a').attr('href',$(this).data('url')); + $( ".customize-sites .site-list" ).sortable( "destroy" ); + } + + } + + $("input[name=term_name]").focus(function(){ + var this_input = $("input[name=term_id]"); + this_input.prop('checked', false); + }); + $('.form_custom_term_id').on("click", function(event){ + $("input[name=term_name]").val(""); + }); + $(document).on('click', '.url-card a.card', function(event) { + var site = { + id: $(this).data("id"), + name: $(this).find("strong").html(), + url: $(this).data("url") + }; + if(site.url==="") + return; + var liveList = getItem("livelists"); + var isNew = true; + for (var i = 0; i < liveList.length; i++){ + if (liveList[i].name === site.name) { + isNew = false; + } + } + if(isNew){ + var maxSite = theme.customizemax; + if(liveList.length > maxSite-1){ + $(".my-click-list .site-"+liveList[maxSite-1].id).parent().remove(); + liveList.splice(maxSite-1, 1); + } + addSite(site,true,true); + liveList.unshift(site); + setItem(liveList,"livelists"); + } + }); + // 搜索模块 ----------------------- + function intoSearch() { + if(window.localStorage.getItem("searchlist")){ + $(".hide-type-list input#"+window.localStorage.getItem("searchlist")).prop('checked', true); + $(".hide-type-list input#m_"+window.localStorage.getItem("searchlist")).prop('checked', true); + } + if(window.localStorage.getItem("searchlistmenu")){ + $('.s-type-list.big label').removeClass('active'); + $(".s-type-list [data-id="+window.localStorage.getItem("searchlistmenu")+"]").addClass('active'); + } + toTarget($(".s-type-list.big"),false,false); + $('.hide-type-list .s-current').removeClass("s-current"); + $('.hide-type-list input:radio[name="type"]:checked').parents(".search-group").addClass("s-current"); + $('.hide-type-list input:radio[name="type2"]:checked').parents(".search-group").addClass("s-current"); + + $(".super-search-fm").attr("action",$('.hide-type-list input:radio:checked').val()); + $(".search-key").attr("placeholder",$('.hide-type-list input:radio:checked').data("placeholder")); + if(window.localStorage.getItem("searchlist")=='type-zhannei'){ + $(".search-key").attr("zhannei","true"); + } + } + $(document).on('click', '.s-type-list label', function(event) { + //event.preventDefault(); + $('.s-type-list.big label').removeClass('active'); + $(this).addClass('active'); + window.localStorage.setItem("searchlistmenu", $(this).data("id")); + var parent = $(this).parents(".s-search"); + parent.find('.search-group').removeClass("s-current"); + parent.find('#'+$(this).attr("for")).parents(".search-group").addClass("s-current"); + toTarget($(this).parents(".s-type-list"),false,false); + }); + $('.hide-type-list .search-group input').on('click', function() { + var parent = $(this).parents(".s-search"); + window.localStorage.setItem("searchlist", $(this).attr("id").replace("m_","")); + parent.children(".super-search-fm").attr("action",$(this).val()); + parent.find(".search-key").attr("placeholder",$(this).data("placeholder")); + + if($(this).attr('id')=="type-zhannei" || $(this).attr('id')=="m_type-zhannei") + parent.find(".search-key").attr("zhannei","true"); + else + parent.find(".search-key").attr("zhannei",""); + + parent.find(".search-key").select(); + parent.find(".search-key").focus(); + }); + $(document).on("submit", ".super-search-fm", function() { + var key = encodeURIComponent($(this).find(".search-key").val()) + if(key == "") + return false; + else{ + window.open( $(this).attr("action") + key); + return false; + } + }); + function getSmartTipsGoogle(value,parents) { + $.ajax({ + type: "GET", + url: "//suggestqueries.google.com/complete/search?client=firefox&callback=iowenHot", + async: true, + data: { q: value }, + dataType: "jsonp", + jsonp: "callback", + success: function(res) { + var list = parents.children(".search-smart-tips"); + list.children("ul").text(""); + tipsList = res[1].length; + if (tipsList) { + for (var i = 0; i < tipsList; i++) { + list.children("ul").append("
            • " + res[1][i] + "
            • "); + list.find("li").eq(i).click(function() { + var keyword = $(this).html(); + parents.find(".smart-tips.search-key").val(keyword); + parents.children(".super-search-fm").submit(); + list.slideUp(200); + }); + }; + list.slideDown(200); + } else { + list.slideUp(200) + } + }, + error: function(res) { + tipsList = 0; + } + }) + } + function getSmartTipsBaidu(value,parents) { + $.ajax({ + type: "GET", + url: "//sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?cb=iowenHot", + async: true, + data: { wd: value }, + dataType: "jsonp", + jsonp: "cb", + success: function(res) { + var list = parents.children(".search-smart-tips"); + list.children("ul").text(""); + tipsList = res.s.length; + if (tipsList) { + for (var i = 0; i < tipsList; i++) { + list.children("ul").append("
            • " + res.s[i] + "
            • "); + list.find("li").eq(i).click(function() { + var keyword = $(this).html(); + parents.find(".smart-tips.search-key").val(keyword); + parents.children(".super-search-fm").submit(); + list.slideUp(200); + }); + }; + list.slideDown(200); + } else { + list.slideUp(200) + } + }, + error: function(res) { + tipsList = 0; + } + }) + } + var listIndex = -1; + var parent; + var tipsList = 0; + var isZhannei = false; + $(document).on("blur", ".smart-tips.search-key", function() { + parent = ''; + $(".search-smart-tips").delay(150).slideUp(200) + }); + $(document).on("focus", ".smart-tips.search-key", function() { + isZhannei = $(this).attr('zhannei')!=''?true:false; + parent = $(this).parents('#search'); + if ($(this).val() && !isZhannei) { + switch(theme.hotWords) { + case "baidu": + getSmartTipsBaidu($(this).val(),parent) + break; + case "google": + getSmartTipsGoogle($(this).val(),parent) + break; + default: + } + } + }); + $(document).on("keyup", ".smart-tips.search-key", function(e) { + isZhannei = $(this).attr('zhannei')!=''?true:false; + parent = $(this).parents('#search'); + if ($(this).val()) { + if (e.keyCode == 38 || e.keyCode == 40 || isZhannei) { + return + } + switch(theme.hotWords) { + case "baidu": + getSmartTipsBaidu($(this).val(),parent) + break; + case "google": + getSmartTipsGoogle($(this).val(),parent) + break; + default: + } + listIndex = -1; + } else { + $(".search-smart-tips").slideUp(200) + } + }); + $(document).on("keydown", ".smart-tips.search-key", function(e) { + parent = $(this).parents('#search'); + if (e.keyCode === 40) { + listIndex === (tipsList - 1) ? listIndex = 0 : listIndex++; + parent.find(".search-smart-tips ul li").eq(listIndex).addClass("current").siblings().removeClass("current"); + var hotValue = parent.find(".search-smart-tips ul li").eq(listIndex).html(); + parent.find(".smart-tips.search-key").val(hotValue) + } + if (e.keyCode === 38) { + if (e.preventDefault) { + e.preventDefault() + } + if (e.returnValue) { + e.returnValue = false + } + listIndex === 0 || listIndex === -1 ? listIndex = (tipsList - 1) : listIndex--; + parent.find(".search-smart-tips ul li").eq(listIndex).addClass("current").siblings().removeClass("current"); + var hotValue = parent.find(".search-smart-tips ul li").eq(listIndex).html(); + parent.find(".smart-tips.search-key").val(hotValue) + } + }); + $('.nav-login-user.dropdown').hover(function(){ + if(!$(this).hasClass('show')) + $(this).children('a').click(); + },function(){ + //$(this).removeClass('show'); + //$(this).children('a').attr('aria-expanded',false); + //$(this).children('.dropdown-menu').removeClass('show'); + }); + $('#add-new-sites-modal').on('show.bs.modal', function (event) { + var button = $(event.relatedTarget); + var modal = $(this); + modal.find('[name="term_id"]').val( button.data('terms_id') ); + modal.find('[name="url"]').val( button.data('new_url') ); + modal.find('[name="url_name"]').val(''); + modal.find('[name="url_summary"]').removeClass('is-invalid').val(''); + button.data('new_url',''); + var _url = modal.find('[name="url"]').val(); + if(_url!=''){ + getUrlInfo(_url,modal); + urlStartValue = _url; + } + }); + var urlStartValue = ''; + $('#modal-new-url').on('blur',function(){ + var t = $(this); + if(t.val()!=''){ + if(isURL(t.val())){ + if(urlStartValue!=t.val()){ + urlStartValue = t.val(); + getUrlInfo(t.val(),$('.add_new_sites_modal')); + } + }else{ + showAlert(JSON.parse('{"status":4,"msg":"URL 无效!"}')); + } + } + }); + $('#modal-new-url-summary').on('blur',function(){ + var t = $(this); + if(t.val()!=''){ + t.removeClass('is-invalid'); + } + }); + function getUrlInfo(_url,modal){ + $('#modal-new-url-ico').show(); + $.post("//apiv2.iotheme.cn/webinfo/get.php", { url: _url ,key: theme.apikey },function(data,status){ + if(data.code==0){ + $('#modal-new-url-ico').hide(); + $("#modal-new-url-summary").addClass('is-invalid'); + } + else{ + $('#modal-new-url-ico').hide(); + if(data.site_title=="" && data.site_description==""){ + $("#modal-new-url-summary").addClass('is-invalid'); + }else{ + modal.find('[name="url_name"]').val(data.site_title); + modal.find('[name="url_summary"]').val(data.site_description); + } + } + }).fail(function () { + $('#modal-new-url-ico').hide(); + $(".refre_msg").html('访问超时,请再试试,或者手动填写').show(200).delay(4000).hide(200); + }); + } +})(jQuery); +function isURL(URL){ + var str=URL; + var Expression=/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/; + var objExp=new RegExp(Expression); + if(objExp.test(str)==true){ + return true; + }else{ + return false; + } +} +function isPC() { + let u = navigator.userAgent; + let Agents = ["Android", "iPhone", "webOS", "BlackBerry", "SymbianOS", "Windows Phone", "iPad", "iPod"]; + let flag = true; + for (let i = 0; i < Agents.length; i++) { + if (u.indexOf(Agents[i]) > 0) { + flag = false; + break; + } + } + return flag; +} +function chack_name(str){ + //var pattern = RegExp(/[( )(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\-)(\_)(\+)(\=)(\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\»)(\«)(\“)(\”)(\?)(\)]+/); + var pattern = RegExp(/[( )(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\*)(\()(\))(\+)(\=)(\[)(\])(\{)(\})(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\»)(\«)(\“)(\”)(\?)(\)]+/); + if (pattern.test(str)){ + return true; + } + return false; +} +function showAlert(data) { + var title,alert,ico; + switch(data.status) { + case 1: + title = '成功'; + alert='success'; + ico='icon-adopt'; + break; + case 2: + title = '信息'; + alert='info'; + ico='icon-tishi'; + break; + case 3: + title = '警告'; + alert='warning'; + ico='icon-warning'; + break; + case 4: + title = '错误'; + alert='danger'; + ico='icon-close-circle'; + break; + default: + } + var msg = data.msg; + if(!$('#alert_placeholder').hasClass('text-sm')){ + $('body').append('
              ') + } + $html = $(''); + $('#alert_placeholder').append( $html );//prepend + $html.show(200).delay(3500).hide(300, function(){ $(this).remove() }); +} +function toTarget(menu, padding, isMult) { + var slider = menu.children(".anchor"); + var target = menu.children(".hover").first() ; + if (target && 0 < target.length){ + } + else{ + if(isMult) + target = menu.find('.active').parent(); + else + target = menu.find('.active'); + } + if(0 < target.length){ + if(padding) + slider.css({ + left: target.position().left + target.scrollLeft() + "px", + width: target.outerWidth() + "px", + opacity: "1" + }); + else + slider.css({ + left: target.position().left + target.scrollLeft() + (target.outerWidth()/4) + "px", + width: target.outerWidth()/2 + "px", + opacity: "1" + }); + } + else{ + slider.css({ + opacity: "0" + }) + } +} +var ioadindex = 0; +function loadingShow(parent = "body"){ + if($('.load-loading')[0]){ + ioadindex ++; + return $('.load-loading'); + } + var load = $(''); + $(parent).prepend(load); + load.fadeIn(200); + return load; +} +function loadingHid(load){ + if(ioadindex>0) + ioadindex--; + else{ + ioadindex = 0; + load.fadeOut(300,function(){ load.remove() }); + } +} +function ioPopupTips(type, msg, callBack) { + var ico = ''; + switch(type) { + case 1: + ico='icon-adopt'; + break; + case 2: + ico='icon-tishi'; + break; + case 3: + ico='icon-warning'; + break; + case 4: + ico='icon-close-circle'; + break; + default: + } + var c = type==1 ? 'tips-success' : 'tips-error'; + var html = '
              '+ + '
              '+ + '
              '+ + '
              '+ + '

              '+msg+'

              '+ + '
              '+ + '
              '+ + '
              '; + var tips = $(html); + $('body').addClass('modal-open').append(tips); + setTimeout(function(){ + $('body').removeClass('modal-open'); + if ($.isFunction(callBack)) callBack(true); + tips.removeClass('io-bomb-open').addClass('io-bomb-close'); + setTimeout(function(){ + tips.removeClass('io-bomb-close'); + setTimeout(function(){ + tips.remove(); + }, 200); + },400); + },2000); +} +function ioPopup(type, html, maskStyle, btnCallBack) { + var maskStyle = maskStyle ? 'style="' + maskStyle + '"' : ''; + var size = ''; + if( type == 'big' ){ + size = 'io-bomb-lg'; + }else if( type == 'no-padding' ){ + size = 'io-bomb-nopd'; + }else if( type == 'cover' ){ + size = 'io-bomb-cover io-bomb-nopd'; + }else if( type == 'full' ){ + size = 'io-bomb-xl'; + }else if( type == 'small' ){ + size = 'io-bomb-sm'; + }else if( type == 'confirm' ){ + size = 'io-bomb-md'; + } + var template = '\ +
              \ +
              \ +
              \ +
              \ + '+html+'\ +
              \ +
              \ + \ +
              \ +
              \ +
              \ + '; + var popup = $(template); + $('body').addClass('modal-open').append(popup); + var close = function(){ + $('body').removeClass('modal-open'); + $(popup).removeClass('io-bomb-open').addClass('io-bomb-close'); + setTimeout(function(){ + $(popup).removeClass('io-bomb-close'); + setTimeout(function(){ + popup.remove(); + }, 200); + },600); + } + $(popup).on('click touchstart', '.btn-close-bomb i, .io-bomb-overlay', function(event) { + event.preventDefault(); + if ($.isFunction(btnCallBack)) btnCallBack(true); + close(); + }); + return popup; +} +function ioConfirm(message, btnCallBack) { + var template = '\ +
              \ +
              \ +
              \ +
              \ + '+message+'\ +
              \ + \ + \ +
              \ +
              \ +
              \ +
              \ + '; + var popup = $(template); + $('body').addClass('modal-open').append(popup); + _onclick = function (r) { + close(); + if ($.isFunction(btnCallBack)) btnCallBack(r); + }; + var close = function(){ + $('body').removeClass('modal-open'); + $(popup).removeClass('io-bomb-open').addClass('io-bomb-close'); + setTimeout(function(){ + $(popup).removeClass('io-bomb-close'); + setTimeout(function(){ + popup.remove(); + }, 200); + },600); + } + return popup; +} +console.log("\n %c WebStack-Hugo 导航主题 By ShumLab %c https://www.shumlab.com/ \n", "color: #ffffff; background: #f1404b; padding:5px 0;", "background: #030307; padding:5px 0;"); + +/** + * Minified by jsDelivr using Terser v5.3.5. + * Original file: /npm/js-base64@3.6.0/base64.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):function(){const r=e.Base64,o=t();o.noConflict=()=>(e.Base64=r,o),e.Meteor&&(Base64=o),e.Base64=o}()}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this,(function(){"use strict";const e="3.6.0",t="function"==typeof atob,r="function"==typeof btoa,o="function"==typeof Buffer,n="function"==typeof TextDecoder?new TextDecoder:void 0,a="function"==typeof TextEncoder?new TextEncoder:void 0,f=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],i=(e=>{let t={};return e.forEach(((e,r)=>t[e]=r)),t})(f),c=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,u=String.fromCharCode.bind(String),s="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):(e,t=(e=>e))=>new Uint8Array(Array.prototype.slice.call(e,0).map(t)),d=e=>e.replace(/[+\/]/g,(e=>"+"==e?"-":"_")).replace(/=+$/m,""),l=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),h=e=>{let t,r,o,n,a="";const i=e.length%3;for(let i=0;i255||(o=e.charCodeAt(i++))>255||(n=e.charCodeAt(i++))>255)throw new TypeError("invalid character found");t=r<<16|o<<8|n,a+=f[t>>18&63]+f[t>>12&63]+f[t>>6&63]+f[63&t]}return i?a.slice(0,i-3)+"===".substring(i):a},p=r?e=>btoa(e):o?e=>Buffer.from(e,"binary").toString("base64"):h,y=o?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let r=0,o=e.length;rt?d(y(e)):y(e),b=e=>{if(e.length<2)return(t=e.charCodeAt(0))<128?e:t<2048?u(192|t>>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},g=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,B=e=>e.replace(g,b),x=o?e=>Buffer.from(e,"utf8").toString("base64"):a?e=>y(a.encode(e)):e=>p(B(e)),C=(e,t=!1)=>t?d(x(e)):x(e),m=e=>C(e,!0),U=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,F=e=>{switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u(55296+(t>>>10))+u(56320+(1023&t));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},w=e=>e.replace(U,F),S=e=>{if(e=e.replace(/\s+/g,""),!c.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let t,r,o,n="";for(let a=0;a>16&255):64===o?u(t>>16&255,t>>8&255):u(t>>16&255,t>>8&255,255&t);return n},E=t?e=>atob(l(e)):o?e=>Buffer.from(e,"base64").toString("binary"):S,v=o?e=>s(Buffer.from(e,"base64")):e=>s(E(e),(e=>e.charCodeAt(0))),D=e=>v(z(e)),R=o?e=>Buffer.from(e,"base64").toString("utf8"):n?e=>n.decode(v(e)):e=>w(E(e)),z=e=>l(e.replace(/[-_]/g,(e=>"-"==e?"+":"/"))),T=e=>R(z(e)),Z=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),j=function(){const e=(e,t)=>Object.defineProperty(String.prototype,e,Z(t));e("fromBase64",(function(){return T(this)})),e("toBase64",(function(e){return C(this,e)})),e("toBase64URI",(function(){return C(this,!0)})),e("toBase64URL",(function(){return C(this,!0)})),e("toUint8Array",(function(){return D(this)}))},I=function(){const e=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,Z(t));e("toBase64",(function(e){return A(this,e)})),e("toBase64URI",(function(){return A(this,!0)})),e("toBase64URL",(function(){return A(this,!0)}))},O={version:e,VERSION:"3.6.0",atob:E,atobPolyfill:S,btoa:p,btoaPolyfill:h,fromBase64:T,toBase64:C,encode:C,encodeURI:m,encodeURL:m,utob:B,btou:w,decode:T,isValid:e=>{if("string"!=typeof e)return!1;const t=e.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},fromUint8Array:A,toUint8Array:D,extendString:j,extendUint8Array:I,extendBuiltins:()=>{j(),I()},Base64:{}};return Object.keys(O).forEach((e=>O.Base64[e]=O[e])),O})); +/** + * Chrome Bookmarks Converter + * v1.0.0 + * + * Convert a standard exported Google Chrome bookmarks HTML file into a JavaScript oject structure. + * + * Dependencies: jQuery (latest). + * + * @summary Use JavaScript to convert an exported Chrome bookmarks HTML file. Export the results to JSON. + * @author Jason Snelders + * + * Created at : 2019-11-14 22:34:00 + * Last modified : 2019-11-14 22:34:00 + */ +function ChromBookmarkConverter(){this.bookmarks={folders:[]},this.stripUnneededTags=function(a){return a=a.replace(/

              /gi,""),a=a.replace(/

              /gi,""),a=a.replace(/

              /gi,""),a=a.replace(/
              /gi,"")},this.processChromeBookmarksContent=function(a){var c,b=this;a=this.stripUnneededTags(a),c=$.parseHTML(a),$.each(c,function(a,c){if("DL"==c.tagName){var d={type:"folder",title:"未命名",items:[]};b.bookmarks.folders.push(d),b.processDL(c,1,d)}})},this.processDL=function(a,b,c){var d=this,e=0,f={},g={type:"folder",title:"",add_date:"",last_modified:"",items:[]},h={},i=$(a),j=!1;$.each(i.children(),function(a,i){var k,l,m,n,o,p,q,r,s;e+=1,k=b+"."+e,1==j&&i.tagName.toLowerCase()!="DL".toLowerCase()&&(j=!1,console.log("h3",f),g.items.push(f)),i.tagName.toLowerCase()=="DL".toLowerCase()&&(g={type:"folder",title:f.title,add_date:f.add_date,last_modified:f.last_modified,items:[]},1==j&&(j=!1),d.bookmarks.folders.push(g),d.processDL(i,k,g)),i.tagName.toLowerCase()=="H3".toLowerCase()&&(l=$(i),m=l.text()?l.text():"未命名",n=l.attr("add_date"),o=l.attr("last_modified"),f={type:"header",title:m,add_date:n,last_modified:o},j=!0),"a"==i.tagName.toLowerCase()&&isURL($(i).attr("href"))&&""!=$(i).text()&&(p=$(i),q=p.text(),r=p.attr("href"),s=p.attr("add_date"),p.attr("icon"),h={type:"link",title:q,href:r,add_date:s},c.items.push(h))})}} diff --git a/templates/qnloft/assets/js/bootstrap.min-4.3.1.js b/templates/qnloft/assets/js/bootstrap.min-4.3.1.js new file mode 100644 index 0000000..4955aee --- /dev/null +++ b/templates/qnloft/assets/js/bootstrap.min-4.3.1.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
              ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:''}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||tthis.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.1",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.1",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('