diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..af485421f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +mongo_data/* +certs/* +data/* +logs/* +YYeTsFE/node_modules/* +.github/* +assets/* +conf/* +tests/* +yyetsweb/yyets.sqlite +yyetsweb/subtitle_data \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index 0334717f7..958b534a5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,18 @@ -*.html linguist-vendored +yyets/worker/public/css/** linguist-vendored +yyets/worker/public/fonts/* linguist-vendored +yyets/worker/public/img/* linguist-vendored +yyets/worker/public/js/* linguist-vendored +yyets/worker/public/js/search.js -linguist-vendored +yyets/worker/public/404.html linguist-vendored +yyets/worker/public/resource.html linguist-vendored + +yyetsweb/templates/css/** linguist-vendored +yyetsweb/templates/fonts/* linguist-vendored +yyetsweb/templates/img/* linguist-vendored +yyetsweb/templates/js/* linguist-vendored +yyetsweb/templates/404.html linguist-vendored +yyetsweb/templates/resource.html linguist-vendored + +yyetsweb/templates/js/common.js -linguist-vendored + +tests/data/* linguist-vendored diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..67144f554 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,4 @@ +# These are supported funding model platforms + +github: BennyThink +custom: https://buy.stripe.com/dR67vU4p13Ox73a6oq diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..23028e468 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,9 @@ +version: 2 +updates: + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "daily" + groups: + all-dependencies: + patterns: ["*"] \ No newline at end of file diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml new file mode 100644 index 000000000..a5e923458 --- /dev/null +++ b/.github/workflows/docker.yaml @@ -0,0 +1,80 @@ +name: Build and push docker image +on: + push: + branches: + - 'master' + paths-ignore: + - '**.md' + - 'LICENSE' + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Cache Docker layers + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Lower case for Docker Hub + id: dh_string + uses: ASzc/change-string-case-action@v5 + with: + string: ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }} + + - name: Lower case for ghcr + id: ghcr_string + uses: ASzc/change-string-case-action@v5 + with: + string: ${{ github.event.repository.full_name }} + + - name: Build and push docker images + uses: docker/build-push-action@v4 + with: + context: . + platforms: linux/amd64, linux/arm64 + push: true + tags: | + ${{ steps.dh_string.outputs.lowercase }} + ghcr.io/${{ steps.ghcr_string.outputs.lowercase }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + + - name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + + - name: Notification to Telegram + env: + TOKEN: ${{ secrets.BOT_TOKEN }} + run: | + curl "https://api.telegram.org/bot$TOKEN/sendMessage?chat_id=260260121&text=Normal%20Build%20complete!" + echo "YYeTsBot Build complete!" diff --git a/.gitignore b/.gitignore index c78e0e54a..1e64b4e61 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,7 @@ MANIFEST # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest -*.spec +#*.spec # Installer logs pip-log.txt @@ -110,6 +110,41 @@ venv.bak/ /.idea/modules.xml /.idea/vcs.xml .idea/ -/data/cookies.dump +/yyetsbot/data/cookies.dump /.idea/inspectionProfiles/profiles_settings.xml -data/ +yyetsbot/data/ +health_check/client.session + +/tools/worker/.idea/ +/tools/worker/workers-site/node_modules/* +/tools/worker/workers-site/worker/script.js +/health_check/client-hc.session +mongo_data/* +certs/* +data/* +logs/* +**/.DS_Store +/yyetsweb/yyets_sqlite.db +/yyetsweb/yyetsweb +/yyetsweb/assets.go +/yyetsweb/templates/sponsor/* +/yyetsweb/templates/svg/* +/yyetsweb/templates/index.css +/yyetsweb/templates/logo* +/yyetsweb/templates/*.json + +/yyetsweb/templates/* +/yyetsweb/templates/data/* +/yyetsweb/builds/ +/builds/checksum-sha256sum.txt +/yyetsweb/1.html +!/env/ +!/mongo_data/ +/env/yyets.env +!/docker-compose.override.yml +/docker-compose.override.yml +/yyetsweb/templates/dump/yyets_mongo.gz +/yyetsweb/templates/dump/yyets_mysql.zip +/yyetsweb/templates/dump/yyets_sqlite.zip +/yyetsweb/subtitle_data/attachment/201001/17/758231_1263706947i2nW.rar +/yyetsweb/subtitle_data/attachment/200912/4/212807_1259889699DJm8.rar diff --git a/API.md b/API.md new file mode 100644 index 000000000..90424cf02 --- /dev/null +++ b/API.md @@ -0,0 +1,1240 @@ +# 需求与待开发功能 + +## FE + +- [x] group为admin特殊显示,评论接口已返回group信息 +- [x] 评论楼中楼 +- [x] 联合搜索,当本地数据库搜索不到数据时,会返回extra字段 +- [x] 最新评论 +- [x] 公告 +- [x] 最新更新资源 +- [x] API变更:登录时需要验证码 +- [x] API变更:like API变更 PATCH `/api/user/` --> PATCH `/api/like/` +- [x] 删除评论(admin only) +- [x] ME:搜索API返回变更:目前包含了评论的结果,使用 `type`区分 +- [ ] 搜索页面,通过评论ID,只显示该评论 +- [ ] **独立公告和最近更新到新的页面** +- [ ] **对评论的反应** +- [ ] **分类** +- [ ] 添加下载地址到已有资源 +- [ ] 新增资源 +- [ ] 删除资源、删除已有资源的下载 +- [ ] 更改用户信息(添加邮箱) +- [ ] 评论通知(浏览器通知,暂时隐藏了) + +# BE + +- [x] 联合搜索:字幕侠、new字幕组、追新番 +- [x] grafana面板 +- [x] 豆瓣接口 +- [x] 评论通知:站内通知 +- [x] 添加邮箱 +- [x] 邮件通知 +- [x] 添加下载地址到已有资源 +- [x] 删除资源 +- [x] 新建资源 +- [ ] 找回密码 + +# 资源 + +## 获取指定id的资源 + +* GET `/api/resource?id=10004` + 数据结构参考 [sample.json](yyetsweb/templates/js/sample.json) + +**对于非官方、由用户提交的下载,与 `files` `dateline` 同级会有一个 `creator` 用于标明是谁创建的** +**对于非官方、由用户提交的资源,与 `cnname` `enname` 同级会有一个 `creator` 用于标明是谁创建的** + +如果没有,那么就是官方资源 + +## 搜索 + +同时搜索资源和评论,会以type字段区分,评论会额外返回 `comment_id` + +* GET `/api/resource?keyword=权力的游戏` + +```json +{ + "data": [ + { + "id": 10733, + "cnname": "权力的游戏", + "enname": "Game of Thrones", + "aliasname": "冰与火之歌 / 权力的游戏下载 / 权利的游戏 / 冰火", + "channel": "tv", + "channel_cn": "美剧", + "area": "美国", + "show_type": "", + "expire": "1610372082", + "views": 8691, + "year": [ + 2011 + ], + "origin": "yyets" + } + ], + "extra": [], + "comment": [ + { + "username": "Liyixin", + "date": "2021-10-30 10:06:44", + "comment": "我用阿里云盘分享了「权力的游戏.1-8季无删减版(1).1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接:https://www.aliyundrive.com/s/hcUfFYnkhN5", + "commentID": "617ca8b470a52cc3ef2b0dff", + "resourceID": 10733, + "resourceName": "权力的游戏", + "origin": "comment" + } + ] +} +``` + +当数据库搜索不到资源时,会尝试从字幕侠、new字幕组和追新番搜索,返回如下 + +```json +{ + "data": [], + "extra": [ + { + "url": "https://www.zimuxia.cn/portfolio/%e4%b8%9c%e5%9f%8e%e6%a2%a6%e9%ad%87", + "name": "东城梦魇", + "class": "ZimuxiaOnline" + }, + { + "url": "https://www.zimuxia.cn/portfolio/%e9%bb%91%e8%89%b2%e6%ad%a2%e8%a1%80%e9%92%b3", + "name": "黑色止血钳", + "class": "ZimuxiaOnline" + } + ] +} +``` + +## 添加下载地址到已有资源 + +比如更新S01E05 + +* PATCH `http://127.0.0.1:8888/api/resource` + +```json +{ + "resource_id": 39894, + "season_num": "1,对于电影纪录片等,应该是0或者101", + "items": { + "MP4": [ + { + "episode": "12", + "name": "第五集.mp4", + "size": "9.43GB", + "dateline": "1628399290 单位秒", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|filszpwzec5|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:37", + "passwd": "" + } + ] + } + ] + }, + "formats": [ + "MP4" + ] +} +``` + +返回201 + +## 创建新资源 + +仅登录用户可用,用于创建新的资源,不包括 `data.list`。 + +* POST `http://127.0.0.1:8888/api/resource` + +```json +{ + "status": 1, + "info": "OK", + "data": { + "info": { + "id": "设置成任意值即可", + "cnname": "中文名", + "enname": "英文名", + "aliasname": "别名", + "channel": "movie/tv", + "channel_cn": "电影/美剧", + "area": "法国", + "show_type": "", + "expire": "1610401225", + "views": 0 + }, + "list": [ + ] + } +} +``` + +返回 + +```json +{ + "status": true, + "message": "success", + "id": 50623 +} +``` + +## 删除资源 + +仅管理员可用,分成两种情况,一种是删除某个id全部资源,如39894;另外一种是删除这个资源下的某集下载 + +* POST `http://127.0.0.1:8888/api/resource` + +均返回 202 + +### 删除全部 + +```json +{ + "resource_id": 39894 +} +``` + +### 删除部分资源 + +会尽可能的匹配并删除对应的行 + +```json +{ + "resource_id": 39894, + "meta": { + "episode": "1", + "name": "超235678-213.mp4", + "size": "1.43GB", + "dateline": "1628399290" + } +} +``` + +# Top + +获取top信息,每类返回15条访问量最高的数据 + +* GET `/api/top` + +```json +{ + "ALL": [ + { + "data": { + "info": { + "id": 39894, + "cnname": "速度与激情9", + "enname": "F9: The Fast Saga", + "aliasname": "F9狂野时速(港)/玩命关头9(台)/狂野时速9/速激9/FF9/Fast & Furious 9", + "channel": "movie", + "channel_cn": "电影", + "area": "美国", + "show_type": "", + "expire": "1610401946", + "views": 47466, + "year": [ + 2021 + ] + } + } + }, + { + "data": { + "info": { + "id": 38413, + "cnname": "致命女人", + "enname": "Why Women Kill", + "aliasname": "女人为什么杀人/女人为何杀戮", + "channel": "tv", + "channel_cn": "美剧", + "area": "美国", + "show_type": "", + "expire": "1610401185", + "views": 39040, + "year": [ + 2019 + ] + } + } + } + ], + "US": [], + "JP": [], + "KR": [], + "UK": [], + "class": { + "ALL": "全部", + "US": "美国", + "JP": "日本", + "KR": "韩国", + "UK": "英国" + } +} +``` + +# 个人中心 + +获取个人收藏 + +* GET `/api/like` + +```json +{ + "LIKE": [ + { + "data": { + "info": { + "id": 39523, + "cnname": "禁忌女孩", + "enname": "เด็กใหม่", + "aliasname": "来路不明的转校生/Girl from Nowhere", + "channel": "tv", + "channel_cn": "泰剧", + "area": "泰国", + "show_type": "", + "expire": "1610401752", + "views": 979, + "year": [ + 2020 + ] + } + } + } + ] +} +``` + +# 用户 + +## 登录或注册 + +* POST `/api/user`,提交json,字段 `username`, `password`,`captcha_id` 和 `captcha` + +当验证码失效时,会返回303 See Other + +返回json + +## 获取当前登录用户信息 + +登录用户可用,未登录会返回401 + +* GET `/api/user` + +```json +{ + "username": "Benny", + "date": "2021-06-12 13:55:50", + "ip": "172.70.122.84", + "browser": "Mozilla/5.0 (X11; Gentoo; rv:84.0) Gecko/20100101 Firefox/84.0", + "like": [ + 31346, + 39894, + 41382 + ], + "group": [ + "admin" + ], + "email": { + "verified": false, + "address": "123@qq.com" + } +} +``` + +## 更改用户信息 + +* PATCH `http://127.0.0.1:8888/api/user` + +* 目前只支持修改email字段,会发送验证邮件,1800秒之内只能验证一次,有效期24小时 + +暂不支持取消绑定 + +```json +{ + "email": "123@qq.com" +} +``` + +response + +```json +{ + "status_code": 429, + "status": false, + "message": "try again in 1797s" +} +``` + +## 验证邮件 + +* POST `http://127.0.0.1:8888/api/user/email` + +10次错误会被加到黑名单,账号注销 + +```json +{ + "code": "83216" +} +``` + +response + +```json +{ + "status": true, + "status_code": 201, + "message": "success" +} +``` + +# 获取全部剧集名称 + +* GET `/api/name` +* GET `/api/name?human=1` 人类可读 + +# 添加或删除收藏 + +* PATCH `/api/like`,提交json,字段 `resource_id` + +# 评论 + +评论的基本数据格式: `children` 字段为 array/list,可套娃另外一条评论,目前暂时只支持两层(也不打算支持更多的啦)。 + +评论的 `resource_id` 必须相同 + +## 普通评论 + +```json +{ + "username": "Benny", + "date": "2021-06-17 10:54:19", + "browser": "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.13; rv:85.1) Gecko/20100101 Firefox/85.1", + "content": "test", + "resource_id": 233, + "id": "60cab95baa7f515ea291392b", + "children": [ + ], + "childrenCount": 0 +} + +``` + +## 嵌套评论 + +```json +{ + "username": "Benny", + "date": "2021-06-17 10:54:19", + "browser": "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.13; rv:85.1) Gecko/20100101 Firefox/85.1", + "content": "test", + "resource_id": 233, + "id": "60cab95baa7f515ea291392b", + "children": [ + { + "username": "Alex", + "date": "2021-05-31 16:58:21", + "browser": "PostmanRuntime/7.28.0", + "content": "评论17", + "id": "60c838a12a5620b7e4ba5dfc", + "resource_id": 233 + }, + { + "username": "Paul", + "date": "2021-05-22 16:58:21", + "browser": "PostmanRuntime/7.28.0", + "content": "评论14", + "id": "60c838a12a5620b7e4ba1111", + "resource_id": 233 + } + ], + "childrenCount": 2 +} + +``` + +## 获取评论 + +* GET `/api/comment` + +分页,支持URL参数: + +* resource_id: 资源id,id为233是留言板,id为-1会返回最新评论 +* comment_id: 指定该参数,会只返回这条评论。如果是子评论,还会连带父评论一起返回 +* size: 每页评论数量,默认5 +* page: 当前页,默认1 +* inner_size: 内嵌评论数量,默认5 +* inner_page: 内嵌评论当前页,默认1 + **注意:如上两个inner参数是对整个页面生效的,如要进行某个父评论的子评论分页,请参考下面的子评论分页接口 返回 楼中楼评论,group表示用户所属组,admin是管理员,user是普通用户 + +```json +{ + "data": [ + { + "username": "Benny", + "date": "2021-06-22 18:26:42", + "browser": "PostmanRuntime/7.28.0", + "content": "父评论benny", + "resource_id": 233, + "type": "parent", + "id": "60d1bae2d87ce6e9a2934a0f", + "group": [ + "admin" + ] + }, + { + "username": "Benny", + "date": "2021-06-22 18:24:44", + "browser": "PostmanRuntime/7.28.0", + "content": "父评论benny", + "resource_id": 233, + "type": "parent", + "group": [ + "admin" + ], + "childrenCount": 22, + "children": [ + { + "username": "test", + "date": "2021-06-22 18:25:12", + "browser": "PostmanRuntime/7.28.0", + "content": "admin子评2论2", + "resource_id": 233, + "type": "child", + "id": "60d1ba88d87ce6e9a2934a0c", + "group": [ + "user" + ] + }, + { + "username": "admin", + "date": "2021-06-22 18:25:08", + "browser": "PostmanRuntime/7.28.0", + "content": "admin子评论2", + "resource_id": 233, + "type": "child", + "id": "60d1ba84d87ce6e9a2934a0a", + "group": [ + "user" + ] + } + ], + "id": "60d1ba6cd87ce6e9a2934a08" + } + ], + "count": 2, + "resource_id": 233 +} +``` + +## 搜索评论 + +* GET `/api/comment/search` + +分页,支持URL参数: + +* size: 每页评论数量,默认5 +* page: 当前页,默认1 +* keyword: 关键字 + +返回值与获取评论相同 + +## 子评论分页 + +* GET `/api/comment/child` + URL参数: +* parent_id:父评论id +* size: 每页评论数量,默认5 +* page: 当前页,默认1 + +`/api/comment/child?parent_id=60dfc932802d2c69cf8774ce&size=2&page=2` + +返回子评论 + +```json +{ + "data": [ + { + "username": "Benny", + "date": "2021-07-03 10:22:13", + "browser": "PostmanRuntime/7.28.1", + "content": "子15", + "resource_id": 233, + "type": "child", + "id": "60dfc9d5802d2c69cf877514", + "childrenCount": 17, + "group": [ + "admin" + ] + }, + { + "username": "Benny", + "date": "2021-07-03 10:22:11", + "browser": "PostmanRuntime/7.28.1", + "content": "子14", + "resource_id": 233, + "type": "child", + "id": "60dfc9d3802d2c69cf877512", + "group": [ + "admin" + ] + } + ], + "count": 17 +} +``` + +## 获取验证码 + +* GET `/api/captcha?id=1234abc`,id是随机生成的字符串 API 返回字符串,形如 `data:image/png;base64,iVBORw0KGgoAAA....` + +## 提交评论 + +* POST `/api/comment` + 只有登录用户才可以发表评论,检查cookie `username` 是否为空来判断是否为登录用户;未登录用户提示“请登录后发表评论” + +`resource_id` 从URL中获取,id是上一步验证码的那个随机字符串id, `captcha` 是用户输入的验证码 + +### 提交新评论 + +只需要提供如下四项信息即可 + +```json +{ + "resource_id": 39301, + "content": "评论内容", + "id": "1234abc", + "captcha": "38op" +} +``` + +返回 HTTP 201添加评论成功,403/401遵循HTTP语义 + +```json +{ + "message": "评论成功/评论失败/etc" +} +``` + +### 提交楼中楼评论 + +还需要额外提供一个 `comment_id`,也就是 UUID,如 `60c838a12a5620b7e4ba5dfc` + +```json +{ + "resource_id": 39301, + "content": "评论内容", + "id": "1234abc", + "captcha": "38op", + "comment_id": "60c838a12a5620b7e4ba5dfc" +} +``` + +## 删除评论,软删除 + +* DELETE `/api/comment`,提交json数据 + +```json +{ + "comment_id": "60cab935e9f929e09c91392a" +} +``` + +不用关心comment_id是子评论还是父评论,会自动删除 + +返回被删除的数量,HTTP 200表示删除成功,404表示未找到这条留言 + +```json +{ + "status_code": 404, + "message": "", + "count": 0 +} +``` + +## 最新评论 + +* GET `api/comment/newest` + page size参数同上 + +```json +{ + "data": [ + { + "username": "111", + "date": "2021-07-11 10:22:59", + "browser": "Mozi0.31.0", + "content": "1111?", + "resource_id": 233, + "type": "parent", + "id": "60ea53113178773", + "group": [ + "user" + ], + "cnname": "留言板" + }, + { + "username": "11111222", + "date": "2021-07-10 23:54:43", + "browser": "Mozi3322.64", + "content": "@abcd怎么下载啊\n", + "resource_id": 37552, + "type": "child", + "id": "60e9c2c222111397e", + "group": [ + "user" + ], + "cnname": "黑寡妇" + }, + { + "username": "1111", + "date": "2021-07-10 23:41:06", + "browser": "Moz) Chrom.864.67", + "content": "我是1精彩", + "resource_id": 41382, + "type": "parent", + "id": "60e9bf924ad7f2077381111", + "group": [ + "user" + ], + "cnname": "洛基" + } + ], + "count": 294 +} +``` + +## 对评论的反应 + +仅对登录用户可用 + +* POST `/api/comment/reaction` 添加反应 201 +* DELETE `/api/comment/reaction` 删除反应 202 + +verb 为任意字符串,包括emoji + +```json +{ + "comment_id": "60c46d6a6d7c5dd22d69fd3b,父评论子评论均可", + "verb": "😍👍" +} + +``` + +返回: + +* 201 成功添加反应 +* 202 成功删除反应 +* 404 评论没找到 + +用户添加的反应,在返回评论时可以看到,会额外多一个字段 `reactions`,子评论同理 + +```json +{ + "reactions": [ + { + "verb": "😍", + "users": [ + "user2" + ] + }, + { + "verb": "🤔", + "users": [ + "user3", + "da" + ] + } + ] +} +``` + +# metrics + +## 添加metrics + +* POST `/api/metrics`, json,字段 `type` + +## 获取metrics + +* GET `/api/metrics`,默认返回最近7天数据,可选URL参数 `from`, `to`,如 `from=2021-03-12&to=2021-03=18 + +# Grafana + +* GET `/api/grafana/` +* GET `/api/grafana/search` +* GET `/api/grafana/query` + +# 黑名单 + +* GET `/api/blacklist` + +# 获取备份数据库信息 + +* GET `/api/db_dump` + +```json +{ + "yyets_mongo.gz": { + "checksum": "b32e9d8e24c607a9f29889a926c15179d9179791", + "date": "2021-06-14 12:59:51", + "size": "6.0B" + }, + "yyets_mysql.zip": { + "checksum": "6b24ae7cb7cef42951f7e2df183f0825512029e0", + "date": "2021-06-14 12:59:51", + "size": "11.0B" + }, + "yyets_sqlite.zip": { + "checksum": "7e1659ab5cbc98b21155c3debce3015c39f1ec05", + "date": "2021-06-14 12:59:51", + "size": "15.0B" + } +} +``` + +# 公告 + +## 添加公告 + +* POST `/api/announcement`, json 字段 content + +## 获取公告 + +* GET `/api/announcement`,接受URL参数 size、page + +```json +{ + "data": [ + { + "username": "Benny", + "date": "2021-06-15 16:28:16", + "browser": "PostmanRuntime/7.28.0", + "content": "hello" + } + ], + "count": 1 +} +``` + +# 豆瓣 + +## 获取简介等信息 + +* GET `/api/douban?resource_id=34812` + 第一次请求会比较慢 + +```json +{ + "name": "逃避可耻却有用", + "doubanId": 26816519, + "doubanLink": "https://movie.douban.com/subject/26816519/", + "posterLink": "https://img2.doubanio.com/view/photo/s_ratio_poster/public/p2400201631.jpg", + "resourceId": 34812, + "rating": "8.4", + "actors": [ + "新垣结衣", + "星野源", + "大谷亮平", + "藤井隆", + "真野惠里菜", + "成田凌", + "山贺琴子", + "宇梶刚士", + "富田靖子", + "古田新太", + "石田百合子", + "细田善彦", + "古馆宽治", + "叶山奖之" + ], + "directors": [ + "金子文纪", + "土井裕泰", + "石井康晴" + ], + "genre": [ + "喜剧" + ], + "releaseDate": "2016-10-11(日本)", + "episodeCount": " 11", + "episodeDuration": " 45分钟", + "writers": [ + "野木亚纪子", + "海野纲弥" + ], + "year": "2016", + "introduction": "森山实栗(新垣结衣饰)自研究生毕业之后就一直仕途不顺,最近更是惨遭解雇,处于“无业游民”的状态之下,日子过得十分凄惨。经由父亲的介绍,无处可去的实栗来到了名为津崎平匡(星野源饰)的单身男子家中,为其料理家事,就这样,二十五岁的实栗成为了一名家政妇。实栗心地善良手脚勤快,在她的安排和劳作下,平匡家中的一切被打理的井井有条,实栗因此获得了平匡的信赖,亦找到了生活的重心,重新振作了起来。然而好景不长,实栗的父母决定搬离此地,这也就意味着实栗必须“离职”。实在无法接受此事的实栗决定和平匡“契约结婚”,在外装做夫妻,在内依旧是雇主和职员。就这样,这对“孤男寡女”开始了他们的同居生活。" +} +``` + +## 获取海报 + +* GET `api/douban?resource_id=34812&type=image` + 会返回相应格式(jpeg、webp、png等)的图片,与上次数据中 `posterLink`所看到的内容相同 + +# 验证码 + +## 获取验证码 + +* GET `/api/captcha?id=1234abc`,id是随机生成的字符串 API 返回字符串,形如 `data:image/png;base64,iVBORw0KGgoAAA....` + +## 校验验证码 + +除去评论中的校验验证码,如有额外需求,也可以使用 POST 方法校验 + +* POST `/api/captcha` + +```json +{ + "id": "1234abc", + "captcha": "38op" +} +``` + +# 豆瓣报错 + +## 提交 + +* POST `/api/douban/report` + +```json +{ + "captcha_id": "用户输入的验证码", + "id": "验证码id", + "content": "内容难过-咔咔", + "resource_id": 23133312 +} +``` + +## 查询 + +* GET `/api/douban/report` + +```json +{ + "data": [ + { + "resource_id": 2333, + "content": [ + "dddd", + "1款大家咔咔", + "1款大家dadadada-咔咔" + ] + }, + { + "resource_id": 23133, + "content": [ + "1款大家dadadada-咔咔" + ] + }, + { + "resource_id": 23133312, + "content": [ + "1款大家dadadada-咔咔" + ] + } + ] +} +``` + +# 通知 + +只有登录用户可以获取,只有楼主能够获取到通知,其他楼层的人获取不到。 + +## 获取通知 + +* GET `http://127.0.0.1:8888/api/notification` + +支持URL参数page和size,默认1和5,size是已读和未读共享的,优先返回未读数据 + +```json +{ + "username": "user1", + "unread_item": [ + { + "username": "user3", + "date": "2021-08-14 20:23:02", + "browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:86.1) Gecko/20100101 Firefox/86.1", + "content": "@user2u3 to u2", + "resource_id": 233, + "type": "child", + "id": "6117b5a6598f80ca3ebb13ed", + "reply_to_content": "@user1ajnkwa" + }, + { + "username": "user3", + "date": "2021-08-14 20:22:37", + "browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:86.1) Gecko/20100101 Firefox/86.1", + "content": "@user1u3", + "resource_id": 233, + "type": "child", + "id": "6117b58dce422260bcbb13ec", + "reply_to_content": "hello" + } + ], + "read_item": [ + { + "username": "user2", + "date": "2021-08-14 20:10:13", + "browser": "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:86.1) Gecko/20100101 Firefox/86.1", + "content": "@user1ajnkwa", + "resource_id": 233, + "type": "child", + "id": "6117b2a59195e6b1ab86eb30", + "reply_to_content": "hello" + } + ], + "unread_count": 2, + "read_count": 1 +} +``` + +# 已读、未读消息 + +* PATCH `http://127.0.0.1:8888/api/notification` + json body + +```json +{ + "comment_id": "61013c839633a80254ef2e38", + "verb": "unread" +} +``` + +verb只可以是 `read` 和 `unread` +comment_id 是评论的id + +# 分类 + +最灵活的API! 推荐组合方式: 国家、分类 + +* GET `/api/category` + +参数 `douban=True` 会返回豆瓣信息,默认不返回 支持如下参数,均为可选参数,可自由组合,URL参数可以URL编码,也可以不编码: + +## 分页参数 + +* page 默认1 +* size 默认15 + +## channel + +大分类,电影、电视剧、公开课,详细分类可以使用 `channel_cn` + +```python +[('movie', 12057), ('tv', 5428), ('openclass', 35), ('discuss', 1)] +``` + +## channel_cn + +推荐值: + +```python +[('电影', 12057), ('美剧', 2119), ('日剧', 1215), ('英剧', 641), ('纪录片', 314), ('韩剧', 212), ('动画', 126), + ('泰剧', 112), + ('加剧', 82), ('西剧', 62), ('澳剧', 61)] + +``` + +全部可选值: + +```python +[('电影', 12057), ('美剧', 2119), ('日剧', 1215), ('英剧', 641), ('纪录片', 314), ('韩剧', 212), ('动画', 126), + ('泰剧', 112), + ('加剧', 82), ('西剧', 62), ('澳剧', 61), ('真人秀', 51), ('法剧', 50), ('德剧', 41), ('公开课', 35), ('其剧', 34), + ('越剧', 23), + ('巴剧', 21), ('俄剧', 21), ('意剧', 19), ('墨剧', 16), ('印剧', 16), ('土剧', 16), ('\x00剧', 12), ('电视电影', 12), + ('脱口秀', 10), + ('挪威剧', 9), ('丹麦剧', 8), ('综艺', 7), ('葡萄牙剧', 6), ('颁奖礼', 5), ('以色列剧', 4), ('新剧', 4), + ('菲律宾剧', 4), ('动漫', 4), ('瑞典剧', 4), + ('新西兰剧', 4), ('神剧', 3), ('短视频', 3), ('舞台剧', 3), ('MV', 3), ('演讲', 3), ('颁奖典礼', 3), ('比利时剧', 3), + ('南非剧', 3), ('电视剧', 3), + ('晨间剧', 2), ('短片', 2), ('荷兰剧', 2), ('巴西电视剧', 2), ('爱尔兰剧', 2), ('汽车三贱客', 2), ('芬兰剧', 2), + ('大剧', 2), ('美剧 律政', 1), + ('美剧/英剧', 1), ('小镇疑云(美版)', 1), ('动画片', 1), ('埃剧', 1), ('探案', 1), ('纪录', 1), ('演唱会', 1), + ('冰岛剧', 1), ('深夜剧', 1), + ('萌剧', 1), ('律政/剧情', 1), ('2013年BBC历史记录片', 1), ('催眠剧', 1), ('波兰剧', 1), ('幼教', 1), ('约旦', 1), + ('闹剧', 1), ('浪漫/喜剧', 1), + ('悬疑/罪案', 1), ('BBC世界杯专题纪录片', 1), ('克罗地亚剧', 1), ('台剧', 1), ('墨西哥剧', 1), ('惊悚', 1), + ('阿拉伯剧', 1), ('委内瑞拉电视剧', 1), + ('音乐会', 1), ('巴西剧', 1), ('新闻', 1), ('土耳其剧', 1), ('约旦剧', 1), ('发布会', 1), ('丹麦瑞典合拍', 1), + ('捷克剧', 1), ('越南剧', 1), + ('剧情', 1), ('墨西哥电视剧', 1), ('韩综', 1), ('花絮', 1), ('', 1)] + +``` + +## area + +**推荐使用** +推荐值 + +```python +[('美国', 9057), ('日本', 2233), ('英国', 1637), ('法国', 902), ('韩国', 763), ('其他', 535), ('德国', 402), + ('加拿大', 313), + ('西班牙', 280), ('印度', 247), ('俄罗斯', 234), ('泰国', 191), ('澳大利亚', 182), ('意大利', 150), ('', 109), + ('越南', 60), ('巴西', 54), + ('大陆', 52), ('墨西哥', 40), ('土耳其', 35), ('新加坡', 23), ('香港', 20), ('埃及', 1), ('台湾', 1)] + +``` + +## show_type + +不推荐使用!数据缺失非常严重 + +```python +[('', 16751), ('纪录片', 314), ('动画', 126), ('日剧', 110), ('真人秀', 51), ('电视电影', 12), ('脱口秀', 10), + ('挪威剧', 9), ('美剧', 8), + ('丹麦剧', 8), ('综艺', 7), ('葡萄牙剧', 6), ('颁奖礼', 5), ('以色列剧', 4), ('菲律宾剧', 4), ('动漫', 4), + ('瑞典剧', 4), ('新西兰剧', 4), + ('神剧', 3), ('英剧', 3), ('短视频', 3), ('舞台剧', 3), ('MV', 3), ('演讲', 3), ('颁奖典礼', 3), ('比利时剧', 3), + ('南非剧', 3), ('晨间剧', 2), + ('短片', 2), ('荷兰剧', 2), ('新剧', 2), ('巴西电视剧', 2), ('爱尔兰剧', 2), ('汽车三贱客', 2), ('芬兰剧', 2), + ('泰剧', 1), ('美剧 律政', 1), + ('美剧/英剧', 1), ('小镇疑云(美版)', 1), ('动画片', 1), ('探案', 1), ('纪录', 1), ('演唱会', 1), ('冰岛剧', 1), + ('深夜剧', 1), ('萌剧', 1), + ('律政/剧情', 1), ('2013年BBC历史记录片', 1), ('催眠剧', 1), ('波兰剧', 1), ('幼教', 1), ('约旦', 1), ('闹剧', 1), + ('浪漫/喜剧', 1), ('韩剧', 1), + ('悬疑/罪案', 1), ('西剧', 1), ('BBC世界杯专题纪录片', 1), ('克罗地亚剧', 1), ('墨西哥剧', 1), ('惊悚', 1), + ('阿拉伯剧', 1), ('委内瑞拉电视剧', 1), + ('音乐会', 1), ('巴西剧', 1), ('新闻', 1), ('土耳其剧', 1), ('约旦剧', 1), ('发布会', 1), ('丹麦瑞典合拍', 1), + ('捷克剧', 1), ('越南剧', 1), + ('剧情', 1), ('墨西哥电视剧', 1), ('韩综', 1), ('花絮', 1)] + +``` + +## 请求范例 + +全部使用 `size=1&douban=True`做为范例,响应结构如下 + +注意,由于并不是所有的资源都有豆瓣信息,因此有些可能douban字段为 `{}` + +```json +{ + "data": [ + { + "id": 30552, + "cnname": "极限战队", + "enname": "Ultraforce", + "aliasname": "极端力量", + "channel": "tv", + "channel_cn": "美剧", + "area": "美国", + "show_type": "", + "expire": "1610397126", + "views": 0, + "year": [ + 2013 + ], + "douban": { + "name": "极限战队", + "doubanId": 1295384, + "doubanLink": "https://movie.douban.com/subject/1295384/", + "posterLink": "https://img9.doubanio.com/view/photo/s_ratio_poster/public/p2512733819.jpg", + "posterData": "base64编码的图片", + "resourceId": 30552, + "rating": "7.9", + "actors": [ + "卡斯帕·范·迪恩", + "迪娜·迈耶", + "丹妮丝·理查兹", + "杰克·布塞", + "尼尔·帕特里克·哈里斯", + "克兰西·布朗", + "塞斯·吉列姆", + "帕特里克·茂顿", + "迈克尔·艾恩塞德", + "露·麦克拉纳罕", + "马绍尔·贝尔", + "埃里克·布鲁斯科特尔", + "马特·莱文", + "布蕾克·林斯利", + "安东尼·瑞维瓦", + "布兰达·斯特朗", + "迪恩·诺里斯", + "克里斯托弗·柯里", + "莱诺尔·卡斯多夫", + "罗伯特·斯莫特", + "斯蒂芬·福特", + "罗伯特·大卫·豪尔", + "艾米·斯马特", + "蒂莫西·奥门德森", + "代尔·戴" + ], + "directors": [ + "保罗·范霍文" + ], + "genre": [ + "动作", + "科幻", + "惊悚", + "冒险" + ], + "releaseDate": "1997-11-07", + "episodeCount": "", + "episodeDuration": "129 分钟", + "writers": [ + "爱德华·诺麦尔", + "罗伯特·A·海因莱因" + ], + "year": "1997", + "introduction": "高中生瑞科(卡斯帕•凡•迪恩CasperVanDien饰)毕业后,在女友卡门(丹妮丝•理查兹DeniseRichards饰)的鼓动下,违背了父亲的意志,加入了机械化步兵学院,卡门亦加入了海军学院。在他们参加训练不久后,地球遭到了来自外星球的昆虫袭击。瑞科的亲人均惨遭杀害,卡门将拍摄到的影像传送给了瑞科。悲愤交加的瑞科率领部下投入到了对抗外星昆虫的战斗中。然而,军队低估了这些昆虫的实力。在一次遭遇战中,10万军队惨遭杀戮,只剩瑞科、卡门等几人侥幸逃生。瑞科亲眼目睹了恐怖的杀戮场面,意外获知了这些昆虫变得如此聪明、强大的秘密。瑞科意识到必须制造更先进的武器才能对付这些昆虫,人类的反击开始了!" + } + } + ], + "count": 9057 +} +``` + +* 日剧 `http://127.0.0.1:8888/api/category?channel_cn=日剧` +* 国家为"美国"的资源 `http://127.0.0.1:8888/api/category?area=美国` +* 美国的纪录片 `http://127.0.0.1:8888/api/category?&area=美国&channel_cn=纪录片` +* 日本的电影 `http://127.0.0.1:8888/api/category?size=1&area=日本&channel=movie` 或 `channel_cn=电影` +* 动漫 `http://127.0.0.1:8888/api/category?size=1&channel_cn=动漫` + +# 最新资源 + +* GET `/api/resource/latest` + +可选URL参数 size,最大100,超过100无效。如 `http://127.0.0.1:8888/api/resource/latest?size=5` 即为获取最新5条数据 + +```json +{ + "data": [ + { + "name": "速度与激情9-F9 (2021) (1080p) [BluRay] [HD FULL].avi 1.52 GB", + "timestamp": "1623415867", + "size": "1.52GB", + "resource_id": 39894, + "res_name": "速度与激情9", + "date": "2021-06-11 20:51:07" + }, + { + "name": "洛基-E01", + "timestamp": "1623415867", + "size": "788.53MB", + "resource_id": 41382, + "res_name": "洛基", + "date": "2021-06-11 20:51:07" + }, + { + "name": "致命女人-EP01", + "timestamp": "1623415867", + "size": "790MB", + "resource_id": 38413, + "res_name": "致命女人", + "date": "2021-06-11 20:51:07" + } + ] +} +``` diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md new file mode 100644 index 000000000..952830a36 --- /dev/null +++ b/DEVELOPMENT.md @@ -0,0 +1,166 @@ +# 项目手册 + +# 网站部署方式 + +## 一键脚本 + +**支持amd64/arm64,请先安装 docker、docker-compose和curl** + +**为了安全考虑,安装完成后程序将监听在 127.0.0.1 。如有需要请自行修改 `docker-compose.yml`的127.0.0.1为0.0.0.0** + +### Linux/macOS: + +```bash +bash -c "$(curl -fsSL https://raw.githubusercontent.com/tgbot-collection/YYeTsBot/master/scripts/install.sh)" +```` + +### Windows + +请再安装一个 [git for windows](https://gitforwindows.org/),然后桌面空白处右键,选择 `git bash here` +再然后 + +```bash +bash -c "$(curl -fsSL https://raw.githubusercontent.com/tgbot-collection/YYeTsBot/master/scripts/install.sh)" +```` + +## docker-compose + +参考 `yyetsweb`目录下的 `README` + +# bot + +可以选择docker,也可以直接运行在机器上。 + +## docker-compose + +* 参见 [这里](https://github.com/tgbot-collection/BotsRunner) +* 本目录下的 `docker-compose.yml` 也可以作为参考 +* nginx reverse proxy可以[参考这里](https://github.com/BennyThink/WebsiteRunner) +* [参考这里获取数据库](yyetsweb/README.md) + +```shell +# 启动数据库 +docker-compose up -d mongo +# 导入数据库 +docker yyets_mongo.gz 1234da:/tmp +# 进入容器 +docker-compose exec mongo bash +mongorestore --gzip --archive=yyets_mongo.gz --nsFrom "share.*" --nsTo "zimuzu.*" +exit +# 开启服务 +docker-compose up -d +``` + +## replica set 配置方式 + +```shell +ln -s docker-compose-replica.yml docker-compose.override.yml +docker-compose up -d mongo +# 进入shell +rs.initiate({ + _id: "rs0", + members: [{ + _id: 0, + host: "localhost:27017" + }, + { + _id: 1, + host: "mongo2:27017" + }] +}) + +# 调整优先级 +cfg = rs.conf() +cfg.members[0].priority = 0.5 +cfg.members[1].priority = 0.5 +cfg.members[2].priority = 1 # 最高 +rs.reconfig(cfg) + +``` + +## 常规方式 + +### 1. 环境 + +推荐使用Python 3.6+,环境要求 + +* redis +* 可选MongoDB + +```bash +pip install -r requirements.txt +``` + +### 2. 配置TOKEN + +修改`config.py`,根据需求修改如下配置项 + +* TOKEN:bot token +* USERNAME:人人影视的有效的用户名 +* PASSWORD :人人影视的有效的密码 +* MAINTAINER:维护者的Telegram UserID +* REDIS:redis的地址,一般为localhost +* MONGODB: mongodb的地址 + +### 3. 导入数据(可选) + +如果使用yyets,那么需要导入数据到MongoDB。可以在将数据导入到MySQL之后使用如下脚本导入数据到MongoDB + +```shell +python3 web/prepare/convert_db.py +``` + +### 4. 运行 + +```bash +python /path/to/YYeTsBot/yyetsbot/bot.py +``` + +### 5. systemd 单元文件 + +参考 `yyets.service` + +# 添加新的资源网站 + +欢迎各位开发提交新的资源网站!方法非常简单,重写 `BaseFansub`,实现`search_preview`和`search_result`,按照约定的格式返回数据。 + +然后把类名字添加到 `FANSUB_ORDER` 就可以了!是不是很简单! + +# 防爬 + +## 1. referer + +网站使用referer验证请求 + +## 2. rate limit + +404的访问会被计数,超过10次会被拉入黑名单,持续3600秒,再次访问会持续叠加。 + +# 持续部署 + +使用[Docker Hub Webhook](https://docs.docker.com/docker-hub/webhooks/) +(顺便吐槽一句,这是个什么垃圾文档……自己实现validation吧) + +参考listener [Webhook listener](https://github.com/tgbot-collection/Webhook) + +# 归档资源下载 + +## Telegram 频道分享 + +* + +包含了2021年1月11日为止的人人影视最新资源,MySQL为主。有兴趣的盆友可以用这个数据进行二次开发[戳我查看详情](https://t.me/mikuri520/668) + +* 字幕侠离线数据库 [从这里下载](https://t.me/mikuri520/715),这个数据比较粗糙,并且字幕侠网站还在,因此不建议使用这个 + +## 本地下载 + +如果无法访问Telegram,可以使用如下网址下载数据 + +* [MongoDB](https://yyets.click/data/yyets_mongo.gz) +* [MySQL](https://yyets.click/data/yyets_mysql.zip) +* [SQLite](https://yyets.click/data/yyets_sqlite.zip) + +# API 文档 + +参考 [API.md](API.md) diff --git a/Dockerfile b/Dockerfile index efc62e101..95025f1b4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,30 @@ -FROM python:3.8-alpine +FROM python:3.12-alpine AS pybuilder +RUN apk update && apk add --no-cache tzdata ca-certificates alpine-sdk libressl-dev libffi-dev cargo && \ + apk add tiff-dev jpeg-dev openjpeg-dev zlib-dev freetype-dev lcms2-dev \ + libwebp-dev tcl-dev tk-dev harfbuzz-dev fribidi-dev libimagequant-dev libxcb-dev libpng-dev -RUN apk update && apk add --no-cache tzdata alpine-sdk libxml2 libxslt-dev COPY requirements.txt /requirements.txt -RUN pip3 install --no-cache-dir -r /requirements.txt && rm /requirements.txt -COPY . /YYeTsBot/ +RUN pip3 install --user -r /requirements.txt && rm /requirements.txt + + +FROM python:3.12-alpine AS runner +RUN apk update && apk add --no-cache libressl jpeg-dev openjpeg-dev libimagequant-dev tiff-dev freetype-dev libxcb-dev -ENV TZ=Asia/Shanghai -WORKDIR /YYeTsBot +FROM alpine AS nodebuilder +RUN apk add curl jq +RUN wget $(curl -s https://api.github.com/repos/tgbot-collection/YYeTsFE/releases/tags/ads-2025-03-27 | jq -r '.assets[] | select(.name == "build.zip") | .browser_download_url') +RUN unzip build.zip && rm build.zip -CMD ["python", "bot.py"] +FROM runner +RUN apk add mongodb-tools mysql-client +COPY . /YYeTsBot -# usage -# docker build -t yyetsbot . -# docker run -d --restart=always -e TOKEN="TOKEN" -e USERNAME="" -e PASSWORD="" bennythink/yyetsbot \ No newline at end of file +COPY --from=pybuilder /root/.local /usr/local +COPY --from=pybuilder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ +COPY --from=pybuilder /usr/share/zoneinfo /usr/share/zoneinfo +COPY --from=nodebuilder /build /YYeTsBot/yyetsweb/templates/ + +ENV TZ=Asia/Shanghai +WORKDIR /YYeTsBot/yyetsbot +CMD ["python", "yyetsbot.py"] diff --git a/LICENSE b/LICENSE index 86debba31..41aba3e82 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 Benny +Copyright (c) 2021 Benny Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..e3400e67b --- /dev/null +++ b/Makefile @@ -0,0 +1,92 @@ +OS = darwin linux windows +ARCH = amd64 arm64 +WEB := $(shell cd yyetsweb;pwd) +DATE:=$(shell date +"%Y-%m-%d %H:%M:%S") +update: + git pull + git submodule update --remote + +docker-dev: + make update + docker build --build-arg env=dev -t bennythink/yyetsbot . + docker-compose up -d + +docker: + # production configuration + cp .env YYeTsFE/.env + # docker buildx create --use --name mybuilder + docker buildx build --platform=linux/amd64,linux/arm64 -t bennythink/yyetsbot . --push + + +clean: + docker rmi bennythink/yyetsbot:latest || true + rm -rf YYeTsFE/build + rm -rf YYeTsFE/dist + + @rm -rf yyetsweb/builds + @rm -f yyetsweb/assets.go + +current: + echo "Installing dependencies..." + cd $(WEB);go get -u github.com/go-bindata/go-bindata/... + echo "Build static files..." + make asset + echo "Build current platform executable..." + cd $(WEB); go build .; + +asset: + cd $(WEB);go get -u github.com/go-bindata/go-bindata/... ;go install github.com/go-bindata/go-bindata/... + cd $(WEB)/templates;~/go/bin/go-bindata -o assets.go ./... + mv yyetsweb/templates/assets.go yyetsweb/assets.go + +frontend: + cd YYeTsFE; yarn && yarn run release + cp -R YYeTsFE/build/* yyetsweb/templates/ + +all: + make clean + make frontend + make asset + @echo "Build all platform executables..." + @for o in $(OS) ; do \ + for a in $(ARCH) ; do \ + echo "Building $$o-$$a..."; \ + if [ "$$o" = "windows" ]; then \ + cd $(WEB);CGO_ENABLED=0 GOOS=$$o GOARCH=$$a go build -ldflags="-s -w -X 'main.buildTime=$(DATE)'" -o builds/yyetsweb-$$o-$$a.exe .; \ + else \ + cd $(WEB);CGO_ENABLED=0 GOOS=$$o GOARCH=$$a go build -ldflags="-s -w -X 'main.buildTime=$(DATE)'" -o builds/yyetsweb-$$o-$$a .; \ + fi; \ + done \ + done + + @make universal + @make checksum + + +checksum: yyetsweb/builds/* + @echo "Generating checksums..." + if [ "$(shell uname)" = "Darwin" ]; then \ + shasum -a 256 $^ >> $(WEB)/builds/checksum-sha256sum.txt ;\ + else \ + sha256sum $^ >> $(WEB)/builds/checksum-sha256sum.txt; \ + fi + + +universal: + @echo "Building macOS universal binary..." + docker run --rm -v $(WEB)/builds:/app/ bennythink/lipo-linux -create -output \ + yyetsweb-darwin-universal \ + yyetsweb-darwin-amd64 yyetsweb-darwin-arm64 + + file $(WEB)/builds/yyetsweb-darwin-universal + +release: + git tag $(shell git rev-parse --short HEAD) + git push --tags + + +ci-test: + docker run --rm bennythink/yyetsbot /bin/sh -c "cd /YYeTsBot/yyetsweb/tests;python -m unittest discover -p '*_test.py'" + +test: + cd $(WEB)/tests;python -m unittest discover -p '*_test.py' diff --git a/README.md b/README.md index 5e200f70f..71862b137 100644 --- a/README.md +++ b/README.md @@ -1,75 +1,159 @@ # YYeTsBot -人人影视bot,[戳我使用](https://t.me/yyets_bot) 此机器人长期维护,如果遇到问题可以发送报告给我。 +[![build docker image](https://github.com/tgbot-collection/YYeTsBot/actions/workflows/docker.yaml/badge.svg)](https://github.com/tgbot-collection/YYeTsBot/actions/workflows/docker.yaml) +[![Docker Pulls](https://img.shields.io/docker/pulls/bennythink/yyetsbot)](https://hub.docker.com/r/bennythink/yyetsbot) + +![](assets/index.png) + +👉 前端[在这里](https://github.com/tgbot-collection/YYeTsFE) 👈 # 使用说明 + 直接发送想要看的剧集名称就可以了,可选分享网页或者链接(ed2k和磁力链接)。 -**由于译名的不同,建议输入部分译名,然后从列表中进行选择。** -# commands +搜索资源时,会按照我预定的优先级(人人影视离线、字幕侠)进行搜索,当然也可以使用命令强制某个字幕组,如 `/yyets_offline 逃避可耻` + +## 命令 ``` start - 开始使用 help - 帮助 credits - 致谢 ping - 运行状态 +settings - 获取公告 +zimuxia_online - 字幕侠在线数据 +newzmz_online - new字幕组在线数据 +yyets_offline - 人人影视离线数据 ``` # 截图 -![](assets/1.jpg) +## 常规搜索 -![](assets/2.jpg) +![](assets/1.png) -# 部署方法 +## 资源分享站截图 -## 使用docker +本网站永久免费,并且没有任何限制。 +![](assets/new_resource.png) -参见 [这里](https://github.com/tgbot-collection/BotsRunner) +![](assets/2.png) -## 常规方式 +支持收藏功能,会跨设备同步 +![](assets/like.png) -### 1. 环境 +## 指定字幕组搜索 -推荐使用Python 3.6+,需要安装redis `apt install redis`,根据个人情况可以使用virtualenv +目前只支持YYeTsOffline、ZimuxiaOnline和NewzmzOnline -```bash -pip install -r requirements.py -``` +![](assets/3.png) -### 2. 配置TOKEN +# 如何下载磁力和电驴资源?迅雷提示资源敏感 -修改`config.py`,根据需求修改如下配置项 +## 电驴资源 -* TOKEN:bot token -* USERNAME:USERNAME和PASSWORD是在人人影视的有效的用户名和密码 -* PASSWORD :USERNAME和PASSWORD是在人人影视的有效的用户名和密码 -* PROXY :是否需要使用代理 格式 `socks5://userproxy:password@proxy_address:port` -* MAINTAINER:维护者的Telegram UserID -* REDIS:redis的地址,一般为localhost, +请下载使用 [eMule](https://www.emule-project.net/home/perl/general.cgi?l=42) ,然后添加如下两个server list -也可以使用环境变量,如 `export TOKEN="1234"` +* [server.met](http://www.server-met.de/) +* [server list for emule](https://www.emule-security.org/serverlist/) -### 3. 运行 +![](assets/emule.jpeg) +速度还可以哦 -```bash -python /path/to/YYeTsBot/bot.py -``` +## 磁力 + +使用百度网盘、115等离线,或使用utorrent等工具,记得更新下 [tracker list](https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt) +哦 + +# 小白使用 + +想要自己留一份资源,但是又不懂编程? 没关系!目前提供两种方式,请根据自己情况选择 +“离线使用” 意味着可以断网使用,但是不会自动更新资源,需要手动更新数据库;“在线应用” 意味着需要有互联网才可以使用。 + +## 离线 完整运行包 + +这个版本是新的UI,拥有全部的最新功能。运行在你本地的电脑上,不依赖外界环境。 +[参考文档](https://github.com/tgbot-collection/YYeTsBot/blob/master/DEVELOPMENT.md#%E4%B8%80%E9%94%AE%E8%84%9A%E6%9C%AC) + +## 离线 一键运行包 + +一键运行包。拥有比较新的UI,只不过只有最基础的搜索、查看资源的功能。使用方法步骤如下 + +1. 请到 [GitHub Release](https://github.com/tgbot-collection/YYeTsBot/releases) ,找最新的 `YYeTsBot 离线一键运行包` +2. windows:双击第一步下载的exe文件; macos/Linux,cd到你的目录, `chmod +x yyetsweb ; ./yyetsweb` +3. 程序会自动下载数据库并启动。等到出现启动提示时, 打开浏览器 http://127.0.0.1:8888 就可以看到熟悉的搜索界面啦! + +## 在线 原生应用程序 -### 4. systemd 单元文件 +使用tauri封装的网页。使用方法如下 -参考 `yyets.service` +1. 请到 [GitHub Release](https://github.com/tgbot-collection/YYeTsBot/releases) ,找最新的 `YYeTsBot App` +2. windows下载msi,macos下载dmg或tar.gz,Linux下载AppImage或deb(Debian based) +3. 安装后,打开App,就可以看到熟悉的搜索界面啦! -# Help +# 开发 -- [ ] test case... +## 网站开发 + +如何部署、参与开发、具体API接口,可以 [参考这个文档](DEVELOPMENT.md) + +## Python Library + +也可以作为Python Library去调用 + +`pip3 install yyets` + +``` +>>> from yyets import YYeTs +>>> yy=YYeTs("逃避") +[2021-09-21 19:22:32 __init__.py:54 I] Fetching 逃避可耻却有用...https://yyets.click/api/resource?id=34812 +[2021-09-21 19:22:33 __init__.py:54 I] Fetching 无法逃避...https://yyets.click/api/resource?id=29540 +[2021-09-21 19:22:35 __init__.py:54 I] Fetching 逃避者...https://yyets.click/api/resource?id=37089 + +>>> yy.result +[, , ] + +>>> for y in yy.result: + print(y) + +逃避可耻却有用 - NIGERUHA HAJIDAGA YAKUNITATSU +无法逃避 - Inescapable +逃避者 - Shirkers + +>>> yy.result[0].cnname +'逃避可耻却有用' + +>>> yy.result[0].list +[{'season_num': '101', 'season_cn': '单剧', 'items': {'APP': [{'ite +``` # Credits * [人人影视](http://www.zmz2019.com/) -* [追新番](http://www.zhuixinfan.com/main.php) -* [磁力下载站](http://oabt005.com/home.html) +* [追新番](http://www.fanxinzhui.com/) +* [FIX字幕侠](https://www.zimuxia.cn/) +* [new字幕组](https://newzmz.com/) + +# 支持我 + +觉得本项目对你有帮助?你可以通过以下方式表达你的感受: + +* 感谢字幕组 +* 点一个star🌟和fork🍴 +* 宣传,使用,提交问题报告 +* 收藏[我的博客](https://dmesg.app/) +* [Telegram Channel](https://t.me/mikuri520) + +## 捐助 + +* [给我买杯咖啡?](https://www.buymeacoffee.com/bennythink) +* [爱发电?](https://afdian.net/@BennyThink) +* [GitHub Sponsor](https://github.com/sponsors/BennyThink) +* [Stripe](https://buy.stripe.com/dR67vU4p13Ox73a6oq) + + stripe + # License diff --git a/assets/1.jpg b/assets/1.jpg deleted file mode 100644 index 4c0bf9a42..000000000 Binary files a/assets/1.jpg and /dev/null differ diff --git a/assets/1.png b/assets/1.png new file mode 100644 index 000000000..34c29d9c1 Binary files /dev/null and b/assets/1.png differ diff --git a/assets/2.jpg b/assets/2.jpg deleted file mode 100644 index e0ff4622c..000000000 Binary files a/assets/2.jpg and /dev/null differ diff --git a/assets/2.png b/assets/2.png new file mode 100644 index 000000000..828b9cd22 Binary files /dev/null and b/assets/2.png differ diff --git a/assets/3.png b/assets/3.png new file mode 100644 index 000000000..da4c80f3a Binary files /dev/null and b/assets/3.png differ diff --git a/assets/CNY.png b/assets/CNY.png new file mode 100644 index 000000000..0bf583802 Binary files /dev/null and b/assets/CNY.png differ diff --git a/assets/ci.gz b/assets/ci.gz new file mode 100644 index 000000000..8649c6228 Binary files /dev/null and b/assets/ci.gz differ diff --git a/assets/emule.jpeg b/assets/emule.jpeg new file mode 100644 index 000000000..399d01e29 Binary files /dev/null and b/assets/emule.jpeg differ diff --git a/assets/index.png b/assets/index.png new file mode 100644 index 000000000..d7043ce8c Binary files /dev/null and b/assets/index.png differ diff --git a/assets/like.png b/assets/like.png new file mode 100644 index 000000000..fb09975f3 Binary files /dev/null and b/assets/like.png differ diff --git a/assets/new_resource.png b/assets/new_resource.png new file mode 100644 index 000000000..5a6a97d4c Binary files /dev/null and b/assets/new_resource.png differ diff --git a/bot.py b/bot.py deleted file mode 100644 index 41c7707a5..000000000 --- a/bot.py +++ /dev/null @@ -1,209 +0,0 @@ -# coding: utf-8 -# YYeTsBot - bot.py -# 2019/8/15 18:27 - -__author__ = 'Benny ' - -import io -import time -import re -import os -import logging -import json -import tempfile - -from urllib.parse import quote_plus - -import telebot -from telebot import types, apihelper -from tgbot_ping import get_runtime - -from html_request import get_search_html, analyse_search_html, get_detail_page -from utils import save_dump, save_to_cache, get_from_cache -from config import PROXY, TOKEN, SEARCH_URL, MAINTAINER - -logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(filename)s [%(levelname)s]: %(message)s') -if PROXY: - apihelper.proxy = {'https': PROXY} - -bot = telebot.TeleBot(os.environ.get('TOKEN') or TOKEN) - - -@bot.message_handler(commands=['start']) -def send_welcome(message): - bot.send_chat_action(message.chat.id, 'typing') - bot.send_message(message.chat.id, '欢迎使用,发送想要的剧集标题,我会帮你搜索。\n' - '人人影视倾向于欧美日韩剧集,请不要反馈“我搜不到喜羊羊与灰太狼”这种问题😠。\n' - '建议使用人人影视 标准译名', - parse_mode='html', disable_web_page_preview=True) - - -@bot.message_handler(commands=['help']) -def send_help(message): - bot.send_chat_action(message.chat.id, 'typing') - bot.send_message(message.chat.id, '''机器人无法使用或者报错?你可以使用如下方式寻求使用帮助和报告错误:\n - 1. @BennyThink - 2. Github issues - 3. Telegram Channel''', parse_mode='html', disable_web_page_preview=True) - - -@bot.message_handler(commands=['ping']) -def send_ping(message): - bot.send_chat_action(message.chat.id, 'typing') - info = get_runtime("botsrunner_yyets_1") - bot.send_message(message.chat.id, info, parse_mode='markdown') - - -@bot.message_handler(commands=['credits']) -def send_credits(message): - bot.send_chat_action(message.chat.id, 'typing') - bot.send_message(message.chat.id, '''感谢字幕组的无私奉献!本机器人资源来源:\n - 人人影视 - 磁力下载站 - 追新番 - ''', parse_mode='html') - - -def download_to_io(photo): - logging.info("Initializing bytes io...") - mem = io.BytesIO() - file_id = photo[-1].file_id - logging.info("Downloading photos...") - file_info = bot.get_file(file_id) - content = bot.download_file(file_info.file_path) - mem.write(content) - logging.info("Downloading complete.") - return mem - - -def send_my_response(message): - bot.send_chat_action(message.chat.id, 'record_video_note') - # I may also send picture - photo = message.photo - uid = message.reply_to_message.caption - text = f"主人说:{message.text or message.caption or '啥也没说😯'}" - if photo: - bot.send_chat_action(message.chat.id, 'typing') - logging.info("Photo received from maintainer") - mem = download_to_io(photo) - mem.name = f'{uid}.jpg' - r = bot.send_photo(uid, mem.getvalue(), caption=text) - else: - r = bot.send_message(uid, text) - - logging.info("Reply has been sent to %s with message id %s", uid, r.message_id) - bot.reply_to(message, "回复已经发送给这位用户") - fw = bot.forward_message(message.chat.id, uid, r.message_id) - time.sleep(3) - bot.delete_message(message.chat.id, fw.message_id) - logging.info("Forward has been deleted.") - - -@bot.message_handler(content_types=["photo", "text"]) -def send_search(message): - if message.reply_to_message and message.reply_to_message.document and \ - message.reply_to_message.document.file_name == 'error.txt' and str(message.chat.id) == MAINTAINER: - send_my_response(message) - return - bot.send_chat_action(message.chat.id, 'record_video') - - name = message.text - if name is None: - with open('assets/warning.webp', 'rb') as sti: - bot.send_message(message.chat.id, "不要调戏我!我会报警的") - bot.send_sticker(message.chat.id, sti) - return - - logging.info('Receiving message about %s from user %s(%s)', name, message.chat.username, message.chat.id) - html = get_search_html(name) - result = analyse_search_html(html) - - markup = types.InlineKeyboardMarkup() - for url, detail in result.items(): - btn = types.InlineKeyboardButton(detail['name'], callback_data="choose%s" % url) - markup.add(btn) - - if result: - bot.send_message(message.chat.id, "呐,💐🌷🌹选一个呀!", reply_markup=markup) - else: - bot.send_chat_action(message.chat.id, 'typing') - - encoded = quote_plus(name) - bot.send_message(message.chat.id, f"没有找到你想要的信息🤪\n莫非你是想调戏我哦,😏\n\n" - f"你先看看这个链接有没有结果。 {SEARCH_URL.format(kw=encoded)} " - "如果有的话,那报错给我吧", reply_markup=markup, disable_web_page_preview=True) - markup = types.InlineKeyboardMarkup() - btn = types.InlineKeyboardButton("快来修复啦", callback_data="fix") - markup.add(btn) - bot.send_chat_action(message.chat.id, 'upload_document') - bot.send_message(message.chat.id, f"《{name}》😭😭😭\n机器人不好用了?点下面的按钮叫 @BennyThink 来修!" - f"⚠️你真的要报错吗,别乱点啊,看好自己搜的是什么,不乖的话我可是会报警的哦。", - reply_markup=markup) - content = f""" 报告者:{message.chat.first_name}{message.chat.last_name or ""}@{message.chat.username or ""}({message.chat.id}) - 问题发生时间:{time.strftime("%Y-%m-%data %H:%M:%S", time.localtime(message.date))} - 请求内容:{name} - 请求URL:{SEARCH_URL.format(kw=encoded)}\n\n - 返回内容:{html} - """ - save_dump(content) - - -@bot.callback_query_handler(func=lambda call: re.findall(r"choose(\S*)", call.data)) -def choose_link(call): - bot.send_chat_action(call.message.chat.id, 'typing') - # call.data is url, http://www.rrys2020.com/resource/36588 - resource_url = re.findall(r"choose(\S*)", call.data)[0] - - link = get_from_cache(resource_url) - if not link: - link = get_detail_page(resource_url) - save_to_cache(resource_url, link) - - markup = types.InlineKeyboardMarkup() - btn1 = types.InlineKeyboardButton("分享页面", callback_data="share%s" % resource_url) - btn2 = types.InlineKeyboardButton("我全都要", callback_data="all%s" % resource_url) - markup.add(btn1, btn2) - text = "想要分享页面,还是我全都要?\n\n" \ - "名词解释:“分享页面”会返回给你一个网站,从那里可以看到全部的下载链接。\n" \ - "“我全都要”会给你发送一个txt文件,文件里包含全部下载连接\n" - bot.send_message(call.message.chat.id, text, reply_markup=markup) - - -@bot.callback_query_handler(func=lambda call: re.findall(r"share(\S*)", call.data)) -def share_page(call): - bot.send_chat_action(call.message.chat.id, 'typing') - resource_url = re.findall(r"share(\S*)", call.data)[0] - result = get_from_cache(resource_url) - bot.send_message(call.message.chat.id, result['share']) - - -@bot.callback_query_handler(func=lambda call: re.findall(r"all(\S*)", call.data)) -def all_episode(call): - # just send a file - bot.send_chat_action(call.message.chat.id, 'typing') - resource_url = re.findall(r"all(\S*)", call.data)[0] - result = get_from_cache(resource_url) - - with tempfile.NamedTemporaryFile(mode='wb+', prefix=result["cnname"], suffix=".txt") as tmp: - bytes_data = json.dumps(result["all"], ensure_ascii=False, indent=4).encode('u8') - tmp.write(bytes_data) - - with open(tmp.name, "rb") as f: - bot.send_chat_action(call.message.chat.id, 'upload_document') - bot.send_document(call.message.chat.id, f) - - -@bot.callback_query_handler(func=lambda call: call.data == 'fix') -def report_error(call): - logging.error("Reporting error to maintainer.") - bot.send_chat_action(call.message.chat.id, 'typing') - bot.send_message(MAINTAINER, '人人影视机器人似乎出现了一些问题🤔🤔🤔……') - debug = open(os.path.join(os.path.dirname(__file__), 'data', 'error.txt'), 'r', encoding='u8') - bot.send_document(MAINTAINER, debug, caption=str(call.message.chat.id)) - bot.answer_callback_query(call.id, 'Debug信息已经发送给维护者,请耐心等待修复~', show_alert=True) - # bot.edit_message_text("好了,信息发过去了,坐等回复吧!", call.message.chat.id, call.message.message_id) - - -if __name__ == '__main__': - logging.info('YYeTs bot is running...') - bot.polling(none_stop=True, ) diff --git a/conf/yyets.dmesg.app.conf b/conf/yyets.dmesg.app.conf new file mode 100644 index 000000000..5c804836f --- /dev/null +++ b/conf/yyets.dmesg.app.conf @@ -0,0 +1,61 @@ +server { + listen 80; + listen [::]:80; + server_name yyetsdev.dmesg.app; + index index.html index.htm index.php default.html default.htm default.php; + + + location / { + proxy_pass_header Server; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Scheme $scheme; + proxy_pass http://yyets-web:8888; + } + + access_log /var/log/nginx/yyetsdev.dmesg.app.log; +} + +server { + listen 443 ssl http2 ; + listen [::]:443 ssl http2; + server_name yyetsdev.dmesg.app; + index index.html index.htm index.php default.html default.htm default.php; + + ssl_certificate /etc/nginx/certs/dmesg_cf_cert.pem; + ssl_certificate_key /etc/nginx/certs/dmesg_cf_key.pem; + + ssl_session_timeout 20m; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + + ssl_dhparam /etc/nginx/certs/dhparam.pem; + ssl_ciphers 'TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; + ssl_stapling on; + ssl_stapling_verify on; + + add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Xss-Protection "1; mode=block" always; + add_header X-Content-Type-Options "nosniff" always; + + add_header Content-Security-Policy "default-src https: 'unsafe-inline' 'unsafe-eval' data:;"; + add_header Referrer-Policy "no-referrer-when-downgrade"; + + + + location / { + proxy_pass_header Server; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Scheme $scheme; + proxy_pass http://yyets-web:8888; + } + + + + access_log /var/log/nginx/yyetsdev.dmesg.app.log; +} diff --git a/conf/yyets.env b/conf/yyets.env new file mode 100644 index 000000000..f82e9d13c --- /dev/null +++ b/conf/yyets.env @@ -0,0 +1,6 @@ +mongo=mongo +redis=redis +email_user=username +email_password=passord +email_host=mailhog +email_port=1025 diff --git a/config.py b/config.py deleted file mode 100644 index fe71d5fee..000000000 --- a/config.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding: utf-8 -# YYeTsBot - config.py -# 2019/8/15 18:42 - -__author__ = 'Benny ' - -import os - -BASE_URL = "http://www.rrys2020.com" -LOGIN_URL = "http://www.rrys2020.com/user/login" -GET_USER = "http://www.rrys2020.com/user/login/getCurUserTopInfo" -# rss is unavailable as of 2021.01.10 -RSS_URL = "http://rss.rrys.tv/rss/feed/{id}" -RESOURCE_SCORE = "http://www.rrys2020.com/resource/getScore" # post rid=38000 -SEARCH_URL = "http://www.rrys2020.com/search?keyword={kw}&type=resource" -AJAX_LOGIN = "http://www.rrys2020.com/User/Login/ajaxLogin" -SHARE_URL = "http://www.rrys2020.com/resource/ushare" -SHARE_WEB = "http://got002.com/resource.html?code={code}" -# http://got002.com/api/v1/static/resource/detail?code=9YxN91 -SHARE_API = "http://got002.com/api/v1/static/resource/detail?code={code}" - -TOKEN = os.environ.get("TOKEN") or "TOKEN" -USERNAME = os.environ.get("USERNAME") or "USERNAME" -PASSWORD = os.environ.get("PASSWORD") or "password" -PROXY = os.environ.get("PROXY") -MAINTAINER = os.environ.get("MAINTAINER") -REDIS = os.environ.get("REDIS") or "redis" diff --git a/data/readme.txt b/data/readme.txt deleted file mode 100644 index f315e4715..000000000 --- a/data/readme.txt +++ /dev/null @@ -1 +0,0 @@ -dir to storage request id and data. \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..935138e5f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,66 @@ +version: '3.1' + +services: + redis: + image: redis:7-alpine + restart: always + logging: + driver: none + + mongo: + image: mongo:6 + restart: always + volumes: + - ./mongo_data/mongodb:/data/db + command: --quiet + logging: + driver: none + ports: + - "127.0.0.1:27017:27017" + + meili: + image: getmeili/meilisearch:v1.0.2 + restart: always + environment: + - MEILI_HTTP_PAYLOAD_SIZE_LIMIT=1073741824 #1GiB + volumes: + - meilisearch_data:/meili_data + + mysql: + image: ubuntu/mysql:8.0-22.04_beta + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: 'root' + logging: + driver: none + command: "--skip-log-bin --default-authentication-plugin=mysql_native_password" + + bot: + image: bennythink/yyetsbot + depends_on: + - redis + - mongo + restart: always + env_file: + - env/yyets.env + + web: + image: bennythink/yyetsbot + restart: always + env_file: + - env/yyets.env + depends_on: + - mongo + - redis + - mysql + working_dir: /YYeTsBot/yyetsweb/ + volumes: + - ./subtitle_data:/YYeTsBot/yyetsweb/subtitle_data + command: [ "python3","server.py","-h=0.0.0.0" ] + ports: + - "127.0.0.1:8888:8888" + - "172.17.0.1:8888:8888" + + +volumes: + meilisearch_data: diff --git a/html_request.py b/html_request.py deleted file mode 100644 index 7a8cc5739..000000000 --- a/html_request.py +++ /dev/null @@ -1,111 +0,0 @@ -# coding: utf-8 -# YYeTsBot - html_request.py -# 2019/8/15 18:30 - -__author__ = 'Benny ' - -import os -import logging -import requests -import feedparser -from bs4 import BeautifulSoup - -from config import SEARCH_URL, GET_USER, RSS_URL, BASE_URL, SHARE_WEB, SHARE_URL, RESOURCE_SCORE, SHARE_API -from utils import load_cookies, cookie_file, login - -logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(filename)s [%(levelname)s]: %(message)s') - -s = requests.Session() - - -def get_search_html(kw: str) -> str: - if not os.path.exists(cookie_file): - logging.warning("Cookie file not found") - login() - if not is_cookie_valid(): - login() - cookie = load_cookies() - logging.info("searching for %s", kw) - r = s.get(SEARCH_URL.format(kw=kw), cookies=cookie) - - r.close() - return r.text - - -def get_detail_page(url: str) -> dict: - logging.info("loading detail page %s", url) - share_link, api_res = analysis_share_page(url) - cnname = api_res["data"]["info"]["cnname"] - logging.info("Share page complete for %s", cnname) - - logging.info("Getting rss...") - rss_url = RSS_URL.format(id=url.split("/")[-1]) - rss_result = analyse_rss(rss_url) - logging.info("RSS complete...") - - # get name from here... - if not rss_result: - rss_result = api_res - - return {"all": rss_result, "share": share_link, "cnname": cnname} - - -def analyse_search_html(html: str) -> dict: - logging.info('Parsing html...') - soup = BeautifulSoup(html, 'lxml') - link_list = soup.find_all("div", class_="clearfix search-item") - list_result = {} - for block in link_list: - name = block.find_all('a')[-1].text - url = BASE_URL + block.find_all('a')[-1].attrs['href'] - list_result[url] = {"name": name, "score": get_score(url.split('/')[-1])} - - return list_result - - -def analyse_rss(feed_url: str) -> dict: - d = feedparser.parse(feed_url) - # data['feed']['title'] - result = {} - for item in d['entries']: - download = { - "title": getattr(item, "title", ""), - "ed2k": getattr(item, "ed2k", ""), - "magnet": getattr(item, "magnet", ""), - "pan": getattr(item, "pan", "")} - result[item.guid] = download - return result - - -def analysis_share_page(detail_url: str) -> (str, dict): - rid = detail_url.split('/')[-1] - logging.info("rid is %s", rid) - - res = s.post(SHARE_URL, data={"rid": rid}, cookies=load_cookies()).json() - share_code = res['data'].split('/')[-1] - logging.info("Share code is %s", share_code) - share_url = SHARE_WEB.format(code=share_code) - logging.info("Share url %s", share_url) - - # get api response - api_response = s.get(SHARE_API.format(code=share_code)).json() - return share_url, api_response - - -def get_score(rid: str) -> float: - return s.post(RESOURCE_SCORE, data={"rid": rid}).json()['score'] - - -def is_cookie_valid() -> bool: - cookie = load_cookies() - r = s.get(GET_USER, cookies=cookie) - logging.info("cookie valid? %s", r.json()) - return r.json()['status'] == 1 - - -if __name__ == '__main__': - __search = get_search_html('轮到你了') - __search_result = analyse_search_html(__search) - __chose = "http://www.rrys2020.com/resource/38000" - __link = get_detail_page(__chose) - print(__link) diff --git a/messenger.py b/messenger.py deleted file mode 100644 index 99d41dfae..000000000 --- a/messenger.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding: utf-8 -# YYeTsBot - messenger.py -# 2019/11/6 12:42 - -__author__ = 'Benny ' - -from config import TOKEN -import telebot -import sys - -bot = telebot.TeleBot(TOKEN) - - -def send_msg(argv): - uid = argv[1] - msg = argv[2] - bot.send_chat_action(uid, 'typing') - response = bot.send_message(uid, msg, parse_mode='markdown') - print(response) - - -if __name__ == '__main__': - if len(sys.argv) != 3: - print("Need ID and message!") - sys.exit(2) - - send_msg(sys.argv) diff --git a/requirements.txt b/requirements.txt index cb1a90b6c..04df32f75 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,24 @@ -requests -pytelegrambotapi==3.7.5 -beautifulsoup4 -lxml -feedparser -pysocks -tgbot-ping -redis \ No newline at end of file +requests==2.32.5 +pytelegrambotapi==4.29.1 +beautifulsoup4==4.14.0 +tgbot-ping==1.0.7 +redis==6.4.0 +apscheduler==3.11.0 +pymongo==4.15.1 +tornado==6.5.2 +captcha==0.7.1 +passlib==1.7.4 +fakeredis==2.31.3 +filetype==1.2.0 +requests[socks] +tqdm==4.67.1 +retry==0.9.2 +pymysql==1.1.2 +git+https://github.com/tgbot-collection/python-akismet +openpyxl==3.1.5 +zhconv==1.4.3 +jinja2==3.1.6 +coloredlogs==15.0.1 +meilisearch==0.33.0 +pillow==11.3.0 +pytz==2025.2 \ No newline at end of file diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100644 index 000000000..0264207e9 --- /dev/null +++ b/scripts/install.sh @@ -0,0 +1,98 @@ +#!/bin/bash + +function splash() { + echo "本脚本会在 ${HOME}/YYeTs 部署人人影视web" + echo "你确定要继续吗?输入YES确认" + read -r confirm + + if [ "$confirm" = "YES" ]; then + echo "继续安装" + else + echo "取消安装" + exit 1 + fi + +} + +function prepare() { + echo "[1/5] 准备中……" + mkdir -p "${HOME}"/YYeTs + cd "${HOME}"/YYeTs || exit +} + +function prepare_compose() { + echo "[2/5] 下载docker-compose.yml" + curl -o docker-compose.yml https://raw.githubusercontent.com/tgbot-collection/YYeTsBot/master/docker-compose.yml + sed -ie '58,59d' docker-compose.yml +} + +function import_db() { + echo "[3/5] 正在准备MongoDB" + docker-compose up -d mongo + + echo "[4/5] 正在下载并导入数据库" + curl -o /tmp/yyets_mongo.gz https://yyets.click/dump/yyets_mongo.gz + file /tmp/yyets_mongo.gz + docker cp /tmp/yyets_mongo.gz yyets_mongo_1:/tmp + # special for windows + result=$(uname -a | grep "Msys") + if [[ "$result" != "" ]]; then + echo "docker exec yyets_mongo_1 mongorestore --gzip --archive=/tmp/yyets_mongo.gz --nsFrom "share.*" --nsTo "zimuzu.*"" >windows.bat + echo "docker exec yyets_mongo_1 rm /tmp/yyets_mongo.gz" >>windows.bat + cmd "/C windows.bat" + rm windows.bat + else + docker exec yyets_mongo_1 mongorestore --gzip --archive=/tmp/yyets_mongo.gz --nsFrom "share.*" --nsTo "zimuzu.*" + docker exec yyets_mongo_1 rm /tmp/yyets_mongo.gz + fi + + rm /tmp/yyets_mongo.gz +} + +function up() { + echo "[5/5] 启动中……" + docker-compose up -d + echo "部署成功。您可以访问 http://IP:8888 查看" +} + +function deploy() { + splash + prepare + prepare_compose + import_db + up +} + +function cleanup() { + echo "您确认要进行清理吗?网站将会停止运行,对应的的docker image也将会被清除。输入YES确认" + read -r confirm + + if [ "$confirm" = "YES" ]; then + echo "继续清理,可能会要求您进行sudo鉴权" + docker-compose -f "${HOME}"/YYeTs/docker-compose.yml down + sudo rm -rf "${HOME}"/YYeTs + docker rmi bennythink/yyetsbot + echo "清理完成。" + else + echo "取消清理" + exit 1 + fi + +} + +function upgrade() { + docker pull bennythink/yyetsbot + docker-compose -f "${HOME}"/YYeTs/docker-compose.yml up -d + echo "更新成功" +} + +select MENU_ITEM in "部署YYeTs" "清理YYeTs" "更新YYeTs"; do + echo "准备$MENU_ITEM YYeTsWeb..." + case $MENU_ITEM in + "部署YYeTs") deploy ;; + "清理YYeTs") cleanup ;; + "更新YYeTs") upgrade ;; + *) echo "无效的操作" ;; + esac + break +done diff --git a/scripts/migrate_sub.py b/scripts/migrate_sub.py new file mode 100644 index 000000000..345eef035 --- /dev/null +++ b/scripts/migrate_sub.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +# YYeTsBot - migrate_sub.py + +import pymongo +import pymysql +from pymysql.cursors import DictCursor + +con = pymysql.connect(host="mysql", user="root", password="root", database="yyets", charset="utf8") +cur = con.cursor(cursor=DictCursor) +mongo_client = pymongo.MongoClient(host="mongo") +col = mongo_client["zimuzu"]["subtitle"] + +cur.execute("select * from subtitle") + +# 56134 rows +for sub in cur.fetchall(): + col.insert_one(sub) diff --git a/setup.py b/setup.py new file mode 100644 index 000000000..7b8c49af9 --- /dev/null +++ b/setup.py @@ -0,0 +1,128 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Note: To use the 'upload' functionality of this file, you must: +# $ pipenv install twine --dev + +import io +import os +import sys +from shutil import rmtree + +from setuptools import Command, setup + +# Package meta-data. +NAME = "yyets" +DESCRIPTION = "https://yyets.click/ wrapper" +URL = "https://github.com/tgbot-collection/YYeTsBot" +EMAIL = "benny.think@gmail.com" +AUTHOR = "BennyThink" +REQUIRES_PYTHON = ">=3.6.0" +VERSION = "1.0.1" + +# What packages are required for this module to be executed? +REQUIRED = ["requests"] + +# What packages are optional? +EXTRAS = { + # 'fancy feature': ['django'], +} + +# The rest you shouldn't have to touch too much :) +# ------------------------------------------------ +# Except, perhaps the License and Trove Classifiers! +# If you do change the License, remember to change the Trove Classifier for that! + +here = os.path.abspath(os.path.dirname(__file__)) + +# Import the README and use it as the long-description. +# Note: this will only work if 'README.md' is present in your MANIFEST.in file! +try: + with io.open(os.path.join(here, "README.md"), encoding="utf-8") as f: + long_description = "\n" + f.read() +except FileNotFoundError: + long_description = DESCRIPTION + +# Load the package's __version__.py module as a dictionary. +about = {} +if not VERSION: + project_slug = NAME.lower().replace("-", "_").replace(" ", "_") + with open(os.path.join(here, project_slug, "__version__.py")) as f: + exec(f.read(), about) +else: + about["__version__"] = VERSION + + +class UploadCommand(Command): + """Support setup.py upload.""" + + description = "Build and publish the package." + user_options = [] + + @staticmethod + def status(s): + """Prints things in bold.""" + print("\033[1m{0}\033[0m".format(s)) + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + try: + self.status("Removing previous builds…") + rmtree(os.path.join(here, "dist")) + except OSError: + pass + + self.status("Building Source and Wheel (universal) distribution…") + os.system("{0} setup.py sdist bdist_wheel --universal".format(sys.executable)) + + self.status("Uploading the package to PyPI via Twine…") + os.system("twine upload dist/*") + + self.status("Pushing git tags…") + os.system("git tag v{0}".format(about["__version__"])) + os.system("git push --tags") + + sys.exit() + + +# Where the magic happens: +setup( + name=NAME, + version=about["__version__"], + description=DESCRIPTION, + long_description=long_description, + long_description_content_type="text/markdown", + author=AUTHOR, + author_email=EMAIL, + python_requires=REQUIRES_PYTHON, + url=URL, + # packages=find_packages(exclude=["tests", "*.tests", "*.tests.*", "tests.*"]), + # If your package is a single module, use this instead of 'packages': + packages=["yyets"], + # entry_points={ + # 'console_scripts': ['mycli=mymodule:cli'], + # }, + install_requires=REQUIRED, + extras_require=EXTRAS, + include_package_data=True, + license="MIT", + classifiers=[ + # Trove classifiers + # Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers + "License :: OSI Approved :: MIT License", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + ], + # $ setup.py publish support. + cmdclass={ + "upload": UploadCommand, + }, +) diff --git a/tea.yaml b/tea.yaml new file mode 100644 index 000000000..e16d33585 --- /dev/null +++ b/tea.yaml @@ -0,0 +1,7 @@ +# https://tea.xyz/what-is-this-file +--- +version: 1.0.0 +codeOwners: + - '0x2F119b4DdC0d33A1cAE392999513e8D253C9b4Db' + - '0x56E743FD305c6858A4baD2893F2b2498441dF0Ce' +quorum: 1 diff --git a/test.html b/test.html deleted file mode 100644 index a234b8856..000000000 --- a/test.html +++ /dev/null @@ -1,934 +0,0 @@ - - - - -MAG磁力站 - 磁力下载站,cili001.com,最新美剧下载,日剧下载,电影下载,韩剧下载 - - - - - - - - - - -
-
- -
- -
- - - -
磁力电骡模式
- -
-
    -
-
-
-
- -
-
- -
- -
- - - - - - - - - - - - -
- - - - \ No newline at end of file diff --git a/utils.py b/utils.py deleted file mode 100644 index 318ed11cf..000000000 --- a/utils.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding: utf-8 -# YYeTsBot - utils.py -# 2019/8/15 20:27 - -__author__ = 'Benny ' - -import os -import sys -import pickle -import json -import logging -import requests -import redis - -from config import AJAX_LOGIN, USERNAME, PASSWORD, REDIS - -r = redis.StrictRedis(host=REDIS, decode_responses=True) - -cookie_file = os.path.join(os.path.dirname(__file__), 'data', 'cookies.dump') - - -def save_to_cache(url: str, value: dict) -> None: - data = json.dumps(value, ensure_ascii=False) - r.set(url, data, ex=3600 * 12) - - -def get_from_cache(url: str) -> dict: - logging.info("Reading data from cache %s", url) - from html_request import get_detail_page - - data = r.get(url) - if data: - logging.info("cache hit") - return json.loads(data) - else: - logging.info("cache miss") - save_to_cache(url, get_detail_page(url)) - return get_from_cache(url) - - -def save_dump(err): - f = open(os.path.join(os.path.dirname(__file__), 'data', 'error.txt'), 'w', encoding='u8') - f.write(err) - f.close() - - -def save_cookies(requests_cookiejar): - with open(cookie_file, 'wb') as f: - pickle.dump(requests_cookiejar, f) - - -def load_cookies(): - with open(cookie_file, 'rb') as f: - return pickle.load(f) - - -def login(): - data = {"account": USERNAME, "password": PASSWORD, "remember": 1} - logging.info("login in as %s", data) - r = requests.post(AJAX_LOGIN, data=data) - resp = r.json() - if resp.get('status') == 1: - logging.info("Login success! %s", r.cookies) - save_cookies(r.cookies) - else: - logging.error("Login failed! %s", resp) - sys.exit(1) - r.close() diff --git a/yyets.service b/yyets.service deleted file mode 100644 index 477419266..000000000 --- a/yyets.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=A Telegram Bot for YYeTs -After=network.target network-online.target nss-lookup.target - -[Service] -User=nobody -Restart=on-failure -Type=simple -ExecStart=/usr/bin/python3 /home/YYeTsBot/bot.py - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/yyets/BagAndDrag/README.md b/yyets/BagAndDrag/README.md new file mode 100644 index 000000000..8ab3939c9 --- /dev/null +++ b/yyets/BagAndDrag/README.md @@ -0,0 +1,6 @@ +# BagAndDrag +Bag and Drag + +[original repo](https://github.com/tgbot-collection/BagAndDrag) + +打包带走:-) \ No newline at end of file diff --git a/yyets/BagAndDrag/bag.py b/yyets/BagAndDrag/bag.py new file mode 100644 index 000000000..476b2e36c --- /dev/null +++ b/yyets/BagAndDrag/bag.py @@ -0,0 +1,107 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# BagAndDrag - bag.py +# 1/10/21 15:29 +# + +__author__ = "Benny " + +import contextlib +import json +import logging +import os +import pickle +import sys +import time +import traceback + +import pymysql +import requests + +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(filename)s [%(levelname)s]: %(message)s') + +COOKIES = os.path.join(os.path.dirname(__file__), 'cookies.dump') +USERNAME = os.environ.get("USERNAME") or "321" +PASSWORD = os.environ.get("PASSWORD") or "xa31sge" + +GET_USER = "http://www.rrys2020.com/user/login/getCurUserTopInfo" +AJAX_LOGIN = "http://www.rrys2020.com/User/Login/ajaxLogin" +RESOURCE = "http://www.rrys2020.com/resource/{id}" +SHARE_URL = "http://www.rrys2020.com/resource/ushare" +# http://got002.com/api/v1/static/resource/detail?code=9YxN91 +API_DATA = "http://got002.com/api/v1/static/resource/detail?code={code}" +ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" + + +def save_cookies(requests_cookiejar): + with open(COOKIES, 'wb') as f: + pickle.dump(requests_cookiejar, f) + + +def load_cookies(): + with contextlib.suppress(Exception): + with open(COOKIES, 'rb') as f: + return pickle.load(f) + + +def login(): + data = {"account": USERNAME, "password": PASSWORD, "remember": 1} + logging.info("login in as %s", data) + r = requests.post(AJAX_LOGIN, data=data, headers={"User-Agent": ua}) + resp = r.json() + if resp.get('status') == 1: + logging.info("Login success! %s", r.cookies) + save_cookies(r.cookies) + else: + logging.error("Login failed! %s", resp) + sys.exit(1) + r.close() + + +def is_cookie_valid() -> bool: + cookie = load_cookies() + r = requests.get(GET_USER, cookies=cookie, headers={"User-Agent": ua}) + return r.json()['status'] == 1 + + +def insert_db(data: dict): + try: + # INSERT INTO resource VALUE(id,url,name,expire,data) + sql = "INSERT INTO resource VALUE(%s,%s,%s,%s,%s,%s)" + con = pymysql.Connect(host="127.0.0.1", user="root", password="root", database="yyets", charset="utf8mb4") + cur = con.cursor() + info = data["data"]["info"] + id = info["id"] + url = RESOURCE.format(id=id) + name = '{cnname}\n{enname}\n{alias}'.format(cnname=info["cnname"], enname=info["enname"], + alias=info["aliasname"]) + expire = info["expire"] + date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(expire))) + d = json.dumps(data, ensure_ascii=False, indent=2) + + cur.execute(sql, (id, url, name, expire, date, d)) + con.commit() + except Exception as e: + logging.error("insert error %s", e) + logging.error(traceback.format_exc()) + + +def insert_error(rid, tb): + logging.warning("Logging error into database %s", rid) + sql = "INSERT INTO failure VALUE (%s,%s)" + con = pymysql.Connect(host="127.0.0.1", user="root", password="root", database="yyets", charset="utf8mb4") + cur = con.cursor() + cur.execute(sql, (rid, tb)) + con.commit() + + +def __load_sample(): + with open("sample.json") as f: + return json.load(f) + + +if __name__ == '__main__': + d = __load_sample() + insert_db(d) + insert_error(2331, "eeeeee") diff --git a/yyets/BagAndDrag/cfkv.py b/yyets/BagAndDrag/cfkv.py new file mode 100644 index 000000000..4b355a35c --- /dev/null +++ b/yyets/BagAndDrag/cfkv.py @@ -0,0 +1,88 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# BagAndDrag - cfkv.py +# 1/17/21 12:08 +# + +__author__ = "Benny " + +import json +import os + +import pymysql + +con = pymysql.Connect(host="127.0.0.1", user="root", password="root", charset="utf8mb4", database="yyets", + cursorclass=pymysql.cursors.DictCursor) +cur = con.cursor() + +SIZE = 3000 +cur.execute("select count(id) from resource") +count = cur.fetchall()[0]["count(id)"] +LIMIT = count // SIZE + 1 + + +def convert_kv(): + for i in range(1, LIMIT + 1): + SQL = "select id,data from resource limit %d offset %d" % (SIZE, (i - 1) * SIZE) + print(SQL) + cur = con.cursor() + cur.execute(SQL) + data = cur.fetchall() + write_data = [] + for datum in data: + write_data.append({ + "key": str(datum["id"]), # keys need to be str + "value": datum['data']} + ) + with open(f"kv/kv_data{i - 1}.json", "w") as f: + json.dump(write_data, f, ensure_ascii=False) + + +def verify_kv_data(): + files = os.listdir("kv") + rows = 0 + for file in files: + if file.startswith("kv_data"): + with open(f"kv/{file}") as f: + data = json.load(f) + rows += len(data) + print(rows, count) + # assert rows == count + + +def dump_index(): + cur = con.cursor() + indexes = {} + cur.execute("select name, id from resource") + data = cur.fetchall() + for datum in data: + name = datum["name"] + rid = datum["id"] + indexes[name] = rid + with open("kv/index.json", "w") as f: + write_data = [ + { + "key": "index", + "value": json.dumps(indexes, ensure_ascii=False) + } + ] + json.dump(write_data, f, ensure_ascii=False, indent=2) + + +def generate_command(): + files = os.listdir("kv") + tpl = "wrangler kv:bulk put --namespace-id=01d666b5ebae464193998bb074f672cf {filename}" + shell = [] + for file in files: + if file.endswith(".json"): + shell.append(tpl.format(filename=file) + "\n") + with open("kv/bulk.sh", "w") as f: + f.writelines(shell) + + +if __name__ == '__main__': + convert_kv() + verify_kv_data() + dump_index() + generate_command() diff --git a/yyets/BagAndDrag/convert_db.py b/yyets/BagAndDrag/convert_db.py new file mode 100644 index 000000000..29f3672f8 --- /dev/null +++ b/yyets/BagAndDrag/convert_db.py @@ -0,0 +1,102 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# BagAndDrag - convert_db.py +# 1/12/21 18:24 +# + +__author__ = "Benny " + +# convert to mongodb and con_sqlite + +import json +import sqlite3 +from typing import List + +import pymongo +import pymysql +import tqdm + +con_mysql = pymysql.Connect(host="127.0.0.1", user="root", password="root", charset="utf8mb4", database="yyets", + cursorclass=pymysql.cursors.DictCursor + ) + +mongo_client = pymongo.MongoClient() +con_sqlite = sqlite3.connect("yyets.db") + +SIZE = 2000 + + +def create_sqlite_database(): + sql = [""" + DROP TABLE IF EXISTS resource; + """, + """ + create table resource + ( + id int primary key, + url varchar(255) null unique , + name text null, + expire int null, + expire_cst varchar(255) null, + data longtext null + + ) + """ + ] + cur = con_sqlite.cursor() + for s in sql: + cur.execute(s) + con_sqlite.commit() + + +def clear_mongodb(): + mongo_client.drop_database("yyets") + + +def sqlite_insert(data: List[dict]): + cur = con_sqlite.cursor() + sql = "INSERT INTO resource VALUES(?,?,?,?,?,?)" + + cur.executemany(sql, [list(i.values()) for i in data]) + con_sqlite.commit() + + +def mongodb_insert(data: List[dict]): + db = mongo_client["yyets"] + col = db["resource"] + # deserialize data.data + inserted = [] + for i in data: + i["data"] = json.loads(i["data"]) + inserted.append(i) + col.insert_many(inserted) + + +def main(): + create_sqlite_database() + clear_mongodb() + + mysql_cur = con_mysql.cursor() + mysql_cur.execute("select count(id) from resource") + count = mysql_cur.fetchall()[0]["count(id)"] + + mysql_cur.execute("SELECT * FROM resource") + + with tqdm.tqdm(total=count * 2) as pbar: + while True: + data = mysql_cur.fetchmany(SIZE) + if data: + sqlite_insert(data) + pbar.update(SIZE) + mongodb_insert(data) + pbar.update(SIZE) + else: + break + + +if __name__ == '__main__': + main() + con_mysql.close() + con_sqlite.close() + mongo_client.close() diff --git a/yyets/BagAndDrag/create_db.py b/yyets/BagAndDrag/create_db.py new file mode 100644 index 000000000..203740f36 --- /dev/null +++ b/yyets/BagAndDrag/create_db.py @@ -0,0 +1,44 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# BagAndDrag - create_db.py +# 1/10/21 15:23 +# + +__author__ = "Benny " + +import pymysql + +con = pymysql.Connect(host="127.0.0.1", user="root", password="root", charset="utf8mb4") + +sql = [ + "CREATE DATABASE yyets CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;", + "use yyets", + """ + create table resource + ( + id int primary key, + url varchar(255) null unique , + name text null, + expire int null, + expire_cst varchar(255) null, + data longtext null + + )charset utf8mb4; + + + """, + + """ + create table failure + ( + id int primary key not null, + traceback longtext null + )charset utf8mb4; + """, + +] +cur = con.cursor() +for s in sql: + cur.execute(s) +con.close() diff --git a/yyets/BagAndDrag/drag.py b/yyets/BagAndDrag/drag.py new file mode 100644 index 000000000..5db2ee1b4 --- /dev/null +++ b/yyets/BagAndDrag/drag.py @@ -0,0 +1,60 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# BagAndDrag - drag.py +# 1/10/21 15:38 +# + +__author__ = "Benny " + +import argparse +import logging +import time +import traceback +from concurrent.futures import ThreadPoolExecutor + +import requests +from tqdm import tqdm + +from bag import (API_DATA, SHARE_URL, insert_db, insert_error, is_cookie_valid, + load_cookies, login) + +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(filename)s [%(levelname)s]: %(message)s') +s = requests.session() +ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" +s.headers.update({"User-Agent": ua}) + +parser = argparse.ArgumentParser() +# start_id, end_id, interval, concurrency +parser.add_argument("-s", help="Start id", type=int, default=1) +parser.add_argument("-e", help="End id", type=int, default=10) +parser.add_argument("-i", help="Interval", default=5, type=int) +parser.add_argument("-c", help="Concurrency", default=2, type=int) +args = parser.parse_args() + +executor = ThreadPoolExecutor(max_workers=args.c) + + +def get_api_json(resource_id): + try: + time.sleep(args.i) + if not is_cookie_valid(): + login() + logging.info("resource id is %s", resource_id) + res = s.post(SHARE_URL, data={"rid": resource_id}, cookies=load_cookies()).json() + share_code = res['data'].split('/')[-1] + logging.info("Share code is %s", share_code) + data = s.get(API_DATA.format(code=share_code)).json() + + insert_db(data) + except Exception: + insert_error(resource_id, traceback.format_exc()) + + +def main(): + total = args.e + 1 - args.s + list(tqdm(executor.map(get_api_json, range(args.s, args.e + 1)), total=total)) + + +if __name__ == '__main__': + main() diff --git a/yyets/BagAndDrag/sample.json b/yyets/BagAndDrag/sample.json new file mode 100644 index 000000000..c257c8527 --- /dev/null +++ b/yyets/BagAndDrag/sample.json @@ -0,0 +1,932 @@ +{ + "status": 1, + "info": "OK", + "data": { + "info": { + "id": 34812, + "cnname": "逃避可耻却有用", + "enname": "NIGERUHA HAJIDAGA YAKUNITATSU", + "aliasname": "逃避虽可耻但有用 / 雇佣妻子(港) / 月薪娇妻(台) / 逃跑是可耻但是有用 / 逃避虽可耻但很有用 / 逃避可耻但有用", + "channel": "tv", + "channel_cn": "日剧", + "area": "日本", + "show_type": "", + "expire": "1610288883", + "views": "0" + }, + "list": [ + { + "season_num": "101", + "season_cn": "单剧", + "items": { + "APP": [ + { + "itemid": "554385", + "episode": "12", + "name": "yyets://N=逃避可耻却有用 人类加油!新春特别篇!!.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ganbare.Jinrui.Shinshun.Special.SP.Chi_Jap.HDTVrip.1280X720.mp4|S=1505489064|H=b7aae378e30689eab20125e3bff3bac1d16a043e|", + "size": "", + "yyets_trans": 0, + "dateline": "1609622857", + "files": [ + { + "way": "102", + "way_cn": "百度云", + "address": "https://pan.baidu.com/s/149tnE0DWW68jU5nMbdFH3w", + "passwd": "x28a" + }, + { + "way": "115", + "way_cn": "微云", + "address": "https://share.weiyun.com/Y2ooLgRe", + "passwd": "" + } + ] + }, + { + "itemid": "298235", + "episode": "11", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep11.Final.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=733784950|H=c464b9e32a999b417324b53cd92d2fbfa89b597a|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298234", + "episode": "10", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep10.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=733930391|H=3c572ede5b41a2368d0f64071ea733592876344a|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298233", + "episode": "9", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep09.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=629132305|H=129e9e73d44ccf575afc70eecdd171732fc89329|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298232", + "episode": "8", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep08.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=629207765|H=47e4573d0d72fa7d2394a377f467d0b352fce08f|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298231", + "episode": "7", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep07.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=629119647|H=bb2ff32f008d3d2e58371f34b83292ddde7b51e8|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298230", + "episode": "6", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep06.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=629239487|H=83f72df4cd440c22c8c5ab94b559773eb472c46d|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298229", + "episode": "5", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep05.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=629262958|H=30bb5f65bff74ebe60d848edd4748b3c3e7e76c7|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298228", + "episode": "4", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep04.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=629037391|H=3274e38c1ba20493a0bf62d4f7c65bec651dc3d2|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298227", + "episode": "3", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep03.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=628416378|H=9ac2a719d66b3626011c2d3366367a9d56c20e26|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298226", + "episode": "2", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep02.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|S=629086728|H=d21a081cc6a32daa85310ca6aad81e378f0b736e|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + }, + { + "itemid": "298225", + "episode": "1", + "name": "yyets://N=逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep01.Chi_Jap.HDTVrip.1280X720-ZhuixinFanV2.mp4|S=733967923|H=fa1a42ee8066da0aa2b66ca470814489160ad214|", + "size": "", + "yyets_trans": 0, + "dateline": "1491891741", + "files": null + } + ], + "HR-HDTV": [ + { + "itemid": "554384", + "episode": "12", + "name": "逃避可耻却有用 人类加油!新春特别篇!!.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ganbare.Jinrui.Shinshun.Special.SP.Chi_Jap.HDTVrip.1280X720.mp4", + "size": "1.4GB", + "yyets_trans": 0, + "dateline": "1609622857", + "files": [ + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:4a6be139e640db770dbe266471e5cc81357c205e\u0026tr=http://tr.cili001.com:8070/announce\u0026tr=udp://p4p.arenabg.com:1337\u0026tr=udp://tracker.opentrackr.org:1337/announce\u0026tr=udp://open.demonii.com:1337", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "https://pan.baidu.com/s/149tnE0DWW68jU5nMbdFH3w", + "passwd": "x28a" + } + ] + }, + { + "itemid": "284973", + "episode": "11", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep11.Final.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "699.79MB", + "yyets_trans": 0, + "dateline": "1482282868", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep11.Final.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|733784950|51a18ead729a833f58264700b963113a|h=ncojnutlufhohfrl42xr7t2m6lqdwzjf|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:78930bae5efe391ee6bcc4c7dcfa237b05a493f0\u0026tr=http://tracker.openbittorrent.com/announce\u0026tr=udp://tracker.openbittorrent.com:80/announce\u0026tr=udp://tr.cili001.com:6666/announce\u0026tr=http://tracker.publicbt.com/announce\u0026tr=udp://open.demonii.com:1337\u0026tr=udp://tracker.opentrackr.org:1337/announce\u0026tr=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1jHAM8aq", + "passwd": "" + } + ] + }, + { + "itemid": "284430", + "episode": "10", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep10.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "699.93MB", + "yyets_trans": 0, + "dateline": "1481704074", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep10.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|733930391|15b6440bdd991d04a7ff6ba9d22e07d6|h=aodlfl4jgt7paj6v4vbolfjeho5d744t|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:1e50cd628d6829127534e5b9411d505efaea98f8\u0026tr=http://tracker.openbittorrent.com/announce\u0026tr=udp://tracker.openbittorrent.com:80/announce\u0026tr=udp://tr.cili001.com:6666/announce\u0026tr=http://tracker.publicbt.com/announce\u0026tr=udp://open.demonii.com:1337\u0026tr=udp://tracker.opentrackr.org:1337/announce\u0026tr=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1nvPP4db", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/DFw163629975", + "passwd": "" + } + ] + }, + { + "itemid": "283661", + "episode": "9", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep09.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "599.99MB", + "yyets_trans": 0, + "dateline": "1481098725", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep09.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|629132305|9d5152f4f21f1a1bf053ce33abd41ad5|h=mwd7hctmq5ziym7ugc2vptn6ieazici3|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:7d047723d5697c68361b05eb20da1c50d224425e\u0026tr=http://tracker.openbittorrent.com/announce\u0026tr=udp://tracker.openbittorrent.com:80/announce\u0026tr=udp://tr.cili001.com:6666/announce\u0026tr=http://tracker.publicbt.com/announce\u0026tr=udp://open.demonii.com:1337\u0026tr=udp://tracker.opentrackr.org:1337/announce\u0026tr=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1nu9tJM5", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/9K9162939027", + "passwd": "" + } + ] + }, + { + "itemid": "282897", + "episode": "8", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep08.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "600.06MB", + "yyets_trans": 0, + "dateline": "1480497463", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep08.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|629207765|1ba73a37879514eabd5ab2adf938be40|h=scdffp3xfc4e36fdhslh5p3sr76oh5a6|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:3ac5f75b4ad9e59f1a9752067eaa8ed9117a0931\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1kUGjaMb", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/Ula162377565", + "passwd": "" + } + ] + }, + { + "itemid": "282123", + "episode": "7", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep07.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "599.98MB", + "yyets_trans": 0, + "dateline": "1479886413", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep07.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|629119647|1565719ed7d08c10a7bac9a740e3bdda|h=5pho2gfiivlv3rkhrh7q4dvsietozz5r|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:b8283af2cdca0b1b751f716423611e4795fbee77\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1qYfaU3E", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/AtK161811663", + "passwd": "" + } + ] + }, + { + "itemid": "281371", + "episode": "6", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep06.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "600.09MB", + "yyets_trans": 0, + "dateline": "1479281049", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep06.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|629239487|9fc21b8ce21f0699f035404ad4baae6a|h=4yse343oq7vymc4qe6qtjyge2yfukf7q|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:0186d5447834e8051af6551faa4cfde44476aff5\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1slzXo3z", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/4ia161194698", + "passwd": "" + } + ] + }, + { + "itemid": "280656", + "episode": "5", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep05.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "600.11MB", + "yyets_trans": 0, + "dateline": "1478670362", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep05.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|629262958|ba41b35dcfec2716f90ab664048f7e09|h=yrdanlqzxpqrsldgoi5aobjqhldxm6vq|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:f52c3ba04703cd4298e7a6a09ee87f520f700f7b\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1c1Rl1BU", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/fMW160612929", + "passwd": "" + } + ] + }, + { + "itemid": "280068", + "episode": "4", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep04.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "599.9MB", + "yyets_trans": 0, + "dateline": "1478065113", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep04.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|629037391|07d320c3db4ad737e398cc7ba08c5216|h=yzfnqwlsvw2yloobhvkjf6yil6gc5kag|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:46ec914334a77f968d1c789b2f4a9fee8648435a\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1pKED1gv", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/cOt160028088", + "passwd": "" + } + ] + }, + { + "itemid": "279384", + "episode": "3", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep03.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "599.3MB", + "yyets_trans": 0, + "dateline": "1477483732", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep03.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|628416378|8fdc3bd1714d5dab282f5e0f7cdf25be|h=on5tdwesk4maldu4txop3eutgihi2yyu|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:157d2fc48b9efbe8f846643652a7c2f3d7f14989\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1ge3yfL5", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/Ov3159483996", + "passwd": "" + } + ] + }, + { + "itemid": "278649", + "episode": "2", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep02.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4", + "size": "599.94MB", + "yyets_trans": 0, + "dateline": "1476868310", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep02.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4|629086728|3812eb6a3ef37b3ead6ad9c3a26efa24|h=jogqyi4cauhueoppsgcgdnprpbu7om3g|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:1e5a9180c2be2aa6a1e932479dae91ce082ca22d\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1gfHRfnt", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/2Tb158731035", + "passwd": "" + } + ] + }, + { + "itemid": "277958", + "episode": "1", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep01.Chi_Jap.HDTVrip.1280X720-ZhuixinFanV2.mp4", + "size": "699.97MB", + "yyets_trans": 0, + "dateline": "1476238571", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep01.Chi_Jap.HDTVrip.1280X720-ZhuixinFanV2.mp4|733967923|7116a9dfb86fceed3f5b71604e48745f|h=ku7saiivihhc26hcbx4cjsplvkum62ho|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:2a331028531d0254a2b1f30e55edf99b6b716e49\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1hrOugEK", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/Dde158319090", + "passwd": "" + } + ] + } + ], + "MP4": [ + { + "itemid": "554387", + "episode": "12", + "name": "逃避可耻却有用 人类加油!新春特别篇!!.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ganbare.Jinrui.Shinshun.Special.SP.Chi_Jap.HDTVrip.1280X720.mp4", + "size": "1.4GB", + "yyets_trans": 0, + "dateline": "1609622857", + "files": [ + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:4a6be139e640db770dbe266471e5cc81357c205e\u0026tr=http://tr.cili001.com:8070/announce\u0026tr=udp://p4p.arenabg.com:1337\u0026tr=udp://tracker.opentrackr.org:1337/announce\u0026tr=udp://open.demonii.com:1337", + "passwd": "" + } + ] + }, + { + "itemid": "284971", + "episode": "11", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep11.Final.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "273.97MB", + "yyets_trans": 0, + "dateline": "1482265302", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep11.Final.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|287277713|c5e3cda7312d5c959b054ce1fe2d9648|h=yons5tync72soz55fil76fhasuyef2p5|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:e643ee71dcfc70ef5c768f4801937bee3474ab7c\u0026tr=http://tracker.openbittorrent.com/announce\u0026tr=udp://tracker.openbittorrent.com:80/announce\u0026tr=udp://tr.cili001.com:6666/announce\u0026tr=http://tracker.publicbt.com/announce\u0026tr=udp://open.demonii.com:1337\u0026tr=udp://tracker.opentrackr.org:1337/announce\u0026tr=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1nu7sDDJ", + "passwd": "" + } + ] + }, + { + "itemid": "284424", + "episode": "10", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep10.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "250.46MB", + "yyets_trans": 0, + "dateline": "1481694187", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep10.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|262629609|5ddda8755130865fd0b506b897dd3933|h=56ncsvze3suc4pszccf3frhbw24u454u|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:64c03d502e04f592fa7dc86ea9b13ccce52c53e5\u0026tr=http://tracker.openbittorrent.com/announce\u0026tr=udp://tracker.openbittorrent.com:80/announce\u0026tr=udp://tr.cili001.com:6666/announce\u0026tr=http://tracker.publicbt.com/announce\u0026tr=udp://open.demonii.com:1337\u0026tr=udp://tracker.opentrackr.org:1337/announce\u0026tr=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1cvdJye", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/mcp163620606", + "passwd": "" + } + ] + }, + { + "itemid": "283576", + "episode": "9", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep09.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "197.99MB", + "yyets_trans": 0, + "dateline": "1481091708", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep09.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|207609828|c3bf94d4f2e63139d7196f0297aa3882|h=lixjdvvffgkozmcbujjkeusdmx5uz6h4|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:f331279acc58e85d679418c7a11ebeefb4b02b42\u0026tr=http://tracker.openbittorrent.com/announce\u0026tr=udp://tracker.openbittorrent.com:80/announce\u0026tr=udp://tr.cili001.com:6666/announce\u0026tr=http://tracker.publicbt.com/announce\u0026tr=udp://open.demonii.com:1337\u0026tr=udp://tracker.opentrackr.org:1337/announce\u0026tr=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1miyMEbm", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/pU0162934266", + "passwd": "" + } + ] + }, + { + "itemid": "282890", + "episode": "8", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep08.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "193.81MB", + "yyets_trans": 0, + "dateline": "1480490078", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep08.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|203226404|0b2c976116eead8cee3a086d112ce738|h=b56bqcmprjcnkhwez5siuz2dzzvfljo4|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:2fc115a1a26ed12f8d2f540e9f8699b989193e04\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1kUIkQ7X", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/NyN162369651", + "passwd": "" + } + ] + }, + { + "itemid": "282120", + "episode": "7", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep07.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "205.1MB", + "yyets_trans": 0, + "dateline": "1479881031", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep07.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|215062889|ca0ffa335b3a595e41f71d3c8f277040|h=a65hvn5lzc5c6loc746tf3yexszea4eh|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:2d47c371eba87c52e7618a782b627a95fffed7b4\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1bo9Dwv1", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/8Tk161811666", + "passwd": "" + } + ] + }, + { + "itemid": "281368", + "episode": "6", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep06.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "225.23MB", + "yyets_trans": 0, + "dateline": "1479275434", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep06.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|236167107|5d1ca5827f3cf88cb39bf55df64e017b|h=k2bzvh2zpyljsq6b2g5xbtci3s63q5xy|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:043c0fe675011d2d6a1fcba243e130864e5ab461\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1qYQxCBi", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/aXo161179959", + "passwd": "" + } + ] + }, + { + "itemid": "280651", + "episode": "5", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep05.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "214.19MB", + "yyets_trans": 0, + "dateline": "1478665773", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep05.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|224589979|fc95f51dd77b80abcfc8d2be7955a0fe|h=wgrml4u6cey6iiyxgtx4ml6yrzqdx7ap|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:fb7c0b0c634af47bd5249873eecef81edaefbb5e\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1miLLJBi", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/zRI160610232", + "passwd": "" + } + ] + }, + { + "itemid": "280038", + "episode": "4", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep04.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "191.02MB", + "yyets_trans": 0, + "dateline": "1478060356", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep04.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|200298651|b9e1eef644649f12ef4684f92fdb0379|h=5cvm2z6kxke24ti7gqpgcwesvsfejkvr|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:4edc1466dea534e178214ed701731f6a376996b1\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1hrZk4cc", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/DuN160026666", + "passwd": "" + } + ] + }, + { + "itemid": "279352", + "episode": "3", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep03.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "230.2MB", + "yyets_trans": 0, + "dateline": "1477463950", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep03.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|241387154|923cd649dd5d48840a7f1c42d8ba3700|h=czevlgexn5os63rxulctjubd2u65ukf6|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:0f71cd2401057ef47cdc6ede0dcb1ebaec2e1618\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1gfPtce3", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/Xsc159444636", + "passwd": "" + } + ] + }, + { + "itemid": "278647", + "episode": "2", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep02.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4", + "size": "200.22MB", + "yyets_trans": 0, + "dateline": "1476861702", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep02.Chi_Jap.HDTVrip.852X480-ZhuixinFan.mp4|209947733|ed7626c02262f287b92f2472c5ed1a29|h=f5dwdur3fhjifrztundnr7psdhzzqihv|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:f5e244402d31013208dafea5e0231084cd4b3ed3\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1o8Rgrm6", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/POv158726721", + "passwd": "" + } + ] + }, + { + "itemid": "277951", + "episode": "1", + "name": "逃避可耻却有用.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep01.Chi_Jap.HDTVrip.852X480-ZhuixinFanV2.mp4", + "size": "304.92MB", + "yyets_trans": 0, + "dateline": "1476216447", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%80%83%E9%81%BF%E5%8F%AF%E8%80%BB%E5%8D%B4%E6%9C%89%E7%94%A8.NIGERUHA.HAJIDAGA.YAKUNITATSU.Ep01.Chi_Jap.HDTVrip.852X480-ZhuixinFanV2.mp4|319730163|56c0ff1e0c00f4ae8b2636d6fa0c20ee|h=teyixuxqajhhehxiupbozfst3r5b5ytk|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:e4dcb4f8fc0f99416107da0beb6697ce77b8b66b\u0026tr.1=http://tracker.openbittorrent.com/announce\u0026tr.2=udp://tracker.openbittorrent.com:80/announce\u0026tr.3=udp://tr.cili001.com:6666/announce\u0026tr.4=http://tracker.publicbt.com/announce\u0026tr.5=udp://open.demonii.com:1337\u0026tr.6=udp://tracker.opentrackr.org:1337/announce\u0026tr.7=http://tr.cili001.com:6666/announce", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "http://pan.baidu.com/s/1kUTD9cj", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "http://ZiMuZuUSTV.ctfile.com/fs/07i158318898", + "passwd": "" + } + ] + } + ] + }, + "formats": [ + "APP", + "HR-HDTV", + "MP4" + ] + } + ] + } +} \ No newline at end of file diff --git a/yyets/BagAndDrag/zimuxia/convert_db.py b/yyets/BagAndDrag/zimuxia/convert_db.py new file mode 100644 index 000000000..8e47f92ba --- /dev/null +++ b/yyets/BagAndDrag/zimuxia/convert_db.py @@ -0,0 +1,64 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# YYeTsBot - convert_db.py +# 2/5/21 13:46 +# + +__author__ = "Benny " + +# convert to mongodb and con_sqlite + +import pymongo +import pymysql +import tqdm +import json + +from typing import List + +con_mysql = pymysql.Connect(host="127.0.0.1", user="root", password="root", charset="utf8mb4", database="zimuxia", + cursorclass=pymysql.cursors.DictCursor + ) + +mongo_client = pymongo.MongoClient() + +SIZE = 2000 + + +def clear_mongodb(): + mongo_client.drop_database("zimuxia") + + +def clear_mysql(): + con_mysql.cursor().execute("truncate table resource;") + con_mysql.commit() + + +def mysql_insert(data: List[dict]): + sql = "INSERT INTO resource VALUES(NULL,%(url)s,%(name)s,NULL,NULL,%(data)s)" + cur = con_mysql.cursor() + for i in data: + cur.execute(sql, i) + con_mysql.commit() + + +def mongodb_insert(data: List[dict]): + db = mongo_client["zimuxia"] + col = db["resource"] + col.insert_many(data) + + +def main(): + clear_mongodb() + clear_mysql() + with open("result.json") as f: + data = json.load(f) + # [{"url": "https://www.zimuxia.cn/portfolio/%e6%888b%e5%8f%8b", "name": "我家的女儿交不到男朋友", "data":""}] + mysql_insert(data) + mongodb_insert(data) + + +if __name__ == '__main__': + main() + con_mysql.close() + mongo_client.close() diff --git a/yyets/BagAndDrag/zimuxia/zimuxia.py b/yyets/BagAndDrag/zimuxia/zimuxia.py new file mode 100644 index 000000000..abbafa5a6 --- /dev/null +++ b/yyets/BagAndDrag/zimuxia/zimuxia.py @@ -0,0 +1,57 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# YYeTsBot - zimuxia.py +# 2/5/21 12:44 +# + +__author__ = "Benny " + +import requests +import random +import time +import json +from bs4 import BeautifulSoup +from urllib.parse import quote, unquote +import tqdm +import logging + +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(filename)s [%(levelname)s]: %(message)s') + +list_url = "https://www.zimuxia.cn/%e6%88%91%e4%bb%ac%e7%9a%84%e4%bd%9c%e5%93%81?set={}" +ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" + +s = requests.session() +s.headers.update({"User-Agent": ua}) + +data = [] + + +def get_list(): + for index in tqdm.trange(1, 89): + time.sleep(random.random()) + url = list_url.format(index) + list_html = s.get(url).text + get_episode(list_html) + + +def get_episode(html_text): + soup = BeautifulSoup(html_text, 'html.parser') + episodes = soup.find_all("div", class_="pg-item") + + for block in episodes: + url = block.a['href'] + name = unquote(url).split("https://www.zimuxia.cn/portfolio/")[1] + logging.info("fetching %s", name) + t = {"url": url, "name": name, "data": s.get(url).text} + data.append(t) + + +def write_json(): + with open("result.json", "w") as f: + json.dump(data, f, ensure_ascii=False, indent=4) + + +if __name__ == '__main__': + get_list() + write_json() diff --git a/yyets/__init__.py b/yyets/__init__.py new file mode 100644 index 000000000..dc10429e6 --- /dev/null +++ b/yyets/__init__.py @@ -0,0 +1,63 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# YYeTsBot - __init__.py +# 9/21/21 18:09 +# + +__author__ = "Benny " + +import logging + +import requests + +API = "https://yyets.click/api/resource?" + +logging.basicConfig( + level=logging.INFO, + format="[%(asctime)s %(filename)s:%(lineno)d %(levelname).1s] %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", +) + + +class Resource: + def __init__(self): + self.enname = None + self.cnname = None + + def __str__(self): + return f"{self.cnname} - {self.enname}" + + +class YYeTs: + def __init__(self, keyword: "str"): + self.result = [] + self.keyword = keyword + self.search_api = f"{API}keyword={self.keyword}" + self.resource_api = f"{API}id=%s" + self.search() + + def search(self): + data = requests.get(self.search_api).json() + for info in data["data"]: + r = Resource() + setattr(r, "list", self.fetch(info)) + for k, v in info.items(): + setattr(r, k, v) + self.result.append(r) + + def fetch(self, info): + rid = info["id"] + url = self.resource_api % rid + headers = {"Referer": url} + logging.info("Fetching %s...%s", info["cnname"], url) + return requests.get(url, headers=headers).json()["data"]["list"] + + def __str__(self): + return f"{self.keyword} - {self.search_api}" + + +if __name__ == "__main__": + ins = YYeTs("逃避可耻") + for i in ins.result: + print(i) diff --git a/yyets/healthcheck/check.py b/yyets/healthcheck/check.py new file mode 100644 index 000000000..a68ee7648 --- /dev/null +++ b/yyets/healthcheck/check.py @@ -0,0 +1,85 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# YYeTsBot - check.py +# 1/22/21 16:36 +# + +__author__ = "Benny " + +import logging +import os + +import requests +from apscheduler.schedulers.asyncio import AsyncIOScheduler +from telethon import TelegramClient, events + +logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(filename)s [%(levelname)s]: %(message)s") +logging.getLogger("apscheduler.executors.default").propagate = False +api_id = int(os.environ.get("API_ID") or "3") +api_hash = os.environ.get("API_HASH") or "4" +bot_name = os.environ.get("BOT_NAME") or "yyets_bot" +bot_token = os.environ.get("BOT_token") or "123" + +client = TelegramClient( + "client-hc", api_id, api_hash, device_model="Benny-health-check", system_version="89", app_version="1.0.0" +) +check_status = [] + + +@client.on(events.NewMessage(incoming=True, pattern="(?i).*欢迎使用,直接发送想要的剧集标题给我就可以了.*", from_users=bot_name)) +async def my_event_handler(event): + logging.info("Okay it's working %s", event) + check_status.clear() + + +async def send_health_check(): + if check_status: + # restart it + await bot_warning() + else: + await client.send_message(bot_name, "/start") + check_status.append("check") + + +async def bot_warning(): + logging.warning("Bot seems to be down. Restarting now....") + message = "Bot is down!!!" + url = f"https://api.telegram.org/bot{bot_token}/sendMessage?chat_id=260260121&text={message}" + resp = requests.get(url).json() + logging.warning(resp) + + +async def website_check(): + home = "https://yyets.click/" + top = "https://yyets.click/api/top" + message = "" + try: + resp1 = requests.get(home) + resp2 = requests.get(top) + except Exception as e: + message += f"Website is down. Requests error:{e}\n" + resp1 = resp2 = "" + + if getattr(resp1, "status_code", 0) != 200: + content = getattr(resp1, "content", None) + message += f"Website home is down!!! {content}\n" + if getattr(resp2, "status_code", 0) != 200: + content = getattr(resp1, "content", None) + message += f"Website top is down!!! {content}\n" + if message: + url = f"https://api.telegram.org/bot{bot_token}/sendMessage?chat_id=260260121&text={message}" + resp = requests.get(url).json() + logging.error(resp) + logging.error(message) + else: + logging.info("It's working home: %s bytes; top: %s bytes", len(resp1.content), len(resp2.content)) + + +if __name__ == "__main__": + scheduler = AsyncIOScheduler() + scheduler.add_job(send_health_check, "interval", seconds=300) + scheduler.add_job(website_check, "interval", seconds=60) + scheduler.start() + client.start() + client.run_until_disconnected() diff --git a/yyets/healthcheck/restart_service.py b/yyets/healthcheck/restart_service.py new file mode 100644 index 000000000..bc5055478 --- /dev/null +++ b/yyets/healthcheck/restart_service.py @@ -0,0 +1,32 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# untitled - restart_service.py +# 9/18/21 11:54 +# + +__author__ = "Benny " + +import logging.handlers +import subprocess + +import requests + +filename = "yyets_restart.log" +formatter = logging.Formatter("[%(asctime)s %(filename)s:%(lineno)d %(levelname).1s] %(message)s", "%Y-%m-%d %H:%M:%S") +handler = logging.handlers.RotatingFileHandler(filename, maxBytes=1024 * 1024 * 100) +handler.setFormatter(formatter) +logger = logging.getLogger() +logger.addHandler(handler) +logger.setLevel(logging.INFO) + +URL = "https://yyets.click/api/top" +# URL = "https://www.baidu.com/" +req = requests.get(URL) + +if req.status_code != 200: + logger.error("error! %s", req) + cmd = "/usr/bin/docker-compose -f /home/WebsiteRunner/docker-compose.yml restart mongo yyets-web nginx" + subprocess.check_output(cmd.split()) +else: + logger.info("YYeTs is running %s", req) diff --git a/yyets/management/format.json b/yyets/management/format.json new file mode 100644 index 000000000..a07aa168c --- /dev/null +++ b/yyets/management/format.json @@ -0,0 +1,65 @@ +{ + "status": 1, + "info": "OK", + "data": { + "info": { + "id": 99999, + "cnname": "中文名", + "enname": "英文名", + "aliasname": "别名", + "channel": "movie/tv", + "channel_cn": "电影/美剧", + "area": "法国", + "show_type": "", + "expire": "1610401225", + "views": 0 + }, + "list": [ + { + "season_num": "0", + "season_cn": "正片", + "items": { + "MP4": [ + { + "itemid": "428324", + "episode": "0", + "name": "name", + "size": "1.43GB", + "yyets_trans": 0, + "dateline": "1565351112", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "", + "passwd": "" + }, + { + "way": "9", + "way_cn": "网盘", + "address": "", + "passwd": "" + }, + { + "way": "115", + "way_cn": "微云", + "address": "", + "passwd": "" + } + ] + } + ] + }, + "formats": [ + "MP4" + ] + } + ] + } +} \ No newline at end of file diff --git a/yyets/management/ui.py b/yyets/management/ui.py new file mode 100644 index 000000000..726609e36 --- /dev/null +++ b/yyets/management/ui.py @@ -0,0 +1,128 @@ +#!/usr/local/bin/python3 +# coding: utf-8 + +# YYeTsBot - ui.py +# 2/8/21 17:55 +# + +__author__ = "Benny " + +import json +import time + +import PySimpleGUI as sg + +# All the stuff inside your window. +channel_map = { + "movie": "电影", + "tv": "电视剧" +} + +complete = { + "status": 1, + "info": "OK", + "data": { + "info": {}, + "list": [ + { + "season_num": "1", + "season_cn": "第一季", + "items": {}, + "formats": [ + "MP4" + ] + } + ] + } +} + +dl = { + "itemid": "", + "episode": "0", + "name": "", + "size": "", + "yyets_trans": 0, + "dateline": str(int(time.time())), + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "", + "passwd": "" + }, + { + "way": "9", + "way_cn": "百度网盘", + "address": "", + "passwd": "" + }, + { + "way": "115", + "way_cn": "115网盘", + "address": "", + "passwd": "" + } + ] +} +item_structure = { + "MP4": [ + ] +} + + +def get_value(): + for i in range(1, int(episode_input[1].get()) + 1): + d = dl.copy() + d["episode"] = str(i) + d["name"] = "{}第{}集".format(cn_input[1].get(), i) + item_structure["MP4"].append(d) + + info_structure = { + "id": 0, + "cnname": cn_input[1].get(), + "enname": en_input[1].get(), + "aliasname": alias_input[1].get(), + "channel": channel_input[1].get(), + "channel_cn": channel_map.get(channel_input[1].get(), ""), + "area": area_input[1].get(), + "show_type": "", + "expire": "1610401225", + "views": 0 + } + + complete["data"]["info"] = info_structure + complete["data"]["list"][0]["items"] = item_structure + + with open("sample.json", "w") as f: + json.dump(complete, f, indent=4, ensure_ascii=False) + + +cn_input = [sg.Text('cn name'), sg.InputText()] +en_input = [sg.Text('en name'), sg.InputText()] +alias_input = [sg.Text('alias name'), sg.InputText()] +channel_input = [sg.Text('channel'), sg.Combo(['movie', 'tv'], "tv")] +area_input = [sg.Text('area'), sg.Combo(['美国', '日本', '韩国', '英国'], "美国")] +episode_input = [sg.Text('episode count'), sg.InputText()] + +layout = [cn_input, en_input, alias_input, channel_input, area_input, episode_input, + [sg.Button('Ok')] + ] + +# Create the Window +window = sg.Window('Management', layout) +# Event Loop to process "events" and get the "values" of the inputs +while True: + event, values = window.read() + if event == sg.WIN_CLOSED or event == 'Cancel': # if user closes window or clicks cancel + break + if event == "Ok": + print('You entered ', values[0], values[1], values[2]) + get_value() + break +window.close() diff --git a/yyets/worker/.cargo-ok b/yyets/worker/.cargo-ok new file mode 100644 index 000000000..e69de29bb diff --git a/yyets/worker/README.md b/yyets/worker/README.md new file mode 100644 index 000000000..8d166f28b --- /dev/null +++ b/yyets/worker/README.md @@ -0,0 +1,27 @@ +# Cloudflare Worker部署方式 +**This worker is deprecated. No further updates from now on.** + +## 1. 安装wrangler等工具 +[Cloudflare Docs](https://developers.cloudflare.com/workers/cli-wrangler) +## 2. 导入数据到MySQL + +## 3. 生成KV数据 +参考 `BagAndDrag/cfkv.py` + +## 4. 导入数据 +```shell +cd kv_data +bash bulk.sh +``` +**注意,Cloudflare KV免费版有每日1000条写入的限制** + +## 4. 配置代码 +* 修改`worker/public/js/search.js`中的`baseURL`为你的URL +* 如绑定自定义域名,还需要修改`worker/workers-site/index.js`中的`Access-Control-Allow-Origin`为你的域名 + +## 5. 发布到Worker Site +配置 `wrangler.toml`,修改`account_id`, `kv_namespaces`等,然后: +```shell +wrangler publish +``` +就可以了。 \ No newline at end of file diff --git a/yyets/worker/public/404.html b/yyets/worker/public/404.html new file mode 100644 index 000000000..b3bed6547 --- /dev/null +++ b/yyets/worker/public/404.html @@ -0,0 +1,40 @@ + + + + + + + + + +
+

404 Not Found

+

Oh dang! We couldn't find that page.

+ a sad crab is unable to unable to lasso a paper airplane. 404 not found. +
+ + diff --git a/yyets/worker/public/css/3rd/animate.css b/yyets/worker/public/css/3rd/animate.css new file mode 100644 index 000000000..7148b5765 --- /dev/null +++ b/yyets/worker/public/css/3rd/animate.css @@ -0,0 +1,3340 @@ +@charset "UTF-8"; + +/*! + * animate.css -http://daneden.me/animate + * Version - 3.5.1 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2016 Daniel Eden + */ + +.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.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +.animated.flipOutX, +.animated.flipOutY, +.animated.bounceIn, +.animated.bounceOut { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounce { + from, 20%, 53%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -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.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -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(.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: 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(.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: 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(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .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(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .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: none; + transform: none; + } + + 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: none; + transform: none; + } +} + +@keyframes wobble { + from { + -webkit-transform: none; + transform: none; + } + + 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: none; + transform: none; + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes jello { + from, 11.1%, to { + -webkit-transform: none; + transform: none; + } + + 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: none; + transform: none; + } + + 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 bounceIn { + from, 20%, 40%, 60%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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: 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.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn; +} + +@-webkit-keyframes bounceInDown { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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: none; + transform: none; + } +} + +@keyframes bounceInDown { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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: none; + transform: none; + } +} + +.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.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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: none; + transform: none; + } +} + +@keyframes bounceInLeft { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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: none; + transform: none; + } +} + +.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.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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: none; + transform: none; + } +} + +@keyframes bounceInRight { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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: none; + transform: none; + } +} + +.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.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 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(.9, .9, .9); + transform: scale3d(.9, .9, .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(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .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(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +.bounceOut { + -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: none; + transform: none; + } +} + +@keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.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: none; + transform: none; + } +} + +@keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.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: none; + transform: none; + } +} + +@keyframes fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.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: none; + transform: none; + } +} + +@keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.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: none; + transform: none; + } +} + +@keyframes fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.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: none; + transform: none; + } +} + +@keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.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: none; + transform: none; + } +} + +@keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.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: none; + transform: none; + } +} + +@keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.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: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -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) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) 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) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) 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(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) 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) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) 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(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -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-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-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); + opacity: 1; + } + + to { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@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); + opacity: 1; + } + + to { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.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: none; + transform: none; + 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: none; + transform: none; + 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: none; + transform: none; + 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: none; + transform: none; + 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: none; + transform: none; + 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: none; + transform: none; + 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: none; + transform: none; + 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: none; + transform: none; + 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: none; + transform: none; + 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: none; + transform: none; + 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-name: hinge; + animation-name: hinge; +} + +/* 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: none; + transform: none; + } +} + +@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: none; + transform: none; + } +} + +.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(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + to { + opacity: 0; + } +} + +@keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + to { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .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.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .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.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.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(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.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(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .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.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .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.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 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; +} diff --git a/yyets/worker/public/css/3rd/icons.css b/yyets/worker/public/css/3rd/icons.css new file mode 100644 index 000000000..7642e7471 --- /dev/null +++ b/yyets/worker/public/css/3rd/icons.css @@ -0,0 +1,3 @@ +@charset "utf-8"; +@IMPORT url("../font-awesome.min.css"); + diff --git a/yyets/worker/public/css/3rd/widgets.css b/yyets/worker/public/css/3rd/widgets.css new file mode 100644 index 000000000..eb4c06c98 --- /dev/null +++ b/yyets/worker/public/css/3rd/widgets.css @@ -0,0 +1,3 @@ +@charset "utf-8"; + + diff --git a/yyets/worker/public/css/aYin.css b/yyets/worker/public/css/aYin.css new file mode 100644 index 000000000..884f536da --- /dev/null +++ b/yyets/worker/public/css/aYin.css @@ -0,0 +1,9 @@ +@charset "utf-8"; + +/*webkit核心浏览器滚动条设置*/ +/* +::-webkit-scrollbar{width: 10px;height:10px;} +::-webkit-scrollbar-track{border-radius: 0px;background: rgba(0,0,0,0.1);} +::-webkit-scrollbar-thumb{border-radius: 5px;background: rgba(0,0,0,0.2);} +::-webkit-scrollbar-thumb:hover{border-radius: 5px;background: rgba(0,0,0,0.4);} +*/ diff --git a/yyets/worker/public/css/bootstrap.min.css b/yyets/worker/public/css/bootstrap.min.css new file mode 100644 index 000000000..cd1c616ad --- /dev/null +++ b/yyets/worker/public/css/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.4 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */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}select{background:#fff!important}.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:"\2a"}.glyphicon-plus:before{content:"\2b"}.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:thin dotted;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:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}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:thin dotted;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[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],input[type=time],input[type=datetime-local],input[type=month]{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}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:5px 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}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:10px 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}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.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:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.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:thin dotted;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{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,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.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,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.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,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.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,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.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,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.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,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-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 solid}.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-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-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-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-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{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{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:2;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}.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}.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:baseline;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:30px 15px;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{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.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-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{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.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{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.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{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.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{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.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{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.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{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-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{min-height:16.43px;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-weight:400;line-height:1.4;filter:alpha(opacity=0);opacity:0}.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;text-decoration:none;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-weight:400;line-height:1.42857143;text-align:left;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)}.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:1000;perspective:1000}.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);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}.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;margin-top:-10px;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:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.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,.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,.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}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}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}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}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}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}} \ No newline at end of file diff --git a/yyets/worker/public/css/data.json b/yyets/worker/public/css/data.json new file mode 100644 index 000000000..1c48d1351 --- /dev/null +++ b/yyets/worker/public/css/data.json @@ -0,0 +1,184 @@ +{ + "status": 1, + "info": "OK", + "data": { + "info": { + "id": 10060, + "cnname": "铁皮人", + "enname": "Tin Man", + "aliasname": "", + "channel": "tv", + "channel_cn": "美剧", + "area": "美国", + "show_type": "", + "expire": "1610371223", + "views": "0" + }, + "list": [ + { + "season_num": "102", + "season_cn": "MINI剧", + "items": { + "APP": [ + { + "itemid": "323953", + "episode": "3", + "name": "yyets://N=铁皮人.Tin.Man.Part3.中英字幕.BD.720p-人人影视.mp4|S=1327396629|H=1dd3a8b0ab765f4fd77f62e15b6635b932f5f9f7|", + "size": "", + "yyets_trans": 0, + "dateline": "1493450710", + "files": [ + { + "way": "102", + "way_cn": "百度云", + "address": "https://pan.baidu.com/s/1rbm_tYCCWWj-Mn7GBwCP_g", + "passwd": "" + }, + { + "way": "115", + "way_cn": "微云", + "address": "http://url.cn/5ZsPVGj", + "passwd": "" + } + ] + }, + { + "itemid": "323952", + "episode": "2", + "name": "yyets://N=铁皮人.Tin.Man.Part2.中英字幕.BD.720p-人人影视.mp4|S=1315079304|H=68edc943d6d9c67b0727c79e9b8531170559d459|", + "size": "", + "yyets_trans": 0, + "dateline": "1493450699", + "files": [ + { + "way": "102", + "way_cn": "百度云", + "address": "https://pan.baidu.com/s/1rbm_tYCCWWj-Mn7GBwCP_g", + "passwd": "" + }, + { + "way": "115", + "way_cn": "微云", + "address": "http://url.cn/5ZsPVGj", + "passwd": "" + } + ] + }, + { + "itemid": "323951", + "episode": "1", + "name": "yyets://N=铁皮人.Tin.Man.Part1.中英字幕.BD.720p-人人影视.mp4|S=1372733541|H=657ad3f2efd48057f5bea2e0ab111d9f429a785c|", + "size": "", + "yyets_trans": 0, + "dateline": "1493450684", + "files": [ + { + "way": "102", + "way_cn": "百度云", + "address": "https://pan.baidu.com/s/1rbm_tYCCWWj-Mn7GBwCP_g", + "passwd": "" + }, + { + "way": "115", + "way_cn": "微云", + "address": "http://url.cn/5ZsPVGj", + "passwd": "" + } + ] + } + ], + "MP4": [ + { + "itemid": "429977", + "episode": "3", + "name": "铁皮人.Tin.Man.Part3.中英字幕.BD.720p-人人影视.mp4", + "size": "1.24GB", + "yyets_trans": 0, + "dateline": "1566559500", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%93%81%E7%9A%AE%E4%BA%BA.Tin.Man.Part3.%E4%B8%AD%E8%8B%B1%E5%AD%97%E5%B9%95.BD.720p-%E4%BA%BA%E4%BA%BA%E5%BD%B1%E8%A7%86.mp4|1327396629|23b315a8d9e4a3f711494ccae4fc766e|h=mccx743p3l67dy7fqsrrqfhu4i6q3ohs|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:fd23ad303b7121f91f56ecfd09faf0595a83c63e&tr=udp://9.rarbg.to:2710/announce&tr=udp://9.rarbg.me:2710/announce&tr=http://tr.cili001.com:8070/announce&tr=http://tracker.trackerfix.com:80/announce&tr=udp://open.demonii.com:1337&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://p4p.arenabg.com:1337&tr=wss://tracker.openwebtorrent.com&tr=wss://tracker.btorrent.xyz&tr=wss://tracker.fastcast.nz", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "https://ZiMuZuUSTV.ctfile.com/fs/1939455-394367733", + "passwd": "" + } + ] + }, + { + "itemid": "429976", + "episode": "2", + "name": "铁皮人.Tin.Man.Part2.中英字幕.BD.720p-人人影视.mp4", + "size": "1.22GB", + "yyets_trans": 0, + "dateline": "1566559500", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%93%81%E7%9A%AE%E4%BA%BA.Tin.Man.Part2.%E4%B8%AD%E8%8B%B1%E5%AD%97%E5%B9%95.BD.720p-%E4%BA%BA%E4%BA%BA%E5%BD%B1%E8%A7%86.mp4|1315079304|7c602e1f24fd9f1fa65924eee0c4fd7d|h=mzg633nkorz7kmq53z2ecccnkchdle4m|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:a40429e64c8e1a300f502045ddda8c74d45bd6a0&tr=udp://9.rarbg.to:2710/announce&tr=udp://9.rarbg.me:2710/announce&tr=http://tr.cili001.com:8070/announce&tr=http://tracker.trackerfix.com:80/announce&tr=udp://open.demonii.com:1337&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://p4p.arenabg.com:1337&tr=wss://tracker.openwebtorrent.com&tr=wss://tracker.btorrent.xyz&tr=wss://tracker.fastcast.nz", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "https://ZiMuZuUSTV.ctfile.com/fs/1939455-394335534", + "passwd": "" + } + ] + }, + { + "itemid": "429975", + "episode": "1", + "name": "铁皮人.Tin.Man.Part1.中英字幕.BD.720p-人人影视.mp4", + "size": "1.28GB", + "yyets_trans": 0, + "dateline": "1566559500", + "files": [ + { + "way": "1", + "way_cn": "电驴", + "address": "ed2k://|file|%E9%93%81%E7%9A%AE%E4%BA%BA.Tin.Man.Part1.%E4%B8%AD%E8%8B%B1%E5%AD%97%E5%B9%95.BD.720p-%E4%BA%BA%E4%BA%BA%E5%BD%B1%E8%A7%86.mp4|1372733541|58587c085040239c982ab8d7ff485515|h=nbd6y4jgdnwmh6ezarm2cfxiy5aw3qtp|/", + "passwd": "" + }, + { + "way": "2", + "way_cn": "磁力", + "address": "magnet:?xt=urn:btih:f2798104a57a380c0db44940ed180fad16930ede&tr=udp://9.rarbg.to:2710/announce&tr=udp://9.rarbg.me:2710/announce&tr=http://tr.cili001.com:8070/announce&tr=http://tracker.trackerfix.com:80/announce&tr=udp://open.demonii.com:1337&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://p4p.arenabg.com:1337&tr=wss://tracker.openwebtorrent.com&tr=wss://tracker.btorrent.xyz&tr=wss://tracker.fastcast.nz", + "passwd": "" + }, + { + "way": "12", + "way_cn": "诚通网盘", + "address": "https://ZiMuZuUSTV.ctfile.com/fs/1939455-394335532", + "passwd": "" + } + ] + } + ] + }, + "formats": [ + "APP", + "MP4" + ] + } + ] + } +} \ No newline at end of file diff --git a/yyets/worker/public/css/down-list-20180530.css b/yyets/worker/public/css/down-list-20180530.css new file mode 100644 index 000000000..cc3090194 --- /dev/null +++ b/yyets/worker/public/css/down-list-20180530.css @@ -0,0 +1,9686 @@ +@charset "utf-8"; +@IMPORT url("3rd/icons.css"); +@IMPORT url("3rd/animate.css"); +@IMPORT url("3rd/widgets.css"); + +html{font-size:14px;} +body { background:#fff; padding: 0;margin: 0; color:#666; font: 14px/150% "Lucida Grande", Lucida Sans Unicode, Hiragino Sans GB, WenQuanYi Micro Hei, Verdana, Aril, sans-serif;-webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased;} +ul{margin:0; padding:0;} +li{list-style: none;} +a{blr:expression(this.onFocus=this.blur()); cursor: pointer;text-decoration: none;} +a,input,button{outline:none!important;} +a:hover {text-decoration: none;} +embed{display:none;} +.iframe-wrap{position: absolute; left:-10000px; top:-10000px;} +.down-img{background-image: url(../img/grid16.png); } +/* +code by ayin86@163.com +css&js分别有1323种颜色 +chsname=["红","红橙","橙","橙黄","黄","黄草","草绿","草绿-绿","绿","绿-水绿","水绿","水绿-青","青","青蓝","蓝","蓝靛","靛","靛紫","紫","紫粉","粉","粉-洋红","洋红","洋红-红","灰"]; +engname=["red","red-orange","orange","orange-yellow","yellow","yellow-chartreuse","chartreuse","chartreuse-green","green","green-aquamarine","aquamarine","aquamarine-cyan","cyan","cyan-blue","blue","blue-indigo","indigo","indigo-purple","purple","purple-pink","pink","pink-violetred","violetred","violetred-red","gray"]; +colors=["re","ro","or","oy","ye","yc","ch","cg","gr","ga","aq","ac","cy","cb","bl","bi","in","ip","pu","pp","pi","pv","vi","vr","gy"]; +*/ +.bg-re-l1 { + background-color: #fad1d1 !important; +} +.bg-re-l2 { + background-color: #f5a3a3 !important; +} +.bg-re-l3 { + background-color: #f07575 !important; +} +.bg-re-l4 { + background-color: #eb4747 !important; +} +.bg-re-l5 { + background-color: #e61919 !important; +} +.bg-re-l6 { + background-color: #b81414 !important; +} +.bg-re-l7 { + background-color: #8a0f0f !important; +} +.bg-re-l8 { + background-color: #5c0a0a !important; +} +.bg-re-l9 { + background-color: #2e0505 !important; +} +.bg-re-m1 { + background-color: #f2d9d9 !important; +} +.bg-re-m2 { + background-color: #e6b3b3 !important; +} +.bg-re-m3 { + background-color: #d98c8c !important; +} +.bg-re-m4 { + background-color: #cc6666 !important; +} +.bg-re-m5 { + background-color: #bf4040 !important; +} +.bg-re-m6 { + background-color: #993333 !important; +} +.bg-re-m7 { + background-color: #732626 !important; +} +.bg-re-m8 { + background-color: #4d1919 !important; +} +.bg-re-m9 { + background-color: #260d0d !important; +} +.bg-re-d1 { + background-color: #ebe0e0 !important; +} +.bg-re-d2 { + background-color: #d6c2c2 !important; +} +.bg-re-d3 { + background-color: #c2a3a3 !important; +} +.bg-re-d4 { + background-color: #ad8585 !important; +} +.bg-re-d5 { + background-color: #996666 !important; +} +.bg-re-d6 { + background-color: #7a5252 !important; +} +.bg-re-d7 { + background-color: #5c3d3d !important; +} +.bg-re-d8 { + background-color: #3d2929 !important; +} +.bg-re-d9 { + background-color: #1f1414 !important; +} +.bg-re-l1 { + background-color: #fad1d1 !important; +} +.bg-re-l2 { + background-color: #f5a3a3 !important; +} +.bg-re-l3 { + background-color: #f07575 !important; +} +.bg-re-l4 { + background-color: #eb4747 !important; +} +.bg-re-l5 { + background-color: #e61919 !important; +} +.bg-re-l6 { + background-color: #b81414 !important; +} +.bg-re-l7 { + background-color: #8a0f0f !important; +} +.bg-re-l8 { + background-color: #5c0a0a !important; +} +.bg-re-l9 { + background-color: #2e0505 !important; +} +.bg-re-m1 { + background-color: #f2d9d9 !important; +} +.bg-re-m2 { + background-color: #e6b3b3 !important; +} +.bg-re-m3 { + background-color: #d98c8c !important; +} +.bg-re-m4 { + background-color: #cc6666 !important; +} +.bg-re-m5 { + background-color: #bf4040 !important; +} +.bg-re-m6 { + background-color: #993333 !important; +} +.bg-re-m7 { + background-color: #732626 !important; +} +.bg-re-m8 { + background-color: #4d1919 !important; +} +.bg-re-m9 { + background-color: #260d0d !important; +} +.bg-re-d1 { + background-color: #ebe0e0 !important; +} +.bg-re-d2 { + background-color: #d6c2c2 !important; +} +.bg-re-d3 { + background-color: #c2a3a3 !important; +} +.bg-re-d4 { + background-color: #ad8585 !important; +} +.bg-re-d5 { + background-color: #996666 !important; +} +.bg-re-d6 { + background-color: #7a5252 !important; +} +.bg-re-d7 { + background-color: #5c3d3d !important; +} +.bg-re-d8 { + background-color: #3d2929 !important; +} +.bg-re-d9 { + background-color: #1f1414 !important; +} +.bg-ro-l1 { + background-color: #fadbd1 !important; +} +.bg-ro-l2 { + background-color: #f5b8a3 !important; +} +.bg-ro-l3 { + background-color: #f09475 !important; +} +.bg-ro-l4 { + background-color: #eb7047 !important; +} +.bg-ro-l5 { + background-color: #e64d19 !important; +} +.bg-ro-l6 { + background-color: #b83d14 !important; +} +.bg-ro-l7 { + background-color: #8a2e0f !important; +} +.bg-ro-l8 { + background-color: #5c1f0a !important; +} +.bg-ro-l9 { + background-color: #2e0f05 !important; +} +.bg-ro-m1 { + background-color: #f2dfd9 !important; +} +.bg-ro-m2 { + background-color: #e6bfb3 !important; +} +.bg-ro-m3 { + background-color: #d99f8c !important; +} +.bg-ro-m4 { + background-color: #cc7f66 !important; +} +.bg-ro-m5 { + background-color: #bf6040 !important; +} +.bg-ro-m6 { + background-color: #994d33 !important; +} +.bg-ro-m7 { + background-color: #733926 !important; +} +.bg-ro-m8 { + background-color: #4d2619 !important; +} +.bg-ro-m9 { + background-color: #26130d !important; +} +.bg-ro-d1 { + background-color: #ebe3e0 !important; +} +.bg-ro-d2 { + background-color: #d6c7c2 !important; +} +.bg-ro-d3 { + background-color: #c2aba3 !important; +} +.bg-ro-d4 { + background-color: #ad8f85 !important; +} +.bg-ro-d5 { + background-color: #997366 !important; +} +.bg-ro-d6 { + background-color: #7a5c52 !important; +} +.bg-ro-d7 { + background-color: #5c453d !important; +} +.bg-ro-d8 { + background-color: #3d2e29 !important; +} +.bg-ro-d9 { + background-color: #1f1714 !important; +} +.bg-or-l1 { + background-color: #fae6d1 !important; +} +.bg-or-l2 { + background-color: #f5cca3 !important; +} +.bg-or-l3 { + background-color: #f0b375 !important; +} +.bg-or-l4 { + background-color: #eb9947 !important; +} +.bg-or-l5 { + background-color: #e68019 !important; +} +.bg-or-l6 { + background-color: #b86614 !important; +} +.bg-or-l7 { + background-color: #8a4d0f !important; +} +.bg-or-l8 { + background-color: #5c330a !important; +} +.bg-or-l9 { + background-color: #2e1905 !important; +} +.bg-or-m1 { + background-color: #f2e6d9 !important; +} +.bg-or-m2 { + background-color: #e6ccb3 !important; +} +.bg-or-m3 { + background-color: #d9b38c !important; +} +.bg-or-m4 { + background-color: #cc9966 !important; +} +.bg-or-m5 { + background-color: #bf8040 !important; +} +.bg-or-m6 { + background-color: #996633 !important; +} +.bg-or-m7 { + background-color: #734d26 !important; +} +.bg-or-m8 { + background-color: #4d3319 !important; +} +.bg-or-m9 { + background-color: #26190d !important; +} +.bg-or-d1 { + background-color: #ebe6e0 !important; +} +.bg-or-d2 { + background-color: #d6ccc2 !important; +} +.bg-or-d3 { + background-color: #c2b3a3 !important; +} +.bg-or-d4 { + background-color: #ad9985 !important; +} +.bg-or-d5 { + background-color: #998066 !important; +} +.bg-or-d6 { + background-color: #7a6652 !important; +} +.bg-or-d7 { + background-color: #5c4d3d !important; +} +.bg-or-d8 { + background-color: #3d3329 !important; +} +.bg-or-d9 { + background-color: #1f1914 !important; +} +.bg-oy-l1 { + background-color: #faf0d1 !important; +} +.bg-oy-l2 { + background-color: #f5e0a3 !important; +} +.bg-oy-l3 { + background-color: #f0d175 !important; +} +.bg-oy-l4 { + background-color: #ebc247 !important; +} +.bg-oy-l5 { + background-color: #e6b319 !important; +} +.bg-oy-l6 { + background-color: #b88f14 !important; +} +.bg-oy-l7 { + background-color: #8a6b0f !important; +} +.bg-oy-l8 { + background-color: #5c470a !important; +} +.bg-oy-l9 { + background-color: #2e2405 !important; +} +.bg-oy-m1 { + background-color: #f2ecd9 !important; +} +.bg-oy-m2 { + background-color: #e6d9b3 !important; +} +.bg-oy-m3 { + background-color: #d9c68c !important; +} +.bg-oy-m4 { + background-color: #ccb366 !important; +} +.bg-oy-m5 { + background-color: #bf9f40 !important; +} +.bg-oy-m6 { + background-color: #998033 !important; +} +.bg-oy-m7 { + background-color: #736026 !important; +} +.bg-oy-m8 { + background-color: #4d4019 !important; +} +.bg-oy-m9 { + background-color: #26200d !important; +} +.bg-oy-d1 { + background-color: #ebe8e0 !important; +} +.bg-oy-d2 { + background-color: #d6d1c2 !important; +} +.bg-oy-d3 { + background-color: #c2baa3 !important; +} +.bg-oy-d4 { + background-color: #ada385 !important; +} +.bg-oy-d5 { + background-color: #998c66 !important; +} +.bg-oy-d6 { + background-color: #7a7052 !important; +} +.bg-oy-d7 { + background-color: #5c543d !important; +} +.bg-oy-d8 { + background-color: #3d3829 !important; +} +.bg-oy-d9 { + background-color: #1f1c14 !important; +} +.bg-ye-l1 { + background-color: #fafad1 !important; +} +.bg-ye-l2 { + background-color: #f5f5a3 !important; +} +.bg-ye-l3 { + background-color: #f0f075 !important; +} +.bg-ye-l4 { + background-color: #ebeb47 !important; +} +.bg-ye-l5 { + background-color: #e5e619 !important; +} +.bg-ye-l6 { + background-color: #b8b814 !important; +} +.bg-ye-l7 { + background-color: #8a8a0f !important; +} +.bg-ye-l8 { + background-color: #5c5c0a !important; +} +.bg-ye-l9 { + background-color: #2e2e05 !important; +} +.bg-ye-m1 { + background-color: #f2f2d9 !important; +} +.bg-ye-m2 { + background-color: #e5e6b3 !important; +} +.bg-ye-m3 { + background-color: #d9d98c !important; +} +.bg-ye-m4 { + background-color: #cccc66 !important; +} +.bg-ye-m5 { + background-color: #bfbf40 !important; +} +.bg-ye-m6 { + background-color: #999933 !important; +} +.bg-ye-m7 { + background-color: #737326 !important; +} +.bg-ye-m8 { + background-color: #4d4d19 !important; +} +.bg-ye-m9 { + background-color: #26260d !important; +} +.bg-ye-d1 { + background-color: #ebebe0 !important; +} +.bg-ye-d2 { + background-color: #d6d6c2 !important; +} +.bg-ye-d3 { + background-color: #c2c2a3 !important; +} +.bg-ye-d4 { + background-color: #adad85 !important; +} +.bg-ye-d5 { + background-color: #999966 !important; +} +.bg-ye-d6 { + background-color: #7a7a52 !important; +} +.bg-ye-d7 { + background-color: #5c5c3d !important; +} +.bg-ye-d8 { + background-color: #3d3d29 !important; +} +.bg-ye-d9 { + background-color: #1f1f14 !important; +} +.bg-yc-l1 { + background-color: #f0fad1 !important; +} +.bg-yc-l2 { + background-color: #e0f5a3 !important; +} +.bg-yc-l3 { + background-color: #d1f075 !important; +} +.bg-yc-l4 { + background-color: #c2eb47 !important; +} +.bg-yc-l5 { + background-color: #b3e619 !important; +} +.bg-yc-l6 { + background-color: #8fb814 !important; +} +.bg-yc-l7 { + background-color: #6b8a0f !important; +} +.bg-yc-l8 { + background-color: #475c0a !important; +} +.bg-yc-l9 { + background-color: #242e05 !important; +} +.bg-yc-m1 { + background-color: #ecf2d9 !important; +} +.bg-yc-m2 { + background-color: #d9e6b3 !important; +} +.bg-yc-m3 { + background-color: #c6d98c !important; +} +.bg-yc-m4 { + background-color: #b3cc66 !important; +} +.bg-yc-m5 { + background-color: #9fbf40 !important; +} +.bg-yc-m6 { + background-color: #809933 !important; +} +.bg-yc-m7 { + background-color: #607326 !important; +} +.bg-yc-m8 { + background-color: #404d19 !important; +} +.bg-yc-m9 { + background-color: #20260d !important; +} +.bg-yc-d1 { + background-color: #e8ebe0 !important; +} +.bg-yc-d2 { + background-color: #d1d6c2 !important; +} +.bg-yc-d3 { + background-color: #bac2a3 !important; +} +.bg-yc-d4 { + background-color: #a3ad85 !important; +} +.bg-yc-d5 { + background-color: #8c9966 !important; +} +.bg-yc-d6 { + background-color: #707a52 !important; +} +.bg-yc-d7 { + background-color: #545c3d !important; +} +.bg-yc-d8 { + background-color: #383d29 !important; +} +.bg-yc-d9 { + background-color: #1c1f14 !important; +} +.bg-ch-l1 { + background-color: #e6fad1 !important; +} +.bg-ch-l2 { + background-color: #ccf5a3 !important; +} +.bg-ch-l3 { + background-color: #b3f075 !important; +} +.bg-ch-l4 { + background-color: #99eb47 !important; +} +.bg-ch-l5 { + background-color: #80e619 !important; +} +.bg-ch-l6 { + background-color: #66b814 !important; +} +.bg-ch-l7 { + background-color: #4d8a0f !important; +} +.bg-ch-l8 { + background-color: #335c0a !important; +} +.bg-ch-l9 { + background-color: #1a2e05 !important; +} +.bg-ch-m1 { + background-color: #e6f2d9 !important; +} +.bg-ch-m2 { + background-color: #cce6b3 !important; +} +.bg-ch-m3 { + background-color: #b3d98c !important; +} +.bg-ch-m4 { + background-color: #99cc66 !important; +} +.bg-ch-m5 { + background-color: #80bf40 !important; +} +.bg-ch-m6 { + background-color: #669933 !important; +} +.bg-ch-m7 { + background-color: #4d7326 !important; +} +.bg-ch-m8 { + background-color: #334d19 !important; +} +.bg-ch-m9 { + background-color: #1a260d !important; +} +.bg-ch-d1 { + background-color: #e6ebe0 !important; +} +.bg-ch-d2 { + background-color: #ccd6c2 !important; +} +.bg-ch-d3 { + background-color: #b3c2a3 !important; +} +.bg-ch-d4 { + background-color: #99ad85 !important; +} +.bg-ch-d5 { + background-color: #809966 !important; +} +.bg-ch-d6 { + background-color: #667a52 !important; +} +.bg-ch-d7 { + background-color: #4d5c3d !important; +} +.bg-ch-d8 { + background-color: #333d29 !important; +} +.bg-ch-d9 { + background-color: #191f14 !important; +} +.bg-cg-l1 { + background-color: #dbfad1 !important; +} +.bg-cg-l2 { + background-color: #b8f5a3 !important; +} +.bg-cg-l3 { + background-color: #94f075 !important; +} +.bg-cg-l4 { + background-color: #70eb47 !important; +} +.bg-cg-l5 { + background-color: #4ce619 !important; +} +.bg-cg-l6 { + background-color: #3db814 !important; +} +.bg-cg-l7 { + background-color: #2e8a0f !important; +} +.bg-cg-l8 { + background-color: #1f5c0a !important; +} +.bg-cg-l9 { + background-color: #0f2e05 !important; +} +.bg-cg-m1 { + background-color: #dff2d9 !important; +} +.bg-cg-m2 { + background-color: #bfe6b3 !important; +} +.bg-cg-m3 { + background-color: #9fd98c !important; +} +.bg-cg-m4 { + background-color: #7fcc66 !important; +} +.bg-cg-m5 { + background-color: #60bf40 !important; +} +.bg-cg-m6 { + background-color: #4c9933 !important; +} +.bg-cg-m7 { + background-color: #397326 !important; +} +.bg-cg-m8 { + background-color: #264d19 !important; +} +.bg-cg-m9 { + background-color: #13260d !important; +} +.bg-cg-d1 { + background-color: #e3ebe0 !important; +} +.bg-cg-d2 { + background-color: #c7d6c2 !important; +} +.bg-cg-d3 { + background-color: #abc2a3 !important; +} +.bg-cg-d4 { + background-color: #8fad85 !important; +} +.bg-cg-d5 { + background-color: #739966 !important; +} +.bg-cg-d6 { + background-color: #5c7a52 !important; +} +.bg-cg-d7 { + background-color: #455c3d !important; +} +.bg-cg-d8 { + background-color: #2e3d29 !important; +} +.bg-cg-d9 { + background-color: #171f14 !important; +} +.bg-gr-l1 { + background-color: #d1fad1 !important; +} +.bg-gr-l2 { + background-color: #a3f5a3 !important; +} +.bg-gr-l3 { + background-color: #75f075 !important; +} +.bg-gr-l4 { + background-color: #47eb47 !important; +} +.bg-gr-l5 { + background-color: #19e619 !important; +} +.bg-gr-l6 { + background-color: #14b814 !important; +} +.bg-gr-l7 { + background-color: #0f8a0f !important; +} +.bg-gr-l8 { + background-color: #0a5c0a !important; +} +.bg-gr-l9 { + background-color: #052e05 !important; +} +.bg-gr-m1 { + background-color: #d9f2d9 !important; +} +.bg-gr-m2 { + background-color: #b3e6b3 !important; +} +.bg-gr-m3 { + background-color: #8cd98c !important; +} +.bg-gr-m4 { + background-color: #66cc66 !important; +} +.bg-gr-m5 { + background-color: #40bf40 !important; +} +.bg-gr-m6 { + background-color: #339933 !important; +} +.bg-gr-m7 { + background-color: #267326 !important; +} +.bg-gr-m8 { + background-color: #194d19 !important; +} +.bg-gr-m9 { + background-color: #0d260d !important; +} +.bg-gr-d1 { + background-color: #e0ebe0 !important; +} +.bg-gr-d2 { + background-color: #c2d6c2 !important; +} +.bg-gr-d3 { + background-color: #a3c2a3 !important; +} +.bg-gr-d4 { + background-color: #85ad85 !important; +} +.bg-gr-d5 { + background-color: #669966 !important; +} +.bg-gr-d6 { + background-color: #527a52 !important; +} +.bg-gr-d7 { + background-color: #3d5c3d !important; +} +.bg-gr-d8 { + background-color: #293d29 !important; +} +.bg-gr-d9 { + background-color: #141f14 !important; +} +.bg-ga-l1 { + background-color: #d1fadb !important; +} +.bg-ga-l2 { + background-color: #a3f5b8 !important; +} +.bg-ga-l3 { + background-color: #75f094 !important; +} +.bg-ga-l4 { + background-color: #47eb70 !important; +} +.bg-ga-l5 { + background-color: #19e64d !important; +} +.bg-ga-l6 { + background-color: #14b83d !important; +} +.bg-ga-l7 { + background-color: #0f8a2e !important; +} +.bg-ga-l8 { + background-color: #0a5c1f !important; +} +.bg-ga-l9 { + background-color: #052e0f !important; +} +.bg-ga-m1 { + background-color: #d9f2df !important; +} +.bg-ga-m2 { + background-color: #b3e6bf !important; +} +.bg-ga-m3 { + background-color: #8cd99f !important; +} +.bg-ga-m4 { + background-color: #66cc80 !important; +} +.bg-ga-m5 { + background-color: #40bf60 !important; +} +.bg-ga-m6 { + background-color: #33994d !important; +} +.bg-ga-m7 { + background-color: #267339 !important; +} +.bg-ga-m8 { + background-color: #194d26 !important; +} +.bg-ga-m9 { + background-color: #0d2613 !important; +} +.bg-ga-d1 { + background-color: #e0ebe3 !important; +} +.bg-ga-d2 { + background-color: #c2d6c7 !important; +} +.bg-ga-d3 { + background-color: #a3c2ab !important; +} +.bg-ga-d4 { + background-color: #85ad8f !important; +} +.bg-ga-d5 { + background-color: #669973 !important; +} +.bg-ga-d6 { + background-color: #527a5c !important; +} +.bg-ga-d7 { + background-color: #3d5c45 !important; +} +.bg-ga-d8 { + background-color: #293d2e !important; +} +.bg-ga-d9 { + background-color: #141f17 !important; +} +.bg-aq-l1 { + background-color: #d1fae6 !important; +} +.bg-aq-l2 { + background-color: #a3f5cc !important; +} +.bg-aq-l3 { + background-color: #75f0b3 !important; +} +.bg-aq-l4 { + background-color: #47eb99 !important; +} +.bg-aq-l5 { + background-color: #19e680 !important; +} +.bg-aq-l6 { + background-color: #14b866 !important; +} +.bg-aq-l7 { + background-color: #0f8a4d !important; +} +.bg-aq-l8 { + background-color: #0a5c33 !important; +} +.bg-aq-l9 { + background-color: #052e1a !important; +} +.bg-aq-m1 { + background-color: #d9f2e6 !important; +} +.bg-aq-m2 { + background-color: #b3e6cc !important; +} +.bg-aq-m3 { + background-color: #8cd9b3 !important; +} +.bg-aq-m4 { + background-color: #66cc99 !important; +} +.bg-aq-m5 { + background-color: #40bf80 !important; +} +.bg-aq-m6 { + background-color: #339966 !important; +} +.bg-aq-m7 { + background-color: #26734d !important; +} +.bg-aq-m8 { + background-color: #194d33 !important; +} +.bg-aq-m9 { + background-color: #0d261a !important; +} +.bg-aq-d1 { + background-color: #e0ebe6 !important; +} +.bg-aq-d2 { + background-color: #c2d6cc !important; +} +.bg-aq-d3 { + background-color: #a3c2b3 !important; +} +.bg-aq-d4 { + background-color: #85ad99 !important; +} +.bg-aq-d5 { + background-color: #669980 !important; +} +.bg-aq-d6 { + background-color: #527a66 !important; +} +.bg-aq-d7 { + background-color: #3d5c4d !important; +} +.bg-aq-d8 { + background-color: #293d33 !important; +} +.bg-aq-d9 { + background-color: #141f19 !important; +} +.bg-ac-l1 { + background-color: #d1faf0 !important; +} +.bg-ac-l2 { + background-color: #a3f5e0 !important; +} +.bg-ac-l3 { + background-color: #75f0d1 !important; +} +.bg-ac-l4 { + background-color: #47ebc2 !important; +} +.bg-ac-l5 { + background-color: #19e6b3 !important; +} +.bg-ac-l6 { + background-color: #14b88f !important; +} +.bg-ac-l7 { + background-color: #0f8a6b !important; +} +.bg-ac-l8 { + background-color: #0a5c47 !important; +} +.bg-ac-l9 { + background-color: #052e24 !important; +} +.bg-ac-m1 { + background-color: #d9f2ec !important; +} +.bg-ac-m2 { + background-color: #b3e6d9 !important; +} +.bg-ac-m3 { + background-color: #8cd9c6 !important; +} +.bg-ac-m4 { + background-color: #66ccb3 !important; +} +.bg-ac-m5 { + background-color: #40bf9f !important; +} +.bg-ac-m6 { + background-color: #339980 !important; +} +.bg-ac-m7 { + background-color: #267360 !important; +} +.bg-ac-m8 { + background-color: #194d40 !important; +} +.bg-ac-m9 { + background-color: #0d2620 !important; +} +.bg-ac-d1 { + background-color: #e0ebe8 !important; +} +.bg-ac-d2 { + background-color: #c2d6d1 !important; +} +.bg-ac-d3 { + background-color: #a3c2ba !important; +} +.bg-ac-d4 { + background-color: #85ada3 !important; +} +.bg-ac-d5 { + background-color: #66998c !important; +} +.bg-ac-d6 { + background-color: #527a70 !important; +} +.bg-ac-d7 { + background-color: #3d5c54 !important; +} +.bg-ac-d8 { + background-color: #293d38 !important; +} +.bg-ac-d9 { + background-color: #141f1c !important; +} +.bg-cy-l1 { + background-color: #d1fafa !important; +} +.bg-cy-l2 { + background-color: #a3f5f5 !important; +} +.bg-cy-l3 { + background-color: #75f0f0 !important; +} +.bg-cy-l4 { + background-color: #47ebeb !important; +} +.bg-cy-l5 { + background-color: #19e5e6 !important; +} +.bg-cy-l6 { + background-color: #14b8b8 !important; +} +.bg-cy-l7 { + background-color: #0f8a8a !important; +} +.bg-cy-l8 { + background-color: #0a5c5c !important; +} +.bg-cy-l9 { + background-color: #052e2e !important; +} +.bg-cy-m1 { + background-color: #d9f2f2 !important; +} +.bg-cy-m2 { + background-color: #b3e5e6 !important; +} +.bg-cy-m3 { + background-color: #8cd9d9 !important; +} +.bg-cy-m4 { + background-color: #66cccc !important; +} +.bg-cy-m5 { + background-color: #40bfbf !important; +} +.bg-cy-m6 { + background-color: #339999 !important; +} +.bg-cy-m7 { + background-color: #267373 !important; +} +.bg-cy-m8 { + background-color: #194d4d !important; +} +.bg-cy-m9 { + background-color: #0d2626 !important; +} +.bg-cy-d1 { + background-color: #e0ebeb !important; +} +.bg-cy-d2 { + background-color: #c2d6d6 !important; +} +.bg-cy-d3 { + background-color: #a3c2c2 !important; +} +.bg-cy-d4 { + background-color: #85adad !important; +} +.bg-cy-d5 { + background-color: #669999 !important; +} +.bg-cy-d6 { + background-color: #527a7a !important; +} +.bg-cy-d7 { + background-color: #3d5c5c !important; +} +.bg-cy-d8 { + background-color: #293d3d !important; +} +.bg-cy-d9 { + background-color: #141f1f !important; +} +.bg-cb-l1 { + background-color: #d1f0fa !important; +} +.bg-cb-l2 { + background-color: #a3e0f5 !important; +} +.bg-cb-l3 { + background-color: #75d1f0 !important; +} +.bg-cb-l4 { + background-color: #47c2eb !important; +} +.bg-cb-l5 { + background-color: #19b3e6 !important; +} +.bg-cb-l6 { + background-color: #148fb8 !important; +} +.bg-cb-l7 { + background-color: #0f6b8a !important; +} +.bg-cb-l8 { + background-color: #0a475c !important; +} +.bg-cb-l9 { + background-color: #05242e !important; +} +.bg-cb-m1 { + background-color: #d9ecf2 !important; +} +.bg-cb-m2 { + background-color: #b3d9e6 !important; +} +.bg-cb-m3 { + background-color: #8cc6d9 !important; +} +.bg-cb-m4 { + background-color: #66b3cc !important; +} +.bg-cb-m5 { + background-color: #409fbf !important; +} +.bg-cb-m6 { + background-color: #338099 !important; +} +.bg-cb-m7 { + background-color: #266073 !important; +} +.bg-cb-m8 { + background-color: #19404d !important; +} +.bg-cb-m9 { + background-color: #0d2026 !important; +} +.bg-cb-d1 { + background-color: #e0e8eb !important; +} +.bg-cb-d2 { + background-color: #c2d1d6 !important; +} +.bg-cb-d3 { + background-color: #a3bac2 !important; +} +.bg-cb-d4 { + background-color: #85a3ad !important; +} +.bg-cb-d5 { + background-color: #668c99 !important; +} +.bg-cb-d6 { + background-color: #52707a !important; +} +.bg-cb-d7 { + background-color: #3d545c !important; +} +.bg-cb-d8 { + background-color: #29383d !important; +} +.bg-cb-d9 { + background-color: #141c1f !important; +} +.bg-bl-l1 { + background-color: #d1e5fa !important; +} +.bg-bl-l2 { + background-color: #a3ccf5 !important; +} +.bg-bl-l3 { + background-color: #75b2f0 !important; +} +.bg-bl-l4 { + background-color: #4799eb !important; +} +.bg-bl-l5 { + background-color: #197fe6 !important; +} +.bg-bl-l6 { + background-color: #1466b8 !important; +} +.bg-bl-l7 { + background-color: #0f4c8a !important; +} +.bg-bl-l8 { + background-color: #0a335c !important; +} +.bg-bl-l9 { + background-color: #05192e !important; +} +.bg-bl-m1 { + background-color: #d9e6f2 !important; +} +.bg-bl-m2 { + background-color: #b3cce6 !important; +} +.bg-bl-m3 { + background-color: #8cb2d9 !important; +} +.bg-bl-m4 { + background-color: #6699cc !important; +} +.bg-bl-m5 { + background-color: #407fbf !important; +} +.bg-bl-m6 { + background-color: #336699 !important; +} +.bg-bl-m7 { + background-color: #264c73 !important; +} +.bg-bl-m8 { + background-color: #19334d !important; +} +.bg-bl-m9 { + background-color: #0d1926 !important; +} +.bg-bl-d1 { + background-color: #e0e6eb !important; +} +.bg-bl-d2 { + background-color: #c2ccd6 !important; +} +.bg-bl-d3 { + background-color: #a3b3c2 !important; +} +.bg-bl-d4 { + background-color: #8599ad !important; +} +.bg-bl-d5 { + background-color: #667f99 !important; +} +.bg-bl-d6 { + background-color: #52667a !important; +} +.bg-bl-d7 { + background-color: #3d4c5c !important; +} +.bg-bl-d8 { + background-color: #29333d !important; +} +.bg-bl-d9 { + background-color: #14191f !important; +} +.bg-bi-l1 { + background-color: #d1dbfa !important; +} +.bg-bi-l2 { + background-color: #a3b8f5 !important; +} +.bg-bi-l3 { + background-color: #7594f0 !important; +} +.bg-bi-l4 { + background-color: #4770eb !important; +} +.bg-bi-l5 { + background-color: #194ce6 !important; +} +.bg-bi-l6 { + background-color: #143db8 !important; +} +.bg-bi-l7 { + background-color: #0f2e8a !important; +} +.bg-bi-l8 { + background-color: #0a1f5c !important; +} +.bg-bi-l9 { + background-color: #050f2e !important; +} +.bg-bi-m1 { + background-color: #d9dff2 !important; +} +.bg-bi-m2 { + background-color: #b3bfe6 !important; +} +.bg-bi-m3 { + background-color: #8c9fd9 !important; +} +.bg-bi-m4 { + background-color: #667fcc !important; +} +.bg-bi-m5 { + background-color: #4060bf !important; +} +.bg-bi-m6 { + background-color: #334c99 !important; +} +.bg-bi-m7 { + background-color: #263973 !important; +} +.bg-bi-m8 { + background-color: #19264d !important; +} +.bg-bi-m9 { + background-color: #0d1326 !important; +} +.bg-bi-d1 { + background-color: #e0e3eb !important; +} +.bg-bi-d2 { + background-color: #c2c7d6 !important; +} +.bg-bi-d3 { + background-color: #a3abc2 !important; +} +.bg-bi-d4 { + background-color: #858fad !important; +} +.bg-bi-d5 { + background-color: #667399 !important; +} +.bg-bi-d6 { + background-color: #525c7a !important; +} +.bg-bi-d7 { + background-color: #3d455c !important; +} +.bg-bi-d8 { + background-color: #292e3d !important; +} +.bg-bi-d9 { + background-color: #14171f !important; +} +.bg-in-l1 { + background-color: #d1d1fa !important; +} +.bg-in-l2 { + background-color: #a3a3f5 !important; +} +.bg-in-l3 { + background-color: #7575f0 !important; +} +.bg-in-l4 { + background-color: #4747eb !important; +} +.bg-in-l5 { + background-color: #1919e6 !important; +} +.bg-in-l6 { + background-color: #1414b8 !important; +} +.bg-in-l7 { + background-color: #0f0f8a !important; +} +.bg-in-l8 { + background-color: #0a0a5c !important; +} +.bg-in-l9 { + background-color: #05052e !important; +} +.bg-in-m1 { + background-color: #d9d9f2 !important; +} +.bg-in-m2 { + background-color: #b3b3e6 !important; +} +.bg-in-m3 { + background-color: #8c8cd9 !important; +} +.bg-in-m4 { + background-color: #6666cc !important; +} +.bg-in-m5 { + background-color: #4040bf !important; +} +.bg-in-m6 { + background-color: #333399 !important; +} +.bg-in-m7 { + background-color: #262673 !important; +} +.bg-in-m8 { + background-color: #19194d !important; +} +.bg-in-m9 { + background-color: #0d0d26 !important; +} +.bg-in-d1 { + background-color: #e0e0eb !important; +} +.bg-in-d2 { + background-color: #c2c2d6 !important; +} +.bg-in-d3 { + background-color: #a3a3c2 !important; +} +.bg-in-d4 { + background-color: #8585ad !important; +} +.bg-in-d5 { + background-color: #666699 !important; +} +.bg-in-d6 { + background-color: #52527a !important; +} +.bg-in-d7 { + background-color: #3d3d5c !important; +} +.bg-in-d8 { + background-color: #29293d !important; +} +.bg-in-d9 { + background-color: #14141f !important; +} +.bg-ip-l1 { + background-color: #dbd1fa !important; +} +.bg-ip-l2 { + background-color: #b8a3f5 !important; +} +.bg-ip-l3 { + background-color: #9475f0 !important; +} +.bg-ip-l4 { + background-color: #7047eb !important; +} +.bg-ip-l5 { + background-color: #4d19e6 !important; +} +.bg-ip-l6 { + background-color: #3d14b8 !important; +} +.bg-ip-l7 { + background-color: #2e0f8a !important; +} +.bg-ip-l8 { + background-color: #1f0a5c !important; +} +.bg-ip-l9 { + background-color: #0f052e !important; +} +.bg-ip-m1 { + background-color: #dfd9f2 !important; +} +.bg-ip-m2 { + background-color: #bfb3e6 !important; +} +.bg-ip-m3 { + background-color: #9f8cd9 !important; +} +.bg-ip-m4 { + background-color: #8066cc !important; +} +.bg-ip-m5 { + background-color: #6040bf !important; +} +.bg-ip-m6 { + background-color: #4d3399 !important; +} +.bg-ip-m7 { + background-color: #392673 !important; +} +.bg-ip-m8 { + background-color: #26194d !important; +} +.bg-ip-m9 { + background-color: #130d26 !important; +} +.bg-ip-d1 { + background-color: #e3e0eb !important; +} +.bg-ip-d2 { + background-color: #c7c2d6 !important; +} +.bg-ip-d3 { + background-color: #aba3c2 !important; +} +.bg-ip-d4 { + background-color: #8f85ad !important; +} +.bg-ip-d5 { + background-color: #736699 !important; +} +.bg-ip-d6 { + background-color: #5c527a !important; +} +.bg-ip-d7 { + background-color: #453d5c !important; +} +.bg-ip-d8 { + background-color: #2e293d !important; +} +.bg-ip-d9 { + background-color: #17141f !important; +} +.bg-pu-l1 { + background-color: #e5d1fa !important; +} +.bg-pu-l2 { + background-color: #cca3f5 !important; +} +.bg-pu-l3 { + background-color: #b275f0 !important; +} +.bg-pu-l4 { + background-color: #9947eb !important; +} +.bg-pu-l5 { + background-color: #7f19e6 !important; +} +.bg-pu-l6 { + background-color: #6614b8 !important; +} +.bg-pu-l7 { + background-color: #4c0f8a !important; +} +.bg-pu-l8 { + background-color: #330a5c !important; +} +.bg-pu-l9 { + background-color: #19052e !important; +} +.bg-pu-m1 { + background-color: #e6d9f2 !important; +} +.bg-pu-m2 { + background-color: #ccb3e6 !important; +} +.bg-pu-m3 { + background-color: #b28cd9 !important; +} +.bg-pu-m4 { + background-color: #9966cc !important; +} +.bg-pu-m5 { + background-color: #7f40bf !important; +} +.bg-pu-m6 { + background-color: #663399 !important; +} +.bg-pu-m7 { + background-color: #4c2673 !important; +} +.bg-pu-m8 { + background-color: #33194d !important; +} +.bg-pu-m9 { + background-color: #190d26 !important; +} +.bg-pu-d1 { + background-color: #e6e0eb !important; +} +.bg-pu-d2 { + background-color: #ccc2d6 !important; +} +.bg-pu-d3 { + background-color: #b3a3c2 !important; +} +.bg-pu-d4 { + background-color: #9985ad !important; +} +.bg-pu-d5 { + background-color: #7f6699 !important; +} +.bg-pu-d6 { + background-color: #66527a !important; +} +.bg-pu-d7 { + background-color: #4c3d5c !important; +} +.bg-pu-d8 { + background-color: #33293d !important; +} +.bg-pu-d9 { + background-color: #19141f !important; +} +.bg-pp-l1 { + background-color: #f0d1fa !important; +} +.bg-pp-l2 { + background-color: #e0a3f5 !important; +} +.bg-pp-l3 { + background-color: #d175f0 !important; +} +.bg-pp-l4 { + background-color: #c247eb !important; +} +.bg-pp-l5 { + background-color: #b319e6 !important; +} +.bg-pp-l6 { + background-color: #8f14b8 !important; +} +.bg-pp-l7 { + background-color: #6b0f8a !important; +} +.bg-pp-l8 { + background-color: #470a5c !important; +} +.bg-pp-l9 { + background-color: #24052e !important; +} +.bg-pp-m1 { + background-color: #ecd9f2 !important; +} +.bg-pp-m2 { + background-color: #d9b3e6 !important; +} +.bg-pp-m3 { + background-color: #c68cd9 !important; +} +.bg-pp-m4 { + background-color: #b366cc !important; +} +.bg-pp-m5 { + background-color: #9f40bf !important; +} +.bg-pp-m6 { + background-color: #803399 !important; +} +.bg-pp-m7 { + background-color: #602673 !important; +} +.bg-pp-m8 { + background-color: #40194d !important; +} +.bg-pp-m9 { + background-color: #200d26 !important; +} +.bg-pp-d1 { + background-color: #e8e0eb !important; +} +.bg-pp-d2 { + background-color: #d1c2d6 !important; +} +.bg-pp-d3 { + background-color: #baa3c2 !important; +} +.bg-pp-d4 { + background-color: #a385ad !important; +} +.bg-pp-d5 { + background-color: #8c6699 !important; +} +.bg-pp-d6 { + background-color: #70527a !important; +} +.bg-pp-d7 { + background-color: #543d5c !important; +} +.bg-pp-d8 { + background-color: #38293d !important; +} +.bg-pp-d9 { + background-color: #1c141f !important; +} +.bg-pi-l1 { + background-color: #fad1fa !important; +} +.bg-pi-l2 { + background-color: #f5a3f5 !important; +} +.bg-pi-l3 { + background-color: #f075f0 !important; +} +.bg-pi-l4 { + background-color: #eb47eb !important; +} +.bg-pi-l5 { + background-color: #e619e5 !important; +} +.bg-pi-l6 { + background-color: #b814b8 !important; +} +.bg-pi-l7 { + background-color: #8a0f8a !important; +} +.bg-pi-l8 { + background-color: #5c0a5c !important; +} +.bg-pi-l9 { + background-color: #2e052e !important; +} +.bg-pi-m1 { + background-color: #f2d9f2 !important; +} +.bg-pi-m2 { + background-color: #e6b3e5 !important; +} +.bg-pi-m3 { + background-color: #d98cd9 !important; +} +.bg-pi-m4 { + background-color: #cc66cc !important; +} +.bg-pi-m5 { + background-color: #bf40bf !important; +} +.bg-pi-m6 { + background-color: #993399 !important; +} +.bg-pi-m7 { + background-color: #732673 !important; +} +.bg-pi-m8 { + background-color: #4d194d !important; +} +.bg-pi-m9 { + background-color: #260d26 !important; +} +.bg-pi-d1 { + background-color: #ebe0eb !important; +} +.bg-pi-d2 { + background-color: #d6c2d6 !important; +} +.bg-pi-d3 { + background-color: #c2a3c2 !important; +} +.bg-pi-d4 { + background-color: #ad85ad !important; +} +.bg-pi-d5 { + background-color: #996699 !important; +} +.bg-pi-d6 { + background-color: #7a527a !important; +} +.bg-pi-d7 { + background-color: #5c3d5c !important; +} +.bg-pi-d8 { + background-color: #3d293d !important; +} +.bg-pi-d9 { + background-color: #1f141f !important; +} +.bg-pv-l1 { + background-color: #fad1f0 !important; +} +.bg-pv-l2 { + background-color: #f5a3e0 !important; +} +.bg-pv-l3 { + background-color: #f075d1 !important; +} +.bg-pv-l4 { + background-color: #eb47c2 !important; +} +.bg-pv-l5 { + background-color: #e619b2 !important; +} +.bg-pv-l6 { + background-color: #b8148f !important; +} +.bg-pv-l7 { + background-color: #8a0f6b !important; +} +.bg-pv-l8 { + background-color: #5c0a47 !important; +} +.bg-pv-l9 { + background-color: #2e0524 !important; +} +.bg-pv-m1 { + background-color: #f2d9ec !important; +} +.bg-pv-m2 { + background-color: #e6b3d9 !important; +} +.bg-pv-m3 { + background-color: #d98cc6 !important; +} +.bg-pv-m4 { + background-color: #cc66b2 !important; +} +.bg-pv-m5 { + background-color: #bf409f !important; +} +.bg-pv-m6 { + background-color: #99337f !important; +} +.bg-pv-m7 { + background-color: #732660 !important; +} +.bg-pv-m8 { + background-color: #4d1940 !important; +} +.bg-pv-m9 { + background-color: #260d20 !important; +} +.bg-pv-d1 { + background-color: #ebe0e8 !important; +} +.bg-pv-d2 { + background-color: #d6c2d1 !important; +} +.bg-pv-d3 { + background-color: #c2a3ba !important; +} +.bg-pv-d4 { + background-color: #ad85a3 !important; +} +.bg-pv-d5 { + background-color: #99668c !important; +} +.bg-pv-d6 { + background-color: #7a5270 !important; +} +.bg-pv-d7 { + background-color: #5c3d54 !important; +} +.bg-pv-d8 { + background-color: #3d2938 !important; +} +.bg-pv-d9 { + background-color: #1f141c !important; +} +.bg-vi-l1 { + background-color: #fad1e6 !important; +} +.bg-vi-l2 { + background-color: #f5a3cc !important; +} +.bg-vi-l3 { + background-color: #f075b3 !important; +} +.bg-vi-l4 { + background-color: #eb4799 !important; +} +.bg-vi-l5 { + background-color: #e61980 !important; +} +.bg-vi-l6 { + background-color: #b81466 !important; +} +.bg-vi-l7 { + background-color: #8a0f4d !important; +} +.bg-vi-l8 { + background-color: #5c0a33 !important; +} +.bg-vi-l9 { + background-color: #2e051a !important; +} +.bg-vi-m1 { + background-color: #f2d9e6 !important; +} +.bg-vi-m2 { + background-color: #e6b3cc !important; +} +.bg-vi-m3 { + background-color: #d98cb3 !important; +} +.bg-vi-m4 { + background-color: #cc6699 !important; +} +.bg-vi-m5 { + background-color: #bf4080 !important; +} +.bg-vi-m6 { + background-color: #993366 !important; +} +.bg-vi-m7 { + background-color: #73264d !important; +} +.bg-vi-m8 { + background-color: #4d1933 !important; +} +.bg-vi-m9 { + background-color: #260d1a !important; +} +.bg-vi-d1 { + background-color: #ebe0e6 !important; +} +.bg-vi-d2 { + background-color: #d6c2cc !important; +} +.bg-vi-d3 { + background-color: #c2a3b3 !important; +} +.bg-vi-d4 { + background-color: #ad8599 !important; +} +.bg-vi-d5 { + background-color: #996680 !important; +} +.bg-vi-d6 { + background-color: #7a5266 !important; +} +.bg-vi-d7 { + background-color: #5c3d4d !important; +} +.bg-vi-d8 { + background-color: #3d2933 !important; +} +.bg-vi-d9 { + background-color: #1f1419 !important; +} +.bg-vr-l1 { + background-color: #fad1db !important; +} +.bg-vr-l2 { + background-color: #f5a3b8 !important; +} +.bg-vr-l3 { + background-color: #f07594 !important; +} +.bg-vr-l4 { + background-color: #eb4770 !important; +} +.bg-vr-l5 { + background-color: #e6194c !important; +} +.bg-vr-l6 { + background-color: #b8143d !important; +} +.bg-vr-l7 { + background-color: #8a0f2e !important; +} +.bg-vr-l8 { + background-color: #5c0a1f !important; +} +.bg-vr-l9 { + background-color: #2e050f !important; +} +.bg-vr-m1 { + background-color: #f2d9df !important; +} +.bg-vr-m2 { + background-color: #e6b3bf !important; +} +.bg-vr-m3 { + background-color: #d98c9f !important; +} +.bg-vr-m4 { + background-color: #cc667f !important; +} +.bg-vr-m5 { + background-color: #bf4060 !important; +} +.bg-vr-m6 { + background-color: #99334c !important; +} +.bg-vr-m7 { + background-color: #732639 !important; +} +.bg-vr-m8 { + background-color: #4d1926 !important; +} +.bg-vr-m9 { + background-color: #260d13 !important; +} +.bg-vr-d1 { + background-color: #ebe0e3 !important; +} +.bg-vr-d2 { + background-color: #d6c2c7 !important; +} +.bg-vr-d3 { + background-color: #c2a3ab !important; +} +.bg-vr-d4 { + background-color: #ad858f !important; +} +.bg-vr-d5 { + background-color: #996673 !important; +} +.bg-vr-d6 { + background-color: #7a525c !important; +} +.bg-vr-d7 { + background-color: #5c3d45 !important; +} +.bg-vr-d8 { + background-color: #3d292e !important; +} +.bg-vr-d9 { + background-color: #1f1417 !important; +} +.bg-gy-l1 { + background-color: #f2f2f2 !important; +} +.bg-gy-l2 { + background-color: #e6e6e6 !important; +} +.bg-gy-l3 { + background-color: #d9d9d9 !important; +} +.bg-gy-l4 { + background-color: #cccccc !important; +} +.bg-gy-l5 { + background-color: #bfbfbf !important; +} +.bg-gy-l6 { + background-color: #b3b3b3 !important; +} +.bg-gy-l7 { + background-color: #a6a6a6 !important; +} +.bg-gy-l8 { + background-color: #999999 !important; +} +.bg-gy-l9 { + background-color: #8c8c8c !important; +} +.bg-gy-m1 { + background-color: #b3b3b3 !important; +} +.bg-gy-m2 { + background-color: #a6a6a6 !important; +} +.bg-gy-m3 { + background-color: #999999 !important; +} +.bg-gy-m4 { + background-color: #8c8c8c !important; +} +.bg-gy-m5 { + background-color: #808080 !important; +} +.bg-gy-m6 { + background-color: #737373 !important; +} +.bg-gy-m7 { + background-color: #666666 !important; +} +.bg-gy-m8 { + background-color: #595959 !important; +} +.bg-gy-m9 { + background-color: #4d4d4d !important; +} +.bg-gy-d1 { + background-color: #808080 !important; +} +.bg-gy-d2 { + background-color: #737373 !important; +} +.bg-gy-d3 { + background-color: #666666 !important; +} +.bg-gy-d4 { + background-color: #595959 !important; +} +.bg-gy-d5 { + background-color: #4d4d4d !important; +} +.bg-gy-d6 { + background-color: #404040 !important; +} +.bg-gy-d7 { + background-color: #333333 !important; +} +.bg-gy-d8 { + background-color: #262626 !important; +} +.bg-gy-d9 { + background-color: #1a1a1a !important; +} +.bg-re { + background-color: #ff0000; +} +.bg-ro { + background-color: #ff4000; +} +.bg-or { + background-color: #ff8000; +} +.bg-oy { + background-color: #ffbf00; +} +.bg-ye { + background-color: #ffff00; +} +.bg-yc { + background-color: #bfff00; +} +.bg-ch { + background-color: #80ff00; +} +.bg-cg { + background-color: #40ff00; +} +.bg-gr { + background-color: #00ff00; +} +.bg-ga { + background-color: #00ff40; +} +.bg-aq { + background-color: #00ff80; +} +.bg-ac { + background-color: #00ffbf; +} +.bg-cy { + background-color: #00ffff; +} +.bg-cb { + background-color: #00bfff; +} +.bg-bl { + background-color: #007fff; +} +.bg-bi { + background-color: #0040ff; +} +.bg-in { + background-color: #0000ff; +} +.bg-ip { + background-color: #4000ff; +} +.bg-pu { + background-color: #7f00ff; +} +.bg-pp { + background-color: #bf00ff; +} +.bg-pi { + background-color: #ff00ff; +} +.bg-pv { + background-color: #ff00bf; +} +.bg-vi { + background-color: #ff0080; +} +.bg-vr { + background-color: #ff0040; +} +.bg-gy { + background-color: #000; +} +.bg-wh { + background-color: #fff; +} +.bg-bk { + background-color: #000; +} +.bg-tr { + background-color: transparent; +} +.bg-re-l { + background-color: #e61919; +} +.bg-ro-l { + background-color: #e64d19; +} +.bg-or-l { + background-color: #e68019; +} +.bg-oy-l { + background-color: #e6b319; +} +.bg-ye-l { + background-color: #e5e619; +} +.bg-yc-l { + background-color: #b3e619; +} +.bg-ch-l { + background-color: #80e619; +} +.bg-cg-l { + background-color: #4ce619; +} +.bg-gr-l { + background-color: #19e619; +} +.bg-ga-l { + background-color: #19e64d; +} +.bg-aq-l { + background-color: #19e680; +} +.bg-ac-l { + background-color: #19e6b3; +} +.bg-cy-l { + background-color: #19e5e6; +} +.bg-cb-l { + background-color: #19b3e6; +} +.bg-bl-l { + background-color: #197fe6; +} +.bg-bi-l { + background-color: #194ce6; +} +.bg-in-l { + background-color: #1919e6; +} +.bg-ip-l { + background-color: #4d19e6; +} +.bg-pu-l { + background-color: #7f19e6; +} +.bg-pp-l { + background-color: #b319e6; +} +.bg-pi-l { + background-color: #e619e5; +} +.bg-pv-l { + background-color: #e619b2; +} +.bg-vi-l { + background-color: #e61980; +} +.bg-vr-l { + background-color: #e6194c; +} +.bg-gy-l { + background-color: #bfbfbf; +} +.bg-re-m { + background-color: #bf4040; +} +.bg-ro-m { + background-color: #bf6040; +} +.bg-or-m { + background-color: #bf8040; +} +.bg-oy-m { + background-color: #bf9f40; +} +.bg-ye-m { + background-color: #bfbf40; +} +.bg-yc-m { + background-color: #9fbf40; +} +.bg-ch-m { + background-color: #80bf40; +} +.bg-cg-m { + background-color: #60bf40; +} +.bg-gr-m { + background-color: #40bf40; +} +.bg-ga-m { + background-color: #40bf60; +} +.bg-aq-m { + background-color: #40bf80; +} +.bg-ac-m { + background-color: #40bf9f; +} +.bg-cy-m { + background-color: #40bfbf; +} +.bg-cb-m { + background-color: #409fbf; +} +.bg-bl-m { + background-color: #407fbf; +} +.bg-bi-m { + background-color: #4060bf; +} +.bg-in-m { + background-color: #4040bf; +} +.bg-ip-m { + background-color: #6040bf; +} +.bg-pu-m { + background-color: #7f40bf; +} +.bg-pp-m { + background-color: #9f40bf; +} +.bg-pi-m { + background-color: #bf40bf; +} +.bg-pv-m { + background-color: #bf409f; +} +.bg-vi-m { + background-color: #bf4080; +} +.bg-vr-m { + background-color: #bf4060; +} +.bg-gy-m { + background-color: #808080; +} +.bg-re-d { + background-color: #996666; +} +.bg-ro-d { + background-color: #997366; +} +.bg-or-d { + background-color: #998066; +} +.bg-oy-d { + background-color: #998c66; +} +.bg-ye-d { + background-color: #999966; +} +.bg-yc-d { + background-color: #8c9966; +} +.bg-ch-d { + background-color: #809966; +} +.bg-cg-d { + background-color: #739966; +} +.bg-gr-d { + background-color: #669966; +} +.bg-ga-d { + background-color: #669973; +} +.bg-aq-d { + background-color: #669980; +} +.bg-ac-d { + background-color: #66998c; +} +.bg-cy-d { + background-color: #669999; +} +.bg-cb-d { + background-color: #668c99; +} +.bg-bl-d { + background-color: #667f99; +} +.bg-bi-d { + background-color: #667399; +} +.bg-in-d { + background-color: #666699; +} +.bg-ip-d { + background-color: #736699; +} +.bg-pu-d { + background-color: #7f6699; +} +.bg-pp-d { + background-color: #8c6699; +} +.bg-pi-d { + background-color: #996699; +} +.bg-pv-d { + background-color: #99668c; +} +.bg-vi-d { + background-color: #996680; +} +.bg-vr-d { + background-color: #996673; +} +.bg-gy-d { + background-color: #4d4d4d; +} +.t-re-l1 { + color: #fad1d1 !important; +} +.t-re-l2 { + color: #f5a3a3 !important; +} +.t-re-l3 { + color: #f07575 !important; +} +.t-re-l4 { + color: #eb4747 !important; +} +.t-re-l5 { + color: #e61919 !important; +} +.t-re-l6 { + color: #b81414 !important; +} +.t-re-l7 { + color: #8a0f0f !important; +} +.t-re-l8 { + color: #5c0a0a !important; +} +.t-re-l9 { + color: #2e0505 !important; +} +.t-re-m1 { + color: #f2d9d9 !important; +} +.t-re-m2 { + color: #e6b3b3 !important; +} +.t-re-m3 { + color: #d98c8c !important; +} +.t-re-m4 { + color: #cc6666 !important; +} +.t-re-m5 { + color: #bf4040 !important; +} +.t-re-m6 { + color: #993333 !important; +} +.t-re-m7 { + color: #732626 !important; +} +.t-re-m8 { + color: #4d1919 !important; +} +.t-re-m9 { + color: #260d0d !important; +} +.t-re-d1 { + color: #ebe0e0 !important; +} +.t-re-d2 { + color: #d6c2c2 !important; +} +.t-re-d3 { + color: #c2a3a3 !important; +} +.t-re-d4 { + color: #ad8585 !important; +} +.t-re-d5 { + color: #996666 !important; +} +.t-re-d6 { + color: #7a5252 !important; +} +.t-re-d7 { + color: #5c3d3d !important; +} +.t-re-d8 { + color: #3d2929 !important; +} +.t-re-d9 { + color: #1f1414 !important; +} +.t-re-l1 { + color: #fad1d1 !important; +} +.t-re-l2 { + color: #f5a3a3 !important; +} +.t-re-l3 { + color: #f07575 !important; +} +.t-re-l4 { + color: #eb4747 !important; +} +.t-re-l5 { + color: #e61919 !important; +} +.t-re-l6 { + color: #b81414 !important; +} +.t-re-l7 { + color: #8a0f0f !important; +} +.t-re-l8 { + color: #5c0a0a !important; +} +.t-re-l9 { + color: #2e0505 !important; +} +.t-re-m1 { + color: #f2d9d9 !important; +} +.t-re-m2 { + color: #e6b3b3 !important; +} +.t-re-m3 { + color: #d98c8c !important; +} +.t-re-m4 { + color: #cc6666 !important; +} +.t-re-m5 { + color: #bf4040 !important; +} +.t-re-m6 { + color: #993333 !important; +} +.t-re-m7 { + color: #732626 !important; +} +.t-re-m8 { + color: #4d1919 !important; +} +.t-re-m9 { + color: #260d0d !important; +} +.t-re-d1 { + color: #ebe0e0 !important; +} +.t-re-d2 { + color: #d6c2c2 !important; +} +.t-re-d3 { + color: #c2a3a3 !important; +} +.t-re-d4 { + color: #ad8585 !important; +} +.t-re-d5 { + color: #996666 !important; +} +.t-re-d6 { + color: #7a5252 !important; +} +.t-re-d7 { + color: #5c3d3d !important; +} +.t-re-d8 { + color: #3d2929 !important; +} +.t-re-d9 { + color: #1f1414 !important; +} +.t-ro-l1 { + color: #fadbd1 !important; +} +.t-ro-l2 { + color: #f5b8a3 !important; +} +.t-ro-l3 { + color: #f09475 !important; +} +.t-ro-l4 { + color: #eb7047 !important; +} +.t-ro-l5 { + color: #e64d19 !important; +} +.t-ro-l6 { + color: #b83d14 !important; +} +.t-ro-l7 { + color: #8a2e0f !important; +} +.t-ro-l8 { + color: #5c1f0a !important; +} +.t-ro-l9 { + color: #2e0f05 !important; +} +.t-ro-m1 { + color: #f2dfd9 !important; +} +.t-ro-m2 { + color: #e6bfb3 !important; +} +.t-ro-m3 { + color: #d99f8c !important; +} +.t-ro-m4 { + color: #cc7f66 !important; +} +.t-ro-m5 { + color: #bf6040 !important; +} +.t-ro-m6 { + color: #994d33 !important; +} +.t-ro-m7 { + color: #733926 !important; +} +.t-ro-m8 { + color: #4d2619 !important; +} +.t-ro-m9 { + color: #26130d !important; +} +.t-ro-d1 { + color: #ebe3e0 !important; +} +.t-ro-d2 { + color: #d6c7c2 !important; +} +.t-ro-d3 { + color: #c2aba3 !important; +} +.t-ro-d4 { + color: #ad8f85 !important; +} +.t-ro-d5 { + color: #997366 !important; +} +.t-ro-d6 { + color: #7a5c52 !important; +} +.t-ro-d7 { + color: #5c453d !important; +} +.t-ro-d8 { + color: #3d2e29 !important; +} +.t-ro-d9 { + color: #1f1714 !important; +} +.t-or-l1 { + color: #fae6d1 !important; +} +.t-or-l2 { + color: #f5cca3 !important; +} +.t-or-l3 { + color: #f0b375 !important; +} +.t-or-l4 { + color: #eb9947 !important; +} +.t-or-l5 { + color: #e68019 !important; +} +.t-or-l6 { + color: #b86614 !important; +} +.t-or-l7 { + color: #8a4d0f !important; +} +.t-or-l8 { + color: #5c330a !important; +} +.t-or-l9 { + color: #2e1905 !important; +} +.t-or-m1 { + color: #f2e6d9 !important; +} +.t-or-m2 { + color: #e6ccb3 !important; +} +.t-or-m3 { + color: #d9b38c !important; +} +.t-or-m4 { + color: #cc9966 !important; +} +.t-or-m5 { + color: #bf8040 !important; +} +.t-or-m6 { + color: #996633 !important; +} +.t-or-m7 { + color: #734d26 !important; +} +.t-or-m8 { + color: #4d3319 !important; +} +.t-or-m9 { + color: #26190d !important; +} +.t-or-d1 { + color: #ebe6e0 !important; +} +.t-or-d2 { + color: #d6ccc2 !important; +} +.t-or-d3 { + color: #c2b3a3 !important; +} +.t-or-d4 { + color: #ad9985 !important; +} +.t-or-d5 { + color: #998066 !important; +} +.t-or-d6 { + color: #7a6652 !important; +} +.t-or-d7 { + color: #5c4d3d !important; +} +.t-or-d8 { + color: #3d3329 !important; +} +.t-or-d9 { + color: #1f1914 !important; +} +.t-oy-l1 { + color: #faf0d1 !important; +} +.t-oy-l2 { + color: #f5e0a3 !important; +} +.t-oy-l3 { + color: #f0d175 !important; +} +.t-oy-l4 { + color: #ebc247 !important; +} +.t-oy-l5 { + color: #e6b319 !important; +} +.t-oy-l6 { + color: #b88f14 !important; +} +.t-oy-l7 { + color: #8a6b0f !important; +} +.t-oy-l8 { + color: #5c470a !important; +} +.t-oy-l9 { + color: #2e2405 !important; +} +.t-oy-m1 { + color: #f2ecd9 !important; +} +.t-oy-m2 { + color: #e6d9b3 !important; +} +.t-oy-m3 { + color: #d9c68c !important; +} +.t-oy-m4 { + color: #ccb366 !important; +} +.t-oy-m5 { + color: #bf9f40 !important; +} +.t-oy-m6 { + color: #998033 !important; +} +.t-oy-m7 { + color: #736026 !important; +} +.t-oy-m8 { + color: #4d4019 !important; +} +.t-oy-m9 { + color: #26200d !important; +} +.t-oy-d1 { + color: #ebe8e0 !important; +} +.t-oy-d2 { + color: #d6d1c2 !important; +} +.t-oy-d3 { + color: #c2baa3 !important; +} +.t-oy-d4 { + color: #ada385 !important; +} +.t-oy-d5 { + color: #998c66 !important; +} +.t-oy-d6 { + color: #7a7052 !important; +} +.t-oy-d7 { + color: #5c543d !important; +} +.t-oy-d8 { + color: #3d3829 !important; +} +.t-oy-d9 { + color: #1f1c14 !important; +} +.t-ye-l1 { + color: #fafad1 !important; +} +.t-ye-l2 { + color: #f5f5a3 !important; +} +.t-ye-l3 { + color: #f0f075 !important; +} +.t-ye-l4 { + color: #ebeb47 !important; +} +.t-ye-l5 { + color: #e5e619 !important; +} +.t-ye-l6 { + color: #b8b814 !important; +} +.t-ye-l7 { + color: #8a8a0f !important; +} +.t-ye-l8 { + color: #5c5c0a !important; +} +.t-ye-l9 { + color: #2e2e05 !important; +} +.t-ye-m1 { + color: #f2f2d9 !important; +} +.t-ye-m2 { + color: #e5e6b3 !important; +} +.t-ye-m3 { + color: #d9d98c !important; +} +.t-ye-m4 { + color: #cccc66 !important; +} +.t-ye-m5 { + color: #bfbf40 !important; +} +.t-ye-m6 { + color: #999933 !important; +} +.t-ye-m7 { + color: #737326 !important; +} +.t-ye-m8 { + color: #4d4d19 !important; +} +.t-ye-m9 { + color: #26260d !important; +} +.t-ye-d1 { + color: #ebebe0 !important; +} +.t-ye-d2 { + color: #d6d6c2 !important; +} +.t-ye-d3 { + color: #c2c2a3 !important; +} +.t-ye-d4 { + color: #adad85 !important; +} +.t-ye-d5 { + color: #999966 !important; +} +.t-ye-d6 { + color: #7a7a52 !important; +} +.t-ye-d7 { + color: #5c5c3d !important; +} +.t-ye-d8 { + color: #3d3d29 !important; +} +.t-ye-d9 { + color: #1f1f14 !important; +} +.t-yc-l1 { + color: #f0fad1 !important; +} +.t-yc-l2 { + color: #e0f5a3 !important; +} +.t-yc-l3 { + color: #d1f075 !important; +} +.t-yc-l4 { + color: #c2eb47 !important; +} +.t-yc-l5 { + color: #b3e619 !important; +} +.t-yc-l6 { + color: #8fb814 !important; +} +.t-yc-l7 { + color: #6b8a0f !important; +} +.t-yc-l8 { + color: #475c0a !important; +} +.t-yc-l9 { + color: #242e05 !important; +} +.t-yc-m1 { + color: #ecf2d9 !important; +} +.t-yc-m2 { + color: #d9e6b3 !important; +} +.t-yc-m3 { + color: #c6d98c !important; +} +.t-yc-m4 { + color: #b3cc66 !important; +} +.t-yc-m5 { + color: #9fbf40 !important; +} +.t-yc-m6 { + color: #809933 !important; +} +.t-yc-m7 { + color: #607326 !important; +} +.t-yc-m8 { + color: #404d19 !important; +} +.t-yc-m9 { + color: #20260d !important; +} +.t-yc-d1 { + color: #e8ebe0 !important; +} +.t-yc-d2 { + color: #d1d6c2 !important; +} +.t-yc-d3 { + color: #bac2a3 !important; +} +.t-yc-d4 { + color: #a3ad85 !important; +} +.t-yc-d5 { + color: #8c9966 !important; +} +.t-yc-d6 { + color: #707a52 !important; +} +.t-yc-d7 { + color: #545c3d !important; +} +.t-yc-d8 { + color: #383d29 !important; +} +.t-yc-d9 { + color: #1c1f14 !important; +} +.t-ch-l1 { + color: #e6fad1 !important; +} +.t-ch-l2 { + color: #ccf5a3 !important; +} +.t-ch-l3 { + color: #b3f075 !important; +} +.t-ch-l4 { + color: #99eb47 !important; +} +.t-ch-l5 { + color: #80e619 !important; +} +.t-ch-l6 { + color: #66b814 !important; +} +.t-ch-l7 { + color: #4d8a0f !important; +} +.t-ch-l8 { + color: #335c0a !important; +} +.t-ch-l9 { + color: #1a2e05 !important; +} +.t-ch-m1 { + color: #e6f2d9 !important; +} +.t-ch-m2 { + color: #cce6b3 !important; +} +.t-ch-m3 { + color: #b3d98c !important; +} +.t-ch-m4 { + color: #99cc66 !important; +} +.t-ch-m5 { + color: #80bf40 !important; +} +.t-ch-m6 { + color: #669933 !important; +} +.t-ch-m7 { + color: #4d7326 !important; +} +.t-ch-m8 { + color: #334d19 !important; +} +.t-ch-m9 { + color: #1a260d !important; +} +.t-ch-d1 { + color: #e6ebe0 !important; +} +.t-ch-d2 { + color: #ccd6c2 !important; +} +.t-ch-d3 { + color: #b3c2a3 !important; +} +.t-ch-d4 { + color: #99ad85 !important; +} +.t-ch-d5 { + color: #809966 !important; +} +.t-ch-d6 { + color: #667a52 !important; +} +.t-ch-d7 { + color: #4d5c3d !important; +} +.t-ch-d8 { + color: #333d29 !important; +} +.t-ch-d9 { + color: #191f14 !important; +} +.t-cg-l1 { + color: #dbfad1 !important; +} +.t-cg-l2 { + color: #b8f5a3 !important; +} +.t-cg-l3 { + color: #94f075 !important; +} +.t-cg-l4 { + color: #70eb47 !important; +} +.t-cg-l5 { + color: #4ce619 !important; +} +.t-cg-l6 { + color: #3db814 !important; +} +.t-cg-l7 { + color: #2e8a0f !important; +} +.t-cg-l8 { + color: #1f5c0a !important; +} +.t-cg-l9 { + color: #0f2e05 !important; +} +.t-cg-m1 { + color: #dff2d9 !important; +} +.t-cg-m2 { + color: #bfe6b3 !important; +} +.t-cg-m3 { + color: #9fd98c !important; +} +.t-cg-m4 { + color: #7fcc66 !important; +} +.t-cg-m5 { + color: #60bf40 !important; +} +.t-cg-m6 { + color: #4c9933 !important; +} +.t-cg-m7 { + color: #397326 !important; +} +.t-cg-m8 { + color: #264d19 !important; +} +.t-cg-m9 { + color: #13260d !important; +} +.t-cg-d1 { + color: #e3ebe0 !important; +} +.t-cg-d2 { + color: #c7d6c2 !important; +} +.t-cg-d3 { + color: #abc2a3 !important; +} +.t-cg-d4 { + color: #8fad85 !important; +} +.t-cg-d5 { + color: #739966 !important; +} +.t-cg-d6 { + color: #5c7a52 !important; +} +.t-cg-d7 { + color: #455c3d !important; +} +.t-cg-d8 { + color: #2e3d29 !important; +} +.t-cg-d9 { + color: #171f14 !important; +} +.t-gr-l1 { + color: #d1fad1 !important; +} +.t-gr-l2 { + color: #a3f5a3 !important; +} +.t-gr-l3 { + color: #75f075 !important; +} +.t-gr-l4 { + color: #47eb47 !important; +} +.t-gr-l5 { + color: #19e619 !important; +} +.t-gr-l6 { + color: #14b814 !important; +} +.t-gr-l7 { + color: #0f8a0f !important; +} +.t-gr-l8 { + color: #0a5c0a !important; +} +.t-gr-l9 { + color: #052e05 !important; +} +.t-gr-m1 { + color: #d9f2d9 !important; +} +.t-gr-m2 { + color: #b3e6b3 !important; +} +.t-gr-m3 { + color: #8cd98c !important; +} +.t-gr-m4 { + color: #66cc66 !important; +} +.t-gr-m5 { + color: #40bf40 !important; +} +.t-gr-m6 { + color: #339933 !important; +} +.t-gr-m7 { + color: #267326 !important; +} +.t-gr-m8 { + color: #194d19 !important; +} +.t-gr-m9 { + color: #0d260d !important; +} +.t-gr-d1 { + color: #e0ebe0 !important; +} +.t-gr-d2 { + color: #c2d6c2 !important; +} +.t-gr-d3 { + color: #a3c2a3 !important; +} +.t-gr-d4 { + color: #85ad85 !important; +} +.t-gr-d5 { + color: #669966 !important; +} +.t-gr-d6 { + color: #527a52 !important; +} +.t-gr-d7 { + color: #3d5c3d !important; +} +.t-gr-d8 { + color: #293d29 !important; +} +.t-gr-d9 { + color: #141f14 !important; +} +.t-ga-l1 { + color: #d1fadb !important; +} +.t-ga-l2 { + color: #a3f5b8 !important; +} +.t-ga-l3 { + color: #75f094 !important; +} +.t-ga-l4 { + color: #47eb70 !important; +} +.t-ga-l5 { + color: #19e64d !important; +} +.t-ga-l6 { + color: #14b83d !important; +} +.t-ga-l7 { + color: #0f8a2e !important; +} +.t-ga-l8 { + color: #0a5c1f !important; +} +.t-ga-l9 { + color: #052e0f !important; +} +.t-ga-m1 { + color: #d9f2df !important; +} +.t-ga-m2 { + color: #b3e6bf !important; +} +.t-ga-m3 { + color: #8cd99f !important; +} +.t-ga-m4 { + color: #66cc80 !important; +} +.t-ga-m5 { + color: #40bf60 !important; +} +.t-ga-m6 { + color: #33994d !important; +} +.t-ga-m7 { + color: #267339 !important; +} +.t-ga-m8 { + color: #194d26 !important; +} +.t-ga-m9 { + color: #0d2613 !important; +} +.t-ga-d1 { + color: #e0ebe3 !important; +} +.t-ga-d2 { + color: #c2d6c7 !important; +} +.t-ga-d3 { + color: #a3c2ab !important; +} +.t-ga-d4 { + color: #85ad8f !important; +} +.t-ga-d5 { + color: #669973 !important; +} +.t-ga-d6 { + color: #527a5c !important; +} +.t-ga-d7 { + color: #3d5c45 !important; +} +.t-ga-d8 { + color: #293d2e !important; +} +.t-ga-d9 { + color: #141f17 !important; +} +.t-aq-l1 { + color: #d1fae6 !important; +} +.t-aq-l2 { + color: #a3f5cc !important; +} +.t-aq-l3 { + color: #75f0b3 !important; +} +.t-aq-l4 { + color: #47eb99 !important; +} +.t-aq-l5 { + color: #19e680 !important; +} +.t-aq-l6 { + color: #14b866 !important; +} +.t-aq-l7 { + color: #0f8a4d !important; +} +.t-aq-l8 { + color: #0a5c33 !important; +} +.t-aq-l9 { + color: #052e1a !important; +} +.t-aq-m1 { + color: #d9f2e6 !important; +} +.t-aq-m2 { + color: #b3e6cc !important; +} +.t-aq-m3 { + color: #8cd9b3 !important; +} +.t-aq-m4 { + color: #66cc99 !important; +} +.t-aq-m5 { + color: #40bf80 !important; +} +.t-aq-m6 { + color: #339966 !important; +} +.t-aq-m7 { + color: #26734d !important; +} +.t-aq-m8 { + color: #194d33 !important; +} +.t-aq-m9 { + color: #0d261a !important; +} +.t-aq-d1 { + color: #e0ebe6 !important; +} +.t-aq-d2 { + color: #c2d6cc !important; +} +.t-aq-d3 { + color: #a3c2b3 !important; +} +.t-aq-d4 { + color: #85ad99 !important; +} +.t-aq-d5 { + color: #669980 !important; +} +.t-aq-d6 { + color: #527a66 !important; +} +.t-aq-d7 { + color: #3d5c4d !important; +} +.t-aq-d8 { + color: #293d33 !important; +} +.t-aq-d9 { + color: #141f19 !important; +} +.t-ac-l1 { + color: #d1faf0 !important; +} +.t-ac-l2 { + color: #a3f5e0 !important; +} +.t-ac-l3 { + color: #75f0d1 !important; +} +.t-ac-l4 { + color: #47ebc2 !important; +} +.t-ac-l5 { + color: #19e6b3 !important; +} +.t-ac-l6 { + color: #14b88f !important; +} +.t-ac-l7 { + color: #0f8a6b !important; +} +.t-ac-l8 { + color: #0a5c47 !important; +} +.t-ac-l9 { + color: #052e24 !important; +} +.t-ac-m1 { + color: #d9f2ec !important; +} +.t-ac-m2 { + color: #b3e6d9 !important; +} +.t-ac-m3 { + color: #8cd9c6 !important; +} +.t-ac-m4 { + color: #66ccb3 !important; +} +.t-ac-m5 { + color: #40bf9f !important; +} +.t-ac-m6 { + color: #339980 !important; +} +.t-ac-m7 { + color: #267360 !important; +} +.t-ac-m8 { + color: #194d40 !important; +} +.t-ac-m9 { + color: #0d2620 !important; +} +.t-ac-d1 { + color: #e0ebe8 !important; +} +.t-ac-d2 { + color: #c2d6d1 !important; +} +.t-ac-d3 { + color: #a3c2ba !important; +} +.t-ac-d4 { + color: #85ada3 !important; +} +.t-ac-d5 { + color: #66998c !important; +} +.t-ac-d6 { + color: #527a70 !important; +} +.t-ac-d7 { + color: #3d5c54 !important; +} +.t-ac-d8 { + color: #293d38 !important; +} +.t-ac-d9 { + color: #141f1c !important; +} +.t-cy-l1 { + color: #d1fafa !important; +} +.t-cy-l2 { + color: #a3f5f5 !important; +} +.t-cy-l3 { + color: #75f0f0 !important; +} +.t-cy-l4 { + color: #47ebeb !important; +} +.t-cy-l5 { + color: #19e5e6 !important; +} +.t-cy-l6 { + color: #14b8b8 !important; +} +.t-cy-l7 { + color: #0f8a8a !important; +} +.t-cy-l8 { + color: #0a5c5c !important; +} +.t-cy-l9 { + color: #052e2e !important; +} +.t-cy-m1 { + color: #d9f2f2 !important; +} +.t-cy-m2 { + color: #b3e5e6 !important; +} +.t-cy-m3 { + color: #8cd9d9 !important; +} +.t-cy-m4 { + color: #66cccc !important; +} +.t-cy-m5 { + color: #40bfbf !important; +} +.t-cy-m6 { + color: #339999 !important; +} +.t-cy-m7 { + color: #267373 !important; +} +.t-cy-m8 { + color: #194d4d !important; +} +.t-cy-m9 { + color: #0d2626 !important; +} +.t-cy-d1 { + color: #e0ebeb !important; +} +.t-cy-d2 { + color: #c2d6d6 !important; +} +.t-cy-d3 { + color: #a3c2c2 !important; +} +.t-cy-d4 { + color: #85adad !important; +} +.t-cy-d5 { + color: #669999 !important; +} +.t-cy-d6 { + color: #527a7a !important; +} +.t-cy-d7 { + color: #3d5c5c !important; +} +.t-cy-d8 { + color: #293d3d !important; +} +.t-cy-d9 { + color: #141f1f !important; +} +.t-cb-l1 { + color: #d1f0fa !important; +} +.t-cb-l2 { + color: #a3e0f5 !important; +} +.t-cb-l3 { + color: #75d1f0 !important; +} +.t-cb-l4 { + color: #47c2eb !important; +} +.t-cb-l5 { + color: #19b3e6 !important; +} +.t-cb-l6 { + color: #148fb8 !important; +} +.t-cb-l7 { + color: #0f6b8a !important; +} +.t-cb-l8 { + color: #0a475c !important; +} +.t-cb-l9 { + color: #05242e !important; +} +.t-cb-m1 { + color: #d9ecf2 !important; +} +.t-cb-m2 { + color: #b3d9e6 !important; +} +.t-cb-m3 { + color: #8cc6d9 !important; +} +.t-cb-m4 { + color: #66b3cc !important; +} +.t-cb-m5 { + color: #409fbf !important; +} +.t-cb-m6 { + color: #338099 !important; +} +.t-cb-m7 { + color: #266073 !important; +} +.t-cb-m8 { + color: #19404d !important; +} +.t-cb-m9 { + color: #0d2026 !important; +} +.t-cb-d1 { + color: #e0e8eb !important; +} +.t-cb-d2 { + color: #c2d1d6 !important; +} +.t-cb-d3 { + color: #a3bac2 !important; +} +.t-cb-d4 { + color: #85a3ad !important; +} +.t-cb-d5 { + color: #668c99 !important; +} +.t-cb-d6 { + color: #52707a !important; +} +.t-cb-d7 { + color: #3d545c !important; +} +.t-cb-d8 { + color: #29383d !important; +} +.t-cb-d9 { + color: #141c1f !important; +} +.t-bl-l1 { + color: #d1e5fa !important; +} +.t-bl-l2 { + color: #a3ccf5 !important; +} +.t-bl-l3 { + color: #75b2f0 !important; +} +.t-bl-l4 { + color: #4799eb !important; +} +.t-bl-l5 { + color: #197fe6 !important; +} +.t-bl-l6 { + color: #1466b8 !important; +} +.t-bl-l7 { + color: #0f4c8a !important; +} +.t-bl-l8 { + color: #0a335c !important; +} +.t-bl-l9 { + color: #05192e !important; +} +.t-bl-m1 { + color: #d9e6f2 !important; +} +.t-bl-m2 { + color: #b3cce6 !important; +} +.t-bl-m3 { + color: #8cb2d9 !important; +} +.t-bl-m4 { + color: #6699cc !important; +} +.t-bl-m5 { + color: #407fbf !important; +} +.t-bl-m6 { + color: #336699 !important; +} +.t-bl-m7 { + color: #264c73 !important; +} +.t-bl-m8 { + color: #19334d !important; +} +.t-bl-m9 { + color: #0d1926 !important; +} +.t-bl-d1 { + color: #e0e6eb !important; +} +.t-bl-d2 { + color: #c2ccd6 !important; +} +.t-bl-d3 { + color: #a3b3c2 !important; +} +.t-bl-d4 { + color: #8599ad !important; +} +.t-bl-d5 { + color: #667f99 !important; +} +.t-bl-d6 { + color: #52667a !important; +} +.t-bl-d7 { + color: #3d4c5c !important; +} +.t-bl-d8 { + color: #29333d !important; +} +.t-bl-d9 { + color: #14191f !important; +} +.t-bi-l1 { + color: #d1dbfa !important; +} +.t-bi-l2 { + color: #a3b8f5 !important; +} +.t-bi-l3 { + color: #7594f0 !important; +} +.t-bi-l4 { + color: #4770eb !important; +} +.t-bi-l5 { + color: #194ce6 !important; +} +.t-bi-l6 { + color: #143db8 !important; +} +.t-bi-l7 { + color: #0f2e8a !important; +} +.t-bi-l8 { + color: #0a1f5c !important; +} +.t-bi-l9 { + color: #050f2e !important; +} +.t-bi-m1 { + color: #d9dff2 !important; +} +.t-bi-m2 { + color: #b3bfe6 !important; +} +.t-bi-m3 { + color: #8c9fd9 !important; +} +.t-bi-m4 { + color: #667fcc !important; +} +.t-bi-m5 { + color: #4060bf !important; +} +.t-bi-m6 { + color: #334c99 !important; +} +.t-bi-m7 { + color: #263973 !important; +} +.t-bi-m8 { + color: #19264d !important; +} +.t-bi-m9 { + color: #0d1326 !important; +} +.t-bi-d1 { + color: #e0e3eb !important; +} +.t-bi-d2 { + color: #c2c7d6 !important; +} +.t-bi-d3 { + color: #a3abc2 !important; +} +.t-bi-d4 { + color: #858fad !important; +} +.t-bi-d5 { + color: #667399 !important; +} +.t-bi-d6 { + color: #525c7a !important; +} +.t-bi-d7 { + color: #3d455c !important; +} +.t-bi-d8 { + color: #292e3d !important; +} +.t-bi-d9 { + color: #14171f !important; +} +.t-in-l1 { + color: #d1d1fa !important; +} +.t-in-l2 { + color: #a3a3f5 !important; +} +.t-in-l3 { + color: #7575f0 !important; +} +.t-in-l4 { + color: #4747eb !important; +} +.t-in-l5 { + color: #1919e6 !important; +} +.t-in-l6 { + color: #1414b8 !important; +} +.t-in-l7 { + color: #0f0f8a !important; +} +.t-in-l8 { + color: #0a0a5c !important; +} +.t-in-l9 { + color: #05052e !important; +} +.t-in-m1 { + color: #d9d9f2 !important; +} +.t-in-m2 { + color: #b3b3e6 !important; +} +.t-in-m3 { + color: #8c8cd9 !important; +} +.t-in-m4 { + color: #6666cc !important; +} +.t-in-m5 { + color: #4040bf !important; +} +.t-in-m6 { + color: #333399 !important; +} +.t-in-m7 { + color: #262673 !important; +} +.t-in-m8 { + color: #19194d !important; +} +.t-in-m9 { + color: #0d0d26 !important; +} +.t-in-d1 { + color: #e0e0eb !important; +} +.t-in-d2 { + color: #c2c2d6 !important; +} +.t-in-d3 { + color: #a3a3c2 !important; +} +.t-in-d4 { + color: #8585ad !important; +} +.t-in-d5 { + color: #666699 !important; +} +.t-in-d6 { + color: #52527a !important; +} +.t-in-d7 { + color: #3d3d5c !important; +} +.t-in-d8 { + color: #29293d !important; +} +.t-in-d9 { + color: #14141f !important; +} +.t-ip-l1 { + color: #dbd1fa !important; +} +.t-ip-l2 { + color: #b8a3f5 !important; +} +.t-ip-l3 { + color: #9475f0 !important; +} +.t-ip-l4 { + color: #7047eb !important; +} +.t-ip-l5 { + color: #4d19e6 !important; +} +.t-ip-l6 { + color: #3d14b8 !important; +} +.t-ip-l7 { + color: #2e0f8a !important; +} +.t-ip-l8 { + color: #1f0a5c !important; +} +.t-ip-l9 { + color: #0f052e !important; +} +.t-ip-m1 { + color: #dfd9f2 !important; +} +.t-ip-m2 { + color: #bfb3e6 !important; +} +.t-ip-m3 { + color: #9f8cd9 !important; +} +.t-ip-m4 { + color: #8066cc !important; +} +.t-ip-m5 { + color: #6040bf !important; +} +.t-ip-m6 { + color: #4d3399 !important; +} +.t-ip-m7 { + color: #392673 !important; +} +.t-ip-m8 { + color: #26194d !important; +} +.t-ip-m9 { + color: #130d26 !important; +} +.t-ip-d1 { + color: #e3e0eb !important; +} +.t-ip-d2 { + color: #c7c2d6 !important; +} +.t-ip-d3 { + color: #aba3c2 !important; +} +.t-ip-d4 { + color: #8f85ad !important; +} +.t-ip-d5 { + color: #736699 !important; +} +.t-ip-d6 { + color: #5c527a !important; +} +.t-ip-d7 { + color: #453d5c !important; +} +.t-ip-d8 { + color: #2e293d !important; +} +.t-ip-d9 { + color: #17141f !important; +} +.t-pu-l1 { + color: #e5d1fa !important; +} +.t-pu-l2 { + color: #cca3f5 !important; +} +.t-pu-l3 { + color: #b275f0 !important; +} +.t-pu-l4 { + color: #9947eb !important; +} +.t-pu-l5 { + color: #7f19e6 !important; +} +.t-pu-l6 { + color: #6614b8 !important; +} +.t-pu-l7 { + color: #4c0f8a !important; +} +.t-pu-l8 { + color: #330a5c !important; +} +.t-pu-l9 { + color: #19052e !important; +} +.t-pu-m1 { + color: #e6d9f2 !important; +} +.t-pu-m2 { + color: #ccb3e6 !important; +} +.t-pu-m3 { + color: #b28cd9 !important; +} +.t-pu-m4 { + color: #9966cc !important; +} +.t-pu-m5 { + color: #7f40bf !important; +} +.t-pu-m6 { + color: #663399 !important; +} +.t-pu-m7 { + color: #4c2673 !important; +} +.t-pu-m8 { + color: #33194d !important; +} +.t-pu-m9 { + color: #190d26 !important; +} +.t-pu-d1 { + color: #e6e0eb !important; +} +.t-pu-d2 { + color: #ccc2d6 !important; +} +.t-pu-d3 { + color: #b3a3c2 !important; +} +.t-pu-d4 { + color: #9985ad !important; +} +.t-pu-d5 { + color: #7f6699 !important; +} +.t-pu-d6 { + color: #66527a !important; +} +.t-pu-d7 { + color: #4c3d5c !important; +} +.t-pu-d8 { + color: #33293d !important; +} +.t-pu-d9 { + color: #19141f !important; +} +.t-pp-l1 { + color: #f0d1fa !important; +} +.t-pp-l2 { + color: #e0a3f5 !important; +} +.t-pp-l3 { + color: #d175f0 !important; +} +.t-pp-l4 { + color: #c247eb !important; +} +.t-pp-l5 { + color: #b319e6 !important; +} +.t-pp-l6 { + color: #8f14b8 !important; +} +.t-pp-l7 { + color: #6b0f8a !important; +} +.t-pp-l8 { + color: #470a5c !important; +} +.t-pp-l9 { + color: #24052e !important; +} +.t-pp-m1 { + color: #ecd9f2 !important; +} +.t-pp-m2 { + color: #d9b3e6 !important; +} +.t-pp-m3 { + color: #c68cd9 !important; +} +.t-pp-m4 { + color: #b366cc !important; +} +.t-pp-m5 { + color: #9f40bf !important; +} +.t-pp-m6 { + color: #803399 !important; +} +.t-pp-m7 { + color: #602673 !important; +} +.t-pp-m8 { + color: #40194d !important; +} +.t-pp-m9 { + color: #200d26 !important; +} +.t-pp-d1 { + color: #e8e0eb !important; +} +.t-pp-d2 { + color: #d1c2d6 !important; +} +.t-pp-d3 { + color: #baa3c2 !important; +} +.t-pp-d4 { + color: #a385ad !important; +} +.t-pp-d5 { + color: #8c6699 !important; +} +.t-pp-d6 { + color: #70527a !important; +} +.t-pp-d7 { + color: #543d5c !important; +} +.t-pp-d8 { + color: #38293d !important; +} +.t-pp-d9 { + color: #1c141f !important; +} +.t-pi-l1 { + color: #fad1fa !important; +} +.t-pi-l2 { + color: #f5a3f5 !important; +} +.t-pi-l3 { + color: #f075f0 !important; +} +.t-pi-l4 { + color: #eb47eb !important; +} +.t-pi-l5 { + color: #e619e5 !important; +} +.t-pi-l6 { + color: #b814b8 !important; +} +.t-pi-l7 { + color: #8a0f8a !important; +} +.t-pi-l8 { + color: #5c0a5c !important; +} +.t-pi-l9 { + color: #2e052e !important; +} +.t-pi-m1 { + color: #f2d9f2 !important; +} +.t-pi-m2 { + color: #e6b3e5 !important; +} +.t-pi-m3 { + color: #d98cd9 !important; +} +.t-pi-m4 { + color: #cc66cc !important; +} +.t-pi-m5 { + color: #bf40bf !important; +} +.t-pi-m6 { + color: #993399 !important; +} +.t-pi-m7 { + color: #732673 !important; +} +.t-pi-m8 { + color: #4d194d !important; +} +.t-pi-m9 { + color: #260d26 !important; +} +.t-pi-d1 { + color: #ebe0eb !important; +} +.t-pi-d2 { + color: #d6c2d6 !important; +} +.t-pi-d3 { + color: #c2a3c2 !important; +} +.t-pi-d4 { + color: #ad85ad !important; +} +.t-pi-d5 { + color: #996699 !important; +} +.t-pi-d6 { + color: #7a527a !important; +} +.t-pi-d7 { + color: #5c3d5c !important; +} +.t-pi-d8 { + color: #3d293d !important; +} +.t-pi-d9 { + color: #1f141f !important; +} +.t-pv-l1 { + color: #fad1f0 !important; +} +.t-pv-l2 { + color: #f5a3e0 !important; +} +.t-pv-l3 { + color: #f075d1 !important; +} +.t-pv-l4 { + color: #eb47c2 !important; +} +.t-pv-l5 { + color: #e619b2 !important; +} +.t-pv-l6 { + color: #b8148f !important; +} +.t-pv-l7 { + color: #8a0f6b !important; +} +.t-pv-l8 { + color: #5c0a47 !important; +} +.t-pv-l9 { + color: #2e0524 !important; +} +.t-pv-m1 { + color: #f2d9ec !important; +} +.t-pv-m2 { + color: #e6b3d9 !important; +} +.t-pv-m3 { + color: #d98cc6 !important; +} +.t-pv-m4 { + color: #cc66b2 !important; +} +.t-pv-m5 { + color: #bf409f !important; +} +.t-pv-m6 { + color: #99337f !important; +} +.t-pv-m7 { + color: #732660 !important; +} +.t-pv-m8 { + color: #4d1940 !important; +} +.t-pv-m9 { + color: #260d20 !important; +} +.t-pv-d1 { + color: #ebe0e8 !important; +} +.t-pv-d2 { + color: #d6c2d1 !important; +} +.t-pv-d3 { + color: #c2a3ba !important; +} +.t-pv-d4 { + color: #ad85a3 !important; +} +.t-pv-d5 { + color: #99668c !important; +} +.t-pv-d6 { + color: #7a5270 !important; +} +.t-pv-d7 { + color: #5c3d54 !important; +} +.t-pv-d8 { + color: #3d2938 !important; +} +.t-pv-d9 { + color: #1f141c !important; +} +.t-vi-l1 { + color: #fad1e6 !important; +} +.t-vi-l2 { + color: #f5a3cc !important; +} +.t-vi-l3 { + color: #f075b3 !important; +} +.t-vi-l4 { + color: #eb4799 !important; +} +.t-vi-l5 { + color: #e61980 !important; +} +.t-vi-l6 { + color: #b81466 !important; +} +.t-vi-l7 { + color: #8a0f4d !important; +} +.t-vi-l8 { + color: #5c0a33 !important; +} +.t-vi-l9 { + color: #2e051a !important; +} +.t-vi-m1 { + color: #f2d9e6 !important; +} +.t-vi-m2 { + color: #e6b3cc !important; +} +.t-vi-m3 { + color: #d98cb3 !important; +} +.t-vi-m4 { + color: #cc6699 !important; +} +.t-vi-m5 { + color: #bf4080 !important; +} +.t-vi-m6 { + color: #993366 !important; +} +.t-vi-m7 { + color: #73264d !important; +} +.t-vi-m8 { + color: #4d1933 !important; +} +.t-vi-m9 { + color: #260d1a !important; +} +.t-vi-d1 { + color: #ebe0e6 !important; +} +.t-vi-d2 { + color: #d6c2cc !important; +} +.t-vi-d3 { + color: #c2a3b3 !important; +} +.t-vi-d4 { + color: #ad8599 !important; +} +.t-vi-d5 { + color: #996680 !important; +} +.t-vi-d6 { + color: #7a5266 !important; +} +.t-vi-d7 { + color: #5c3d4d !important; +} +.t-vi-d8 { + color: #3d2933 !important; +} +.t-vi-d9 { + color: #1f1419 !important; +} +.t-vr-l1 { + color: #fad1db !important; +} +.t-vr-l2 { + color: #f5a3b8 !important; +} +.t-vr-l3 { + color: #f07594 !important; +} +.t-vr-l4 { + color: #eb4770 !important; +} +.t-vr-l5 { + color: #e6194c !important; +} +.t-vr-l6 { + color: #b8143d !important; +} +.t-vr-l7 { + color: #8a0f2e !important; +} +.t-vr-l8 { + color: #5c0a1f !important; +} +.t-vr-l9 { + color: #2e050f !important; +} +.t-vr-m1 { + color: #f2d9df !important; +} +.t-vr-m2 { + color: #e6b3bf !important; +} +.t-vr-m3 { + color: #d98c9f !important; +} +.t-vr-m4 { + color: #cc667f !important; +} +.t-vr-m5 { + color: #bf4060 !important; +} +.t-vr-m6 { + color: #99334c !important; +} +.t-vr-m7 { + color: #732639 !important; +} +.t-vr-m8 { + color: #4d1926 !important; +} +.t-vr-m9 { + color: #260d13 !important; +} +.t-vr-d1 { + color: #ebe0e3 !important; +} +.t-vr-d2 { + color: #d6c2c7 !important; +} +.t-vr-d3 { + color: #c2a3ab !important; +} +.t-vr-d4 { + color: #ad858f !important; +} +.t-vr-d5 { + color: #996673 !important; +} +.t-vr-d6 { + color: #7a525c !important; +} +.t-vr-d7 { + color: #5c3d45 !important; +} +.t-vr-d8 { + color: #3d292e !important; +} +.t-vr-d9 { + color: #1f1417 !important; +} +.t-gy-l1 { + color: #f2f2f2 !important; +} +.t-gy-l2 { + color: #e6e6e6 !important; +} +.t-gy-l3 { + color: #d9d9d9 !important; +} +.t-gy-l4 { + color: #cccccc !important; +} +.t-gy-l5 { + color: #bfbfbf !important; +} +.t-gy-l6 { + color: #b3b3b3 !important; +} +.t-gy-l7 { + color: #a6a6a6 !important; +} +.t-gy-l8 { + color: #999999 !important; +} +.t-gy-l9 { + color: #8c8c8c !important; +} +.t-gy-m1 { + color: #b3b3b3 !important; +} +.t-gy-m2 { + color: #a6a6a6 !important; +} +.t-gy-m3 { + color: #999999 !important; +} +.t-gy-m4 { + color: #8c8c8c !important; +} +.t-gy-m5 { + color: #808080 !important; +} +.t-gy-m6 { + color: #737373 !important; +} +.t-gy-m7 { + color: #666666 !important; +} +.t-gy-m8 { + color: #595959 !important; +} +.t-gy-m9 { + color: #4d4d4d !important; +} +.t-gy-d1 { + color: #808080 !important; +} +.t-gy-d2 { + color: #737373 !important; +} +.t-gy-d3 { + color: #666666 !important; +} +.t-gy-d4 { + color: #595959 !important; +} +.t-gy-d5 { + color: #4d4d4d !important; +} +.t-gy-d6 { + color: #404040 !important; +} +.t-gy-d7 { + color: #333333 !important; +} +.t-gy-d8 { + color: #262626 !important; +} +.t-gy-d9 { + color: #1a1a1a !important; +} +.t-re { + color: #ff0000 !important; +} +.t-ro { + color: #ff4000 !important; +} +.t-or { + color: #ff8000 !important; +} +.t-oy { + color: #ffbf00 !important; +} +.t-ye { + color: #ffff00 !important; +} +.t-yc { + color: #bfff00 !important; +} +.t-ch { + color: #80ff00 !important; +} +.t-cg { + color: #40ff00 !important; +} +.t-gr { + color: #00ff00 !important; +} +.t-ga { + color: #00ff40 !important; +} +.t-aq { + color: #00ff80 !important; +} +.t-ac { + color: #00ffbf !important; +} +.t-cy { + color: #00ffff !important; +} +.t-cb { + color: #00bfff !important; +} +.t-bl { + color: #007fff !important; +} +.t-bi { + color: #0040ff !important; +} +.t-in { + color: #0000ff !important; +} +.t-ip { + color: #4000ff !important; +} +.t-pu { + color: #7f00ff !important; +} +.t-pp { + color: #bf00ff !important; +} +.t-pi { + color: #ff00ff !important; +} +.t-pv { + color: #ff00bf !important; +} +.t-vi { + color: #ff0080 !important; +} +.t-vr { + color: #ff0040 !important; +} +.t-gy { + color: #000 !important; +} +.t-wh { + color: #fff !important; +} +.t-bk { + color: #000 !important; +} +.t-tr { + color: transparent !important; +} +.t-re-l { + color: #e61919 !important; +} +.t-ro-l { + color: #e64d19 !important; +} +.t-or-l { + color: #e68019 !important; +} +.t-oy-l { + color: #e6b319 !important; +} +.t-ye-l { + color: #e5e619 !important; +} +.t-yc-l { + color: #b3e619 !important; +} +.t-ch-l { + color: #80e619 !important; +} +.t-cg-l { + color: #4ce619 !important; +} +.t-gr-l { + color: #19e619 !important; +} +.t-ga-l { + color: #19e64d !important; +} +.t-aq-l { + color: #19e680 !important; +} +.t-ac-l { + color: #19e6b3 !important; +} +.t-cy-l { + color: #19e5e6 !important; +} +.t-cb-l { + color: #19b3e6 !important; +} +.t-bl-l { + color: #197fe6 !important; +} +.t-bi-l { + color: #194ce6 !important; +} +.t-in-l { + color: #1919e6 !important; +} +.t-ip-l { + color: #4d19e6 !important; +} +.t-pu-l { + color: #7f19e6 !important; +} +.t-pp-l { + color: #b319e6 !important; +} +.t-pi-l { + color: #e619e5 !important; +} +.t-pv-l { + color: #e619b2 !important; +} +.t-vi-l { + color: #e61980 !important; +} +.t-vr-l { + color: #e6194c !important; +} +.t-gy-l { + color: #bfbfbf !important; +} +.t-re-m { + color: #bf4040 !important; +} +.t-ro-m { + color: #bf6040 !important; +} +.t-or-m { + color: #bf8040 !important; +} +.t-oy-m { + color: #bf9f40 !important; +} +.t-ye-m { + color: #bfbf40 !important; +} +.t-yc-m { + color: #9fbf40 !important; +} +.t-ch-m { + color: #80bf40 !important; +} +.t-cg-m { + color: #60bf40 !important; +} +.t-gr-m { + color: #40bf40 !important; +} +.t-ga-m { + color: #40bf60 !important; +} +.t-aq-m { + color: #40bf80 !important; +} +.t-ac-m { + color: #40bf9f !important; +} +.t-cy-m { + color: #40bfbf !important; +} +.t-cb-m { + color: #409fbf !important; +} +.t-bl-m { + color: #407fbf !important; +} +.t-bi-m { + color: #4060bf !important; +} +.t-in-m { + color: #4040bf !important; +} +.t-ip-m { + color: #6040bf !important; +} +.t-pu-m { + color: #7f40bf !important; +} +.t-pp-m { + color: #9f40bf !important; +} +.t-pi-m { + color: #bf40bf !important; +} +.t-pv-m { + color: #bf409f !important; +} +.t-vi-m { + color: #bf4080 !important; +} +.t-vr-m { + color: #bf4060 !important; +} +.t-gy-m { + color: #808080 !important; +} +.t-re-d { + color: #996666 !important; +} +.t-ro-d { + color: #997366 !important; +} +.t-or-d { + color: #998066 !important; +} +.t-oy-d { + color: #998c66 !important; +} +.t-ye-d { + color: #999966 !important; +} +.t-yc-d { + color: #8c9966 !important; +} +.t-ch-d { + color: #809966 !important; +} +.t-cg-d { + color: #739966 !important; +} +.t-gr-d { + color: #669966 !important; +} +.t-ga-d { + color: #669973 !important; +} +.t-aq-d { + color: #669980 !important; +} +.t-ac-d { + color: #66998c !important; +} +.t-cy-d { + color: #669999 !important; +} +.t-cb-d { + color: #668c99 !important; +} +.t-bl-d { + color: #667f99 !important; +} +.t-bi-d { + color: #667399 !important; +} +.t-in-d { + color: #666699 !important; +} +.t-ip-d { + color: #736699 !important; +} +.t-pu-d { + color: #7f6699 !important; +} +.t-pp-d { + color: #8c6699 !important; +} +.t-pi-d { + color: #996699 !important; +} +.t-pv-d { + color: #99668c !important; +} +.t-vi-d { + color: #996680 !important; +} +.t-vr-d { + color: #996673 !important; +} +.t-gy-d { + color: #4d4d4d !important; +} +.bg-re-hl1 { + background-color: #fad1df !important; +} +.bg-re-hl2 { + background-color: #f5a3b8 !important; +} +.bg-re-hl3 { + background-color: #f0758a !important; +} +.bg-re-hl4 { + background-color: #eb4755 !important; +} +.bg-re-hl5 { + background-color: #e61919 !important; +} +.bg-re-hl6 { + background-color: #b82214 !important; +} +.bg-re-hl7 { + background-color: #8a240f !important; +} +.bg-re-hl8 { + background-color: #5c1f0a !important; +} +.bg-re-hl9 { + background-color: #2e1305 !important; +} +.bg-re-hm1 { + background-color: #f2d9e1 !important; +} +.bg-re-hm2 { + background-color: #e6b3bf !important; +} +.bg-re-hm3 { + background-color: #d98c99 !important; +} +.bg-re-hm4 { + background-color: #cc666e !important; +} +.bg-re-hm5 { + background-color: #bf4040 !important; +} +.bg-re-hm6 { + background-color: #993b33 !important; +} +.bg-re-hm7 { + background-color: #733326 !important; +} +.bg-re-hm8 { + background-color: #4d2619 !important; +} +.bg-re-hm9 { + background-color: #26150d !important; +} +.bg-re-hd1 { + background-color: #ebe0e4 !important; +} +.bg-re-hd2 { + background-color: #d6c2c7 !important; +} +.bg-re-hd3 { + background-color: #c2a3a8 !important; +} +.bg-re-hd4 { + background-color: #ad8588 !important; +} +.bg-re-hd5 { + background-color: #996666 !important; +} +.bg-re-hd6 { + background-color: #7a5552 !important; +} +.bg-re-hd7 { + background-color: #5c423d !important; +} +.bg-re-hd8 { + background-color: #3d2e29 !important; +} +.bg-re-hd9 { + background-color: #1f1814 !important; +} +.bg-ro-hl1 { + background-color: #fad1d4 !important; +} +.bg-ro-hl2 { + background-color: #f5a3a3 !important; +} +.bg-ro-hl3 { + background-color: #f07f75 !important; +} +.bg-ro-hl4 { + background-color: #eb6347 !important; +} +.bg-ro-hl5 { + background-color: #e64d19 !important; +} +.bg-ro-hl6 { + background-color: #b84b14 !important; +} +.bg-ro-hl7 { + background-color: #8a420f !important; +} +.bg-ro-hl8 { + background-color: #5c330a !important; +} +.bg-ro-hl9 { + background-color: #2e1d05 !important; +} +.bg-ro-hm1 { + background-color: #f2d9db !important; +} +.bg-ro-hm2 { + background-color: #e6b3b3 !important; +} +.bg-ro-hm3 { + background-color: #d9938c !important; +} +.bg-ro-hm4 { + background-color: #cc7766 !important; +} +.bg-ro-hm5 { + background-color: #bf6040 !important; +} +.bg-ro-hm6 { + background-color: #995533 !important; +} +.bg-ro-hm7 { + background-color: #734626 !important; +} +.bg-ro-hm8 { + background-color: #4d3319 !important; +} +.bg-ro-hm9 { + background-color: #261c0d !important; +} +.bg-ro-hd1 { + background-color: #ebe0e1 !important; +} +.bg-ro-hd2 { + background-color: #d6c2c2 !important; +} +.bg-ro-hd3 { + background-color: #c2a6a3 !important; +} +.bg-ro-hd4 { + background-color: #ad8b85 !important; +} +.bg-ro-hd5 { + background-color: #997366 !important; +} +.bg-ro-hd6 { + background-color: #7a5f52 !important; +} +.bg-ro-hd7 { + background-color: #5c4a3d !important; +} +.bg-ro-hd8 { + background-color: #3d3329 !important; +} +.bg-ro-hd9 { + background-color: #1f1a14 !important; +} +.bg-or-hl1 { + background-color: #fad8d1 !important; +} +.bg-or-hl2 { + background-color: #f5b8a3 !important; +} +.bg-or-hl3 { + background-color: #f09e75 !important; +} +.bg-or-hl4 { + background-color: #eb8b47 !important; +} +.bg-or-hl5 { + background-color: #e68019 !important; +} +.bg-or-hl6 { + background-color: #b87414 !important; +} +.bg-or-hl7 { + background-color: #8a610f !important; +} +.bg-or-hl8 { + background-color: #5c470a !important; +} +.bg-or-hl9 { + background-color: #2e2705 !important; +} +.bg-or-hm1 { + background-color: #f2ddd9 !important; +} +.bg-or-hm2 { + background-color: #e6bfb3 !important; +} +.bg-or-hm3 { + background-color: #d9a68c !important; +} +.bg-or-hm4 { + background-color: #cc9166 !important; +} +.bg-or-hm5 { + background-color: #bf8040 !important; +} +.bg-or-hm6 { + background-color: #996f33 !important; +} +.bg-or-hm7 { + background-color: #735926 !important; +} +.bg-or-hm8 { + background-color: #4d4019 !important; +} +.bg-or-hm9 { + background-color: #26220d !important; +} +.bg-or-hd1 { + background-color: #ebe2e0 !important; +} +.bg-or-hd2 { + background-color: #d6c7c2 !important; +} +.bg-or-hd3 { + background-color: #c2ada3 !important; +} +.bg-or-hd4 { + background-color: #ad9685 !important; +} +.bg-or-hd5 { + background-color: #998066 !important; +} +.bg-or-hd6 { + background-color: #7a6952 !important; +} +.bg-or-hd7 { + background-color: #5c523d !important; +} +.bg-or-hd8 { + background-color: #3d3829 !important; +} +.bg-or-hd9 { + background-color: #1f1d14 !important; +} +.bg-oy-hl1 { + background-color: #fae2d1 !important; +} +.bg-oy-hl2 { + background-color: #f5cca3 !important; +} +.bg-oy-hl3 { + background-color: #f0bd75 !important; +} +.bg-oy-hl4 { + background-color: #ebb447 !important; +} +.bg-oy-hl5 { + background-color: #e6b319 !important; +} +.bg-oy-hl6 { + background-color: #b89c14 !important; +} +.bg-oy-hl7 { + background-color: #8a800f !important; +} +.bg-oy-hl8 { + background-color: #5c5c0a !important; +} +.bg-oy-hl9 { + background-color: #2b2e05 !important; +} +.bg-oy-hm1 { + background-color: #f2e3d9 !important; +} +.bg-oy-hm2 { + background-color: #e6ccb3 !important; +} +.bg-oy-hm3 { + background-color: #d9b98c !important; +} +.bg-oy-hm4 { + background-color: #ccaa66 !important; +} +.bg-oy-hm5 { + background-color: #bf9f40 !important; +} +.bg-oy-hm6 { + background-color: #998833 !important; +} +.bg-oy-hm7 { + background-color: #736c26 !important; +} +.bg-oy-hm8 { + background-color: #4d4d19 !important; +} +.bg-oy-hm9 { + background-color: #24260d !important; +} +.bg-oy-hd1 { + background-color: #ebe5e0 !important; +} +.bg-oy-hd2 { + background-color: #d6ccc2 !important; +} +.bg-oy-hd3 { + background-color: #c2b5a3 !important; +} +.bg-oy-hd4 { + background-color: #ada085 !important; +} +.bg-oy-hd5 { + background-color: #998c66 !important; +} +.bg-oy-hd6 { + background-color: #7a7452 !important; +} +.bg-oy-hd7 { + background-color: #5c593d !important; +} +.bg-oy-hd8 { + background-color: #3d3d29 !important; +} +.bg-oy-hd9 { + background-color: #1e1f14 !important; +} +.bg-ye-hl1 { + background-color: #faecd1 !important; +} +.bg-ye-hl2 { + background-color: #f5e0a3 !important; +} +.bg-ye-hl3 { + background-color: #f0db75 !important; +} +.bg-ye-hl4 { + background-color: #ebdd47 !important; +} +.bg-ye-hl5 { + background-color: #e5e619 !important; +} +.bg-ye-hl6 { + background-color: #aab814 !important; +} +.bg-ye-hl7 { + background-color: #758a0f !important; +} +.bg-ye-hl8 { + background-color: #475c0a !important; +} +.bg-ye-hl9 { + background-color: #202e05 !important; +} +.bg-ye-hm1 { + background-color: #f2ead9 !important; +} +.bg-ye-hm2 { + background-color: #e6d9b3 !important; +} +.bg-ye-hm3 { + background-color: #d9cc8c !important; +} +.bg-ye-hm4 { + background-color: #ccc466 !important; +} +.bg-ye-hm5 { + background-color: #bfbf40 !important; +} +.bg-ye-hm6 { + background-color: #909933 !important; +} +.bg-ye-hm7 { + background-color: #667326 !important; +} +.bg-ye-hm8 { + background-color: #404d19 !important; +} +.bg-ye-hm9 { + background-color: #1e260d !important; +} +.bg-ye-hd1 { + background-color: #ebe7e0 !important; +} +.bg-ye-hd2 { + background-color: #d6d1c2 !important; +} +.bg-ye-hd3 { + background-color: #c2bda3 !important; +} +.bg-ye-hd4 { + background-color: #adaa85 !important; +} +.bg-ye-hd5 { + background-color: #999966 !important; +} +.bg-ye-hd6 { + background-color: #777a52 !important; +} +.bg-ye-hd7 { + background-color: #575c3d !important; +} +.bg-ye-hd8 { + background-color: #383d29 !important; +} +.bg-ye-hd9 { + background-color: #1b1f14 !important; +} +.bg-yc-hl1 { + background-color: #faf7d1 !important; +} +.bg-yc-hl2 { + background-color: #f5f5a3 !important; +} +.bg-yc-hl3 { + background-color: #e6f075 !important; +} +.bg-yc-hl4 { + background-color: #cfeb47 !important; +} +.bg-yc-hl5 { + background-color: #b3e619 !important; +} +.bg-yc-hl6 { + background-color: #81b814 !important; +} +.bg-yc-hl7 { + background-color: #578a0f !important; +} +.bg-yc-hl8 { + background-color: #335c0a !important; +} +.bg-yc-hl9 { + background-color: #162e05 !important; +} +.bg-yc-hm1 { + background-color: #f2f0d9 !important; +} +.bg-yc-hm2 { + background-color: #e5e6b3 !important; +} +.bg-yc-hm3 { + background-color: #d2d98c !important; +} +.bg-yc-hm4 { + background-color: #bbcc66 !important; +} +.bg-yc-hm5 { + background-color: #9fbf40 !important; +} +.bg-yc-hm6 { + background-color: #779933 !important; +} +.bg-yc-hm7 { + background-color: #537326 !important; +} +.bg-yc-hm8 { + background-color: #334d19 !important; +} +.bg-yc-hm9 { + background-color: #17260d !important; +} +.bg-yc-hd1 { + background-color: #ebeae0 !important; +} +.bg-yc-hd2 { + background-color: #d6d6c2 !important; +} +.bg-yc-hd3 { + background-color: #bfc2a3 !important; +} +.bg-yc-hd4 { + background-color: #a7ad85 !important; +} +.bg-yc-hd5 { + background-color: #8c9966 !important; +} +.bg-yc-hd6 { + background-color: #6d7a52 !important; +} +.bg-yc-hd7 { + background-color: #4f5c3d !important; +} +.bg-yc-hd8 { + background-color: #333d29 !important; +} +.bg-yc-hd9 { + background-color: #191f14 !important; +} +.bg-ch-hl1 { + background-color: #f3fad1 !important; +} +.bg-ch-hl2 { + background-color: #e0f5a3 !important; +} +.bg-ch-hl3 { + background-color: #c7f075 !important; +} +.bg-ch-hl4 { + background-color: #a7eb47 !important; +} +.bg-ch-hl5 { + background-color: #80e619 !important; +} +.bg-ch-hl6 { + background-color: #58b814 !important; +} +.bg-ch-hl7 { + background-color: #388a0f !important; +} +.bg-ch-hl8 { + background-color: #1f5c0a !important; +} +.bg-ch-hl9 { + background-color: #0c2e05 !important; +} +.bg-ch-hm1 { + background-color: #eef2d9 !important; +} +.bg-ch-hm2 { + background-color: #d9e6b3 !important; +} +.bg-ch-hm3 { + background-color: #bfd98c !important; +} +.bg-ch-hm4 { + background-color: #a2cc66 !important; +} +.bg-ch-hm5 { + background-color: #80bf40 !important; +} +.bg-ch-hm6 { + background-color: #5e9933 !important; +} +.bg-ch-hm7 { + background-color: #407326 !important; +} +.bg-ch-hm8 { + background-color: #264d19 !important; +} +.bg-ch-hm9 { + background-color: #11260d !important; +} +.bg-ch-hd1 { + background-color: #e9ebe0 !important; +} +.bg-ch-hd2 { + background-color: #d1d6c2 !important; +} +.bg-ch-hd3 { + background-color: #b8c2a3 !important; +} +.bg-ch-hd4 { + background-color: #9cad85 !important; +} +.bg-ch-hd5 { + background-color: #809966 !important; +} +.bg-ch-hd6 { + background-color: #637a52 !important; +} +.bg-ch-hd7 { + background-color: #475c3d !important; +} +.bg-ch-hd8 { + background-color: #2e3d29 !important; +} +.bg-ch-hd9 { + background-color: #161f14 !important; +} +.bg-cg-hl1 { + background-color: #e9fad1 !important; +} +.bg-cg-hl2 { + background-color: #ccf5a3 !important; +} +.bg-cg-hl3 { + background-color: #a8f075 !important; +} +.bg-cg-hl4 { + background-color: #7eeb47 !important; +} +.bg-cg-hl5 { + background-color: #4ce619 !important; +} +.bg-cg-hl6 { + background-color: #30b814 !important; +} +.bg-cg-hl7 { + background-color: #1a8a0f !important; +} +.bg-cg-hl8 { + background-color: #0a5c0a !important; +} +.bg-cg-hl9 { + background-color: #052e09 !important; +} +.bg-cg-hm1 { + background-color: #e8f2d9 !important; +} +.bg-cg-hm2 { + background-color: #cce6b3 !important; +} +.bg-cg-hm3 { + background-color: #acd98c !important; +} +.bg-cg-hm4 { + background-color: #88cc66 !important; +} +.bg-cg-hm5 { + background-color: #60bf40 !important; +} +.bg-cg-hm6 { + background-color: #449933 !important; +} +.bg-cg-hm7 { + background-color: #2d7326 !important; +} +.bg-cg-hm8 { + background-color: #194d19 !important; +} +.bg-cg-hm9 { + background-color: #0d260f !important; +} +.bg-cg-hd1 { + background-color: #e6ebe0 !important; +} +.bg-cg-hd2 { + background-color: #ccd6c2 !important; +} +.bg-cg-hd3 { + background-color: #b0c2a3 !important; +} +.bg-cg-hd4 { + background-color: #92ad85 !important; +} +.bg-cg-hd5 { + background-color: #739966 !important; +} +.bg-cg-hd6 { + background-color: #587a52 !important; +} +.bg-cg-hd7 { + background-color: #405c3d !important; +} +.bg-cg-hd8 { + background-color: #293d29 !important; +} +.bg-cg-hd9 { + background-color: #141f15 !important; +} +.bg-gr-hl1 { + background-color: #dffad1 !important; +} +.bg-gr-hl2 { + background-color: #b8f5a3 !important; +} +.bg-gr-hl3 { + background-color: #8af075 !important; +} +.bg-gr-hl4 { + background-color: #55eb47 !important; +} +.bg-gr-hl5 { + background-color: #19e619 !important; +} +.bg-gr-hl6 { + background-color: #14b822 !important; +} +.bg-gr-hl7 { + background-color: #0f8a24 !important; +} +.bg-gr-hl8 { + background-color: #0a5c1f !important; +} +.bg-gr-hl9 { + background-color: #052e13 !important; +} +.bg-gr-hm1 { + background-color: #e1f2d9 !important; +} +.bg-gr-hm2 { + background-color: #bfe6b3 !important; +} +.bg-gr-hm3 { + background-color: #99d98c !important; +} +.bg-gr-hm4 { + background-color: #6fcc66 !important; +} +.bg-gr-hm5 { + background-color: #40bf40 !important; +} +.bg-gr-hm6 { + background-color: #33993c !important; +} +.bg-gr-hm7 { + background-color: #267333 !important; +} +.bg-gr-hm8 { + background-color: #194d26 !important; +} +.bg-gr-hm9 { + background-color: #0d2615 !important; +} +.bg-gr-hd1 { + background-color: #e4ebe0 !important; +} +.bg-gr-hd2 { + background-color: #c7d6c2 !important; +} +.bg-gr-hd3 { + background-color: #a8c2a3 !important; +} +.bg-gr-hd4 { + background-color: #88ad85 !important; +} +.bg-gr-hd5 { + background-color: #669966 !important; +} +.bg-gr-hd6 { + background-color: #527a55 !important; +} +.bg-gr-hd7 { + background-color: #3d5c42 !important; +} +.bg-gr-hd8 { + background-color: #293d2e !important; +} +.bg-gr-hd9 { + background-color: #141f18 !important; +} +.bg-ga-hl1 { + background-color: #d5fad1 !important; +} +.bg-ga-hl2 { + background-color: #a3f5a3 !important; +} +.bg-ga-hl3 { + background-color: #75f080 !important; +} +.bg-ga-hl4 { + background-color: #47eb63 !important; +} +.bg-ga-hl5 { + background-color: #19e64d !important; +} +.bg-ga-hl6 { + background-color: #14b84b !important; +} +.bg-ga-hl7 { + background-color: #0f8a42 !important; +} +.bg-ga-hl8 { + background-color: #0a5c33 !important; +} +.bg-ga-hl9 { + background-color: #052e1d !important; +} +.bg-ga-hm1 { + background-color: #dbf2d9 !important; +} +.bg-ga-hm2 { + background-color: #b3e6b3 !important; +} +.bg-ga-hm3 { + background-color: #8cd993 !important; +} +.bg-ga-hm4 { + background-color: #66cc77 !important; +} +.bg-ga-hm5 { + background-color: #40bf60 !important; +} +.bg-ga-hm6 { + background-color: #339955 !important; +} +.bg-ga-hm7 { + background-color: #267346 !important; +} +.bg-ga-hm8 { + background-color: #194d33 !important; +} +.bg-ga-hm9 { + background-color: #0d261c !important; +} +.bg-ga-hd1 { + background-color: #e1ebe0 !important; +} +.bg-ga-hd2 { + background-color: #c2d6c2 !important; +} +.bg-ga-hd3 { + background-color: #a3c2a6 !important; +} +.bg-ga-hd4 { + background-color: #85ad8b !important; +} +.bg-ga-hd5 { + background-color: #669973 !important; +} +.bg-ga-hd6 { + background-color: #527a5f !important; +} +.bg-ga-hd7 { + background-color: #3d5c4a !important; +} +.bg-ga-hd8 { + background-color: #293d33 !important; +} +.bg-ga-hd9 { + background-color: #141f1a !important; +} +.bg-aq-hl1 { + background-color: #d1fad8 !important; +} +.bg-aq-hl2 { + background-color: #a3f5b8 !important; +} +.bg-aq-hl3 { + background-color: #75f09e !important; +} +.bg-aq-hl4 { + background-color: #47eb8b !important; +} +.bg-aq-hl5 { + background-color: #19e680 !important; +} +.bg-aq-hl6 { + background-color: #14b874 !important; +} +.bg-aq-hl7 { + background-color: #0f8a61 !important; +} +.bg-aq-hl8 { + background-color: #0a5c47 !important; +} +.bg-aq-hl9 { + background-color: #052e27 !important; +} +.bg-aq-hm1 { + background-color: #d9f2dd !important; +} +.bg-aq-hm2 { + background-color: #b3e6bf !important; +} +.bg-aq-hm3 { + background-color: #8cd9a6 !important; +} +.bg-aq-hm4 { + background-color: #66cc91 !important; +} +.bg-aq-hm5 { + background-color: #40bf80 !important; +} +.bg-aq-hm6 { + background-color: #33996f !important; +} +.bg-aq-hm7 { + background-color: #267359 !important; +} +.bg-aq-hm8 { + background-color: #194d40 !important; +} +.bg-aq-hm9 { + background-color: #0d2622 !important; +} +.bg-aq-hd1 { + background-color: #e0ebe2 !important; +} +.bg-aq-hd2 { + background-color: #c2d6c7 !important; +} +.bg-aq-hd3 { + background-color: #a3c2ad !important; +} +.bg-aq-hd4 { + background-color: #85ad96 !important; +} +.bg-aq-hd5 { + background-color: #669980 !important; +} +.bg-aq-hd6 { + background-color: #527a69 !important; +} +.bg-aq-hd7 { + background-color: #3d5c52 !important; +} +.bg-aq-hd8 { + background-color: #293d38 !important; +} +.bg-aq-hd9 { + background-color: #141f1d !important; +} +.bg-ac-hl1 { + background-color: #d1fae2 !important; +} +.bg-ac-hl2 { + background-color: #a3f5cc !important; +} +.bg-ac-hl3 { + background-color: #75f0bd !important; +} +.bg-ac-hl4 { + background-color: #47ebb4 !important; +} +.bg-ac-hl5 { + background-color: #19e6b3 !important; +} +.bg-ac-hl6 { + background-color: #14b89c !important; +} +.bg-ac-hl7 { + background-color: #0f8a80 !important; +} +.bg-ac-hl8 { + background-color: #0a5c5c !important; +} +.bg-ac-hl9 { + background-color: #052b2e !important; +} +.bg-ac-hm1 { + background-color: #d9f2e3 !important; +} +.bg-ac-hm2 { + background-color: #b3e6cc !important; +} +.bg-ac-hm3 { + background-color: #8cd9b9 !important; +} +.bg-ac-hm4 { + background-color: #66ccaa !important; +} +.bg-ac-hm5 { + background-color: #40bf9f !important; +} +.bg-ac-hm6 { + background-color: #339988 !important; +} +.bg-ac-hm7 { + background-color: #26736c !important; +} +.bg-ac-hm8 { + background-color: #194d4d !important; +} +.bg-ac-hm9 { + background-color: #0d2426 !important; +} +.bg-ac-hd1 { + background-color: #e0ebe5 !important; +} +.bg-ac-hd2 { + background-color: #c2d6cc !important; +} +.bg-ac-hd3 { + background-color: #a3c2b5 !important; +} +.bg-ac-hd4 { + background-color: #85ada0 !important; +} +.bg-ac-hd5 { + background-color: #66998c !important; +} +.bg-ac-hd6 { + background-color: #527a74 !important; +} +.bg-ac-hd7 { + background-color: #3d5c59 !important; +} +.bg-ac-hd8 { + background-color: #293d3d !important; +} +.bg-ac-hd9 { + background-color: #141e1f !important; +} +.bg-cy-hl1 { + background-color: #d1faec !important; +} +.bg-cy-hl2 { + background-color: #a3f5e0 !important; +} +.bg-cy-hl3 { + background-color: #75f0db !important; +} +.bg-cy-hl4 { + background-color: #47ebdd !important; +} +.bg-cy-hl5 { + background-color: #19e5e6 !important; +} +.bg-cy-hl6 { + background-color: #14aab8 !important; +} +.bg-cy-hl7 { + background-color: #0f758a !important; +} +.bg-cy-hl8 { + background-color: #0a475c !important; +} +.bg-cy-hl9 { + background-color: #05202e !important; +} +.bg-cy-hm1 { + background-color: #d9f2ea !important; +} +.bg-cy-hm2 { + background-color: #b3e6d9 !important; +} +.bg-cy-hm3 { + background-color: #8cd9cc !important; +} +.bg-cy-hm4 { + background-color: #66ccc4 !important; +} +.bg-cy-hm5 { + background-color: #40bfbf !important; +} +.bg-cy-hm6 { + background-color: #339199 !important; +} +.bg-cy-hm7 { + background-color: #266673 !important; +} +.bg-cy-hm8 { + background-color: #19404d !important; +} +.bg-cy-hm9 { + background-color: #0d1e26 !important; +} +.bg-cy-hd1 { + background-color: #e0ebe7 !important; +} +.bg-cy-hd2 { + background-color: #c2d6d1 !important; +} +.bg-cy-hd3 { + background-color: #a3c2bd !important; +} +.bg-cy-hd4 { + background-color: #85adaa !important; +} +.bg-cy-hd5 { + background-color: #669999 !important; +} +.bg-cy-hd6 { + background-color: #52777a !important; +} +.bg-cy-hd7 { + background-color: #3d575c !important; +} +.bg-cy-hd8 { + background-color: #29383d !important; +} +.bg-cy-hd9 { + background-color: #141b1f !important; +} +.bg-cb-hl1 { + background-color: #d1faf7 !important; +} +.bg-cb-hl2 { + background-color: #a3f5f5 !important; +} +.bg-cb-hl3 { + background-color: #75e6f0 !important; +} +.bg-cb-hl4 { + background-color: #47cfeb !important; +} +.bg-cb-hl5 { + background-color: #19b3e6 !important; +} +.bg-cb-hl6 { + background-color: #1481b8 !important; +} +.bg-cb-hl7 { + background-color: #0f578a !important; +} +.bg-cb-hl8 { + background-color: #0a335c !important; +} +.bg-cb-hl9 { + background-color: #05162e !important; +} +.bg-cb-hm1 { + background-color: #d9f2f0 !important; +} +.bg-cb-hm2 { + background-color: #b3e5e6 !important; +} +.bg-cb-hm3 { + background-color: #8cd2d9 !important; +} +.bg-cb-hm4 { + background-color: #66bbcc !important; +} +.bg-cb-hm5 { + background-color: #409fbf !important; +} +.bg-cb-hm6 { + background-color: #337799 !important; +} +.bg-cb-hm7 { + background-color: #265373 !important; +} +.bg-cb-hm8 { + background-color: #19334d !important; +} +.bg-cb-hm9 { + background-color: #0d1726 !important; +} +.bg-cb-hd1 { + background-color: #e0ebea !important; +} +.bg-cb-hd2 { + background-color: #c2d6d6 !important; +} +.bg-cb-hd3 { + background-color: #a3bfc2 !important; +} +.bg-cb-hd4 { + background-color: #85a7ad !important; +} +.bg-cb-hd5 { + background-color: #668c99 !important; +} +.bg-cb-hd6 { + background-color: #526d7a !important; +} +.bg-cb-hd7 { + background-color: #3d4f5c !important; +} +.bg-cb-hd8 { + background-color: #29333d !important; +} +.bg-cb-hd9 { + background-color: #14191f !important; +} +.bg-bl-hl1 { + background-color: #d1f3fa !important; +} +.bg-bl-hl2 { + background-color: #a3e0f5 !important; +} +.bg-bl-hl3 { + background-color: #75c7f0 !important; +} +.bg-bl-hl4 { + background-color: #47a7eb !important; +} +.bg-bl-hl5 { + background-color: #197fe6 !important; +} +.bg-bl-hl6 { + background-color: #1458b8 !important; +} +.bg-bl-hl7 { + background-color: #0f388a !important; +} +.bg-bl-hl8 { + background-color: #0a1f5c !important; +} +.bg-bl-hl9 { + background-color: #050c2e !important; +} +.bg-bl-hm1 { + background-color: #d9eef2 !important; +} +.bg-bl-hm2 { + background-color: #b3d9e6 !important; +} +.bg-bl-hm3 { + background-color: #8cbfd9 !important; +} +.bg-bl-hm4 { + background-color: #66a1cc !important; +} +.bg-bl-hm5 { + background-color: #407fbf !important; +} +.bg-bl-hm6 { + background-color: #335d99 !important; +} +.bg-bl-hm7 { + background-color: #264073 !important; +} +.bg-bl-hm8 { + background-color: #19264d !important; +} +.bg-bl-hm9 { + background-color: #0d1126 !important; +} +.bg-bl-hd1 { + background-color: #e0e9eb !important; +} +.bg-bl-hd2 { + background-color: #c2d1d6 !important; +} +.bg-bl-hd3 { + background-color: #a3b8c2 !important; +} +.bg-bl-hd4 { + background-color: #859cad !important; +} +.bg-bl-hd5 { + background-color: #667f99 !important; +} +.bg-bl-hd6 { + background-color: #52637a !important; +} +.bg-bl-hd7 { + background-color: #3d475c !important; +} +.bg-bl-hd8 { + background-color: #292e3d !important; +} +.bg-bl-hd9 { + background-color: #14161f !important; +} +.bg-bi-hl1 { + background-color: #d1e9fa !important; +} +.bg-bi-hl2 { + background-color: #a3ccf5 !important; +} +.bg-bi-hl3 { + background-color: #75a8f0 !important; +} +.bg-bi-hl4 { + background-color: #477eeb !important; +} +.bg-bi-hl5 { + background-color: #194ce6 !important; +} +.bg-bi-hl6 { + background-color: #1430b8 !important; +} +.bg-bi-hl7 { + background-color: #0f198a !important; +} +.bg-bi-hl8 { + background-color: #0a0a5c !important; +} +.bg-bi-hl9 { + background-color: #08052e !important; +} +.bg-bi-hm1 { + background-color: #d9e8f2 !important; +} +.bg-bi-hm2 { + background-color: #b3cce6 !important; +} +.bg-bi-hm3 { + background-color: #8cacd9 !important; +} +.bg-bi-hm4 { + background-color: #6688cc !important; +} +.bg-bi-hm5 { + background-color: #4060bf !important; +} +.bg-bi-hm6 { + background-color: #334499 !important; +} +.bg-bi-hm7 { + background-color: #262d73 !important; +} +.bg-bi-hm8 { + background-color: #19194d !important; +} +.bg-bi-hm9 { + background-color: #0f0d26 !important; +} +.bg-bi-hd1 { + background-color: #e0e6eb !important; +} +.bg-bi-hd2 { + background-color: #c2ccd6 !important; +} +.bg-bi-hd3 { + background-color: #a3b0c2 !important; +} +.bg-bi-hd4 { + background-color: #8592ad !important; +} +.bg-bi-hd5 { + background-color: #667399 !important; +} +.bg-bi-hd6 { + background-color: #52587a !important; +} +.bg-bi-hd7 { + background-color: #3d405c !important; +} +.bg-bi-hd8 { + background-color: #29293d !important; +} +.bg-bi-hd9 { + background-color: #15141f !important; +} +.bg-in-hl1 { + background-color: #d1dffa !important; +} +.bg-in-hl2 { + background-color: #a3b8f5 !important; +} +.bg-in-hl3 { + background-color: #758af0 !important; +} +.bg-in-hl4 { + background-color: #4755eb !important; +} +.bg-in-hl5 { + background-color: #1919e6 !important; +} +.bg-in-hl6 { + background-color: #2214b8 !important; +} +.bg-in-hl7 { + background-color: #240f8a !important; +} +.bg-in-hl8 { + background-color: #1f0a5c !important; +} +.bg-in-hl9 { + background-color: #13052e !important; +} +.bg-in-hm1 { + background-color: #d9e1f2 !important; +} +.bg-in-hm2 { + background-color: #b3bfe6 !important; +} +.bg-in-hm3 { + background-color: #8c99d9 !important; +} +.bg-in-hm4 { + background-color: #666ecc !important; +} +.bg-in-hm5 { + background-color: #4040bf !important; +} +.bg-in-hm6 { + background-color: #3b3399 !important; +} +.bg-in-hm7 { + background-color: #332673 !important; +} +.bg-in-hm8 { + background-color: #26194d !important; +} +.bg-in-hm9 { + background-color: #150d26 !important; +} +.bg-in-hd1 { + background-color: #e0e4eb !important; +} +.bg-in-hd2 { + background-color: #c2c7d6 !important; +} +.bg-in-hd3 { + background-color: #a3a8c2 !important; +} +.bg-in-hd4 { + background-color: #8588ad !important; +} +.bg-in-hd5 { + background-color: #666699 !important; +} +.bg-in-hd6 { + background-color: #55527a !important; +} +.bg-in-hd7 { + background-color: #423d5c !important; +} +.bg-in-hd8 { + background-color: #2e293d !important; +} +.bg-in-hd9 { + background-color: #18141f !important; +} +.bg-ip-hl1 { + background-color: #d1d4fa !important; +} +.bg-ip-hl2 { + background-color: #a3a3f5 !important; +} +.bg-ip-hl3 { + background-color: #8075f0 !important; +} +.bg-ip-hl4 { + background-color: #6347eb !important; +} +.bg-ip-hl5 { + background-color: #4d19e6 !important; +} +.bg-ip-hl6 { + background-color: #4b14b8 !important; +} +.bg-ip-hl7 { + background-color: #420f8a !important; +} +.bg-ip-hl8 { + background-color: #330a5c !important; +} +.bg-ip-hl9 { + background-color: #1d052e !important; +} +.bg-ip-hm1 { + background-color: #d9dbf2 !important; +} +.bg-ip-hm2 { + background-color: #b3b3e6 !important; +} +.bg-ip-hm3 { + background-color: #938cd9 !important; +} +.bg-ip-hm4 { + background-color: #7766cc !important; +} +.bg-ip-hm5 { + background-color: #6040bf !important; +} +.bg-ip-hm6 { + background-color: #553399 !important; +} +.bg-ip-hm7 { + background-color: #462673 !important; +} +.bg-ip-hm8 { + background-color: #33194d !important; +} +.bg-ip-hm9 { + background-color: #1c0d26 !important; +} +.bg-ip-hd1 { + background-color: #e0e1eb !important; +} +.bg-ip-hd2 { + background-color: #c2c2d6 !important; +} +.bg-ip-hd3 { + background-color: #a6a3c2 !important; +} +.bg-ip-hd4 { + background-color: #8b85ad !important; +} +.bg-ip-hd5 { + background-color: #736699 !important; +} +.bg-ip-hd6 { + background-color: #5f527a !important; +} +.bg-ip-hd7 { + background-color: #4a3d5c !important; +} +.bg-ip-hd8 { + background-color: #33293d !important; +} +.bg-ip-hd9 { + background-color: #1a141f !important; +} +.bg-pu-hl1 { + background-color: #d8d1fa !important; +} +.bg-pu-hl2 { + background-color: #b8a3f5 !important; +} +.bg-pu-hl3 { + background-color: #9e75f0 !important; +} +.bg-pu-hl4 { + background-color: #8b47eb !important; +} +.bg-pu-hl5 { + background-color: #7f19e6 !important; +} +.bg-pu-hl6 { + background-color: #7414b8 !important; +} +.bg-pu-hl7 { + background-color: #610f8a !important; +} +.bg-pu-hl8 { + background-color: #470a5c !important; +} +.bg-pu-hl9 { + background-color: #27052e !important; +} +.bg-pu-hm1 { + background-color: #ddd9f2 !important; +} +.bg-pu-hm2 { + background-color: #bfb3e6 !important; +} +.bg-pu-hm3 { + background-color: #a68cd9 !important; +} +.bg-pu-hm4 { + background-color: #9066cc !important; +} +.bg-pu-hm5 { + background-color: #7f40bf !important; +} +.bg-pu-hm6 { + background-color: #6e3399 !important; +} +.bg-pu-hm7 { + background-color: #592673 !important; +} +.bg-pu-hm8 { + background-color: #40194d !important; +} +.bg-pu-hm9 { + background-color: #220d26 !important; +} +.bg-pu-hd1 { + background-color: #e2e0eb !important; +} +.bg-pu-hd2 { + background-color: #c7c2d6 !important; +} +.bg-pu-hd3 { + background-color: #ada3c2 !important; +} +.bg-pu-hd4 { + background-color: #9685ad !important; +} +.bg-pu-hd5 { + background-color: #7f6699 !important; +} +.bg-pu-hd6 { + background-color: #69527a !important; +} +.bg-pu-hd7 { + background-color: #523d5c !important; +} +.bg-pu-hd8 { + background-color: #38293d !important; +} +.bg-pu-hd9 { + background-color: #1d141f !important; +} +.bg-pp-hl1 { + background-color: #e2d1fa !important; +} +.bg-pp-hl2 { + background-color: #cca3f5 !important; +} +.bg-pp-hl3 { + background-color: #bd75f0 !important; +} +.bg-pp-hl4 { + background-color: #b447eb !important; +} +.bg-pp-hl5 { + background-color: #b319e6 !important; +} +.bg-pp-hl6 { + background-color: #9c14b8 !important; +} +.bg-pp-hl7 { + background-color: #7f0f8a !important; +} +.bg-pp-hl8 { + background-color: #5c0a5c !important; +} +.bg-pp-hl9 { + background-color: #2e052b !important; +} +.bg-pp-hm1 { + background-color: #e3d9f2 !important; +} +.bg-pp-hm2 { + background-color: #ccb3e6 !important; +} +.bg-pp-hm3 { + background-color: #b98cd9 !important; +} +.bg-pp-hm4 { + background-color: #aa66cc !important; +} +.bg-pp-hm5 { + background-color: #9f40bf !important; +} +.bg-pp-hm6 { + background-color: #883399 !important; +} +.bg-pp-hm7 { + background-color: #6c2673 !important; +} +.bg-pp-hm8 { + background-color: #4d194d !important; +} +.bg-pp-hm9 { + background-color: #260d24 !important; +} +.bg-pp-hd1 { + background-color: #e5e0eb !important; +} +.bg-pp-hd2 { + background-color: #ccc2d6 !important; +} +.bg-pp-hd3 { + background-color: #b5a3c2 !important; +} +.bg-pp-hd4 { + background-color: #a085ad !important; +} +.bg-pp-hd5 { + background-color: #8c6699 !important; +} +.bg-pp-hd6 { + background-color: #74527a !important; +} +.bg-pp-hd7 { + background-color: #593d5c !important; +} +.bg-pp-hd8 { + background-color: #3d293d !important; +} +.bg-pp-hd9 { + background-color: #1f141e !important; +} +.bg-pi-hl1 { + background-color: #ecd1fa !important; +} +.bg-pi-hl2 { + background-color: #e0a3f5 !important; +} +.bg-pi-hl3 { + background-color: #db75f0 !important; +} +.bg-pi-hl4 { + background-color: #dd47eb !important; +} +.bg-pi-hl5 { + background-color: #e619e5 !important; +} +.bg-pi-hl6 { + background-color: #b814aa !important; +} +.bg-pi-hl7 { + background-color: #8a0f75 !important; +} +.bg-pi-hl8 { + background-color: #5c0a47 !important; +} +.bg-pi-hl9 { + background-color: #2e0520 !important; +} +.bg-pi-hm1 { + background-color: #ead9f2 !important; +} +.bg-pi-hm2 { + background-color: #d9b3e6 !important; +} +.bg-pi-hm3 { + background-color: #cc8cd9 !important; +} +.bg-pi-hm4 { + background-color: #c366cc !important; +} +.bg-pi-hm5 { + background-color: #bf40bf !important; +} +.bg-pi-hm6 { + background-color: #993391 !important; +} +.bg-pi-hm7 { + background-color: #732666 !important; +} +.bg-pi-hm8 { + background-color: #4d1940 !important; +} +.bg-pi-hm9 { + background-color: #260d1e !important; +} +.bg-pi-hd1 { + background-color: #e7e0eb !important; +} +.bg-pi-hd2 { + background-color: #d1c2d6 !important; +} +.bg-pi-hd3 { + background-color: #bda3c2 !important; +} +.bg-pi-hd4 { + background-color: #aa85ad !important; +} +.bg-pi-hd5 { + background-color: #996699 !important; +} +.bg-pi-hd6 { + background-color: #7a5277 !important; +} +.bg-pi-hd7 { + background-color: #5c3d57 !important; +} +.bg-pi-hd8 { + background-color: #3d2938 !important; +} +.bg-pi-hd9 { + background-color: #1f141b !important; +} +.bg-pv-hl1 { + background-color: #f7d1fa !important; +} +.bg-pv-hl2 { + background-color: #f5a3f5 !important; +} +.bg-pv-hl3 { + background-color: #f075e5 !important; +} +.bg-pv-hl4 { + background-color: #eb47cf !important; +} +.bg-pv-hl5 { + background-color: #e619b2 !important; +} +.bg-pv-hl6 { + background-color: #b81481 !important; +} +.bg-pv-hl7 { + background-color: #8a0f57 !important; +} +.bg-pv-hl8 { + background-color: #5c0a33 !important; +} +.bg-pv-hl9 { + background-color: #2e0516 !important; +} +.bg-pv-hm1 { + background-color: #f0d9f2 !important; +} +.bg-pv-hm2 { + background-color: #e6b3e5 !important; +} +.bg-pv-hm3 { + background-color: #d98cd2 !important; +} +.bg-pv-hm4 { + background-color: #cc66bb !important; +} +.bg-pv-hm5 { + background-color: #bf409f !important; +} +.bg-pv-hm6 { + background-color: #993377 !important; +} +.bg-pv-hm7 { + background-color: #732653 !important; +} +.bg-pv-hm8 { + background-color: #4d1933 !important; +} +.bg-pv-hm9 { + background-color: #260d17 !important; +} +.bg-pv-hd1 { + background-color: #eae0eb !important; +} +.bg-pv-hd2 { + background-color: #d6c2d6 !important; +} +.bg-pv-hd3 { + background-color: #c2a3bf !important; +} +.bg-pv-hd4 { + background-color: #ad85a7 !important; +} +.bg-pv-hd5 { + background-color: #99668c !important; +} +.bg-pv-hd6 { + background-color: #7a526d !important; +} +.bg-pv-hd7 { + background-color: #5c3d4f !important; +} +.bg-pv-hd8 { + background-color: #3d2933 !important; +} +.bg-pv-hd9 { + background-color: #1f1419 !important; +} +.bg-vi-hl1 { + background-color: #fad1f3 !important; +} +.bg-vi-hl2 { + background-color: #f5a3e0 !important; +} +.bg-vi-hl3 { + background-color: #f075c7 !important; +} +.bg-vi-hl4 { + background-color: #eb47a7 !important; +} +.bg-vi-hl5 { + background-color: #e61980 !important; +} +.bg-vi-hl6 { + background-color: #b81458 !important; +} +.bg-vi-hl7 { + background-color: #8a0f38 !important; +} +.bg-vi-hl8 { + background-color: #5c0a1f !important; +} +.bg-vi-hl9 { + background-color: #2e050c !important; +} +.bg-vi-hm1 { + background-color: #f2d9ee !important; +} +.bg-vi-hm2 { + background-color: #e6b3d9 !important; +} +.bg-vi-hm3 { + background-color: #d98cbf !important; +} +.bg-vi-hm4 { + background-color: #cc66a2 !important; +} +.bg-vi-hm5 { + background-color: #bf4080 !important; +} +.bg-vi-hm6 { + background-color: #99335d !important; +} +.bg-vi-hm7 { + background-color: #732640 !important; +} +.bg-vi-hm8 { + background-color: #4d1926 !important; +} +.bg-vi-hm9 { + background-color: #260d11 !important; +} +.bg-vi-hd1 { + background-color: #ebe0e9 !important; +} +.bg-vi-hd2 { + background-color: #d6c2d1 !important; +} +.bg-vi-hd3 { + background-color: #c2a3b8 !important; +} +.bg-vi-hd4 { + background-color: #ad859c !important; +} +.bg-vi-hd5 { + background-color: #996680 !important; +} +.bg-vi-hd6 { + background-color: #7a5263 !important; +} +.bg-vi-hd7 { + background-color: #5c3d47 !important; +} +.bg-vi-hd8 { + background-color: #3d292e !important; +} +.bg-vi-hd9 { + background-color: #1f1416 !important; +} +.bg-vr-hl1 { + background-color: #fad1e9 !important; +} +.bg-vr-hl2 { + background-color: #f5a3cc !important; +} +.bg-vr-hl3 { + background-color: #f075a8 !important; +} +.bg-vr-hl4 { + background-color: #eb477e !important; +} +.bg-vr-hl5 { + background-color: #e6194c !important; +} +.bg-vr-hl6 { + background-color: #b81430 !important; +} +.bg-vr-hl7 { + background-color: #8a0f19 !important; +} +.bg-vr-hl8 { + background-color: #5c0a0a !important; +} +.bg-vr-hl9 { + background-color: #2e0805 !important; +} +.bg-vr-hm1 { + background-color: #f2d9e8 !important; +} +.bg-vr-hm2 { + background-color: #e6b3cc !important; +} +.bg-vr-hm3 { + background-color: #d98cac !important; +} +.bg-vr-hm4 { + background-color: #cc6688 !important; +} +.bg-vr-hm5 { + background-color: #bf4060 !important; +} +.bg-vr-hm6 { + background-color: #993344 !important; +} +.bg-vr-hm7 { + background-color: #73262d !important; +} +.bg-vr-hm8 { + background-color: #4d1919 !important; +} +.bg-vr-hm9 { + background-color: #260f0d !important; +} +.bg-vr-hd1 { + background-color: #ebe0e6 !important; +} +.bg-vr-hd2 { + background-color: #d6c2cc !important; +} +.bg-vr-hd3 { + background-color: #c2a3b0 !important; +} +.bg-vr-hd4 { + background-color: #ad8592 !important; +} +.bg-vr-hd5 { + background-color: #996673 !important; +} +.bg-vr-hd6 { + background-color: #7a5258 !important; +} +.bg-vr-hd7 { + background-color: #5c3d40 !important; +} +.bg-vr-hd8 { + background-color: #3d2929 !important; +} +.bg-vr-hd9 { + background-color: #1f1514 !important; +} +.t-re-hl1 { + color: #fad1df !important; +} +.t-re-hl2 { + color: #f5a3b8 !important; +} +.t-re-hl3 { + color: #f0758a !important; +} +.t-re-hl4 { + color: #eb4755 !important; +} +.t-re-hl5 { + color: #e61919 !important; +} +.t-re-hl6 { + color: #b82214 !important; +} +.t-re-hl7 { + color: #8a240f !important; +} +.t-re-hl8 { + color: #5c1f0a !important; +} +.t-re-hl9 { + color: #2e1305 !important; +} +.t-re-hm1 { + color: #f2d9e1 !important; +} +.t-re-hm2 { + color: #e6b3bf !important; +} +.t-re-hm3 { + color: #d98c99 !important; +} +.t-re-hm4 { + color: #cc666e !important; +} +.t-re-hm5 { + color: #bf4040 !important; +} +.t-re-hm6 { + color: #993b33 !important; +} +.t-re-hm7 { + color: #733326 !important; +} +.t-re-hm8 { + color: #4d2619 !important; +} +.t-re-hm9 { + color: #26150d !important; +} +.t-re-hd1 { + color: #ebe0e4 !important; +} +.t-re-hd2 { + color: #d6c2c7 !important; +} +.t-re-hd3 { + color: #c2a3a8 !important; +} +.t-re-hd4 { + color: #ad8588 !important; +} +.t-re-hd5 { + color: #996666 !important; +} +.t-re-hd6 { + color: #7a5552 !important; +} +.t-re-hd7 { + color: #5c423d !important; +} +.t-re-hd8 { + color: #3d2e29 !important; +} +.t-re-hd9 { + color: #1f1814 !important; +} +.t-ro-hl1 { + color: #fad1d4 !important; +} +.t-ro-hl2 { + color: #f5a3a3 !important; +} +.t-ro-hl3 { + color: #f07f75 !important; +} +.t-ro-hl4 { + color: #eb6347 !important; +} +.t-ro-hl5 { + color: #e64d19 !important; +} +.t-ro-hl6 { + color: #b84b14 !important; +} +.t-ro-hl7 { + color: #8a420f !important; +} +.t-ro-hl8 { + color: #5c330a !important; +} +.t-ro-hl9 { + color: #2e1d05 !important; +} +.t-ro-hm1 { + color: #f2d9db !important; +} +.t-ro-hm2 { + color: #e6b3b3 !important; +} +.t-ro-hm3 { + color: #d9938c !important; +} +.t-ro-hm4 { + color: #cc7766 !important; +} +.t-ro-hm5 { + color: #bf6040 !important; +} +.t-ro-hm6 { + color: #995533 !important; +} +.t-ro-hm7 { + color: #734626 !important; +} +.t-ro-hm8 { + color: #4d3319 !important; +} +.t-ro-hm9 { + color: #261c0d !important; +} +.t-ro-hd1 { + color: #ebe0e1 !important; +} +.t-ro-hd2 { + color: #d6c2c2 !important; +} +.t-ro-hd3 { + color: #c2a6a3 !important; +} +.t-ro-hd4 { + color: #ad8b85 !important; +} +.t-ro-hd5 { + color: #997366 !important; +} +.t-ro-hd6 { + color: #7a5f52 !important; +} +.t-ro-hd7 { + color: #5c4a3d !important; +} +.t-ro-hd8 { + color: #3d3329 !important; +} +.t-ro-hd9 { + color: #1f1a14 !important; +} +.t-or-hl1 { + color: #fad8d1 !important; +} +.t-or-hl2 { + color: #f5b8a3 !important; +} +.t-or-hl3 { + color: #f09e75 !important; +} +.t-or-hl4 { + color: #eb8b47 !important; +} +.t-or-hl5 { + color: #e68019 !important; +} +.t-or-hl6 { + color: #b87414 !important; +} +.t-or-hl7 { + color: #8a610f !important; +} +.t-or-hl8 { + color: #5c470a !important; +} +.t-or-hl9 { + color: #2e2705 !important; +} +.t-or-hm1 { + color: #f2ddd9 !important; +} +.t-or-hm2 { + color: #e6bfb3 !important; +} +.t-or-hm3 { + color: #d9a68c !important; +} +.t-or-hm4 { + color: #cc9166 !important; +} +.t-or-hm5 { + color: #bf8040 !important; +} +.t-or-hm6 { + color: #996f33 !important; +} +.t-or-hm7 { + color: #735926 !important; +} +.t-or-hm8 { + color: #4d4019 !important; +} +.t-or-hm9 { + color: #26220d !important; +} +.t-or-hd1 { + color: #ebe2e0 !important; +} +.t-or-hd2 { + color: #d6c7c2 !important; +} +.t-or-hd3 { + color: #c2ada3 !important; +} +.t-or-hd4 { + color: #ad9685 !important; +} +.t-or-hd5 { + color: #998066 !important; +} +.t-or-hd6 { + color: #7a6952 !important; +} +.t-or-hd7 { + color: #5c523d !important; +} +.t-or-hd8 { + color: #3d3829 !important; +} +.t-or-hd9 { + color: #1f1d14 !important; +} +.t-oy-hl1 { + color: #fae2d1 !important; +} +.t-oy-hl2 { + color: #f5cca3 !important; +} +.t-oy-hl3 { + color: #f0bd75 !important; +} +.t-oy-hl4 { + color: #ebb447 !important; +} +.t-oy-hl5 { + color: #e6b319 !important; +} +.t-oy-hl6 { + color: #b89c14 !important; +} +.t-oy-hl7 { + color: #8a800f !important; +} +.t-oy-hl8 { + color: #5c5c0a !important; +} +.t-oy-hl9 { + color: #2b2e05 !important; +} +.t-oy-hm1 { + color: #f2e3d9 !important; +} +.t-oy-hm2 { + color: #e6ccb3 !important; +} +.t-oy-hm3 { + color: #d9b98c !important; +} +.t-oy-hm4 { + color: #ccaa66 !important; +} +.t-oy-hm5 { + color: #bf9f40 !important; +} +.t-oy-hm6 { + color: #998833 !important; +} +.t-oy-hm7 { + color: #736c26 !important; +} +.t-oy-hm8 { + color: #4d4d19 !important; +} +.t-oy-hm9 { + color: #24260d !important; +} +.t-oy-hd1 { + color: #ebe5e0 !important; +} +.t-oy-hd2 { + color: #d6ccc2 !important; +} +.t-oy-hd3 { + color: #c2b5a3 !important; +} +.t-oy-hd4 { + color: #ada085 !important; +} +.t-oy-hd5 { + color: #998c66 !important; +} +.t-oy-hd6 { + color: #7a7452 !important; +} +.t-oy-hd7 { + color: #5c593d !important; +} +.t-oy-hd8 { + color: #3d3d29 !important; +} +.t-oy-hd9 { + color: #1e1f14 !important; +} +.t-ye-hl1 { + color: #faecd1 !important; +} +.t-ye-hl2 { + color: #f5e0a3 !important; +} +.t-ye-hl3 { + color: #f0db75 !important; +} +.t-ye-hl4 { + color: #ebdd47 !important; +} +.t-ye-hl5 { + color: #e5e619 !important; +} +.t-ye-hl6 { + color: #aab814 !important; +} +.t-ye-hl7 { + color: #758a0f !important; +} +.t-ye-hl8 { + color: #475c0a !important; +} +.t-ye-hl9 { + color: #202e05 !important; +} +.t-ye-hm1 { + color: #f2ead9 !important; +} +.t-ye-hm2 { + color: #e6d9b3 !important; +} +.t-ye-hm3 { + color: #d9cc8c !important; +} +.t-ye-hm4 { + color: #ccc466 !important; +} +.t-ye-hm5 { + color: #bfbf40 !important; +} +.t-ye-hm6 { + color: #909933 !important; +} +.t-ye-hm7 { + color: #667326 !important; +} +.t-ye-hm8 { + color: #404d19 !important; +} +.t-ye-hm9 { + color: #1e260d !important; +} +.t-ye-hd1 { + color: #ebe7e0 !important; +} +.t-ye-hd2 { + color: #d6d1c2 !important; +} +.t-ye-hd3 { + color: #c2bda3 !important; +} +.t-ye-hd4 { + color: #adaa85 !important; +} +.t-ye-hd5 { + color: #999966 !important; +} +.t-ye-hd6 { + color: #777a52 !important; +} +.t-ye-hd7 { + color: #575c3d !important; +} +.t-ye-hd8 { + color: #383d29 !important; +} +.t-ye-hd9 { + color: #1b1f14 !important; +} +.t-yc-hl1 { + color: #faf7d1 !important; +} +.t-yc-hl2 { + color: #f5f5a3 !important; +} +.t-yc-hl3 { + color: #e6f075 !important; +} +.t-yc-hl4 { + color: #cfeb47 !important; +} +.t-yc-hl5 { + color: #b3e619 !important; +} +.t-yc-hl6 { + color: #81b814 !important; +} +.t-yc-hl7 { + color: #578a0f !important; +} +.t-yc-hl8 { + color: #335c0a !important; +} +.t-yc-hl9 { + color: #162e05 !important; +} +.t-yc-hm1 { + color: #f2f0d9 !important; +} +.t-yc-hm2 { + color: #e5e6b3 !important; +} +.t-yc-hm3 { + color: #d2d98c !important; +} +.t-yc-hm4 { + color: #bbcc66 !important; +} +.t-yc-hm5 { + color: #9fbf40 !important; +} +.t-yc-hm6 { + color: #779933 !important; +} +.t-yc-hm7 { + color: #537326 !important; +} +.t-yc-hm8 { + color: #334d19 !important; +} +.t-yc-hm9 { + color: #17260d !important; +} +.t-yc-hd1 { + color: #ebeae0 !important; +} +.t-yc-hd2 { + color: #d6d6c2 !important; +} +.t-yc-hd3 { + color: #bfc2a3 !important; +} +.t-yc-hd4 { + color: #a7ad85 !important; +} +.t-yc-hd5 { + color: #8c9966 !important; +} +.t-yc-hd6 { + color: #6d7a52 !important; +} +.t-yc-hd7 { + color: #4f5c3d !important; +} +.t-yc-hd8 { + color: #333d29 !important; +} +.t-yc-hd9 { + color: #191f14 !important; +} +.t-ch-hl1 { + color: #f3fad1 !important; +} +.t-ch-hl2 { + color: #e0f5a3 !important; +} +.t-ch-hl3 { + color: #c7f075 !important; +} +.t-ch-hl4 { + color: #a7eb47 !important; +} +.t-ch-hl5 { + color: #80e619 !important; +} +.t-ch-hl6 { + color: #58b814 !important; +} +.t-ch-hl7 { + color: #388a0f !important; +} +.t-ch-hl8 { + color: #1f5c0a !important; +} +.t-ch-hl9 { + color: #0c2e05 !important; +} +.t-ch-hm1 { + color: #eef2d9 !important; +} +.t-ch-hm2 { + color: #d9e6b3 !important; +} +.t-ch-hm3 { + color: #bfd98c !important; +} +.t-ch-hm4 { + color: #a2cc66 !important; +} +.t-ch-hm5 { + color: #80bf40 !important; +} +.t-ch-hm6 { + color: #5e9933 !important; +} +.t-ch-hm7 { + color: #407326 !important; +} +.t-ch-hm8 { + color: #264d19 !important; +} +.t-ch-hm9 { + color: #11260d !important; +} +.t-ch-hd1 { + color: #e9ebe0 !important; +} +.t-ch-hd2 { + color: #d1d6c2 !important; +} +.t-ch-hd3 { + color: #b8c2a3 !important; +} +.t-ch-hd4 { + color: #9cad85 !important; +} +.t-ch-hd5 { + color: #809966 !important; +} +.t-ch-hd6 { + color: #637a52 !important; +} +.t-ch-hd7 { + color: #475c3d !important; +} +.t-ch-hd8 { + color: #2e3d29 !important; +} +.t-ch-hd9 { + color: #161f14 !important; +} +.t-cg-hl1 { + color: #e9fad1 !important; +} +.t-cg-hl2 { + color: #ccf5a3 !important; +} +.t-cg-hl3 { + color: #a8f075 !important; +} +.t-cg-hl4 { + color: #7eeb47 !important; +} +.t-cg-hl5 { + color: #4ce619 !important; +} +.t-cg-hl6 { + color: #30b814 !important; +} +.t-cg-hl7 { + color: #1a8a0f !important; +} +.t-cg-hl8 { + color: #0a5c0a !important; +} +.t-cg-hl9 { + color: #052e09 !important; +} +.t-cg-hm1 { + color: #e8f2d9 !important; +} +.t-cg-hm2 { + color: #cce6b3 !important; +} +.t-cg-hm3 { + color: #acd98c !important; +} +.t-cg-hm4 { + color: #88cc66 !important; +} +.t-cg-hm5 { + color: #60bf40 !important; +} +.t-cg-hm6 { + color: #449933 !important; +} +.t-cg-hm7 { + color: #2d7326 !important; +} +.t-cg-hm8 { + color: #194d19 !important; +} +.t-cg-hm9 { + color: #0d260f !important; +} +.t-cg-hd1 { + color: #e6ebe0 !important; +} +.t-cg-hd2 { + color: #ccd6c2 !important; +} +.t-cg-hd3 { + color: #b0c2a3 !important; +} +.t-cg-hd4 { + color: #92ad85 !important; +} +.t-cg-hd5 { + color: #739966 !important; +} +.t-cg-hd6 { + color: #587a52 !important; +} +.t-cg-hd7 { + color: #405c3d !important; +} +.t-cg-hd8 { + color: #293d29 !important; +} +.t-cg-hd9 { + color: #141f15 !important; +} +.t-gr-hl1 { + color: #dffad1 !important; +} +.t-gr-hl2 { + color: #b8f5a3 !important; +} +.t-gr-hl3 { + color: #8af075 !important; +} +.t-gr-hl4 { + color: #55eb47 !important; +} +.t-gr-hl5 { + color: #19e619 !important; +} +.t-gr-hl6 { + color: #14b822 !important; +} +.t-gr-hl7 { + color: #0f8a24 !important; +} +.t-gr-hl8 { + color: #0a5c1f !important; +} +.t-gr-hl9 { + color: #052e13 !important; +} +.t-gr-hm1 { + color: #e1f2d9 !important; +} +.t-gr-hm2 { + color: #bfe6b3 !important; +} +.t-gr-hm3 { + color: #99d98c !important; +} +.t-gr-hm4 { + color: #6fcc66 !important; +} +.t-gr-hm5 { + color: #40bf40 !important; +} +.t-gr-hm6 { + color: #33993c !important; +} +.t-gr-hm7 { + color: #267333 !important; +} +.t-gr-hm8 { + color: #194d26 !important; +} +.t-gr-hm9 { + color: #0d2615 !important; +} +.t-gr-hd1 { + color: #e4ebe0 !important; +} +.t-gr-hd2 { + color: #c7d6c2 !important; +} +.t-gr-hd3 { + color: #a8c2a3 !important; +} +.t-gr-hd4 { + color: #88ad85 !important; +} +.t-gr-hd5 { + color: #669966 !important; +} +.t-gr-hd6 { + color: #527a55 !important; +} +.t-gr-hd7 { + color: #3d5c42 !important; +} +.t-gr-hd8 { + color: #293d2e !important; +} +.t-gr-hd9 { + color: #141f18 !important; +} +.t-ga-hl1 { + color: #d5fad1 !important; +} +.t-ga-hl2 { + color: #a3f5a3 !important; +} +.t-ga-hl3 { + color: #75f080 !important; +} +.t-ga-hl4 { + color: #47eb63 !important; +} +.t-ga-hl5 { + color: #19e64d !important; +} +.t-ga-hl6 { + color: #14b84b !important; +} +.t-ga-hl7 { + color: #0f8a42 !important; +} +.t-ga-hl8 { + color: #0a5c33 !important; +} +.t-ga-hl9 { + color: #052e1d !important; +} +.t-ga-hm1 { + color: #dbf2d9 !important; +} +.t-ga-hm2 { + color: #b3e6b3 !important; +} +.t-ga-hm3 { + color: #8cd993 !important; +} +.t-ga-hm4 { + color: #66cc77 !important; +} +.t-ga-hm5 { + color: #40bf60 !important; +} +.t-ga-hm6 { + color: #339955 !important; +} +.t-ga-hm7 { + color: #267346 !important; +} +.t-ga-hm8 { + color: #194d33 !important; +} +.t-ga-hm9 { + color: #0d261c !important; +} +.t-ga-hd1 { + color: #e1ebe0 !important; +} +.t-ga-hd2 { + color: #c2d6c2 !important; +} +.t-ga-hd3 { + color: #a3c2a6 !important; +} +.t-ga-hd4 { + color: #85ad8b !important; +} +.t-ga-hd5 { + color: #669973 !important; +} +.t-ga-hd6 { + color: #527a5f !important; +} +.t-ga-hd7 { + color: #3d5c4a !important; +} +.t-ga-hd8 { + color: #293d33 !important; +} +.t-ga-hd9 { + color: #141f1a !important; +} +.t-aq-hl1 { + color: #d1fad8 !important; +} +.t-aq-hl2 { + color: #a3f5b8 !important; +} +.t-aq-hl3 { + color: #75f09e !important; +} +.t-aq-hl4 { + color: #47eb8b !important; +} +.t-aq-hl5 { + color: #19e680 !important; +} +.t-aq-hl6 { + color: #14b874 !important; +} +.t-aq-hl7 { + color: #0f8a61 !important; +} +.t-aq-hl8 { + color: #0a5c47 !important; +} +.t-aq-hl9 { + color: #052e27 !important; +} +.t-aq-hm1 { + color: #d9f2dd !important; +} +.t-aq-hm2 { + color: #b3e6bf !important; +} +.t-aq-hm3 { + color: #8cd9a6 !important; +} +.t-aq-hm4 { + color: #66cc91 !important; +} +.t-aq-hm5 { + color: #40bf80 !important; +} +.t-aq-hm6 { + color: #33996f !important; +} +.t-aq-hm7 { + color: #267359 !important; +} +.t-aq-hm8 { + color: #194d40 !important; +} +.t-aq-hm9 { + color: #0d2622 !important; +} +.t-aq-hd1 { + color: #e0ebe2 !important; +} +.t-aq-hd2 { + color: #c2d6c7 !important; +} +.t-aq-hd3 { + color: #a3c2ad !important; +} +.t-aq-hd4 { + color: #85ad96 !important; +} +.t-aq-hd5 { + color: #669980 !important; +} +.t-aq-hd6 { + color: #527a69 !important; +} +.t-aq-hd7 { + color: #3d5c52 !important; +} +.t-aq-hd8 { + color: #293d38 !important; +} +.t-aq-hd9 { + color: #141f1d !important; +} +.t-ac-hl1 { + color: #d1fae2 !important; +} +.t-ac-hl2 { + color: #a3f5cc !important; +} +.t-ac-hl3 { + color: #75f0bd !important; +} +.t-ac-hl4 { + color: #47ebb4 !important; +} +.t-ac-hl5 { + color: #19e6b3 !important; +} +.t-ac-hl6 { + color: #14b89c !important; +} +.t-ac-hl7 { + color: #0f8a80 !important; +} +.t-ac-hl8 { + color: #0a5c5c !important; +} +.t-ac-hl9 { + color: #052b2e !important; +} +.t-ac-hm1 { + color: #d9f2e3 !important; +} +.t-ac-hm2 { + color: #b3e6cc !important; +} +.t-ac-hm3 { + color: #8cd9b9 !important; +} +.t-ac-hm4 { + color: #66ccaa !important; +} +.t-ac-hm5 { + color: #40bf9f !important; +} +.t-ac-hm6 { + color: #339988 !important; +} +.t-ac-hm7 { + color: #26736c !important; +} +.t-ac-hm8 { + color: #194d4d !important; +} +.t-ac-hm9 { + color: #0d2426 !important; +} +.t-ac-hd1 { + color: #e0ebe5 !important; +} +.t-ac-hd2 { + color: #c2d6cc !important; +} +.t-ac-hd3 { + color: #a3c2b5 !important; +} +.t-ac-hd4 { + color: #85ada0 !important; +} +.t-ac-hd5 { + color: #66998c !important; +} +.t-ac-hd6 { + color: #527a74 !important; +} +.t-ac-hd7 { + color: #3d5c59 !important; +} +.t-ac-hd8 { + color: #293d3d !important; +} +.t-ac-hd9 { + color: #141e1f !important; +} +.t-cy-hl1 { + color: #d1faec !important; +} +.t-cy-hl2 { + color: #a3f5e0 !important; +} +.t-cy-hl3 { + color: #75f0db !important; +} +.t-cy-hl4 { + color: #47ebdd !important; +} +.t-cy-hl5 { + color: #19e5e6 !important; +} +.t-cy-hl6 { + color: #14aab8 !important; +} +.t-cy-hl7 { + color: #0f758a !important; +} +.t-cy-hl8 { + color: #0a475c !important; +} +.t-cy-hl9 { + color: #05202e !important; +} +.t-cy-hm1 { + color: #d9f2ea !important; +} +.t-cy-hm2 { + color: #b3e6d9 !important; +} +.t-cy-hm3 { + color: #8cd9cc !important; +} +.t-cy-hm4 { + color: #66ccc4 !important; +} +.t-cy-hm5 { + color: #40bfbf !important; +} +.t-cy-hm6 { + color: #339199 !important; +} +.t-cy-hm7 { + color: #266673 !important; +} +.t-cy-hm8 { + color: #19404d !important; +} +.t-cy-hm9 { + color: #0d1e26 !important; +} +.t-cy-hd1 { + color: #e0ebe7 !important; +} +.t-cy-hd2 { + color: #c2d6d1 !important; +} +.t-cy-hd3 { + color: #a3c2bd !important; +} +.t-cy-hd4 { + color: #85adaa !important; +} +.t-cy-hd5 { + color: #669999 !important; +} +.t-cy-hd6 { + color: #52777a !important; +} +.t-cy-hd7 { + color: #3d575c !important; +} +.t-cy-hd8 { + color: #29383d !important; +} +.t-cy-hd9 { + color: #141b1f !important; +} +.t-cb-hl1 { + color: #d1faf7 !important; +} +.t-cb-hl2 { + color: #a3f5f5 !important; +} +.t-cb-hl3 { + color: #75e6f0 !important; +} +.t-cb-hl4 { + color: #47cfeb !important; +} +.t-cb-hl5 { + color: #19b3e6 !important; +} +.t-cb-hl6 { + color: #1481b8 !important; +} +.t-cb-hl7 { + color: #0f578a !important; +} +.t-cb-hl8 { + color: #0a335c !important; +} +.t-cb-hl9 { + color: #05162e !important; +} +.t-cb-hm1 { + color: #d9f2f0 !important; +} +.t-cb-hm2 { + color: #b3e5e6 !important; +} +.t-cb-hm3 { + color: #8cd2d9 !important; +} +.t-cb-hm4 { + color: #66bbcc !important; +} +.t-cb-hm5 { + color: #409fbf !important; +} +.t-cb-hm6 { + color: #337799 !important; +} +.t-cb-hm7 { + color: #265373 !important; +} +.t-cb-hm8 { + color: #19334d !important; +} +.t-cb-hm9 { + color: #0d1726 !important; +} +.t-cb-hd1 { + color: #e0ebea !important; +} +.t-cb-hd2 { + color: #c2d6d6 !important; +} +.t-cb-hd3 { + color: #a3bfc2 !important; +} +.t-cb-hd4 { + color: #85a7ad !important; +} +.t-cb-hd5 { + color: #668c99 !important; +} +.t-cb-hd6 { + color: #526d7a !important; +} +.t-cb-hd7 { + color: #3d4f5c !important; +} +.t-cb-hd8 { + color: #29333d !important; +} +.t-cb-hd9 { + color: #14191f !important; +} +.t-bl-hl1 { + color: #d1f3fa !important; +} +.t-bl-hl2 { + color: #a3e0f5 !important; +} +.t-bl-hl3 { + color: #75c7f0 !important; +} +.t-bl-hl4 { + color: #47a7eb !important; +} +.t-bl-hl5 { + color: #197fe6 !important; +} +.t-bl-hl6 { + color: #1458b8 !important; +} +.t-bl-hl7 { + color: #0f388a !important; +} +.t-bl-hl8 { + color: #0a1f5c !important; +} +.t-bl-hl9 { + color: #050c2e !important; +} +.t-bl-hm1 { + color: #d9eef2 !important; +} +.t-bl-hm2 { + color: #b3d9e6 !important; +} +.t-bl-hm3 { + color: #8cbfd9 !important; +} +.t-bl-hm4 { + color: #66a1cc !important; +} +.t-bl-hm5 { + color: #407fbf !important; +} +.t-bl-hm6 { + color: #335d99 !important; +} +.t-bl-hm7 { + color: #264073 !important; +} +.t-bl-hm8 { + color: #19264d !important; +} +.t-bl-hm9 { + color: #0d1126 !important; +} +.t-bl-hd1 { + color: #e0e9eb !important; +} +.t-bl-hd2 { + color: #c2d1d6 !important; +} +.t-bl-hd3 { + color: #a3b8c2 !important; +} +.t-bl-hd4 { + color: #859cad !important; +} +.t-bl-hd5 { + color: #667f99 !important; +} +.t-bl-hd6 { + color: #52637a !important; +} +.t-bl-hd7 { + color: #3d475c !important; +} +.t-bl-hd8 { + color: #292e3d !important; +} +.t-bl-hd9 { + color: #14161f !important; +} +.t-bi-hl1 { + color: #d1e9fa !important; +} +.t-bi-hl2 { + color: #a3ccf5 !important; +} +.t-bi-hl3 { + color: #75a8f0 !important; +} +.t-bi-hl4 { + color: #477eeb !important; +} +.t-bi-hl5 { + color: #194ce6 !important; +} +.t-bi-hl6 { + color: #1430b8 !important; +} +.t-bi-hl7 { + color: #0f198a !important; +} +.t-bi-hl8 { + color: #0a0a5c !important; +} +.t-bi-hl9 { + color: #08052e !important; +} +.t-bi-hm1 { + color: #d9e8f2 !important; +} +.t-bi-hm2 { + color: #b3cce6 !important; +} +.t-bi-hm3 { + color: #8cacd9 !important; +} +.t-bi-hm4 { + color: #6688cc !important; +} +.t-bi-hm5 { + color: #4060bf !important; +} +.t-bi-hm6 { + color: #334499 !important; +} +.t-bi-hm7 { + color: #262d73 !important; +} +.t-bi-hm8 { + color: #19194d !important; +} +.t-bi-hm9 { + color: #0f0d26 !important; +} +.t-bi-hd1 { + color: #e0e6eb !important; +} +.t-bi-hd2 { + color: #c2ccd6 !important; +} +.t-bi-hd3 { + color: #a3b0c2 !important; +} +.t-bi-hd4 { + color: #8592ad !important; +} +.t-bi-hd5 { + color: #667399 !important; +} +.t-bi-hd6 { + color: #52587a !important; +} +.t-bi-hd7 { + color: #3d405c !important; +} +.t-bi-hd8 { + color: #29293d !important; +} +.t-bi-hd9 { + color: #15141f !important; +} +.t-in-hl1 { + color: #d1dffa !important; +} +.t-in-hl2 { + color: #a3b8f5 !important; +} +.t-in-hl3 { + color: #758af0 !important; +} +.t-in-hl4 { + color: #4755eb !important; +} +.t-in-hl5 { + color: #1919e6 !important; +} +.t-in-hl6 { + color: #2214b8 !important; +} +.t-in-hl7 { + color: #240f8a !important; +} +.t-in-hl8 { + color: #1f0a5c !important; +} +.t-in-hl9 { + color: #13052e !important; +} +.t-in-hm1 { + color: #d9e1f2 !important; +} +.t-in-hm2 { + color: #b3bfe6 !important; +} +.t-in-hm3 { + color: #8c99d9 !important; +} +.t-in-hm4 { + color: #666ecc !important; +} +.t-in-hm5 { + color: #4040bf !important; +} +.t-in-hm6 { + color: #3b3399 !important; +} +.t-in-hm7 { + color: #332673 !important; +} +.t-in-hm8 { + color: #26194d !important; +} +.t-in-hm9 { + color: #150d26 !important; +} +.t-in-hd1 { + color: #e0e4eb !important; +} +.t-in-hd2 { + color: #c2c7d6 !important; +} +.t-in-hd3 { + color: #a3a8c2 !important; +} +.t-in-hd4 { + color: #8588ad !important; +} +.t-in-hd5 { + color: #666699 !important; +} +.t-in-hd6 { + color: #55527a !important; +} +.t-in-hd7 { + color: #423d5c !important; +} +.t-in-hd8 { + color: #2e293d !important; +} +.t-in-hd9 { + color: #18141f !important; +} +.t-ip-hl1 { + color: #d1d4fa !important; +} +.t-ip-hl2 { + color: #a3a3f5 !important; +} +.t-ip-hl3 { + color: #8075f0 !important; +} +.t-ip-hl4 { + color: #6347eb !important; +} +.t-ip-hl5 { + color: #4d19e6 !important; +} +.t-ip-hl6 { + color: #4b14b8 !important; +} +.t-ip-hl7 { + color: #420f8a !important; +} +.t-ip-hl8 { + color: #330a5c !important; +} +.t-ip-hl9 { + color: #1d052e !important; +} +.t-ip-hm1 { + color: #d9dbf2 !important; +} +.t-ip-hm2 { + color: #b3b3e6 !important; +} +.t-ip-hm3 { + color: #938cd9 !important; +} +.t-ip-hm4 { + color: #7766cc !important; +} +.t-ip-hm5 { + color: #6040bf !important; +} +.t-ip-hm6 { + color: #553399 !important; +} +.t-ip-hm7 { + color: #462673 !important; +} +.t-ip-hm8 { + color: #33194d !important; +} +.t-ip-hm9 { + color: #1c0d26 !important; +} +.t-ip-hd1 { + color: #e0e1eb !important; +} +.t-ip-hd2 { + color: #c2c2d6 !important; +} +.t-ip-hd3 { + color: #a6a3c2 !important; +} +.t-ip-hd4 { + color: #8b85ad !important; +} +.t-ip-hd5 { + color: #736699 !important; +} +.t-ip-hd6 { + color: #5f527a !important; +} +.t-ip-hd7 { + color: #4a3d5c !important; +} +.t-ip-hd8 { + color: #33293d !important; +} +.t-ip-hd9 { + color: #1a141f !important; +} +.t-pu-hl1 { + color: #d8d1fa !important; +} +.t-pu-hl2 { + color: #b8a3f5 !important; +} +.t-pu-hl3 { + color: #9e75f0 !important; +} +.t-pu-hl4 { + color: #8b47eb !important; +} +.t-pu-hl5 { + color: #7f19e6 !important; +} +.t-pu-hl6 { + color: #7414b8 !important; +} +.t-pu-hl7 { + color: #610f8a !important; +} +.t-pu-hl8 { + color: #470a5c !important; +} +.t-pu-hl9 { + color: #27052e !important; +} +.t-pu-hm1 { + color: #ddd9f2 !important; +} +.t-pu-hm2 { + color: #bfb3e6 !important; +} +.t-pu-hm3 { + color: #a68cd9 !important; +} +.t-pu-hm4 { + color: #9066cc !important; +} +.t-pu-hm5 { + color: #7f40bf !important; +} +.t-pu-hm6 { + color: #6e3399 !important; +} +.t-pu-hm7 { + color: #592673 !important; +} +.t-pu-hm8 { + color: #40194d !important; +} +.t-pu-hm9 { + color: #220d26 !important; +} +.t-pu-hd1 { + color: #e2e0eb !important; +} +.t-pu-hd2 { + color: #c7c2d6 !important; +} +.t-pu-hd3 { + color: #ada3c2 !important; +} +.t-pu-hd4 { + color: #9685ad !important; +} +.t-pu-hd5 { + color: #7f6699 !important; +} +.t-pu-hd6 { + color: #69527a !important; +} +.t-pu-hd7 { + color: #523d5c !important; +} +.t-pu-hd8 { + color: #38293d !important; +} +.t-pu-hd9 { + color: #1d141f !important; +} +.t-pp-hl1 { + color: #e2d1fa !important; +} +.t-pp-hl2 { + color: #cca3f5 !important; +} +.t-pp-hl3 { + color: #bd75f0 !important; +} +.t-pp-hl4 { + color: #b447eb !important; +} +.t-pp-hl5 { + color: #b319e6 !important; +} +.t-pp-hl6 { + color: #9c14b8 !important; +} +.t-pp-hl7 { + color: #7f0f8a !important; +} +.t-pp-hl8 { + color: #5c0a5c !important; +} +.t-pp-hl9 { + color: #2e052b !important; +} +.t-pp-hm1 { + color: #e3d9f2 !important; +} +.t-pp-hm2 { + color: #ccb3e6 !important; +} +.t-pp-hm3 { + color: #b98cd9 !important; +} +.t-pp-hm4 { + color: #aa66cc !important; +} +.t-pp-hm5 { + color: #9f40bf !important; +} +.t-pp-hm6 { + color: #883399 !important; +} +.t-pp-hm7 { + color: #6c2673 !important; +} +.t-pp-hm8 { + color: #4d194d !important; +} +.t-pp-hm9 { + color: #260d24 !important; +} +.t-pp-hd1 { + color: #e5e0eb !important; +} +.t-pp-hd2 { + color: #ccc2d6 !important; +} +.t-pp-hd3 { + color: #b5a3c2 !important; +} +.t-pp-hd4 { + color: #a085ad !important; +} +.t-pp-hd5 { + color: #8c6699 !important; +} +.t-pp-hd6 { + color: #74527a !important; +} +.t-pp-hd7 { + color: #593d5c !important; +} +.t-pp-hd8 { + color: #3d293d !important; +} +.t-pp-hd9 { + color: #1f141e !important; +} +.t-pi-hl1 { + color: #ecd1fa !important; +} +.t-pi-hl2 { + color: #e0a3f5 !important; +} +.t-pi-hl3 { + color: #db75f0 !important; +} +.t-pi-hl4 { + color: #dd47eb !important; +} +.t-pi-hl5 { + color: #e619e5 !important; +} +.t-pi-hl6 { + color: #b814aa !important; +} +.t-pi-hl7 { + color: #8a0f75 !important; +} +.t-pi-hl8 { + color: #5c0a47 !important; +} +.t-pi-hl9 { + color: #2e0520 !important; +} +.t-pi-hm1 { + color: #ead9f2 !important; +} +.t-pi-hm2 { + color: #d9b3e6 !important; +} +.t-pi-hm3 { + color: #cc8cd9 !important; +} +.t-pi-hm4 { + color: #c366cc !important; +} +.t-pi-hm5 { + color: #bf40bf !important; +} +.t-pi-hm6 { + color: #993391 !important; +} +.t-pi-hm7 { + color: #732666 !important; +} +.t-pi-hm8 { + color: #4d1940 !important; +} +.t-pi-hm9 { + color: #260d1e !important; +} +.t-pi-hd1 { + color: #e7e0eb !important; +} +.t-pi-hd2 { + color: #d1c2d6 !important; +} +.t-pi-hd3 { + color: #bda3c2 !important; +} +.t-pi-hd4 { + color: #aa85ad !important; +} +.t-pi-hd5 { + color: #996699 !important; +} +.t-pi-hd6 { + color: #7a5277 !important; +} +.t-pi-hd7 { + color: #5c3d57 !important; +} +.t-pi-hd8 { + color: #3d2938 !important; +} +.t-pi-hd9 { + color: #1f141b !important; +} +.t-pv-hl1 { + color: #f7d1fa !important; +} +.t-pv-hl2 { + color: #f5a3f5 !important; +} +.t-pv-hl3 { + color: #f075e5 !important; +} +.t-pv-hl4 { + color: #eb47cf !important; +} +.t-pv-hl5 { + color: #e619b2 !important; +} +.t-pv-hl6 { + color: #b81481 !important; +} +.t-pv-hl7 { + color: #8a0f57 !important; +} +.t-pv-hl8 { + color: #5c0a33 !important; +} +.t-pv-hl9 { + color: #2e0516 !important; +} +.t-pv-hm1 { + color: #f0d9f2 !important; +} +.t-pv-hm2 { + color: #e6b3e5 !important; +} +.t-pv-hm3 { + color: #d98cd2 !important; +} +.t-pv-hm4 { + color: #cc66bb !important; +} +.t-pv-hm5 { + color: #bf409f !important; +} +.t-pv-hm6 { + color: #993377 !important; +} +.t-pv-hm7 { + color: #732653 !important; +} +.t-pv-hm8 { + color: #4d1933 !important; +} +.t-pv-hm9 { + color: #260d17 !important; +} +.t-pv-hd1 { + color: #eae0eb !important; +} +.t-pv-hd2 { + color: #d6c2d6 !important; +} +.t-pv-hd3 { + color: #c2a3bf !important; +} +.t-pv-hd4 { + color: #ad85a7 !important; +} +.t-pv-hd5 { + color: #99668c !important; +} +.t-pv-hd6 { + color: #7a526d !important; +} +.t-pv-hd7 { + color: #5c3d4f !important; +} +.t-pv-hd8 { + color: #3d2933 !important; +} +.t-pv-hd9 { + color: #1f1419 !important; +} +.t-vi-hl1 { + color: #fad1f3 !important; +} +.t-vi-hl2 { + color: #f5a3e0 !important; +} +.t-vi-hl3 { + color: #f075c7 !important; +} +.t-vi-hl4 { + color: #eb47a7 !important; +} +.t-vi-hl5 { + color: #e61980 !important; +} +.t-vi-hl6 { + color: #b81458 !important; +} +.t-vi-hl7 { + color: #8a0f38 !important; +} +.t-vi-hl8 { + color: #5c0a1f !important; +} +.t-vi-hl9 { + color: #2e050c !important; +} +.t-vi-hm1 { + color: #f2d9ee !important; +} +.t-vi-hm2 { + color: #e6b3d9 !important; +} +.t-vi-hm3 { + color: #d98cbf !important; +} +.t-vi-hm4 { + color: #cc66a2 !important; +} +.t-vi-hm5 { + color: #bf4080 !important; +} +.t-vi-hm6 { + color: #99335d !important; +} +.t-vi-hm7 { + color: #732640 !important; +} +.t-vi-hm8 { + color: #4d1926 !important; +} +.t-vi-hm9 { + color: #260d11 !important; +} +.t-vi-hd1 { + color: #ebe0e9 !important; +} +.t-vi-hd2 { + color: #d6c2d1 !important; +} +.t-vi-hd3 { + color: #c2a3b8 !important; +} +.t-vi-hd4 { + color: #ad859c !important; +} +.t-vi-hd5 { + color: #996680 !important; +} +.t-vi-hd6 { + color: #7a5263 !important; +} +.t-vi-hd7 { + color: #5c3d47 !important; +} +.t-vi-hd8 { + color: #3d292e !important; +} +.t-vi-hd9 { + color: #1f1416 !important; +} +.t-vr-hl1 { + color: #fad1e9 !important; +} +.t-vr-hl2 { + color: #f5a3cc !important; +} +.t-vr-hl3 { + color: #f075a8 !important; +} +.t-vr-hl4 { + color: #eb477e !important; +} +.t-vr-hl5 { + color: #e6194c !important; +} +.t-vr-hl6 { + color: #b81430 !important; +} +.t-vr-hl7 { + color: #8a0f19 !important; +} +.t-vr-hl8 { + color: #5c0a0a !important; +} +.t-vr-hl9 { + color: #2e0805 !important; +} +.t-vr-hm1 { + color: #f2d9e8 !important; +} +.t-vr-hm2 { + color: #e6b3cc !important; +} +.t-vr-hm3 { + color: #d98cac !important; +} +.t-vr-hm4 { + color: #cc6688 !important; +} +.t-vr-hm5 { + color: #bf4060 !important; +} +.t-vr-hm6 { + color: #993344 !important; +} +.t-vr-hm7 { + color: #73262d !important; +} +.t-vr-hm8 { + color: #4d1919 !important; +} +.t-vr-hm9 { + color: #260f0d !important; +} +.t-vr-hd1 { + color: #ebe0e6 !important; +} +.t-vr-hd2 { + color: #d6c2cc !important; +} +.t-vr-hd3 { + color: #c2a3b0 !important; +} +.t-vr-hd4 { + color: #ad8592 !important; +} +.t-vr-hd5 { + color: #996673 !important; +} +.t-vr-hd6 { + color: #7a5258 !important; +} +.t-vr-hd7 { + color: #5c3d40 !important; +} +.t-vr-hd8 { + color: #3d2929 !important; +} +.t-vr-hd9 { + color: #1f1514 !important; +} +/* +chsname=["红","红橙","橙","橙黄","黄","黄草","草绿","草绿-绿","绿","绿-水绿","水绿","水绿-青","青","青蓝","蓝","蓝靛","靛","靛紫","紫","紫粉","粉","粉-洋红","洋红","洋红-红","灰"]; +engname=["red","red-orange","orange","orange-yellow","yellow","yellow-chartreuse","chartreuse","chartreuse-green","green","green-aquamarine","aquamarine","aquamarine-cyan","cyan","cyan-blue","blue","blue-indigo","indigo","indigo-purple","purple","purple-pink","pink","pink-violetred","violetred","violetred-red","gray"]; +colors=["re","ro","or","oy","ye","yc","ch","cg","gr","ga","aq","ac","cy","cb","bl","bi","in","ip","pu","pp","pi","pv","vi","vr","gy"]; +*/ +.fixfloat:after { + content: "."; + height: 0; + display: block; + visibility: hidden; + clear: both; +} +.fullbox { + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.thidden { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.block-group { + display: table; +} +.block-group li { + display: table-cell; + width: 1%; +} +.block-group li .mui-btn { + width: 100%; +} +.inline-wrapper { + font-size: 0; +} +.inline-wrapper li { + display: inline-block; + padding: 10px; + font-size: 1rem; +} +.fix-cx { + transform: translateX(-50%); +} +.fix-cy { + transform: translateY(-50%); +} +.fix-c { + transform: translateX(-50%) translateY(-50%); +} +/*header css start*/ + +.ad-box { + position: relative; +} +.ad-box a img { + max-height: 320px; + width: 100%; + object-fit: cover; +} +.ad-box .fa { + position: absolute; + right: 10px; + bottom: 10px; + color: #000; + cursor: pointer; +} +.ad-box .fa:hover { + color: #197fe6; +} + +.ui-limit { + width: 1200px; + margin: 0 auto; + position: relative; +} +.ui-header { + background-color: rgba(25, 51, 77, 0.95); + width: 100%; + min-width: 1200px; + z-index: 99; +} +.ui-header .ui-limit { + position: relative; + padding-top: 100px; +} +.ui-header .ui-limit .logo-wrapper { + position: absolute; + top: 20px; + left: 50%; + transform: translateX(-50%); +} +.ui-header .ui-limit .logo-wrapper .logo { + text-align: center; + float: left; +} +.ui-header .ui-limit .logo-wrapper .logo:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f008"; + font-size: 3.5rem; + padding-right: 10px; + line-height: 5rem; + color: #1466b8; +} +.ui-header .ui-limit .logo-wrapper .desc { + font-size: 3rem; + color: #6699cc; + line-height: 5rem; + float: left; + font-family: "微软雅黑"; + font-weight: bold; +} +.ui-header .ui-limit .btn-group { + position: absolute; + bottom: 20px; + right: 0; +} +.ui-header .ui-limit .btn-group .btn .fa { + margin-right: 5px; +} +.ui-header .ui-limit .view-count { + position: absolute; + bottom: 20px; + left: 0; + line-height: 34px; + background-color: #19334d; + border: 1px solid #19334d; + border-radius: 5px; + padding: 0 15px; +} +.ui-header .ui-limit .view-count .desc { + color: #197fe6; +} +.ui-header .ui-limit .view-count .desc .fa { + margin-right: 5px; +} +.ui-header .ui-limit .view-count .count { + color: #fff; +} +.ui-header .ui-limit .count-down { + text-align: center; + padding: 20px; +} +.ui-header .ui-limit .count-down .minfo { + font-size: 1.8rem; + color: #6699cc; +} +.ui-header .ui-limit .count-down .minfo .count { + display: inline-block; + padding: 10px 0; + width: 40px; + border-radius: 4px; + color: #fff; + margin: 0 10px; + background-color: #19334d; +} +.ui-header .ui-limit .count-down .sinfo { + color: #336699; + font-size: 1.2rem; +} +.ui-header .ui-limit .film-title { + text-align: center; + padding: 20px 0 30px 0; + font-size: 1.4rem; + color: #fff; +} +.ui-header .ui-limit .share-info { + text-align: center; + width: 600px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin: 0 auto; + padding: 20px 0 30px 0; + font-size: 1.4rem; + color: #6699cc; +} +.ui-header .ui-limit .share-info:before { + content: "["; + color: #336699; +} +.ui-header .ui-limit .share-info:after { + content: "]"; + color: #336699; +} +body.view-flat .infobar { + display: block; +} +body.view-flat .tab-info { + display: none; +} +body.view-flat .tab-side > li.active .tab-info { + display: block!important; +} +body.view-flat .tab-content > .tab-pane { + display: block; +} +body.view-flat .down-list > li .down-links { + transition: none!important; +} +body.view-tabs .infobar { + display: none; +} +body.view-film .ui-header .btn-group .btn-toggle-view, +body.view-single .ui-header .btn-group .btn-toggle-view { + display: none; +} +body.view-film .ui-header .btn-group .btn-default, +body.view-single .ui-header .btn-group .btn-default { + border-radius: 4px !important; +} +body.view-film .pane-single, +body.view-single .pane-single { + min-height: 350px; +} +body.view-film .pane-single .download-box, +body.view-single .pane-single .download-box { + text-align: center; + position: relative; +} +body.view-film .pane-single .download-box a, +body.view-single .pane-single .download-box a { + margin-bottom: 0; + font-size: 1.4rem; + line-height: 50px; +} +body.view-film .pane-single .download-box .btn-download, +body.view-single .pane-single .download-box .btn-download { + display: block; + width: 129px; + padding: 0 10px; + font-size: 1.2rem; + margin: 20px auto; + line-height: 50px; +} +body.view-film .down-list .down-links, +body.view-single .down-list .down-links { + visibility: visible!important; + opacity: 1!important; + height: 50px; +} +.ui-content { + width: 100%; + min-height: 650px; +} +.ui-content .row-content { + padding: 40px 0 0 0; + font-size: 0; +} +.ui-content .row-content .col-box { + display: inline-block; + padding: 0 15px; + margin: 0; + float: left; +} +.ui-content .row-content .col-box.col-sidebar { + width: 15%; + min-height: 300px; + margin-bottom: 20px; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper { + width: 154px; + background-color: #19334d; + border-radius: 5px; + overflow: hidden; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .scroll-wrapper { + max-height: 550px; + overflow: auto; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side { + width: 154px; + padding: 15px 0; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li { + line-height: 3rem; + font-size: 1.4rem; + text-align: center; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li > a { + display: block; + width: 100%; + background-color: #19334d; + color: #6699cc; + padding: 0; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li > a:hover { + background-color: rgba(38, 76, 115, 0.3); +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li .tab-info { + display: none; + margin-bottom: 10px; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li .tab-info > li { + font-size: 1rem; + line-height: 2rem; + white-space: nowrap; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li .tab-info > li > a { + display: block; + width: 100%; + background-color: #19334d; + color: #407fbf; + padding: 0; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li .tab-info > li > a:hover { + background-color: rgba(38, 76, 115, 0.3); +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li .tab-info > li > a .fa { + margin-right: 5px; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li .tab-info > li > a .badge { + font-size: .8rem; + margin-left: 5px; + background-color: #264c73; + color: #6699cc; + font-weight: normal; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li .tab-info > li.active > a { + background-color: rgba(38, 76, 115, 0.5); + color: #407fbf; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper .tab-side > li.active > a { + background-color: #264c73; + color: #407fbf; +} +.ui-content .row-content .col-box.col-sidebar .sidebar-warpper.sidebar-warpper-fixed { + position: fixed; + top: 40px; +} +.ui-content .row-content .col-box.col-infomation { + width: 85%; +} +.panel { + box-shadow: none; + background-color: transparent; + border-radius: 0; + border: none; +} +.panel .panel-heading { + padding: 0; + text-align: center; + font-size: 1.6rem; + line-height: 4rem; + position: relative; +} +.panel .panel-heading .desc { + background-color: #fff; + z-index: 2; + position: relative; + padding: 0 1rem; +} +.panel .panel-body { + padding: 0; +} +.panel.panel-has-tabs .panel-heading { + line-height: 3rem; + text-align: left; +} +.tab-content > li, +.tab-content > div { + display: inline-block; + width: 100%; + font-size: 1rem; + min-height: 550px; +} +.tab-content.ani-fade > li, +.tab-content.ani-fade > div { + position: absolute; + opacity: 0; + z-index: -1; + transition: all 0.5s cubic-bezier(0.78, 0.02, 0.2, 1), z-index 0s 0.12s; +} +.tab-content.ani-fade > li.active, +.tab-content.ani-fade > div.active { + opacity: 1; + z-index: 1; +} +.tab-content > .active { + display: inline-block; +} +.tab-content .tab-pane { + min-height: 120px; +} +.tab-content .tab-pane:after { + content: "."; + height: 0; + display: block; + visibility: hidden; + clear: both; +} +.tab-content .tab-pane > .tab-header { + border-bottom: 1px solid #e6e6e6; + width: 100%; + text-align: left; + font-size: 0; + overflow: hidden; + height: 34px; +} +.tab-content .tab-pane > .tab-header > li, +.tab-content .tab-pane > .tab-header > div { + display: inline-block; + margin: 0 0.3rem -2px 0.3rem; + cursor: pointer; + font-size: 1.4rem; +} +.tab-content .tab-pane > .tab-header > li a, +.tab-content .tab-pane > .tab-header > div a { + text-decoration: none; + color: #4d4d4d; + display: inline-block; + padding: 0 .5rem .8rem .5rem; +} +.tab-content .tab-pane > .tab-header > li a .fa, +.tab-content .tab-pane > .tab-header > div a .fa { + margin-right: 5px; +} +.tab-content .tab-pane > .tab-header > li a .badge, +.tab-content .tab-pane > .tab-header > div a .badge { + line-height: 1.5rem; + display: inline; + vertical-align: top; + border-radius: 20px; + margin: 0 0 0 5px; + background-color: #197fe6; +} +.tab-content .tab-pane > .tab-header > li.active, +.tab-content .tab-pane > .tab-header > div.active { + border-bottom: 2px solid #b81414; + color: #e61919; +} +.tab-content .tab-pane > .tab-header > li.active a, +.tab-content .tab-pane > .tab-header > div.active a { + color: #e61919; +} +.tab-content .tab-pane > .tab-header > li.active a .badge, +.tab-content .tab-pane > .tab-header > div.active a .badge { + background-color: #e61919; +} +.infobar { + padding: 10px; + line-height: 2.5rem; + font-size: 1.4rem; + font-weight: bold; + border-bottom: 2px solid #197fe6; +} +.infobar .badge { + line-height: 1.5rem; + display: inline; + vertical-align: middle; + border-radius: 20px; + margin: 0 0 0 5px; + background-color: #197fe6; +} +.down-img { + width: 16px; + height: 16px; + display: inline-block; + background-position: 0 0; +} +.down-img.down-img-thunder, +.down-img.down-img--1 { + background-position: -68px 0; +} +.down-img.down-img-yyets { + background-position: -51px 0; +} +.down-img.down-img-baidu, +.down-img.down-img-102 { + background-position: -17px -17px; +} +.down-img.down-img-tencent, +.down-img.down-img-108 { + background-position: 0 -17px; +} +.down-img.down-img-emule, +.down-img.down-img-1 { + background-position: -34px -17px; +} +.down-img.down-img-magent, +.down-img.down-img-2 { + background-position: -51px -17px; +} +.down-img.down-img-fantasy, +.down-img.down-img-114 { + background-position: -51px -34px; +} +.down-img.down-img-CT, +.down-img.down-img-12 { + background-position: 0 -34px; +} +.down-img.down-img-MI, +.down-img.down-img-999 { + background-position: -68px -17px; +} +.down-img.down-img-default { + background-position: 0 0; +} +.down-img.down-img-cloud, +.down-img.down-img-9 { + background-position: -17px 0; +} +.down-img.down-img-acfun, +.down-img.down-img-103 { + background-position: -17px -34px; +} +.down-img.down-img-bilibili, +.down-img.down-img-104 { + background-position: -34px -34px; +} +.down-img.down-img-youku, +.down-img.down-img-105 { + background-position: -17px -51px; +} +.down-img.down-img-shouhu, +.down-img.down-img-106 { + background-position: -34px -51px; +} +.down-img.down-img-leshi, +.down-img.down-img-107 { + background-position: 0 -51px; +} +.down-img.down-img-weiyun, +.down-img.down-img-108 { + background-position: -68px -34px; +} +.tooltip-filename .tooltip-inner { + max-width: 800px; + font-size: 1rem; +} +.tooltip-copy .tooltip-inner { + font-size: 1rem; + white-space: nowrap; +} +.down-list > li { + font-size: 1.2rem; + padding: 10px; + border-bottom: 1px dotted #d9d9d9; + transition: all 0.5s cubic-bezier(0.78, 0.02, 0.2, 1), z-index 0s 0.12s; +} +.down-list > li .title { + margin: 0; + padding: 0; + font-size: 0; +} +.down-list > li .title:after { + content: "."; + height: 0; + display: block; + visibility: hidden; + clear: both; +} +.down-list > li .title > span { + display: inline-block; + font-size: 1.2rem; + line-height: 38px; + float: left; +} +.down-list > li .title > span.episode { + color: #197fe6; + float: left; + padding-right: 10px; +} +.down-list > li .title > span.filename { + color: #808080; + padding-right: 10px; + max-width: 680px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.down-list > li .title > span.filesize { + color: #bfbfbf; +} +.down-list > li .title > span.date { + float: right; + color: #bfbfbf; +} +.down-list > li .title .down-links { + height: 38px!important; + visibility: visible!important; + opacity: 1!important; + padding: 0!important; + float: left; +} +.down-list > li .title .down-links > li { + margin: 0 .5rem 0 0; +} +.down-list > li .down-links { + font-size: 0; + line-height: 1rem; + transition: all 0.5s cubic-bezier(0.78, 0.02, 0.2, 1), z-index 0s 0.12s; + padding: 0; + height: 0; + opacity: 0; + visibility: hidden; +} +.down-list > li .down-links > li { + display: inline-block; + position: relative; + line-height: 1rem; + margin: .3rem .5rem .3rem 0; +} +.down-list > li .down-links > li .btn { + padding: .3rem 1rem; + height: 38px; + border-radius: 4px; + border: 1px solid #d9d9d9; + background-color: #fff; + position: relative; + z-index: 2; +} +.down-list > li .down-links > li .btn .desc { + display: inline-block; + margin: 0; + font-size: 1.2rem; + padding: 0; + line-height: 2rem; +} +.down-list > li .down-links > li .btn .desc .fa { + margin-left: 10px; + color: #d9d9d9; + font-size: 1rem; +} +.down-list > li .down-links > li .btn:hover { + background-color: #197fe6; + border: 1px solid #197fe6; + color: #fff; +} +.down-list > li .down-links > li .btn:hover .desc .fa { + color: #fff; +} +.down-list > li .down-links > li .copy-link { + content: "1"; + display: inline-block; + width: 20px; + height: 0; + background-color: rgba(0, 0, 0, 0); + font-size: 1rem; + position: relative; + right: 0; + top: 0; +} +.down-list > li .down-links > li .copy-link:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + position: absolute; + left: -5px; + top: -19px; + line-height: 38px; + z-index: 0; + padding-left: 3px; + content: "\f0c5"; + color: #bfbfbf; + cursor: pointer; + width: 26px; + height: 38px; + text-align: center; + border-radius: 4px; + background-color: #fff; + border: 1px solid #d9d9d9; +} +.down-list > li .down-links > li .copy-link:hover:before { + background-color: #197fe6; + border: 1px solid #fff; + color: #fff; +} +.down-list > li .down-links > li .copy-pass { + content: "1"; + display: inline-block; + width: 26px; + height: 0; + background-color: rgba(0, 0, 0, 0); + font-size: 1rem; + position: relative; + right: 0; + top: 0; +} +.down-list > li .down-links > li .copy-pass:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + position: absolute; + left: -5px; + top: -19px; + line-height: 38px; + z-index: 1; + padding-left: 3px; + content: "\f084"; + color: #bfbfbf; + cursor: pointer; + width: 30px; + height: 38px; + text-align: center; + border-radius: 4px; + background-color: #fff; + border: 1px solid #d9d9d9; +} +.down-list > li .down-links > li .copy-pass:hover:before { + background-color: #e68019; + border: 1px solid #fff; + color: #fff; +} +.down-list > li .down-links > li:hover .down-popup { + opacity: 1; + z-index: 10; + visibility: visible; +} +.down-list > li:hover { + background-color: #f2f2f2; +} +.down-list > li:hover .down-links { + height: 50px; + padding: 0; + visibility: visible; + opacity: 1; +} +.down-list > li:last-child .down-popup, +.down-list > li:nth-last-child(2) .down-popup { + top: -289px; +} +.down-popup { + position: absolute; + top: 100%; + left: 0; + opacity: 0; + transition: all 0.5s cubic-bezier(0.78, 0.02, 0.2, 1), z-index 0s 0.12s; + z-index: 3; + visibility: hidden; + background-color: #264c73; + border-radius: 5px; + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); + font-size: 1rem; +} +.down-popup .panel-inner-down .panel-heading { + font-size: 1.2rem; + line-height: 2rem; + color: #407fbf; +} +.down-popup .panel-inner-down .panel-heading .fa { + float: right; + margin-top: 5px; +} +.down-popup .panel-inner-down .panel-heading .fa:hover { + color: #8cb2d9; +} +.down-popup .panel-inner-down .panel-body { + padding-top: 0; +} +.down-popup .panel-inner-down .panel-body .btn { + width: 100%; + display: block; + font-size: 1.2rem; + background-color: #19334d; + border: 1px solid #0d1926; + color: #6699cc; + height: auto; + margin-bottom: 10px; + padding: 0 10px; + line-height: 3rem; +} +.down-popup .panel-inner-down .panel-body .desc { + margin: 0; + color: #6699cc; + line-height: 1.5rem; + text-indent: 2rem; +} +.down-list-toolbar { + float: right; + margin: 20px 0; + position: relative; + border: 1px solid #e6e6e6; + background-color: #e6e6e6; + border-radius: 4px; + padding: 5px 5px 5px 10px; +} +.down-list-toolbar .title { + display: inline-block; + font-size: 1.2rem; + color: #4d4d4d; + line-height: 36px; + margin: 0; +} +.down-list-toolbar .btn-group { + display: inline-block; +} +.down-list-toolbar .btn-group .btn { + padding: 0 1rem; + height: 38px; + line-height: 38px; + border-radius: 4px; + border: 1px solid #d9d9d9; + background-color: #fff; + position: relative; + z-index: 2; +} +.down-list-toolbar .btn-group .btn .desc { + display: inline-block; + margin: 0; + font-size: 1.2rem; + padding: 0; + line-height: 2rem; +} +.down-list-toolbar .btn-group .btn .desc .fa { + margin-left: 10px; + color: #d9d9d9; + font-size: 1rem; +} +.down-list-toolbar .btn-group .btn:hover { + background-color: #197fe6; + border: 1px solid #197fe6; + color: #fff; +} +.down-list-toolbar .btn-group .btn:hover .desc .fa { + color: #fff; +} +.ui-footer { + background-color: #19334d; + padding: 0; +} +.ui-footer .ui-limit { + font-size: 0; +} +.ui-footer .ui-limit .foot-group { + display: inline-block; + vertical-align: top; + font-size: 0; + width: 300px; + height: 200px; +} +.ui-footer .ui-limit .foot-group li { + line-height: 2rem; + font-size: 1.2rem; + width: 50%; + display: inline-block; + color: rgba(255, 255, 255, 0.8); +} +.ui-footer .ui-limit .foot-group li a { + color: rgba(255, 255, 255, 0.8); +} +.ui-footer .ui-limit .foot-group li:hover { + color: #197fe6; +} +.ui-footer .ui-limit .foot-group li:hover a { + color: #197fe6; +} +.ui-footer .ui-limit .foot-links { + width: 150px; + font-size: 0; +} +.ui-footer .ui-limit .foot-links li { + width: 100%; +} +.ui-footer .ui-limit .foot-contact { + width: 400px; +} +.ui-footer .ui-limit .foot-contact li { + text-align: center; + margin-bottom: 40px; +} +.ui-footer .ui-limit .foot-contact li .title { + color: rgba(255, 255, 255, 0.8); +} +.ui-footer .ui-limit .foot-contact li .desc { + color: rgba(255, 255, 255, 0.4); +} +.ui-footer .ui-limit .foot-contact li .desc a { + color: rgba(255, 255, 255, 0.4); +} +.ui-footer .ui-limit .foot-contact li:hover .desc { + color: #197fe6; +} +.ui-footer .ui-limit .foot-contact li:hover .desc a { + color: #197fe6; +} +.ui-footer .ui-limit .foot-qrcode { + width: 650px; +} +.ui-footer .ui-limit .foot-qrcode li { + width: 25%; + text-align: center; + line-height: 1.5rem; +} +.ui-footer .ui-limit .foot-qrcode li img { + width: 70%; +} +.ui-footer .ui-limit .foot-qrcode li .title { + line-height: 2rem; + color: rgba(255, 255, 255, 0.8); +} +.ui-footer .ui-limit .foot-qrcode li .desc { + color: rgba(255, 255, 255, 0.4); +} +.ui-footer .copyright { + text-align: center; + font-size: 1.2rem; + padding: 40px 0 30px 0; + color: #fff; + background-color: rgba(13, 25, 38, 0.5); +} +.ui-footer .copyright p { + margin-bottom: 0; +} +.ui-footer.ui-footer-simple { + padding: 0; +} +.ui-footer.ui-footer-simple .copyright { + background-color: #19334d; +} +.ui-footer.ui-footer-fixed { + position: fixed; + bottom: 0; + left: 0; + right: 0; +} +.IE .ui-header .ui-limit .logo-wrapper { + padding-left: 4.5rem; +} +.IE .ui-header .ui-limit .logo-wrapper .logo::before { + position: absolute; + left: 0; + top: 35px; +} +.mCSB_inside > .mCSB_container { + margin-right: 0; +} diff --git a/yyets/worker/public/css/font-awesome.min.css b/yyets/worker/public/css/font-awesome.min.css new file mode 100644 index 000000000..8d5c4ad74 --- /dev/null +++ b/yyets/worker/public/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} .fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%} .fa-2x{font-size:2em} .fa-3x{font-size:3em} .fa-4x{font-size:4em} .fa-5x{font-size:5em} .fa-fw{width:1.28571429em;text-align:center} .fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none} .fa-ul>li{position:relative} .fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center} .fa-li.fa-lg{left:-1.85714286em} .fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em} .fa-pull-left{float:left} .fa-pull-right{float:right} .fa.fa-pull-left{margin-right:.3em} .fa.fa-pull-right{margin-left:.3em} .pull-right{float:right} .pull-left{float:left} .fa.pull-left{margin-right:.3em} .fa.pull-right{margin-left:.3em} .fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear} .fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)} @-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)} 100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} @keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)} 100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} .fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)} .fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)} .fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)} .fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)} .fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)} :root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none} .fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle} .fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center} .fa-stack-1x{line-height:inherit} .fa-stack-2x{font-size:2em} .fa-inverse{color:#fff} .fa-glass:before{content:"\f000"} .fa-music:before{content:"\f001"} .fa-search:before{content:"\f002"} .fa-envelope-o:before{content:"\f003"} .fa-heart:before{content:"\f004"} .fa-star:before{content:"\f005"} .fa-star-o:before{content:"\f006"} .fa-user:before{content:"\f007"} .fa-film:before{content:"\f008"} .fa-th-large:before{content:"\f009"} .fa-th:before{content:"\f00a"} .fa-th-list:before{content:"\f00b"} .fa-check:before{content:"\f00c"} .fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"} .fa-search-plus:before{content:"\f00e"} .fa-search-minus:before{content:"\f010"} .fa-power-off:before{content:"\f011"} .fa-signal:before{content:"\f012"} .fa-gear:before,.fa-cog:before{content:"\f013"} .fa-trash-o:before{content:"\f014"} .fa-home:before{content:"\f015"} .fa-file-o:before{content:"\f016"} .fa-clock-o:before{content:"\f017"} .fa-road:before{content:"\f018"} .fa-download:before{content:"\f019"} .fa-arrow-circle-o-down:before{content:"\f01a"} .fa-arrow-circle-o-up:before{content:"\f01b"} .fa-inbox:before{content:"\f01c"} .fa-play-circle-o:before{content:"\f01d"} .fa-rotate-right:before,.fa-repeat:before{content:"\f01e"} .fa-refresh:before{content:"\f021"} .fa-list-alt:before{content:"\f022"} .fa-lock:before{content:"\f023"} .fa-flag:before{content:"\f024"} .fa-headphones:before{content:"\f025"} .fa-volume-off:before{content:"\f026"} .fa-volume-down:before{content:"\f027"} .fa-volume-up:before{content:"\f028"} .fa-qrcode:before{content:"\f029"} .fa-barcode:before{content:"\f02a"} .fa-tag:before{content:"\f02b"} .fa-tags:before{content:"\f02c"} .fa-book:before{content:"\f02d"} .fa-bookmark:before{content:"\f02e"} .fa-print:before{content:"\f02f"} .fa-camera:before{content:"\f030"} .fa-font:before{content:"\f031"} .fa-bold:before{content:"\f032"} .fa-italic:before{content:"\f033"} .fa-text-height:before{content:"\f034"} .fa-text-width:before{content:"\f035"} .fa-align-left:before{content:"\f036"} .fa-align-center:before{content:"\f037"} .fa-align-right:before{content:"\f038"} .fa-align-justify:before{content:"\f039"} .fa-list:before{content:"\f03a"} .fa-dedent:before,.fa-outdent:before{content:"\f03b"} .fa-indent:before{content:"\f03c"} .fa-video-camera:before{content:"\f03d"} .fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"} .fa-pencil:before{content:"\f040"} .fa-map-marker:before{content:"\f041"} .fa-adjust:before{content:"\f042"} .fa-tint:before{content:"\f043"} .fa-edit:before,.fa-pencil-square-o:before{content:"\f044"} .fa-share-square-o:before{content:"\f045"} .fa-check-square-o:before{content:"\f046"} .fa-arrows:before{content:"\f047"} .fa-step-backward:before{content:"\f048"} .fa-fast-backward:before{content:"\f049"} .fa-backward:before{content:"\f04a"} .fa-play:before{content:"\f04b"} .fa-pause:before{content:"\f04c"} .fa-stop:before{content:"\f04d"} .fa-forward:before{content:"\f04e"} .fa-fast-forward:before{content:"\f050"} .fa-step-forward:before{content:"\f051"} .fa-eject:before{content:"\f052"} .fa-chevron-left:before{content:"\f053"} .fa-chevron-right:before{content:"\f054"} .fa-plus-circle:before{content:"\f055"} .fa-minus-circle:before{content:"\f056"} .fa-times-circle:before{content:"\f057"} .fa-check-circle:before{content:"\f058"} .fa-question-circle:before{content:"\f059"} .fa-info-circle:before{content:"\f05a"} .fa-crosshairs:before{content:"\f05b"} .fa-times-circle-o:before{content:"\f05c"} .fa-check-circle-o:before{content:"\f05d"} .fa-ban:before{content:"\f05e"} .fa-arrow-left:before{content:"\f060"} .fa-arrow-right:before{content:"\f061"} .fa-arrow-up:before{content:"\f062"} .fa-arrow-down:before{content:"\f063"} .fa-mail-forward:before,.fa-share:before{content:"\f064"} .fa-expand:before{content:"\f065"} .fa-compress:before{content:"\f066"} .fa-plus:before{content:"\f067"} .fa-minus:before{content:"\f068"} .fa-asterisk:before{content:"\f069"} .fa-exclamation-circle:before{content:"\f06a"} .fa-gift:before{content:"\f06b"} .fa-leaf:before{content:"\f06c"} .fa-fire:before{content:"\f06d"} .fa-eye:before{content:"\f06e"} .fa-eye-slash:before{content:"\f070"} .fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"} .fa-plane:before{content:"\f072"} .fa-calendar:before{content:"\f073"} .fa-random:before{content:"\f074"} .fa-comment:before{content:"\f075"} .fa-magnet:before{content:"\f076"} .fa-chevron-up:before{content:"\f077"} .fa-chevron-down:before{content:"\f078"} .fa-retweet:before{content:"\f079"} .fa-shopping-cart:before{content:"\f07a"} .fa-folder:before{content:"\f07b"} .fa-folder-open:before{content:"\f07c"} .fa-arrows-v:before{content:"\f07d"} .fa-arrows-h:before{content:"\f07e"} .fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"} .fa-twitter-square:before{content:"\f081"} .fa-facebook-square:before{content:"\f082"} .fa-camera-retro:before{content:"\f083"} .fa-key:before{content:"\f084"} .fa-gears:before,.fa-cogs:before{content:"\f085"} .fa-comments:before{content:"\f086"} .fa-thumbs-o-up:before{content:"\f087"} .fa-thumbs-o-down:before{content:"\f088"} .fa-star-half:before{content:"\f089"} .fa-heart-o:before{content:"\f08a"} .fa-sign-out:before{content:"\f08b"} .fa-linkedin-square:before{content:"\f08c"} .fa-thumb-tack:before{content:"\f08d"} .fa-external-link:before{content:"\f08e"} .fa-sign-in:before{content:"\f090"} .fa-trophy:before{content:"\f091"} .fa-github-square:before{content:"\f092"} .fa-upload:before{content:"\f093"} .fa-lemon-o:before{content:"\f094"} .fa-phone:before{content:"\f095"} .fa-square-o:before{content:"\f096"} .fa-bookmark-o:before{content:"\f097"} .fa-phone-square:before{content:"\f098"} .fa-twitter:before{content:"\f099"} .fa-facebook-f:before,.fa-facebook:before{content:"\f09a"} .fa-github:before{content:"\f09b"} .fa-unlock:before{content:"\f09c"} .fa-credit-card:before{content:"\f09d"} .fa-feed:before,.fa-rss:before{content:"\f09e"} .fa-hdd-o:before{content:"\f0a0"} .fa-bullhorn:before{content:"\f0a1"} .fa-bell:before{content:"\f0f3"} .fa-certificate:before{content:"\f0a3"} .fa-hand-o-right:before{content:"\f0a4"} .fa-hand-o-left:before{content:"\f0a5"} .fa-hand-o-up:before{content:"\f0a6"} .fa-hand-o-down:before{content:"\f0a7"} .fa-arrow-circle-left:before{content:"\f0a8"} .fa-arrow-circle-right:before{content:"\f0a9"} .fa-arrow-circle-up:before{content:"\f0aa"} .fa-arrow-circle-down:before{content:"\f0ab"} .fa-globe:before{content:"\f0ac"} .fa-wrench:before{content:"\f0ad"} .fa-tasks:before{content:"\f0ae"} .fa-filter:before{content:"\f0b0"} .fa-briefcase:before{content:"\f0b1"} .fa-arrows-alt:before{content:"\f0b2"} .fa-group:before,.fa-users:before{content:"\f0c0"} .fa-chain:before,.fa-link:before{content:"\f0c1"} .fa-cloud:before{content:"\f0c2"} .fa-flask:before{content:"\f0c3"} .fa-cut:before,.fa-scissors:before{content:"\f0c4"} .fa-copy:before,.fa-files-o:before{content:"\f0c5"} .fa-paperclip:before{content:"\f0c6"} .fa-save:before,.fa-floppy-o:before{content:"\f0c7"} .fa-square:before{content:"\f0c8"} .fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"} .fa-list-ul:before{content:"\f0ca"} .fa-list-ol:before{content:"\f0cb"} .fa-strikethrough:before{content:"\f0cc"} .fa-underline:before{content:"\f0cd"} .fa-table:before{content:"\f0ce"} .fa-magic:before{content:"\f0d0"} .fa-truck:before{content:"\f0d1"} .fa-pinterest:before{content:"\f0d2"} .fa-pinterest-square:before{content:"\f0d3"} .fa-google-plus-square:before{content:"\f0d4"} .fa-google-plus:before{content:"\f0d5"} .fa-money:before{content:"\f0d6"} .fa-caret-down:before{content:"\f0d7"} .fa-caret-up:before{content:"\f0d8"} .fa-caret-left:before{content:"\f0d9"} .fa-caret-right:before{content:"\f0da"} .fa-columns:before{content:"\f0db"} .fa-unsorted:before,.fa-sort:before{content:"\f0dc"} .fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"} .fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"} .fa-envelope:before{content:"\f0e0"} .fa-linkedin:before{content:"\f0e1"} .fa-rotate-left:before,.fa-undo:before{content:"\f0e2"} .fa-legal:before,.fa-gavel:before{content:"\f0e3"} .fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"} .fa-comment-o:before{content:"\f0e5"} .fa-comments-o:before{content:"\f0e6"} .fa-flash:before,.fa-bolt:before{content:"\f0e7"} .fa-sitemap:before{content:"\f0e8"} .fa-umbrella:before{content:"\f0e9"} .fa-paste:before,.fa-clipboard:before{content:"\f0ea"} .fa-lightbulb-o:before{content:"\f0eb"} .fa-exchange:before{content:"\f0ec"} .fa-cloud-download:before{content:"\f0ed"} .fa-cloud-upload:before{content:"\f0ee"} .fa-user-md:before{content:"\f0f0"} .fa-stethoscope:before{content:"\f0f1"} .fa-suitcase:before{content:"\f0f2"} .fa-bell-o:before{content:"\f0a2"} .fa-coffee:before{content:"\f0f4"} .fa-cutlery:before{content:"\f0f5"} .fa-file-text-o:before{content:"\f0f6"} .fa-building-o:before{content:"\f0f7"} .fa-hospital-o:before{content:"\f0f8"} .fa-ambulance:before{content:"\f0f9"} .fa-medkit:before{content:"\f0fa"} .fa-fighter-jet:before{content:"\f0fb"} .fa-beer:before{content:"\f0fc"} .fa-h-square:before{content:"\f0fd"} .fa-plus-square:before{content:"\f0fe"} .fa-angle-double-left:before{content:"\f100"} .fa-angle-double-right:before{content:"\f101"} .fa-angle-double-up:before{content:"\f102"} .fa-angle-double-down:before{content:"\f103"} .fa-angle-left:before{content:"\f104"} .fa-angle-right:before{content:"\f105"} .fa-angle-up:before{content:"\f106"} .fa-angle-down:before{content:"\f107"} .fa-desktop:before{content:"\f108"} .fa-laptop:before{content:"\f109"} .fa-tablet:before{content:"\f10a"} .fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"} .fa-circle-o:before{content:"\f10c"} .fa-quote-left:before{content:"\f10d"} .fa-quote-right:before{content:"\f10e"} .fa-spinner:before{content:"\f110"} .fa-circle:before{content:"\f111"} .fa-mail-reply:before,.fa-reply:before{content:"\f112"} .fa-github-alt:before{content:"\f113"} .fa-folder-o:before{content:"\f114"} .fa-folder-open-o:before{content:"\f115"} .fa-smile-o:before{content:"\f118"} .fa-frown-o:before{content:"\f119"} .fa-meh-o:before{content:"\f11a"} .fa-gamepad:before{content:"\f11b"} .fa-keyboard-o:before{content:"\f11c"} .fa-flag-o:before{content:"\f11d"} .fa-flag-checkered:before{content:"\f11e"} .fa-terminal:before{content:"\f120"} .fa-code:before{content:"\f121"} .fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"} .fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"} .fa-location-arrow:before{content:"\f124"} .fa-crop:before{content:"\f125"} .fa-code-fork:before{content:"\f126"} .fa-unlink:before,.fa-chain-broken:before{content:"\f127"} .fa-question:before{content:"\f128"} .fa-info:before{content:"\f129"} .fa-exclamation:before{content:"\f12a"} .fa-superscript:before{content:"\f12b"} .fa-subscript:before{content:"\f12c"} .fa-eraser:before{content:"\f12d"} .fa-puzzle-piece:before{content:"\f12e"} .fa-microphone:before{content:"\f130"} .fa-microphone-slash:before{content:"\f131"} .fa-shield:before{content:"\f132"} .fa-calendar-o:before{content:"\f133"} .fa-fire-extinguisher:before{content:"\f134"} .fa-rocket:before{content:"\f135"} .fa-maxcdn:before{content:"\f136"} .fa-chevron-circle-left:before{content:"\f137"} .fa-chevron-circle-right:before{content:"\f138"} .fa-chevron-circle-up:before{content:"\f139"} .fa-chevron-circle-down:before{content:"\f13a"} .fa-html5:before{content:"\f13b"} .fa-css3:before{content:"\f13c"} .fa-anchor:before{content:"\f13d"} .fa-unlock-alt:before{content:"\f13e"} .fa-bullseye:before{content:"\f140"} .fa-ellipsis-h:before{content:"\f141"} .fa-ellipsis-v:before{content:"\f142"} .fa-rss-square:before{content:"\f143"} .fa-play-circle:before{content:"\f144"} .fa-ticket:before{content:"\f145"} .fa-minus-square:before{content:"\f146"} .fa-minus-square-o:before{content:"\f147"} .fa-level-up:before{content:"\f148"} .fa-level-down:before{content:"\f149"} .fa-check-square:before{content:"\f14a"} .fa-pencil-square:before{content:"\f14b"} .fa-external-link-square:before{content:"\f14c"} .fa-share-square:before{content:"\f14d"} .fa-compass:before{content:"\f14e"} .fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"} .fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"} .fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"} .fa-euro:before,.fa-eur:before{content:"\f153"} .fa-gbp:before{content:"\f154"} .fa-dollar:before,.fa-usd:before{content:"\f155"} .fa-rupee:before,.fa-inr:before{content:"\f156"} .fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"} .fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"} .fa-won:before,.fa-krw:before{content:"\f159"} .fa-bitcoin:before,.fa-btc:before{content:"\f15a"} .fa-file:before{content:"\f15b"} .fa-file-text:before{content:"\f15c"} .fa-sort-alpha-asc:before{content:"\f15d"} .fa-sort-alpha-desc:before{content:"\f15e"} .fa-sort-amount-asc:before{content:"\f160"} .fa-sort-amount-desc:before{content:"\f161"} .fa-sort-numeric-asc:before{content:"\f162"} .fa-sort-numeric-desc:before{content:"\f163"} .fa-thumbs-up:before{content:"\f164"} .fa-thumbs-down:before{content:"\f165"} .fa-youtube-square:before{content:"\f166"} .fa-youtube:before{content:"\f167"} .fa-xing:before{content:"\f168"} .fa-xing-square:before{content:"\f169"} .fa-youtube-play:before{content:"\f16a"} .fa-dropbox:before{content:"\f16b"} .fa-stack-overflow:before{content:"\f16c"} .fa-instagram:before{content:"\f16d"} .fa-flickr:before{content:"\f16e"} .fa-adn:before{content:"\f170"} .fa-bitbucket:before{content:"\f171"} .fa-bitbucket-square:before{content:"\f172"} .fa-tumblr:before{content:"\f173"} .fa-tumblr-square:before{content:"\f174"} .fa-long-arrow-down:before{content:"\f175"} .fa-long-arrow-up:before{content:"\f176"} .fa-long-arrow-left:before{content:"\f177"} .fa-long-arrow-right:before{content:"\f178"} .fa-apple:before{content:"\f179"} .fa-windows:before{content:"\f17a"} .fa-android:before{content:"\f17b"} .fa-linux:before{content:"\f17c"} .fa-dribbble:before{content:"\f17d"} .fa-skype:before{content:"\f17e"} .fa-foursquare:before{content:"\f180"} .fa-trello:before{content:"\f181"} .fa-female:before{content:"\f182"} .fa-male:before{content:"\f183"} .fa-gittip:before,.fa-gratipay:before{content:"\f184"} .fa-sun-o:before{content:"\f185"} .fa-moon-o:before{content:"\f186"} .fa-archive:before{content:"\f187"} .fa-bug:before{content:"\f188"} .fa-vk:before{content:"\f189"} .fa-weibo:before{content:"\f18a"} .fa-renren:before{content:"\f18b"} .fa-pagelines:before{content:"\f18c"} .fa-stack-exchange:before{content:"\f18d"} .fa-arrow-circle-o-right:before{content:"\f18e"} .fa-arrow-circle-o-left:before{content:"\f190"} .fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"} .fa-dot-circle-o:before{content:"\f192"} .fa-wheelchair:before{content:"\f193"} .fa-vimeo-square:before{content:"\f194"} .fa-turkish-lira:before,.fa-try:before{content:"\f195"} .fa-plus-square-o:before{content:"\f196"} .fa-space-shuttle:before{content:"\f197"} .fa-slack:before{content:"\f198"} .fa-envelope-square:before{content:"\f199"} .fa-wordpress:before{content:"\f19a"} .fa-openid:before{content:"\f19b"} .fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"} .fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"} .fa-yahoo:before{content:"\f19e"} .fa-google:before{content:"\f1a0"} .fa-reddit:before{content:"\f1a1"} .fa-reddit-square:before{content:"\f1a2"} .fa-stumbleupon-circle:before{content:"\f1a3"} .fa-stumbleupon:before{content:"\f1a4"} .fa-delicious:before{content:"\f1a5"} .fa-digg:before{content:"\f1a6"} .fa-pied-piper-pp:before{content:"\f1a7"} .fa-pied-piper-alt:before{content:"\f1a8"} .fa-drupal:before{content:"\f1a9"} .fa-joomla:before{content:"\f1aa"} .fa-language:before{content:"\f1ab"} .fa-fax:before{content:"\f1ac"} .fa-building:before{content:"\f1ad"} .fa-child:before{content:"\f1ae"} .fa-paw:before{content:"\f1b0"} .fa-spoon:before{content:"\f1b1"} .fa-cube:before{content:"\f1b2"} .fa-cubes:before{content:"\f1b3"} .fa-behance:before{content:"\f1b4"} .fa-behance-square:before{content:"\f1b5"} .fa-steam:before{content:"\f1b6"} .fa-steam-square:before{content:"\f1b7"} .fa-recycle:before{content:"\f1b8"} .fa-automobile:before,.fa-car:before{content:"\f1b9"} .fa-cab:before,.fa-taxi:before{content:"\f1ba"} .fa-tree:before{content:"\f1bb"} .fa-spotify:before{content:"\f1bc"} .fa-deviantart:before{content:"\f1bd"} .fa-soundcloud:before{content:"\f1be"} .fa-database:before{content:"\f1c0"} .fa-file-pdf-o:before{content:"\f1c1"} .fa-file-word-o:before{content:"\f1c2"} .fa-file-excel-o:before{content:"\f1c3"} .fa-file-powerpoint-o:before{content:"\f1c4"} .fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"} .fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"} .fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"} .fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"} .fa-file-code-o:before{content:"\f1c9"} .fa-vine:before{content:"\f1ca"} .fa-codepen:before{content:"\f1cb"} .fa-jsfiddle:before{content:"\f1cc"} .fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"} .fa-circle-o-notch:before{content:"\f1ce"} .fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"} .fa-ge:before,.fa-empire:before{content:"\f1d1"} .fa-git-square:before{content:"\f1d2"} .fa-git:before{content:"\f1d3"} .fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"} .fa-tencent-weibo:before{content:"\f1d5"} .fa-qq:before{content:"\f1d6"} .fa-wechat:before,.fa-weixin:before{content:"\f1d7"} .fa-send:before,.fa-paper-plane:before{content:"\f1d8"} .fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"} .fa-history:before{content:"\f1da"} .fa-circle-thin:before{content:"\f1db"} .fa-header:before{content:"\f1dc"} .fa-paragraph:before{content:"\f1dd"} .fa-sliders:before{content:"\f1de"} .fa-share-alt:before{content:"\f1e0"} .fa-share-alt-square:before{content:"\f1e1"} .fa-bomb:before{content:"\f1e2"} .fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"} .fa-tty:before{content:"\f1e4"} .fa-binoculars:before{content:"\f1e5"} .fa-plug:before{content:"\f1e6"} .fa-slideshare:before{content:"\f1e7"} .fa-twitch:before{content:"\f1e8"} .fa-yelp:before{content:"\f1e9"} .fa-newspaper-o:before{content:"\f1ea"} .fa-wifi:before{content:"\f1eb"} .fa-calculator:before{content:"\f1ec"} .fa-paypal:before{content:"\f1ed"} .fa-google-wallet:before{content:"\f1ee"} .fa-cc-visa:before{content:"\f1f0"} .fa-cc-mastercard:before{content:"\f1f1"} .fa-cc-discover:before{content:"\f1f2"} .fa-cc-amex:before{content:"\f1f3"} .fa-cc-paypal:before{content:"\f1f4"} .fa-cc-stripe:before{content:"\f1f5"} .fa-bell-slash:before{content:"\f1f6"} .fa-bell-slash-o:before{content:"\f1f7"} .fa-trash:before{content:"\f1f8"} .fa-copyright:before{content:"\f1f9"} .fa-at:before{content:"\f1fa"} .fa-eyedropper:before{content:"\f1fb"} .fa-paint-brush:before{content:"\f1fc"} .fa-birthday-cake:before{content:"\f1fd"} .fa-area-chart:before{content:"\f1fe"} .fa-pie-chart:before{content:"\f200"} .fa-line-chart:before{content:"\f201"} .fa-lastfm:before{content:"\f202"} .fa-lastfm-square:before{content:"\f203"} .fa-toggle-off:before{content:"\f204"} .fa-toggle-on:before{content:"\f205"} .fa-bicycle:before{content:"\f206"} .fa-bus:before{content:"\f207"} .fa-ioxhost:before{content:"\f208"} .fa-angellist:before{content:"\f209"} .fa-cc:before{content:"\f20a"} .fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"} .fa-meanpath:before{content:"\f20c"} .fa-buysellads:before{content:"\f20d"} .fa-connectdevelop:before{content:"\f20e"} .fa-dashcube:before{content:"\f210"} .fa-forumbee:before{content:"\f211"} .fa-leanpub:before{content:"\f212"} .fa-sellsy:before{content:"\f213"} .fa-shirtsinbulk:before{content:"\f214"} .fa-simplybuilt:before{content:"\f215"} .fa-skyatlas:before{content:"\f216"} .fa-cart-plus:before{content:"\f217"} .fa-cart-arrow-down:before{content:"\f218"} .fa-diamond:before{content:"\f219"} .fa-ship:before{content:"\f21a"} .fa-user-secret:before{content:"\f21b"} .fa-motorcycle:before{content:"\f21c"} .fa-street-view:before{content:"\f21d"} .fa-heartbeat:before{content:"\f21e"} .fa-venus:before{content:"\f221"} .fa-mars:before{content:"\f222"} .fa-mercury:before{content:"\f223"} .fa-intersex:before,.fa-transgender:before{content:"\f224"} .fa-transgender-alt:before{content:"\f225"} .fa-venus-double:before{content:"\f226"} .fa-mars-double:before{content:"\f227"} .fa-venus-mars:before{content:"\f228"} .fa-mars-stroke:before{content:"\f229"} .fa-mars-stroke-v:before{content:"\f22a"} .fa-mars-stroke-h:before{content:"\f22b"} .fa-neuter:before{content:"\f22c"} .fa-genderless:before{content:"\f22d"} .fa-facebook-official:before{content:"\f230"} .fa-pinterest-p:before{content:"\f231"} .fa-whatsapp:before{content:"\f232"} .fa-server:before{content:"\f233"} .fa-user-plus:before{content:"\f234"} .fa-user-times:before{content:"\f235"} .fa-hotel:before,.fa-bed:before{content:"\f236"} .fa-viacoin:before{content:"\f237"} .fa-train:before{content:"\f238"} .fa-subway:before{content:"\f239"} .fa-medium:before{content:"\f23a"} .fa-yc:before,.fa-y-combinator:before{content:"\f23b"} .fa-optin-monster:before{content:"\f23c"} .fa-opencart:before{content:"\f23d"} .fa-expeditedssl:before{content:"\f23e"} .fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"} .fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"} .fa-battery-2:before,.fa-battery-half:before{content:"\f242"} .fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"} .fa-battery-0:before,.fa-battery-empty:before{content:"\f244"} .fa-mouse-pointer:before{content:"\f245"} .fa-i-cursor:before{content:"\f246"} .fa-object-group:before{content:"\f247"} .fa-object-ungroup:before{content:"\f248"} .fa-sticky-note:before{content:"\f249"} .fa-sticky-note-o:before{content:"\f24a"} .fa-cc-jcb:before{content:"\f24b"} .fa-cc-diners-club:before{content:"\f24c"} .fa-clone:before{content:"\f24d"} .fa-balance-scale:before{content:"\f24e"} .fa-hourglass-o:before{content:"\f250"} .fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"} .fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"} .fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"} .fa-hourglass:before{content:"\f254"} .fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"} .fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"} .fa-hand-scissors-o:before{content:"\f257"} .fa-hand-lizard-o:before{content:"\f258"} .fa-hand-spock-o:before{content:"\f259"} .fa-hand-pointer-o:before{content:"\f25a"} .fa-hand-peace-o:before{content:"\f25b"} .fa-trademark:before{content:"\f25c"} .fa-registered:before{content:"\f25d"} .fa-creative-commons:before{content:"\f25e"} .fa-gg:before{content:"\f260"} .fa-gg-circle:before{content:"\f261"} .fa-tripadvisor:before{content:"\f262"} .fa-odnoklassniki:before{content:"\f263"} .fa-odnoklassniki-square:before{content:"\f264"} .fa-get-pocket:before{content:"\f265"} .fa-wikipedia-w:before{content:"\f266"} .fa-safari:before{content:"\f267"} .fa-chrome:before{content:"\f268"} .fa-firefox:before{content:"\f269"} .fa-opera:before{content:"\f26a"} .fa-internet-explorer:before{content:"\f26b"} .fa-tv:before,.fa-television:before{content:"\f26c"} .fa-contao:before{content:"\f26d"} .fa-500px:before{content:"\f26e"} .fa-amazon:before{content:"\f270"} .fa-calendar-plus-o:before{content:"\f271"} .fa-calendar-minus-o:before{content:"\f272"} .fa-calendar-times-o:before{content:"\f273"} .fa-calendar-check-o:before{content:"\f274"} .fa-industry:before{content:"\f275"} .fa-map-pin:before{content:"\f276"} .fa-map-signs:before{content:"\f277"} .fa-map-o:before{content:"\f278"} .fa-map:before{content:"\f279"} .fa-commenting:before{content:"\f27a"} .fa-commenting-o:before{content:"\f27b"} .fa-houzz:before{content:"\f27c"} .fa-vimeo:before{content:"\f27d"} .fa-black-tie:before{content:"\f27e"} .fa-fonticons:before{content:"\f280"} .fa-reddit-alien:before{content:"\f281"} .fa-edge:before{content:"\f282"} .fa-credit-card-alt:before{content:"\f283"} .fa-codiepie:before{content:"\f284"} .fa-modx:before{content:"\f285"} .fa-fort-awesome:before{content:"\f286"} .fa-usb:before{content:"\f287"} .fa-product-hunt:before{content:"\f288"} .fa-mixcloud:before{content:"\f289"} .fa-scribd:before{content:"\f28a"} .fa-pause-circle:before{content:"\f28b"} .fa-pause-circle-o:before{content:"\f28c"} .fa-stop-circle:before{content:"\f28d"} .fa-stop-circle-o:before{content:"\f28e"} .fa-shopping-bag:before{content:"\f290"} .fa-shopping-basket:before{content:"\f291"} .fa-hashtag:before{content:"\f292"} .fa-bluetooth:before{content:"\f293"} .fa-bluetooth-b:before{content:"\f294"} .fa-percent:before{content:"\f295"} .fa-gitlab:before{content:"\f296"} .fa-wpbeginner:before{content:"\f297"} .fa-wpforms:before{content:"\f298"} .fa-envira:before{content:"\f299"} .fa-universal-access:before{content:"\f29a"} .fa-wheelchair-alt:before{content:"\f29b"} .fa-question-circle-o:before{content:"\f29c"} .fa-blind:before{content:"\f29d"} .fa-audio-description:before{content:"\f29e"} .fa-volume-control-phone:before{content:"\f2a0"} .fa-braille:before{content:"\f2a1"} .fa-assistive-listening-systems:before{content:"\f2a2"} .fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"} .fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"} .fa-glide:before{content:"\f2a5"} .fa-glide-g:before{content:"\f2a6"} .fa-signing:before,.fa-sign-language:before{content:"\f2a7"} .fa-low-vision:before{content:"\f2a8"} .fa-viadeo:before{content:"\f2a9"} .fa-viadeo-square:before{content:"\f2aa"} .fa-snapchat:before{content:"\f2ab"} .fa-snapchat-ghost:before{content:"\f2ac"} .fa-snapchat-square:before{content:"\f2ad"} .fa-pied-piper:before{content:"\f2ae"} .fa-first-order:before{content:"\f2b0"} .fa-yoast:before{content:"\f2b1"} .fa-themeisle:before{content:"\f2b2"} .fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"} .fa-fa:before,.fa-font-awesome:before{content:"\f2b4"} .fa-handshake-o:before{content:"\f2b5"} .fa-envelope-open:before{content:"\f2b6"} .fa-envelope-open-o:before{content:"\f2b7"} .fa-linode:before{content:"\f2b8"} .fa-address-book:before{content:"\f2b9"} .fa-address-book-o:before{content:"\f2ba"} .fa-vcard:before,.fa-address-card:before{content:"\f2bb"} .fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"} .fa-user-circle:before{content:"\f2bd"} .fa-user-circle-o:before{content:"\f2be"} .fa-user-o:before{content:"\f2c0"} .fa-id-badge:before{content:"\f2c1"} .fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"} .fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"} .fa-quora:before{content:"\f2c4"} .fa-free-code-camp:before{content:"\f2c5"} .fa-telegram:before{content:"\f2c6"} .fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"} .fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"} .fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"} .fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"} .fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"} .fa-shower:before{content:"\f2cc"} .fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"} .fa-podcast:before{content:"\f2ce"} .fa-window-maximize:before{content:"\f2d0"} .fa-window-minimize:before{content:"\f2d1"} .fa-window-restore:before{content:"\f2d2"} .fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"} .fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"} .fa-bandcamp:before{content:"\f2d5"} .fa-grav:before{content:"\f2d6"} .fa-etsy:before{content:"\f2d7"} .fa-imdb:before{content:"\f2d8"} .fa-ravelry:before{content:"\f2d9"} .fa-eercast:before{content:"\f2da"} .fa-microchip:before{content:"\f2db"} .fa-snowflake-o:before{content:"\f2dc"} .fa-superpowers:before{content:"\f2dd"} .fa-wpexplorer:before{content:"\f2de"} .fa-meetup:before{content:"\f2e0"} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0} .sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/yyets/worker/public/css/index.json b/yyets/worker/public/css/index.json new file mode 100644 index 000000000..ec7b5ebd4 --- /dev/null +++ b/yyets/worker/public/css/index.json @@ -0,0 +1,12 @@ +{ + "越狱\nPrison Break\n逃": 10004, + "死亡地带\nThe Dead Zone\n": 10010, + "伪装者\nThe Pretender\n": 10017, + "橘子郡男孩\nTHE OC\nThe.O.C / 橘镇风云 /桔子镇": 10022, + "威尔和格蕾丝\nWill and Grace\n威尔与格蕾丝": 10026, + "黑锅\nTraveler\n逃亡之旅": 10052, + "棕榈泉疑云\nHidden Palms\n": 10053, + "降世神通 最后的气宗\nAvatar: The Last Airbender\n": 10054, + "恐怖大师\nMasters Of Horror\n": 10055, + "时间旅人\nJourneyman\n时间旅者": 10057 +} \ No newline at end of file diff --git a/yyets/worker/public/css/jquery.mCustomScrollbar.css b/yyets/worker/public/css/jquery.mCustomScrollbar.css new file mode 100644 index 000000000..45152c1be --- /dev/null +++ b/yyets/worker/public/css/jquery.mCustomScrollbar.css @@ -0,0 +1,1267 @@ +/* +== malihu jquery custom scrollbar plugin == +Plugin URI: http://manos.malihu.gr/jquery-custom-content-scroller +*/ + + + +/* +CONTENTS: + 1. BASIC STYLE - Plugin's basic/essential CSS properties (normally, should not be edited). + 2. VERTICAL SCROLLBAR - Positioning and dimensions of vertical scrollbar. + 3. HORIZONTAL SCROLLBAR - Positioning and dimensions of horizontal scrollbar. + 4. VERTICAL AND HORIZONTAL SCROLLBARS - Positioning and dimensions of 2-axis scrollbars. + 5. TRANSITIONS - CSS3 transitions for hover events, auto-expanded and auto-hidden scrollbars. + 6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS + 6.1 THEMES - Scrollbar colors, opacity, dimensions, backgrounds etc. via ready-to-use themes. +*/ + + + +/* +------------------------------------------------------------------------------------------------------------------------ +1. BASIC STYLE +------------------------------------------------------------------------------------------------------------------------ +*/ + + .mCustomScrollbar{ -ms-touch-action: pinch-zoom; touch-action: pinch-zoom; /* direct pointer events to js */ } + .mCustomScrollbar.mCS_no_scrollbar, .mCustomScrollbar.mCS_touch_action{ -ms-touch-action: auto; touch-action: auto; } + + .mCustomScrollBox{ /* contains plugin's markup */ + position: relative; + overflow: hidden; + height: 100%; + max-width: 100%; + outline: none; + direction: ltr; + } + + .mCSB_container{ /* contains the original content */ + overflow: hidden; + width: auto; + height: auto; + } + + + +/* +------------------------------------------------------------------------------------------------------------------------ +2. VERTICAL SCROLLBAR +y-axis +------------------------------------------------------------------------------------------------------------------------ +*/ + + .mCSB_inside > .mCSB_container{ margin-right: 30px; } + + .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{ margin-right: 0; } /* non-visible scrollbar */ + + .mCS-dir-rtl > .mCSB_inside > .mCSB_container{ /* RTL direction/left-side scrollbar */ + margin-right: 0; + margin-left: 30px; + } + + .mCS-dir-rtl > .mCSB_inside > .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{ margin-left: 0; } /* RTL direction/left-side scrollbar */ + + .mCSB_scrollTools{ /* contains scrollbar markup (draggable element, dragger rail, buttons etc.) */ + position: absolute; + width: 16px; + height: auto; + left: auto; + top: 0; + right: 0; + bottom: 0; + } + + .mCSB_outside + .mCSB_scrollTools{ right: -26px; } /* scrollbar position: outside */ + + .mCS-dir-rtl > .mCSB_inside > .mCSB_scrollTools, + .mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools{ /* RTL direction/left-side scrollbar */ + right: auto; + left: 0; + } + + .mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools{ left: -26px; } /* RTL direction/left-side scrollbar (scrollbar position: outside) */ + + .mCSB_scrollTools .mCSB_draggerContainer{ /* contains the draggable element and dragger rail markup */ + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + height: auto; + } + + .mCSB_scrollTools a + .mCSB_draggerContainer{ margin: 20px 0; } + + .mCSB_scrollTools .mCSB_draggerRail{ + width: 2px; + height: 100%; + margin: 0 auto; + -webkit-border-radius: 16px; -moz-border-radius: 16px; border-radius: 16px; + } + + .mCSB_scrollTools .mCSB_dragger{ /* the draggable element */ + cursor: pointer; + width: 100%; + height: 30px; /* minimum dragger height */ + z-index: 1; + } + + .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ /* the dragger element */ + position: relative; + width: 4px; + height: 100%; + margin: 0 auto; + -webkit-border-radius: 16px; -moz-border-radius: 16px; border-radius: 16px; + text-align: center; + } + + .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, + .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{ width: 12px; /* auto-expanded scrollbar */ } + + .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{ width: 8px; /* auto-expanded scrollbar */ } + + .mCSB_scrollTools .mCSB_buttonUp, + .mCSB_scrollTools .mCSB_buttonDown{ + display: block; + position: absolute; + height: 20px; + width: 100%; + overflow: hidden; + margin: 0 auto; + cursor: pointer; + } + + .mCSB_scrollTools .mCSB_buttonDown{ bottom: 0; } + + + +/* +------------------------------------------------------------------------------------------------------------------------ +3. HORIZONTAL SCROLLBAR +x-axis +------------------------------------------------------------------------------------------------------------------------ +*/ + + .mCSB_horizontal.mCSB_inside > .mCSB_container{ + margin-right: 0; + margin-bottom: 30px; + } + + .mCSB_horizontal.mCSB_outside > .mCSB_container{ min-height: 100%; } + + .mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{ margin-bottom: 0; } /* non-visible scrollbar */ + + .mCSB_scrollTools.mCSB_scrollTools_horizontal{ + width: auto; + height: 16px; + top: auto; + right: 0; + bottom: 0; + left: 0; + } + + .mCustomScrollBox + .mCSB_scrollTools.mCSB_scrollTools_horizontal, + .mCustomScrollBox + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal{ bottom: -26px; } /* scrollbar position: outside */ + + .mCSB_scrollTools.mCSB_scrollTools_horizontal a + .mCSB_draggerContainer{ margin: 0 20px; } + + .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{ + width: 100%; + height: 2px; + margin: 7px 0; + } + + .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{ + width: 30px; /* minimum dragger width */ + height: 100%; + left: 0; + } + + .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ + width: 100%; + height: 4px; + margin: 6px auto; + } + + .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, + .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{ + height: 12px; /* auto-expanded scrollbar */ + margin: 2px auto; + } + + .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{ + height: 8px; /* auto-expanded scrollbar */ + margin: 4px 0; + } + + .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft, + .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{ + display: block; + position: absolute; + width: 20px; + height: 100%; + overflow: hidden; + margin: 0 auto; + cursor: pointer; + } + + .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{ left: 0; } + + .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{ right: 0; } + + + +/* +------------------------------------------------------------------------------------------------------------------------ +4. VERTICAL AND HORIZONTAL SCROLLBARS +yx-axis +------------------------------------------------------------------------------------------------------------------------ +*/ + + .mCSB_container_wrapper{ + position: absolute; + height: auto; + width: auto; + overflow: hidden; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin-right: 30px; + margin-bottom: 30px; + } + + .mCSB_container_wrapper > .mCSB_container{ + padding-right: 30px; + padding-bottom: 30px; + -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; + } + + .mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_vertical{ bottom: 20px; } + + .mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_horizontal{ right: 20px; } + + /* non-visible horizontal scrollbar */ + .mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden + .mCSB_scrollTools.mCSB_scrollTools_vertical{ bottom: 0; } + + /* non-visible vertical scrollbar/RTL direction/left-side scrollbar */ + .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal, + .mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal{ right: 0; } + + /* RTL direction/left-side scrollbar */ + .mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal{ left: 20px; } + + /* non-visible scrollbar/RTL direction/left-side scrollbar */ + .mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal{ left: 0; } + + .mCS-dir-rtl > .mCSB_inside > .mCSB_container_wrapper{ /* RTL direction/left-side scrollbar */ + margin-right: 0; + margin-left: 30px; + } + + .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden > .mCSB_container{ padding-right: 0; } + + .mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden > .mCSB_container{ padding-bottom: 0; } + + .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{ + margin-right: 0; /* non-visible scrollbar */ + margin-left: 0; + } + + /* non-visible horizontal scrollbar */ + .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{ margin-bottom: 0; } + + + +/* +------------------------------------------------------------------------------------------------------------------------ +5. TRANSITIONS +------------------------------------------------------------------------------------------------------------------------ +*/ + + .mCSB_scrollTools, + .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCSB_scrollTools .mCSB_buttonUp, + .mCSB_scrollTools .mCSB_buttonDown, + .mCSB_scrollTools .mCSB_buttonLeft, + .mCSB_scrollTools .mCSB_buttonRight{ + -webkit-transition: opacity .2s ease-in-out, background-color .2s ease-in-out; + -moz-transition: opacity .2s ease-in-out, background-color .2s ease-in-out; + -o-transition: opacity .2s ease-in-out, background-color .2s ease-in-out; + transition: opacity .2s ease-in-out, background-color .2s ease-in-out; + } + + .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar, /* auto-expanded scrollbar */ + .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail, + .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar, + .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail{ + -webkit-transition: width .2s ease-out .2s, height .2s ease-out .2s, + margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, + margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, + opacity .2s ease-in-out, background-color .2s ease-in-out; + -moz-transition: width .2s ease-out .2s, height .2s ease-out .2s, + margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, + margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, + opacity .2s ease-in-out, background-color .2s ease-in-out; + -o-transition: width .2s ease-out .2s, height .2s ease-out .2s, + margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, + margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, + opacity .2s ease-in-out, background-color .2s ease-in-out; + transition: width .2s ease-out .2s, height .2s ease-out .2s, + margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, + margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, + opacity .2s ease-in-out, background-color .2s ease-in-out; + } + + + +/* +------------------------------------------------------------------------------------------------------------------------ +6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS +------------------------------------------------------------------------------------------------------------------------ +*/ + + /* + ---------------------------------------- + 6.1 THEMES + ---------------------------------------- + */ + + /* default theme ("light") */ + + .mCSB_scrollTools{ opacity: 0.75; filter: "alpha(opacity=75)"; -ms-filter: "alpha(opacity=75)"; } + + .mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools, + .mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools{ opacity: 0; filter: "alpha(opacity=0)"; -ms-filter: "alpha(opacity=0)"; } + + .mCustomScrollbar > .mCustomScrollBox > .mCSB_scrollTools.mCSB_scrollTools_onDrag, + .mCustomScrollbar > .mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag, + .mCustomScrollBox:hover > .mCSB_scrollTools, + .mCustomScrollBox:hover ~ .mCSB_scrollTools, + .mCS-autoHide:hover > .mCustomScrollBox > .mCSB_scrollTools, + .mCS-autoHide:hover > .mCustomScrollBox ~ .mCSB_scrollTools{ opacity: 1; filter: "alpha(opacity=100)"; -ms-filter: "alpha(opacity=100)"; } + + .mCSB_scrollTools .mCSB_draggerRail{ + background-color: #000; background-color: rgba(0,0,0,0.4); + filter: "alpha(opacity=40)"; -ms-filter: "alpha(opacity=40)"; + } + + .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + background-color: #fff; background-color: rgba(255,255,255,0.75); + filter: "alpha(opacity=75)"; -ms-filter: "alpha(opacity=75)"; + } + + .mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ + background-color: #fff; background-color: rgba(255,255,255,0.85); + filter: "alpha(opacity=85)"; -ms-filter: "alpha(opacity=85)"; + } + .mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ + background-color: #fff; background-color: rgba(255,255,255,0.9); + filter: "alpha(opacity=90)"; -ms-filter: "alpha(opacity=90)"; + } + + .mCSB_scrollTools .mCSB_buttonUp, + .mCSB_scrollTools .mCSB_buttonDown, + .mCSB_scrollTools .mCSB_buttonLeft, + .mCSB_scrollTools .mCSB_buttonRight{ + background-image: url(mCSB_buttons.png); /* css sprites */ + background-repeat: no-repeat; + opacity: 0.4; filter: "alpha(opacity=40)"; -ms-filter: "alpha(opacity=40)"; + } + + .mCSB_scrollTools .mCSB_buttonUp{ + background-position: 0 0; + /* + sprites locations + light: 0 0, -16px 0, -32px 0, -48px 0, 0 -72px, -16px -72px, -32px -72px + dark: -80px 0, -96px 0, -112px 0, -128px 0, -80px -72px, -96px -72px, -112px -72px + */ + } + + .mCSB_scrollTools .mCSB_buttonDown{ + background-position: 0 -20px; + /* + sprites locations + light: 0 -20px, -16px -20px, -32px -20px, -48px -20px, 0 -92px, -16px -92px, -32px -92px + dark: -80px -20px, -96px -20px, -112px -20px, -128px -20px, -80px -92px, -96px -92px, -112 -92px + */ + } + + .mCSB_scrollTools .mCSB_buttonLeft{ + background-position: 0 -40px; + /* + sprites locations + light: 0 -40px, -20px -40px, -40px -40px, -60px -40px, 0 -112px, -20px -112px, -40px -112px + dark: -80px -40px, -100px -40px, -120px -40px, -140px -40px, -80px -112px, -100px -112px, -120px -112px + */ + } + + .mCSB_scrollTools .mCSB_buttonRight{ + background-position: 0 -56px; + /* + sprites locations + light: 0 -56px, -20px -56px, -40px -56px, -60px -56px, 0 -128px, -20px -128px, -40px -128px + dark: -80px -56px, -100px -56px, -120px -56px, -140px -56px, -80px -128px, -100px -128px, -120px -128px + */ + } + + .mCSB_scrollTools .mCSB_buttonUp:hover, + .mCSB_scrollTools .mCSB_buttonDown:hover, + .mCSB_scrollTools .mCSB_buttonLeft:hover, + .mCSB_scrollTools .mCSB_buttonRight:hover{ opacity: 0.75; filter: "alpha(opacity=75)"; -ms-filter: "alpha(opacity=75)"; } + + .mCSB_scrollTools .mCSB_buttonUp:active, + .mCSB_scrollTools .mCSB_buttonDown:active, + .mCSB_scrollTools .mCSB_buttonLeft:active, + .mCSB_scrollTools .mCSB_buttonRight:active{ opacity: 0.9; filter: "alpha(opacity=90)"; -ms-filter: "alpha(opacity=90)"; } + + + /* theme: "dark" */ + + .mCS-dark.mCSB_scrollTools .mCSB_draggerRail{ background-color: #000; background-color: rgba(0,0,0,0.15); } + + .mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.75); } + + .mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: rgba(0,0,0,0.85); } + + .mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: rgba(0,0,0,0.9); } + + .mCS-dark.mCSB_scrollTools .mCSB_buttonUp{ background-position: -80px 0; } + + .mCS-dark.mCSB_scrollTools .mCSB_buttonDown{ background-position: -80px -20px; } + + .mCS-dark.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -80px -40px; } + + .mCS-dark.mCSB_scrollTools .mCSB_buttonRight{ background-position: -80px -56px; } + + /* ---------------------------------------- */ + + + + /* theme: "light-2", "dark-2" */ + + .mCS-light-2.mCSB_scrollTools .mCSB_draggerRail, + .mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{ + width: 4px; + background-color: #fff; background-color: rgba(255,255,255,0.1); + -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; + } + + .mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + width: 4px; + background-color: #fff; background-color: rgba(255,255,255,0.75); + -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; + } + + .mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ + width: 100%; + height: 4px; + margin: 6px auto; + } + + .mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #fff; background-color: rgba(255,255,255,0.85); } + + .mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #fff; background-color: rgba(255,255,255,0.9); } + + .mCS-light-2.mCSB_scrollTools .mCSB_buttonUp{ background-position: -32px 0; } + + .mCS-light-2.mCSB_scrollTools .mCSB_buttonDown{ background-position: -32px -20px; } + + .mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -40px -40px; } + + .mCS-light-2.mCSB_scrollTools .mCSB_buttonRight{ background-position: -40px -56px; } + + + /* theme: "dark-2" */ + + .mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{ + background-color: #000; background-color: rgba(0,0,0,0.1); + -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; + } + + .mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + background-color: #000; background-color: rgba(0,0,0,0.75); + -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; + } + + .mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.85); } + + .mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.9); } + + .mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp{ background-position: -112px 0; } + + .mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown{ background-position: -112px -20px; } + + .mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -120px -40px; } + + .mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight{ background-position: -120px -56px; } + + /* ---------------------------------------- */ + + + + /* theme: "light-thick", "dark-thick" */ + + .mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail, + .mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{ + width: 4px; + background-color: #fff; background-color: rgba(255,255,255,0.1); + -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; + } + + .mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + width: 6px; + background-color: #fff; background-color: rgba(255,255,255,0.75); + -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; + } + + .mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{ + width: 100%; + height: 4px; + margin: 6px 0; + } + + .mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ + width: 100%; + height: 6px; + margin: 5px auto; + } + + .mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #fff; background-color: rgba(255,255,255,0.85); } + + .mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #fff; background-color: rgba(255,255,255,0.9); } + + .mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp{ background-position: -16px 0; } + + .mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown{ background-position: -16px -20px; } + + .mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -20px -40px; } + + .mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight{ background-position: -20px -56px; } + + + /* theme: "dark-thick" */ + + .mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{ + background-color: #000; background-color: rgba(0,0,0,0.1); + -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; + } + + .mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + background-color: #000; background-color: rgba(0,0,0,0.75); + -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; + } + + .mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.85); } + + .mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.9); } + + .mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp{ background-position: -96px 0; } + + .mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown{ background-position: -96px -20px; } + + .mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -100px -40px; } + + .mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight{ background-position: -100px -56px; } + + /* ---------------------------------------- */ + + + + /* theme: "light-thin", "dark-thin" */ + + .mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{ background-color: #fff; background-color: rgba(255,255,255,0.1); } + + .mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ width: 2px; } + + .mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{ width: 100%; } + + .mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ + width: 100%; + height: 2px; + margin: 7px auto; + } + + + /* theme "dark-thin" */ + + .mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{ background-color: #000; background-color: rgba(0,0,0,0.15); } + + .mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.75); } + + .mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.85); } + + .mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.9); } + + .mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp{ background-position: -80px 0; } + + .mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown{ background-position: -80px -20px; } + + .mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -80px -40px; } + + .mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight{ background-position: -80px -56px; } + + /* ---------------------------------------- */ + + + + /* theme "rounded", "rounded-dark", "rounded-dots", "rounded-dots-dark" */ + + .mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{ background-color: #fff; background-color: rgba(255,255,255,0.15); } + + .mCS-rounded.mCSB_scrollTools .mCSB_dragger, + .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger, + .mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger, + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger{ height: 14px; } + + .mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + width: 14px; + margin: 0 1px; + } + + .mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger, + .mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger, + .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger, + .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger{ width: 14px; } + + .mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ + height: 14px; + margin: 1px 0; + } + + .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, + .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar, + .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, + .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{ + width: 16px; /* auto-expanded scrollbar */ + height: 16px; + margin: -1px 0; + } + + .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, + .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{ width: 4px; /* auto-expanded scrollbar */ } + + .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, + .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar, + .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, + .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{ + height: 16px; /* auto-expanded scrollbar */ + width: 16px; + margin: 0 -1px; + } + + .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, + .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{ + height: 4px; /* auto-expanded scrollbar */ + margin: 6px 0; + } + + .mCS-rounded.mCSB_scrollTools .mCSB_buttonUp{ background-position: 0 -72px; } + + .mCS-rounded.mCSB_scrollTools .mCSB_buttonDown{ background-position: 0 -92px; } + + .mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft{ background-position: 0 -112px; } + + .mCS-rounded.mCSB_scrollTools .mCSB_buttonRight{ background-position: 0 -128px; } + + + /* theme "rounded-dark", "rounded-dots-dark" */ + + .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.75); } + + .mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{ background-color: #000; background-color: rgba(0,0,0,0.15); } + + .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.85); } + + .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.9); } + + .mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp{ background-position: -80px -72px; } + + .mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown{ background-position: -80px -92px; } + + .mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -80px -112px; } + + .mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight{ background-position: -80px -128px; } + + + /* theme "rounded-dots", "rounded-dots-dark" */ + + .mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail, + .mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail{ width: 4px; } + + .mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail, + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail, + .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{ + background-color: transparent; + background-position: center; + } + + .mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail, + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{ + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg=="); + background-repeat: repeat-y; + opacity: 0.3; + filter: "alpha(opacity=30)"; -ms-filter: "alpha(opacity=30)"; + } + + .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{ + height: 4px; + margin: 6px 0; + background-repeat: repeat-x; + } + + .mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp{ background-position: -16px -72px; } + + .mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown{ background-position: -16px -92px; } + + .mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -20px -112px; } + + .mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight{ background-position: -20px -128px; } + + + /* theme "rounded-dots-dark" */ + + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{ + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII="); + } + + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp{ background-position: -96px -72px; } + + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown{ background-position: -96px -92px; } + + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -100px -112px; } + + .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight{ background-position: -100px -128px; } + + /* ---------------------------------------- */ + + + + /* theme "3d", "3d-dark", "3d-thick", "3d-thick-dark" */ + + .mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + background-repeat: repeat-y; + background-image: -moz-linear-gradient(left, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 100%); + background-image: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0.5)), color-stop(100%,rgba(255,255,255,0))); + background-image: -webkit-linear-gradient(left, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0) 100%); + background-image: -o-linear-gradient(left, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0) 100%); + background-image: -ms-linear-gradient(left, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0) 100%); + background-image: linear-gradient(to right, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0) 100%); + } + + .mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ + background-repeat: repeat-x; + background-image: -moz-linear-gradient(top, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 100%); + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.5)), color-stop(100%,rgba(255,255,255,0))); + background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0) 100%); + background-image: -o-linear-gradient(top, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0) 100%); + background-image: -ms-linear-gradient(top, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0) 100%); + background-image: linear-gradient(to bottom, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0) 100%); + } + + + /* theme "3d", "3d-dark" */ + + .mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger, + .mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger{ height: 70px; } + + .mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger, + .mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger{ width: 70px; } + + .mCS-3d.mCSB_scrollTools, + .mCS-3d-dark.mCSB_scrollTools{ + opacity: 1; + filter: "alpha(opacity=30)"; -ms-filter: "alpha(opacity=30)"; + } + + .mCS-3d.mCSB_scrollTools .mCSB_draggerRail, + .mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail, + .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ -webkit-border-radius: 16px; -moz-border-radius: 16px; border-radius: 16px; } + + .mCS-3d.mCSB_scrollTools .mCSB_draggerRail, + .mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{ + width: 8px; + background-color: #000; background-color: rgba(0,0,0,0.2); + box-shadow: inset 1px 0 1px rgba(0,0,0,0.5), inset -1px 0 1px rgba(255,255,255,0.2); + } + + .mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, + .mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, + .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, + .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #555; } + + .mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ width: 8px; } + + .mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{ + width: 100%; + height: 8px; + margin: 4px 0; + box-shadow: inset 0 1px 1px rgba(0,0,0,0.5), inset 0 -1px 1px rgba(255,255,255,0.2); + } + + .mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ + width: 100%; + height: 8px; + margin: 4px auto; + } + + .mCS-3d.mCSB_scrollTools .mCSB_buttonUp{ background-position: -32px -72px; } + + .mCS-3d.mCSB_scrollTools .mCSB_buttonDown{ background-position: -32px -92px; } + + .mCS-3d.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -40px -112px; } + + .mCS-3d.mCSB_scrollTools .mCSB_buttonRight{ background-position: -40px -128px; } + + + /* theme "3d-dark" */ + + .mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{ + background-color: #000; background-color: rgba(0,0,0,0.1); + box-shadow: inset 1px 0 1px rgba(0,0,0,0.1); + } + + .mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{ box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); } + + .mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp{ background-position: -112px -72px; } + + .mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown{ background-position: -112px -92px; } + + .mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -120px -112px; } + + .mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight{ background-position: -120px -128px; } + + /* ---------------------------------------- */ + + + + /* theme: "3d-thick", "3d-thick-dark" */ + + .mCS-3d-thick.mCSB_scrollTools, + .mCS-3d-thick-dark.mCSB_scrollTools{ + opacity: 1; + filter: "alpha(opacity=30)"; -ms-filter: "alpha(opacity=30)"; + } + + .mCS-3d-thick.mCSB_scrollTools, + .mCS-3d-thick-dark.mCSB_scrollTools, + .mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer, + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{ -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; } + + .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } + + .mCSB_inside + .mCS-3d-thick.mCSB_scrollTools_vertical, + .mCSB_inside + .mCS-3d-thick-dark.mCSB_scrollTools_vertical{ right: 1px; } + + .mCS-3d-thick.mCSB_scrollTools_vertical, + .mCS-3d-thick-dark.mCSB_scrollTools_vertical{ box-shadow: inset 1px 0 1px rgba(0,0,0,0.1), inset 0 0 14px rgba(0,0,0,0.5); } + + .mCS-3d-thick.mCSB_scrollTools_horizontal, + .mCS-3d-thick-dark.mCSB_scrollTools_horizontal{ + bottom: 1px; + box-shadow: inset 0 1px 1px rgba(0,0,0,0.1), inset 0 0 14px rgba(0,0,0,0.5); + } + + .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + box-shadow: inset 1px 0 0 rgba(255,255,255,0.4); + width: 12px; + margin: 2px; + position: absolute; + height: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + } + + .mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ box-shadow: inset 0 1px 0 rgba(255,255,255,0.4); } + + .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, + .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #555; } + + .mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ + height: 12px; + width: auto; + } + + .mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{ + background-color: #000; background-color: rgba(0,0,0,0.05); + box-shadow: inset 1px 1px 16px rgba(0,0,0,0.1); + } + + .mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{ background-color: transparent; } + + .mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp{ background-position: -32px -72px; } + + .mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown{ background-position: -32px -92px; } + + .mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -40px -112px; } + + .mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight{ background-position: -40px -128px; } + + + /* theme: "3d-thick-dark" */ + + .mCS-3d-thick-dark.mCSB_scrollTools{ box-shadow: inset 0 0 14px rgba(0,0,0,0.2); } + + .mCS-3d-thick-dark.mCSB_scrollTools_horizontal{ box-shadow: inset 0 1px 1px rgba(0,0,0,0.1), inset 0 0 14px rgba(0,0,0,0.2); } + + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ box-shadow: inset 1px 0 0 rgba(255,255,255,0.4), inset -1px 0 0 rgba(0,0,0,0.2); } + + .mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ box-shadow: inset 0 1px 0 rgba(255,255,255,0.4), inset 0 -1px 0 rgba(0,0,0,0.2); } + + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #777; } + + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{ + background-color: #fff; background-color: rgba(0,0,0,0.05); + box-shadow: inset 1px 1px 16px rgba(0,0,0,0.1); + } + + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail{ background-color: transparent; } + + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp{ background-position: -112px -72px; } + + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown{ background-position: -112px -92px; } + + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -120px -112px; } + + .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight{ background-position: -120px -128px; } + + /* ---------------------------------------- */ + + + + /* theme: "minimal", "minimal-dark" */ + + .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical, + .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical{ + right: 0; + margin: 12px 0; + } + + .mCustomScrollBox.mCS-minimal + .mCSB_scrollTools.mCSB_scrollTools_horizontal, + .mCustomScrollBox.mCS-minimal + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal, + .mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools.mCSB_scrollTools_horizontal, + .mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal{ + bottom: 0; + margin: 0 12px; + } + + /* RTL direction/left-side scrollbar */ + .mCS-dir-rtl > .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical, + .mCS-dir-rtl > .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical{ + left: 0; + right: auto; + } + + .mCS-minimal.mCSB_scrollTools .mCSB_draggerRail, + .mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail{ background-color: transparent; } + + .mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger, + .mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger{ height: 50px; } + + .mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger, + .mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger{ width: 50px; } + + .mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + background-color: #fff; background-color: rgba(255,255,255,0.2); + filter: "alpha(opacity=20)"; -ms-filter: "alpha(opacity=20)"; + } + + .mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ + background-color: #fff; background-color: rgba(255,255,255,0.5); + filter: "alpha(opacity=50)"; -ms-filter: "alpha(opacity=50)"; + } + + + /* theme: "minimal-dark" */ + + .mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + background-color: #000; background-color: rgba(0,0,0,0.2); + filter: "alpha(opacity=20)"; -ms-filter: "alpha(opacity=20)"; + } + + .mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ + background-color: #000; background-color: rgba(0,0,0,0.5); + filter: "alpha(opacity=50)"; -ms-filter: "alpha(opacity=50)"; + } + + /* ---------------------------------------- */ + + + + /* theme "light-3", "dark-3" */ + + .mCS-light-3.mCSB_scrollTools .mCSB_draggerRail, + .mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{ + width: 6px; + background-color: #000; background-color: rgba(0,0,0,0.2); + } + + .mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ width: 6px; } + + .mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{ + width: 100%; + height: 6px; + margin: 5px 0; + } + + .mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, + .mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{ + width: 12px; + } + + .mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, + .mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, + .mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{ + height: 12px; + margin: 2px 0; + } + + .mCS-light-3.mCSB_scrollTools .mCSB_buttonUp{ background-position: -32px -72px; } + + .mCS-light-3.mCSB_scrollTools .mCSB_buttonDown{ background-position: -32px -92px; } + + .mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -40px -112px; } + + .mCS-light-3.mCSB_scrollTools .mCSB_buttonRight{ background-position: -40px -128px; } + + + /* theme "dark-3" */ + + .mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.75); } + + .mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.85); } + + .mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.9); } + + .mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{ background-color: #000; background-color: rgba(0,0,0,0.1); } + + .mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp{ background-position: -112px -72px; } + + .mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown{ background-position: -112px -92px; } + + .mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -120px -112px; } + + .mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight{ background-position: -120px -128px; } + + /* ---------------------------------------- */ + + + + /* theme "inset", "inset-dark", "inset-2", "inset-2-dark", "inset-3", "inset-3-dark" */ + + .mCS-inset.mCSB_scrollTools .mCSB_draggerRail, + .mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail, + .mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail, + .mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{ + width: 12px; + background-color: #000; background-color: rgba(0,0,0,0.2); + } + + .mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ + width: 6px; + margin: 3px 5px; + position: absolute; + height: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + } + + .mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{ + height: 6px; + margin: 5px 3px; + position: absolute; + width: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + } + + .mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail, + .mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{ + width: 100%; + height: 12px; + margin: 2px 0; + } + + .mCS-inset.mCSB_scrollTools .mCSB_buttonUp, + .mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp, + .mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp{ background-position: -32px -72px; } + + .mCS-inset.mCSB_scrollTools .mCSB_buttonDown, + .mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown, + .mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown{ background-position: -32px -92px; } + + .mCS-inset.mCSB_scrollTools .mCSB_buttonLeft, + .mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft, + .mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -40px -112px; } + + .mCS-inset.mCSB_scrollTools .mCSB_buttonRight, + .mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight, + .mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight{ background-position: -40px -128px; } + + + /* theme "inset-dark", "inset-2-dark", "inset-3-dark" */ + + .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.75); } + + .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.85); } + + .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.9); } + + .mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{ background-color: #000; background-color: rgba(0,0,0,0.1); } + + .mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp{ background-position: -112px -72px; } + + .mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown{ background-position: -112px -92px; } + + .mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -120px -112px; } + + .mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight{ background-position: -120px -128px; } + + + /* theme "inset-2", "inset-2-dark" */ + + .mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail, + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{ + background-color: transparent; + border-width: 1px; + border-style: solid; + border-color: #fff; + border-color: rgba(255,255,255,0.2); + -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; + } + + .mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{ border-color: #000; border-color: rgba(0,0,0,0.2); } + + + /* theme "inset-3", "inset-3-dark" */ + + .mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{ background-color: #fff; background-color: rgba(255,255,255,0.6); } + + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{ background-color: #000; background-color: rgba(0,0,0,0.6); } + + .mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.75); } + + .mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.85); } + + .mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #000; background-color: rgba(0,0,0,0.9); } + + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #fff; background-color: rgba(255,255,255,0.75); } + + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #fff; background-color: rgba(255,255,255,0.85); } + + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, + .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #fff; background-color: rgba(255,255,255,0.9); } + + /* ---------------------------------------- */ diff --git a/yyets/worker/public/favicon.ico b/yyets/worker/public/favicon.ico new file mode 100644 index 000000000..c87f093a6 Binary files /dev/null and b/yyets/worker/public/favicon.ico differ diff --git a/yyets/worker/public/fonts/fontawesome-webfont.woff2 b/yyets/worker/public/fonts/fontawesome-webfont.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/yyets/worker/public/fonts/fontawesome-webfont.woff2 differ diff --git a/yyets/worker/public/fonts/test.txt b/yyets/worker/public/fonts/test.txt new file mode 100644 index 000000000..274c0052d --- /dev/null +++ b/yyets/worker/public/fonts/test.txt @@ -0,0 +1 @@ +1234 \ No newline at end of file diff --git a/yyets/worker/public/img/11bcd4d0f2daf8b02fecc72bc8ca38ab.png b/yyets/worker/public/img/11bcd4d0f2daf8b02fecc72bc8ca38ab.png new file mode 100644 index 000000000..2b8d0b578 Binary files /dev/null and b/yyets/worker/public/img/11bcd4d0f2daf8b02fecc72bc8ca38ab.png differ diff --git a/yyets/worker/public/img/200-wrangler-ferris.gif b/yyets/worker/public/img/200-wrangler-ferris.gif new file mode 100644 index 000000000..0c383d06b Binary files /dev/null and b/yyets/worker/public/img/200-wrangler-ferris.gif differ diff --git a/yyets/worker/public/img/404-wrangler-ferris.gif b/yyets/worker/public/img/404-wrangler-ferris.gif new file mode 100644 index 000000000..0ac1479fc Binary files /dev/null and b/yyets/worker/public/img/404-wrangler-ferris.gif differ diff --git a/yyets/worker/public/img/grid16.png b/yyets/worker/public/img/grid16.png new file mode 100644 index 000000000..b4e94950e Binary files /dev/null and b/yyets/worker/public/img/grid16.png differ diff --git a/yyets/worker/public/img/yyetsTrans.png b/yyets/worker/public/img/yyetsTrans.png new file mode 100644 index 000000000..e68a6cb6f Binary files /dev/null and b/yyets/worker/public/img/yyetsTrans.png differ diff --git a/yyets/worker/public/index.html b/yyets/worker/public/index.html new file mode 100644 index 000000000..558e958dc --- /dev/null +++ b/yyets/worker/public/index.html @@ -0,0 +1,57 @@ + + + + + 人人影视下载分享 + + + + + + + +
+

人人影视下载分享

+

By Benny

+
+

这是我偷过来的,嘿嘿😝

+

这个 Telegram Bot + 里去使用,或者使用下方搜索框

+
+ + + +
+

有问题联系 Benny小可爱

+ a happy crab is wearing a cowboy hat and holding a lasso. 200 success. +
+ + + diff --git a/yyets/worker/public/js/aYin.js b/yyets/worker/public/js/aYin.js new file mode 100644 index 000000000..01b809e88 --- /dev/null +++ b/yyets/worker/public/js/aYin.js @@ -0,0 +1,476 @@ +/*! + * copyright 2017 aYin's Lib + * ayin86@163.com yinzhijun@dhcc.com.cn + * only for authorized use. + * contain open source project:"jquery-Browser,jquery cookie" + */ + +(function($){ + $.AllInOne = function(options,callback){ + var settings={ + //from:src, + //obj:obj, + //to:continer, + //onload:function(){alert(1)} + } + var opts=$.extend(settings,options); + if($("body").find(".iframe-wrap").size()==0){ + $("body").append("
"); + } + var ifw=$("body").find(".iframe-wrap"); + var objclass=opts.obj.split(",")[0].replace(".",""); + if($(".iframe-"+objclass).size()==0){ + ifw.append("