commit fbeccda5a0773e174cad3689d4bdf2281fe01451 Author: 小鱼开发 Date: Mon Jun 23 18:17:28 2025 +0800 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -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/README.md b/README.md new file mode 100644 index 0000000..1511959 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Vue 3 + Vite + +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a7dc8cb --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2579 @@ +{ + "name": "pinganbroker", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "pinganbroker", + "version": "0.0.0", + "dependencies": { + "@vant/area-data": "^2.0.0", + "axios": "^1.9.0", + "pinia": "^3.0.2", + "vant": "^4.9.19", + "vue": "^3.5.13", + "vue-qrcode": "^2.2.2", + "vue-router": "^4.5.1" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.3", + "postcss-px-to-viewport": "^1.1.1", + "sass": "^1.89.0", + "vite": "^6.3.5" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.3", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.3.tgz", + "integrity": "sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.27.3", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.27.3.tgz", + "integrity": "sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", + "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.5.tgz", + "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", + "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.5.tgz", + "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", + "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", + "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", + "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", + "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", + "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", + "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", + "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", + "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", + "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", + "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", + "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", + "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", + "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", + "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", + "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", + "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", + "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", + "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", + "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", + "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", + "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz", + "integrity": "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz", + "integrity": "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz", + "integrity": "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz", + "integrity": "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz", + "integrity": "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz", + "integrity": "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz", + "integrity": "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz", + "integrity": "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz", + "integrity": "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz", + "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz", + "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz", + "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz", + "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz", + "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz", + "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz", + "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz", + "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz", + "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz", + "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", + "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vant/area-data": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@vant/area-data/-/area-data-2.0.0.tgz", + "integrity": "sha512-zgP4AA8z09S9QTNgVCCHo9cHjcybrv22RJDYPjuCkecn4SB98T5EoPQh2TwqbQXmUhbaOGgiZGy3OUaUxnY7qg==", + "license": "MIT" + }, + "node_modules/@vant/popperjs": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz", + "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==", + "license": "MIT" + }, + "node_modules/@vant/use": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/@vant/use/-/use-1.6.0.tgz", + "integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.15.tgz", + "integrity": "sha512-nGRc6YJg/kxNqbv/7Tg4juirPnjHvuVdhcmDvQWVZXlLHjouq7VsKmV1hIxM/8yKM0VUfwT/Uzc0lO510ltZqw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.2", + "@vue/shared": "3.5.15", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.15.tgz", + "integrity": "sha512-ZelQd9n+O/UCBdL00rlwCrsArSak+YLZpBVuNDio1hN3+wrCshYZEDUO3khSLAzPbF1oQS2duEoMDUHScUlYjA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.15", + "@vue/shared": "3.5.15" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.15.tgz", + "integrity": "sha512-3zndKbxMsOU6afQWer75Zot/aydjtxNj0T2KLg033rAFaQUn2PGuE32ZRe4iMhflbTcAxL0yEYsRWFxtPro8RQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.2", + "@vue/compiler-core": "3.5.15", + "@vue/compiler-dom": "3.5.15", + "@vue/compiler-ssr": "3.5.15", + "@vue/shared": "3.5.15", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.17", + "postcss": "^8.5.3", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.15.tgz", + "integrity": "sha512-gShn8zRREZbrXqTtmLSCffgZXDWv8nHc/GhsW+mbwBfNZL5pI96e7IWcIq8XGQe1TLtVbu7EV9gFIVSmfyarPg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.15", + "@vue/shared": "3.5.15" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.6.tgz", + "integrity": "sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.6", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.6.tgz", + "integrity": "sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.15.tgz", + "integrity": "sha512-GaA5VUm30YWobCwpvcs9nvFKf27EdSLKDo2jA0IXzGS344oNpFNbEQ9z+Pp5ESDaxyS8FcH0vFN/XSe95BZtHQ==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.15" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.15.tgz", + "integrity": "sha512-CZAlIOQ93nj0OPpWWOx4+QDLCMzBNY85IQR4Voe6vIID149yF8g9WQaWnw042f/6JfvLttK7dnyWlC1EVCRK8Q==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.15", + "@vue/shared": "3.5.15" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.15.tgz", + "integrity": "sha512-wFplHKzKO/v998up2iCW3RN9TNUeDMhdBcNYZgs5LOokHntrB48dyuZHspcahKZczKKh3v6i164gapMPxBTKNw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.15", + "@vue/runtime-core": "3.5.15", + "@vue/shared": "3.5.15", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.15.tgz", + "integrity": "sha512-Gehc693kVTYkLt6QSYEjGvqvdK2zZ/gf/D5zkgmvBdeB30dNnVZS8yY7+IlBmHRd1rR/zwaqeu06Ij04ZxBscg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.15", + "@vue/shared": "3.5.15" + }, + "peerDependencies": { + "vue": "3.5.15" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.15.tgz", + "integrity": "sha512-bKvgFJJL1ZX9KxMCTQY6xD9Dhe3nusd1OhyOb1cJYGqvAr0Vg8FIjHPMOEVbJ9GDT9HG+Bjdn4oS8ohKP8EvoA==", + "license": "MIT" + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.9.0.tgz", + "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/birpc": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.3.0.tgz", + "integrity": "sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "peer": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT", + "peer": true + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", + "peer": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.5", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.5.tgz", + "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.5", + "@esbuild/android-arm": "0.25.5", + "@esbuild/android-arm64": "0.25.5", + "@esbuild/android-x64": "0.25.5", + "@esbuild/darwin-arm64": "0.25.5", + "@esbuild/darwin-x64": "0.25.5", + "@esbuild/freebsd-arm64": "0.25.5", + "@esbuild/freebsd-x64": "0.25.5", + "@esbuild/linux-arm": "0.25.5", + "@esbuild/linux-arm64": "0.25.5", + "@esbuild/linux-ia32": "0.25.5", + "@esbuild/linux-loong64": "0.25.5", + "@esbuild/linux-mips64el": "0.25.5", + "@esbuild/linux-ppc64": "0.25.5", + "@esbuild/linux-riscv64": "0.25.5", + "@esbuild/linux-s390x": "0.25.5", + "@esbuild/linux-x64": "0.25.5", + "@esbuild/netbsd-arm64": "0.25.5", + "@esbuild/netbsd-x64": "0.25.5", + "@esbuild/openbsd-arm64": "0.25.5", + "@esbuild/openbsd-x64": "0.25.5", + "@esbuild/sunos-x64": "0.25.5", + "@esbuild/win32-arm64": "0.25.5", + "@esbuild/win32-ia32": "0.25.5", + "@esbuild/win32-x64": "0.25.5" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "peer": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/immutable": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-5.1.2.tgz", + "integrity": "sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-3.0.2.tgz", + "integrity": "sha512-sH2JK3wNY809JOeiiURUR0wehJ9/gd9qFN2Y828jCbxEzKEmEt0pzCXwqiSTfuRsK9vQsOflSdnbdBOGrhtn+g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.2" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/@vue/devtools-api": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.6.tgz", + "integrity": "sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.6" + } + }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-px-to-viewport": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/postcss-px-to-viewport/-/postcss-px-to-viewport-1.1.1.tgz", + "integrity": "sha512-2x9oGnBms+e0cYtBJOZdlwrFg/mLR4P1g2IFu7jYKvnqnH/HLhoKyareW2Q/x4sg0BgklHlP1qeWo2oCyPm8FQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": ">=4.0.1", + "postcss": ">=5.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/qrcode": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", + "license": "MIT", + "peer": true, + "dependencies": { + "dijkstrajs": "^1.0.1", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC", + "peer": true + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.41.1", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.41.1.tgz", + "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.41.1", + "@rollup/rollup-android-arm64": "4.41.1", + "@rollup/rollup-darwin-arm64": "4.41.1", + "@rollup/rollup-darwin-x64": "4.41.1", + "@rollup/rollup-freebsd-arm64": "4.41.1", + "@rollup/rollup-freebsd-x64": "4.41.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", + "@rollup/rollup-linux-arm-musleabihf": "4.41.1", + "@rollup/rollup-linux-arm64-gnu": "4.41.1", + "@rollup/rollup-linux-arm64-musl": "4.41.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-musl": "4.41.1", + "@rollup/rollup-linux-s390x-gnu": "4.41.1", + "@rollup/rollup-linux-x64-gnu": "4.41.1", + "@rollup/rollup-linux-x64-musl": "4.41.1", + "@rollup/rollup-win32-arm64-msvc": "4.41.1", + "@rollup/rollup-win32-ia32-msvc": "4.41.1", + "@rollup/rollup-win32-x64-msvc": "4.41.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/sass": { + "version": "1.89.0", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.89.0.tgz", + "integrity": "sha512-ld+kQU8YTdGNjOLfRWBzewJpU5cwEv/h5yyqlSeJcj6Yh8U4TDA9UA5FPicqDz/xgRPWRSYIQNiFks21TbA9KQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC", + "peer": true + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/vant": { + "version": "4.9.19", + "resolved": "https://registry.npmmirror.com/vant/-/vant-4.9.19.tgz", + "integrity": "sha512-fRt32XI0fO0vB3/YGhZOpTnHKjplUiNuA05yZy8rPZntmbQE5GA57Y7iC7jmMDxSOaLebovynhgCvWnyk9zmDw==", + "license": "MIT", + "dependencies": { + "@vant/popperjs": "^1.3.0", + "@vant/use": "^1.6.0", + "@vue/shared": "^3.5.13" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vite": { + "version": "6.3.5", + "resolved": "https://registry.npmmirror.com/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.5.15", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.15.tgz", + "integrity": "sha512-aD9zK4rB43JAMK/5BmS4LdPiEp8Fdh8P1Ve/XNuMF5YRf78fCyPE6FUbQwcaWQ5oZ1R2CD9NKE0FFOVpMR7gEQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.15", + "@vue/compiler-sfc": "3.5.15", + "@vue/runtime-dom": "3.5.15", + "@vue/server-renderer": "3.5.15", + "@vue/shared": "3.5.15" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-qrcode": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/vue-qrcode/-/vue-qrcode-2.2.2.tgz", + "integrity": "sha512-SbrXq/mSb1g2tbDyXPe9gy9KiMYsvxWKRErlpij1BqiFoHwQckheZV63CTw6yRLLUVG2RXAVlX+APkpdCK7SQQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "funding": { + "url": "https://opencollective.com/rxts" + }, + "peerDependencies": { + "qrcode": "^1.0.0", + "vue": "^2.7.0 || ^3.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.5.1", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.1.tgz", + "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC", + "peer": true + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC", + "peer": true + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "peer": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0eec27c --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "pinganbroker", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@vant/area-data": "^2.0.0", + "axios": "^1.9.0", + "pinia": "^3.0.2", + "vant": "^4.9.19", + "vue": "^3.5.13", + "vue-qrcode": "^2.2.2", + "vue-router": "^4.5.1" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.3", + "postcss-px-to-viewport": "^1.1.1", + "sass": "^1.89.0", + "vite": "^6.3.5" + } +} diff --git a/public/demo/1400x1050_autohomecar__Chtk2GfTDuGADAX7ABWCI8P7tFk064.jpg b/public/demo/1400x1050_autohomecar__Chtk2GfTDuGADAX7ABWCI8P7tFk064.jpg new file mode 100644 index 0000000..a7a46f5 Binary files /dev/null and b/public/demo/1400x1050_autohomecar__Chtk2GfTDuGADAX7ABWCI8P7tFk064.jpg differ diff --git a/public/demo/1400x1050_autohomecar__ChxoHWfQJKuADq9UABghiKl9iYY674.jpg b/public/demo/1400x1050_autohomecar__ChxoHWfQJKuADq9UABghiKl9iYY674.jpg new file mode 100644 index 0000000..c82581a Binary files /dev/null and b/public/demo/1400x1050_autohomecar__ChxoHWfQJKuADq9UABghiKl9iYY674.jpg differ diff --git a/public/demo/mock.json b/public/demo/mock.json new file mode 100644 index 0000000..2a1c151 --- /dev/null +++ b/public/demo/mock.json @@ -0,0 +1,30 @@ +{ + "item_bottom": [{ + "title": "《用户须知》", + "content": "

富文本内容

", + "type": 1 + },{ + "title": "《隐私政策》", + "content": "

富文本内容

", + "type": 1 + }], + "allowance_bottom": [{ + "title": "《车主信息共享授权书》", + "content": "

富文本内容

", + "type": 1 + },{ + "title": "《车主服务个人信息保护声明》", + "content": "

富文本内容

", + "type": 1 + }], + "allowance_invoice": { + "title": "查看示例", + "content": "http://XXXX.jpg", + "type": 2 + }, + "allowance_insuranc": { + "title": "查看示例", + "content": "http://XXXX.jpg", + "type": 2 + } +} diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..8cfdfdb --- /dev/null +++ b/src/App.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/assets/avatar.jpg b/src/assets/avatar.jpg new file mode 100644 index 0000000..75b8ef0 Binary files /dev/null and b/src/assets/avatar.jpg differ diff --git a/src/assets/coupon-gray.png b/src/assets/coupon-gray.png new file mode 100644 index 0000000..e663dd6 Binary files /dev/null and b/src/assets/coupon-gray.png differ diff --git a/src/assets/coupon-red.png b/src/assets/coupon-red.png new file mode 100644 index 0000000..7486c2e Binary files /dev/null and b/src/assets/coupon-red.png differ diff --git a/src/assets/icon-favfile.png b/src/assets/icon-favfile.png new file mode 100644 index 0000000..27ff3df Binary files /dev/null and b/src/assets/icon-favfile.png differ diff --git a/src/assets/icon-file.png b/src/assets/icon-file.png new file mode 100644 index 0000000..0e63bf2 Binary files /dev/null and b/src/assets/icon-file.png differ diff --git a/src/assets/icon-gift.png b/src/assets/icon-gift.png new file mode 100644 index 0000000..c265013 Binary files /dev/null and b/src/assets/icon-gift.png differ diff --git a/src/assets/icon-home.png b/src/assets/icon-home.png new file mode 100644 index 0000000..b5d7345 Binary files /dev/null and b/src/assets/icon-home.png differ diff --git a/src/assets/icon-loc.png b/src/assets/icon-loc.png new file mode 100644 index 0000000..0e7c247 Binary files /dev/null and b/src/assets/icon-loc.png differ diff --git a/src/assets/icon-map.png b/src/assets/icon-map.png new file mode 100644 index 0000000..bd547ca Binary files /dev/null and b/src/assets/icon-map.png differ diff --git a/src/assets/icon-money.png b/src/assets/icon-money.png new file mode 100644 index 0000000..da3fc5c Binary files /dev/null and b/src/assets/icon-money.png differ diff --git a/src/assets/icon-my.png b/src/assets/icon-my.png new file mode 100644 index 0000000..12e8b07 Binary files /dev/null and b/src/assets/icon-my.png differ diff --git a/src/assets/icon-redpack.png b/src/assets/icon-redpack.png new file mode 100644 index 0000000..1bb2c91 Binary files /dev/null and b/src/assets/icon-redpack.png differ diff --git a/src/assets/index-bg.jpg b/src/assets/index-bg.jpg new file mode 100644 index 0000000..f677817 Binary files /dev/null and b/src/assets/index-bg.jpg differ diff --git a/src/assets/index-steps.png b/src/assets/index-steps.png new file mode 100644 index 0000000..528e232 Binary files /dev/null and b/src/assets/index-steps.png differ diff --git a/src/assets/my-bg.jpg b/src/assets/my-bg.jpg new file mode 100644 index 0000000..299a154 Binary files /dev/null and b/src/assets/my-bg.jpg differ diff --git a/src/assets/vue.svg b/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/BrandList.vue b/src/components/BrandList.vue new file mode 100644 index 0000000..8c7cc09 --- /dev/null +++ b/src/components/BrandList.vue @@ -0,0 +1,149 @@ + + + + + + + \ No newline at end of file diff --git a/src/components/CityChooseList.vue b/src/components/CityChooseList.vue new file mode 100644 index 0000000..76eabae --- /dev/null +++ b/src/components/CityChooseList.vue @@ -0,0 +1,135 @@ + + + + + \ No newline at end of file diff --git a/src/components/CouponItem.vue b/src/components/CouponItem.vue new file mode 100644 index 0000000..a021712 --- /dev/null +++ b/src/components/CouponItem.vue @@ -0,0 +1,81 @@ + + + + + \ No newline at end of file diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue new file mode 100644 index 0000000..ada14cf --- /dev/null +++ b/src/components/HelloWorld.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/PageInitLoading.vue b/src/components/PageInitLoading.vue new file mode 100644 index 0000000..7ef51ea --- /dev/null +++ b/src/components/PageInitLoading.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/components/PopCode.vue b/src/components/PopCode.vue new file mode 100644 index 0000000..06cb776 --- /dev/null +++ b/src/components/PopCode.vue @@ -0,0 +1,56 @@ + + + + + \ No newline at end of file diff --git a/src/components/PopContent.vue b/src/components/PopContent.vue new file mode 100644 index 0000000..82b7237 --- /dev/null +++ b/src/components/PopContent.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/src/components/PopGetAllowance.vue b/src/components/PopGetAllowance.vue new file mode 100644 index 0000000..b4fa09c --- /dev/null +++ b/src/components/PopGetAllowance.vue @@ -0,0 +1,213 @@ + + + + + + + \ No newline at end of file diff --git a/src/components/PopStores.vue b/src/components/PopStores.vue new file mode 100644 index 0000000..6593aa1 --- /dev/null +++ b/src/components/PopStores.vue @@ -0,0 +1,203 @@ + + + + + \ No newline at end of file diff --git a/src/components/SideMenu.vue b/src/components/SideMenu.vue new file mode 100644 index 0000000..2a3156e --- /dev/null +++ b/src/components/SideMenu.vue @@ -0,0 +1,43 @@ + + + + + \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..7739c32 --- /dev/null +++ b/src/main.js @@ -0,0 +1,18 @@ +import { createApp } from 'vue' +import { createPinia } from 'pinia' +import router from './router' // 引入路由 +import Vant from 'vant' +import 'vant/lib/index.css' +import App from './App.vue' + +const app = createApp(App) +app.use(createPinia()) // 挂载Pinia +app.use(router) +app.use(Vant) +app.mount('#app') +import './style/pages/h5.scss' + +//https://cloud.tencent.com/developer/article/1992189 + + + diff --git a/src/pages/About.vue b/src/pages/About.vue new file mode 100644 index 0000000..8d83eae --- /dev/null +++ b/src/pages/About.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/pages/Home.vue b/src/pages/Home.vue new file mode 100644 index 0000000..1a01f22 --- /dev/null +++ b/src/pages/Home.vue @@ -0,0 +1,534 @@ + + + + + \ No newline at end of file diff --git a/src/pages/Item.vue b/src/pages/Item.vue new file mode 100644 index 0000000..1084fc1 --- /dev/null +++ b/src/pages/Item.vue @@ -0,0 +1,308 @@ + + + + + \ No newline at end of file diff --git a/src/pages/My.vue b/src/pages/My.vue new file mode 100644 index 0000000..461dcf2 --- /dev/null +++ b/src/pages/My.vue @@ -0,0 +1,70 @@ + + + + + \ No newline at end of file diff --git a/src/pages/MyAllowance.vue b/src/pages/MyAllowance.vue new file mode 100644 index 0000000..829549f --- /dev/null +++ b/src/pages/MyAllowance.vue @@ -0,0 +1,195 @@ + + + + + \ No newline at end of file diff --git a/src/pages/MyAllowanceForm.vue b/src/pages/MyAllowanceForm.vue new file mode 100644 index 0000000..7eed1dc --- /dev/null +++ b/src/pages/MyAllowanceForm.vue @@ -0,0 +1,663 @@ + + + + + \ No newline at end of file diff --git a/src/pages/MyCoupon.vue b/src/pages/MyCoupon.vue new file mode 100644 index 0000000..33a0468 --- /dev/null +++ b/src/pages/MyCoupon.vue @@ -0,0 +1,175 @@ + + + + + \ No newline at end of file diff --git a/src/pages/MyOrder.vue b/src/pages/MyOrder.vue new file mode 100644 index 0000000..2e50f7c --- /dev/null +++ b/src/pages/MyOrder.vue @@ -0,0 +1,136 @@ + + + + + \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..27c5ffa --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,23 @@ +import { createRouter, createWebHistory } from 'vue-router' +import Home from '../pages/Home.vue' +import About from '../pages/About.vue' +import My from '../pages/My.vue' +import Item from '../pages/Item.vue' +import MyCoupon from '../pages/MyCoupon.vue' +import MyOrder from '../pages/MyOrder.vue' +import MyAllowance from '../pages/MyAllowance.vue' +import MyAllowanceForm from '../pages/MyAllowanceForm.vue' + +const routes = [ + { path: '/', name: 'Home', component: Home }, + { path: '/about', name: 'About', component: About }, + { path: '/my', name: 'My', component: My }, + { path: '/item/:id', name: 'Item', component: Item }, + { path: '/my/coupon', name: 'MyCoupon', component: MyCoupon }, + { path: '/my/order', name: 'MyOrder', component: MyOrder }, + { path: '/my/allowance', name: 'MyAllowance', component: MyAllowance }, + { path: '/my/allowance/form', name: 'MyAllowanceForm', component: MyAllowanceForm }, +] + +const router = createRouter({ history: createWebHistory(), routes }) +export default router \ No newline at end of file diff --git a/src/stores/basicsetting.js b/src/stores/basicsetting.js new file mode 100644 index 0000000..50661e3 --- /dev/null +++ b/src/stores/basicsetting.js @@ -0,0 +1,19 @@ +import { defineStore } from 'pinia' + +export const useBasicSettingStore = defineStore('basicSetting', { + state: () => ({ item_bottom: null, allowance_bottom: null, allowance_invoice: null, allowance_insuranc:null}), + actions: { + setItemBottom(data) { + this.item_bottom = data + }, + setAllowanceBottom(data) { + this.allowance_bottom = data + }, + setAllowanceInvoice(data) { + this.allowance_invoice = data + }, + setAllowanceInsuranc(data) { + this.allowance_insuranc = data + } + } +}) \ No newline at end of file diff --git a/src/stores/brand.js b/src/stores/brand.js new file mode 100644 index 0000000..99bbcc0 --- /dev/null +++ b/src/stores/brand.js @@ -0,0 +1,10 @@ +import { defineStore } from 'pinia' + +export const useBrandStore = defineStore('brand', { + state: () => ({ list: [] }), + actions: { + setList(list) { + this.list = list + } + } +}) \ No newline at end of file diff --git a/src/stores/city.js b/src/stores/city.js new file mode 100644 index 0000000..2c95c3b --- /dev/null +++ b/src/stores/city.js @@ -0,0 +1,13 @@ +import { defineStore } from 'pinia' + +export const useCityStore = defineStore('city', { + state: () => ({ listByPinyin: [], listBySort: [] }), + actions: { + setByPinyin(list) { + this.listByPinyin = list + }, + setBySort(list) { + this.listBySort = list + } + } +}) \ No newline at end of file diff --git a/src/stores/user.js b/src/stores/user.js new file mode 100644 index 0000000..de8f13d --- /dev/null +++ b/src/stores/user.js @@ -0,0 +1,20 @@ +import { defineStore } from 'pinia' + +export const useUserStore = defineStore('user', { + state: () => ({ cur_city:{}, user_info: {}, accountId:'',friend_account_id:'' }), + actions: { + setCity(data) { + this.cur_city = data + }, + setUserInfo(data) { + this.user_info = data + }, + setAccountId(data) { + this.accountId = data + }, + setFriendAccountId(data) { + this.friend_account_id = data + }, + + } +}) \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..82999e5 --- /dev/null +++ b/src/style.css @@ -0,0 +1,79 @@ +/* :root { + font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} */ diff --git a/src/style/base/_animate.scss b/src/style/base/_animate.scss new file mode 100644 index 0000000..76450cd --- /dev/null +++ b/src/style/base/_animate.scss @@ -0,0 +1,3625 @@ +@charset "UTF-8"; + +/*! + * animate.css -https://daneden.github.io/animate.css/ + * Version - 3.7.2 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2019 Daniel Eden + */ + +@-webkit-keyframes bounce { + from, + 20%, + 53%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 40%, + 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -4px, 0); + transform: translate3d(0, -4px, 0); + } +} + +@keyframes bounce { + from, + 20%, + 53%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 40%, + 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -4px, 0); + transform: translate3d(0, -4px, 0); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; + -webkit-transform-origin: center bottom; + transform-origin: center bottom; +} + +@-webkit-keyframes flash { + from, + 50%, + to { + opacity: 1; + } + + 25%, + 75% { + opacity: 0; + } +} + +@keyframes flash { + from, + 50%, + to { + opacity: 1; + } + + 25%, + 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulse { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes rubberBand { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(0.95, 1.05, 1); + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, 0.95, 1); + transform: scale3d(1.05, 0.95, 1); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes rubberBand { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(0.95, 1.05, 1); + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, 0.95, 1); + transform: scale3d(1.05, 0.95, 1); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + from, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + from, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg); + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg); + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg); + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg); + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg); + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg); + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg); + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg); + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +.headShake { + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + -webkit-animation-name: headShake; + animation-name: headShake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + to { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + to { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + } + + 30%, + 50%, + 70%, + 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, + 60%, + 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + } + + 30%, + 50%, + 70%, + 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, + 60%, + 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes wobble { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes jello { + from, + 11.1%, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg); + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg); + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg); + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg); + } + + 66.6% { + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +@keyframes jello { + from, + 11.1%, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg); + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg); + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg); + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg); + } + + 66.6% { + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +.jello { + -webkit-animation-name: jello; + animation-name: jello; + -webkit-transform-origin: center; + transform-origin: center; +} + +@-webkit-keyframes heartBeat { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 14% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 28% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 42% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 70% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes heartBeat { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 14% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 28% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 42% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 70% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +.heartBeat { + -webkit-animation-name: heartBeat; + animation-name: heartBeat; + -webkit-animation-duration: 1.3s; + animation-duration: 1.3s; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; +} + +@-webkit-keyframes bounceIn { + from, + 20%, + 40%, + 60%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + from, + 20%, + 40%, + 60%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -webkit-animation-name: bounceIn; + animation-name: bounceIn; +} + +@-webkit-keyframes bounceInDown { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInDown { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInLeft { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + from { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInRight { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + from { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + from { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + from, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + from { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 50%, + 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 50%, + 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} + +.bounceOut { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -webkit-animation-name: bounceOut; + animation-name: bounceOut; +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, + 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, + 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, + 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, + 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +@keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: .2; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: .2; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + from { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) + rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + from { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) + rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) + rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) + rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +@-webkit-keyframes flipInY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; +} + +@-webkit-keyframes lightSpeedIn { + from { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes lightSpeedIn { + from { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + from { + opacity: 1; + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + from { + opacity: 1; + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + from { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateIn { + from { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateInDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes rotateInUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + from { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + from { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, + 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, + 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, + 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, + 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-name: hinge; + animation-name: hinge; +} + +@-webkit-keyframes jackInTheBox { + from { + opacity: 0; + -webkit-transform: scale(0.1) rotate(30deg); + transform: scale(0.1) rotate(30deg); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + } + + 50% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg); + } + + 70% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); + } + + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes jackInTheBox { + from { + opacity: 0; + -webkit-transform: scale(0.1) rotate(30deg); + transform: scale(0.1) rotate(30deg); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + } + + 50% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg); + } + + 70% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); + } + + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } +} + +.jackInTheBox { + -webkit-animation-name: jackInTheBox; + animation-name: jackInTheBox; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes rollIn { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +@keyframes rollOut { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} + +@-webkit-keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + to { + opacity: 0; + } +} + +@keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + to { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); + transform: scale(0.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); + transform: scale(0.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft; +} + +@-webkit-keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); + transform: scale(0.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); + transform: scale(0.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight; +} + +@-webkit-keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp; +} + +@-webkit-keyframes slideInDown { + from { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInDown { + from { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInDown { + -webkit-animation-name: slideInDown; + animation-name: slideInDown; +} + +@-webkit-keyframes slideInLeft { + from { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInLeft { + from { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInLeft { + -webkit-animation-name: slideInLeft; + animation-name: slideInLeft; +} + +@-webkit-keyframes slideInRight { + from { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInRight { + from { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInRight { + -webkit-animation-name: slideInRight; + animation-name: slideInRight; +} + +@-webkit-keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInUp { + -webkit-animation-name: slideInUp; + animation-name: slideInUp; +} + +@-webkit-keyframes slideOutDown { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes slideOutDown { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.slideOutDown { + -webkit-animation-name: slideOutDown; + animation-name: slideOutDown; +} + +@-webkit-keyframes slideOutLeft { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes slideOutLeft { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.slideOutLeft { + -webkit-animation-name: slideOutLeft; + animation-name: slideOutLeft; +} + +@-webkit-keyframes slideOutRight { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes slideOutRight { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.slideOutRight { + -webkit-animation-name: slideOutRight; + animation-name: slideOutRight; +} + +@-webkit-keyframes slideOutUp { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes slideOutUp { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp; +} + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.delay-1s { + -webkit-animation-delay: 1s; + animation-delay: 1s; +} + +.animated.delay-2s { + -webkit-animation-delay: 2s; + animation-delay: 2s; +} + +.animated.delay-3s { + -webkit-animation-delay: 3s; + animation-delay: 3s; +} + +.animated.delay-4s { + -webkit-animation-delay: 4s; + animation-delay: 4s; +} + +.animated.delay-5s { + -webkit-animation-delay: 5s; + animation-delay: 5s; +} + +.animated.fast { + -webkit-animation-duration: 800ms; + animation-duration: 800ms; +} + +.animated.faster { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; +} + +.animated.slow { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +.animated.slower { + -webkit-animation-duration: 3s; + animation-duration: 3s; +} + +@media (print), (prefers-reduced-motion: reduce) { + .animated { + -webkit-animation-duration: 1ms !important; + animation-duration: 1ms !important; + -webkit-transition-duration: 1ms !important; + transition-duration: 1ms !important; + -webkit-animation-iteration-count: 1 !important; + animation-iteration-count: 1 !important; + } +} \ No newline at end of file diff --git a/src/style/base/_reset.scss b/src/style/base/_reset.scss new file mode 100644 index 0000000..3c34e27 --- /dev/null +++ b/src/style/base/_reset.scss @@ -0,0 +1,349 @@ +/*! 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 { + 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 */ + 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 { + 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"] { + 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; + } \ No newline at end of file diff --git a/src/style/base/_variable.scss b/src/style/base/_variable.scss new file mode 100644 index 0000000..e71ae65 --- /dev/null +++ b/src/style/base/_variable.scss @@ -0,0 +1,3 @@ +$defaultFont: 16px; +// $defaultColor: #a90000; +$defaultColor: #4ca6ff; \ No newline at end of file diff --git a/src/style/common/mobile.scss b/src/style/common/mobile.scss new file mode 100644 index 0000000..525470e --- /dev/null +++ b/src/style/common/mobile.scss @@ -0,0 +1,14 @@ +@use '../base/_variable'; +@use '../base/_reset'; +@use '../base/_animate'; +@use 'mobile/_border'; +@use 'mobile/_box'; +@use 'mobile/_btn'; +@use 'mobile/_color'; +@use 'mobile/_layout'; +@use 'mobile/_text'; +@use 'mobile/_font'; +@use 'mobile/_iconfont'; +@use 'mobile/_img'; +@use 'mobile/mDialog'; +@use 'mobile/_toast'; \ No newline at end of file diff --git a/src/style/common/mobile/_border.scss b/src/style/common/mobile/_border.scss new file mode 100644 index 0000000..519fccb --- /dev/null +++ b/src/style/common/mobile/_border.scss @@ -0,0 +1,38 @@ +/*border*/ +@use "sass:list"; +.last-b-none:last-child{border-bottom:none;} +// .bts-20-f2{border-top: 20px solid #f2f2f2;} + +$defaultBorderColorUnit: #{'#'}; + +@mixin border($dir,$color,$size,$type:solid) { + @if $dir == d { + .b#{$dir}s-#{$size}-#{$color}{border:$defaultBorderColorUnit+#{$color} #{$size}px #{$type};} + } + @else if $dir == l{ + .b#{$dir}s-#{$size}-#{$color}{border-left:$defaultBorderColorUnit+#{$color} #{$size}px #{$type};} + } + @else if $dir == t{ + .b#{$dir}s-#{$size}-#{$color}{border-top:$defaultBorderColorUnit+#{$color} #{$size}px #{$type};} + } + @else if $dir == r{ + .b#{$dir}s-#{$size}-#{$color}{border-right:$defaultBorderColorUnit+#{$color} #{$size}px #{$type};} + } + @else if $dir == b{ + .b#{$dir}s-#{$size}-#{$color}{border-bottom:$defaultBorderColorUnit+#{$color} #{$size}px #{$type};} + } + +} + +/* + 增加需要的数值 + (dir color size type) +*/ +$defaultBorderArray:(d eb6100 1 solid)(d 00a58f 1 solid)(d ddd 1 solid)(d fff 1 solid)(t ddd 1 solid)(l ddd 1 solid)(r ddd 1 solid)(b ddd 1 solid) + (d eee 1 solid)(t eee 1 solid)(l eee 1 solid)(r eee 1 solid)(b eee 1 solid) + (d ff9393 2 solid)(t f6f6f6 20 solid) + (t f9f9f9 20 solid)(b fff 1 solid)(b f8f4df 1 solid)(t f2f2f2 20 solid)(d ffe3af 1 solid)(t f6b37f 1 solid)(d f6b07d 1 solid); + +@each $i in $defaultBorderArray{ + @include border(list.nth($i, 1),list.nth($i, 2),list.nth($i, 3),list.nth($i, 4)) +} \ No newline at end of file diff --git a/src/style/common/mobile/_box.scss b/src/style/common/mobile/_box.scss new file mode 100644 index 0000000..e838988 --- /dev/null +++ b/src/style/common/mobile/_box.scss @@ -0,0 +1,65 @@ + +/*layout con*/ +@use "sass:list"; +.inner5{padding:5px;} +.inner10{padding:10px;} +.inner20{padding:20px;} +.inner30{padding:30px;} +.inner40{padding:40px;} +.inner50{padding:50px;} +.ulib-r0{-webkit-border-radius:0 !important;border-radius:0 !important;} +.ulib-r5{-webkit-border-radius:5px;border-radius:5px;} +.ulib-r10{-webkit-border-radius:10px;border-radius:10px;} +.ulib-r20{-webkit-border-radius:20px;border-radius:20px;} +.ulib-rt20{ + border-top-left-radius: 20px; + border-top-right-radius: 20px; +} +.ulib-r750{-webkit-border-radius:750px;border-radius:750px;} + +@mixin box($type,$size) { + @if $type == m{ + .#{$type}l#{$size}{ + margin-left: #{$size * 1px}; + } + .#{$type}t#{$size}{ + margin-top: #{$size * 1px}; + } + .#{$type}r#{$size}{ + margin-right: #{$size * 1px}; + } + .#{$type}b#{$size}{ + margin-bottom: #{$size * 1px}; + } + } + @else if $type == p{ + .#{$type}l#{$size}{ + padding-left: #{$size * 1px}; + } + .#{$type}t#{$size}{ + padding-top: #{$size * 1px}; + } + .#{$type}r#{$size}{ + padding-right: #{$size * 1px}; + } + .#{$type}b#{$size}{ + padding-bottom: #{$size * 1px}; + } + } +} + +@for $i from 0 through 14{ + @include box(m,5 * $i); + @include box(p,5 * $i); +} + +/* + 增加需要的数值 + (type size) +*/ +$defaultBoxArray: (p 80)(p 90)(p 110)(p 120)(p 130)(p 140)(p 160)(p 170)(p 180)(p 190)(p 200)(p 220)(m 130)(m 70)(m 75)(m 80)(m 90)(m 95)(m 100)(m 110)(m 140)(m 160)(m 170)(m 180)(m 200)(m 210)(m 230)(m 260)(m 280)(m 310)(m 180)(m 430); + + +@each $i in $defaultBoxArray{ + @include box(list.nth($i, 1),list.nth($i, 2)); +} \ No newline at end of file diff --git a/src/style/common/mobile/_btn.scss b/src/style/common/mobile/_btn.scss new file mode 100644 index 0000000..bf953b9 --- /dev/null +++ b/src/style/common/mobile/_btn.scss @@ -0,0 +1,3 @@ +.btn{display:inline-block;font-size:15px;text-align:center;border:none;vertical-align:middle;cursor:pointer;-moz-transition:all .15s ease 0s;-webkit-transition:all .15s ease 0s;-o-transition:all .15s ease 0s;transition:all .15s ease 0s;} +.btn:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);} +.btn[disabled]{background-color:#aaa;color:#777;} \ No newline at end of file diff --git a/src/style/common/mobile/_color.scss b/src/style/common/mobile/_color.scss new file mode 100644 index 0000000..8a51591 --- /dev/null +++ b/src/style/common/mobile/_color.scss @@ -0,0 +1,16 @@ +/*bg*/ +.bg-fff-op30{background-color: rgba($color: #fff, $alpha: .3);} +.bg-000-op60{background-color: rgba($color: #000, $alpha: .6);} +.bg-000-op50{background-color: rgba($color: #000, $alpha: .5);} +.bg-fa{background-color:#fafafa;} +.bg-f5{background-color:#f5f5f5;} +.bg-f7{background-color:#f7f7f7;} +.bg-f2{background-color:#f2f2f2;} + +$defaultColorSingle: #{'#'}; +$defaultColorArray: '184ebb','bd6d6d','9b7049','d5120b','fffbef','eb6100','00a58f','742918','f9381b','1f4764','4c4c4c','0b9ddb','aa6e27','f9efea','fcf5ef','d29a48','ee5a31','ffeacb','e75a3e','fce899','ffecca','fee9c5','fdd38e','da4b29','fbdcb4','ef979b','e8666d','ea747a','f6c0c3','e97076','041f63','fc692d','000','333','666','888','999','aaa','bbb','ccc','ddd','fff','13dbe6', 'ffa800', '12dce6', '00fcff','099d9f', 'ffae00','196669','ff8a00','09a0a2','15c1bc','ffe3af','d0171e','f6422f','f59c00','cfd0d5','e02925','d58445','f84330','f6462d','ff1f1f','ffd7b3','ffecd0','8c0115','f23d2d','e8845b'; + +@each $i in $defaultColorArray{ + .color-#{$i}{color:$defaultColorSingle+#{$i};} + .bg-#{$i}{background-color: $defaultColorSingle+#{$i};} +} \ No newline at end of file diff --git a/src/style/common/mobile/_font.scss b/src/style/common/mobile/_font.scss new file mode 100644 index 0000000..a19ed27 --- /dev/null +++ b/src/style/common/mobile/_font.scss @@ -0,0 +1,22 @@ +@mixin font($num) { + .font-#{$num} + { + font-size:#{$num}px; + } +} + +@for $i from 8 through 50 +{ + @include font($i*2) +} + +/* + 增加需要的数值 + (width height) +*/ +$defaultFontSizeArray: 70,80,100; + + +@each $i in $defaultFontSizeArray{ + @include font($i) +} \ No newline at end of file diff --git a/src/style/common/mobile/_iconfont.scss b/src/style/common/mobile/_iconfont.scss new file mode 100644 index 0000000..c138766 --- /dev/null +++ b/src/style/common/mobile/_iconfont.scss @@ -0,0 +1,360 @@ +@font-face {font-family: "iconfont"; + src: url('//at.alicdn.com/t/font_1778318_2gtaykvzfj5.eot?t=1608883547461'); /* IE9 */ + src: url('//at.alicdn.com/t/font_1778318_2gtaykvzfj5.eot?t=1608883547461#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAC50AAsAAAAAU8QAAC4jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCOFgqBhWTqLwE2AiQDglwLgTAABCAFhG0HhnYblURlhpjHAcBLF1tE1agZRcnkBLL//5jcGKLgArW1dyobKhpMBJpQbBgLHJqS4IXCja04MZ2ZzMe0TMNvDCYC5cXvcxWHSOlW+oqqzKU4s8PvZQ6ZOMykZSpR32b/FYvMuockRZOH5+d6Oy/JzE8BkdQCslBIQoG8bRf8qh0K2cG9D5BHmHnACRYAw/Nz+z/33rHoO2Bso7ZRA1HGBga5JMbIBZL9lIHCQFAmCgwTTMonRsETsF6AAeZ7ioiRCNZrDJT3v/ba/Hzg/zXVcgRJ7RUNReOA/vP0vupDbG8WaYGVESsjcGpz9PP2Fuo0X0H80knsAPBWnrysHYcO6izlVVop0HLgGaZOhIEHZC/2aq9WnPiBAoZDCBw8giR37eC8kEccxLw5X6U46d+TDP8XEE8DYEHbtBwYcMsj+ypfBaFywi1/KABtc+LDbYc2165lrTpmdgkm9s/4GVfwGb9ckFEjgOBlr9NtmUuY6c6oWjn2+yQvqC6FBIsiHqv3isdYNE5L/t6p1QptirrL3SZtqC4VjWaL7rruP1Dgg2QLgX1CeAPC3jFiA7BJyJuCLoRYpTg9SBtgIzjMmIvYvtj5rgpVyF0s4/TXX3t1u+pE1nQvCCBf03TofgU1GHN12Bpu9JEQkIx89+8xyqaBiyh4YXx1Od+TUF9nA6WZp4UrlQrubQnpIO3ZpuQOFZr1pDyoSp4t6tKjKsrsXjaKR+jfp78NTyWZSs59z9Lds3aaGv6dv6s1Y2O+RTbsDTB/jhwDUZD9Lz1K/0mPB8rV3/6G0i+YaaqKIpJCPY00Zc2OmD+p2Vbb4ahTzrvlMU/5Mf7v3qJkW7n9e6/L3eqzvvn70kf/AQJRaqApBltsC6WA7RW2OVw6N/to9YVTF87XvSiZaba55lvsbS+10t3S09svvvpm6e3Zd6u//y/zPqaJUn29dNLFNO0M0MYyrbTU2lANzdBPboEeulqlp+lGGW2JccabYKJJOptsiub6mGqxQsVcI/Q10kzLDTJLUx3Mtsh8w83RQGNLLZRpa7U68/TXTXf19DZM0lFVe400s8JKgw3RwhhjDSRV4XRDKNo6J6sJEKAJAaEkENQnMOhF4NGJIKALQcI0gox2BAUDCDraEAwsI6z3tSLQkmCWLIUdhhJsNCQ4mEHYox/hgJxwxALCCT0I531dCawieOhJ8DGdcMEowhWjCTcsIdwxjvDAeEKACYQnJhJemETMQWfCG5OJuZhCzENzwqenihACUwlfLCZEKAgxKoQ/5hIBPboIBPoSQRhJBGMmEYLlRCgGERLMIqRoSoShA6HpEUMLLCJ0mE/oe+odWcAcIhsNiBw0JpZiKVGKhYQBGVGBtkQ1VhMrUEc0YB7Rgv5EK7oR29Gd+A31iG/ozf25GMb9hSk5sQipI0KGVEVokdojipEaIY4AzXiwCit40JBWIo4hDUZcBIbwd01qQaMWaQxiJQbGem5s4IyBYA2e+FjqR6sqHd53t7KbLi6UchVVmdyrRaOKghaJr2GUVHWTXH1xUFVvu54piqJsP7NUE/rVqMjktXk/ef2MdCtoVDQq1NGariH2C68oS04ylap/OO/PnsGLvl/IkMhp8roFvL+6c8UgnrBQdRqBtD25pmJeOCpDqeX/EKbxI++TPqDOVqsE4j9glt1qJk/a5GmlioJZ7Fys9/e3jEhKqNzPnGsOwE7XnYMbMidjK1NW5bmxGEEk9sLs3M3BXCukeJD8GQ7l8BcazDGXYdsyQlCOvtAjJfNcZCwkGmmGXVZBTvSmzfEql+wHWHrIK8t87fAUKrBE2uFdvtMqHm+xGfNkHC7p7EbZWDLe7MMLhtzOq9Xgh4vZpcbJqvP74BsnO6UFKd5C95SuGm5j0E+StiqIELqShdu3HpH10okdDDvyQl097h0Z/uQ/9Llw6KOv8mFCdONru2O0dcRKIW1nfqguaYLsfrkwXdXnjCz6U4cWuCGKUHvjaWFRxGPVp1H9s3Y5xX0MImNpl3mKYwCFDxgBwoA7ZQQxKPlE2cyYVFtYgoOE6bE7hB5fwY0XCmP3XEM4G5zl497AXqf5VzP73LsUTh2LG71s8rA4BMUOwkkLCRVmgWZX24lksZP1Gr30eluEZoScMDD8A46KWCisfF5UNGiYiQDDgVs4HBhQ4NJJxPotWl8Q5XHorhwjOwA4cQyDAYMtR/BxkIwg2C8ckPlkwLDdQQUiLg5sZYH985CQbIl3PZXpOsUxU23yqsKEhmOvG05e/T36ge4vi//7en8DGQklZdpkEwAYOs8wThmnhU8zEIaDH9iR1qOBa/Eb5owZ6Mvy8yLtOpoGSaaz4ops9ARqlQ8AIvfoKEdhMSONrfps9nWCQpz1ZQOY72OHa+WzW3SzXiVnpIhzjbc34OPCWGKo8gbDQE6wczgHiFWLGe9AoY3jl+2m4KFeHtc6X/4uqM59FTBEOJZhGnqKq8fLm3sTON96KV6nvuL8Oc4BXa+b0BV1vFYCcPeR1zztrau0Nwx3NR1aPt6y1f0qOI2DdJfxx0p7rbMGkPkBclj+woJBmeoxvFaNOP/umTPCDZY29/SwddsLSesFTwUnpImClR5jUeI0EJljtcZcNVn5kDda+XHqjMNcRkAAnt+/HotiVytkmtayXE8vN06T/U//p60MkUSkRdmX5bn2d7ZvzAujUejP8SzMLJc9uo5llRSTPbJqZwYmXTi4SjdxNVEZWlEY+iKSTHEUumy0p+N71FdOr+mkfQ5oIjUW910Yi4i7rDGYviIhgpi4rmCZOCzSmsLr14iKWHkxtRNHuiYDH7R8WdQKEJ/rFBqHFXCWETkeR6w0A20xlSBNmZxV4wiPLM93YsjIJs1pj3GDLs2qWiJMN4UUuPU8lRszrF9uDiUpq1sZwssjyxhXFo5TueHo27MwfQF+cURWbQeHllJVw6TQj0LpxhSrLzmYYvo2452R00qROmzlCAaeVQUwMeMwMpuH/xUB3wdATeU/ayocRhifSIZ7NLlqWi8nOtz+hvF8eHmDW1ll+BbNZaQVmiyf02Zkk2ze2IGBf0cmbj74qcAe/OC9wOijPnngY/7AyOdA6pcwLE0+loqxWAR1j6MCW4Xwc5ItQjyjJl+kiN+Url6pH4dAQ6jYsXtm12rr+KQquaoMUWaQo8MhgSqZKGAoM0jMUKgHUrA8yGAnfy6eM4XkstW42g8YfRcNUxCNixAQ7A4RChsk7ntUq5c4pqwyg+YMqmLYBDN2sngHSmAxGGEpBfXNflllLLe0O8h8jgZCV2uIlQ+TtKBoQDoRqHoyMoUhjFUL39fdaCNcMLKoLxTMh+605R0ZApnBD9rH/HnAsbJ+/RY0eJf0uBEG3ZxbbQPTUhNzOIE8eyMROUAiWGyBzMwKKNPQCROjVnLCyAv3axqka20bRnWayz/MIb5XQojqUV4ECzGAEehlcSYCEI4tpZ7VvisxwUuQ/MFEVC7+hRPCITNf17IVXFjSTuMQFRL5eypyNLRtOiIH/jd7IJNezQmVYcWyr+ss9ZzlUzjrJ75veBF//kG8vzcbw0tb9vLO6NcQGPPf3C4XcsBvKy8M7vqXdV3W3u2WYqiNWvWm65JMlnFtTuzPaTzFDWeX2NaEUCxrfgQeVv7xUwzjZnB558dx28PxTj+hikxiLLaMWkqTVMNusSnvp0JhLz2ZBR7VTbhlvLAbIiYT4cxO8SPLTzBsKmm4UQSIGFe5gQk9prGkK6aLeF11YB5xFbgZxxVDDCo8KDqBSQO4cXZq9eLW7F3b/GNYrRSQ/pmKZ4j9fEHfgIQoEGYmKU/KAeftjOsIYgAheW2rl8pz7Y8hll+7/LhwcY/3qE+Uchfh8lSeG74SSUZ/cq7EOZwdNAdmoGgbnZtuL06dURB2YdvUCY+3jG64RXj46qsZwvMCEyIxGW7tS3mjutxZeyVhzcaKQESCcOJwJgHsrI3JmBR7nAEsm8sUSEwDbHZ8Pcz6aQ9G+JDMD/MHv4oVDx9q1ow5e+CV/NVx0545sJG4kLJYTdY34/K1087il+Uw+5xei/smXYPatQppyrDtxiZblS43nvOsbVuyQqVIp0qu2H+aCxNuirXBX9gXyKEfrz4VO0yDKMlUFcs+cgCWkLNRi5nx32syWeGCSJJjp6pTieYdIiXrylQdsZxUcYmrL+LywJVG1fgBZ9VcjMcybdurHsNAzSDIhU5siAI4AsZgGUvfwDAHswM8xLUwCG7hoWcfgucViI07iLsSwQBEAoB+M16/cg06QFby/ccLBuw9jSgNS6HlJ0AtKJTNFKurgE2S1uyDn2kqKjloOh5hNB4JPBaNlXjsUtI0OvZynnDc69MWbbXFXJauW5jIoSfledlMyph99pMiCphJ+6Kr2ZeQfjNkhxZTrw3S8j0aXDGUECrCm4AgflOFQzK5NXycyABhjvPmfipY9lZ70+CSzI4v2NfJnwFcxb/kqfSpdIfG0kuY/Ux/PUz1aVUQE3lUZ2wx5t8B1cLdYBoNcGkk9zUrCOGEPJ6DCJH1psfm6FL246rctBo1PJOEthuiKgO+ZUubnlRi+hlAqJb5pBqm+cqPDXnxgkyIjapMrVRHuqk0UGbx1hO6jgmaEylWCJLOvBvP/LiKrDVajJPufS1Fc6o7GY+yxnn2Ns2/uMPSiIdFnYqd8lgMQx+1N0bXXFwbmtfan95HzWX6Pov1kr7HOku756WmfJt1TEWHahCtYWPoXEJxhKlytc26gpFxdA4n/b4NIseQCANogCiPeed5sjJ0m0jK7OFuiqf2NntDnZRPbu8LQt92Tj+RKAbI+VKxr50w0hjPb7rwOUS84zoaqkYP2skTUsSZxg52uyL7WIi8UE6VuoeSyTxm48PiQ59TyPzvUdTqw9TO9F7heHzToa1OYccDo9wP6YoUKhXXNafkjqLMkuA5USTfeueaJPTU7V02EnOtWg0akSCbLUJSlF6p96gkRS0LOM9/ZESB8mJp/G0z/7ML864jYhUDBDE4CCpv8tzhd364fV2o3XxEnkiT5RY72XgFxpDSJa8WPe3kX0KguDaHG48Il+zEvFj8/nIaJXiGMsIZ55T+rCsQwdsNAAk3TKUFVi2gm+sZqD20yz4G2+E2sjMyH49T5NkKakuhIvjCxjequsJm0Ij3OnF1ys7yCeU0HolzY1o+GCeako0FS4Y0rr4wRahyKCOywjjTLuJUtlLDsSxW5qIPDMz7BklqkvXhUV4KJ/vnDMzaP9sDe3KchDFaFr2PeSoAWVsV3Ea4SzAo0qwg2nm3RA+Yg+zSj0NbVX9Cp5y/3D+oDBBlUtWg9NKrOIvN5leTD74rGBRBIDCvJJ61tuhnHPYaeROxCfGXBx66wRPoZ6vUoeuFjDCI8ipIFhLfZ4fXEGdcLakShf82emICWdvDZPOob2YXjAuy/N/TEiVsu2hqVtCyGyDz6xA3XNIAJSuizr5L/hSC6X0obsSH3hfiobc+fEf6wBX+WdMpd0NxGv2OpNvb0U1IXeEnvFIIt/b+uNmD8T8w+jlEg++n8s0zIsvAm31j161/hoHLwnIav3LgIhxyQIsJLfGQdH7WcxTGvm/2fSyOcLQEfAeLAqDgwJUwB26Eg6ZQx+IAacB82BoUio+6WuGXiHhfrNjvPeKd14FqO3+o4Isu+DY9RkN1oCj8S4Q0T14KA0gLqCiHDNzyufaINvi8wpfJERbK7GiOi6HIy3rmkQdlvQQDlh89GSKtsY3yd7EEsLlCqj5Y1Qx1uB5w5lyNqapDCmUzE/uIMAgjWtXBgPMw6uEyqCtF7VE4no3Xzg+4VB5LZImRZBaNcmpIjfXh+8xODIWpqFANKhRVc1DG+BYhEs+8g622GpnAPapf6rjikO7aBZwI6tg7K1lHKQHy1ZfHECULGIQ6wa3bZHASUnJLEe6S5TO60jMK0Z1mMopduT9UjPvSMShEcB2TJG2rmnGKg2QBVTIZDBeLw53dhK2uR7Uewf9XjDitbAlHIbALpcpCl5VU8MlGA6X/VdpBTOTImovBkNPwotFPCrh11kdzZZITP1YL+XNJuYXUNk1bDxkM9iWL87GtfdvqUzpJFoYyZHtjUc+LMzeqoZkho3hjVBdEX9WHNq4ZLmaoQzggHuWA4nbsyYZ7NDnWiQ5VcyXK2tZbsYKIOR0ylJO8FhBmLb/uIMLYUDUXf/ZTsVs4olcVslVg2aoRh5w7OEJbEbzkMfsNiusi7JfXcseqg49UtPeBq01Ggc6eM1jKY+fDAcjYmyyFu3I8CWHz936ElNWxmRljOvJTL5Qod44pnX3uRH3iCZe9513ZAwcz55BId+9qF/uY/MGykoxFED3Dr9zVmVjLCnpX31onyM3v2V7yzMuN3nYvyDuy/vZqr5o2C3bTWmslvoW+hLitb97mx3szhO3G995xMlmxTB4nKRcMp2HTdxlSd4MMSkyEtFCWmDhQlGhb6SsNEUqKfBZ2nbTfBqQKKYjAteV0G/Jx+DyDIQ+Pyz93k6cA0rULtskUIBC+5Wmdxw/5OPIhdM8V/ArXkJcRBqBAtIW1CQwNrTXcTf2c+w5mwyPHyqTSRo516mnSfk1y0KJIKCsLAh0ZCGOgArlZGJUzATMGQZicpjU5EFPuTehvvb+6n1D/mAIaPQ3Kj2sJH+WbZ/dnxKvibT7nornTHi9z0JzPNtCxnGypaMJB/E+irJHZaDSacajdTjpAXnUiY2PIoDsCQDIEuhMIfuXO+/YqVq3EYhVz5gAx17TLEBVDeEmwiTbYkWyy2KoYKjJ4lBLmeCj046FFKh87EKGQHx/Qk1+S9QO7hsPIV3y2UF0cXagzbXfBlnF+xpPvxAfgN0SMBFvF6eKsglNOu80xBuFwOiw2CKG3ttjZnrVdZTNmy7Y7LdmFuCAJVH8nf1qCVVxXnFUCbbGQmoC12o4xYWUoBKm1lhPYuLA4q0uTa7w6YG5la9hbiBieruxEUzr50Z0wUjbmFI2zK431Co1DO+vpWDjETfzglKbUX34JjYNCARcxPcRwuZiHiRrCHAvmtc/OrorybrB/wMwxv25jtW3Y+N9/8Wm+mdlg9isq34FPffaKOnMD83NyWioKvAuD4doDB2oHDQdC22DvwoKLMSF/aTyMkiL1UMmKw3l8mft+FvP5m4dKJDbGleecv8GZdXWZouEA9GTUmVg9CLy56cDBNk4b+s0sM6Ot3MAWorg7pFtM3ALMrDaGqQfXhtxycu16bxUba42pfxYEryL3ZyrrLw5XeSfj4wELeYMVi3RU/4r5ebx+xlqXr1S99mm8FGgSIMlX/nJ64Y/w3HpaM9ed20xzA+YZ9xkz6BGd7Czm61eM6LMByLE60qz8ADIxgYA+MAA5x3nuHGvrrVvNLJRVdeRITe0Egol6wRmADkVeTy4pyYlFukkkkF4PSbG2NaGLSKSLpBe93GyxkFSvl0CS66cqSnnbMGLeNF1ocXVFjiIq8ibcgtBETiIaYpkjurlahP3Tq30UVBcnMa2AVh/pE5UyRE4TO7lQS5XxFdBV+PRDkKqfANX00yuXDdJh+tH/8X7gAuleV5J3gz/QLD5PpinN1JXQoQOInr7ywOGVCAtsFwWqYhets99UXLyJsy4gtkqN5DU1lt66f+PhuznvaaI+TP/XLq8eqKBUJ1cAy4Ebrb7OOlXsDVVcYaloIpVVcTfulCToDllJZ0mvwjFa6dgZJmtntcuVnUpH9dpc01GbVw5MX7PrImMGjvX1d+2rBdQsmQsM+HVvgzA3X7OwfL60uTWzJev5LyFMtGrlkfLEfOzqHCyvH/1yNotZnHtwTZhvJgb3o6Ik7CDfFKFcy4j4bnAHZx3OB0c4W+/yeNdpQps228grY3bOPlc4ezLrQjdCsYTV9Vl2xsTpgoicmawHULBQ//v3Ankk+dnxm8DeG1F97xt7Nz7O+4UwG4EhPjmICOHDPJiOwnwYZAyJuDxkxT5MJtze/gAE3CL1PxrPYebaZj97TaZUWLmiaNU1BwZSNpRi7IKUkf6pxnbTjrwaI7ao71EXLZfW1f8oCXsXd/BYz8l2k4xd3f+LL0908GQ1R7Ia/CvXCaJ5F/pTjgYdFYJttEC3sfmi/Z13E4nHsjzx7s5p3/8HbyQmJW9syW6nTatWOSVm5GswWM+iA93NRkf3F4tmWZRToyWnOOF6Cmt20dPN0dh8oLvIE1gGFu7thUGvDsA+TM8thBvNcH6icYdCmEwWzl/6VvJbp7fkAcrbpxUUupMPsElzmd+ggtvPjm4hedWRD52E64FMVNEFnn6oNlFeU/BFYvcQAyIXY+KU9eimaKiwENL6+MKS+MXDReRjKCre9yNU0LyhGM6B15nhEiCXLS0rcW7oszKKsbU9B2qxaAHc1ATmmeTyZg6f3SZ3+9vYIk67WxTydo6I3aZAiDY2n9MMAvjdJ7BNOBusogxTpsDa4Jqwx6k/DE5hkGcq7DBMBSaDyqfKaXwaxk7x9AkFNJJSReOYcRFV+uRhO86nnOfNjeNZeF8k84mWOF4yq/Neo4RSUiBlooYw51g+ZEhI4vniBYE98H1H9PUJiq4dLnapYHG4dkfi42b7GkxisFaT4JUk0C7zNXiNw7ZY4V4D1BwdmZenqhY0wZgfFVUY+n5UnmC22H0CX2faobmLYn9YnAPgUUG7R7sNNS1FA4W7Prnzoh1MWmExk2DKUxRgsmjbwgamgBWYAKsAA8C34GaABYwbNi1sMROc0Hx+PuqEH8IvDDLc6QnmS//Sh2i0IZ6RN/RudvZdMoBOHZpB89ETeoiGCPy57INCpdKmqkJwQHVAsHyDjVIpFGw2Da+JTIhcM1Jtba6+hguRHH7LwRY+R54u1y1nV3riNkj6rQVxhfPjTgiC/YKBpJuKUocDztT9aI27Uyd7lMKgmI/2mSmzj90YSGBaJaGijAKtdu9+Uielog4oVQrJ95wpEzddvKFumIom12G2y1FpxQoXWcacc+7xTg/4VO+0X7eeOBjJKCnykyR1LR67FeQtTrCTevFsrdksKotR5aYMSfMTzvGJT/UOFojAl8nSMKUVJixMIikXG1ul0r/a6DaO7L59e7doxBF+6jgIyKK48bwU8whYha82dvfiufExtsLnQjcMX/sg6V81+7FhYWVlFT3Wxatb0e3l4vJ59pbi1vAHLh7PEwyfD393YbonqMcm34ZeZNODNmLzwbtfH7zqceoZ41qlbHDsPjHg2KAEQhPE4PbDLrheRi/OheFBY5h6GD21eV6Ej17A6+NHLY12XBKQBjli3SN7EDFy2tDSDWyuufJtVT22OBYcJwn28SR8XJ747ugr/uTRd8cbnESd2kJtI3vgrzd++ZO0B7RQ7rWf/sxU9RKCto+jau2HKQa32AgDvtX2eYBtxutSUnRoqNJH6Xq1+/7r0GtZyYZBxiD+IyD0MHoJYO6uyrc6La2KptPNVM5odc6VUp3+x1wJhFRi6MJKeoJneZVvtVrnKmetwbNCEq3+1Ky9k0tE5YxOR6uk6bRvjZ+6UqLTWQogFfpQ+Bw+xZfC4Igkmz4P8zIzP1MVdF3rKimxyoYBuIjkDObLF4zoMwHIsU0Lb5qpw7eig8R+wNmlKxSv3yhXvH9vOWMHtwwPtwwaDgDFRqHQgMYkSafz95WV3zt3SpIagQaw0R071Yq0zdYnt4DFSNeNG12IoYGGP6DXr89NyaWkJiVElkMSuGbfvhrEkXvBNUAWVZmoriuXLJT8LH2FXQRSlxP1UohN0Q8nURpl6yf3VIhteUOyISAcDmC9Is6zZpj8NO8kekoe6CGxSD0DLMqSXwYwZNUEwrddANiaEY7Fhmf0W08O9F8d1eHJLYQp4hayQVdb+9jjcXbOJPgXc+9VSFFyj+TrDq/pYcABw9OZYuw9rDjzHuWmyUKJPK0ain8SBWWbSw07WSir2lBqzindX5SKtiLvo6Dk/duPaz8JAqP4KqaMa37fexAeQj7fQvampG7XBMxZ2xFtjiSbbH1Haci225fVNZzr4ut+S8RLHJZy4M9vUjwZgOYgTQ9PdSB7kNunkCbEbKH2IGA6GV8t4y6V++pWv62nt7u0000PXR4+AuAqDiIBd3ruTBbVZJXu6apUX19SsGvaKRrMz+RdpEBkHPWXLMtym+Wy+21wFPRYcOMD2d95AVmY4x5p936n4L/yQ7PLkB31/3nsfB9pB8bw3My13t071zTEXPCfk/bzhai5cTlwniw2Y05c2i9nO3NIIxvXjZLcTHNWy8Z6QyQBMd+lvgyVDCzn3O1nbxzmhLNcI/srjYfaRhYt9xq8fTs9vGZtY6xn/esj+1543511cdnjHwb+2nlJBy0phRIgTWmpJkZHPaS5snUkPt7BodaPtLYGw2rSX74E60qXJKgIQxFKQKs/fVtHEhLsHWM1I2bGbfPeaqGlBiXI3RLgy5dBQqlBmzgSn2DvUKBeluDQOi8J/VG08NLSYhbDn4mtDgkJx85TdLCvUCPAf4bgFQ2SkjZHuUd5JG0CyWqvcbGjmPoLLTr9U081SE7epPJQuSdvBknRnjnML0r7xFL1IzWU29CQC+VALsJnYJbIgXKR2kY/ArhDmZPY77CT88gxTlXOeM9ER9O8wexfpzqHFl4OMzAQvYyJJSgpMOgG8315ef8bu6Hwa/OTm0zpZF2AkpxuMsn9zX5+HvdpXpaYKIsX8KJFq2a83q8YqdYCutGtypvkRvrPB3guCpfBf+jO8c9taX6vX02lOsEXJmda7MD4kCPNz9mP6sqR8CUcYabCoaOqDigjxb+FeNIpJ4VWbywXh+555s+OBFD52rJUDcVq4Dw0742RhFfaNWeW36PPNGyWs7Pk4TTfY+arYAqu4gJ6M4QyOhifblqT1l2DPjLrLO+Zdlbv32QyiczMqccQn9L8aHIwkRG6ORStw8sdQ/b+51AjfviRAjcraEd03q2R6OyXbyJFbmTn+WNOzsycFI0JAXOSjSJgqZNjYKGDtdk3LZf69PwBuD2d7duOjI4iTrc7gHIcQIpnTLImBUyorovCaT6JlL7k1Myb4wUU2ls3iRwKSJGbKmhJ/fNmqANeLlnhOLsvGRg9jtqjVMXmwKkgrsnrVkgIF03d4HEdRbH4lEMcMh+aZ9evKA5XbZAHAOLHPdHRRGKJe/bEOAgen4KFIIIWYYmY2QSEM4DUFvgNb+jtvX7qukJ9meWxk9fPL3Z6IeO5dcP2wTNXJ6IeXTs9uL3h4KjsWvRTPLYZVz2yl5eAgF1INv+Xk9urM9u3d8a73eA6ZPzcYWIYYR1kpJt+3n6pUlXrDRZw51My0rS56WlU+mPAhCbof3FHAROM2kWj+fRekA9eQvko+k0u/oYy8hk3bgiPeBx5sSYOA2GEBVzXeSDWH5kB4+7yJQEm+pPvFnp0b4vxTI323NbvEao3LHdIsE9DtkO5Q/Yc6qKuGI4nqKGw7MRIoAJtC4WpCfHA0v/iYu4MG7XmnjqholbsJ1ZRnXCxGomPfTEgkM98ybsZm1J8b0mLc//SVU6Jvfk1GI/A6t5DbdWOgmkvDJt86XbpJU5YT2ZjvATTjtVtf85UHQjq67y8ptxOu0+q1ZN47tNuU6BWMnnv19lGBIoaF92FYvOLY6DQuLwdbxmKPeEkV2bUp2V9BNhmQQJuKYVBZRF3r/GKymaUyK2kvVIr1mopr42ZGMqiT6AbbzIVVzKAeM9KGZsaJo9xWE7kcqsc46D5cJWxY+zi/Gi0pZWGBTTW+eNwKVuQv5QKlvrZiBRys9xWRv/ZRS/hrizSd219U1mrWsViA7fSmQS8D+CfwPkh7Wp4Qzy8tu/YGrge7giRtSAuvOHq0TRu/DmrWzjL0Z8MFta/dm8W2R/543BWxHx4WVtHGVQO7ex4o0Q+qnK4DG7rOENISCVKeJ1vlUNxO4N26PFnmE2VoUD4lGZmrLUOrAmoabAGFb4Bn0mKsgXhZQrS5wA7TYiAzqOiFJzN9hlXkZY0Q7E0BA20ItfYed/RFcQY5VPiZtViNKkKes4FTTuhJd/A8fNgZAQM2w/PInhsC+1sAj+HoN31xKcxSiJdMe+7J/vPclQfz59fRyEj9kT68mKevPk+TRvslG21U6MPSAzQ7LS6bDXBGjW2GOJn2VLc9LktgnJ2aXlXFu6/eZK5WICQKevOn//IUQGZfU1ozZfg0GB5nUOoCAmss5IY+xeq4kJPbVkY9urfvjL77o6/M8DWV/dnNHTevWSf1p6yLgnRoyE4GoOLUl2+SJefc+FS39h7c97QuMOlbzje9m+WUhcD8Cy1i9YG6EJaF/W/D0Ew5W9y9xPAlCpdckVN50wzoRJAwieuMa85iOpR8ABUMFrirFxHNv/qryp2TPCzdSe5zefaJIHu5FHu/JQ0Am5fOH17D24JzqZdOFMvDA0mEd0dk0SZq+/UYOkimnUXocm6O3k3OOfcj/n3X4zTA3FFPzKAAOh+6AcGq+G9e2HQ1UCQVsB7GHJp/xf7t3eoVrp799y55KSVQXw+mUb2Z1nknpL7OLu/PjoEMGnSEGgckoHGDHBwdIATqNo2ZuozjW2rApJQDh1F42wLjqlAbHGhbOtZRh/9+1pG7ff0vzSrFq/HO5ylHbDUPVo+Asq+oVe4hpbBpqZm9ltmtOQmcxvnDfIN5iZhjrnZCwgaskmPWyIwLdHESeJ4wIxRrzD7skVa/bxFxMcLGloek9Rl4sLEu6q1LwsbX1bHiI9JZq+gxrSAe9UnZxVHCjr/+A/Rfo28ekBhrLB4PpQEByn2j/UBwfWL3Bc3NiW5le/nxUKfFviM5ak4f6bJ9hyVSEY9jwgeK5RNDV7b4aNRoXgs6BFcl4SelXaDVMxFKwMPde3qkU7kxme7szpvxLvinSH4HcPCHsRS9Hj22N5okfQIenrfe6TwobiSDya8+CfXpLg3NwMuIjmLfPnajbGz+bNdSpy1+Up6EbQXefAA2ZuoIcyxYE0RVIgDUXsQzKFxZzadeliI+YEifPsoRxFuP4XOdqb0Ca2GUCbuIyG14JHMSPTZLJyRngrmS4ngQwvDTeJkt66le8NS0XEwzqONY/lxukw+9iaVn5gdgu/AMXHthhBDO42o43aa1fYkYG36J2J+vKSIvKEDrfvDBgM5LDFuXWzlr/M9fFgrLOQk6lmnEUoEs3kkpkwf9MdqJl0aaCC+MjnxsEjUoqJwWQ6uDUsk4LD4QVx8eKjv2hjDHymVd7LW/uknCEDVdsAv4a+NXLkcegqpk5vqkWMzMz2SHuhlM8diY+3t63jHZrKxrzI3Zr7CPqV+6W9go1uTe5ObEfjdWsKR5ORI7GX2W4kW2hBaZZEre6dC47OKP9iJsI2XvUSS0DMJaiOX3PeIDEvJDk+o1sirwxLKlcmCyHmLFwR5l2h1JXOqiRbafoIWCP6QQYt1kIRSOLojtHG0ysnQXS+bNWix2PiJ9IeQCwLr8NfQq3jSv+g0SZ5NniThOWQyi0LGpX/Mi/ARaMU2Vq6RrjElcxRekLoiKxFEg2UxVMkeQhSUnQqUTB2R4Bv+e93/X9CjQJYWkjhblFFQOJSndXZd/2dFLNmbNdfuFeslKXw7YQgdJJAeoRMkYOkzEr25b2cufTfZBXHRndLnpAely2Nly9vopGckFuU2s8f2Sfopc+6p5vSHwPfZCYqUPoWdsNkSdwbZYTUhfEHx5QZTXgCFFNMKpArhljQYMuWDnjgu2k85yTdWruOIOe3LViSNVMNt9w4gkYAroXvmiRODzvlOvT/9xLfPo+voV0qa6Zihe9ATgYKnRBPN6lQOHaQp5iSpnz7JnCJ+n7EBXE3wEPLhA2YokSPpBjEfPyBDjtzioZ1yv+Y+udutvXIfcp9KyNcRzCvIk+6jbsIogcXh2CcpVmLcP/9HBHfEp7eshJ4yl+Z4NaAfGoB6tI60tLnf0Q1dzkfwyOUD840Zn6QD66KvAsp+uHjjxiLRMKKDisndV5Hox2BrElRphJPwdV1TD6e7nuBq4aRKY5KUJ5PBkEzO5VYRgi9NdJE/qvBE8PzU5fWj/GbX0znZc9Kcdm3mjwLtZQBSgVsB5MCokhgZvZ6L4n7BJPWnHhtvrYHmlutwpMYB22JnqzWHz5mpzzck+4dD6jRyWFLfsj5hLt3IsLeukNQqzJpdcBqIUMvpvNwUZIljIKiq02iMESDCqEGtSmVRNSVEU7yKyncBorcmSn6wPkgfnP+X45sN8gDA4yCZDFZ+tbyDQKxaeh+4bfOV8BsAassxENLEJ5bBr9vVIT8jJgBqJtN08YhBRKINu4KEmiQ2wJ9qZ51HZKZzMfDUFj/xDOFKdzXrFv+HXEDI2jkPkcCyTiL4OABkILs30f6PFCJEWWUV/AVXBnKe9tyviBOkMfifqlGSdVCvqET8idYXyPW6BMisF39DdiMIHqqqSWkKEP3gk1DvW4Z4o3LJUB22qn1GGhCrOq/5G6mzwZbUXWpEXPlEI/zxokcOKrVj6tss1Stv49KGQF4r9SJz2nZxL8KUdkCf6pLoRfDabRfhf6tOVCLZi296h/hYj/sHUQPAm132C42/qdZWIN1thr6XJuDWsUhsQNIX/8iMhGm/O4tk9GliFHGRZpE7JEtxN9issZl2Mg5ehlwAbyX62lJkH7LFMrXbQUgRaRxBpJZZS9uXKlYhPwP/vfgXxYgKn+lTLDMlbU1pkKTwaV1iGPFQrzqHhBDthf2IM0p9cF20Nn8ihWSND3T5D8vHMi22Hc6gBf0PT/pf84bfSWdTKFTf8hxmGtkSFEoZtyfxZ2Su+FcT+y+3yzp4zf7GAqLHTQ0Q98Mt/Uv+v0DzfdzeydatGaw7JPuXN639+mVttjk5hxIMlLDGs/dRajzY+myfP1Ova+5PUmhlTEa45NLzZKZOp2Su1JMopg1MVjQwMllVmpKsb4A5Z2+gheNyqaiH/m5NkklTnyQzjX2ezDX1K1FM+yNZ0dq/yaqmKU/WtzpZ+2ygd1qRmi4hZOyVeSjqOFp25ybZ8Te6EiBls3TRf0wzbVB6fzze/IoRkw2P+eranK2yiUd1mowMQ2A1JR6wy3uf8/T1cLCyEPuOx0XTJYSMvTKP6LrUcbQPnRvh6/+NrgRImgNur/sf00yvXun90YB4ZaPRAetina+uzUS0Ktg98ahORMTgaawmebsBu7z3JdTp64HclDVl99UXxoeDwg3xIO4FB28ZJkGSFGnqU0NMhiyBHHkKFAFEmFDGhVTaWOeDMIqTNMuLsqqbtuuHcZqXdduP87qf9/ulMrlCGRYe8cOTU0Spo2Ni4+I/rB17rU6fuFjWBVuMd4Lo2rUBlp3H7ox9NfvCI0W3dYWeWOeFjs5xdJsb97jxPKKcPZcH6m0Pjkvdlw8xlYSx6mDEBDsj7uQLxObBZVBYMhfxlnDUyr7QY491BVdw6QDsMKTHIrQ8gVbfHtLtFUPvZL2MA23OaIs1UoUF4PRjrdM4b3t6epIXZrTOEEBvZ2+ORaPUgCSzHM7ZUbURCm4d3Q1JmNxc2zktc+Q7Rd3+bZg6bEXjTOuMQVxqoisicOkpbiwwww2jB76cWhzQtpVSJhGJWt4N5SfqF5ss95p4L85R+sJvbTI5w9VEUxH0pgJhkt3UrevOULWwENtXkGWY+j7cu8s43++ptEnPUtqUdynvUz6kfBzGJzEjpM5XAQbKHJ3o8Vb1pfAukfO5ImcPaLMwbCG6TaYRq+7cWtcOYoYuSPc+Jy9xnwGu+lfQoj9HtDXMZ70yQxMoYo8zuTi6vBbDx+vtuMnyCXFXYEWp3dgsLXoA') format('woff2'), + url('//at.alicdn.com/t/font_1778318_2gtaykvzfj5.woff?t=1608883547461') format('woff'), + url('//at.alicdn.com/t/font_1778318_2gtaykvzfj5.ttf?t=1608883547461') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('//at.alicdn.com/t/font_1778318_2gtaykvzfj5.svg?t=1608883547461#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-fenxiang2:before { + content: "\e738"; +} + +.icon-bao:before { + content: "\e670"; +} + +.icon-checked:before { + content: "\e61c"; +} + +.icon-shuoming:before { + content: "\e632"; +} + +.icon-guize:before { + content: "\e633"; +} + +.icon-chenggong:before { + content: "\e742"; +} + +.icon-wode:before { + content: "\e67a"; +} + +.icon-home:before { + content: "\e601"; +} + +.icon-shouye1:before { + content: "\e6c9"; +} + +.icon-dagou:before { + content: "\e603"; +} + +.icon-dianpuren:before { + content: "\e662"; +} + +.icon-camera-b:before { + content: "\e619"; +} + +.icon-xihuan:before { + content: "\e76a"; +} + +.icon-youjiantou:before { + content: "\e663"; +} + +.icon-_remen:before { + content: "\e600"; +} + +.icon-huiyuan1:before { + content: "\e641"; +} + +.icon-shoucang:before { + content: "\e7a9"; +} + +.icon-shijian:before { + content: "\e62e"; +} + +.icon-jiazai:before { + content: "\eb7b"; +} + +.icon-My:before { + content: "\e615"; +} + +.icon-guanbi3:before { + content: "\e613"; +} + +.icon-xiangji:before { + content: "\e616"; +} + +.icon-kefu:before { + content: "\e610"; +} + +.icon-xiazai:before { + content: "\e675"; +} + +.icon-youhui:before { + content: "\e60c"; +} + +.icon-rms:before { + content: "\e754"; +} + +.icon-dizhi:before { + content: "\e646"; +} + +.icon-dianpu1:before { + content: "\e739"; +} + +.icon-xiala1:before { + content: "\e608"; +} + +.icon-shang:before { + content: "\e62b"; +} + +.icon-fenlei:before { + content: "\e609"; +} + +.icon-tianjia:before { + content: "\e61f"; +} + +.icon-fenxiang:before { + content: "\e691"; +} + +.icon-dingwei:before { + content: "\e695"; +} + +.icon-bianji:before { + content: "\e61e"; +} + +.icon-fenxiang1:before { + content: "\e621"; +} + +.icon-weixin1:before { + content: "\e604"; +} + +.icon-choice2:before { + content: "\e6fe"; +} + +.icon-shouye:before { + content: "\e62f"; +} + +.icon-tel:before { + content: "\e63b"; +} + +.icon-quanbu:before { + content: "\e61b"; +} + +.icon-loudou:before { + content: "\e690"; +} + +.icon-fabu:before { + content: "\e60d"; +} + +.icon-wenhao:before { + content: "\ed36"; +} + +.icon-xiugai:before { + content: "\e63f"; +} + +.icon-huati:before { + content: "\e8b1"; +} + +.icon-huati1:before { + content: "\e8c4"; +} + +.icon-xuanze1:before { + content: "\e617"; +} + +.icon-xiaochengxugengduo_:before { + content: "\e72d"; +} + +.icon-guangbo:before { + content: "\e656"; +} + +.icon-pingjia1:before { + content: "\e63a"; +} + +.icon-shop:before { + content: "\e63c"; +} + +.icon-xihuan1:before { + content: "\e623"; +} + +.icon-shoucang1:before { + content: "\e624"; +} + +.icon-fanhui:before { + content: "\eb7c"; +} + +.icon-gengduo:before { + content: "\eb7d"; +} + +.icon-icon-test:before { + content: "\e626"; +} + +.icon-icon-test1:before { + content: "\e627"; +} + +.icon-icon-test2:before { + content: "\e628"; +} + +.icon-icon-test3:before { + content: "\e629"; +} + +.icon-icon-test4:before { + content: "\e62a"; +} + +.icon-icon-test5:before { + content: "\e62c"; +} + +.icon-icon-test6:before { + content: "\e62d"; +} + +.icon-icon-test7:before { + content: "\e630"; +} + +.icon-search:before { + content: "\e60b"; +} + +.icon-lajitong:before { + content: "\e622"; +} + +.icon-guanbi:before { + content: "\e61a"; +} + +.icon-quo-right:before { + content: "\e63d"; +} + +.icon-quo-left:before { + content: "\e640"; +} + +.icon-bofang:before { + content: "\e653"; +} + +.icon-time:before { + content: "\e661"; +} + +.icon-tianjia1:before { + content: "\e635"; +} + +.icon-gantanhao:before { + content: "\e685"; +} + +.icon-dianpu:before { + content: "\e655"; +} + +.icon-qianbao:before { + content: "\e61d"; +} + +.icon-dingwei1:before { + content: "\e66f"; +} + +.icon-weixin:before { + content: "\e654"; +} + +.icon-book1:before { + content: "\e631"; +} + +.icon-bj:before { + content: "\e625"; +} + +.icon-linedesign:before { + content: "\e66e"; +} + +.icon-guanbi1:before { + content: "\e612"; +} + +.icon-dizhi1:before { + content: "\e63e"; +} + +.icon-xiala:before { + content: "\e87e"; +} + +.icon-zanxiao:before { + content: "\e885"; +} + +.icon-guanbi2:before { + content: "\e620"; +} + +.icon-dian:before { + content: "\e679"; +} diff --git a/src/style/common/mobile/_img.scss b/src/style/common/mobile/_img.scss new file mode 100644 index 0000000..afda1ed --- /dev/null +++ b/src/style/common/mobile/_img.scss @@ -0,0 +1,18 @@ +@use "sass:list"; +@mixin imgsize($width,$height) { + .imgsize-#{$width}X#{$height}{ + width: $width * 1px; + height: $height * 1px; + } +} + +/* + 增加需要的数值 + (width height) +*/ +$defaultImgSizeArray: (200 150)(200 152)(52 52)(750 130)(326 200)(750 750)(400 120)(160 160)(170 170)(175 175)(274 200)(90 90)(200 200)(230 136)(70 70)(190 190)(116 116)(28 28)(750 450)(750 20)(750 820)(610 730)(565 39)(566 56)(628 114)(628 652)(590 340)(180 110)(44 44)(44 65)(495 61)(146 146)(750 540)(650 300)(214 160)(220 170)(280 280)(280 50)(60 60)(80 80)(100 100)(105 105)(315 200)(130 130)(140 140)(170 40)(210 40)(40 40)(55 71)(32 32)(150 135)(160 142)(206 266)(240 220)(686 652); + + +@each $i in $defaultImgSizeArray{ + @include imgsize(list.nth($i, 1),list.nth($i, 2)); +} \ No newline at end of file diff --git a/src/style/common/mobile/_layer.scss b/src/style/common/mobile/_layer.scss new file mode 100644 index 0000000..5817b33 --- /dev/null +++ b/src/style/common/mobile/_layer.scss @@ -0,0 +1,83 @@ +/* + layer mobile +*/ + +.layui-m-layer{position:relative; z-index: 19891014;} +.layui-m-layer *{-webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box;} +.layui-m-layershade, +.layui-m-layermain{position:fixed; left:0; top:0; width:100%; height:100%;} +.layui-m-layershade{background-color:rgba(0,0,0, .7); pointer-events:auto;} +.layui-m-layermain{display:table; font-family: Helvetica, arial, sans-serif; pointer-events: none;} +.layui-m-layermain .layui-m-layersection{display:table-cell; vertical-align:middle; text-align:center;} +.layui-m-layerchild{position:relative; display:inline-block; text-align:left; background-color:#fff; font-size:14px; border-radius: 5px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); pointer-events:auto; -webkit-overflow-scrolling: touch;} +.layui-m-layerchild{-webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration: .2s; animation-duration: .2s;} + + +/* 弹出动画 */ +@-webkit-keyframes layui-m-anim-scale { /* 默认 */ + 0% {opacity: 0; -webkit-transform: scale(.5); transform: scale(.5)} + 100% {opacity: 1; -webkit-transform: scale(1); transform: scale(1)} +} +@keyframes layui-m-anim-scale { /* 默认 */ + 0% {opacity: 0; -webkit-transform: scale(.5); transform: scale(.5)} + 100% {opacity: 1; -webkit-transform: scale(1); transform: scale(1)} +} +.layui-m-anim-scale{animation-name: layui-m-anim-scale; -webkit-animation-name: layui-m-anim-scale;} + +@-webkit-keyframes layui-m-anim-up{ + 0%{opacity: 0; -webkit-transform: translateY(800px); transform: translateY(800px)} + 100%{opacity: 1; -webkit-transform: translateY(0); transform: translateY(0)} +} +@keyframes layui-m-anim-up{ + 0%{opacity: 0; -webkit-transform: translateY(800px); transform: translateY(800px)} + 100%{opacity: 1; -webkit-transform: translateY(0); transform: translateY(0)} +} +.layui-m-anim-up{-webkit-animation-name: layui-m-anim-up;animation-name: layui-m-anim-up} + + +.layui-m-layer0 .layui-m-layerchild{width: 90%; max-width: 640px;} +.layui-m-layer1 .layui-m-layerchild{border:none; border-radius:0;} +.layui-m-layer2 .layui-m-layerchild{width:auto; max-width:260px; min-width:40px; border:none; background: none; box-shadow: none; color:#fff;} +.layui-m-layerchild h3{padding: 0 10px; height: 60px; line-height: 60px; font-size:16px; font-weight: 400; border-radius: 5px 5px 0 0; text-align: center;} +.layui-m-layerchild h3, +.layui-m-layerbtn span{ text-overflow:ellipsis; overflow:hidden; white-space:nowrap;} +.layui-m-layercont{padding: 50px 30px; line-height: 22px; text-align:center;} +.layui-m-layer1 .layui-m-layercont{padding:0; text-align:left;} +.layui-m-layer2 .layui-m-layercont{text-align:center; padding: 0; line-height: 0;} +.layui-m-layer2 .layui-m-layercont i{width:25px; height:25px; margin-left:8px; display:inline-block; background-color:#fff; border-radius:100%;} +.layui-m-layer2 .layui-m-layercont p{margin-top: 20px;} + +/* loading */ +@-webkit-keyframes layui-m-anim-loading{ + 0%,80%,100%{transform:scale(0); -webkit-transform:scale(0)} + 40%{transform:scale(1); -webkit-transform:scale(1)} +} +@keyframes layui-m-anim-loading{ + 0%,80%,100%{transform:scale(0); -webkit-transform:scale(0)} + 40%{transform:scale(1); -webkit-transform:scale(1)} +} +.layui-m-layer2 .layui-m-layercont i{-webkit-animation: layui-m-anim-loading 1.4s infinite ease-in-out; animation: layui-m-anim-loading 1.4s infinite ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both;} + +.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0; -webkit-animation-delay: -.32s; animation-delay: -.32s;} +.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay: -.16s; animation-delay: -.16s;} +.layui-m-layer2 .layui-m-layercont>div{line-height:22px; padding-top:7px; margin-bottom:20px; font-size: 14px;} +.layui-m-layerbtn{display: box; display: -moz-box; display: -webkit-box; width: 100%; position:relative; height: 50px; line-height: 50px; font-size: 0; text-align:center; border-top:1px solid #D0D0D0; background-color: #F2F2F2; border-radius: 0 0 5px 5px;} +.layui-m-layerbtn span{position:relative; display: block; -moz-box-flex: 1; box-flex: 1; -webkit-box-flex: 1; text-align:center; font-size:14px; border-radius: 0 0 5px 5px; cursor:pointer;} +.layui-m-layerbtn span[yes]{color: #40AFFE;} +.layui-m-layerbtn span[no]{border-right: 1px solid #D0D0D0; border-radius: 0 0 0 5px;} +.layui-m-layerbtn span:active{background-color: #F6F6F6;} +.layui-m-layerend{position:absolute; right:7px; top:10px; width:30px; height:30px; border: 0; font-weight:400; background: transparent; cursor: pointer; -webkit-appearance: none; font-size:30px;} +.layui-m-layerend::before, .layui-m-layerend::after{position:absolute; left:5px; top:15px; content:''; width:18px; height:1px; background-color:#999; transform:rotate(45deg); -webkit-transform:rotate(45deg); border-radius: 3px;} +.layui-m-layerend::after{transform:rotate(-45deg); -webkit-transform:rotate(-45deg);} + +/* 底部对话框风格 */ +body .layui-m-layer .layui-m-layer-footer{position: fixed; width: 95%; max-width: 100%; margin: 0 auto; left:0; right: 0; bottom: 10px; background: none;} +.layui-m-layer-footer .layui-m-layercont{padding: 20px; border-radius: 5px 5px 0 0; background-color: rgba(255,255,255,.8);} +.layui-m-layer-footer .layui-m-layerbtn{display: block; height: auto; background: none; border-top: none;} +.layui-m-layer-footer .layui-m-layerbtn span{background-color: rgba(255,255,255,.8);} +.layui-m-layer-footer .layui-m-layerbtn span[no]{color: #FD482C; border-top: 1px solid #c2c2c2; border-radius: 0 0 5px 5px;} +.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top: 10px; border-radius: 5px;} + +/* 通用提示 */ +body .layui-m-layer .layui-m-layer-msg{width: auto; max-width: 90%; margin: 0 auto; bottom: -150px; background-color: rgba(0,0,0,.7); color: #fff;} +.layui-m-layer-msg .layui-m-layercont{padding: 10px 20px;} \ No newline at end of file diff --git a/src/style/common/mobile/_layout.css b/src/style/common/mobile/_layout.css new file mode 100644 index 0000000..d2012ea --- /dev/null +++ b/src/style/common/mobile/_layout.css @@ -0,0 +1 @@ +.clear:before,.clear:after{content:"";display:table}.clear:after{clear:both}.clear{zoom:1}.fl{float:left}.fr{float:right}.fn-clear:before,.fn-clear:after{content:"";display:table}.fn-clear:after{clear:both}.fn-clear{zoom:1}.fn-fl{float:left}.fn-fr{float:right}.fn-flex{display:-webkit-flex;display:-ms-flexbox;display:-webkit-box;display:flex;flex-flow:row;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.fn-flex-baseline{-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline}.fn-flex-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.fn-flex-item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.fn-flex-item[flexsize="2"]{-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.fn-flex-item[flexsize="3"]{-webkit-box-flex:3;-webkit-flex:3;-ms-flex:3;flex:3}.fn-flex-item[flexsize="4"]{-webkit-box-flex:4;-webkit-flex:4;-ms-flex:4;flex:4}.fn-flex-item[flexsize="5"]{-webkit-box-flex:5;-webkit-flex:5;-ms-flex:5;flex:5}.fn-flex-item[flexsize="6"]{-webkit-box-flex:6;-webkit-flex:6;-ms-flex:6;flex:6}.fn-flex-item[flexsize="7"]{-webkit-box-flex:7;-webkit-flex:7;-ms-flex:7;flex:7}.fn-flex-item[flexsize="8"]{-webkit-box-flex:8;-webkit-flex:8;-ms-flex:8;flex:8}.fn-flex-item[flexsize="9"]{-webkit-box-flex:9;-webkit-flex:9;-ms-flex:9;flex:9}.fn-flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.block{display:block}.inline-block{display:inline-block}.fn-hide{display:none !important}.overflowhidden{overflow:hidden}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:0}.left-0{left:0}.bottom-0{bottom:0}.right-0{right:0}.z-index--1{z-index:-1 !important}.z-index-0{z-index:0}.z-index-1{z-index:1}.z-index-2{z-index:2}.z-index-3{z-index:3}.z-index-4{z-index:4}.z-index-10{z-index:10}.box-center-middle{top:50%;left:50%;transform:translate(-50%, -50%)}.box-middle{top:50%;transform:translate(0, -50%)}.box-center{left:50%;transform:translate(-50%, 0)}.box-border{box-sizing:border-box}.wp10{width:10%;box-sizing:border-box}.wp20{width:20%;box-sizing:border-box}.wp25{width:25%;box-sizing:border-box}.wp30{width:30%;box-sizing:border-box}.wp33{width:33%;box-sizing:border-box}.wp40{width:40%;box-sizing:border-box}.wp45{width:45%;box-sizing:border-box}.wp48{width:48%;box-sizing:border-box}.wp49{width:49%;box-sizing:border-box}.wp50{width:50%;box-sizing:border-box}.wp60{width:60% !important;box-sizing:border-box}.wp65{width:65% !important;box-sizing:border-box}.wp70{width:70% !important;box-sizing:border-box}.wp80{width:80% !important;box-sizing:border-box}.wp90{width:90%;box-sizing:border-box}.wp100{width:100%;box-sizing:border-box}.w100vw{width:100vw}.h100vh{height:100vh}.transition-all{transition:all ease .2s}.op90{opacity:.9}.op70{opacity:.7}.op50{opacity:.5}.op40{opacity:.4}.op20{opacity:.2}.op0{opacity:0}.bg-size-cover{background-size:cover}.bg-size-fullwidth{background-size:100% auto}.bg-size-fullheight{background-size:auto 100%}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-pos-top{background-position:top center}.bg-pos-bottom{background-position:bottom center}.bg-pos-center{background-position:center}.box-shadow-darkGray{box-shadow:0 0 10px rgba(0,0,0,0.1)}.box-shadow-lightGray{box-shadow:0 0 20px rgba(0,0,0,0.08)}.box-shadow-green{box-shadow:0 0 20px rgba(55,190,77,0.15)}.box-shadow-darkGreen{box-shadow:0 0 20px rgba(55,190,77,0.25)} diff --git a/src/style/common/mobile/_layout.scss b/src/style/common/mobile/_layout.scss new file mode 100644 index 0000000..7343f73 --- /dev/null +++ b/src/style/common/mobile/_layout.scss @@ -0,0 +1,107 @@ +.clear:before,.clear:after{content:"";display:table;} +.clear:after{clear:both;} +.clear{zoom:1;} +.fl{float:left;} +.fr{float:right;} + + +.fn-clear:before,.fn-clear:after{content:"";display:table;} +.fn-clear:after{clear:both;} +.fn-clear{zoom:1;} +.fn-fl{float:left;} +.fn-fr{float:right;} + +.fn-flex{display:-webkit-flex;display:-ms-flexbox;display:-webkit-box;display:flex;flex-flow:row;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;} +.fn-flex-baseline{-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline;} +.fn-flex-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;} +.fn-flex-item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;} +.fn-flex-item[flexsize="2"]{-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2;} +.fn-flex-item[flexsize="3"]{-webkit-box-flex:3;-webkit-flex:3;-ms-flex:3;flex:3;} +.fn-flex-item[flexsize="4"]{-webkit-box-flex:4;-webkit-flex:4;-ms-flex:4;flex:4;} +.fn-flex-item[flexsize="5"]{-webkit-box-flex:5;-webkit-flex:5;-ms-flex:5;flex:5;} +.fn-flex-item[flexsize="6"]{-webkit-box-flex:6;-webkit-flex:6;-ms-flex:6;flex:6;} +.fn-flex-item[flexsize="7"]{-webkit-box-flex:7;-webkit-flex:7;-ms-flex:7;flex:7;} +.fn-flex-item[flexsize="8"]{-webkit-box-flex:8;-webkit-flex:8;-ms-flex:8;flex:8;} +.fn-flex-item[flexsize="9"]{-webkit-box-flex:9;-webkit-flex:9;-ms-flex:9;flex:9;} +.fn-flex-wrap{flex-wrap:wrap}/*多行*/ +.justify-between{justify-content: space-between;} +.justify-center{justify-content:center;} +/*layout display*/ +.block{display:block;} +.inline-block{display:inline-block;} +.fn-hide{display:none !important;} +.overflowhidden{overflow:hidden;} +.scroll-x{overflow-x:auto;} +.scroll-y{overflow-y:auto;} + +/*layout position*/ +.relative{position:relative;} +.absolute{position:absolute;} +.fixed{position:fixed;} +.top-0{top:0;} +.left-0{left:0;} +.bottom-0{bottom:0;} +.right-0{right:0;} + +.z-index--1{z-index:-1!important;} +.z-index-0{z-index:0;} +.z-index-1{z-index:1;} +.z-index-2{z-index:2;} +.z-index-3{z-index:3;} +.z-index-4{z-index:4;} +.z-index-10{z-index: 10;} +.box-center-middle{top:50%;left:50%;transform:translate(-50%,-50%);} +.box-middle{top:50%;transform:translate(0,-50%);} +.box-center{left:50%;transform:translate(-50%,0);} + + +.box-border{box-sizing: border-box;} + +// html,body{height:100%;background: #f0f0f0;} +// #stage{min-height:100%;_display:table;_height:100%;min-width:1200px;} +// #main{overflow:auto;padding-bottom:145px;padding-top:60px;} +// #footer{position:relative;margin-top:-145px;height:145px;clear:both;} +// body:before{content:"";height:100%;float:left;width:0;margin-top:-32767px;} +.wp10{width:10%;box-sizing:border-box;} +.wp20{width:20%;box-sizing:border-box;} +.wp25{width:25%;box-sizing:border-box;} +.wp30{width:30%;box-sizing:border-box;} +.wp33{width:33%;box-sizing:border-box;} +.wp40{width:40%;box-sizing:border-box;} +.wp45{width:45%;box-sizing:border-box;} +.wp48{width:48%;box-sizing:border-box;} +.wp49{width:49%;box-sizing:border-box;} +.wp50{width:50%;box-sizing:border-box;} +.wp60{width:60%!important;box-sizing:border-box;} +.wp65{width:65%!important;box-sizing:border-box;} +.wp70{width:70%!important;box-sizing:border-box;} +.wp80{width:80%!important;box-sizing:border-box;} +.wp90{width:90%;box-sizing:border-box;} +.wp100{width:100%;box-sizing:border-box;} + +.w100vw{width: 100vw;} +.h100vh{height: 100vh;} + +.transition-all{transition: all ease .2s;} + +.op90{opacity: .9;} +.op70{opacity: .7;} +.op50{opacity: .5;} +.op40{opacity: .4;} +.op20{opacity: .2;} +.op0{opacity: 0;} + +.bg-size-cover{background-size: cover;} +.bg-size-fullwidth{background-size: 100% auto;} +.bg-size-fullheight{background-size: auto 100%;} +.bg-no-repeat{background-repeat: no-repeat;} +.bg-repeat-x{background-repeat:repeat-x;} +.bg-repeat-y{background-repeat: repeat-y;} +.bg-pos-top{background-position: top center;} +.bg-pos-bottom{background-position: bottom center;} +.bg-pos-center{background-position: center;} + +.box-shadow-darkGray{box-shadow:0 0 10px rgba(0,0,0,.1);} +.box-shadow-lightGray{box-shadow:0 0 20px rgba(0,0,0,.08);} +.box-shadow-green{box-shadow:0 0 20px rgba(55,190,77,.15);} +.box-shadow-darkGreen{box-shadow:0 0 20px rgba(55,190,77,.25);} \ No newline at end of file diff --git a/src/style/common/mobile/_mDialog.scss b/src/style/common/mobile/_mDialog.scss new file mode 100644 index 0000000..55332fc --- /dev/null +++ b/src/style/common/mobile/_mDialog.scss @@ -0,0 +1,320 @@ +/****************************************************************** + * mDialog 默认的动画效果 + */ +/** + * 淡入效果 + */ + @keyframes mDialogFadeIn { + from { + opacity: 0; } + to { + opacity: 1; } } + + .mDialogFadeIn { + animation-name: mDialogFadeIn; } + + /** + * 淡出效果 + */ + @keyframes mDialogFadeOut { + from { + opacity: 1; } + to { + opacity: 0; } } + + .mDialogFadeOut { + animation-name: mDialogFadeOut; } + + /** + * 类似zoomIn + */ + @keyframes mDialogZoomIn { + from { + opacity: 0; + transform: scale3d(0.3, 0.3, 0.3); } + 50% { + opacity: 1; } } + + .mDialogZoomIn { + animation-name: mDialogZoomIn; } + + /** + * 类似zoomOut + */ + @keyframes mDialogZoomOut { + from { + opacity: 1; } + 50% { + opacity: 0; + transform: scale3d(0.3, 0.3, 0.3); } + to { + opacity: 0; } } + + .mDialogZoomOut { + animation-name: mDialogZoomOut; } + + /** + * 类似苹果确认提示框效果,也是comfirm的默认的效果 + */ + @keyframes mDialogBigIn { + 0% { + opacity: 0; + transform: scale(1.2, 1.2); } + 100% { + opacity: 1; + transform: scale(1, 1); } } + + .mDialogBigIn { + animation-name: mDialogBigIn; } + + /** + * 类似苹果确认提示框效果,也是comfirm的默认的效果 + */ + @keyframes mDialogBigOut { + 0% { + opacity: 1; } + 100% { + opacity: 0; + transform: scale(1.2, 1.2); } } + + .mDialogBigOut { + animation-name: mDialogBigOut; } + + /****************************************************************** + * mDialog container 容器 + */ + .mDialog-layer-container { + visibility: hidden; + position: fixed; + animation-timing-function: ease-out; + box-sizing: border-box; } + .mDialog-layer-container * { + box-sizing: border-box; } + .mDialog-layer-container.mDialog-layer-container-full > .mDialog-layer-title { + border-radius: 0; } + .mDialog-layer-container.mDialog-layer-container-full > .mDialog-layer-main { + border-radius: 0; } + .mDialog-layer-container.mDialog-layer-container-full > .mDialog-layer-btns { + border-radius: 0; } + + /****************************************************************** + * mDialog title 标题 + */ + .mDialog-layer-title { + border-radius: 2.6667vw 2.6667vw 0 0; + background: #F5f5f5; + clear: both; + border-bottom: 1px solid #d5d5d5; + padding: 2.6667vw; + overflow: hidden; + font-size: 4.8vw; } + + /****************************************************************** + * mDialog main 主题内容 + */ + .mDialog-layer-main { + word-break: break-all; + word-wrap: break-word; + overflow: hidden; + font-size: 4.2667vw; } + .mDialog-layer-main:after { + content: ""; + display: table; + clear: both; } + .mDialog-layer-main.mDialog-layer-main-full > div { + height: 100%; + overflow: hidden; } + .mDialog-layer-main > div { + position: relative; } + + /****************************************************************** + * mDialog btns 底部按钮集 + */ + .mDialog-layer-btns { + clear: both; + border-top: 1px solid #e8e8e8; + background: #fff; + border-radius: 0 0 2.6667vw 2.6667vw; + display: flex; } + .mDialog-layer-btns > .mDialog-btn { + flex: 1; + display: block; + text-align: center; + position: relative; + color: #007aff; + font-size: 4.8vw; + padding: 2.6667vw 0; } + .mDialog-layer-btns > .mDialog-btn:after { + content: ""; + position: absolute; + left: 0; + top: 0; + width: 1px; + height: 100%; + border-left: 1px solid #d5d5d5; + color: #d5d5d5; } + .mDialog-layer-btns > .mDialog-btn:active { + background-color: rgba(0, 0, 0, 0.05); } + .mDialog-layer-btns > .mDialog-btn:first-child:after { + border-left: 0; } + + /****************************************************************** + * mDialog close 关闭按钮 + */ + .mDialog-close { + position: absolute; + width: 8.667vw; + height: 8.667vw; + overflow: hidden; + right: 0; + top: 0; + margin-top: -4.3333vw; + margin-right: -4.3333vw; + border-radius: 100%; + background-color: black; } + .mDialog-close:before { + transform: rotate(45deg); + content: ''; + position: absolute; + top: 50%; + left: 1.3333vw; + right: 1.3333vw; + background: #fff; + height: 0.8vw; + margin-top: -0.4vw; + border-radius: 1.0667vw; } + .mDialog-close:after { + transform: rotate(-45deg); + content: ''; + position: absolute; + top: 50%; + left: 1.3333vw; + right: 1.3333vw; + background: #fff; + height: 0.8vw; + margin-top: -0.4vw; + border-radius: 1.0667vw; } + + /****************************************************************** + * mDialog 遮罩层 + */ + .mDialog-shade { + position: fixed; + left: 0; + top: 0; + right: 0; + bottom: 0; + animation-fill-mode: both; + animation-timing-function: ease-out; } + .mDialog-shade.in { + animation-name: mDialogFadeIn; } + .mDialog-shade.out { + animation-name: mDialogFadeOut; } + + /****************************************************************** + * mDialog open方法 content是内容 + */ + .mDialog-default-section { + background: #fff; + font-size: 4.2667vw; + padding: 2.6667vw; } + + /****************************************************************** + * mDialog msg 信息提示框 + */ + .mDialog-msg-section { + background-color: rgba(0, 0, 0, 0.9); + border-radius: 2.6667vw; + padding: 4vw; + color: #fff; } + + /****************************************************************** + * mDialog 加载提示框 + */ + + @keyframes line-spin-fade-loader { + 50% { + opacity: 0.3; } + 100% { + opacity: 1; } } + + .mDialog-loading-section { + background-color: rgba(0, 0, 0, 0.7); + border-radius: 2vw; + padding: 4vw 8vw; + overflow: hidden; } + .mDialog-loading-section .loading-txt { + font-size: 4.2667vw; + color: #fff; + text-align: center; + margin-top: 2.6667vw; + white-space: nowrap; } + .mDialog-loading-section .loading-icon { + position: relative; + width: 16.533vw; + height: 16.533vw; + margin: 0 auto; } + .mDialog-loading-section .loading-icon > div { + background-color: #fff; + border-radius: 0.5333vw; + animation-fill-mode: both; + position: absolute; + width: 1.0667vw; + height: 4.8vw; + margin-left: -0.5333vw; } + .mDialog-loading-section .loading-icon > div:nth-child(1) { + top: 11.733vw; + left: 50%; + animation: line-spin-fade-loader 1.2s 0.12s infinite ease-in-out; } + .mDialog-loading-section .loading-icon > div:nth-child(2) { + top: 10.7173vw; + left: 10.7173vw; + transform: rotate(-45deg); + transform-origin: top center; + animation: line-spin-fade-loader 1.2s 0.24s infinite ease-in-out; } + .mDialog-loading-section .loading-icon > div:nth-child(3) { + top: 8.533vw; + left: 11.733vw; + transform-origin: top center; + transform: rotate(-90deg); + animation: line-spin-fade-loader 1.2s 0.36s infinite ease-in-out; } + .mDialog-loading-section .loading-icon > div:nth-child(4) { + top: 5.816vw; + left: 11.733vw; + transform: rotate(-135deg); + transform-origin: top center; + animation: line-spin-fade-loader 1.2s 0.48s infinite ease-in-out; } + .mDialog-loading-section .loading-icon > div:nth-child(5) { + top: 0px; + left: 50%; + animation: line-spin-fade-loader 1.2s 0.6s infinite ease-in-out; } + .mDialog-loading-section .loading-icon > div:nth-child(6) { + top: 5.816vw; + left: 5.816vw; + transform-origin: top center; + transform: rotate(135deg); + animation: line-spin-fade-loader 1.2s 0.72s infinite ease-in-out; } + .mDialog-loading-section .loading-icon > div:nth-child(7) { + top: 8.2667vw; + left: 4.8vw; + margin-left: -0.5333vw; + transform: rotate(90deg); + transform-origin: top center; + animation: line-spin-fade-loader 1.2s 0.84s infinite ease-in-out; } + .mDialog-loading-section .loading-icon > div:nth-child(8) { + top: 10.7173vw; + left: 5.816vw; + margin-left: -0.5333vw; + transform: rotate(45deg); + transform-origin: top center; + animation: line-spin-fade-loader 1.2s 0.96s infinite ease-in-out; } + .mDialog-loading-section.loading-notext { + padding: 8vw; } + + /****************************************************************** + * mDialog confirm 确认框 + */ + .mDialog-confirm-section { + background: #fff; + padding: 5.333vw 4vw; + border-radius: 2.6667vw 2.6667vw 0 0; } \ No newline at end of file diff --git a/src/style/common/mobile/_text.scss b/src/style/common/mobile/_text.scss new file mode 100644 index 0000000..c2b0a3e --- /dev/null +++ b/src/style/common/mobile/_text.scss @@ -0,0 +1,20 @@ +/*text render*/ +.text-nowrap{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +.text-left{text-align:left;} +.text-center{text-align:center;} +.text-right{text-align:right;} +.text-underline{text-decoration:underline;} +.text-through{text-decoration:line-through;} +.text-middle{vertical-align:middle} +.text-lighter{font-weight:400;} +.text-bold{font-weight:600;} +.text-normal{font-weight: normal;} +.text-break{word-break:break-all;word-wrap:break-word;} +.space-nowrap{white-space:nowrap;} +.space-normal{white-space:normal;} +.text-italic{font-style: italic;} + +/*line-clamp*/ +.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;} +.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;} +.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;} \ No newline at end of file diff --git a/src/style/common/mobile/_toast.scss b/src/style/common/mobile/_toast.scss new file mode 100644 index 0000000..b7e4ec1 --- /dev/null +++ b/src/style/common/mobile/_toast.scss @@ -0,0 +1,132 @@ +.toast-item-wrapper { + max-width: 450px; + padding: 10px; + box-sizing: border-box; + color: #fff; + overflow: hidden; + user-select: none; + font-size: 22px; +} + +.toast-item-wrapper i.toast-icon { + position: absolute; + top: 12px; + left: 0; + width: 50px; + text-align: center; + vertical-align: middle; + font-size: 2rem; +} + +.toast-item-wrapper .toast-close { + font-size: 1.2rem; + position: absolute; + top: 0; + right: 0; + width: 20px; + text-align: center; + cursor: pointer; +} + +.toast-item-wrapper.success { + background-color: rgba(0,0,0,.4); + // border: 1px solid #1a9581; +} + +.toast-item-wrapper.error { + background-color: #ff7946; + border: 1px solid #f35818; +} + +.toast-item-wrapper.warning { + background-color: #fff1c0; + border: 1px solid #f0c948; + color: #333; +} + +.toast-item-wrapper.notice { + background-color: #48a9f8; + border: 1px solid #208ce4; +} + +.toast-item-wrapper.info { + background-color: #7f97a3; + border: 1px solid #6b8699; +} + +.toast-item-wrapper.toast-top-left { + left: 20px; + top: 20px; +} + +.toast-item-wrapper.toast-top-right { + right: 20px; + top: 20px; +} + +.toast-item-wrapper.toast-top-center { + margin: 0 auto; + top: 20px; +} + +.toast-item-wrapper.toast-bottom-left { + left: 20px; + bottom: 20px; +} + +.toast-item-wrapper.toast-bottom-right { + right: 20px; + bottom: 20px; +} + +.toast-item-wrapper.toast-bottom-center { + margin: 0 auto; + bottom: 20px; +} + +.toast-item-wrapper.fullscreen { + left: 20px; + right: 20px; + width: calc(100% - 40px); +} + +.toast-item-wrapper p { + margin: 0; +} + +.toast-item-wrapper .toast-message { + font-size: 22px; +} + +.toast-item-wrapper .toast-progress { + width: 0; + height: 3px; + background-color: rgba(0, 0, 0, 0.5); + position: absolute; + bottom: 0; + right: 0; +} + +.toast-item-wrapper.rtl { + direction: rtl; + text-align: right; +} + +.toast-item-wrapper.rtl i.toast-icon { + left: auto; + right: 0; +} + +.toast-item-wrapper.rtl .toast-close { + right: auto; + left: 0; +} + +.toast-item-wrapper.rtl p { + text-align: right; +} + +.toast-item-wrapper.rtl .toast-progress { + left: auto; + right: 0; +} \ No newline at end of file diff --git a/src/style/common/pc/_aside.scss b/src/style/common/pc/_aside.scss new file mode 100644 index 0000000..2966d5e --- /dev/null +++ b/src/style/common/pc/_aside.scss @@ -0,0 +1,39 @@ +// aside { +// .service { +// position: fixed; +// right: 0; +// top: 50%; +// z-index: 100; +// margin-top: -50px; + +// #returnTop { +// display: block; +// height: 23px; +// line-height: 23px; +// background-color: rgba(18, 37, 140, .8); +// margin-bottom: 1px; +// position: relative; +// &:after{ +// content: ""; +// position: absolute; +// left: 50%; +// top:50%; +// transform: translate(-50%,-50%); +// height: 12px; +// width: 74px; +// background-image: url(../img/icon.png); +// background-position: -110px -60px; +// background-repeat: no-repeat; +// } +// } +// ul { +// width: 87px; +// height: 80px; +// background-color: rgba(18, 37, 140, .8); +// padding-top: 10px; +// } +// a { +// color: #fff; +// } +// } +// } \ No newline at end of file diff --git a/src/style/common/pc/_border.scss b/src/style/common/pc/_border.scss new file mode 100644 index 0000000..cadc460 --- /dev/null +++ b/src/style/common/pc/_border.scss @@ -0,0 +1,31 @@ +// .border-darkGrey{border:1px solid #999} +// .border-grey1{border:1px solid #ccc} +// .border-grey{border:1px solid #ddd} +// .border-lightGrey{border:1px solid #e7e7e7} +// .border-line-lightblue {border:1px solid #b2e6ff;} +// .border-line-lightpurple {border:1px solid #a9c2ff;} + +// .blc-lightblue{border-left:1px solid #b2e6ff;} +// .blc-lightpurple {border-left:1px solid #a9c2ff;} +// .br-line-purple {border-left:1px solid #a9c2ff!important;border-right:1px solid #a9c2ff!important;} +// .border-line-lightyellow{border:1px solid #ffa147;} +// .blc-lightyellow{border-left:1px solid #ffa147;} +// .br-line-yellow {border-left:1px solid #ffa147!important;border-right:1px solid #ffa147!important;} + + +.bds-2-eb5359{border: 2px solid #eb5359;} +.bds-1-eb5359{border: 1px solid #eb5359;} +.bbs-1-eb5359{border-bottom:#eb5359 1px solid;box-sizing:border-box;} +.bbs-2-eb5359{border-bottom:#eb5359 2px solid;box-sizing:border-box;} +.bbs-3-eb5359{border-bottom:#eb5359 3px solid;box-sizing:border-box;} +.bds-1-fab758{border: 1px solid #fab758;} +.bds-1-f0f0f0{border: 1px solid #f0f0f0;} +.bts-1-f0f0f0{border-top: 1px solid #f0f0f0;} +.bds-1-ccc{border: 1px solid #ccc;} +.bds-1-eee{border: 1px solid #eee;} +.bts-1-eee{border-top: 1px solid #eee;} +.bls-1-eee{border-left: 1px solid #eee;} +.bbs-1-eee{border-bottom: 1px solid #eee;} +.bbs-1-f8f8f8{border-bottom: 1px solid #f8f8f8;} +.bbs-1-e4e4e4{border-bottom: 1px solid #e4e4e4;} +.bds-1-445a6e{border: 1px solid #445A6E;} \ No newline at end of file diff --git a/src/style/common/pc/_box.scss b/src/style/common/pc/_box.scss new file mode 100644 index 0000000..3d93969 --- /dev/null +++ b/src/style/common/pc/_box.scss @@ -0,0 +1,165 @@ + + +/*layout con*/ +.inner2{padding: 2px;} +.inner10{padding:10px;} +.inner20{padding:20px;} +.inner30{padding:30px;} +.inner40{padding:40px;} +.ulib-r0{-webkit-border-radius:0 !important;border-radius:0 !important;} +.ulib-r5{-webkit-border-radius:5px;border-radius:5px;} +.ulib-r10{-webkit-border-radius:10px;border-radius:10px;} +.ulib-r20{-webkit-border-radius:20px;border-radius:20px;} +.ulib-r22{-webkit-border-radius:22px;border-radius:22px;} +.ulib-r100{-webkit-border-radius:100px;border-radius:100px;} +.ulib-r750{-webkit-border-radius:750px;border-radius:750px;} +.ulib-r7500{-webkit-border-radius:750px;border-radius:750px 0 0 750px;} +.ulib-r7501{-webkit-border-radius:750px;border-radius:0 750px 750px 0;} + +.mt0{margin-top:0 !important;} +.mt2{margin-top:2px;} +.mt5{margin-top:5px;} +.mt10{margin-top:10px;} +.mt12{margin-top:12px;} +.mt15{margin-top:15px;} +.mt20{margin-top:20px;} +.mt25{margin-top:25px;} +.mt30{margin-top:30px;} +.mt35{margin-top:35px;} +.mt40{margin-top:40px;} +.mt50{margin-top:50px;} +.mt60{margin-top:60px;} +.mt70{margin-top:70px;} +.mt105{margin-top:105px;} +.mt110{margin-top:110px;} +.ml5{margin-left:5px;} +.ml10{margin-left:10px;} +.ml15{margin-left:15px;} +.ml18{margin-left:18px;} +.ml20{margin-left:20px;} +.ml25{margin-left:25px;} +.ml30{margin-left:30px;} +.ml35{margin-left:35px;} +.ml40{margin-left:40px;} +.ml45{margin-left:45px;} +.ml50{margin-left:50px;} +.ml60{margin-left:60px;} +.ml70{margin-left:70px;} +.ml80{margin-left:80px;} +.ml96{margin-left:96px;} +.ml100{margin-left:100px;} +.ml110{margin-left:110px;} +.ml-115{margin-left:-115px;} +.ml120{margin-left:120px;} +.ml150{margin-left:150px;} +.ml160{margin-left:160px;} +.ml210{margin-left:210px;} +.ml200{margin-left:200px;} +.ml250{margin-left:250px;} +.ml290{margin-left:290px;} +.mr5{margin-right:5px;} +.mr10{margin-right:10px;} +.mr15{margin-right:15px;} +.mr20{margin-right:20px;} +.mr25{margin-right:25px;} +.mr30{margin-right:30px;} +.mr35{margin-right:35px;} +.mr40{margin-right:40px;} +.mr45{margin-right:45px;} +.mr50{margin-right:50px;} +.mr54{margin-right:54px;} +.mr55{margin-right:55px;} +.mr60{margin-right:60px;} +.mr70{margin-right:70px;} +.mr80{margin-right:80px;} +.mr100{margin-right:100px;} +.mr110{margin-right:110px;} +.mr120{margin-right:120px;} +.mr150{margin-right:150px;} +.mr200{margin-right:200px;} +.mr310{margin-right:310px;} +.mb1{margin-bottom:1px;} +.mb5{margin-bottom:5px;} +.mb10{margin-bottom:10px;} +.mb15{margin-bottom:15px;} +.mb20{margin-bottom:20px;} +.mb30{margin-bottom:30px;} +.mb40{margin-bottom:40px;} +.mb50{margin-bottom:50px;} + +.pt0{padding-top:0 !important;} +.pt3{padding-top:3px;} +.pt5{padding-top:5px;} +.pt8{padding-top:8px;} +.pt10{padding-top:10px;} +.pt15{padding-top:15px;} +.pt17{padding-top:17px;} +.pt20{padding-top:20px;} +.pt21{padding-top:21px;} +.pt23{padding-top:23px;} +.pt25{padding-top:25px;} +.pt30{padding-top:30px;} +.pt40{padding-top:40px;} +.pt45{padding-top:45px;} +.pt60{padding-top:60px;} +.pt70{padding-top:70px;} +.pt150{padding-top:150px;} +.pl0{padding-left:0 !important;} +.pl5{padding-left:5px;} +.pl10{padding-left:10px;} +.pl15{padding-left:15px;} +.pl20{padding-left:20px;} +.pl25{padding-left:25px;} +.pl30{padding-left:30px;} +.pl35{padding-left:35px;} +.pl40{padding-left:40px;} +.pl80{padding-left:80px;} +.pl110{padding-left:110px;} +.pl220{padding-left:220px;} +.pr0{padding-right:0 !important;} +.pr5{padding-right:5px;} +.pr10{padding-right:10px;} +.pr15{padding-right:15px;} +.pr20{padding-right:20px;} +.pr30{padding-right:30px;} +.pr35{padding-right:35px;} +.pr40{padding-right:40px;} +.pr45{padding-right:45px;} +.pr80{padding-right:80px;} +.pr200{padding-right:200px;} +.pb0{padding-bottom:0 !important;} +.pb5{padding-bottom:5px;} +.pb8{padding-bottom:8px;} +.pb10{padding-bottom:10px;} +.pb15{padding-bottom:15px;} +.pb17{padding-bottom:17px;} +.pb20{padding-bottom:20px;} +.pb21{padding-bottom:21px;} +.pb23{padding-bottom:23px;} +.pb30{padding-bottom:30px;} +.pb40{padding-bottom:40px;} +.pb45{padding-bottom:45px;} +.pb60{padding-bottom:60px;} +.pb70{padding-bottom:70px;} + +// .w970{width:970px;} +// .w900{width:900px;} +// .w870{width:870px;} +// .w800{width:800px;} +// .w780{width:780px;} +// .w770{width:770px;} +// .w760{width:760px;} +// .w600{width:600px;} +// .w460{width:460px;} +// .w410{width:410px;} +// .w400{width:400px;} +// .w350{width:350px;} +// .w340{width:340px;} +// .w280{width:280px;} +// .w240{width:240px;} +.w200{width:200px;} +// .w140{width:140px;} +// .w130{width:130px;} +// .w60 {width:60px;} + +// .full{width:100%;} \ No newline at end of file diff --git a/src/style/common/pc/_btn.scss b/src/style/common/pc/_btn.scss new file mode 100644 index 0000000..7147d34 --- /dev/null +++ b/src/style/common/pc/_btn.scss @@ -0,0 +1,24 @@ +.btn{display:inline-block;font-size:15px;text-align:center;border:none;vertical-align:middle;cursor:pointer;transition:all .15s ease 0s;} +// .btn.bc-blue:hover{background-color:#2b9bd1} +// .btn-yellow{background-color:#ffa127;color:#fff!important;border:1px solid #ffa127} +// .btn-yellow:hover{background-color:#e98e19;border-color:#e98e19} +// .btn-white-line{border:1px solid #fff;color:#fff!important} +// .btn-white-line:hover{border-color:#ccc} +// .btn-blue-line{border:1px solid #42b1e6;color:#42b1e6!important;background-color:#fff} +// .btn-blue-line:hover{background-color:#42b1e6;color:#fff!important} +// .btn-grey-line{border:1px solid #c9c9c9;color:#666!important;background-color:#fff} +// .btn-grey-line:hover{border-color:#ffb400;background-color:#ffb400;color:#fff!important} +// .btn-grey{color:#fff!important;background-color:#d2d2d2;border:1px solid #d2d2d2} +// .btn-grey:hover{color:#fff!important;background-color:#c0c0c0} +// .btn-red{color:#fff!important;background-color:#fc5e6c;border:1px solid #fc5e6c} +// .btn-red:hover{background-color:#ea4755;border-color:#ea4755} +// .btn-blueGreen{background-color:#26d9d6;color:#fff!important;} +// .btn-blueGreen:hover{background-color:#18d1ce;} +// .btn-purple{background-color:#725edb;color:#fff!important;} +// .btn-purple:hover{background-color:#5b46c5;} +// .btn-green{background-color:#7cd955;color:#fff!important;} +// .btn-green:hover{background-color:#65c43d;} + +.btn:hover{opacity: .8;} + +a.txtlink:hover{color: rgba($color: #eb5359, $alpha: .8);} \ No newline at end of file diff --git a/src/style/common/pc/_color.scss b/src/style/common/pc/_color.scss new file mode 100644 index 0000000..7f3d40d --- /dev/null +++ b/src/style/common/pc/_color.scss @@ -0,0 +1,60 @@ +/*font color*/ +.color-fff{color:#fff;} +.color-ccc{color:#ccc;} +.color-333{color:#333;} +.color-666{color:#666;} +.color-888{color:#888;} +.color-999{color:#999;} +.color-000{color:#000;} +.color-656565{color:#656565;} +.color-191919{color:#191919;} +.color-9a9a9a{color:#9a9a9a;} +.color-eb5359{color: #EB5359;} +.color-1282f4{color: #1282F4;} +.color-2b9b27{color: #2B9B27;} +.color-eb{color:#ebebeb;} +.color-88e4ff{color: #88E4FF;} +.color-1a1a1a{color: #1a1a1a;} +.color-3399ee{color: #3399EE;} +.color-ffa200{color: #ffa200;} +.color-78c1ff{color: #78c1ff;} +.color-77c1ff{color: #77c1ff;} +.color-ffbb59{color: #FFBB59;} +.color-445a6e{color: #445a6e;} +.color-51d3f4{color: #51D3F4;} +.color-fab758{color: #FAB758;} + +/*bg*/ +.bg-fff{background-color:#fff;} +.bg-f0{background-color:#f0f0f0;} +.bg-fa{background-color:#fafafa;} +.bg-f5{background-color:#f5f5f5;} +.bg-f7{background-color:#f7f7f7;} +.bg-f8{background-color:#f8f8f8;} +.bg-000{background-color: #000;} +.bg-aaa{background-color:#aaa;} +.bg-ccc{background-color:#ccc;} +.bg-ddd{background-color:#ddd;} +.bg-eee{background-color:#eee;} +.bg-666{background-color:#666;} +.bg-eb5359{background-color: #EB5359;} +.bg-1282f4{background-color: #1282F4;} +.bg-d25f6b-1{background-color: rgba($color: #D25F6B, $alpha: .1);;} +.bg-a271f9-1{background-color: rgba($color: #A271F9, $alpha: .1);} +.bg-4f983a{background-color: #4F983A;} +.bg-19273d-op50{background-color: rgba($color: #19273D, $alpha: .5);} +.bg-88e4ff{background-color: #88E4FF!important;} +.bg-3399EE{background-color: #3399EE!important;} +.bg-999{background-color: #999999!important;} +.bg-1a{background-color: #1a1a1a!important;} +.bg-78c1ff{background-color: #78c1ff!important;} +.bg-efefef{background-color: #efefef!important;} +.bg-f8f8f8{background-color: #f8f8f8!important;} +.bg-2b9b27-op20{background-color: rgba(43,155,39,.2);} +.bg-1281f3-op20{background-color: rgba(18,129,243,.2);} +.bg-eb5359-op20{background-color: rgba(235,83,89,.2);} +.bg-1a1a1a{background-color: #1a1a1a;} +.bg-1f1c32{background-color: #1F1C32;} + +.bg-445a6e{background-color: #445a6e;} +.black-op60{background-color: rgba($color: #000000, $alpha: .6);} \ No newline at end of file diff --git a/src/style/common/pc/_footer.scss b/src/style/common/pc/_footer.scss new file mode 100644 index 0000000..03f4a71 --- /dev/null +++ b/src/style/common/pc/_footer.scss @@ -0,0 +1,56 @@ +@use '../base/_variable'; + +footer { + min-width: 1200px; + padding: 60px 0px; + background: #1E2023; + .icon{ + // width: 40px; + // height: 40px; + // cursor: pointer; + // margin-right: 5px; + // &.icon-footer-wechat{ + // background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAe1BMVEUAAACZmZmcnJyZmZmZmZmZmZmampqZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmampqZmZmZmZmampqZmZmampqZmZmZmZmZmZmZmZmZmZmZmZmZmZmampqZmZmZmZmZmZmZmZmZmZmYmJiZmZmZmZmZmZmYmJiampqZmZlq+OxBAAAAKHRSTlMACwbr+/EVu0r14dvJqIOfdm9QIRHmG9azZNGTXFeZeWtEM8Atjj0oRTFBqwAAA3xJREFUWMOtmdeCqjAQhhNI6F2RJmDdnfd/wnNUWEml6HdlBMZkyj8hohksp4+vhekC0Lywu+S8R9vBWVMADwnujrHFmuGELiig8c/qySUeaCkqY4253oRZ8tNik20Oi/CzReZ2NiymPMzbqyiswMzmYhvDShqtJ/cBrMbGGvcVsIHaUtn7zWET/k4xvxw24kvnaPmwmXoviW8AH2CLsY7hIxre3hE+pOUCQkHEDeIoSZJ7uMS7JluFtnjD/cd4B+xYurN1rV2wf+S9bEVzJidljT1urb0hy6uZuPnvhxLuyg3JcfS6m/5NkL0v2KuL3dfGZZSJlLWHkZqDttWc0Avmplwvwr9U58XBMzDFGf1QRee3TqbRZUkFvLprKMsmXE8S4ZADkIuQsiLd81Emv8bHsscgHgb9YxANgwuoocb46EiAxsemNtrHoEIDnCwJDutgQoJGUnOSP5E7EagU1Nz/X/f5FY9M09HAL2c6aR81OqVFyIIpuhzcRT4Q3w7j8KpsFsRik4ZqUjoktHP246iyVU7smeJR2jtSM8VsiocgIWGln6jsNRCLFX6WrDzm8lRRdx2ppI2yFLsVKjgXyEhJhqQYgsUCmXzzErmRE1KA+Sw3EWXHMqm+Mu1C391cJEiawA/ZDS4LSPiKNLaJbUnVHhBhx7kYzPCtEaPMV+9Cx5QzyLeJUHA8HXWx+uvnzqSDdNySBU3vOYMX1xhNR2U1xr1Mxm8zLig18FRcjdRIy4FLG1tWPlPSUm/QgClX6a4rnFZtsspgjHoQIdNQV9c1S+6RAyI2u13QG8y42rUApGHZR111eUTSIjetQVbFLIR8mezuI/r85AVBTSKdPYvwrb4DnutgjtmzqOiExpyJnYYCi2aKZyLsEbELc5AfZYhztvDw4NU5zJ3CgbVMCByYx5NG+jDY4wXfg3nck0TJc/5nhwsnWEJ5EwKi2hNjE5ZAygz/FfANP5RS3BIzMj6Pe23SY3uKSvo8FAlVKoU92ECRtawHJ/nfwibYnn5kX80+xubb64fQ3Zdfb49ffgGPv3xEEBjfPcTwre8es+QKMfr1YBPer1Iui03pffjuYVqwRxqMZsNxn56WrqqP9rtHpvYOLaH1Fka3XX6KbcIsZoLRcnDqzcwuxWglmqN7N3Q2/rlwr0GgvmcYbcc6nxr7+feHaxZ2czpbSM8/LQE1GI9iOi8AAAAASUVORK5CYII='); + // } + // &.icon-footer-weibo{ + // background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAhFBMVEUAAACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTk5OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmXl5eZmZmZmZmampqZmZmZmZmZmZmampqampqampqZmZmZmZmampqZmZmZmZmampqZmZmZmZmZmZkPlHCcAAAAK3RSTlMACt317OJ3+UdO6Lkg1hfRBPHKnqeNbL9ZB7NwDpRkXSQdE8U1K5mCPqp+dYZ4fAAAA59JREFUWMOs1umSqjAQBeCTsO+iII4LKozbnPd/v1sy4nUgIKLfT6pCpXO6OsEThT3feIGr0dJl5G3mdoHxhJNGbIlSR2AMO9HYQUtsvEisJHvJlcBwwtT5lG4KDLQwOIixwBC+x8E8H09tY74g3qLf14wvmn2hR1jyZWWITr7kCNJHh4PLUdwDlHYGRzJ2UAglR5OhIt8p3zBtZz3jW2Zo2PJNjQ73Y74p9vHI49s8PFjwAxa4EwY/wBComfwIEzdC52BWUHqZQSW93uKcg60muNqrr5w5fkkOFeEuV5QlUbE5mC5w5wdssXGVcLggzXQjO1XTZR2xKaki0djPLSOrGc1xDWDXWqkJAA77SPMAoPCUY/qHTQ6AI7vp+QSVdR1BuYf4TjUyEEBhseHYn/ElRK0+6BRX3zF5ArBU5ByyizXHf2n9MVkuc8AkpbLmsLtpNBsPEpLWdDnLLJI59iT3QK5oHJNq8RmPptbl91m4C0gPcMlv1Vg2u0a/dsYfxQQ3B3IKGNUPV4qrIKOK5aBTwAzQyAJI2ZQhoMoK3SQt81htEyWbArhUSNBtX/cUICw2uYjZZqxxE243y8jVjejyc56gcqqX+sjZooEKDiqTRcYHehpWMW/qomIq/GvO7JYThIEovFN+QhAkYkVBsOJIQff9369jEkptN9Ey6Uy/WzTJZJM9ZzfACIMGkij9Mb0SX1F4aAR8g3wJFcHsGnUdb8YRehivngGPuMp++WlNvN0Yifx+Nw5oIAYyS+p/sPN0sLUw5SARMdKksCXVsPQnXbxf0wkkFdJsYU3aHq7zryQsbktEhfaWF6MLC0kxDNVsUBb9IJj0ajp6NUhyo9hHSGXdUM0mN2Q4yiO9mo6UJYtGxKdglNYGhuleJ3eO6IoGlpQERADiFtQKEoYYt19SdqUXuDJpGilSuVBR8VoYNr0ajzP5Re2gMNrJd1pGr6ByZ5aAZs/k+mTYbULJldCTgeY+IltHNUByyJSmarNGW43poFHfmxKg7mP5I6YVv9b3OEMjr2az9LITAGLoq9T34+wSnkFxvKCFyGbngjCBbwheMbQQPDKc6eatK0FRn4vKRzv7pyxxnC8W2zx4yj26Nu3uywr3hY/70sx98ei+vHVfgLtvEbhvYrhvs2i6YOZ4HRhoU5xB2oKR05xm2gkslA3aoHO7Hf67hiR33TJ139T9+7YzTf24MV67bd3/h8cFxXJ8/kAvTm/PH0uw8wG0r8+pgxwVRgAAAABJRU5ErkJggg=='); + // } + width: 16px; + height: 16px; + margin-right: 3px; + &.icon-footerqq{ + background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABMUlEQVQ4T53TrWvXURTH8dfHB3CyGS0mm0yMsjKD2QcGIou6JjZxccKKK66LSQ1iEEw6cdWysCiu7R8wiCbxgSMXft/x5Sub33nK5Tx83px7z7kxsKo6hru4hdlJ+iOe4kmS331J+k5VncAGLg/BE/89rif50eWHgEdY3kfchR8mWfkLUFUn8RntPMi+4nTXxV4HVTWPD/8Qd+mLSbab0wfcweORgKUkz4aAN7gyEvA6yY09QFVdxUtMjwR8w80km6mqM/iEUyPFXdkXnGuAddw/pLgrX2uAXZz9T8BOA3zHJq4dAlJ4i0sNcAFt19sjLo6EPMcSzvf3YAGv0D7TQdb+wUKSd/0xTqGt6PGBssWOYGYQb9eeSfKr38Ft3GujwU9s4cEEuoo5HMUO1pO8aNA/evBej0fxIBEAAAAASUVORK5CYII='); + } + } + // .footer-focus{ + // span{ + // em{ + // display: none; + // } + // &:hover{ + // em{ + // display: block; + // } + // } + // } + // } + +} +#dota_footer{ + margin-top: 21px; + padding-top: 50px; + padding-bottom: 0; + .underline { + width:1200px; + height:1px; + background:rgba(51,51,51,1); + margin-top: 20px; + } + p { + font-size:14px; + color:rgba(153,153,153,1); + margin-top: 21px; + text-align: center; + margin-bottom: 18px; + } +} \ No newline at end of file diff --git a/src/style/common/pc/_header.scss b/src/style/common/pc/_header.scss new file mode 100644 index 0000000..6a2d743 --- /dev/null +++ b/src/style/common/pc/_header.scss @@ -0,0 +1,187 @@ +@use '../base/_variable'; +/*非常重要的样式让背景图片100%适应整个屏幕*/ + +header{ + .icon-arrow{ + transition: .2s all ease-in; + width: 16px; + height: 16px; + background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAb1BMVEUAAADMzMzNzc3MzMzMzMzMzMzMzMzMzMzNzc3Nzc3Nzc3MzMzZ2dnMzMzNzc3IyMjMzMzMzMzNzc3Ly8vMzMzNzc3MzMzNzc3Nzc3MzMzKysrOzs7MzMzMzMzMzMzMzMzMzMzMzMzLy8vMzMzMzMzDCjeDAAAAJHRSTlMA+kP18Nt35aRoUwwGiScc0sKxlIJvWk48NzUV5t/Ps5yNYl8rrKDyAAAAwklEQVQ4y92R2RKCMAxFU7qDguwI7ub/v1GamU5By/is54XkHtrOJPAb7L5Ixc7jlh40syAQxRD3CUfUcEVEnsR8z2ZlIJMbf6TOHzKAXMwF69995/ypoKdcybq1tzjDj0A8XMOeS9+iI/XtnlobvKJAhaCioPVtQ62BQHbxR8KF5WrEhaawcXVNpZxgxcgp3gPcqBD5x1yQqA19WGRyChdYiGCCv8d3X3pfQZxJkqYNxaG9oS5gk4SFDcVJpUzgD3kB1aoYrYug5P4AAAAASUVORK5CYII='); + } + .header{ + &-height{ + height: 50px; + } + &-main{ + width: 100%; + height: 30px; + background:#1E2023; + box-sizing: content-box; + z-index: 101; + } + &-logo{ + width: 146px; + height: 30px; + background-repeat: no-repeat; + background-position: center; + background-size: 100% auto; + a{ + display: block; + height: 100%; + text-indent: -999em; + } + } + &-game{ + &:hover{ + .icon-arrow{ + transform: rotate(180deg); + } + .header-game-more{ + display: block; + &:hover{ + display: block; + } + } + } + span{ + cursor: pointer; + display: block; + height: 30px; + line-height: 30px; + em{ + margin: 0 5px; + } + } + + img{ + width: 20px; + height: 20px; + } + &-more{ + display: none; + margin-bottom: 14px; + border-bottom-left-radius: 20px; + border-bottom-right-radius: 20px; + background-color: #26282B; + top: 40px; + ul{ + li{ + padding-left: 28px; + padding-right: 20px; + width: 70px; + box-sizing: content-box; + text-align: center; + line-height: 1.5; + img{ + width: 48px; + height: 48px; + } + em{ + // margin-top: 5px; + // display: block; + // color: #ccc; + } + } + } + } + } + &-language{ + vertical-align: middle; + &:hover{ + .icon-arrow{ + transform: rotate(180deg); + } + .header-language-more{ + display: block; + &:hover{ + display: block; + } + } + } + span{ + cursor: pointer; + display: block; + height: 30px; + line-height: 30px; + em{ + margin: 0 5px; + font-size: 16px; + } + } + img{ + width: 18px; + height: 18px; + } + .header-language-more{ + display: none; + width: 110px; + margin-bottom: 14px; + border-bottom-left-radius: 20px; + border-bottom-right-radius: 20px; + background-color: #26282B; + top: 35px; + em{ + margin-left: 5px; + } + ul{ + li{ + padding-top: 5px; + padding-bottom: 5px; + } + } + } + } + &-login{ + &-no{ + display: flex; + a { + width: 59px; + height: 28px; + border-radius: 14px 0px 0px 14px; + background: #fff; + color: $defaultColor; + line-height: 28px; + &:nth-of-type(2) { + border-radius: 0px 14px 14px 0px; + background: $defaultColor; + color: #fff;; + } + } + } + &-user{ + &:hover{ + ul{ + display: block; + } + } + span{ + cursor: pointer; + display: block; + max-width: 160px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + height: 30px; + line-height: 30px; + em{ + margin: 0 5px; + color: $defaultColor; + } + } + ul{ + display: none; + width: 80px; + border-bottom-left-radius: 20px; + border-bottom-right-radius: 20px; + background-color: #26282B; + // text-align: center; + // li{ + // text-indent: 1em; + // } + } + } + } + + } + +} diff --git a/src/style/common/pc/_icon.scss b/src/style/common/pc/_icon.scss new file mode 100644 index 0000000..ae51d89 --- /dev/null +++ b/src/style/common/pc/_icon.scss @@ -0,0 +1,379 @@ +.icon { + // background-image: url(../img/icon.png); + // vertical-align: middle; + // display: inline-block; + // background-repeat: no-repeat; + display: inline-block; + vertical-align: middle; + background-repeat: no-repeat; + background-position: center; + background-size: cover; + text-indent: -999em; + + + &-win { + width: 138px; + height: 188px; + background-image: url(/images/web/icon-win.png); + } + + &-loss { + width: 138px; + height: 188px; + background-image: url(/images/web/icon-loss.png); + } + + &-arrow { + width: 16px; + height: 16px; + background-image: url(/images/web/icon-more.png); + } + + &-fish { + width: 16px; + height: 16px; + background-image: url(/images/web/icon-fish.png); + } + + &-warn { + width: 16px; + height: 16px; + background-image: url(/images/web/icon-warn.png); + } + + &-del { + width: 16px; + height: 16px; + background-image: url(/images/web/del.png); + } + + &-right { + width: 20px; + height: 20px; + background-image: url(/images/web/icon_right.png); + } + + &-adc { + width: 22px; + height: 24px; + background-image: url(/images/web/icon-zb1.png); + } + + &-skill { + width: 22px; + height: 24px; + background-image: url(/images/web/icon-jineg.png); + } + + &-runes { + width: 22px; + height: 24px; + background-image: url(/images/web/icon-fuw.png); + } + + &-history { + width: 24px; + height: 24px; + background-image: url(/images/web/icon-home25.png); + } + + &-used { + width: 24px; + height: 24px; + background-image: url(/images/web/icon-home26.png); + } + + &-sort { + width: 12px; + height: 16px; + background-image: url(/images/web/inco-home14.png); + } + + &-coming { + width: 100px; + height: 96px; + background-image: url(/images/web/icon-coming.png); + } + + &-search { + width: 22px; + height: 22px; + background-image: url(/images/web/inco-home5.png); + } + + &-cupbg { + width: 166px; + height: 166px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKYAAACmAgMAAAAt5hzkAAAACVBMVEXrTmIAAADnQ1LpopHeAAAAA3RSTlMMAAYaD5iPAAACt0lEQVRYw+3WPW7cMBAF4CcBKtSlUZ9GRXIKHYGFSDCu1OQerFOlYW6QRqeMSK6Wken5sWPELvxg7MLYDxRnKJCEveUBT+fLCcydBhCJj6kHlfExXUDmMQWd6UpXhg5X6hk6XqlhaHelG0P7K13A5Bk0vpQGjk7vi/JlvSe672xZ+x5v1AWI+V3oBjl9pg6azIkaFe0SXaBKotBlMliVdDDwSjoaGCXtDFJX98CzHwHoDZa8xl7YBw6baGdlahINGBR0BX4edFbsWS5RZLoK1BY66ein16XDi6l7z3Q+aXgutTIt74BMnY5OJ11UdM2vdmlGeF26YVRQj15D40kNOgU91J0uCnoMraDHNDU0/5zoCqjoYOCAKNOAOdNJpkg0faZ5szSNd9Ag0L6sazRIMxapz8dGapmC9pmWDZSlJtP0xdIu96dL1AMiDRgTXYFJosBwO45nnmaSqM2ngadpaetB85w5OuZHnleHnqdFmMwReRrQFboCM0sdMBTq0r8rs72aW4/KJhQ9Q8Ot8+W17kHnM8p6lg8p3UlXkQ4ntSKd7nSTqL1TL8ixUis+v1Ij1V+p3XcSft1jpTnc09+WxoaG/0ttQ5d/p31LNz01BO1a6gk66unQ0pWgc0sdQaeGkmsQ9dQ2lGps9xQ1VANaulINaKmjqqqUr8s2lKprfJp6aqotteRUW7oRXa2UadfUUKoHvW0oVdjQULKwyNCtaSpJHVlUoVRhvW0oVdjcUHJYK1BTi5JoLSxK1C61KIn6WhRPa2FWQU0tSqIuDxs11D7kQQVam2CVdEOvpvpRl49RP0bVjbofCUD6ivqNaOSpQU1H0vZe9GqU2N9FOnPU6el6oQNHvf6EMcQJK55bPUnbmylHw5VGPZ1o6nDNTFJP33LkC0mvp6DooqH6UWu+ff/11991Cf4AEjZBnX82iJUAAAAASUVORK5CYII='); + } + &-forecast-status-1{ + width: 14px; + height: 14px; + background-image: url(/images/web/icon-forecast-status-1.png); + } + &-forecast-status-2{ + width: 14px; + height: 14px; + background-image: url(/images/web/icon-forecast-status-2.png); + } + &-forecast-status-3{ + width: 14px; + height: 14px; + background-image: url(/images/web/icon-forecast-status-3.png); + } + + &-match-all{ + background-image: url(/images/web/icon_allgame.png); + } + + &-match-lol{ + background-image: url(/images/web/icon_lol.png); + } + + &-match-dota2{ + background-image: url(/images/web/icon_dota2.png); + } + + &-match-csgo{ + background-image: url(/images/web/icon_csgo.png); + } + + &-match-wzry{ + background-image: url(/images/web/icon_wzry.png); + } + + &-match-swxf{ + background-image: url(/images/web/icon_swxf.png); + } + + &-match-other{ + background-image: url(/images/web/icon_other.png); + } + + &-close{ + width: 24px; + height: 24px; + background-image: url(/images/web/icon-close.png); + } + + &-weixin{ + width: 24px; + height: 20px; + background-image: url(/images/web/icon-weixin.png); + } + + &-rank-default{ + width: 10px; + height: 12px; + background-image: url(/images/web/icon-rank-default.png); + } + + &-rank-up{ + width: 10px; + height: 12px; + background-image: url(/images/web/icon-rank-up.png); + } + + &-rank-down{ + width: 10px; + height: 12px; + background-image: url(/images/web/icon-rank-down.png); + } + + + + &-uparrow { + width: 20px; + height: 20px; + position: relative; + vertical-align: baseline; + &::after { + content: ''; + width: 0; + height: 0; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + // border-bottom: 12px solid inherit; + border-bottom-width: 12px; + border-bottom-style: solid; + } + } + + &-downarrow { + width: 20px; + height: 20px; + position: relative; + vertical-align: baseline; + &::after { + content: ''; + width: 0; + height: 0; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + // border-top: 12px solid inherit; + border-top-width: 12px; + border-top-style: solid; + } + } + + &-avgarrow { + width: 20px; + height: 20px; + position: relative; + vertical-align: baseline; + &::before { + content: ''; + position: absolute; + left: 0; + top: 5px; + width: 100%; + height: 2px; + } + + &::after { + content: ''; + position: absolute; + left: 0; + bottom: 5px; + width: 100%; + height: 2px; + } + } + + &-loading{ + width: 32px; + height: 32px; + background-image: url(/images/web/loading.gif); + } + +} + +.color-eb5359 { + + &.icon-uparrow, + &.icon-downarrow { + &::after { + border-top-color: #eb5359; + border-bottom-color: #eb5359; + } + } + + &.icon-avgarrow { + + &::after, + &::before { + background-color: #eb5359; + } + } +} + +.color-2b9b27 { + + &.icon-uparrow, + &.icon-downarrow { + &::after { + border-top-color: #2b9b27; + border-bottom-color: #2b9b27; + } + } + + &.icon-avgarrow { + + &::after, + &::before { + background-color: #2b9b27; + } + } +} + +.descending{ + i.icon-sort{ + background-image: url(/images/web/inco-home15.png); + } +} +.ascending{ + i.icon-sort{ + background-image: url(/images/web/inco-home_xia.png); + } +} + +.forecast-status{ + padding-left: 10px; + width: 50px; + height: 18px; + line-height: 18px; + &.bg-eb5359{ + &::before{ + border-right-color: #eb5359; + } + } + &.bg-3399EE{ + &::before{ + border-right-color: #3399ed; + } + } + &.bg-1a1a1a{ + &::before{ + border-right-color: #1a1a1a; + } + } + &.bg-ccc{ + &::before{ + border-right-color: #ccc; + } + } + &::before{ + content:''; + position: absolute; + top: 0; + left: -8px; + width: 0; + height: 0; + border-top: 9px solid transparent; + border-right-width: 8px; + border-right-style: solid; + border-bottom: 9px solid transparent; + } +} + +.match_now-con-left-select{ + + +.icon{ + &-match-all{ + background-image: url(/images/web/icon_allgame_hover.png); + } + + &-match-lol{ + background-image: url(/images/web/icon_lol_hover.png); + } + + &-match-dota2{ + background-image: url(/images/web/icon_dota2_hover.png); + } + + &-match-csgo{ + background-image: url(/images/web/icon_csgo_hover.png); + } + + &-match-wzry{ + background-image: url(/images/web/icon_wzry_hover.png); + } + + &-match-swxf{ + background-image: url(/images/web/icon_swxf_hover.png); + } + + &-match-other{ + background-image: url(/images/web/icon_other_hover.png); + } +} +} \ No newline at end of file diff --git a/src/style/common/pc/_iconfont.scss b/src/style/common/pc/_iconfont.scss new file mode 100644 index 0000000..4aa5068 --- /dev/null +++ b/src/style/common/pc/_iconfont.scss @@ -0,0 +1,300 @@ +@font-face {font-family: "iconfont"; + src: url('//at.alicdn.com/t/font_1939314_ejabpynilk.eot?t=1594716012902'); /* IE9 */ + src: url('//at.alicdn.com/t/font_1939314_ejabpynilk.eot?t=1594716012902#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('//at.alicdn.com/t/font_1939314_ejabpynilk.woff?t=1594716012902') format('woff'), + url('//at.alicdn.com/t/font_1939314_ejabpynilk.ttf?t=1594716012902') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('//at.alicdn.com/t/font_1939314_ejabpynilk.svg?t=1594716012902#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-tingzhi:before { + content: "\e61a"; +} + +.icon-aixin1:before { + content: "\e619"; +} + +.icon-fangkuai:before { + content: "\e611"; +} + +.icon-222:before { + content: "\e602"; +} + +.icon-hexin:before { + content: "\e603"; +} + +.icon-jinggao:before { + content: "\e6c1"; +} + +.icon-fangxiang:before { + content: "\e624"; +} + +.icon-weibo:before { + content: "\e631"; +} + +.icon-jifen1:before { + content: "\e601"; +} + +.icon-tubiao:before { + content: "\e64a"; +} + +.icon-mubiao:before { + content: "\e66f"; +} + +.icon-duihua:before { + content: "\e62c"; +} + +.icon-kuaitui:before { + content: "\e612"; +} + +.icon-shuju:before { + content: "\e748"; +} + +.icon-huojianfeisu:before { + content: "\e609"; +} + +.icon-xiangxiayuanjiantouxiajiantouxiangxiaxianxing:before { + content: "\e8f5"; +} + +.icon-riliyuelinianlishijianbiaoriqixuanzemianxing:before { + content: "\e9af"; +} + +.icon-yixie:before { + content: "\e626"; +} + +.icon-suo:before { + content: "\ea1f"; +} + +.icon-liwu:before { + content: "\e662"; +} + +.icon-duizhan:before { + content: "\e606"; +} + +.icon-zhongzhi:before { + content: "\e60d"; +} + +.icon-ziyuan:before { + content: "\ebd9"; +} + +.icon-shuping:before { + content: "\e604"; +} + +.icon-bukaixin:before { + content: "\e634"; +} + +.icon-baifangjieguo:before { + content: "\e60a"; +} + +.icon-shouqiang:before { + content: "\e778"; +} + +.icon-arrow-right:before { + content: "\e605"; +} + +.icon-chushi:before { + content: "\e83b"; +} + +.icon-xiaotulong-bigx:before { + content: "\e607"; +} + +.icon-cengji:before { + content: "\e63b"; +} + +.icon-erhuan:before { + content: "\e60b"; +} + +.icon-xie:before { + content: "\e6a9"; +} + +.icon-zhengque1:before { + content: "\e60e"; +} + +.icon-wenti:before { + content: "\e672"; +} + +.icon-yidongduan-LOLjian:before { + content: "\e696"; +} + +.icon-buyuyouxi:before { + content: "\e613"; +} + +.icon-xiaolian_:before { + content: "\e60f"; +} + +.icon-forward:before { + content: "\e637"; +} + +.icon-weixinzhifu:before { + content: "\e614"; +} + +.icon-kulou:before { + content: "\e6a0"; +} + +.icon-shizhong:before { + content: "\e610"; +} + +.icon-liubianxing:before { + content: "\e7ae"; +} + +.icon-jinengzu:before { + content: "\e616"; +} + +.icon-baozha:before { + content: "\e632"; +} + +.icon-dalong:before { + content: "\e674"; +} + +.icon-guanbi:before { + content: "\e617"; +} + +.icon-guanbi1:before { + content: "\e620"; +} + +.icon-shalou:before { + content: "\e64e"; +} + +.icon-lishishujutongji:before { + content: "\e618"; +} + +.icon-ta:before { + content: "\e62a"; +} + +.icon-huodejifen-1:before { + content: "\e61f"; +} + +.icon-ziyuan243:before { + content: "\e746"; +} + +.icon-vip:before { + content: "\e625"; +} + +.icon-iconfont16x16moban:before { + content: "\e649"; +} + +.icon-sousuo:before { + content: "\e600"; +} + +.icon-lol:before { + content: "\e639"; +} + +.icon-lajixiang:before { + content: "\e623"; +} + +.icon-dota:before { + content: "\e615"; +} + +.icon-shouwangxianfeng:before { + content: "\e60c"; +} + +.icon-aixin:before { + content: "\e608"; +} + +.icon-shezhi:before { + content: "\e640"; +} + +.icon-gengduo:before { + content: "\e70e"; +} + +.icon-youxi:before { + content: "\e64f"; +} + +.icon-remen:before { + content: "\e66c"; +} + +.icon-dengji:before { + content: "\e67e"; +} + +.icon-wangzherongyao-:before { + content: "\e67f"; +} + +.icon-pingheng-yucefenxi:before { + content: "\e647"; +} + +.icon-xingxing:before { + content: "\e62b"; +} + +.icon-qianbao:before { + content: "\e670"; +} + +.icon-csgo:before { + content: "\e68d"; +} diff --git a/src/style/common/pc/_imgsize.scss b/src/style/common/pc/_imgsize.scss new file mode 100644 index 0000000..11efffd --- /dev/null +++ b/src/style/common/pc/_imgsize.scss @@ -0,0 +1,202 @@ +.imgsize-14X14 { + width: 14px; + height: 14px; +} +.imgsize-16X16 { + width: 16px; + height: 16px; +} +.imgsize-18X18 { + width: 18px; + height: 18px; +} +.imgsize-20X20 { + width: 20px; + height: 20px; +} + +.imgsize-22X22 { + width: 22px; + height: 22px; +} + +.imgsize-24X24 { + width: 24px; + height: 24px; +} + +.imgsize-26X26 { + width: 26px; + height: 26px; +} + +.imgsize-28X28 { + width: 28px; + height: 28px; +} + +.imgsize-30X30 { + width: 30px; + height: 30px; +} + +.imgsize-30X48 { + width: 30px; + height: 48px; +} + +.imgsize-32X32 { + width: 32px; + height: 32px; +} + +.imgsize-34X34 { + width: 34px; + height: 34px; +} + +.imgsize-36X36 { + width: 36px; + height: 36px; +} + +.imgsize-40X40 { + width: 40px; + height: 40px; +} + +.imgsize-45X45 { + width: 45px; + height: 45px; +} + +.imgsize-44X44 { + width: 44px; + height: 44px; +} + +.imgsize-48X48 { + width: 48px; + height: 48px; +} + +.imgsize-50X50 { + width: 50px; + height: 50px; +} + +.imgsize-53X53 { + width: 53px; + height: 53px; +} + +.imgsize-60X44 { + width: 60px !important; + height: 44px !important; +} + +.imgsize-60X45 { + width: 60px !important; + height: 45px !important; +} + +.imgsize-60X60 { + width: 60px; + height: 60px; +} + +.imgsize-63X48 { + width: 63px; + height: 48px; +} + +.imgsize-68X54 { + width: 68px; + height: 54px; +} + +.imgsize-78X44 { + width: 78px !important; + height: 44px !important; + border: 0; + border-radius: 0; +} + +.imgsize-80X45 { + width: 80px !important; + height: 45px !important; +} + +.imgsize-80X80 { + width: 80px; + height: 80px; +} + +.imgsize-90X90 { + width: 90px; + height: 90px; +} + +.imgsize-92X92 { + width: 92px; + height: 92px; +} + +.imgsize-92X52 { + width: 92px; + height: 52px; +} + +.imgsize-100X100 { + width: 100px; + height: 100px; +} + +.imgsize-106X80 { + width: 106px; + height: 80px; +} +.imgsize-122X122 { + width: 122px; + height: 122px; +} + +.imgsize-130X80 { + width: 130px; + height: 80px; +} + +.imgsize-140X140 { + width: 140px; + height: 140px; +} + +.imgsize-160X60 { + width: 160px; + height: 60px; +} + +.imgsize-216X122{ + width: 216px; + height: 122px; +} + +.imgsize-250X140 { + width: 250px; + height: 140px; +} + +.imgsize-216X122 { + width: 216px; + height: 122px; +} + +.imgsize-370X230 { + width: 370px; + height: 230px; +} + +.imgsize-768X480 { + width: 100%; + height: 480px; +} \ No newline at end of file diff --git a/src/style/common/pc/_layout.scss b/src/style/common/pc/_layout.scss new file mode 100644 index 0000000..5db3ca0 --- /dev/null +++ b/src/style/common/pc/_layout.scss @@ -0,0 +1,77 @@ +.clear:before,.clear:after{content:"";display:table;} +.clear:after{clear:both;} +.clear{zoom:1;} +.fl{float:left;} +.fr{float:right;} + + +.fn-clear:before,.fn-clear:after{content:"";display:table;} +.fn-clear:after{clear:both;} +.fn-clear{zoom:1;} +.fn-fl{float:left;} +.fn-fr{float:right;} + +.fn-flex{display:-webkit-flex;display:-ms-flexbox;display:-webkit-box;display:flex;flex-flow:row;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;} +.fn-flex-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;} +.fn-flex-item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;} +.fn-flex-item[flexsize="2"]{-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2;} +.fn-flex-item[flexsize="3"]{-webkit-box-flex:3;-webkit-flex:3;-ms-flex:3;flex:3;} +.fn-flex-item[flexsize="4"]{-webkit-box-flex:4;-webkit-flex:4;-ms-flex:4;flex:4;} +.fn-flex-item[flexsize="5"]{-webkit-box-flex:5;-webkit-flex:5;-ms-flex:5;flex:5;} +.fn-flex-item[flexsize="6"]{-webkit-box-flex:6;-webkit-flex:6;-ms-flex:6;flex:6;} +.fn-flex-item[flexsize="7"]{-webkit-box-flex:7;-webkit-flex:7;-ms-flex:7;flex:7;} +.fn-flex-item[flexsize="8"]{-webkit-box-flex:8;-webkit-flex:8;-ms-flex:8;flex:8;} +.fn-flex-item[flexsize="9"]{-webkit-box-flex:9;-webkit-flex:9;-ms-flex:9;flex:9;} +.fn-flex-wrap{flex-wrap:wrap}/*多行*/ +.justify-between{justify-content: space-between;} +.justify-center{justify-content:center;} +/*layout display*/ +.block{display:block;} +.inline-block{display:inline-block;} +.fn-hide{display:none !important;} +.overflowhidden{overflow:hidden;} +.scroll-x{overflow-x:auto;} +.scroll-y{overflow-y:auto;} + +/*layout position*/ +.relative{position:relative;} +.absolute{position:absolute;} +.fixed{position:fixed;} +.top-0{top:0;} +.left-0{left:0;} +.bottom-0{bottom:0;} +.right-0{right:0;} + +.z-index-0{z-index:0;} +.z-index-1{z-index:1;} +.z-index-2{z-index:2;} +.z-index-3{z-index:3;} +.z-index-4{z-index:4;} +.box-center-middle{top:50%;left:50%;transform:translate(-50%,-50%);} +.box-middle{top:50%;transform:translate(0,-50%);} +.box-center{left:50%;transform:translate(-50%,0);} + + +.box-border{box-sizing: border-box;} + +// html,body{height:100%;background: #f0f0f0;} +// #stage{min-height:100%;_display:table;_height:100%;min-width:1200px;} +// #main{overflow:auto;padding-bottom:145px;padding-top:60px;} +// #footer{position:relative;margin-top:-145px;height:145px;clear:both;} +// body:before{content:"";height:100%;float:left;width:0;margin-top:-32767px;} + +.wp20{width:20%;box-sizing:border-box;} +.wp25{width:25%;box-sizing:border-box;} +.wp33{width:33%;box-sizing:border-box;} +.wp40{width:40%;box-sizing:border-box;} +.wp50{width:50%;box-sizing:border-box;} +.wp60{width:60%!important;box-sizing:border-box;} +.wp65{width:65%!important;box-sizing:border-box;} +.wp70{width:70%!important;box-sizing:border-box;} +.wp80{width:80%!important;box-sizing:border-box;} +.wp90{width:90%;box-sizing:border-box;} +.wp100{width:100%;box-sizing:border-box;} + +.transition-all{transition: all ease .2s;} + +.op20{opacity: .2;} \ No newline at end of file diff --git a/src/style/common/pc/_layui.scss b/src/style/common/pc/_layui.scss new file mode 100644 index 0000000..06645e8 --- /dev/null +++ b/src/style/common/pc/_layui.scss @@ -0,0 +1,181 @@ +/* + + @Name: layer's style + @Author: 贤心 + @Blog: sentsin.com + + */ +.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap} +*html{background-image:url(about:blank);background-attachment:fixed} +html #layui_layer_skinlayercss{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;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;box-shadow:1px 1px 50px rgba(0,0,0,.3);border-radius:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s} +.layui-layer-close{position:absolute} +.layui-layer-content{position:relative} +.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.3);box-shadow:1px 1px 5px rgba(0,0,0,.2)} +.layui-layer-moves{position:absolute;border:3px solid #666;border:3px solid rgba(0,0,0,.5);cursor:move;background-color:#fff;background-color:rgba(255,255,255,.3);filter:alpha(opacity=50)} +.layui-layer-load{background:url(../../images/global/loading-0.gif) center center no-repeat #fff} +.layui-layer-ico{background:url(../../images/global/layer-icon.png) no-repeat} +.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top} +@-webkit-keyframes bounceIn{ + 0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)} + 100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)} +} +@keyframes 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{-webkit-animation-name:bounceIn;animation-name:bounceIn} +@-webkit-keyframes bounceOut{ + 100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)} + 30%{-webkit-transform:scale(1.03);transform:scale(1.03)} + 0%{-webkit-transform:scale(1);transform:scale(1)} +} +@keyframes bounceOut{ + 100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)} + 30%{-webkit-transform:scale(1.03);-ms-transform:scale(1.03);transform:scale(1.03)} + 0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)} +} +.layer-anim-close{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.2s;animation-duration:.2s} +@-webkit-keyframes 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 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:zoomInDown;animation-name:zoomInDown} +@-webkit-keyframes fadeInUpBig{ + 0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)} + 100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)} +} +@keyframes 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:fadeInUpBig;animation-name:fadeInUpBig} +@-webkit-keyframes 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 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:zoomInLeft;animation-name:zoomInLeft} +@-webkit-keyframes 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 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:rollIn;animation-name:rollIn} +@keyframes fadeIn{ + 0%{opacity:0} + 100%{opacity:1} +} +.layer-anim-05{-webkit-animation-name:fadeIn;animation-name:fadeIn} +@-webkit-keyframes 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 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:shake;animation-name:shake} +@-webkit-keyframes fadeIn{ + 0%{opacity:0} + 100%{opacity:1} +} +.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0} +.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial} +.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden} +.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden} +.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA} +.layui-layer-setwin .layui-layer-max{background-position:-32px -40px} +.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px} +.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px} +.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px} +.layui-layer-setwin .layui-layer-close1{background-position:0 -40px;cursor:pointer} +.layui-layer-setwin .layui-layer-close1:hover{opacity:.7} +.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none} +.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px} +.layui-layer-btn{text-align:right;padding:0 10px 12px;pointer-events:auto} +.layui-layer-btn a{height:28px;line-height:28px;margin:0 6px;padding:0 15px;border:1px solid #dedede;background-color:#f1f1f1;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:.7} +.layui-layer-btn .layui-layer-btn0{border-color:#4898d5;background-color:#2e8ded;color:#fff} +.layui-layer-dialog{min-width:260px} +.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;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-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px} +.layui-layer-ico1{background-position:-30px 0} +.layui-layer-ico2{background-position:-60px 0} +.layui-layer-ico3{background-position:-90px 0} +.layui-layer-ico4{background-position:-120px 0} +.layui-layer-ico5{background-position:-150px 0} +.layui-layer-ico6{background-position:-180px 0} +.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-content{padding:12px 25px;text-align:center} +.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;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 .layui-layer-content{overflow:hidden} +.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:60px;height:24px;background:url(../../images/global/loading-0.gif) no-repeat} +.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(../../images/global/loading-1.gif) no-repeat} +.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(../../images/global/loading-2.gif) no-repeat} +.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:5px 10px;font-size:12px;_float:left;border-radius:3px;box-shadow:1px 1px 3px rgba(0,0,0,.3);background-color:#F90;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:#F90} +.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:1px;border-bottom-style:solid;border-bottom-color:#F90} +.layui-layer-tips i.layui-layer-TipsR{left:-8px} +.layui-layer-tips i.layui-layer-TipsL{right:-8px} +.layui-layer-lan[type=dialog]{min-width:280px} +.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none} +.layui-layer-lan .layui-layer-btn{padding:10px;text-align:right;border-top:1px solid #E9E7E7} +.layui-layer-lan .layui-layer-btn a{background:#BBB5B5;border:none} +.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} +.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1} +.layui-layer-iconext{background:url(../../images/global/layer-icon-ext.png) no-repeat} +.layui-layer-prompt .layui-layer-input{display:block;width:220px;height:30px;margin:0 auto;line-height:30px;padding:0 5px;border:1px solid #ccc;box-shadow:1px 1px 5px rgba(0,0,0,.1) inset;color:#333} +.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px} +.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)} +.layui-layer-tab .layui-layer-title{padding-left:0;border-bottom:1px solid #ccc;background-color:#eee;overflow:visible} +.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;cursor:default;overflow:hidden} +.layui-layer-tab .layui-layer-title span.layui-layer-tabnow{height:43px;border-left:1px solid #ccc;border-right:1px solid #ccc;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.xubox_tab_layer{display:block} +.xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer} +.layui-layer-photos{-webkit-animation-duration:1s;animation-duration:1s} +.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-imgbar,.layui-layer-imguide{display:none} +.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())} +.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px} +.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px} +.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px} +.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px} +.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0} +.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px} +.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff} +.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline} +.layui-layer-imgtit em{padding-left:10px;font-style:normal} \ No newline at end of file diff --git a/src/style/common/pc/_nav.scss b/src/style/common/pc/_nav.scss new file mode 100644 index 0000000..e97ea91 --- /dev/null +++ b/src/style/common/pc/_nav.scss @@ -0,0 +1,89 @@ + +#nav{ + background:rgba(16,22,30,.5); + height: 48px; + // position: fixed; + top: 50px; + width: 100%; + z-index: 10; + .icon-arrow{ + transition: .2s all ease-in; + width: 12px; + height: 12px; + background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAb1BMVEUAAADMzMzNzc3MzMzMzMzMzMzMzMzMzMzNzc3Nzc3Nzc3MzMzZ2dnMzMzNzc3IyMjMzMzMzMzNzc3Ly8vMzMzNzc3MzMzNzc3Nzc3MzMzKysrOzs7MzMzMzMzMzMzMzMzMzMzMzMzLy8vMzMzMzMzDCjeDAAAAJHRSTlMA+kP18Nt35aRoUwwGiScc0sKxlIJvWk48NzUV5t/Ps5yNYl8rrKDyAAAAwklEQVQ4y92R2RKCMAxFU7qDguwI7ub/v1GamU5By/is54XkHtrOJPAb7L5Ixc7jlh40syAQxRD3CUfUcEVEnsR8z2ZlIJMbf6TOHzKAXMwF69995/ypoKdcybq1tzjDj0A8XMOeS9+iI/XtnlobvKJAhaCioPVtQ62BQHbxR8KF5WrEhaawcXVNpZxgxcgp3gPcqBD5x1yQqA19WGRyChdYiGCCv8d3X3pfQZxJkqYNxaG9oS5gk4SFDcVJpUzgD3kB1aoYrYug5P4AAAAASUVORK5CYII='); + } + ul { + height: 48px; + li { + height: 100%; + margin-right: 34px; + a { + height: 48px; + line-height: 48px; + } + dl{ + display: none; + } + a:hover { + background-color: #EB5359; + } + &:hover{ + dl{ + display: block; + } + a.nav_f_link{ + background-color: #EB5359; + } + .icon-arrow{ + transform: rotate(180deg); + } + } + } + .active { + background-color: #EB5359; + } + } + &.jewelry-nav{ + height: 68px; + h1{ + text-indent: -999em; + margin-top: 20px; + } + ul{ + height: 68px; + line-height: 68px; + li{ + a{ + height: 68px; + line-height: 68px; + position: relative; + &:hover { + background-color: transparent; + color: #51D3F4; + &::after{ + // background-color: #51D3F4; + } + } + &::after{ + content: ''; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 4px; + } + } + &.active{ + background-color: transparent; + a{ + background-color: transparent; + color: #51D3F4; + &::after{ + background-color: #51D3F4; + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/style/common/pc/_page.scss b/src/style/common/pc/_page.scss new file mode 100644 index 0000000..b5210f3 --- /dev/null +++ b/src/style/common/pc/_page.scss @@ -0,0 +1,57 @@ +// .pages{font-size:12px;padding-bottom:20px;color:#888} +// .pages a,.pages span{display:inline-block;padding:4px 9px;margin:0 2px} +// .pages a{border:1px solid #ddd;color:#42b1e6} +// .pages a.current,.pages a:hover{border-color:#42b1e6;background-color:#42b1e6;color:#fff} +// .pages span{background-color:#efefef;border:1px solid #efefef} +@use '../../base/variable'; +.pagination{ + font-size: 16px; + color: #999; + text-align: center; + &.jewelry-pagination{ + span{ + &.active{ + color: #1F1D32; + background-color: rgba($color: #fff, $alpha: .2); + } + } + a{ + color: #445A6E; + background-color: rgba($color: #fff, $alpha: .03); + &:hover{ + color: #1F1D32; + background-color: rgba($color: #fff, $alpha: .2); + } + } + } + span{ + margin: 0 3px; + &.active{ + display: inline-block; + width: 36px; + height: 36px; + line-height: 36px; + text-align: center; + color: #fff; + background-color: $defaultColor; + } + } + a{ + margin: 0 3px; + display: inline-block; + width: 36px; + height: 36px; + line-height: 36px; + text-align: center; + color: #999; + background-color: #f0f0f0; + &.jump-btn{ + background-color: inherit; + color: #999; + } + } + input[type=text]{ + width: 30px; + border: 1px solid #eee; + } +} \ No newline at end of file diff --git a/src/style/common/pc/_pos.scss b/src/style/common/pc/_pos.scss new file mode 100644 index 0000000..08c75a0 --- /dev/null +++ b/src/style/common/pc/_pos.scss @@ -0,0 +1,17 @@ +// .pos .fl { +// line-height: 50px; +// height: 50px; +// } + +// .pos .fr { +// margin-top: 8px; +// } + +// .pos .btn { +// padding: 5px 30px; +// margin-left: 5px; +// } + +// .pos-bottom-line { +// border-bottom: 1px solid #f3f3f3; +// } \ No newline at end of file diff --git a/src/style/common/pc/_reset.scss b/src/style/common/pc/_reset.scss new file mode 100644 index 0000000..9c8daf9 --- /dev/null +++ b/src/style/common/pc/_reset.scss @@ -0,0 +1,168 @@ +html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border-style:none} +html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,textarea,input[type="text"]{font-size:100%;vertical-align:baseline} +body{color:#333} +body,button,input,select,textarea{font:16px/1.6 tahoma,arial,'Hiragino Sans GB',\5FAE\8F6F\96C5\9ED1,\5b8b\4f53,"WenQuanYi Micro Hei",sans-serif;} +article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block} +audio,canvas,video{display:inline-block;*display:inline;*zoom:1} +audio:not([controls]){display:none} +button,select,input{vertical-align:middle!important;} +[hidden]{display:none} +*{-webkit-text-size-adjust:none} +*:focus{outline:none} +a{color:#333;text-decoration:none} +a:focus,input:focus{-moz-outline-style:none;outline-style:none} +a:hover{text-decoration:none; } +del{text-decoration:line-through} +table{border-collapse:collapse;border-spacing:0} +ul,ol{list-style:none} +textarea{resize:none} +em,i{font-style:normal} +img{vertical-align:middle} +a,a img,a p,a i{transition: all 0.5s ease;} +hr { + border-color: #c0c0c0; +} + +* { + // box-sizing: border-box; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + } + + html, + body, + div, + span, + applet, + object, + iframe, + h1, + h2, + h3, + h4, + h5, + h6, + p, + blockquote, + pre, + a, + abbr, + acronym, + address, + big, + cite, + code, + del, + dfn, + em, + img, + ins, + kbd, + q, + s, + samp, + small, + strike, + strong, + sub, + sup, + tt, + var, + b, + u, + i, + center, + dl, + dt, + dd, + ol, + ul, + li, + fieldset, + form, + label, + legend, + table, + caption, + tbody, + tfoot, + thead, + tr, + th, + td, + article, + aside, + canvas, + details, + figcaption, + figure, + footer, + header, + hgroup, + menu, + nav, + section, + summary, + time, + mark, + audio, + video { + margin: 0; + padding: 0; + } + + ul, + ol { + list-style: none; + } + + table { + border-collapse: collapse; + border-spacing: 0; + } + + .clearfix:after { + content: ""; + display: table; + clear: both; + } + + input:focus, + select:focus, + textarea:focus { + outline: none; + } + + em { + font-style: normal; + } + + input[type="number"]::-webkit-inner-spin-button, + input[type="number"]::-webkit-outer-spin-button { + -webkit-appearance: none; + } + + input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; + } + + input[type="search"]::-webkit-search-cancel-button, + input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + a { + text-decoration: none; + color: #333; + } + + body, + button, + select, + textarea { + font-family: '\5FAE\8F6F\96C5\9ED1', Tahoma, Arial, Helvetica, sans-serif; + } + + html { + width: 100%; + } \ No newline at end of file diff --git a/src/style/common/pc/_side.scss b/src/style/common/pc/_side.scss new file mode 100644 index 0000000..e0a5527 --- /dev/null +++ b/src/style/common/pc/_side.scss @@ -0,0 +1,107 @@ +@use '../../base/variable'; +aside{ + margin-right: 20px; + margin-bottom: 100px; + .icon{ + &.icon-sidemenu{ + background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALnRSTlMAzMfDrQS5cSKyvqOHOjcqC2RTMyeWTZOOd1pCLhgOCIJ/HKedi15WSEYSmWk92D2yHgAAAWxJREFUOMuNUleSgzAUe7IdegkdQgqQnt3c/3prEwgl7Ez0YWSkQXrG9D1WZX20GBdOul+UNxp4UuhFLp/6p8U4InuuXtyvmebO9MgyvbHdZuFEj7n9mAY6uI+2B1PMQ1c5b4bdLzNojrWWDZzr9Ikb/J6m2NECtKJnzkmtO1Vz32Z5pRq4MHuDqRICyMkiDkdR5G3GujPwq2zNAI0yAAaZAORUW/TVoQ7FAgQ5gOyTSK/M8BF3BiuQS6mZETW2dZFtzsmWiNx395NDS7jwqO7OyVotGX4yF17LYtwXdAMpiarzioVPnLUD6d1R+Kz40FOkRFfW7QJsZrrHzjQyUAV9khKy04HoHaEogkH2E+RKp2M1vBS6LF7GjeEGNqzwlQN3Ygg5Wtib119aC5tGhtpBHt3C1Hv09yjh8chgg6lJoizudcGek7mqVvE1JBvPd10ycKclrAMTCs4WW/oHjVtGF2YNhkX4wj7QV/gDHrcSzCNIwDQAAAAASUVORK5CYII='); + } + &.icon-sidetop{ + background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAQlBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////8IX9KGAAAAFnRSTlMAzF8wNsPHM75IPidCK0OphXtyDLYWIEJABAAAAIlJREFUOMvtytsOgjAURNE5tvRCuQn6/7/qsUaqKY4h4ZHJvO2F/5uEbFIQGAgK0oUs4fClWzC0B5GGiF67Cs86Eblf9e6HMI1INCJ22BbaXcQToNsSPvcXyMLWfcAb1MLmXgDab5G0dyigElFciwJWYYro8QFWMaOsBvDznQPdCQjwFCzjuGDfHn+FBHlvISY6AAAAAElFTkSuQmCC'); + } + &.icon-sideqq{ + background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABMUlEQVQ4T53TrWvXURTH8dfHB3CyGS0mm0yMsjKD2QcGIou6JjZxccKKK66LSQ1iEEw6cdWysCiu7R8wiCbxgSMXft/x5Sub33nK5Tx83px7z7kxsKo6hru4hdlJ+iOe4kmS331J+k5VncAGLg/BE/89rif50eWHgEdY3kfchR8mWfkLUFUn8RntPMi+4nTXxV4HVTWPD/8Qd+mLSbab0wfcweORgKUkz4aAN7gyEvA6yY09QFVdxUtMjwR8w80km6mqM/iEUyPFXdkXnGuAddw/pLgrX2uAXZz9T8BOA3zHJq4dAlJ4i0sNcAFt19sjLo6EPMcSzvf3YAGv0D7TQdb+wUKSd/0xTqGt6PGBssWOYGYQb9eeSfKr38Ft3GujwU9s4cEEuoo5HMUO1pO8aNA/evBej0fxIBEAAAAASUVORK5CYII='); + } + } + ul{ + height: 120px; + li{ + margin-bottom: 5px; + &:first-of-type{ + span{ + background-color: $defaultColor; + } + &.on,&:hover{ + span{ + background-color: darken($color: $defaultColor, $amount: 7); + } + } + } + &.on,&:hover{ + span{ + background-color: #666; + } + } + &:hover{ + .aside-tooltip{ + display: block; + } + } + span{ + display: inline-block; + width: 50px; + height: 50px; + border-radius: 100%; + background-color: #aaa; + transition: .1s all ease-in; + cursor: pointer; + &#retTop{ + display: none; + } + i{ + width: 25px; + height: 25px; + + } + } + .aside-tooltip{ + display: none; + width: 180px; + height: 340px; + top: 50%; + left: -200px; + border-radius: 10px; + transform: translateY(-50%); + box-shadow: 0px 5px 10px 0px rgba(200, 200, 200, 0.2); + &-arrow{ + width: 50px; + height: 25px; + top: 50%; + left: 167px; + transform: translateY(-50%) rotate(-90deg); + overflow: hidden; + &::after { + content: ""; + position: absolute; + width: 20px; + height: 20px; + background: white; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + top: 0; + left: 50%; + box-shadow: 1px 1px 10px 0px rgba(200, 200, 200, 0.2); + } + } + &-main{ + .btn{ + width: 120px; + height: 36px; + line-height: 36px; + background-color: $defaultColor; + border-radius: 100px; + text-align: center; + color: #fff; + &:hover{ + background-color: lighten($color: $defaultColor, $amount: 10); + } + } + i{ + width: 16px; + height: 16px; + margin-right: 3px; + } + } + } + } + } +} \ No newline at end of file diff --git a/src/style/common/pc/_word.scss b/src/style/common/pc/_word.scss new file mode 100644 index 0000000..968be61 --- /dev/null +++ b/src/style/common/pc/_word.scss @@ -0,0 +1,54 @@ +.yahei{font-family:"Microsoft Yahei","微软雅黑",Tahoma,Arial,Helvetica,STHeiti} +.tc{text-align:center} +.tr{text-align:right} +.ti {text-indent:2em;} +.font-12{font-size:12px;} +.font-14{font-size:14px;} +.font-16{font-size:16px;} +.font-18{font-size:18px;} +.font-20{font-size:20px;} +.font-22{font-size:22px;} +.font-24{font-size:24px;} +.font-26{font-size:26px;} +.font-28{font-size:28px;} +.font-30{font-size:30px;} +.font-32{font-size:32px;} +.font-34{font-size:34px;} +.font-36{font-size:36px;} +.font-38{font-size:38px;} +.font-40{font-size:40px;} +.font-42{font-size:42px;} +.font-44{font-size:44px;} +.font-46{font-size:46px;} +.font-48{font-size:48px;} +.font-50{font-size:50px;} +.font-56{font-size:56px;} +.font-58{font-size:58px;} +.font-60{font-size:60px;} +.font-62{font-size:62px;} +.font-80{font-size: 80px;} + +/*text render*/ +.text-nowrap{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +.text-left{text-align:left;} +.text-center{text-align:center;} +.text-right{text-align:right;} +.text-underline{text-decoration:underline;} +.text-through{text-decoration:line-through;} +.text-middle{vertical-align:middle} +.text-lighter{font-weight:400;} +.text-italic{font-style: italic;} +.text-bold{font-weight:600;} +.text-break{word-break:break-all;word-wrap:break-word;} +.space-nowrap{white-space:nowrap;} +.space-normal{white-space:normal;} +.text-arial{font-family: Arial, Helvetica, sans-serif;} +.cursor-pointer{cursor: pointer;} + +/*line-clamp*/ +.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;} +.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;} + +.line-height-1{line-height:1} +.line-height-15{line-height:1.5} +.line-height-17{line-height:1.7} \ No newline at end of file diff --git a/src/style/common/pc_index.scss b/src/style/common/pc_index.scss new file mode 100644 index 0000000..f38e64d --- /dev/null +++ b/src/style/common/pc_index.scss @@ -0,0 +1,74 @@ +@use '../base/_variable'; +@use 'pc/_reset'; +@use 'pc/_border'; +@use 'pc/_box'; +@use 'pc/_btn'; +@use 'pc/_color'; +@use 'pc/_footer'; +@use 'pc/_header'; +@use 'pc/_nav'; +@use 'pc/_iconfont'; +@use 'pc/_layout'; +// @use '_layui'; +@use 'pc/_page'; +// @use '_pos'; +@use 'pc/_word'; +@use 'pc/_side'; +@use 'pc/_imgsize'; +@use 'pc/_icon'; +html { + height: 100%; +} +body { + min-height: 100%; + display: flex; + flex-direction: column; +} +main { + flex: 1; +} + +html,body{ + background-color: #f2f5f6; +} + +.wrap { + width: 1200px; + margin: 0 auto; +} + +.min-wrap { + width: 1000px; + margin: 0 auto; +} +.icon{ + // display: inline-block; + // vertical-align: middle; + // background-repeat: no-repeat; + // background-position: center; + // background-size: cover; + // text-indent: -999em; +} +.swiper-container { + width: 100%; + height: 100%; +} +.swiper-slide { + text-align: center; + font-size: 18px; + background: #fff; + + /* Center slide text vertically */ + display: -webkit-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} \ No newline at end of file diff --git a/src/style/pages/h5.css b/src/style/pages/h5.css new file mode 100644 index 0000000..cbd8643 --- /dev/null +++ b/src/style/pages/h5.css @@ -0,0 +1 @@ +@use '../common/mobile';.text-color-theme{color:#f84803}.bg-msg-theme{background-color:#f84803}.bg-theme{background-color:#f84803}/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:'PingFang SC', 'Helvetica Neue', 'Helvetica', 'STHeitiSC-Light', 'Arial', sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0;background:#fff;color:#000}*{box-sizing:border-box}*,*:before,*:after{-webkit-tap-highlight-color:transparent}body,div,p,ul,ol,dl,dd,h1,h2,h3,h4,h5,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0}h1,h2,h3,h4,h5{font-weight:normal}table{width:100%;border-collapse:collapse;border-spacing:0}ul,ol{list-style:none}h1{font-size:2rem}h2{font-size:1.6rem}h4{font-size:0.8rem}h5{font-size:0.6rem}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent;text-decoration:none;color:#333}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:75%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0;width:100%;vertical-align:top}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;padding:0;font:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}input{line-height:normal}input[type="text"],input[type="tel"],input[type="number"],input[type="search"],input[type="password"],input[type="date"],input[type="time"],textarea{display:block;width:100%}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type=number]{-moz-appearance:textfield}select,button,textarea,input[type="button"],input[type="submit"],input[type="text"],input[type="tel"],input[type="number"],input[type="search"],input[type="password"],input[type="date"],input[type="time"],input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border-style:none}select,textarea:focus,select:focus,button:focus,input[type="text"]:focus,input[type="tel"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="date"]:focus,input[type="time"]:focus,input[type="button"],input[type="submit"]{outline:none}fieldset{margin:0 2px;padding:0.35em 0.625em 0.75em;border:1px solid #c0c0c0}legend{padding:0;color:inherit}textarea{height:4rem;resize:none;overflow:auto}optgroup{font-weight:bold}input[type="date"]:before,input[type="time"]:before{color:#aaa;content:attr(placeholder)}input[type="date"].clearph:before,input[type="time"].clearph:before{color:#000;content:'' !important}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#bbb}input:-moz-placeholder,textarea:-moz-placeholder{color:#bbb}input::-moz-placeholder,textarea::-moz-placeholder{color:#bbb}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#bbb}.fn-flex{display:-webkit-flex;display:-ms-flexbox;display:-webkit-box;display:flex;flex-flow:row;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.fn-flex-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.fn-flex-baseline{-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline}.flex-justify-center{justify-content:center}.fn-flex-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.fn-flex-item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.fn-flex-item[flexsize="2"]{-webkit-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.fn-flex-item[flexsize="3"]{-webkit-box-flex:3;-webkit-flex:3;-ms-flex:3;flex:3}.fn-flex-item[flexsize="4"]{-webkit-box-flex:4;-webkit-flex:4;-ms-flex:4;flex:4}.fn-flex-item[flexsize="5"]{-webkit-box-flex:5;-webkit-flex:5;-ms-flex:5;flex:5}.fn-flex-item[flexsize="6"]{-webkit-box-flex:6;-webkit-flex:6;-ms-flex:6;flex:6}.fn-flex-item[flexsize="7"]{-webkit-box-flex:7;-webkit-flex:7;-ms-flex:7;flex:7}.fn-flex-item[flexsize="8"]{-webkit-box-flex:8;-webkit-flex:8;-ms-flex:8;flex:8}.fn-flex-item[flexsize="9"]{-webkit-box-flex:9;-webkit-flex:9;-ms-flex:9;flex:9}.fn-flex-item[hdtrole~="gutter"]{margin-right:.4rem}.fn-flex-item:last-child[hdtrole~="gutter"]{margin-right:0;margin-left:.4rem}.list-item>.fn-flex>.list-photo+.fn-flex-item,.list-item.fn-flex>.list-photo+.fn-flex-item{max-width:60%}.list-item .fn-flex-item[flexsize="2"]{max-width:20%}.list-item .fn-flex-item[flexsize="3"]{max-width:30%}.list-item .fn-flex-item[flexsize="4"]{max-width:40%}.list-item .fn-flex-item[flexsize="5"]{max-width:50%}.list-item .fn-flex-item[flexsize="6"]{max-width:60%}.list-item .fn-flex-item[flexsize="7"]{max-width:70%}.list-item .fn-flex-item[flexsize="8"]{max-width:80%}.list-item .fn-flex-item[flexsize="9"]{max-width:90%}.fn-flex-item[flexsize="8"].fn-divide{padding-right:.8rem;max-width:80%}.fn-flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.fn-clear:after,.detail-desc:after,.widget-para-equal:after,.goods-detail-desc:after{content:"";display:table;clear:both}.fn-clear{clear:both}.fn-fl{float:left}.fn-fr{float:right}.fn-hide{display:none !important}.fn-pn{padding:.8rem}.fn-ps{padding:.4rem}.fn-phs{padding-right:.4rem;padding-left:.4rem}.fn-mv{margin-top:1rem;margin-bottom:1rem}.fn-mbs{margin-bottom:.4rem}.fn-maxh{max-height:12rem;overflow-y:hidden}.text-nowrap{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-wrap{word-spacing:normal;white-space:pre-line;word-break:break-all;word-wrap:break-word}.text-nospace{line-height:1 !important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:#5199e0 !important}.text-danger{color:#e65c5c !important}.text-slight{color:#bbb !important}.text-white{color:#fff !important}.text-gray{color:rgba(0,0,0,0.5) !important}.text-dark{color:#333}.text-warn{color:#e59900 !important}.text-success{color:#47b347 !important}.alert-normal,.alert-fail,.alert-success{padding:1rem;text-align:center}.alert-fail{color:#e65c5c}.alert-success{color:#47b347}.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.pos-rel{position:relative}.pos-abs{position:absolute}.abs-center{left:50%;top:50%;transform:translate(-50%, -50%)}img,video{display:block;max-width:100%}.van-nav-bar1 .van-nav-bar__title{color:#fff}.van-nav-bar1 .van-icon{color:#fff !important}.van-hairline--bottom::after{border-bottom:none !important}.van-tabs1 .van-tab{font-size:32px;color:#fff;transition:all .1s ease}.van-tabs1 .van-tab--active{font-size:36px;font-weight:bold;color:#fff}.van-tabs1.van-tabs--line .van-tabs__wrap{height:100px}.bg-white{background-color:#fff}.container{width:100vw;min-height:100vh;overflow-x:hidden}.ani-flipInX{animation-iteration-count:1;animation-duration:.5s;animation-name:flipInX;backface-visibility:visible !important}@keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0;-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}80%{opacity:1;-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.ani-bounceIn{animation-iteration-count:1;animation-duration:.75s;animation-name:bounceIn}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.ani-jackInTheBox{animation-iteration-count:1;animation-duration:.5s;animation-name:jackInTheBox}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(0.1) rotate(30deg);transform:scale(0.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.icon-custom{display:inline-block;background-size:100% 100%;background-repeat:no-repeat;background-position:center}.icon-custom.icon-file{width:80px;height:80px;background-image:url(/src/assets/icon-file.png)}.icon-custom.icon-favfile{width:80px;height:80px;background-image:url(/src/assets/icon-favfile.png)}.icon-custom.icon-gift{width:24px;height:24px;background-image:url(/src/assets/icon-gift.png)}.icon-custom.icon-loc{width:30px;height:30px;background-image:url(/src/assets/icon-loc.png)}.icon-custom.icon-map{width:34px;height:34px;background-image:url(/src/assets/icon-map.png)}.icon-custom.icon-money{width:24px;height:24px;background-image:url(/src/assets/icon-money.png)}.icon-custom.icon-home{width:30px;height:30px;background-image:url(/src/assets/icon-home.png)}.icon-custom.icon-home::before{content:none}.icon-custom.icon-my{width:30px;height:30px;background-image:url(/src/assets/icon-my.png)}.icon-custom.icon-redpack{width:34px;height:34px;background-image:url(/src/assets/icon-redpack.png)}.coupon-bg{width:100%;padding-top:27%;background-size:100% 100%;background-repeat:no-repeat;background-position:center}.coupon-bg.red{background-image:url(/src/assets/coupon-red.png)}.coupon-bg.gray{background-image:url(/src/assets/coupon-gray.png)} diff --git a/src/style/pages/h5.scss b/src/style/pages/h5.scss new file mode 100644 index 0000000..064507e --- /dev/null +++ b/src/style/pages/h5.scss @@ -0,0 +1,1001 @@ +@charset "UTF-8"; +@use '../common/mobile'; +$themeColor: #f84803; +$msgColor:#f84803; +.text-color-theme{ + color: $themeColor; +} +.bg-msg-theme{ + background-color: $msgColor; +} +.bg-theme{ + background-color: $themeColor; +} +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: 'PingFang SC', 'Helvetica Neue', 'Helvetica', 'STHeitiSC-Light', 'Arial', sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body { + margin: 0; + background: #fff; + color: #000; +} + +* { + box-sizing: border-box; +} + +*, +*:before, +*:after { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +body, +div, +p, +ul, +ol, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td { + margin: 0; + padding: 0; +} + +h1, +h2, +h3, +h4, +h5 { + font-weight: normal; +} + +table { + width: 100%; + border-collapse: collapse; + border-spacing: 0; +} + +ul, +ol { + list-style: none; +} + +h1 { + font-size: 2rem; +} + +h2 { + font-size: 1.6rem; +} + +// h3, +// p { +// font-size: 1rem; +// } + +h4 { + font-size: 0.8rem; +} + +h5 { + font-size: 0.6rem; +} + +/* HTML5 display definitions + *==================== + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +menu, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], +template { + display: none; +} + +/* Links + *==================== + */ +a { + background-color: transparent; + text-decoration: none; + color: #333; +} + +a:active, +a:hover { + outline-width: 0; +} + +/* Text-level semantics + *==================== + */ +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted; +} + +b, +strong { + font-weight: inherit; +} + +b, +strong { + font-weight: bolder; +} + +dfn { + font-style: italic; +} + +mark { + background-color: #ff0; + color: #000; +} + +small { + font-size: 75%; +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + *==================== + */ +img { + border: 0; + width: 100%; + vertical-align: top; +} + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + *==================== + */ +figure { + margin: 1em 40px; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +pre { + overflow: auto; +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + *==================== + */ +button, +input, +optgroup, +select, +textarea { + margin: 0; + padding: 0; + font: inherit; +} + +button { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +button:-moz-focusring, +input:-moz-focusring { + outline: 1px dotted ButtonText; +} + +input { + line-height: normal; +} + +input[type="text"], +input[type="tel"], +input[type="number"], +input[type="search"], +input[type="password"], +input[type="date"], +input[type="time"], +textarea { + display: block; + width: 100%; + /*background:transparent;*/ +} + +input[type="checkbox"], +input[type="radio"] { + padding: 0; + box-sizing: border-box; +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +input[type=number] { + -moz-appearance: textfield; +} + +select, +button, +textarea, +input[type="button"], +input[type="submit"], +input[type="text"], +input[type="tel"], +input[type="number"], +input[type="search"], +input[type="password"], +input[type="date"], +input[type="time"], +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button, +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; + -moz-appearance: none; + -ms-appearance: none; + appearance: none; + border-style: none; +} + +select, +textarea:focus, +select:focus, +button:focus, +input[type="text"]:focus, +input[type="tel"]:focus, +input[type="number"]:focus, +input[type="search"]:focus, +input[type="date"]:focus, +input[type="time"]:focus, +input[type="button"], +input[type="submit"] { + outline: none; + // background-color: transparent; +} + +fieldset { + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; + border: 1px solid #c0c0c0; +} + +legend { + padding: 0; + color: inherit; +} + +textarea { + height: 4rem; + resize: none; + overflow: auto; +} + +optgroup { + font-weight: bold; +} + +input[type="date"]:before, +input[type="time"]:before { + color: #aaa; + content: attr(placeholder); +} + +input[type="date"].clearph:before, +input[type="time"].clearph:before { + color: #000; + content: '' !important; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #bbb; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #bbb; +} + +input::-moz-placeholder, +textarea::-moz-placeholder { + color: #bbb; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #bbb; +} + +/* +input[type="text"], +input[type="tel"], +input[type="number"], +input[type="search"], +input[type="password"], +textarea{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0),0 0 8px rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,0),0 0 8px rgba(0,0,0,0);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;} +input[type="text"]:focus, +input[type="tel"]:focus, +input[type="number"]:focus, +input[type="search"]:focus, +input[type="password"]:focus, +textarea:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.08),0 0 8px rgba(70,180,70,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.08),0 0 8px rgba(70,180,70,.6);} +*/ + +/*layout flex*/ +.fn-flex { + display: -webkit-flex; + display: -ms-flexbox; + display: -webkit-box; + display: flex; + flex-flow: row; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; +} + +.fn-flex-center { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} + +.fn-flex-baseline { + -webkit-box-align: baseline; + -webkit-align-items: baseline; + -ms-flex-align: baseline; + align-items: baseline; +} + +.flex-justify-center { + justify-content: center; +} + +.fn-flex-column { + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} + +.fn-flex-item { + // display: block !important; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; +} + +.fn-flex-item[flexsize="2"] { + -webkit-box-flex: 2; + -webkit-flex: 2; + -ms-flex: 2; + flex: 2; +} + +.fn-flex-item[flexsize="3"] { + -webkit-box-flex: 3; + -webkit-flex: 3; + -ms-flex: 3; + flex: 3; +} + +.fn-flex-item[flexsize="4"] { + -webkit-box-flex: 4; + -webkit-flex: 4; + -ms-flex: 4; + flex: 4; +} + +.fn-flex-item[flexsize="5"] { + -webkit-box-flex: 5; + -webkit-flex: 5; + -ms-flex: 5; + flex: 5; +} + +.fn-flex-item[flexsize="6"] { + -webkit-box-flex: 6; + -webkit-flex: 6; + -ms-flex: 6; + flex: 6; +} + +.fn-flex-item[flexsize="7"] { + -webkit-box-flex: 7; + -webkit-flex: 7; + -ms-flex: 7; + flex: 7; +} + +.fn-flex-item[flexsize="8"] { + -webkit-box-flex: 8; + -webkit-flex: 8; + -ms-flex: 8; + flex: 8; +} + +.fn-flex-item[flexsize="9"] { + -webkit-box-flex: 9; + -webkit-flex: 9; + -ms-flex: 9; + flex: 9; +} + +.fn-flex-item[hdtrole~="gutter"] { + margin-right: .4rem; +} + +.fn-flex-item:last-child[hdtrole~="gutter"] { + margin-right: 0; + margin-left: .4rem; +} + +.list-item>.fn-flex>.list-photo+.fn-flex-item, +.list-item.fn-flex>.list-photo+.fn-flex-item { + max-width: 60%; +} + +/*next to .list-photo*/ +/* +.list-item>.fn-flex>.form-radio~.fn-flex-item, +.list-item.fn-flex>.form-radio~.fn-flex-item{max-width:48%;}*/ +/*paralle to .form-radio*/ +.list-item .fn-flex-item[flexsize="2"] { + max-width: 20%; +} + +.list-item .fn-flex-item[flexsize="3"] { + max-width: 30%; +} + +.list-item .fn-flex-item[flexsize="4"] { + max-width: 40%; +} + +.list-item .fn-flex-item[flexsize="5"] { + max-width: 50%; +} + +.list-item .fn-flex-item[flexsize="6"] { + max-width: 60%; +} + +.list-item .fn-flex-item[flexsize="7"] { + max-width: 70%; +} + +.list-item .fn-flex-item[flexsize="8"] { + max-width: 80%; +} + +.list-item .fn-flex-item[flexsize="9"] { + max-width: 90%; +} + +.fn-flex-item[flexsize="8"].fn-divide { + padding-right: .8rem; + max-width: 80%; +} + +.fn-flex-wrap { + flex-wrap: wrap +} + +/*多行*/ +.justify-between { + justify-content: space-between; +} + +.justify-center { + justify-content: center; +} + +/*layout float*/ +.fn-clear:after, +.detail-desc:after, +.widget-para-equal:after, +.goods-detail-desc:after { + content: ""; + display: table; + clear: both; +} + +.fn-clear { + // *height: 1%; + clear: both; +} + +.fn-fl { + float: left; +} + +.fn-fr { + float: right; +} + +.fn-hide { + display: none !important; +} + +/*layout blank*/ +.fn-pn { + padding: .8rem; +} + +.fn-ps { + padding: .4rem; +} + +.fn-phs { + padding-right: .4rem; + padding-left: .4rem; +} + +.fn-mv { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.fn-mbs { + margin-bottom: .4rem; +} + +.fn-maxh { + max-height: 12rem; + overflow-y: hidden; +} + +/*text render*/ +.text-nowrap { + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-wrap { + word-spacing: normal; + white-space: pre-line; + word-break: break-all; + word-wrap: break-word; +} + +.text-nospace { + line-height: 1 !important; +} + +.text-left { + text-align: left; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.text-primary { + color: #5199e0 !important; +} + +.text-danger { + color: #e65c5c !important; +} + +.text-slight { + color: #bbb !important; +} + +.text-white { + color: #fff !important; +} + +.text-gray { + color: rgba($color:#000000, $alpha:.5) !important; + ; +} + +.text-dark { + color: #333; +} + +.text-warn { + color: #e59900 !important; +} + +.text-success { + color: #47b347 !important; +} + +.alert-normal, +.alert-fail, +.alert-success { + padding: 1rem; + text-align: center; +} + +.alert-fail { + color: #e65c5c +} + +.alert-success { + color: #47b347 +} + +/*line-clamp*/ +.line-clamp-2 { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; +} + +.line-clamp-3 { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow: hidden; +} + +.pos-rel { + position: relative; +} + +.pos-abs { + position: absolute; +} + +.abs-center{ + left: 50%; + top: 50%; + transform: translate(-50%,-50%); +} + +img, +video { + display: block; + max-width: 100%; +} + + + +.van-nav-bar1 { + + // background-color: ; + .van-nav-bar__title { + color: #fff; + } + + .van-icon { + color: #fff !important; + } + +} + +.van-hairline--bottom::after { + border-bottom: none !important; +} + +.van-tabs1 { + .van-tab { + font-size: 32px; + color: rgba($color:#fff, $alpha:1); + transition: all .1s ease; + } + + .van-tab--active { + font-size: 36px; + font-weight: bold; + color: rgba($color:#fff, $alpha:1); + } + + &.van-tabs--line .van-tabs__wrap { + height: 100px; + } +} + +.bg-white { + background-color: #fff; +} + +.container { + width: 100vw; + min-height: 100vh; + overflow-x: hidden; + +} + + +.ani-flipInX { + animation-iteration-count: 1; + animation-duration: .5s; + animation-name: flipInX; + backface-visibility: visible !important; +} + +@keyframes flipInX { + 0% { + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + -webkit-transform: perspective(400px) rotateX(90deg); + transform: perspective(400px) rotateX(90deg) + } + + 40% { + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + -webkit-transform: perspective(400px) rotateX(-20deg); + transform: perspective(400px) rotateX(-20deg) + } + + 60% { + + -webkit-transform: perspective(400px) rotateX(10deg); + transform: perspective(400px) rotateX(10deg) + } + + 80% { + opacity: 1; + -webkit-transform: perspective(400px) rotateX(-5deg); + transform: perspective(400px) rotateX(-5deg) + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } +} + + +.ani-bounceIn { + animation-iteration-count: 1; + animation-duration: .75s; + animation-name: bounceIn; +} + +@keyframes bounceIn { + + 0%, + 20%, + 40%, + 60%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3) + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1) + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9) + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03) + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97) + } + + to { + opacity: 1; + -webkit-transform: scaleX(1); + transform: scaleX(1) + } +} + +.ani-jackInTheBox { + animation-iteration-count: 1; + animation-duration: .5s; + animation-name: jackInTheBox; +} + +@keyframes jackInTheBox { + 0% { + opacity: 0; + -webkit-transform: scale(.1) rotate(30deg); + transform: scale(.1) rotate(30deg); + -webkit-transform-origin: center bottom; + transform-origin: center bottom + } + + 50% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg) + } + + 70% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg) + } + + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1) + } +} + +.icon-custom{ + display: inline-block; + background-size: 100% 100%; + background-repeat: no-repeat; + background-position: center; + &.icon-file{ + width: 80px; + height: 80px; + background-image: url(/src/assets/icon-file.png); + } + &.icon-favfile{ + width: 80px; + height: 80px; + background-image: url(/src/assets/icon-favfile.png); + } + &.icon-gift{ + width: 24px; + height: 24px; + background-image: url(/src/assets/icon-gift.png); + } + &.icon-loc{ + width: 30px; + height: 30px; + background-image: url(/src/assets/icon-loc.png); + } + &.icon-map{ + width: 34px; + height: 34px; + background-image: url(/src/assets/icon-map.png); + } + &.icon-money{ + width: 24px; + height: 24px; + background-image: url(/src/assets/icon-money.png); + } + &.icon-home{ + width: 30px; + height: 30px; + background-image: url(/src/assets/icon-home.png); + &::before{ + content: none; + } + } + &.icon-my{ + width: 30px; + height: 30px; + background-image: url(/src/assets/icon-my.png); + } + &.icon-redpack{ + width: 34px; + height: 34px; + background-image: url(/src/assets/icon-redpack.png); + } +} +.coupon-bg{ + width: 100%; + padding-top: 27%; + background-size: 100% 100%; + background-repeat: no-repeat; + background-position: center; + &.red{ + background-image: url(/src/assets/coupon-red.png); + } + &.gray{ + background-image: url(/src/assets/coupon-gray.png); + } +} \ No newline at end of file diff --git a/src/style/utils/_LArea.scss b/src/style/utils/_LArea.scss new file mode 100644 index 0000000..f09bb5e --- /dev/null +++ b/src/style/utils/_LArea.scss @@ -0,0 +1,199 @@ +/** + * LArea移动端城市选择控件 + * + * version:1.7.2 + * + * author:黄磊 + * + * git:https://github.com/xfhxbb/LArea + * + * Copyright 2016 + * + * Licensed under MIT + * + * 最近修改于: 2016-6-12 16:47:41 + */ + @use '_mixin'; +.gearArea { + font-family: Helvetica Neue, Helvetica, Arial, sans-serif; + @include font-dpr($defaultFont*.6); + background-color: rgba(0, 0, 0, 0.2); + display: block; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 9900; + overflow: hidden; + -webkit-animation-fill-mode: both; + animation-fill-mode: both +} + +.area_ctrl { + vertical-align: middle; + background-color: #d5d8df; + color: #000; + margin: 0; + height: auto; + width: 100%; + position: absolute; + left: 0; + bottom: 0; + z-index: 9901; + overflow: hidden; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0) +} + +.slideInUp { + -webkit-animation: slideInUp .3s; + animation: slideInUp .3s; +} + +@-webkit-keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0) + } + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0) + } +} + +@keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0) + } + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0) + } +} + +.area_roll { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + width: 100%; + height: auto; + overflow: hidden; + background-color: transparent; + -webkit-mask: -webkit-gradient(linear, 0% 50%, 0% 100%, from(#debb47), to(rgba(36, 142, 36, 0))); + -webkit-mask: -webkit-linear-gradient(top, #debb47 50%, rgba(36, 142, 36, 0)) +} + +.area_roll>div { + font-size: 1.6em; + height: 10em; + float: left; + background-color: transparent; + position: relative; + overflow: hidden; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1 +} + +.area_roll>div .gear { + width: 100%; + float: left; + position: absolute; + z-index: 9902; + margin-top: 4em +} + +.area_roll_mask { + -webkit-mask: -webkit-gradient(linear, 0% 40%, 0% 0%, from(#debb47), to(rgba(36, 142, 36, 0))); + -webkit-mask: -webkit-linear-gradient(bottom, #debb47 50%, rgba(36, 142, 36, 0)); + padding: 0 +} + +.area_grid { + position: relative; + top: 4em; + width: 100%; + height: 2em; + margin: 0; + box-sizing: border-box; + z-index: 0; + border-top: 1px solid #abaeb5; + border-bottom: 1px solid #abaeb5 +} + +.area_roll>div:nth-child(3) .area_grid>div { + left: 42% +} + +.area_btn { + color: #0575f2; + font-size: 1.6em; + line-height: 1em; + text-align: center; + padding: .8em 1em +} + +.area_btn_box:before, +.area_btn_box:after { + content: ''; + position: absolute; + height: 1px; + width: 100%; + display: block; + background-color: #96979b; + z-index: 15; + -webkit-transform: scaleY(0.33); + transform: scaleY(0.33) +} + +.area_btn_box { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack:justify; + -webkit-justify-content:space-between; + -ms-flex-pack:justify; + justify-content:space-between; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + background-color: #f1f2f4; + position: relative +} + +.area_btn_box:before { + left: 0; + top: 0; + -webkit-transform-origin: 50% 20%; + transform-origin: 50% 20% +} + +.area_btn_box:after { + left: 0; + bottom: 0; + -webkit-transform-origin: 50% 70%; + transform-origin: 50% 70% +} + +.tooth { + height: 2em; + line-height: 2em; + text-align: center; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + line-clamp: 1; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -webkit-flex-direction:column; + -ms-flex-direction:column; + flex-direction:column; + overflow: hidden +} diff --git a/src/style/utils/_animate.scss b/src/style/utils/_animate.scss new file mode 100644 index 0000000..450d930 --- /dev/null +++ b/src/style/utils/_animate.scss @@ -0,0 +1,3618 @@ +@charset "UTF-8"; + +/*! + * animate.css -http://daneden.me/animate + * Version - 3.7.0 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2018 Daniel Eden + */ + +@-webkit-keyframes bounce { + + 0%, + 20%, + 53%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + -webkit-transform: translateZ(0); + animation-timing-function: cubic-bezier(.215, .61, .355, 1); + transform: translateZ(0) + } + + 40%, + 43% { + -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06); + -webkit-transform: translate3d(0, -30px, 0); + animation-timing-function: cubic-bezier(.755, .05, .855, .06); + transform: translate3d(0, -30px, 0) + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06); + -webkit-transform: translate3d(0, -15px, 0); + animation-timing-function: cubic-bezier(.755, .05, .855, .06); + transform: translate3d(0, -15px, 0) + } + + 90% { + -webkit-transform: translate3d(0, -4px, 0); + transform: translate3d(0, -4px, 0) + } +} + +@keyframes bounce { + + 0%, + 20%, + 53%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + -webkit-transform: translateZ(0); + animation-timing-function: cubic-bezier(.215, .61, .355, 1); + transform: translateZ(0) + } + + 40%, + 43% { + -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06); + -webkit-transform: translate3d(0, -30px, 0); + animation-timing-function: cubic-bezier(.755, .05, .855, .06); + transform: translate3d(0, -30px, 0) + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06); + -webkit-transform: translate3d(0, -15px, 0); + animation-timing-function: cubic-bezier(.755, .05, .855, .06); + transform: translate3d(0, -15px, 0) + } + + 90% { + -webkit-transform: translate3d(0, -4px, 0); + transform: translate3d(0, -4px, 0) + } +} + +.bounce { + -webkit-animation-name: bounce; + -webkit-transform-origin: center bottom; + animation-name: bounce; + transform-origin: center bottom +} + +@-webkit-keyframes flash { + + 0%, + 50%, + to { + opacity: 1 + } + + 25%, + 75% { + opacity: 0 + } +} + +@keyframes flash { + + 0%, + 50%, + to { + opacity: 1 + } + + 25%, + 75% { + opacity: 0 + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash +} + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05) + } + + to { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } +} + +@keyframes pulse { + 0% { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05) + } + + to { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse +} + +@-webkit-keyframes rubberBand { + 0% { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } + + 30% { + -webkit-transform: scale3d(1.25, .75, 1); + transform: scale3d(1.25, .75, 1) + } + + 40% { + -webkit-transform: scale3d(.75, 1.25, 1); + transform: scale3d(.75, 1.25, 1) + } + + 50% { + -webkit-transform: scale3d(1.15, .85, 1); + transform: scale3d(1.15, .85, 1) + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1) + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1) + } + + to { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } +} + +@keyframes rubberBand { + 0% { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } + + 30% { + -webkit-transform: scale3d(1.25, .75, 1); + transform: scale3d(1.25, .75, 1) + } + + 40% { + -webkit-transform: scale3d(.75, 1.25, 1); + transform: scale3d(.75, 1.25, 1) + } + + 50% { + -webkit-transform: scale3d(1.15, .85, 1); + transform: scale3d(1.15, .85, 1) + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1) + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1) + } + + to { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand +} + +@-webkit-keyframes shake { + + 0%, + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0) + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0) + } +} + +@keyframes shake { + + 0%, + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0) + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0) + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake +} + +@-webkit-keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0) + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg) + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg) + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg) + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg) + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0) + } +} + +@keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0) + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg) + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg) + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg) + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg) + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0) + } +} + +.headShake { + -webkit-animation-name: headShake; + -webkit-animation-timing-function: ease-in-out; + animation-name: headShake; + animation-timing-function: ease-in-out +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg) + } + + 40% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg) + } + + 60% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg) + } + + 80% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg) + } + + to { + -webkit-transform: rotate(0deg); + transform: rotate(0deg) + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg) + } + + 40% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg) + } + + 60% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg) + } + + 80% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg) + } + + to { + -webkit-transform: rotate(0deg); + transform: rotate(0deg) + } +} + +.swing { + -webkit-animation-name: swing; + -webkit-transform-origin: top center; + animation-name: swing; + transform-origin: top center +} + +@-webkit-keyframes tada { + 0% { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } + + 10%, + 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg); + transform: scale3d(.9, .9, .9) rotate(-3deg) + } + + 30%, + 50%, + 70%, + 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate(3deg) + } + + 40%, + 60%, + 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg) + } + + to { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } +} + +@keyframes tada { + 0% { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } + + 10%, + 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg); + transform: scale3d(.9, .9, .9) rotate(-3deg) + } + + 30%, + 50%, + 70%, + 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate(3deg) + } + + 40%, + 60%, + 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg) + } + + to { + -webkit-transform: scaleX(1); + transform: scaleX(1) + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada +} + +@-webkit-keyframes wobble { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg); + transform: translate3d(-25%, 0, 0) rotate(-5deg) + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate(3deg); + transform: translate3d(20%, 0, 0) rotate(3deg) + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg); + transform: translate3d(-15%, 0, 0) rotate(-3deg) + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate(2deg); + transform: translate3d(10%, 0, 0) rotate(2deg) + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg); + transform: translate3d(-5%, 0, 0) rotate(-1deg) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes wobble { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg); + transform: translate3d(-25%, 0, 0) rotate(-5deg) + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate(3deg); + transform: translate3d(20%, 0, 0) rotate(3deg) + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg); + transform: translate3d(-15%, 0, 0) rotate(-3deg) + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate(2deg); + transform: translate3d(10%, 0, 0) rotate(2deg) + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg); + transform: translate3d(-5%, 0, 0) rotate(-1deg) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble +} + +@-webkit-keyframes jello { + + 0%, + 11.1%, + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg) + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg) + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg) + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg) + } + + 66.6% { + -webkit-transform: skewX(-.78125deg) skewY(-.78125deg); + transform: skewX(-.78125deg) skewY(-.78125deg) + } + + 77.7% { + -webkit-transform: skewX(.390625deg) skewY(.390625deg); + transform: skewX(.390625deg) skewY(.390625deg) + } + + 88.8% { + -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg); + transform: skewX(-.1953125deg) skewY(-.1953125deg) + } +} + +@keyframes jello { + + 0%, + 11.1%, + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg) + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg) + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg) + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg) + } + + 66.6% { + -webkit-transform: skewX(-.78125deg) skewY(-.78125deg); + transform: skewX(-.78125deg) skewY(-.78125deg) + } + + 77.7% { + -webkit-transform: skewX(.390625deg) skewY(.390625deg); + transform: skewX(.390625deg) skewY(.390625deg) + } + + 88.8% { + -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg); + transform: skewX(-.1953125deg) skewY(-.1953125deg) + } +} + +.jello { + -webkit-animation-name: jello; + -webkit-transform-origin: center; + animation-name: jello; + transform-origin: center +} + +@-webkit-keyframes heartBeat { + 0% { + -webkit-transform: scale(1); + transform: scale(1) + } + + 14% { + -webkit-transform: scale(1.3); + transform: scale(1.3) + } + + 28% { + -webkit-transform: scale(1); + transform: scale(1) + } + + 42% { + -webkit-transform: scale(1.3); + transform: scale(1.3) + } + + 70% { + -webkit-transform: scale(1); + transform: scale(1) + } +} + +@keyframes heartBeat { + 0% { + -webkit-transform: scale(1); + transform: scale(1) + } + + 14% { + -webkit-transform: scale(1.3); + transform: scale(1.3) + } + + 28% { + -webkit-transform: scale(1); + transform: scale(1) + } + + 42% { + -webkit-transform: scale(1.3); + transform: scale(1.3) + } + + 70% { + -webkit-transform: scale(1); + transform: scale(1) + } +} + +.heartBeat { + -webkit-animation-duration: 1.3s; + -webkit-animation-name: heartBeat; + -webkit-animation-timing-function: ease-in-out; + animation-duration: 1.3s; + animation-name: heartBeat; + animation-timing-function: ease-in-out +} + +@-webkit-keyframes bounceIn { + + 0%, + 20%, + 40%, + 60%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: scale3d(.3, .3, .3); + opacity: 0; + transform: scale3d(.3, .3, .3) + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1) + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9) + } + + 60% { + -webkit-transform: scale3d(1.03, 1.03, 1.03); + opacity: 1; + transform: scale3d(1.03, 1.03, 1.03) + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97) + } + + to { + -webkit-transform: scaleX(1); + opacity: 1; + transform: scaleX(1) + } +} + +@keyframes bounceIn { + + 0%, + 20%, + 40%, + 60%, + 80%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: scale3d(.3, .3, .3); + opacity: 0; + transform: scale3d(.3, .3, .3) + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1) + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9) + } + + 60% { + -webkit-transform: scale3d(1.03, 1.03, 1.03); + opacity: 1; + transform: scale3d(1.03, 1.03, 1.03) + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97) + } + + to { + -webkit-transform: scaleX(1); + opacity: 1; + transform: scaleX(1) + } +} + +.bounceIn { + -webkit-animation-duration: .75s; + -webkit-animation-name: bounceIn; + animation-duration: .75s; + animation-name: bounceIn +} + +@-webkit-keyframes bounceInDown { + + 0%, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: translate3d(0, -3000px, 0); + opacity: 0; + transform: translate3d(0, -3000px, 0) + } + + 60% { + -webkit-transform: translate3d(0, 25px, 0); + opacity: 1; + transform: translate3d(0, 25px, 0) + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0) + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes bounceInDown { + + 0%, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: translate3d(0, -3000px, 0); + opacity: 0; + transform: translate3d(0, -3000px, 0) + } + + 60% { + -webkit-transform: translate3d(0, 25px, 0); + opacity: 1; + transform: translate3d(0, 25px, 0) + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0) + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown +} + +@-webkit-keyframes bounceInLeft { + + 0%, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: translate3d(-3000px, 0, 0); + opacity: 0; + transform: translate3d(-3000px, 0, 0) + } + + 60% { + -webkit-transform: translate3d(25px, 0, 0); + opacity: 1; + transform: translate3d(25px, 0, 0) + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0) + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes bounceInLeft { + + 0%, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: translate3d(-3000px, 0, 0); + opacity: 0; + transform: translate3d(-3000px, 0, 0) + } + + 60% { + -webkit-transform: translate3d(25px, 0, 0); + opacity: 1; + transform: translate3d(25px, 0, 0) + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0) + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft +} + +@-webkit-keyframes bounceInRight { + + 0%, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: translate3d(3000px, 0, 0); + opacity: 0; + transform: translate3d(3000px, 0, 0) + } + + 60% { + -webkit-transform: translate3d(-25px, 0, 0); + opacity: 1; + transform: translate3d(-25px, 0, 0) + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0) + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes bounceInRight { + + 0%, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: translate3d(3000px, 0, 0); + opacity: 0; + transform: translate3d(3000px, 0, 0) + } + + 60% { + -webkit-transform: translate3d(-25px, 0, 0); + opacity: 1; + transform: translate3d(-25px, 0, 0) + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0) + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight +} + +@-webkit-keyframes bounceInUp { + + 0%, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: translate3d(0, 3000px, 0); + opacity: 0; + transform: translate3d(0, 3000px, 0) + } + + 60% { + -webkit-transform: translate3d(0, -20px, 0); + opacity: 1; + transform: translate3d(0, -20px, 0) + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0) + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes bounceInUp { + + 0%, + 60%, + 75%, + 90%, + to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1) + } + + 0% { + -webkit-transform: translate3d(0, 3000px, 0); + opacity: 0; + transform: translate3d(0, 3000px, 0) + } + + 60% { + -webkit-transform: translate3d(0, -20px, 0); + opacity: 1; + transform: translate3d(0, -20px, 0) + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0) + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9) + } + + 50%, + 55% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + opacity: 1; + transform: scale3d(1.1, 1.1, 1.1) + } + + to { + -webkit-transform: scale3d(.3, .3, .3); + opacity: 0; + transform: scale3d(.3, .3, .3) + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9) + } + + 50%, + 55% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + opacity: 1; + transform: scale3d(1.1, 1.1, 1.1) + } + + to { + -webkit-transform: scale3d(.3, .3, .3); + opacity: 0; + transform: scale3d(.3, .3, .3) + } +} + +.bounceOut { + -webkit-animation-duration: .75s; + -webkit-animation-name: bounceOut; + animation-duration: .75s; + animation-name: bounceOut +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0) + } + + 40%, + 45% { + -webkit-transform: translate3d(0, -20px, 0); + opacity: 1; + transform: translate3d(0, -20px, 0) + } + + to { + -webkit-transform: translate3d(0, 2000px, 0); + opacity: 0; + transform: translate3d(0, 2000px, 0) + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0) + } + + 40%, + 45% { + -webkit-transform: translate3d(0, -20px, 0); + opacity: 1; + transform: translate3d(0, -20px, 0) + } + + to { + -webkit-transform: translate3d(0, 2000px, 0); + opacity: 0; + transform: translate3d(0, 2000px, 0) + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown +} + +@-webkit-keyframes bounceOutLeft { + 20% { + -webkit-transform: translate3d(20px, 0, 0); + opacity: 1; + transform: translate3d(20px, 0, 0) + } + + to { + -webkit-transform: translate3d(-2000px, 0, 0); + opacity: 0; + transform: translate3d(-2000px, 0, 0) + } +} + +@keyframes bounceOutLeft { + 20% { + -webkit-transform: translate3d(20px, 0, 0); + opacity: 1; + transform: translate3d(20px, 0, 0) + } + + to { + -webkit-transform: translate3d(-2000px, 0, 0); + opacity: 0; + transform: translate3d(-2000px, 0, 0) + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft +} + +@-webkit-keyframes bounceOutRight { + 20% { + -webkit-transform: translate3d(-20px, 0, 0); + opacity: 1; + transform: translate3d(-20px, 0, 0) + } + + to { + -webkit-transform: translate3d(2000px, 0, 0); + opacity: 0; + transform: translate3d(2000px, 0, 0) + } +} + +@keyframes bounceOutRight { + 20% { + -webkit-transform: translate3d(-20px, 0, 0); + opacity: 1; + transform: translate3d(-20px, 0, 0) + } + + to { + -webkit-transform: translate3d(2000px, 0, 0); + opacity: 0; + transform: translate3d(2000px, 0, 0) + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0) + } + + 40%, + 45% { + -webkit-transform: translate3d(0, 20px, 0); + opacity: 1; + transform: translate3d(0, 20px, 0) + } + + to { + -webkit-transform: translate3d(0, -2000px, 0); + opacity: 0; + transform: translate3d(0, -2000px, 0) + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0) + } + + 40%, + 45% { + -webkit-transform: translate3d(0, 20px, 0); + opacity: 1; + transform: translate3d(0, 20px, 0) + } + + to { + -webkit-transform: translate3d(0, -2000px, 0); + opacity: 0; + transform: translate3d(0, -2000px, 0) + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp +} + +@-webkit-keyframes fadeIn { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +@keyframes fadeIn { + 0% { + opacity: 0 + } + + to { + opacity: 1 + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn +} + +@-webkit-keyframes fadeInDown { + 0% { + -webkit-transform: translate3d(0, -100%, 0); + opacity: 0; + transform: translate3d(0, -100%, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +@keyframes fadeInDown { + 0% { + -webkit-transform: translate3d(0, -100%, 0); + opacity: 0; + transform: translate3d(0, -100%, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown +} + +@-webkit-keyframes fadeInDownBig { + 0% { + -webkit-transform: translate3d(0, -2000px, 0); + opacity: 0; + transform: translate3d(0, -2000px, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +@keyframes fadeInDownBig { + 0% { + -webkit-transform: translate3d(0, -2000px, 0); + opacity: 0; + transform: translate3d(0, -2000px, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig +} + +@-webkit-keyframes fadeInLeft { + 0% { + -webkit-transform: translate3d(-100%, 0, 0); + opacity: 0; + transform: translate3d(-100%, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +@keyframes fadeInLeft { + 0% { + -webkit-transform: translate3d(-100%, 0, 0); + opacity: 0; + transform: translate3d(-100%, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft +} + +@-webkit-keyframes fadeInLeftBig { + 0% { + -webkit-transform: translate3d(-2000px, 0, 0); + opacity: 0; + transform: translate3d(-2000px, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +@keyframes fadeInLeftBig { + 0% { + -webkit-transform: translate3d(-2000px, 0, 0); + opacity: 0; + transform: translate3d(-2000px, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig +} + +@-webkit-keyframes fadeInRight { + 0% { + -webkit-transform: translate3d(100%, 0, 0); + opacity: 0; + transform: translate3d(100%, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +@keyframes fadeInRight { + 0% { + -webkit-transform: translate3d(100%, 0, 0); + opacity: 0; + transform: translate3d(100%, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight +} + +@-webkit-keyframes fadeInRightBig { + 0% { + -webkit-transform: translate3d(2000px, 0, 0); + opacity: 0; + transform: translate3d(2000px, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +@keyframes fadeInRightBig { + 0% { + -webkit-transform: translate3d(2000px, 0, 0); + opacity: 0; + transform: translate3d(2000px, 0, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig +} + +@-webkit-keyframes fadeInUp { + 0% { + -webkit-transform: translate3d(0, 100%, 0); + opacity: 0; + transform: translate3d(0, 100%, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +@keyframes fadeInUp { + 0% { + -webkit-transform: translate3d(0, 100%, 0); + opacity: 0; + transform: translate3d(0, 100%, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp +} + +@-webkit-keyframes fadeInUpBig { + 0% { + -webkit-transform: translate3d(0, 2000px, 0); + opacity: 0; + transform: translate3d(0, 2000px, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +@keyframes fadeInUpBig { + 0% { + -webkit-transform: translate3d(0, 2000px, 0); + opacity: 0; + transform: translate3d(0, 2000px, 0) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig +} + +@-webkit-keyframes fadeOut { + 0% { + opacity: 1 + } + + to { + opacity: 0 + } +} + +@keyframes fadeOut { + 0% { + opacity: 1 + } + + to { + opacity: 0 + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut +} + +@-webkit-keyframes fadeOutDown { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(0, 100%, 0); + opacity: 0; + transform: translate3d(0, 100%, 0) + } +} + +@keyframes fadeOutDown { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(0, 100%, 0); + opacity: 0; + transform: translate3d(0, 100%, 0) + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown +} + +@-webkit-keyframes fadeOutDownBig { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(0, 2000px, 0); + opacity: 0; + transform: translate3d(0, 2000px, 0) + } +} + +@keyframes fadeOutDownBig { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(0, 2000px, 0); + opacity: 0; + transform: translate3d(0, 2000px, 0) + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig +} + +@-webkit-keyframes fadeOutLeft { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(-100%, 0, 0); + opacity: 0; + transform: translate3d(-100%, 0, 0) + } +} + +@keyframes fadeOutLeft { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(-100%, 0, 0); + opacity: 0; + transform: translate3d(-100%, 0, 0) + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft +} + +@-webkit-keyframes fadeOutLeftBig { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(-2000px, 0, 0); + opacity: 0; + transform: translate3d(-2000px, 0, 0) + } +} + +@keyframes fadeOutLeftBig { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(-2000px, 0, 0); + opacity: 0; + transform: translate3d(-2000px, 0, 0) + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig +} + +@-webkit-keyframes fadeOutRight { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(100%, 0, 0); + opacity: 0; + transform: translate3d(100%, 0, 0) + } +} + +@keyframes fadeOutRight { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(100%, 0, 0); + opacity: 0; + transform: translate3d(100%, 0, 0) + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight +} + +@-webkit-keyframes fadeOutRightBig { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(2000px, 0, 0); + opacity: 0; + transform: translate3d(2000px, 0, 0) + } +} + +@keyframes fadeOutRightBig { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(2000px, 0, 0); + opacity: 0; + transform: translate3d(2000px, 0, 0) + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig +} + +@-webkit-keyframes fadeOutUp { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(0, -100%, 0); + opacity: 0; + transform: translate3d(0, -100%, 0) + } +} + +@keyframes fadeOutUp { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(0, -100%, 0); + opacity: 0; + transform: translate3d(0, -100%, 0) + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp +} + +@-webkit-keyframes fadeOutUpBig { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(0, -2000px, 0); + opacity: 0; + transform: translate3d(0, -2000px, 0) + } +} + +@keyframes fadeOutUpBig { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(0, -2000px, 0); + opacity: 0; + transform: translate3d(0, -2000px, 0) + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig +} + +@-webkit-keyframes flip { + 0% { + -webkit-animation-timing-function: ease-out; + -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn); + animation-timing-function: ease-out; + transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn) + } + + 40% { + -webkit-animation-timing-function: ease-out; + -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg); + animation-timing-function: ease-out; + transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg) + } + + 50% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg); + animation-timing-function: ease-in; + transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg) + } + + 80% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg); + animation-timing-function: ease-in; + transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg) + } + + to { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg); + animation-timing-function: ease-in; + transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg) + } +} + +@keyframes flip { + 0% { + -webkit-animation-timing-function: ease-out; + -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn); + animation-timing-function: ease-out; + transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn) + } + + 40% { + -webkit-animation-timing-function: ease-out; + -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg); + animation-timing-function: ease-out; + transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg) + } + + 50% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg); + animation-timing-function: ease-in; + transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg) + } + + 80% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg); + animation-timing-function: ease-in; + transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg) + } + + to { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg); + animation-timing-function: ease-in; + transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg) + } +} + +.animated.flip { + -webkit-animation-name: flip; + -webkit-backface-visibility: visible; + animation-name: flip; + backface-visibility: visible +} + +@-webkit-keyframes flipInX { + 0% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) rotateX(90deg); + animation-timing-function: ease-in; + opacity: 0; + transform: perspective(400px) rotateX(90deg) + } + + 40% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) rotateX(-20deg); + animation-timing-function: ease-in; + transform: perspective(400px) rotateX(-20deg) + } + + 60% { + -webkit-transform: perspective(400px) rotateX(10deg); + opacity: 1; + transform: perspective(400px) rotateX(10deg) + } + + 80% { + -webkit-transform: perspective(400px) rotateX(-5deg); + transform: perspective(400px) rotateX(-5deg) + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } +} + +@keyframes flipInX { + 0% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) rotateX(90deg); + animation-timing-function: ease-in; + opacity: 0; + transform: perspective(400px) rotateX(90deg) + } + + 40% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) rotateX(-20deg); + animation-timing-function: ease-in; + transform: perspective(400px) rotateX(-20deg) + } + + 60% { + -webkit-transform: perspective(400px) rotateX(10deg); + opacity: 1; + transform: perspective(400px) rotateX(10deg) + } + + 80% { + -webkit-transform: perspective(400px) rotateX(-5deg); + transform: perspective(400px) rotateX(-5deg) + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } +} + +.flipInX { + -webkit-animation-name: flipInX; + -webkit-backface-visibility: visible !important; + animation-name: flipInX; + backface-visibility: visible !important +} + +@-webkit-keyframes flipInY { + 0% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) rotateY(90deg); + animation-timing-function: ease-in; + opacity: 0; + transform: perspective(400px) rotateY(90deg) + } + + 40% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) rotateY(-20deg); + animation-timing-function: ease-in; + transform: perspective(400px) rotateY(-20deg) + } + + 60% { + -webkit-transform: perspective(400px) rotateY(10deg); + opacity: 1; + transform: perspective(400px) rotateY(10deg) + } + + 80% { + -webkit-transform: perspective(400px) rotateY(-5deg); + transform: perspective(400px) rotateY(-5deg) + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } +} + +@keyframes flipInY { + 0% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) rotateY(90deg); + animation-timing-function: ease-in; + opacity: 0; + transform: perspective(400px) rotateY(90deg) + } + + 40% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: perspective(400px) rotateY(-20deg); + animation-timing-function: ease-in; + transform: perspective(400px) rotateY(-20deg) + } + + 60% { + -webkit-transform: perspective(400px) rotateY(10deg); + opacity: 1; + transform: perspective(400px) rotateY(10deg) + } + + 80% { + -webkit-transform: perspective(400px) rotateY(-5deg); + transform: perspective(400px) rotateY(-5deg) + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } +} + +.flipInY { + -webkit-animation-name: flipInY; + -webkit-backface-visibility: visible !important; + animation-name: flipInY; + backface-visibility: visible !important +} + +@-webkit-keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } + + 30% { + -webkit-transform: perspective(400px) rotateX(-20deg); + opacity: 1; + transform: perspective(400px) rotateX(-20deg) + } + + to { + -webkit-transform: perspective(400px) rotateX(90deg); + opacity: 0; + transform: perspective(400px) rotateX(90deg) + } +} + +@keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } + + 30% { + -webkit-transform: perspective(400px) rotateX(-20deg); + opacity: 1; + transform: perspective(400px) rotateX(-20deg) + } + + to { + -webkit-transform: perspective(400px) rotateX(90deg); + opacity: 0; + transform: perspective(400px) rotateX(90deg) + } +} + +.flipOutX { + -webkit-animation-duration: .75s; + -webkit-animation-name: flipOutX; + -webkit-backface-visibility: visible !important; + animation-duration: .75s; + animation-name: flipOutX; + backface-visibility: visible !important +} + +@-webkit-keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } + + 30% { + -webkit-transform: perspective(400px) rotateY(-15deg); + opacity: 1; + transform: perspective(400px) rotateY(-15deg) + } + + to { + -webkit-transform: perspective(400px) rotateY(90deg); + opacity: 0; + transform: perspective(400px) rotateY(90deg) + } +} + +@keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } + + 30% { + -webkit-transform: perspective(400px) rotateY(-15deg); + opacity: 1; + transform: perspective(400px) rotateY(-15deg) + } + + to { + -webkit-transform: perspective(400px) rotateY(90deg); + opacity: 0; + transform: perspective(400px) rotateY(90deg) + } +} + +.flipOutY { + -webkit-animation-duration: .75s; + -webkit-animation-name: flipOutY; + -webkit-backface-visibility: visible !important; + animation-duration: .75s; + animation-name: flipOutY; + backface-visibility: visible !important +} + +@-webkit-keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + transform: translate3d(100%, 0, 0) skewX(-30deg) + } + + 60% { + -webkit-transform: skewX(20deg); + opacity: 1; + transform: skewX(20deg) + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + transform: translate3d(100%, 0, 0) skewX(-30deg) + } + + 60% { + -webkit-transform: skewX(20deg); + opacity: 1; + transform: skewX(20deg) + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg) + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-name: lightSpeedIn; + animation-timing-function: ease-out +} + +@-webkit-keyframes lightSpeedOut { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + transform: translate3d(100%, 0, 0) skewX(30deg) + } +} + +@keyframes lightSpeedOut { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + transform: translate3d(100%, 0, 0) skewX(30deg) + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-name: lightSpeedOut; + animation-timing-function: ease-in +} + +@-webkit-keyframes rotateIn { + 0% { + -webkit-transform: rotate(-200deg); + -webkit-transform-origin: center; + opacity: 0; + transform: rotate(-200deg); + transform-origin: center + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: center; + opacity: 1; + transform: translateZ(0); + transform-origin: center + } +} + +@keyframes rotateIn { + 0% { + -webkit-transform: rotate(-200deg); + -webkit-transform-origin: center; + opacity: 0; + transform: rotate(-200deg); + transform-origin: center + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: center; + opacity: 1; + transform: translateZ(0); + transform-origin: center + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn +} + +@-webkit-keyframes rotateInDownLeft { + 0% { + -webkit-transform: rotate(-45deg); + -webkit-transform-origin: left bottom; + opacity: 0; + transform: rotate(-45deg); + transform-origin: left bottom + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: left bottom; + opacity: 1; + transform: translateZ(0); + transform-origin: left bottom + } +} + +@keyframes rotateInDownLeft { + 0% { + -webkit-transform: rotate(-45deg); + -webkit-transform-origin: left bottom; + opacity: 0; + transform: rotate(-45deg); + transform-origin: left bottom + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: left bottom; + opacity: 1; + transform: translateZ(0); + transform-origin: left bottom + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft +} + +@-webkit-keyframes rotateInDownRight { + 0% { + -webkit-transform: rotate(45deg); + -webkit-transform-origin: right bottom; + opacity: 0; + transform: rotate(45deg); + transform-origin: right bottom + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: right bottom; + opacity: 1; + transform: translateZ(0); + transform-origin: right bottom + } +} + +@keyframes rotateInDownRight { + 0% { + -webkit-transform: rotate(45deg); + -webkit-transform-origin: right bottom; + opacity: 0; + transform: rotate(45deg); + transform-origin: right bottom + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: right bottom; + opacity: 1; + transform: translateZ(0); + transform-origin: right bottom + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight +} + +@-webkit-keyframes rotateInUpLeft { + 0% { + -webkit-transform: rotate(45deg); + -webkit-transform-origin: left bottom; + opacity: 0; + transform: rotate(45deg); + transform-origin: left bottom + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: left bottom; + opacity: 1; + transform: translateZ(0); + transform-origin: left bottom + } +} + +@keyframes rotateInUpLeft { + 0% { + -webkit-transform: rotate(45deg); + -webkit-transform-origin: left bottom; + opacity: 0; + transform: rotate(45deg); + transform-origin: left bottom + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: left bottom; + opacity: 1; + transform: translateZ(0); + transform-origin: left bottom + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft +} + +@-webkit-keyframes rotateInUpRight { + 0% { + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: right bottom; + opacity: 0; + transform: rotate(-90deg); + transform-origin: right bottom + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: right bottom; + opacity: 1; + transform: translateZ(0); + transform-origin: right bottom + } +} + +@keyframes rotateInUpRight { + 0% { + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: right bottom; + opacity: 0; + transform: rotate(-90deg); + transform-origin: right bottom + } + + to { + -webkit-transform: translateZ(0); + -webkit-transform-origin: right bottom; + opacity: 1; + transform: translateZ(0); + transform-origin: right bottom + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight +} + +@-webkit-keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + opacity: 1; + transform-origin: center + } + + to { + -webkit-transform: rotate(200deg); + -webkit-transform-origin: center; + opacity: 0; + transform: rotate(200deg); + transform-origin: center + } +} + +@keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + opacity: 1; + transform-origin: center + } + + to { + -webkit-transform: rotate(200deg); + -webkit-transform-origin: center; + opacity: 0; + transform: rotate(200deg); + transform-origin: center + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut +} + +@-webkit-keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + opacity: 1; + transform-origin: left bottom + } + + to { + -webkit-transform: rotate(45deg); + -webkit-transform-origin: left bottom; + opacity: 0; + transform: rotate(45deg); + transform-origin: left bottom + } +} + +@keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + opacity: 1; + transform-origin: left bottom + } + + to { + -webkit-transform: rotate(45deg); + -webkit-transform-origin: left bottom; + opacity: 0; + transform: rotate(45deg); + transform-origin: left bottom + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft +} + +@-webkit-keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + opacity: 1; + transform-origin: right bottom + } + + to { + -webkit-transform: rotate(-45deg); + -webkit-transform-origin: right bottom; + opacity: 0; + transform: rotate(-45deg); + transform-origin: right bottom + } +} + +@keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + opacity: 1; + transform-origin: right bottom + } + + to { + -webkit-transform: rotate(-45deg); + -webkit-transform-origin: right bottom; + opacity: 0; + transform: rotate(-45deg); + transform-origin: right bottom + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight +} + +@-webkit-keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + opacity: 1; + transform-origin: left bottom + } + + to { + -webkit-transform: rotate(-45deg); + -webkit-transform-origin: left bottom; + opacity: 0; + transform: rotate(-45deg); + transform-origin: left bottom + } +} + +@keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + opacity: 1; + transform-origin: left bottom + } + + to { + -webkit-transform: rotate(-45deg); + -webkit-transform-origin: left bottom; + opacity: 0; + transform: rotate(-45deg); + transform-origin: left bottom + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft +} + +@-webkit-keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + opacity: 1; + transform-origin: right bottom + } + + to { + -webkit-transform: rotate(90deg); + -webkit-transform-origin: right bottom; + opacity: 0; + transform: rotate(90deg); + transform-origin: right bottom + } +} + +@keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + opacity: 1; + transform-origin: right bottom + } + + to { + -webkit-transform: rotate(90deg); + -webkit-transform-origin: right bottom; + opacity: 0; + transform: rotate(90deg); + transform-origin: right bottom + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight +} + +@-webkit-keyframes hinge { + 0% { + -webkit-animation-timing-function: ease-in-out; + -webkit-transform-origin: top left; + animation-timing-function: ease-in-out; + transform-origin: top left + } + + 20%, + 60% { + -webkit-animation-timing-function: ease-in-out; + -webkit-transform: rotate(80deg); + -webkit-transform-origin: top left; + animation-timing-function: ease-in-out; + transform: rotate(80deg); + transform-origin: top left + } + + 40%, + 80% { + -webkit-animation-timing-function: ease-in-out; + -webkit-transform: rotate(60deg); + -webkit-transform-origin: top left; + animation-timing-function: ease-in-out; + opacity: 1; + transform: rotate(60deg); + transform-origin: top left + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + opacity: 0; + transform: translate3d(0, 700px, 0) + } +} + +@keyframes hinge { + 0% { + -webkit-animation-timing-function: ease-in-out; + -webkit-transform-origin: top left; + animation-timing-function: ease-in-out; + transform-origin: top left + } + + 20%, + 60% { + -webkit-animation-timing-function: ease-in-out; + -webkit-transform: rotate(80deg); + -webkit-transform-origin: top left; + animation-timing-function: ease-in-out; + transform: rotate(80deg); + transform-origin: top left + } + + 40%, + 80% { + -webkit-animation-timing-function: ease-in-out; + -webkit-transform: rotate(60deg); + -webkit-transform-origin: top left; + animation-timing-function: ease-in-out; + opacity: 1; + transform: rotate(60deg); + transform-origin: top left + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + opacity: 0; + transform: translate3d(0, 700px, 0) + } +} + +.hinge { + -webkit-animation-duration: 2s; + -webkit-animation-name: hinge; + animation-duration: 2s; + animation-name: hinge +} + +@-webkit-keyframes jackInTheBox { + 0% { + -webkit-transform: scale(.1) rotate(30deg); + -webkit-transform-origin: center bottom; + opacity: 0; + transform: scale(.1) rotate(30deg); + transform-origin: center bottom + } + + 50% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg) + } + + 70% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg) + } + + to { + -webkit-transform: scale(1); + opacity: 1; + transform: scale(1) + } +} + +@keyframes jackInTheBox { + 0% { + -webkit-transform: scale(.1) rotate(30deg); + -webkit-transform-origin: center bottom; + opacity: 0; + transform: scale(.1) rotate(30deg); + transform-origin: center bottom + } + + 50% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg) + } + + 70% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg) + } + + to { + -webkit-transform: scale(1); + opacity: 1; + transform: scale(1) + } +} + +.jackInTheBox { + -webkit-animation-name: jackInTheBox; + animation-name: jackInTheBox +} + +@-webkit-keyframes rollIn { + 0% { + -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg); + opacity: 0; + transform: translate3d(-100%, 0, 0) rotate(-120deg) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +@keyframes rollIn { + 0% { + -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg); + opacity: 0; + transform: translate3d(-100%, 0, 0) rotate(-120deg) + } + + to { + -webkit-transform: translateZ(0); + opacity: 1; + transform: translateZ(0) + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn +} + +@-webkit-keyframes rollOut { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(100%, 0, 0) rotate(120deg); + opacity: 0; + transform: translate3d(100%, 0, 0) rotate(120deg) + } +} + +@keyframes rollOut { + 0% { + opacity: 1 + } + + to { + -webkit-transform: translate3d(100%, 0, 0) rotate(120deg); + opacity: 0; + transform: translate3d(100%, 0, 0) rotate(120deg) + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut +} + +@-webkit-keyframes zoomIn { + 0% { + -webkit-transform: scale3d(.3, .3, .3); + opacity: 0; + transform: scale3d(.3, .3, .3) + } + + 50% { + opacity: 1 + } +} + +@keyframes zoomIn { + 0% { + -webkit-transform: scale3d(.3, .3, .3); + opacity: 0; + transform: scale3d(.3, .3, .3) + } + + 50% { + opacity: 1 + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn +} + +@-webkit-keyframes zoomInDown { + 0% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0) + } + + 60% { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0) + } +} + +@keyframes zoomInDown { + 0% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0) + } + + 60% { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0) + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown +} + +@-webkit-keyframes zoomInLeft { + 0% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0) + } + + 60% { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0) + } +} + +@keyframes zoomInLeft { + 0% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0) + } + + 60% { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0) + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft +} + +@-webkit-keyframes zoomInRight { + 0% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0) + } + + 60% { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0) + } +} + +@keyframes zoomInRight { + 0% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0) + } + + 60% { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0) + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight +} + +@-webkit-keyframes zoomInUp { + 0% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0) + } + + 60% { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0) + } +} + +@keyframes zoomInUp { + 0% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0) + } + + 60% { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0) + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp +} + +@-webkit-keyframes zoomOut { + 0% { + opacity: 1 + } + + 50% { + -webkit-transform: scale3d(.3, .3, .3); + opacity: 0; + transform: scale3d(.3, .3, .3) + } + + to { + opacity: 0 + } +} + +@keyframes zoomOut { + 0% { + opacity: 1 + } + + 50% { + -webkit-transform: scale3d(.3, .3, .3); + opacity: 0; + transform: scale3d(.3, .3, .3) + } + + to { + opacity: 0 + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut +} + +@-webkit-keyframes zoomOutDown { + 40% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0) + } + + to { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform-origin: center bottom + } +} + +@keyframes zoomOutDown { + 40% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0) + } + + to { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform-origin: center bottom + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown +} + +@-webkit-keyframes zoomOutLeft { + 40% { + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0) + } + + to { + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + opacity: 0; + transform: scale(.1) translate3d(-2000px, 0, 0); + transform-origin: left center + } +} + +@keyframes zoomOutLeft { + 40% { + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0) + } + + to { + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + opacity: 0; + transform: scale(.1) translate3d(-2000px, 0, 0); + transform-origin: left center + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft +} + +@-webkit-keyframes zoomOutRight { + 40% { + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0) + } + + to { + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + opacity: 0; + transform: scale(.1) translate3d(2000px, 0, 0); + transform-origin: right center + } +} + +@keyframes zoomOutRight { + 40% { + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0) + } + + to { + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + opacity: 0; + transform: scale(.1) translate3d(2000px, 0, 0); + transform-origin: right center + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight +} + +@-webkit-keyframes zoomOutUp { + 40% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0) + } + + to { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform-origin: center bottom + } +} + +@keyframes zoomOutUp { + 40% { + -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19); + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + animation-timing-function: cubic-bezier(.55, .055, .675, .19); + opacity: 1; + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0) + } + + to { + -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1); + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + animation-timing-function: cubic-bezier(.175, .885, .32, 1); + opacity: 0; + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform-origin: center bottom + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp +} + +@-webkit-keyframes slideInDown { + 0% { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes slideInDown { + 0% { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.slideInDown { + -webkit-animation-name: slideInDown; + animation-name: slideInDown +} + +@-webkit-keyframes slideInLeft { + 0% { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes slideInLeft { + 0% { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.slideInLeft { + -webkit-animation-name: slideInLeft; + animation-name: slideInLeft +} + +@-webkit-keyframes slideInRight { + 0% { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes slideInRight { + 0% { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.slideInRight { + -webkit-animation-name: slideInRight; + animation-name: slideInRight +} + +@-webkit-keyframes slideInUp { + 0% { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +@keyframes slideInUp { + 0% { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible + } + + to { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } +} + +.slideInUp { + -webkit-animation-name: slideInUp; + animation-name: slideInUp +} + +@-webkit-keyframes slideOutDown { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + to { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: hidden + } +} + +@keyframes slideOutDown { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + to { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: hidden + } +} + +.slideOutDown { + -webkit-animation-name: slideOutDown; + animation-name: slideOutDown +} + +@-webkit-keyframes slideOutLeft { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + to { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: hidden + } +} + +@keyframes slideOutLeft { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + to { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: hidden + } +} + +.slideOutLeft { + -webkit-animation-name: slideOutLeft; + animation-name: slideOutLeft +} + +@-webkit-keyframes slideOutRight { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + to { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: hidden + } +} + +@keyframes slideOutRight { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + to { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: hidden + } +} + +.slideOutRight { + -webkit-animation-name: slideOutRight; + animation-name: slideOutRight +} + +@-webkit-keyframes slideOutUp { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + to { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: hidden + } +} + +@keyframes slideOutUp { + 0% { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + to { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: hidden + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp +} + +.active .animated { + -webkit-animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-duration: 1s; + animation-fill-mode: both +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite +} + +.animated.delay-1s { + -webkit-animation-delay: 1s; + animation-delay: 1s +} + +.animated.delay-2s { + -webkit-animation-delay: 2s; + animation-delay: 2s +} + +.animated.delay-3s { + -webkit-animation-delay: 3s; + animation-delay: 3s +} + +.animated.delay-4s { + -webkit-animation-delay: 4s; + animation-delay: 4s +} + +.animated.delay-5s { + -webkit-animation-delay: 5s; + animation-delay: 5s +} + +.animated.fast { + -webkit-animation-duration: .8s; + animation-duration: .8s +} + +.animated.faster { + -webkit-animation-duration: .5s; + animation-duration: .5s +} + +.animated.slow { + -webkit-animation-duration: 2s; + animation-duration: 2s +} + +.animated.slower { + -webkit-animation-duration: 3s; + animation-duration: 3s +} + +@media (prefers-reduced-motion), +(print) { + .animated { + -webkit-animation: unset !important; + -webkit-transition: none !important; + animation: unset !important; + transition: none !important + } +} \ No newline at end of file diff --git a/src/style/utils/_bootstrap.scss b/src/style/utils/_bootstrap.scss new file mode 100644 index 0000000..ed3905e --- /dev/null +++ b/src/style/utils/_bootstrap.scss @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{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 #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.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}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.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-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-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-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.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{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-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-image:-o-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-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);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-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-image:-o-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-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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-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-image:-o-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-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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-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-image:-o-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-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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-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-image:-o-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-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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.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-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/src/style/utils/_fullpage.scss b/src/style/utils/_fullpage.scss new file mode 100644 index 0000000..b40c3fc --- /dev/null +++ b/src/style/utils/_fullpage.scss @@ -0,0 +1,221 @@ +/*! + * fullPage 2.9.7 + * https://github.com/alvarotrigo/fullPage.js + * MIT licensed + * + * Copyright (C) 2013 alvarotrigo.com - A project by Alvaro Trigo + */ + html.fp-enabled, + .fp-enabled body { + margin: 0; + padding: 0; + overflow:hidden; + font-family: "PingFangSC-Regular","Microsoft YaHei",Helvetica,Arial; + /*Avoid flicker on slides transitions for mobile phones #336 */ + -webkit-tap-highlight-color: rgba(0,0,0,0); + } + .fp-section { + position: relative; + -webkit-box-sizing: border-box; /* Safari<=5 Android<=3 */ + -moz-box-sizing: border-box; /* <=28 */ + box-sizing: border-box; + } + .fp-slide { + float: left; + } + .fp-slide, .fp-slidesContainer { + height: 100%; + display: block; + } + .fp-slides { + z-index:1; + height: 100%; + overflow: hidden; + position: relative; + -webkit-transition: all 0.3s ease-out; /* Safari<=6 Android<=4.3 */ + transition: all 0.3s ease-out; + } + .fp-section.fp-table, .fp-slide.fp-table { + display: table; + table-layout:fixed; + width: 100%; + } + .fp-tableCell { + display: table-cell; + vertical-align: middle; + width: 100%; + height: 100%; + } + .fp-slidesContainer { + float: left; + position: relative; + } + .fp-controlArrow { + -webkit-user-select: none; /* webkit (safari, chrome) browsers */ + -moz-user-select: none; /* mozilla browsers */ + -khtml-user-select: none; /* webkit (konqueror) browsers */ + -ms-user-select: none; /* IE10+ */ + position: absolute; + z-index: 4; + top: 50%; + cursor: pointer; + width: 0; + height: 0; + border-style: solid; + margin-top: -38px; + -webkit-transform: translate3d(0,0,0); + -ms-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + .fp-controlArrow.fp-prev { + left: 15px; + width: 0; + border-width: 38.5px 34px 38.5px 0; + border-color: transparent #fff transparent transparent; + } + .fp-controlArrow.fp-next { + right: 15px; + border-width: 38.5px 0 38.5px 34px; + border-color: transparent transparent transparent #fff; + } + .fp-scrollable { + overflow: hidden; + position: relative; + } + .fp-scroller{ + overflow: hidden; + } + .iScrollIndicator{ + border: 0 !important; + } + .fp-notransition { + -webkit-transition: none !important; + transition: none !important; + } + #fp-nav { + position: fixed; + z-index: 100; + margin-top: -32px; + top: 50%; + opacity: 1; + -webkit-transform: translate3d(0,0,0); + } + #fp-nav.right { + right: 17px; + } + #fp-nav.left { + left: 17px; + } + .fp-slidesNav{ + position: absolute; + z-index: 4; + opacity: 1; + -webkit-transform: translate3d(0,0,0); + -ms-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + left: 0 !important; + right: 0; + margin: 0 auto !important; + } + .fp-slidesNav.bottom { + bottom: 17px; + } + .fp-slidesNav.top { + top: 17px; + } + #fp-nav ul, + .fp-slidesNav ul { + margin: 0; + padding: 0; + } + #fp-nav ul li, + .fp-slidesNav ul li { + display: block; + width: 14px; + height: 13px; + margin: 7px; + position:relative; + } + .fp-slidesNav ul li { + display: inline-block; + } + #fp-nav ul li a, + .fp-slidesNav ul li a { + display: block; + position: relative; + z-index: 1; + width: 100%; + height: 100%; + cursor: pointer; + text-decoration: none; + } + #fp-nav ul li a.active span, + .fp-slidesNav ul li a.active span, + #fp-nav ul li:hover a.active span, + .fp-slidesNav ul li:hover a.active span{ + height: 12px; + width: 12px; + margin: -6px 0 0 -6px; + border-radius: 100%; + } + #fp-nav ul li a span, + .fp-slidesNav ul li a span { + border-radius: 50%; + position: absolute; + z-index: 1; + height: 4px; + width: 4px; + border: 0; + background: #333; + left: 50%; + top: 50%; + margin: -2px 0 0 -2px; + -webkit-transition: all 0.1s ease-in-out; + -moz-transition: all 0.1s ease-in-out; + -o-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; + } + #fp-nav ul li:hover a span, + .fp-slidesNav ul li:hover a span{ + width: 10px; + height: 10px; + margin: -5px 0px 0px -5px; + } + #fp-nav ul li .fp-tooltip { + position: absolute; + top: -2px; + color: #fff; + font-size: 14px; + font-family: arial, helvetica, sans-serif; + white-space: nowrap; + max-width: 220px; + overflow: hidden; + display: block; + opacity: 0; + width: 0; + cursor: pointer; + } + #fp-nav ul li:hover .fp-tooltip, + #fp-nav.fp-show-active a.active + .fp-tooltip { + -webkit-transition: opacity 0.2s ease-in; + transition: opacity 0.2s ease-in; + width: auto; + opacity: 1; + } + #fp-nav ul li .fp-tooltip.right { + right: 20px; + } + #fp-nav ul li .fp-tooltip.left { + left: 20px; + } + .fp-auto-height.fp-section, + .fp-auto-height .fp-slide, + .fp-auto-height .fp-tableCell{ + height: auto !important; + } + + .fp-responsive .fp-auto-height-responsive.fp-section, + .fp-responsive .fp-auto-height-responsive .fp-slide, + .fp-responsive .fp-auto-height-responsive .fp-tableCell { + height: auto !important; + } \ No newline at end of file diff --git a/src/style/utils/_icon.scss b/src/style/utils/_icon.scss new file mode 100644 index 0000000..ec83b94 --- /dev/null +++ b/src/style/utils/_icon.scss @@ -0,0 +1,33 @@ +@mixin icon($iconName){ + &.icon{ + background-size: 100% auto; + background-repeat: no-repeat; + vertical-align: middle; + display: inline-block; + &-#{$iconName}{ + @include iconBg($iconName); + } + + } +} +@mixin iconBg($iconName){ + @if $iconName == couponCate{ + @include px2rem(width, 30px); + @include px2rem(height, 30px); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA1ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iQjcwODdBM0U2M0FDMDAzMTdBN0JBQzE4RTg2QUM5MzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDJGRjI2RDA1RjZGMTFFNkFBMTdFODlFMUZFRUJGNTgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDJGRjI2Q0Y1RjZGMTFFNkFBMTdFODlFMUZFRUJGNTgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNzA2QzhERDRDOUFFNTExQTVGREQzMzg2QTEyNEYwRSIgc3RSZWY6ZG9jdW1lbnRJRD0iQjcwODdBM0U2M0FDMDAzMTdBN0JBQzE4RTg2QUM5MzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ptfv1AAAAYFBMVEWqqqrp6enS0tKxsbGZmZny8vKkpKTu7u7i4uLm5ubw8PCtra2mpqacnJze3t6ioqLIyMigoKD19fW8vLz+/v74+Pi4uLjs7Oy1tbXb29u6urr7+/uenp6fn5+Wlpb////uMPHNAAABkklEQVR42nyT65KsIAyEUeTiKqCiqKM27/+WJ4iOZ7d2Jz+sSn8SYiey+DFYbPpj33fjwrplabPBGZKOviF8wEmKHggi0eEF9ElxOBJ2WiilirIFn2KcOGRZkyBqmfAuRS6qGLoYOzCV86Hd02l5pVFDDlMLfaVf8juOrNK1YfEb3h/ssVqEOxNncXcUt7DA6orf2ex6wgvKKx/MoURvrk5jSW+yaHFX91jGMcCP+eoWK+EtgKVmhYeha4odPp3XDMtGOAoONH4xMGs6te4wi28ALpLnZFTXVmRkqPMdRXBAJbshZkxN6dWqZ07Krnq4JpZiqq0WDxba1tMbb11rULnX9f2zlxUM66aMhwVggRscNlHrYHhgd2vbC62lT1Ueyb+5R6A2RssQtmzLfBYdPcIYQ3qc/cnTlvA2VSRT3WMqFsLyGQmv/h9J0buPA/25Ds0v6/DgmpZpkD+W6b2KX3+sohYUqmRoyOiBg5VzUvIiH5AthQSWs4wgE11WEmaHSXHwNU8hTiu/JBbZ51/wnwADAJF9UKGx+KqMAAAAAElFTkSuQmCC"); + @at-root{ .sel .icon-#{$iconName}{ + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA1ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iQjcwODdBM0U2M0FDMDAzMTdBN0JBQzE4RTg2QUM5MzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzRCMzc3OEU1RjZGMTFFNjkyRTZDRDVBMzM2MDA4OTUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzRCMzc3OEQ1RjZGMTFFNjkyRTZDRDVBMzM2MDA4OTUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNzA2QzhERDRDOUFFNTExQTVGREQzMzg2QTEyNEYwRSIgc3RSZWY6ZG9jdW1lbnRJRD0iQjcwODdBM0U2M0FDMDAzMTdBN0JBQzE4RTg2QUM5MzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4MAIzjAAAAYFBMVEVnsv87nP/c7f/K5P9EoP/8/v+TyP/l8v/1+v/q9P+83f/G4v+n0v9crP/T6f9Npf90uP97vP9Bn//h8P9UqP9Qpv+22v9Jo/80mP9utv/g7//A3//v9/9LpP8yl/////8uXjs3AAABn0lEQVR42oRT2ZLjIBDjsvEFBgcCNo74/78c8DGppGpn/eSWikao1ST/+ZGshFjKF8zQnVCXTKiIEKrQIgY/z14Apq9sbwExFyREUenA5bY99ORB9px3Aj/pbdsknyu9eHk2ZQptzi0cO+veL/X0fJWZY+53h/EqH190VpRr6vIHvczbDVgMKZq7kgcdhL6BNaaRkrtioUozcbrqfhFMCnopzVNcCz3Ab3fvtWkMbHNe7fAsdGegqlhpsZRrtICt57nC2hU6SwIouy5YnvXUUH5WqwAiq+fFqNZTRGEuidqECOrbPZ90EcWHxN5zYmkY+2tix5B0GuWblmPS+y/dtY6CBns1ZzbQSN3dvF8BZwiFGCqbAigxrkjrK91ZuFSe+rCo/jEBU3xokoOpD0t4naoai+K3gTltYR5DNRW3qXIRmwxfpr7eIyEx8fg7Eh3C/wf6EYeRU5X/kRYeS5g8+FdaLi2PK4pq+4hi4L2Ukk0O6gyym1gBpD6CLOLLee9ewHq0kcXEcCDHGqhjh6ggz3uJnkTQY4tUJn+v4I8AAwCKflB8vJZGnwAAAABJRU5ErkJggg==")!important; + } + } + } + @if $iconName == couponStatus{ + @include px2rem(width, 30px); + @include px2rem(height, 30px); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA1ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iQjcwODdBM0U2M0FDMDAzMTdBN0JBQzE4RTg2QUM5MzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDNEODNBMkE1RjZGMTFFNkFBMTdFODlFMUZFRUJGNTgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDNEODNBMjk1RjZGMTFFNkFBMTdFODlFMUZFRUJGNTgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNzA2QzhERDRDOUFFNTExQTVGREQzMzg2QTEyNEYwRSIgc3RSZWY6ZG9jdW1lbnRJRD0iQjcwODdBM0U2M0FDMDAzMTdBN0JBQzE4RTg2QUM5MzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6fd1xcAAAAYFBMVEXh4eHFxcX9/f3R0dGzs7Pu7u719fXBwcGhoaG9vb3Nzc26urq1tbXc3Nz5+fnk5OStra3Jycm4uLjZ2dnm5uapqano6Ojr6+uenp7V1dXU1NTX19eampqWlpaZmZn///8Amk9LAAABAklEQVR42pTS25KDIAwGYESLCj2wasUDkfd/ywYKLLK0M5sLZ5xvIIm/xHwtYp76+FNazoG1GPe8NqkvgffCpbRrA2+lptfmnzxVfUUCNzlzAA3QfuALSMWUhEeZa1D4nOGnzBUw2x+qMs8bxXWlu6M0mq0eti97c6g/LmaHFzEpP0PKN5ij9pTkTBYWVBjhxjj1vie6CDtIynfhsn24sxUOygujodLhEDASDOB0+cy84pfnLp487/dZzGV04SGvqR5e9/fiyDzVgV6PKSrysCjqK+oagiOGPaHzBY3pT4ps6I37qim1rbaohpx/UAUTq3815xE6Hf6nAnPZrip5fwkwAGnQW6BSDmsdAAAAAElFTkSuQmCC"); + @at-root{ .sel .icon-#{$iconName}{ + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA1ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iQjcwODdBM0U2M0FDMDAzMTdBN0JBQzE4RTg2QUM5MzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzU5RDI3NUM1RjZGMTFFNjkyRTZDRDVBMzM2MDA4OTUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzU5RDI3NUI1RjZGMTFFNjkyRTZDRDVBMzM2MDA4OTUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNzA2QzhERDRDOUFFNTExQTVGREQzMzg2QTEyNEYwRSIgc3RSZWY6ZG9jdW1lbnRJRD0iQjcwODdBM0U2M0FDMDAzMTdBN0JBQzE4RTg2QUM5MzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7TDn4IAAAAYFBMVEWIw/9rtP/L5P/b7f97vP+czP9Gof/o8//6/f81mP9aq/91uf/9/v+z2f/E4f+k0f/U6f+x1//z+f+Vyf9wtv+Pxv9ir/+52/8zl//w9//P5/+r1P86m/84mv8yl/////+hMbWMAAABCUlEQVR42pTS7ZKDIAwFUORL0Cq4q3ZVDO//lg2tWFHamb2/dM4AySTEfw3xlVsvcaON7HjTndIslWORu8ylSpLIS+7RvvgnzwMf2sjFmQ2AAyAfmOmKTWwEmmcDoVULv3kmMIX3YcizXW7Y7qjZh9JCOCxf+hZg9sbGC5eax8/2b7jwHWxU4IqeuZXlrlsZyds/8WZUyUMhR57q52wpao39CxAJMwilUahv9cp10+IAksttGc6iaopnw3jO86b6pdgGua5D0D5o9xotsnnr/NR5V+RaMrWFrr3qV9QlDo74sgK5BQrPE0X26i62GKWcOKon6YIymCfz1jM3IF3cpwyLkXT28P8QYADlJVogiQc9hgAAAABJRU5ErkJggg==")!important; + } + } + } + +} \ No newline at end of file diff --git a/src/style/utils/_keyframes.scss b/src/style/utils/_keyframes.scss new file mode 100644 index 0000000..c545fff --- /dev/null +++ b/src/style/utils/_keyframes.scss @@ -0,0 +1,41 @@ + +//****使用方法****/// +// @include keyframes(move-the-object) { +// 0% { left: 100px; } +// 100% { left: 200px; } +// } + +// .object-to-animate { +// @include animation('move-the-object .5s 1', 'move-the-object-again .5s 1 .5s'); +// } +@mixin animation($animate...) { + $max: length($animate); + $animations: ''; + + @for $i from 1 through $max { + $animations: #{$animations + nth($animate, $i)}; + + @if $i < $max { + $animations: #{$animations + ", "}; + } + } + -webkit-animation: $animations; + -moz-animation: $animations; + -o-animation: $animations; + animation: $animations; +} + +@mixin keyframes($animationName) { + @-webkit-keyframes #{$animationName} { + @content; + } + @-moz-keyframes #{$animationName} { + @content; + } + @-o-keyframes #{$animationName} { + @content; + } + @keyframes #{$animationName} { + @content; + } +} diff --git a/src/style/utils/_mixin.scss b/src/style/utils/_mixin.scss new file mode 100644 index 0000000..3b0fdcb --- /dev/null +++ b/src/style/utils/_mixin.scss @@ -0,0 +1,225 @@ +//是否支持某个浏览器的前缀,如果你不想支持,可以设置为false +//---------------------------- +$prefix-for-webkit: true !default; +$prefix-for-mozilla: false !default; +$prefix-for-microsoft: false !default; +$prefix-for-opera: false !default; +$prefix-for-spec: true !default; // 标准版 + +// prefixer +//---------------------------- +@mixin prefixer ($property, $value, $prefixes) { + @each $prefix in $prefixes { + + @if $prefix == webkit and $prefix-for-webkit == true { + -webkit-#{$property}: $value; + } + @else if $prefix == moz and $prefix-for-mozilla == true { + -moz-#{$property}: $value; + } + @else if $prefix == ms and $prefix-for-microsoft == true { + -ms-#{$property}: $value; + } + @else if $prefix == o and $prefix-for-opera == true { + -o-#{$property}: $value; + } + @else if $prefix == spec and $prefix-for-spec == true { + #{$property}: $value; + } + @else { + @warn "Unrecognized prefix: #{$prefix}"; + } + } +} +@mixin skewX($degrees) { + @include prefixer(transform, skewX($degrees), webkit moz o ms spec); + -webkit-backface-visibility: hidden; +} +//webki和标准 +@mixin box-shadow($shadow...) { + @include prefixer(box-shadow, $shadow, webkit spec); +} + +//webkit moz 和标准 +@mixin box-sizing($type:border-box) { + // border-box | padding-box | content-box + @include prefixer(box-sizing, $type, webkit moz spec); +} + +//webkit moz o 和标准 +@mixin transform($property...) { + @include prefixer(transform, $property, webkit moz o spec); +} + +// triangle +@mixin triangle($direction, $size, $borderColor ) { + content:""; + height: 0; + width: 0; + + @if $direction == top { + border-bottom:$size solid $borderColor; + border-left:$size dashed transparent; + border-right:$size dashed transparent; + } + @else if $direction == right { + border-left:$size solid $borderColor; + border-top:$size dashed transparent; + border-bottom:$size dashed transparent; + } + @else if $direction == bottom { + border-top:$size solid $borderColor; + border-left:$size dashed transparent; + border-right:$size dashed transparent; + } + @else if $direction == left { + border-right:$size solid $borderColor; + border-top:$size dashed transparent; + border-bottom:$size dashed transparent; + } +} + +//定义media-queries的最小最大宽度 +@mixin screen($res-min, $res-max){ + @media screen and ( min-width: $res-min ) and ( max-width: $res-max ){ + @content; + } +} + +//定义animation的keyframes +@mixin keyframes($name){ + @keyframes #{$name} { + @content; + } +} + +//定义所有不支持圆角的浏览器使用背景图片 +//得使用[modernizr](http://modernizr.com/)来检测,在html上加class +@mixin no-border-radius{ + .no-border-radius{ + @content + } +} + +@mixin borderbottom1px($color){ + &{ + position: relative; + } + &:after{ + position: absolute; + right: 0; + bottom: 0; + left: 0; + height: 1px; + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + background-color: $color; + } +} +@mixin bordertop1px($color){ + &{ + position: relative; + } + &:before{ + position: absolute; + right: 0; + left: 0; + height: 1px; + content: ''; + -webkit-transform: scaleY(.5); + transform: scaleY(.5); + background-color: $color; + top: -1px; + } +} + +@mixin border1px($color){ + & { + position: relative; + } + + &:before { + content: ''; + position: absolute; + width: 100%; + height: 100%; + border: 1px solid; + border-color:$color; + -webkit-transform-origin: 0 0; + -moz-transform-origin: 0 0; + -ms-transform-origin: 0 0; + -o-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: scale(0.5, 0.5); + -ms-transform: scale(0.5, 0.5); + -o-transform: scale(0.5, 0.5); + transform: scale(0.5, 0.5); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + left:50%; + @include prefixer(transform,translateX(-50%),(webkit,spec)); + } +} + +@mixin fn-wrap(){ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +@mixin font-dpr($font-size){ + font-size: $font-size; + + [data-dpr="2"] & { + font-size: $font-size * 2; + } + + [data-dpr="3"] & { + font-size: $font-size * 3; + } +} +// @mixin px2rem($property,$px-values,$baseline-px:124px,$support-for-ie:false){ +// //Conver the baseline into rems +// $baseline-rem: $baseline-px / 1rem * 1; +// //Print the first line in pixel values +// @if $support-for-ie { +// #{$property}: $px-values; +// } +// //if there is only one (numeric) value, return the property/value line for it. +// @if type-of($px-values) == "number"{ +// #{$property}: $px-values / $baseline-rem; +// } +// @else { +// //Create an empty list that we can dump values into +// $rem-values:(); +// @each $value in $px-values{ +// // If the value is zero or not a number, return it +// @if $value == 0 or type-of($value) != "number"{ +// $rem-values: append($rem-values, $value / $baseline-rem); +// } +// } +// // Return the property and its list of converted values +// #{$property}: $rem-values; +// } +// } +@function px2rem($px, $base-font-size:75px) { + @if (unitless($px)) { + @warn "Assuming #{$px} to be in pixels, attempting to convert it into pixels for you"; + @return px2rem($px + 0px); // That may fail. + } + @else if (unit($px)==rem) { + @return $px; + } + @return ($px / $base-font-size) * 1rem; +} +@function px2em($px, $base-font-size: 16px) { + @if (unitless($px)) { + @warn "Assuming #{$px} to be in pixels, attempting to convert it into pixels for you"; + @return px2em($px + 0px); // That may fail. + } @else if (unit($px) == em) { + @return $px; + } + @return ($px / $base-font-size) * 1em; +} \ No newline at end of file diff --git a/src/style/utils/_swiper.scss b/src/style/utils/_swiper.scss new file mode 100644 index 0000000..3c93fc4 --- /dev/null +++ b/src/style/utils/_swiper.scss @@ -0,0 +1,13 @@ +/** + * Swiper 8.4.7 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2023 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: January 30, 2023 + */ + + @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/src/utils/api.js b/src/utils/api.js new file mode 100644 index 0000000..feb845a --- /dev/null +++ b/src/utils/api.js @@ -0,0 +1,370 @@ +import axios from 'axios'; +import config from './config'; + +// 微信配置 +const WECHAT_CONFIG = { + appId: '', // 需要配置你的微信公众号AppID + scope: { + BASE: 'snsapi_base', // 静默授权,获取openid + USERINFO: 'snsapi_userinfo' // 用户授权,获取用户信息 + } +}; + +/** + * 微信授权相关方法 + */ +const WechatAuth = { + /** + * 检查是否在微信浏览器中 + */ + isWechatBrowser() { + const ua = navigator.userAgent.toLowerCase(); + return ua.includes('micromessenger'); + }, + + /** + * 获取URL参数 + */ + getUrlParam(name) { + const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); + const r = window.location.search.substr(1).match(reg); + return r ? decodeURIComponent(r[2]) : null; + }, + + /** + * 微信网页授权登录 + * @param {string} redirectUri - 授权后重定向的回调地址 + * @param {string} scope - 授权作用域 'snsapi_base' | 'snsapi_userinfo' + * @param {string} state - 重定向后会带上state参数 + */ + authorize(redirectUri, scope = WECHAT_CONFIG.scope.BASE, state = 'STATE') { + if (!this.isWechatBrowser()) { + console.warn('当前不在微信浏览器环境中'); + return false; + } + + const encodedUri = encodeURIComponent(redirectUri); + const authUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${WECHAT_CONFIG.appId}&redirect_uri=${encodedUri}&response_type=code&scope=${scope}&state=${state}#wechat_redirect`; + + window.location.href = authUrl; + return true; + }, + + /** + * 处理授权回调,获取code + */ + handleAuthCallback() { + const code = this.getUrlParam('code'); + const state = this.getUrlParam('state'); + + if (code) { + return { code, state }; + } + return null; + }, + + /** + * 通过code获取access_token和用户信息 + * @param {string} code - 授权码 + */ + async getAccessToken(code) { + try { + const urlParams = new URLSearchParams(window.location.search); + const friend_account_id = urlParams.get('friend_account_id'); + const accountId = urlParams.get('accountId'); + + const response = service.post('/auto/login', { + code: code, + friend_account_id, + accountId + }); + + const result = await response; + console.log('获取access_token成功:', result.data); + if(result.data&&result.data.Authorization){ + localStorage.setItem('token', result.data.Authorization); + } + + + // 保存token到本地存储 + // if (result.access_token) { + // localStorage.setItem('token', result.access_token); + // localStorage.setItem('wechat_openid', result.openid); + // if (result.refresh_token) { + // localStorage.setItem('refresh_token', result.refresh_token); + // } + // } + + + return result; + } catch (error) { + console.error('获取access_token失败:', error); + throw error; + } + }, + + /** + * 自动处理微信授权流程 + */ + async autoAuth() { + // 检查是否有授权回调的code + const authCallback = this.handleAuthCallback(); + if (authCallback && authCallback.code) { + try { + await this.getAccessToken(authCallback.code); + // 清除URL中的code参数 + const url = new URL(window.location); + url.searchParams.delete('code'); + url.searchParams.delete('state'); + window.history.replaceState({}, document.title, url.toString()); + return true; + } catch (error) { + console.error('自动授权失败:', error); + return false; + } + } + return false; + }, + + /** + * 重新授权 + */ + reAuth() { + // 清除本地token + localStorage.removeItem('token'); + localStorage.removeItem('wechat_openid'); + localStorage.removeItem('refresh_token'); + + // 重新发起授权 + const currentUrl = window.location.href.split('?')[0].split('#')[0]; + this.authorize(currentUrl); + } +}; + +// 创建axios实例,使用config中的基础配置 +const service = axios.create({ + baseURL: config.baseURL, + timeout: config.timeout, + headers: config.commonHeaders +}); + +// 请求拦截器:添加认证信息等 +service.interceptors.request.use( + (config) => { + // 示例:从localStorage获取token并添加到请求头 + const token = localStorage.getItem('token'); + if (token) { + config.headers.Authorization = `${token}`; + } + return config; + }, + (error) => { + return Promise.reject(error); + } +); + +// 响应拦截器:处理状态码和错误 +let isAuthing = false; // 授权标记位 + +service.interceptors.response.use( + (response) => { + // 直接返回响应数据(根据后端接口规范调整) + return response.data; + }, + async (error) => { + const { response } = error; + + // 处理401未认证和400错误,重新进行微信授权 + if (response && (response.status === 401 || response.status === 400)) { + console.warn('认证失败,准备重新授权:', response.status); + + // 如果在微信浏览器中,自动重新授权 + if (WechatAuth.isWechatBrowser() && !isAuthing) { + isAuthing = true; + try { + await WechatAuth.reAuth(); + // 授权成功后刷新页面 + window.location.reload(); + } finally { + isAuthing = false; + } + return Promise.reject(new Error('正在重新授权,请稍候...')); + } else { + console.error('不在微信浏览器环境中,无法自动重新授权'); + } + } + + // 处理其他HTTP错误状态码 + console.error('API请求失败:', response?.status); + return Promise.reject(error); + } +); + +// 微信相关API方法 +const wechatAPI = { + /** + * 获取微信appid + * GET /auto/config/wechat + */ + getWechatAppId() { + return service.get('/auto/config/wechat?url='+encodeURIComponent(location.href)); + }, + + /** + * 微信授权登录获取token + * GET /auto/login + * @param {string} code - 微信授权code + * @param {number} friend_account_id - 分享用户id(可选) + * @param {number} accountId - 渠道用户id(可选) + */ + wechatLogin(code, accountId,friend_account_id) { + const params = { code }; + if (accountId) { + params.accountId = accountId; + } + if (friend_account_id) { + params.friend_account_id = friend_account_id; + } + return service.get('/auto/login', params); + }, + + /** + * 经纬度解析转换城市编码 + * GET /auto/config/city + * @param {number} latitude - 纬度 + * @param {number} longitude - 经度 + */ + getLocationCity(latitude, longitude) { + return service.get('/auto/config/city', { + params: { + latitude, + longitude + } + }); + }, + + /** + * 获取产品详情 + * GET /auto/car/product/detail + * @param {number} id - 产品id + */ + getProductDetail(id) { + return service.get('/auto/car/product/detail', { + params: { + id + } + }); + }, + + /** + * 检查并处理微信登录 + * 如果没有token,自动进行微信授权登录 + * @param {string} redirectUri - 授权回调地址 + * @param {number} accountId - 渠道用户id(可选) + * @param {number} friend_account_id - 分享用户id(可选) + */ + async checkAndLogin(redirectUri, accountId,friend_account_id) { + const token = localStorage.getItem('token'); + + // 如果已有token,直接返回 + if (token) { + return { success: true, token }; + } + + // 检查URL中是否有微信授权返回的code + const urlParams = new URLSearchParams(window.location.search); + const code = urlParams.get('code'); + + if (code) { + try { + // 使用code获取token + const result = await this.wechatLogin(code, accountId,friend_account_id); + if (result.code === 200 && result.data?.Authorization) { + localStorage.setItem('token', result.data.Authorization); + // 清除URL中的code参数 + const newUrl = window.location.pathname + window.location.hash; + window.history.replaceState({}, document.title, newUrl); + return { success: true, token: result.data.Authorization, userInfo: result.data }; + } else { + throw new Error(result.message || '登录失败'); + } + } catch (error) { + console.error('微信登录失败:', error); + return { success: false, error: error.message }; + } + } else { + // 没有code,需要跳转到微信授权页面 + try { + const appIdResult = await this.getWechatAppId(); + console.log('获取微信AppID成功111:', appIdResult); + if (appIdResult.code === 200 && appIdResult.data?.appId) { + const appId = appIdResult.data.appId; + const encodedUri = encodeURIComponent(redirectUri); + const state = accountId || 'STATE'; + const authUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${encodedUri}&response_type=code&scope=snsapi_userinfo&state=${state}#wechat_redirect`; + localStorage.setItem('w_c', JSON.stringify(appIdResult.data)); + localStorage.setItem('app_id', appId); + window.location.href = authUrl; + return { success: false, redirecting: true }; + } else { + throw new Error('获取微信AppID失败'); + } + } catch (error) { + console.error('获取微信AppID失败:', error); + return { success: false, error: error.message }; + } + } + } +}; + +// 导出常用请求方法 +// 获取微信配置 +async function getWechatConfig() { + try { + const response = await service.get('/auto/config/wechat?url='+encodeURIComponent(location.href)); + const config = await response.data; + if (config.appid) { + WECHAT_CONFIG.appId = config.appid; + console.log('微信AppID配置成功:', config.appid); + } + return config; + } catch (error) { + console.error('获取微信配置失败:', error); + return null; + } +} + +// 初始化微信授权 +if (WechatAuth.isWechatBrowser()) { + // 先获取微信配置,再处理授权回调 + getWechatConfig().then(() => { + WechatAuth.autoAuth(); + }); +} else { + // 非微信环境也获取配置,以备后用 + getWechatConfig(); +} + +// 导出常用请求方法和微信授权工具 +export default { + get: (url, params) => service.get(url, { params }), + post: (url, data) => service.post(url, data), + put: (url, data) => service.put(url, data), + delete: (url) => service.delete(url), + upload: (data) => service.post('/auto/upload', data, { headers: { 'Content-Type': 'multipart/form-data' } }), + + // 微信相关方法 + wechatAPI: wechatAPI, + + // 微信授权相关方法 + wechatAuth: WechatAuth, + // 设置微信AppID + setWechatAppId: (appId) => { + WECHAT_CONFIG.appId = appId; + }, + + // 手动触发微信授权 + triggerWechatAuth: (redirectUri, scope) => { + return WechatAuth.authorize(redirectUri, scope); + } +}; diff --git a/src/utils/basicSetting.js b/src/utils/basicSetting.js new file mode 100644 index 0000000..4f62794 --- /dev/null +++ b/src/utils/basicSetting.js @@ -0,0 +1,26 @@ +import { useBasicSettingStore } from '@/stores/basicsetting' +import api from '@/utils/api' + +export const getBasicConfig = async (tag = 'item_bottom') => { + const basicSettingStore = useBasicSettingStore() + if (basicSettingStore[tag]) { + return basicSettingStore[tag] + } else { + try { + const res = await api.get('/auto/config') + if (res.code === 200) { + basicSettingStore.setItemBottom(res.data.item_bottom) + basicSettingStore.setAllowanceBottom(res.data.allowance_bottom) + basicSettingStore.setAllowanceInvoice(res.data.allowance_invoice) + basicSettingStore.setAllowanceInsuranc(res.data.allowance_insuranc) + return basicSettingStore[tag] + } else { + return null + } + } catch (error) { + console.error('获取失败:', error); + return null + } + } + +} \ No newline at end of file diff --git a/src/utils/config.js b/src/utils/config.js new file mode 100644 index 0000000..ac6a9fa --- /dev/null +++ b/src/utils/config.js @@ -0,0 +1,8 @@ +// API 基础配置 + export default { + baseURL: import.meta.env.VITE_API_BASE_URL || 'http://agent.admin.haodian.cn', // 接口基地址,优先使用环境变量 + timeout: 10000, // 请求超时时间(毫秒) + commonHeaders: { // 公共请求头 + 'Content-Type': 'application/json' + } +} \ No newline at end of file diff --git a/src/utils/wechat-example.js b/src/utils/wechat-example.js new file mode 100644 index 0000000..7c5ec78 --- /dev/null +++ b/src/utils/wechat-example.js @@ -0,0 +1,90 @@ +/** + * 微信工具使用示例 + */ +import WechatUtils, { WechatAuth, WechatImage, WechatLocation } from './wechat.js'; + +// 1. 初始化微信工具 +const wechat = await WechatUtils.init('your_wechat_appid'); + +// 2. 微信登录授权 +function handleWechatLogin() { + // 检查是否有授权回调 + const authResult = WechatAuth.handleAuthCallback(); + if (authResult) { + // 有code,发送到后端获取用户信息 + WechatAuth.getAccessToken(authResult.code) + .then(userInfo => { + console.log('用户信息:', userInfo); + // 保存用户信息到本地存储或状态管理 + }) + .catch(error => { + console.error('登录失败:', error); + }); + } else { + // 没有code,跳转到授权页面 + const redirectUri = window.location.href; + WechatAuth.authorize(redirectUri, 'snsapi_userinfo'); + } +} + +// 3. 选择并上传图片 +async function handleImageUpload() { + try { + // 选择图片 + const localIds = await WechatImage.chooseImage({ + count: 3, + sizeType: ['compressed'], + sourceType: ['album', 'camera'] + }); + + // 上传图片 + const serverIds = []; + for (const localId of localIds) { + const serverId = await WechatImage.uploadImage(localId); + serverIds.push(serverId); + } + + console.log('上传成功,服务器ID:', serverIds); + return serverIds; + } catch (error) { + console.error('图片上传失败:', error); + } +} + +// 4. 获取地理位置 +async function handleGetLocation() { + try { + const location = await WechatLocation.getLocation('gcj02'); + console.log('当前位置:', location); + + // 在地图中显示位置 + WechatLocation.openLocation({ + latitude: location.latitude, + longitude: location.longitude, + name: '我的位置', + address: '当前所在位置' + }); + } catch (error) { + console.error('获取位置失败:', error); + } +} + +// 5. 设置分享内容 +function setupShare() { + const shareData = { + title: '平安经纪人', + desc: '专业的保险服务平台', + link: window.location.href, + imgUrl: 'https://your-domain.com/share-icon.jpg' + }; + + wechat.share.shareToFriend(shareData); + wechat.share.shareToTimeline(shareData); +} + +export { + handleWechatLogin, + handleImageUpload, + handleGetLocation, + setupShare +}; \ No newline at end of file diff --git a/src/utils/wechat-usage-example.js b/src/utils/wechat-usage-example.js new file mode 100644 index 0000000..8577aa8 --- /dev/null +++ b/src/utils/wechat-usage-example.js @@ -0,0 +1,158 @@ +/** + * 微信API使用示例 + * 展示如何使用api.js中的微信相关方法 + */ + +import api, { wechatAPI } from './api.js'; + +/** + * 页面初始化时检查微信登录状态 + * 在Vue组件的mounted或created钩子中调用 + */ +export async function initWechatLogin() { + try { + // 获取当前页面URL作为回调地址 + const redirectUri = window.location.origin + window.location.pathname; + + // 检查并处理登录 + const result = await api.wechat.checkAndLogin(redirectUri); + + if (result.success) { + console.log('用户已登录,token:', result.token); + if (result.userInfo) { + console.log('用户信息:', result.userInfo); + // 可以将用户信息保存到Vuex或其他状态管理中 + } + return result; + } else if (result.redirecting) { + console.log('正在跳转到微信授权页面...'); + return result; + } else { + console.error('登录失败:', result.error); + // 可以显示错误提示给用户 + return result; + } + } catch (error) { + console.error('初始化微信登录失败:', error); + return { success: false, error: error.message }; + } +} + +/** + * 带分享用户ID的登录 + * 当用户通过分享链接进入时使用 + * @param {number} cfUid - 分享用户ID + */ +export async function initWechatLoginWithShare(cfUid) { + try { + const redirectUri = window.location.origin + window.location.pathname; + const result = await api.wechat.checkAndLogin(redirectUri, cfUid); + + if (result.success) { + console.log('通过分享链接登录成功,分享用户ID:', cfUid); + // 可以记录分享来源等信息 + } + + return result; + } catch (error) { + console.error('分享登录失败:', error); + return { success: false, error: error.message }; + } +} + +/** + * 手动获取微信AppID + * 一般情况下不需要单独调用,checkAndLogin会自动处理 + */ +export async function getWechatAppId() { + try { + const result = await api.wechat.getWechatAppId(); + if (result.code === 200) { + console.log('微信AppID:', result.data.appid); + return result.data.appid; + } else { + throw new Error(result.message || '获取AppID失败'); + } + } catch (error) { + console.error('获取微信AppID失败:', error); + throw error; + } +} + +/** + * 手动处理微信登录 + * 当你已经有code时可以直接调用 + * @param {string} code - 微信授权code + * @param {number} cfUid - 分享用户ID(可选) + */ +export async function handleWechatLogin(code, cfUid) { + try { + const result = await api.wechat.wechatLogin(code, cfUid); + if (result.code === 200) { + // 保存token + localStorage.setItem('token', result.data.token); + console.log('登录成功:', result.data); + return result.data; + } else { + throw new Error(result.message || '登录失败'); + } + } catch (error) { + console.error('微信登录失败:', error); + throw error; + } +} + +/** + * 检查当前登录状态 + */ +export function checkLoginStatus() { + const token = localStorage.getItem('token'); + return { + isLoggedIn: !!token, + token: token + }; +} + +/** + * 退出登录 + */ +export function logout() { + localStorage.removeItem('token'); + console.log('已退出登录'); + // 可以跳转到登录页面或刷新页面 +} + +/** + * Vue组件中的使用示例 + */ +export const vueComponentExample = { + async mounted() { + // 检查URL参数中是否有分享用户ID + const urlParams = new URLSearchParams(window.location.search); + const cfUid = urlParams.get('cfUid'); + + if (cfUid) { + // 通过分享链接进入 + await initWechatLoginWithShare(parseInt(cfUid)); + } else { + // 正常进入 + await initWechatLogin(); + } + }, + + methods: { + async handleLogin() { + const result = await initWechatLogin(); + if (result.success) { + // 登录成功,可以跳转到其他页面或更新UI + this.$router.push('/home'); + } + }, + + handleLogout() { + logout(); + // 跳转到登录页面 + this.$router.push('/login'); + } + } +}; \ No newline at end of file diff --git a/src/utils/wechat.js b/src/utils/wechat.js new file mode 100644 index 0000000..3bcfe5e --- /dev/null +++ b/src/utils/wechat.js @@ -0,0 +1,413 @@ +/** + * 微信相关工具方法 + * 包含网页授权、JS-SDK功能等 + */ + +import api from './api.js'; + +// 微信配置 +const WECHAT_CONFIG = { + appId: '', // 需要配置你的微信公众号AppID + scope: { + BASE: 'snsapi_base', // 静默授权,获取openid + USERINFO: 'snsapi_userinfo' // 用户授权,获取用户信息 + }, + jsApiList: [ + 'chooseImage', + 'uploadImage', + 'getLocation', + 'openLocation' + ] +}; + +/** + * 微信网页授权相关方法 + */ +export const WechatAuth = { + /** + * 检查是否在微信浏览器中 + */ + isWechatBrowser() { + const ua = navigator.userAgent.toLowerCase(); + return ua.includes('micromessenger'); + }, + + /** + * 获取URL参数 + */ + getUrlParam(name) { + const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); + const r = window.location.search.substr(1).match(reg); + return r ? decodeURIComponent(r[2]) : null; + }, + + /** + * 微信网页授权登录 + * @param {string} redirectUri - 授权后重定向的回调地址 + * @param {string} scope - 授权作用域 'snsapi_base' | 'snsapi_userinfo' + * @param {string} state - 重定向后会带上state参数 + */ + authorize(redirectUri, scope = WECHAT_CONFIG.scope.BASE, state = 'STATE') { + if (!this.isWechatBrowser()) { + console.warn('当前不在微信浏览器环境中'); + return false; + } + + const encodedUri = encodeURIComponent(redirectUri); + const authUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${WECHAT_CONFIG.appId}&redirect_uri=${encodedUri}&response_type=code&scope=${scope}&state=${state}#wechat_redirect`; + + window.location.href = authUrl; + return true; + }, + + /** + * 处理授权回调,获取code + */ + handleAuthCallback() { + const code = this.getUrlParam('code'); + const state = this.getUrlParam('state'); + + if (code) { + return { code, state }; + } + return null; + }, + + /** + * 通过code获取access_token和用户信息 + * 注意:这个接口需要在后端调用,前端不能直接调用 + * @param {string} code - 授权码 + */ + async getAccessToken(code) { + try { + // 这里应该调用你的后端接口,后端再调用微信接口 + const response = await fetch('/api/wechat/auth', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ code }) + }); + + return await response.json(); + } catch (error) { + console.error('获取access_token失败:', error); + throw error; + } + } +}; + +/** + * 微信JS-SDK相关方法 + */ +export const WechatJSSDK = { + /** + * 初始化微信JS-SDK + * @param {Object} config - 配置信息 + * @param {string} config.appId - 公众号的唯一标识 + * @param {number} config.timestamp - 生成签名的时间戳 + * @param {string} config.nonceStr - 生成签名的随机串 + * @param {string} config.signature - 签名 + */ + async init(config) { + return new Promise((resolve, reject) => { + if (!window.wx) { + reject(new Error('微信JS-SDK未加载')); + return; + } + console.log('微信JS-SDK初始化中'); + window.wx.config({ + // debug: config.debug, // 开启调试模式 + debug: false, + appId: config.appId, + timestamp: config.timestamp, + nonceStr: config.nonceStr, + signature: config.signature, + jsApiList: config.jsApiList + }); + + window.wx.ready(() => { + console.log('微信JS-SDK初始化成功'); + resolve(true); + }); + + window.wx.error((res) => { + console.error('微信JS-SDK初始化失败:', res); + reject(new Error('微信JS-SDK初始化失败')); + }); + }); + }, + + /** + * 获取JS-SDK配置信息 + * 需要后端提供签名等信息 + */ + async getJSSDKConfig() { + try { + const local_w_c = localStorage.getItem('w_c')? JSON.parse(localStorage.getItem('w_c')):null; + const response = local_w_c?{data:local_w_c}:await api.wechatAPI.getWechatAppId(); + return await response.data; + } catch (error) { + console.error('获取JS-SDK配置失败:', error); + throw error; + } + } +}; + +/** + * 微信图片相关方法 + */ +export const WechatImage = { + /** + * 选择图片 + * @param {Object} options - 配置选项 + * @param {number} options.count - 最多可以选择的图片张数,默认9 + * @param {Array} options.sizeType - 可以指定是原图还是压缩图,默认二者都有 + * @param {Array} options.sourceType - 可以指定来源是相册还是相机,默认二者都有 + */ + chooseImage(options = {}) { + return new Promise((resolve, reject) => { + if (!window.wx) { + reject(new Error('微信JS-SDK未初始化')); + return; + } + + window.wx.chooseImage({ + count: options.count || 9, + sizeType: options.sizeType || ['original', 'compressed'], + sourceType: options.sourceType || ['album', 'camera'], + success: (res) => { + resolve(res.localIds); // 返回选定照片的本地ID列表 + }, + fail: (error) => { + reject(error); + } + }); + }); + }, + + /** + * 上传图片 + * @param {string} localId - 需要上传的图片的本地ID + * @param {boolean} isShowProgressTips - 是否显示进度提示 + */ + uploadImage(localId, isShowProgressTips = true) { + return new Promise((resolve, reject) => { + if (!window.wx) { + reject(new Error('微信JS-SDK未初始化')); + return; + } + + window.wx.uploadImage({ + localId: localId, + isShowProgressTips: isShowProgressTips ? 1 : 0, + success: (res) => { + resolve(res.serverId); // 返回图片的服务器端ID + }, + fail: (error) => { + reject(error); + } + }); + }); + }, + + /** + * 预览图片 + * @param {string} current - 当前显示图片的http链接 + * @param {Array} urls - 需要预览的图片http链接列表 + */ + previewImage(current, urls) { + if (!window.wx) { + console.error('微信JS-SDK未初始化'); + return; + } + + window.wx.previewImage({ + current: current, + urls: urls + }); + } +}; + +/** + * 微信地理位置相关方法 + */ +export const WechatLocation = { + /** + * 获取地理位置 + * @param {string} type - 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' + */ + getLocation(type = 'wgs84') { + return new Promise((resolve, reject) => { + if (!window.wx) { + reject(new Error('微信JS-SDK未初始化')); + return; + } + + window.wx.getLocation({ + type: type, + success: (res) => { + console.log('res',res) + resolve({ + latitude: res.latitude, + longitude: res.longitude, + speed: res.speed, + accuracy: res.accuracy + }); + }, + fail: (error) => { + console.log('error',error) + reject(error); + } + }); + }); + }, + + /** + * 使用微信内置地图查看位置 + * @param {Object} location - 位置信息 + * @param {number} location.latitude - 纬度 + * @param {number} location.longitude - 经度 + * @param {string} location.name - 位置名 + * @param {string} location.address - 地址详情说明 + * @param {number} location.scale - 地图缩放级别 + * @param {string} location.infoUrl - 在查看位置界面底部显示的超链接 + */ + openLocation(location) { + if (!window.wx) { + console.error('微信JS-SDK未初始化'); + return; + } + + window.wx.openLocation({ + latitude: location.latitude, + longitude: location.longitude, + name: location.name || '', + address: location.address || '', + scale: location.scale || 14, + infoUrl: location.infoUrl || '' + }); + } +}; + +/** + * 微信扫一扫相关方法 + */ +export const WechatScan = { + /** + * 调起微信扫一扫接口 + * @param {Object} options - 配置选项 + * @param {number} options.needResult - 默认为0,扫描结果由微信处理,1则直接返回扫描结果 + * @param {Array} options.scanType - 可以指定扫二维码还是一维码,默认二者都有 + */ + scanQRCode(options = {}) { + return new Promise((resolve, reject) => { + if (!window.wx) { + reject(new Error('微信JS-SDK未初始化')); + return; + } + + window.wx.scanQRCode({ + needResult: options.needResult || 0, + scanType: options.scanType || ['qrCode', 'barCode'], + success: (res) => { + resolve(res.resultStr); + }, + fail: (error) => { + reject(error); + } + }); + }); + } +}; + +/** + * 微信分享相关方法 + */ +export const WechatShare = { + /** + * 分享给朋友 + * @param {Object} shareData - 分享数据 + * @param {string} shareData.title - 分享标题 + * @param {string} shareData.desc - 分享描述 + * @param {string} shareData.link - 分享链接 + * @param {string} shareData.imgUrl - 分享图标 + */ + shareToFriend(shareData) { + if (!window.wx) { + console.error('微信JS-SDK未初始化'); + return; + } + + window.wx.updateAppMessageShareData({ + title: shareData.title, + desc: shareData.desc, + link: shareData.link, + imgUrl: shareData.imgUrl, + success: () => { + console.log('分享给朋友设置成功'); + } + }); + }, + + /** + * 分享到朋友圈 + * @param {Object} shareData - 分享数据 + * @param {string} shareData.title - 分享标题 + * @param {string} shareData.link - 分享链接 + * @param {string} shareData.imgUrl - 分享图标 + */ + shareToTimeline(shareData) { + if (!window.wx) { + console.error('微信JS-SDK未初始化'); + return; + } + + window.wx.updateTimelineShareData({ + title: shareData.title, + link: shareData.link, + imgUrl: shareData.imgUrl, + success: () => { + console.log('分享到朋友圈设置成功'); + } + }); + } +}; + +/** + * 微信工具类 - 统一入口 + */ +export default class WechatUtils { + constructor(appId) { + WECHAT_CONFIG.appId = appId; + this.auth = WechatAuth; + this.jsSDK = WechatJSSDK; + this.image = WechatImage; + this.location = WechatLocation; + this.scan = WechatScan; + this.share = WechatShare; + } + + /** + * 初始化微信功能 + * @param {string} appId - 微信公众号AppID + */ + static async init(appId) { + const wechat = new WechatUtils(appId); + + // 如果在微信浏览器中,自动初始化JS-SDK + if (WechatAuth.isWechatBrowser()) { + try { + localStorage.removeItem('w_c'); + const config = await WechatJSSDK.getJSSDKConfig(); + console.log('微信JS-SDK配置:', config); + await WechatJSSDK.init(config); + console.log('微信工具初始化成功'); + } catch (error) { + console.error('微信JS-SDK初始化失败:', error); + } + } + + return wechat; + } +} \ No newline at end of file diff --git a/src/utils/wechatAuth.js b/src/utils/wechatAuth.js new file mode 100644 index 0000000..c832949 --- /dev/null +++ b/src/utils/wechatAuth.js @@ -0,0 +1,103 @@ +const queryString = require('qs') +// 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid), +// snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息) +const SCOPES = ['snsapi_base', 'snsapi_userinfo'] + +class VueWechatAuthPlugin { + install(Vue, options) { + let wechatAuth = this + this.setAppId(options.appid) + this.scope = SCOPES[options.scope ? 1 : 0] + Vue.mixin({ + created() { + this.$wechatAuth = wechatAuth + }, + }) + } + + constructor() { + this.appid = null + this.redirectUri = null + this.scope = null + this._code = null + this._redirectUri = null + } + + static makeState() { + return ( + Math.random() + .toString(36) + .substring(2, 15) + + Math.random() + .toString(36) + .substring(2, 15) + ) + } + + setAppId(appid) { + this.appid = appid + } + + set redirectUri(redirectUri) { + this._redirectUri = encodeURIComponent(redirectUri) + } + + get redirectUri() { + return this._redirectUri + } + + get state() { + return localStorage.getItem('wechat_auth:state') + } + + set state(state) { + localStorage.setItem('wechat_auth:state', state) + } + + get authUrl() { + if (this.appid === null) { + throw new Error('appid must not be null') + } + if (this.redirectUri === null) { + throw new Error('redirect uri must not be null') + } + this.state = VueWechatAuthPlugin.makeState() + return `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${this.appid}&redirect_uri=${ + this.redirectUri + }&response_type=code&scope=${this.scope}&state=${this.state}#wechat_redirect` + } + + + returnFromWechat(redirectUri) { + let parsedUrl = queryString.parse(redirectUri.split('?')[1]) + if (process.env.NODE_ENV === 'development') { + this.state = null + this._code = parsedUrl.code + } else { + if (this.state === null) { + throw new Error("You did't set state") + } + if (parsedUrl.state.replace('#/', '') === this.state) { + this.state = null + this._code = parsedUrl.code + } else { + this.state = null + throw new Error(`Wrong state: ${parsedUrl.state}`) + } + } + } + + get code() { + console.log('code', this._code) + if (this._code === null) { + throw new Error('Not get the code from wechat server!') + } + + const code = this._code + this._code = null + return code + } +} + +const vueWechatAuthPlugin = new VueWechatAuthPlugin() +export default vueWechatAuthPlugin \ No newline at end of file diff --git a/uc_api.md b/uc_api.md new file mode 100644 index 0000000..7976dba --- /dev/null +++ b/uc_api.md @@ -0,0 +1,421 @@ +--- +title: 平安h5 +language_tabs: + - shell: Shell + - http: HTTP + - javascript: JavaScript + - ruby: Ruby + - python: Python + - php: PHP + - java: Java + - go: Go +toc_footers: [] +includes: [] +search: true +code_clipboard: true +highlight_theme: darkula +headingLevel: 2 +generator: "@tarslib/widdershins v4.0.30" + +--- + +# 平安h5 + +Base URLs: + +# Authentication + +# 用户中心 + +## GET 我的优惠券 + +GET /auto/ucenter/coupons + +> Body 请求参数 + +```yaml +{} + +``` + +### 请求参数 + +|名称|位置|类型|必选|说明| +|---|---|---|---|---| +|page|query|integer| 否 |页码| +|size|query|integer| 否 |分页大小| +|Authorization|header|string| 是 |none| +|body|body|object| 否 |none| + +> 返回示例 + +> 200 Response + +```json +{ + "code": 200, + "message": "操作成功", + "data": { + "list": [ + { + "id": "645", + "sid": "350200030611174722101371", + "couponId": "645", + "title": "奇瑞舒享家补贴券", + "price": "1000.00", + "timeStart": "2025-06-01 00:00:00", + "timeEnd": "2025-07-31 00:00:00", + "rule": "点击近段时间阿萨德", + "bizTip": "适用 泉州惠安车卖场等 23家门店", + "typeCn": "购车补贴", + "btText": { + "txt": "立即使用", + "status": "0" + } + } + ], + "count": 1 + } +} +``` + +### 返回结果 + +|状态码|状态码含义|说明|数据模型| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +### 返回数据结构 + +状态码 **200** + +|名称|类型|必选|约束|中文名|说明| +|---|---|---|---|---|---| +|» code|integer|true|none||none| +|» message|string|true|none||none| +|» data|object|true|none||none| +|»» list|[object]|true|none||none| +|»»» id|string|false|none||none| +|»»» sid|string|false|none||订单号| +|»»» couponId|string|false|none||none| +|»»» title|string|false|none||none| +|»»» price|string|false|none||none| +|»»» timeStart|string|false|none||none| +|»»» timeEnd|string|false|none||none| +|»»» rule|string|false|none||none| +|»»» bizTip|string|false|none||none| +|»»» typeCn|string|false|none||优惠券类型中文| +|»»» btText|object|false|none||按钮信息| +|»»»» txt|string|true|none||none| +|»»»» status|string|true|none||0待核销 1已核销 21已过期| +|»» count|integer|true|none||none| + +## GET 用户中心 + +GET /auto/ucenter + +> Body 请求参数 + +```yaml +{} + +``` + +### 请求参数 + +|名称|位置|类型|必选|说明| +|---|---|---|---|---| +|Authorization|header|string| 是 |none| +|body|body|object| 否 |none| + +> 返回示例 + +> 200 Response + +```json +{ + "code": 200, + "message": "操作成功", + "data": { + "user_info": { + "username": "", + "avatar": "" + }, + "menu_list": [ + { + "title": "我的券", + "type": 1, + "url": "/my/coupon" + }, + { + "title": "我的订单", + "type": 1, + "url": "/my/order" + }, + { + "title": "我的补贴", + "type": 1, + "url": "/my/allowance" + }, + { + "title": "我的客服", + "type": 2, + "url": "13666668888" + } + ] + } +} +``` + +### 返回结果 + +|状态码|状态码含义|说明|数据模型| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +### 返回数据结构 + +状态码 **200** + +|名称|类型|必选|约束|中文名|说明| +|---|---|---|---|---|---| +|» code|integer|true|none||none| +|» message|string|true|none||none| +|» data|object|true|none||none| +|»» user_info|object|true|none||none| +|»»» username|string|true|none||none| +|»»» avatar|string|true|none||none| +|»» menu_list|[object]|true|none||none| +|»»» title|string|true|none||none| +|»»» type|integer|true|none||none| +|»»» url|string|true|none||none| + +## GET 我的订单 + +GET /auto/ucenter/orders + +> Body 请求参数 + +```yaml +{} + +``` + +### 请求参数 + +|名称|位置|类型|必选|说明| +|---|---|---|---|---| +|page|query|integer| 否 |页码| +|size|query|integer| 否 |分页大小| +|Authorization|header|string| 是 |none| +|body|body|object| 否 |none| + +> 返回示例 + +> 200 Response + +```json +{ + "code": 200, + "message": "操作成功", + "data": { + "list": [ + { + "sid": "24234234234", + "title": "产品标题", + "logo": "", + "guide_price": 2000 + } + ], + "count": 1 + } +} +``` + +### 返回结果 + +|状态码|状态码含义|说明|数据模型| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +### 返回数据结构 + +状态码 **200** + +|名称|类型|必选|约束|中文名|说明| +|---|---|---|---|---|---| +|» code|integer|true|none||none| +|» message|string|true|none||none| +|» data|object|true|none||none| +|»» list|[object]|true|none||none| +|»»» sid|string|false|none||订单号| +|»»» title|string|false|none||none| +|»»» logo|string|false|none||none| +|»»» guide_price|integer|false|none||none| +|»» count|integer|true|none||none| + +## GET 我的补贴 + +GET /auto/ucenter/subsidy + +> Body 请求参数 + +```yaml +{} + +``` + +### 请求参数 + +|名称|位置|类型|必选|说明| +|---|---|---|---|---| +|page|query|integer| 否 |页码| +|size|query|integer| 否 |分页大小| +|Authorization|header|string| 是 |none| +|body|body|object| 否 |none| + +> 返回示例 + +> 200 Response + +```json +{ + "code": 200, + "message": "操作成功", + "data": { + "list": [ + { + "id": 1, + "sid": "24234234234", + "title": "产品标题", + "logo": "", + "price": "10万", + "biz": "厦门4s店铺", + "car": "广汽丰田", + "step": 0, + "progress": [ + "完成订单", + "提交资料", + "系统审核", + "发放完毕" + ] + } + ], + "count": 1 + } +} +``` + +### 返回结果 + +|状态码|状态码含义|说明|数据模型| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +### 返回数据结构 + +状态码 **200** + +|名称|类型|必选|约束|中文名|说明| +|---|---|---|---|---|---| +|» code|integer|true|none||none| +|» message|string|true|none||none| +|» data|object|true|none||none| +|»» list|[object]|true|none||none| +|»»» id|integer|false|none||none| +|»»» sid|string|false|none||订单号| +|»»» title|string|false|none||none| +|»»» logo|string|false|none||none| +|»»» price|string|false|none||none| +|»»» biz|string|false|none||none| +|»»» car|string|false|none||none| +|»»» step|integer|false|none||none| +|»»» progress|[string]|false|none||none| +|»» count|integer|true|none||none| + +## POST 提交审核资料 + +POST /auto/subsidy + +> Body 请求参数 + +```yaml +{} + +``` + +### 请求参数 + +|名称|位置|类型|必选|说明| +|---|---|---|---|---| +|id|query|integer| 是 |补贴id| +|bizId|query|integer| 是 |门店id| +|cityId|query|string| 是 |城市id| +|brandId|query|integer| 是 |品牌id| +|seriesId|query|integer| 是 |车系id| +|billImg|query|string| 是 |发票图片地址| +|businessImg|query|string| 是 |商业保险单| +|Authorization|header|string| 是 |none| +|body|body|object| 否 |none| + +> 返回示例 + +> 200 Response + +```json +{ + "code": 200, + "message": "操作成功", + "data": { + "list": [ + { + "id": 1, + "sid": "24234234234", + "title": "产品标题", + "logo": "", + "price": "10万", + "biz": "厦门4s店铺", + "car": "广汽丰田", + "step": 0, + "progress": [ + "完成订单", + "提交资料", + "系统审核", + "发放完毕" + ] + } + ], + "count": 1 + } +} +``` + +### 返回结果 + +|状态码|状态码含义|说明|数据模型| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +### 返回数据结构 + +状态码 **200** + +|名称|类型|必选|约束|中文名|说明| +|---|---|---|---|---|---| +|» code|integer|true|none||none| +|» message|string|true|none||none| +|» data|object|true|none||none| +|»» list|[object]|true|none||none| +|»»» id|integer|false|none||none| +|»»» sid|string|false|none||订单号| +|»»» title|string|false|none||none| +|»»» logo|string|false|none||none| +|»»» price|string|false|none||none| +|»»» biz|string|false|none||none| +|»»» car|string|false|none||none| +|»»» step|integer|false|none||none| +|»»» progress|[string]|false|none||none| +|»» count|integer|true|none||none| + +# 数据模型 + diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..3f417e0 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,53 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vite.dev/config/ +import postcssPxToViewport from 'postcss-px-to-viewport' + +export default defineConfig({ + resolve: { + alias: { + '@': '/src' // Map '@' alias to 'src' directory + } + }, + plugins: [vue()], + css: { + postcss: { + plugins: [ + postcssPxToViewport({ + viewportWidth: 750, // 设计稿视口宽度 + unitPrecision: 5, // 转换后保留的小数位数 + propList: ['*'], // 需要转换的CSS属性(*表示所有属性) + viewportUnit: 'vw', // 使用的视口单位 + fontViewportUnit: 'vw', // 字体使用的视口单位 + selectorBlackList: [], // 需要忽略的选择器 + minPixelValue: 1, // 小于等于1px不转换 + mediaQuery: false, // 是否在媒体查询中转换px + replace: true, // 是否替换原有的px单位 + exclude: [/node_modules/], // 忽略node_modules目录 + }) + ] + } + }, + scss: { + additionalData: `@use "./src/style/pages/h5.scss";` + }, + devServer: { + port: 80, + host: '0.0.0.0', + hot: true, + disableHostCheck: true + }, + server: { + port: 80, + host: '0.0.0.0', + allowedHosts: ["www.auto.haodian.cn"], + hot: true, + disableHostCheck: true + }, + build: { + target: 'es2015', + brotliSize: false, + chunkSizeWarningLimit: 2000, + } +})