commit 26704457d587a4289e8d2e0f18d0ab4bcad5f852 Author: kdxcxs Date: Wed Apr 15 18:08:34 2020 +0800 Init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7cc6d9f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# WebStorm +.idea/ \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..292de2f --- /dev/null +++ b/LICENSE @@ -0,0 +1,13 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2020 kdxcxs + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/README.md b/README.md new file mode 100644 index 0000000..5813b89 --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# Bilibili Live Lottery + +Bilibili直播弹幕抽奖 + +## :bookmark_tabs:内容列表 + +- [背景](#背景) +- [安装](#安装) +- [使用说明](#使用说明) +- [使用许可](#使用许可) + +## :triangular_flag_on_post:背景 + +许多主播在直播抽奖时都是通过截图来抽奖的,而我从没中过,想来想去越想越气,这肯定是因为截图这种方法不公平! + +于是就有了这个项目…… + +(然而我还是没中过) + +## :hourglass:安装 + +不需要安装~ + +就简单地用 [mdui](https://mdui.org/) 随便写了写,所有依赖都在 [libs](libs/) 文件夹中。 + +浏览器打开 [main.html](main.html) 即开即用:+1: + +## :bell:使用说明 + +1. 输入房间号后点击 `点击开始` 按钮开始记录发送弹幕的用户 uid 和昵称,不会重复记录。 +2. 点击 `停止记录` 按钮后停止记录发送的弹幕。 +3. 点击 `随机抽奖` 按钮在刚才记录过程中所有发送弹幕的用户里面随机抽取一位。 +4. 关闭弹窗后点击中间粉色的中奖用户用户名可跳转到该用户的B站主页方便私信。 + +## :page_with_curl:使用许可 + +[WTFPL](LICENSE) :copyright: kdxcxs \ No newline at end of file diff --git a/assets/bilibili.png b/assets/bilibili.png new file mode 100644 index 0000000..574db98 Binary files /dev/null and b/assets/bilibili.png differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..628ecb4 Binary files /dev/null and b/favicon.ico differ diff --git a/js/dao.js b/js/dao.js new file mode 100644 index 0000000..66c6516 --- /dev/null +++ b/js/dao.js @@ -0,0 +1,18 @@ +// cx@kdxcxs.com +// |/ |¯\ \/ |¯ \/ |¯ +// |¯\ |_/ /\ |_ /\ ¯| +// ¯ + +var viewers = []; +var viewerNames = []; +var running = false; +var allViewers = 0 + function appendViewer(vd) { // viewer data + if(running && !viewers.includes(vd[2][0])){ + console.log(vd[2][0]); + viewers.push(vd[2][0]); + viewerNames.push(vd[2][1]); + allViewers ++; + $('#viewers-count')[0].innerText = allViewers; + } + } \ No newline at end of file diff --git a/js/live_apis.js b/js/live_apis.js new file mode 100644 index 0000000..876513c --- /dev/null +++ b/js/live_apis.js @@ -0,0 +1,93 @@ +// cx@kdxcxs.com +// |/ |¯\ \/ |¯ \/ |¯ +// |¯\ |_/ /\ |_ /\ ¯| +// ¯ +// https://github.com/lovelyyoshino/Bilibili-Live-API/blob/master/API.WebSocket.md + +const textEncoder = new TextEncoder('utf-8'); +const textDecoder = new TextDecoder('utf-8'); + +const readInt = function (buffer, start, len) { + let result = 0 + for (let i = len - 1; i >= 0; i--) { + result += Math.pow(256, len - i - 1) * buffer[start + i] + } + return result +} + +const writeInt = function (buffer, start, len, value) { + let i = 0 + while (i < len) { + buffer[start + i] = value / Math.pow(256, len - i - 1) + i++ + } +} + +const encode = function (str, op) { + let data = textEncoder.encode(str); + let packetLen = 16 + data.byteLength; + let header = [0, 0, 0, 0, 0, 16, 0, 1, 0, 0, 0, op, 0, 0, 0, 1] + writeInt(header, 0, 4, packetLen) + return (new Uint8Array(header.concat(...data))).buffer +} +const decode = function (blob) { + return new Promise(function (resolve, reject) { + let reader = new FileReader(); + reader.onload = function (e) { + let buffer = new Uint8Array(e.target.result) + let result = {} + result.packetLen = readInt(buffer, 0, 4) + result.headerLen = readInt(buffer, 4, 2) + result.ver = readInt(buffer, 6, 2) + result.op = readInt(buffer, 8, 4) + result.seq = readInt(buffer, 12, 4) + if (result.op === 5) { + result.body = [] + let offset = 0; + while (offset < buffer.length) { + let packetLen = readInt(buffer, offset + 0, 4) + let headerLen = 16// readInt(buffer,offset + 4,4) + let data = buffer.slice(offset + headerLen, offset + packetLen); + let body = textDecoder.decode(data); + if (body) { + result.body.push(JSON.parse(body)); + } + offset += packetLen; + } + } else if (result.op === 3) { + result.body = { + count: readInt(buffer, 16, 4) + }; + } + resolve(result) + } + reader.readAsArrayBuffer(blob); + }); +} + +function connect(roomid) { + window.ws = new WebSocket('wss://broadcastlv.chat.bilibili.com:2245/sub'); + ws.onopen = function () { + ws.send(encode(JSON.stringify({ + roomid: roomid + }), 7)); + }; + setInterval(function () { + ws.send(encode('', 2)); + }, 30000); + ws.onmessage = async function (msgEvent) { + const packet = await decode(msgEvent.data); + switch (packet.op) { + case 8: + console.log('已加入房间'+roomid.toString()); + break; + case 5: + packet.body.forEach((body) => { + if (body.cmd === 'DANMU_MSG') { + appendViewer(body.info); + } + }) + break; + } + }; +} diff --git a/js/utils.js b/js/utils.js new file mode 100644 index 0000000..71bf9fd --- /dev/null +++ b/js/utils.js @@ -0,0 +1,71 @@ +// cx@kdxcxs.com +// |/ |¯\ \/ |¯ \/ |¯ +// |¯\ |_/ /\ |_ /\ ¯| +// ¯ + +console.log('%ccx@kdxcxs.com\n|/ |¯\\ \\/ |¯ \\/ |¯ \n|¯\\ |_/ /\\ |_ /\\ ¯| \n ¯ ', 'color: blue; font-size: 20px'); + +// https://www.cnblogs.com/starof/p/4988516.html +function randomNum(minNum, maxNum) { + switch (arguments.length) { + case 1: + return parseInt(Math.random() * minNum + 1, 10); + break; + case 2: + return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10); + break; + default: + return 0; + break; + } +} + +function enterRoom() { + $('#room-choosing').hide(); + $('#running-container').show(); + $('#control-button')[0].onclick = startCatching; + connect(parseInt($('#roomid-input')[0].value)); + startCatching(); +} + +function startCatching() { + console.clear(); + console.log('%ccx@kdxcxs.com\n|/ |¯\\ \\/ |¯ \\/ |¯ \n|¯\\ |_/ /\\ |_ /\\ ¯| \n ¯ ', 'color: blue; font-size: 20px'); + running = true; + viewers = []; + allViewers = 0; + $('#viewers-count')[0].innerText = 0; + $('#lottery-done').hide(); + $('#running-container').show(); + $('#running-status')[0].innerText = '开始记录!'; + $('#control-button')[0].innerText = '停止记录'; + $('#control-button')[0].onclick = stopCatching; +} + +function stopCatching() { + running = false; + $('#running-status')[0].innerText = '准备抽奖'; + $('#control-button')[0].innerText = '随机抽奖'; + $('#control-button')[0].onclick = lottery; +} + +function lottery() { + $('#running-container').hide(); + $('#lottery-done').show(); + let luckyIndex = randomNum(1, viewers.length) - 1; + $('#control-button')[0].innerText = '再抽一次'; + $('#control-button')[0].onclick = startCatching; + $('#lucky-user')[0].innerText = viewerNames[luckyIndex] + '(' + viewers[luckyIndex].toString() + ')'; + $('#lucky-user')[0].onclick = () => { + window.open('https://space.bilibili.com/' + viewers[luckyIndex].toString()); + }; + mdui.dialog({ + title: '幸运儿出来了!', + content: viewerNames[luckyIndex] + '(' + viewers[luckyIndex].toString() + ')', + buttons: [ + { + text: '确认' + } + ] + }); +} \ No newline at end of file diff --git a/libs/mdui/css/mdui.css b/libs/mdui/css/mdui.css new file mode 100644 index 0000000..8948f49 --- /dev/null +++ b/libs/mdui/css/mdui.css @@ -0,0 +1,12791 @@ +/*! + * mdui v0.4.3 (https://mdui.org) + * Copyright 2016-2019 zdhxiong + * Licensed under MIT + */ +/** + * ============================================================================= + * ************ Color 颜色 ************ + * ============================================================================= + */ +/** + * .mdui-theme-primary-[color] .mdui-color-theme + * .mdui-theme-primary-[color] .mdui-color-theme-[degree] + */ +.mdui-theme-primary-amber .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffc107 !important; +} +.mdui-theme-primary-amber .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff8e1 !important; +} +.mdui-theme-primary-amber .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffecb3 !important; +} +.mdui-theme-primary-amber .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffe082 !important; +} +.mdui-theme-primary-amber .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd54f !important; +} +.mdui-theme-primary-amber .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffca28 !important; +} +.mdui-theme-primary-amber .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffc107 !important; +} +.mdui-theme-primary-amber .mdui-color-theme-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffb300 !important; +} +.mdui-theme-primary-amber .mdui-color-theme-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffa000 !important; +} +.mdui-theme-primary-amber .mdui-color-theme-800 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff8f00 !important; +} +.mdui-theme-primary-amber .mdui-color-theme-900 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff6f00 !important; +} +.mdui-theme-primary-blue .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #2196f3 !important; +} +.mdui-theme-primary-blue .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e3f2fd !important; +} +.mdui-theme-primary-blue .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #bbdefb !important; +} +.mdui-theme-primary-blue .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #90caf9 !important; +} +.mdui-theme-primary-blue .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #64b5f6 !important; +} +.mdui-theme-primary-blue .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #42a5f5 !important; +} +.mdui-theme-primary-blue .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #2196f3 !important; +} +.mdui-theme-primary-blue .mdui-color-theme-600 { + color: #fff !important; + background-color: #1e88e5 !important; +} +.mdui-theme-primary-blue .mdui-color-theme-700 { + color: #fff !important; + background-color: #1976d2 !important; +} +.mdui-theme-primary-blue .mdui-color-theme-800 { + color: #fff !important; + background-color: #1565c0 !important; +} +.mdui-theme-primary-blue .mdui-color-theme-900 { + color: #fff !important; + background-color: #0d47a1 !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme { + color: #fff !important; + background-color: #607d8b !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #eceff1 !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #cfd8dc !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b0bec5 !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #90a4ae !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-400 { + color: #fff !important; + background-color: #78909c !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-500 { + color: #fff !important; + background-color: #607d8b !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-600 { + color: #fff !important; + background-color: #546e7a !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-700 { + color: #fff !important; + background-color: #455a64 !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-800 { + color: #fff !important; + background-color: #37474f !important; +} +.mdui-theme-primary-blue-grey .mdui-color-theme-900 { + color: #fff !important; + background-color: #263238 !important; +} +.mdui-theme-primary-brown .mdui-color-theme { + color: #fff !important; + background-color: #795548 !important; +} +.mdui-theme-primary-brown .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #efebe9 !important; +} +.mdui-theme-primary-brown .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #d7ccc8 !important; +} +.mdui-theme-primary-brown .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #bcaaa4 !important; +} +.mdui-theme-primary-brown .mdui-color-theme-300 { + color: #fff !important; + background-color: #a1887f !important; +} +.mdui-theme-primary-brown .mdui-color-theme-400 { + color: #fff !important; + background-color: #8d6e63 !important; +} +.mdui-theme-primary-brown .mdui-color-theme-500 { + color: #fff !important; + background-color: #795548 !important; +} +.mdui-theme-primary-brown .mdui-color-theme-600 { + color: #fff !important; + background-color: #6d4c41 !important; +} +.mdui-theme-primary-brown .mdui-color-theme-700 { + color: #fff !important; + background-color: #5d4037 !important; +} +.mdui-theme-primary-brown .mdui-color-theme-800 { + color: #fff !important; + background-color: #4e342e !important; +} +.mdui-theme-primary-brown .mdui-color-theme-900 { + color: #fff !important; + background-color: #3e2723 !important; +} +.mdui-theme-primary-cyan .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #00bcd4 !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e0f7fa !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b2ebf2 !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #80deea !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #4dd0e1 !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #26c6da !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00bcd4 !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00acc1 !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-700 { + color: #fff !important; + background-color: #0097a7 !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-800 { + color: #fff !important; + background-color: #00838f !important; +} +.mdui-theme-primary-cyan .mdui-color-theme-900 { + color: #fff !important; + background-color: #006064 !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff5722 !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fbe9e7 !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffccbc !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffab91 !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff8a65 !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff7043 !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff5722 !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-600 { + color: #fff !important; + background-color: #f4511e !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-700 { + color: #fff !important; + background-color: #e64a19 !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-800 { + color: #fff !important; + background-color: #d84315 !important; +} +.mdui-theme-primary-deep-orange .mdui-color-theme-900 { + color: #fff !important; + background-color: #bf360c !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme { + color: #fff !important; + background-color: #673ab7 !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ede7f6 !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #d1c4e9 !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b39ddb !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-300 { + color: #fff !important; + background-color: #9575cd !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-400 { + color: #fff !important; + background-color: #7e57c2 !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-500 { + color: #fff !important; + background-color: #673ab7 !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-600 { + color: #fff !important; + background-color: #5e35b1 !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-700 { + color: #fff !important; + background-color: #512da8 !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-800 { + color: #fff !important; + background-color: #4527a0 !important; +} +.mdui-theme-primary-deep-purple .mdui-color-theme-900 { + color: #fff !important; + background-color: #311b92 !important; +} +.mdui-theme-primary-green .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #4caf50 !important; +} +.mdui-theme-primary-green .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e8f5e9 !important; +} +.mdui-theme-primary-green .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c8e6c9 !important; +} +.mdui-theme-primary-green .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #a5d6a7 !important; +} +.mdui-theme-primary-green .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #81c784 !important; +} +.mdui-theme-primary-green .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #66bb6a !important; +} +.mdui-theme-primary-green .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #4caf50 !important; +} +.mdui-theme-primary-green .mdui-color-theme-600 { + color: #fff !important; + background-color: #43a047 !important; +} +.mdui-theme-primary-green .mdui-color-theme-700 { + color: #fff !important; + background-color: #388e3c !important; +} +.mdui-theme-primary-green .mdui-color-theme-800 { + color: #fff !important; + background-color: #2e7d32 !important; +} +.mdui-theme-primary-green .mdui-color-theme-900 { + color: #fff !important; + background-color: #1b5e20 !important; +} +.mdui-theme-primary-grey .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #9e9e9e !important; +} +.mdui-theme-primary-grey .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fafafa !important; +} +.mdui-theme-primary-grey .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f5f5f5 !important; +} +.mdui-theme-primary-grey .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #eee !important; +} +.mdui-theme-primary-grey .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e0e0e0 !important; +} +.mdui-theme-primary-grey .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #bdbdbd !important; +} +.mdui-theme-primary-grey .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #9e9e9e !important; +} +.mdui-theme-primary-grey .mdui-color-theme-600 { + color: #fff !important; + background-color: #757575 !important; +} +.mdui-theme-primary-grey .mdui-color-theme-700 { + color: #fff !important; + background-color: #616161 !important; +} +.mdui-theme-primary-grey .mdui-color-theme-800 { + color: #fff !important; + background-color: #424242 !important; +} +.mdui-theme-primary-grey .mdui-color-theme-900 { + color: #fff !important; + background-color: #212121 !important; +} +.mdui-theme-primary-indigo .mdui-color-theme { + color: #fff !important; + background-color: #3f51b5 !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e8eaf6 !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c5cae9 !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #9fa8da !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-300 { + color: #fff !important; + background-color: #7986cb !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-400 { + color: #fff !important; + background-color: #5c6bc0 !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-500 { + color: #fff !important; + background-color: #3f51b5 !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-600 { + color: #fff !important; + background-color: #3949ab !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-700 { + color: #fff !important; + background-color: #303f9f !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-800 { + color: #fff !important; + background-color: #283593 !important; +} +.mdui-theme-primary-indigo .mdui-color-theme-900 { + color: #fff !important; + background-color: #1a237e !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #03a9f4 !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e1f5fe !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b3e5fc !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #81d4fa !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #4fc3f7 !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #29b6f6 !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #03a9f4 !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #039be5 !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-700 { + color: #fff !important; + background-color: #0288d1 !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-800 { + color: #fff !important; + background-color: #0277bd !important; +} +.mdui-theme-primary-light-blue .mdui-color-theme-900 { + color: #fff !important; + background-color: #01579b !important; +} +.mdui-theme-primary-light-green .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #8bc34a !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f1f8e9 !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #dcedc8 !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c5e1a5 !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #aed581 !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #9ccc65 !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #8bc34a !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #7cb342 !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #689f38 !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-800 { + color: #fff !important; + background-color: #558b2f !important; +} +.mdui-theme-primary-light-green .mdui-color-theme-900 { + color: #fff !important; + background-color: #33691e !important; +} +.mdui-theme-primary-lime .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #cddc39 !important; +} +.mdui-theme-primary-lime .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f9fbe7 !important; +} +.mdui-theme-primary-lime .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f0f4c3 !important; +} +.mdui-theme-primary-lime .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e6ee9c !important; +} +.mdui-theme-primary-lime .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #dce775 !important; +} +.mdui-theme-primary-lime .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #d4e157 !important; +} +.mdui-theme-primary-lime .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #cddc39 !important; +} +.mdui-theme-primary-lime .mdui-color-theme-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c0ca33 !important; +} +.mdui-theme-primary-lime .mdui-color-theme-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #afb42b !important; +} +.mdui-theme-primary-lime .mdui-color-theme-800 { + color: rgba(0, 0, 0, .87) !important; + background-color: #9e9d24 !important; +} +.mdui-theme-primary-lime .mdui-color-theme-900 { + color: #fff !important; + background-color: #827717 !important; +} +.mdui-theme-primary-orange .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff9800 !important; +} +.mdui-theme-primary-orange .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff3e0 !important; +} +.mdui-theme-primary-orange .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffe0b2 !important; +} +.mdui-theme-primary-orange .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffcc80 !important; +} +.mdui-theme-primary-orange .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffb74d !important; +} +.mdui-theme-primary-orange .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffa726 !important; +} +.mdui-theme-primary-orange .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff9800 !important; +} +.mdui-theme-primary-orange .mdui-color-theme-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fb8c00 !important; +} +.mdui-theme-primary-orange .mdui-color-theme-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f57c00 !important; +} +.mdui-theme-primary-orange .mdui-color-theme-800 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ef6c00 !important; +} +.mdui-theme-primary-orange .mdui-color-theme-900 { + color: #fff !important; + background-color: #e65100 !important; +} +.mdui-theme-primary-pink .mdui-color-theme { + color: #fff !important; + background-color: #e91e63 !important; +} +.mdui-theme-primary-pink .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fce4ec !important; +} +.mdui-theme-primary-pink .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f8bbd0 !important; +} +.mdui-theme-primary-pink .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f48fb1 !important; +} +.mdui-theme-primary-pink .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f06292 !important; +} +.mdui-theme-primary-pink .mdui-color-theme-400 { + color: #fff !important; + background-color: #ec407a !important; +} +.mdui-theme-primary-pink .mdui-color-theme-500 { + color: #fff !important; + background-color: #e91e63 !important; +} +.mdui-theme-primary-pink .mdui-color-theme-600 { + color: #fff !important; + background-color: #d81b60 !important; +} +.mdui-theme-primary-pink .mdui-color-theme-700 { + color: #fff !important; + background-color: #c2185b !important; +} +.mdui-theme-primary-pink .mdui-color-theme-800 { + color: #fff !important; + background-color: #ad1457 !important; +} +.mdui-theme-primary-pink .mdui-color-theme-900 { + color: #fff !important; + background-color: #880e4f !important; +} +.mdui-theme-primary-purple .mdui-color-theme { + color: #fff !important; + background-color: #9c27b0 !important; +} +.mdui-theme-primary-purple .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f3e5f5 !important; +} +.mdui-theme-primary-purple .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e1bee7 !important; +} +.mdui-theme-primary-purple .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ce93d8 !important; +} +.mdui-theme-primary-purple .mdui-color-theme-300 { + color: #fff !important; + background-color: #ba68c8 !important; +} +.mdui-theme-primary-purple .mdui-color-theme-400 { + color: #fff !important; + background-color: #ab47bc !important; +} +.mdui-theme-primary-purple .mdui-color-theme-500 { + color: #fff !important; + background-color: #9c27b0 !important; +} +.mdui-theme-primary-purple .mdui-color-theme-600 { + color: #fff !important; + background-color: #8e24aa !important; +} +.mdui-theme-primary-purple .mdui-color-theme-700 { + color: #fff !important; + background-color: #7b1fa2 !important; +} +.mdui-theme-primary-purple .mdui-color-theme-800 { + color: #fff !important; + background-color: #6a1b9a !important; +} +.mdui-theme-primary-purple .mdui-color-theme-900 { + color: #fff !important; + background-color: #4a148c !important; +} +.mdui-theme-primary-red .mdui-color-theme { + color: #fff !important; + background-color: #f44336 !important; +} +.mdui-theme-primary-red .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffebee !important; +} +.mdui-theme-primary-red .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffcdd2 !important; +} +.mdui-theme-primary-red .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ef9a9a !important; +} +.mdui-theme-primary-red .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e57373 !important; +} +.mdui-theme-primary-red .mdui-color-theme-400 { + color: #fff !important; + background-color: #ef5350 !important; +} +.mdui-theme-primary-red .mdui-color-theme-500 { + color: #fff !important; + background-color: #f44336 !important; +} +.mdui-theme-primary-red .mdui-color-theme-600 { + color: #fff !important; + background-color: #e53935 !important; +} +.mdui-theme-primary-red .mdui-color-theme-700 { + color: #fff !important; + background-color: #d32f2f !important; +} +.mdui-theme-primary-red .mdui-color-theme-800 { + color: #fff !important; + background-color: #c62828 !important; +} +.mdui-theme-primary-red .mdui-color-theme-900 { + color: #fff !important; + background-color: #b71c1c !important; +} +.mdui-theme-primary-teal .mdui-color-theme { + color: #fff !important; + background-color: #009688 !important; +} +.mdui-theme-primary-teal .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e0f2f1 !important; +} +.mdui-theme-primary-teal .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b2dfdb !important; +} +.mdui-theme-primary-teal .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #80cbc4 !important; +} +.mdui-theme-primary-teal .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #4db6ac !important; +} +.mdui-theme-primary-teal .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #26a69a !important; +} +.mdui-theme-primary-teal .mdui-color-theme-500 { + color: #fff !important; + background-color: #009688 !important; +} +.mdui-theme-primary-teal .mdui-color-theme-600 { + color: #fff !important; + background-color: #00897b !important; +} +.mdui-theme-primary-teal .mdui-color-theme-700 { + color: #fff !important; + background-color: #00796b !important; +} +.mdui-theme-primary-teal .mdui-color-theme-800 { + color: #fff !important; + background-color: #00695c !important; +} +.mdui-theme-primary-teal .mdui-color-theme-900 { + color: #fff !important; + background-color: #004d40 !important; +} +.mdui-theme-primary-yellow .mdui-color-theme { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffeb3b !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fffde7 !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff9c4 !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff59d !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff176 !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffee58 !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffeb3b !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fdd835 !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fbc02d !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-800 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f9a825 !important; +} +.mdui-theme-primary-yellow .mdui-color-theme-900 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f57f17 !important; +} +/** + * .mdui-theme-accent-[color] .mdui-color-theme-accent + * .mdui-theme-accent-[color] .mdui-color-theme-[degree] + */ +.mdui-theme-accent-amber .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd740 !important; +} +.mdui-theme-accent-amber .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffe57f !important; +} +.mdui-theme-accent-amber .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd740 !important; +} +.mdui-theme-accent-amber .mdui-color-theme-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffc400 !important; +} +.mdui-theme-accent-amber .mdui-color-theme-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffab00 !important; +} +.mdui-theme-accent-blue .mdui-color-theme-accent { + color: #fff !important; + background-color: #448aff !important; +} +.mdui-theme-accent-blue .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #82b1ff !important; +} +.mdui-theme-accent-blue .mdui-color-theme-a200 { + color: #fff !important; + background-color: #448aff !important; +} +.mdui-theme-accent-blue .mdui-color-theme-a400 { + color: #fff !important; + background-color: #2979ff !important; +} +.mdui-theme-accent-blue .mdui-color-theme-a700 { + color: #fff !important; + background-color: #2962ff !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #18ffff !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #84ffff !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #18ffff !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00e5ff !important; +} +.mdui-theme-accent-cyan .mdui-color-theme-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00b8d4 !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff6e40 !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff9e80 !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff6e40 !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-a400 { + color: #fff !important; + background-color: #ff3d00 !important; +} +.mdui-theme-accent-deep-orange .mdui-color-theme-a700 { + color: #fff !important; + background-color: #dd2c00 !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-accent { + color: #fff !important; + background-color: #7c4dff !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b388ff !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-a200 { + color: #fff !important; + background-color: #7c4dff !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-a400 { + color: #fff !important; + background-color: #651fff !important; +} +.mdui-theme-accent-deep-purple .mdui-color-theme-a700 { + color: #fff !important; + background-color: #6200ea !important; +} +.mdui-theme-accent-green .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #69f0ae !important; +} +.mdui-theme-accent-green .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b9f6ca !important; +} +.mdui-theme-accent-green .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #69f0ae !important; +} +.mdui-theme-accent-green .mdui-color-theme-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00e676 !important; +} +.mdui-theme-accent-green .mdui-color-theme-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00c853 !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-accent { + color: #fff !important; + background-color: #536dfe !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #8c9eff !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-a200 { + color: #fff !important; + background-color: #536dfe !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-a400 { + color: #fff !important; + background-color: #3d5afe !important; +} +.mdui-theme-accent-indigo .mdui-color-theme-a700 { + color: #fff !important; + background-color: #304ffe !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #40c4ff !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #80d8ff !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #40c4ff !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00b0ff !important; +} +.mdui-theme-accent-light-blue .mdui-color-theme-a700 { + color: #fff !important; + background-color: #0091ea !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #b2ff59 !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ccff90 !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b2ff59 !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #76ff03 !important; +} +.mdui-theme-accent-light-green .mdui-color-theme-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #64dd17 !important; +} +.mdui-theme-accent-lime .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #eeff41 !important; +} +.mdui-theme-accent-lime .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f4ff81 !important; +} +.mdui-theme-accent-lime .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #eeff41 !important; +} +.mdui-theme-accent-lime .mdui-color-theme-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c6ff00 !important; +} +.mdui-theme-accent-lime .mdui-color-theme-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #aeea00 !important; +} +.mdui-theme-accent-orange .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffab40 !important; +} +.mdui-theme-accent-orange .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd180 !important; +} +.mdui-theme-accent-orange .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffab40 !important; +} +.mdui-theme-accent-orange .mdui-color-theme-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff9100 !important; +} +.mdui-theme-accent-orange .mdui-color-theme-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff6d00 !important; +} +.mdui-theme-accent-pink .mdui-color-theme-accent { + color: #fff !important; + background-color: #ff4081 !important; +} +.mdui-theme-accent-pink .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff80ab !important; +} +.mdui-theme-accent-pink .mdui-color-theme-a200 { + color: #fff !important; + background-color: #ff4081 !important; +} +.mdui-theme-accent-pink .mdui-color-theme-a400 { + color: #fff !important; + background-color: #f50057 !important; +} +.mdui-theme-accent-pink .mdui-color-theme-a700 { + color: #fff !important; + background-color: #c51162 !important; +} +.mdui-theme-accent-purple .mdui-color-theme-accent { + color: #fff !important; + background-color: #e040fb !important; +} +.mdui-theme-accent-purple .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ea80fc !important; +} +.mdui-theme-accent-purple .mdui-color-theme-a200 { + color: #fff !important; + background-color: #e040fb !important; +} +.mdui-theme-accent-purple .mdui-color-theme-a400 { + color: #fff !important; + background-color: #d500f9 !important; +} +.mdui-theme-accent-purple .mdui-color-theme-a700 { + color: #fff !important; + background-color: #a0f !important; +} +.mdui-theme-accent-red .mdui-color-theme-accent { + color: #fff !important; + background-color: #ff5252 !important; +} +.mdui-theme-accent-red .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff8a80 !important; +} +.mdui-theme-accent-red .mdui-color-theme-a200 { + color: #fff !important; + background-color: #ff5252 !important; +} +.mdui-theme-accent-red .mdui-color-theme-a400 { + color: #fff !important; + background-color: #ff1744 !important; +} +.mdui-theme-accent-red .mdui-color-theme-a700 { + color: #fff !important; + background-color: #d50000 !important; +} +.mdui-theme-accent-teal .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #64ffda !important; +} +.mdui-theme-accent-teal .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #a7ffeb !important; +} +.mdui-theme-accent-teal .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #64ffda !important; +} +.mdui-theme-accent-teal .mdui-color-theme-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #1de9b6 !important; +} +.mdui-theme-accent-teal .mdui-color-theme-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00bfa5 !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff0 !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffff8d !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff0 !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffea00 !important; +} +.mdui-theme-accent-yellow .mdui-color-theme-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd600 !important; +} +/** + * .mdui-color-[color] + * .mdui-color-[color]-[degree] + */ +.mdui-color-amber { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffc107 !important; +} +.mdui-color-amber-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff8e1 !important; +} +.mdui-color-amber-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffecb3 !important; +} +.mdui-color-amber-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffe082 !important; +} +.mdui-color-amber-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd54f !important; +} +.mdui-color-amber-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffca28 !important; +} +.mdui-color-amber-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffc107 !important; +} +.mdui-color-amber-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffb300 !important; +} +.mdui-color-amber-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffa000 !important; +} +.mdui-color-amber-800 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff8f00 !important; +} +.mdui-color-amber-900 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff6f00 !important; +} +.mdui-color-blue { + color: rgba(0, 0, 0, .87) !important; + background-color: #2196f3 !important; +} +.mdui-color-blue-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e3f2fd !important; +} +.mdui-color-blue-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #bbdefb !important; +} +.mdui-color-blue-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #90caf9 !important; +} +.mdui-color-blue-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #64b5f6 !important; +} +.mdui-color-blue-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #42a5f5 !important; +} +.mdui-color-blue-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #2196f3 !important; +} +.mdui-color-blue-600 { + color: #fff !important; + background-color: #1e88e5 !important; +} +.mdui-color-blue-700 { + color: #fff !important; + background-color: #1976d2 !important; +} +.mdui-color-blue-800 { + color: #fff !important; + background-color: #1565c0 !important; +} +.mdui-color-blue-900 { + color: #fff !important; + background-color: #0d47a1 !important; +} +.mdui-color-blue-grey { + color: #fff !important; + background-color: #607d8b !important; +} +.mdui-color-blue-grey-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #eceff1 !important; +} +.mdui-color-blue-grey-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #cfd8dc !important; +} +.mdui-color-blue-grey-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b0bec5 !important; +} +.mdui-color-blue-grey-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #90a4ae !important; +} +.mdui-color-blue-grey-400 { + color: #fff !important; + background-color: #78909c !important; +} +.mdui-color-blue-grey-500 { + color: #fff !important; + background-color: #607d8b !important; +} +.mdui-color-blue-grey-600 { + color: #fff !important; + background-color: #546e7a !important; +} +.mdui-color-blue-grey-700 { + color: #fff !important; + background-color: #455a64 !important; +} +.mdui-color-blue-grey-800 { + color: #fff !important; + background-color: #37474f !important; +} +.mdui-color-blue-grey-900 { + color: #fff !important; + background-color: #263238 !important; +} +.mdui-color-brown { + color: #fff !important; + background-color: #795548 !important; +} +.mdui-color-brown-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #efebe9 !important; +} +.mdui-color-brown-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #d7ccc8 !important; +} +.mdui-color-brown-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #bcaaa4 !important; +} +.mdui-color-brown-300 { + color: #fff !important; + background-color: #a1887f !important; +} +.mdui-color-brown-400 { + color: #fff !important; + background-color: #8d6e63 !important; +} +.mdui-color-brown-500 { + color: #fff !important; + background-color: #795548 !important; +} +.mdui-color-brown-600 { + color: #fff !important; + background-color: #6d4c41 !important; +} +.mdui-color-brown-700 { + color: #fff !important; + background-color: #5d4037 !important; +} +.mdui-color-brown-800 { + color: #fff !important; + background-color: #4e342e !important; +} +.mdui-color-brown-900 { + color: #fff !important; + background-color: #3e2723 !important; +} +.mdui-color-cyan { + color: rgba(0, 0, 0, .87) !important; + background-color: #00bcd4 !important; +} +.mdui-color-cyan-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e0f7fa !important; +} +.mdui-color-cyan-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b2ebf2 !important; +} +.mdui-color-cyan-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #80deea !important; +} +.mdui-color-cyan-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #4dd0e1 !important; +} +.mdui-color-cyan-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #26c6da !important; +} +.mdui-color-cyan-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00bcd4 !important; +} +.mdui-color-cyan-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00acc1 !important; +} +.mdui-color-cyan-700 { + color: #fff !important; + background-color: #0097a7 !important; +} +.mdui-color-cyan-800 { + color: #fff !important; + background-color: #00838f !important; +} +.mdui-color-cyan-900 { + color: #fff !important; + background-color: #006064 !important; +} +.mdui-color-deep-orange { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff5722 !important; +} +.mdui-color-deep-orange-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fbe9e7 !important; +} +.mdui-color-deep-orange-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffccbc !important; +} +.mdui-color-deep-orange-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffab91 !important; +} +.mdui-color-deep-orange-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff8a65 !important; +} +.mdui-color-deep-orange-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff7043 !important; +} +.mdui-color-deep-orange-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff5722 !important; +} +.mdui-color-deep-orange-600 { + color: #fff !important; + background-color: #f4511e !important; +} +.mdui-color-deep-orange-700 { + color: #fff !important; + background-color: #e64a19 !important; +} +.mdui-color-deep-orange-800 { + color: #fff !important; + background-color: #d84315 !important; +} +.mdui-color-deep-orange-900 { + color: #fff !important; + background-color: #bf360c !important; +} +.mdui-color-deep-purple { + color: #fff !important; + background-color: #673ab7 !important; +} +.mdui-color-deep-purple-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ede7f6 !important; +} +.mdui-color-deep-purple-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #d1c4e9 !important; +} +.mdui-color-deep-purple-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b39ddb !important; +} +.mdui-color-deep-purple-300 { + color: #fff !important; + background-color: #9575cd !important; +} +.mdui-color-deep-purple-400 { + color: #fff !important; + background-color: #7e57c2 !important; +} +.mdui-color-deep-purple-500 { + color: #fff !important; + background-color: #673ab7 !important; +} +.mdui-color-deep-purple-600 { + color: #fff !important; + background-color: #5e35b1 !important; +} +.mdui-color-deep-purple-700 { + color: #fff !important; + background-color: #512da8 !important; +} +.mdui-color-deep-purple-800 { + color: #fff !important; + background-color: #4527a0 !important; +} +.mdui-color-deep-purple-900 { + color: #fff !important; + background-color: #311b92 !important; +} +.mdui-color-green { + color: rgba(0, 0, 0, .87) !important; + background-color: #4caf50 !important; +} +.mdui-color-green-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e8f5e9 !important; +} +.mdui-color-green-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c8e6c9 !important; +} +.mdui-color-green-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #a5d6a7 !important; +} +.mdui-color-green-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #81c784 !important; +} +.mdui-color-green-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #66bb6a !important; +} +.mdui-color-green-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #4caf50 !important; +} +.mdui-color-green-600 { + color: #fff !important; + background-color: #43a047 !important; +} +.mdui-color-green-700 { + color: #fff !important; + background-color: #388e3c !important; +} +.mdui-color-green-800 { + color: #fff !important; + background-color: #2e7d32 !important; +} +.mdui-color-green-900 { + color: #fff !important; + background-color: #1b5e20 !important; +} +.mdui-color-grey { + color: rgba(0, 0, 0, .87) !important; + background-color: #9e9e9e !important; +} +.mdui-color-grey-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fafafa !important; +} +.mdui-color-grey-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f5f5f5 !important; +} +.mdui-color-grey-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #eee !important; +} +.mdui-color-grey-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e0e0e0 !important; +} +.mdui-color-grey-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #bdbdbd !important; +} +.mdui-color-grey-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #9e9e9e !important; +} +.mdui-color-grey-600 { + color: #fff !important; + background-color: #757575 !important; +} +.mdui-color-grey-700 { + color: #fff !important; + background-color: #616161 !important; +} +.mdui-color-grey-800 { + color: #fff !important; + background-color: #424242 !important; +} +.mdui-color-grey-900 { + color: #fff !important; + background-color: #212121 !important; +} +.mdui-color-indigo { + color: #fff !important; + background-color: #3f51b5 !important; +} +.mdui-color-indigo-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e8eaf6 !important; +} +.mdui-color-indigo-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c5cae9 !important; +} +.mdui-color-indigo-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #9fa8da !important; +} +.mdui-color-indigo-300 { + color: #fff !important; + background-color: #7986cb !important; +} +.mdui-color-indigo-400 { + color: #fff !important; + background-color: #5c6bc0 !important; +} +.mdui-color-indigo-500 { + color: #fff !important; + background-color: #3f51b5 !important; +} +.mdui-color-indigo-600 { + color: #fff !important; + background-color: #3949ab !important; +} +.mdui-color-indigo-700 { + color: #fff !important; + background-color: #303f9f !important; +} +.mdui-color-indigo-800 { + color: #fff !important; + background-color: #283593 !important; +} +.mdui-color-indigo-900 { + color: #fff !important; + background-color: #1a237e !important; +} +.mdui-color-light-blue { + color: rgba(0, 0, 0, .87) !important; + background-color: #03a9f4 !important; +} +.mdui-color-light-blue-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e1f5fe !important; +} +.mdui-color-light-blue-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b3e5fc !important; +} +.mdui-color-light-blue-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #81d4fa !important; +} +.mdui-color-light-blue-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #4fc3f7 !important; +} +.mdui-color-light-blue-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #29b6f6 !important; +} +.mdui-color-light-blue-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #03a9f4 !important; +} +.mdui-color-light-blue-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #039be5 !important; +} +.mdui-color-light-blue-700 { + color: #fff !important; + background-color: #0288d1 !important; +} +.mdui-color-light-blue-800 { + color: #fff !important; + background-color: #0277bd !important; +} +.mdui-color-light-blue-900 { + color: #fff !important; + background-color: #01579b !important; +} +.mdui-color-light-green { + color: rgba(0, 0, 0, .87) !important; + background-color: #8bc34a !important; +} +.mdui-color-light-green-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f1f8e9 !important; +} +.mdui-color-light-green-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #dcedc8 !important; +} +.mdui-color-light-green-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c5e1a5 !important; +} +.mdui-color-light-green-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #aed581 !important; +} +.mdui-color-light-green-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #9ccc65 !important; +} +.mdui-color-light-green-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #8bc34a !important; +} +.mdui-color-light-green-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #7cb342 !important; +} +.mdui-color-light-green-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #689f38 !important; +} +.mdui-color-light-green-800 { + color: #fff !important; + background-color: #558b2f !important; +} +.mdui-color-light-green-900 { + color: #fff !important; + background-color: #33691e !important; +} +.mdui-color-lime { + color: rgba(0, 0, 0, .87) !important; + background-color: #cddc39 !important; +} +.mdui-color-lime-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f9fbe7 !important; +} +.mdui-color-lime-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f0f4c3 !important; +} +.mdui-color-lime-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e6ee9c !important; +} +.mdui-color-lime-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #dce775 !important; +} +.mdui-color-lime-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #d4e157 !important; +} +.mdui-color-lime-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #cddc39 !important; +} +.mdui-color-lime-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c0ca33 !important; +} +.mdui-color-lime-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #afb42b !important; +} +.mdui-color-lime-800 { + color: rgba(0, 0, 0, .87) !important; + background-color: #9e9d24 !important; +} +.mdui-color-lime-900 { + color: #fff !important; + background-color: #827717 !important; +} +.mdui-color-orange { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff9800 !important; +} +.mdui-color-orange-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff3e0 !important; +} +.mdui-color-orange-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffe0b2 !important; +} +.mdui-color-orange-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffcc80 !important; +} +.mdui-color-orange-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffb74d !important; +} +.mdui-color-orange-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffa726 !important; +} +.mdui-color-orange-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff9800 !important; +} +.mdui-color-orange-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fb8c00 !important; +} +.mdui-color-orange-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f57c00 !important; +} +.mdui-color-orange-800 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ef6c00 !important; +} +.mdui-color-orange-900 { + color: #fff !important; + background-color: #e65100 !important; +} +.mdui-color-pink { + color: #fff !important; + background-color: #e91e63 !important; +} +.mdui-color-pink-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fce4ec !important; +} +.mdui-color-pink-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f8bbd0 !important; +} +.mdui-color-pink-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f48fb1 !important; +} +.mdui-color-pink-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f06292 !important; +} +.mdui-color-pink-400 { + color: #fff !important; + background-color: #ec407a !important; +} +.mdui-color-pink-500 { + color: #fff !important; + background-color: #e91e63 !important; +} +.mdui-color-pink-600 { + color: #fff !important; + background-color: #d81b60 !important; +} +.mdui-color-pink-700 { + color: #fff !important; + background-color: #c2185b !important; +} +.mdui-color-pink-800 { + color: #fff !important; + background-color: #ad1457 !important; +} +.mdui-color-pink-900 { + color: #fff !important; + background-color: #880e4f !important; +} +.mdui-color-purple { + color: #fff !important; + background-color: #9c27b0 !important; +} +.mdui-color-purple-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f3e5f5 !important; +} +.mdui-color-purple-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e1bee7 !important; +} +.mdui-color-purple-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ce93d8 !important; +} +.mdui-color-purple-300 { + color: #fff !important; + background-color: #ba68c8 !important; +} +.mdui-color-purple-400 { + color: #fff !important; + background-color: #ab47bc !important; +} +.mdui-color-purple-500 { + color: #fff !important; + background-color: #9c27b0 !important; +} +.mdui-color-purple-600 { + color: #fff !important; + background-color: #8e24aa !important; +} +.mdui-color-purple-700 { + color: #fff !important; + background-color: #7b1fa2 !important; +} +.mdui-color-purple-800 { + color: #fff !important; + background-color: #6a1b9a !important; +} +.mdui-color-purple-900 { + color: #fff !important; + background-color: #4a148c !important; +} +.mdui-color-red { + color: #fff !important; + background-color: #f44336 !important; +} +.mdui-color-red-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffebee !important; +} +.mdui-color-red-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffcdd2 !important; +} +.mdui-color-red-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ef9a9a !important; +} +.mdui-color-red-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e57373 !important; +} +.mdui-color-red-400 { + color: #fff !important; + background-color: #ef5350 !important; +} +.mdui-color-red-500 { + color: #fff !important; + background-color: #f44336 !important; +} +.mdui-color-red-600 { + color: #fff !important; + background-color: #e53935 !important; +} +.mdui-color-red-700 { + color: #fff !important; + background-color: #d32f2f !important; +} +.mdui-color-red-800 { + color: #fff !important; + background-color: #c62828 !important; +} +.mdui-color-red-900 { + color: #fff !important; + background-color: #b71c1c !important; +} +.mdui-color-teal { + color: #fff !important; + background-color: #009688 !important; +} +.mdui-color-teal-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #e0f2f1 !important; +} +.mdui-color-teal-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b2dfdb !important; +} +.mdui-color-teal-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #80cbc4 !important; +} +.mdui-color-teal-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #4db6ac !important; +} +.mdui-color-teal-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #26a69a !important; +} +.mdui-color-teal-500 { + color: #fff !important; + background-color: #009688 !important; +} +.mdui-color-teal-600 { + color: #fff !important; + background-color: #00897b !important; +} +.mdui-color-teal-700 { + color: #fff !important; + background-color: #00796b !important; +} +.mdui-color-teal-800 { + color: #fff !important; + background-color: #00695c !important; +} +.mdui-color-teal-900 { + color: #fff !important; + background-color: #004d40 !important; +} +.mdui-color-yellow { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffeb3b !important; +} +.mdui-color-yellow-50 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fffde7 !important; +} +.mdui-color-yellow-100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff9c4 !important; +} +.mdui-color-yellow-200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff59d !important; +} +.mdui-color-yellow-300 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff176 !important; +} +.mdui-color-yellow-400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffee58 !important; +} +.mdui-color-yellow-500 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffeb3b !important; +} +.mdui-color-yellow-600 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fdd835 !important; +} +.mdui-color-yellow-700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #fbc02d !important; +} +.mdui-color-yellow-800 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f9a825 !important; +} +.mdui-color-yellow-900 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f57f17 !important; +} +/** + * .mdui-color-[color]-accent + * .mdui-color-[color]-[degree] + */ +.mdui-color-amber-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd740 !important; +} +.mdui-color-amber-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffe57f !important; +} +.mdui-color-amber-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd740 !important; +} +.mdui-color-amber-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffc400 !important; +} +.mdui-color-amber-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffab00 !important; +} +.mdui-color-blue-accent { + color: #fff !important; + background-color: #448aff !important; +} +.mdui-color-blue-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #82b1ff !important; +} +.mdui-color-blue-a200 { + color: #fff !important; + background-color: #448aff !important; +} +.mdui-color-blue-a400 { + color: #fff !important; + background-color: #2979ff !important; +} +.mdui-color-blue-a700 { + color: #fff !important; + background-color: #2962ff !important; +} +.mdui-color-cyan-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #18ffff !important; +} +.mdui-color-cyan-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #84ffff !important; +} +.mdui-color-cyan-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #18ffff !important; +} +.mdui-color-cyan-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00e5ff !important; +} +.mdui-color-cyan-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00b8d4 !important; +} +.mdui-color-deep-orange-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff6e40 !important; +} +.mdui-color-deep-orange-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff9e80 !important; +} +.mdui-color-deep-orange-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff6e40 !important; +} +.mdui-color-deep-orange-a400 { + color: #fff !important; + background-color: #ff3d00 !important; +} +.mdui-color-deep-orange-a700 { + color: #fff !important; + background-color: #dd2c00 !important; +} +.mdui-color-deep-purple-accent { + color: #fff !important; + background-color: #7c4dff !important; +} +.mdui-color-deep-purple-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b388ff !important; +} +.mdui-color-deep-purple-a200 { + color: #fff !important; + background-color: #7c4dff !important; +} +.mdui-color-deep-purple-a400 { + color: #fff !important; + background-color: #651fff !important; +} +.mdui-color-deep-purple-a700 { + color: #fff !important; + background-color: #6200ea !important; +} +.mdui-color-green-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #69f0ae !important; +} +.mdui-color-green-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b9f6ca !important; +} +.mdui-color-green-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #69f0ae !important; +} +.mdui-color-green-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00e676 !important; +} +.mdui-color-green-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00c853 !important; +} +.mdui-color-indigo-accent { + color: #fff !important; + background-color: #536dfe !important; +} +.mdui-color-indigo-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #8c9eff !important; +} +.mdui-color-indigo-a200 { + color: #fff !important; + background-color: #536dfe !important; +} +.mdui-color-indigo-a400 { + color: #fff !important; + background-color: #3d5afe !important; +} +.mdui-color-indigo-a700 { + color: #fff !important; + background-color: #304ffe !important; +} +.mdui-color-light-blue-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #40c4ff !important; +} +.mdui-color-light-blue-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #80d8ff !important; +} +.mdui-color-light-blue-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #40c4ff !important; +} +.mdui-color-light-blue-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00b0ff !important; +} +.mdui-color-light-blue-a700 { + color: #fff !important; + background-color: #0091ea !important; +} +.mdui-color-light-green-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #b2ff59 !important; +} +.mdui-color-light-green-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ccff90 !important; +} +.mdui-color-light-green-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #b2ff59 !important; +} +.mdui-color-light-green-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #76ff03 !important; +} +.mdui-color-light-green-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #64dd17 !important; +} +.mdui-color-lime-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #eeff41 !important; +} +.mdui-color-lime-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #f4ff81 !important; +} +.mdui-color-lime-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #eeff41 !important; +} +.mdui-color-lime-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #c6ff00 !important; +} +.mdui-color-lime-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #aeea00 !important; +} +.mdui-color-orange-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffab40 !important; +} +.mdui-color-orange-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd180 !important; +} +.mdui-color-orange-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffab40 !important; +} +.mdui-color-orange-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff9100 !important; +} +.mdui-color-orange-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff6d00 !important; +} +.mdui-color-pink-accent { + color: #fff !important; + background-color: #ff4081 !important; +} +.mdui-color-pink-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff80ab !important; +} +.mdui-color-pink-a200 { + color: #fff !important; + background-color: #ff4081 !important; +} +.mdui-color-pink-a400 { + color: #fff !important; + background-color: #f50057 !important; +} +.mdui-color-pink-a700 { + color: #fff !important; + background-color: #c51162 !important; +} +.mdui-color-purple-accent { + color: #fff !important; + background-color: #e040fb !important; +} +.mdui-color-purple-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ea80fc !important; +} +.mdui-color-purple-a200 { + color: #fff !important; + background-color: #e040fb !important; +} +.mdui-color-purple-a400 { + color: #fff !important; + background-color: #d500f9 !important; +} +.mdui-color-purple-a700 { + color: #fff !important; + background-color: #a0f !important; +} +.mdui-color-red-accent { + color: #fff !important; + background-color: #ff5252 !important; +} +.mdui-color-red-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff8a80 !important; +} +.mdui-color-red-a200 { + color: #fff !important; + background-color: #ff5252 !important; +} +.mdui-color-red-a400 { + color: #fff !important; + background-color: #ff1744 !important; +} +.mdui-color-red-a700 { + color: #fff !important; + background-color: #d50000 !important; +} +.mdui-color-teal-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #64ffda !important; +} +.mdui-color-teal-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #a7ffeb !important; +} +.mdui-color-teal-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #64ffda !important; +} +.mdui-color-teal-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #1de9b6 !important; +} +.mdui-color-teal-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #00bfa5 !important; +} +.mdui-color-yellow-accent { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff0 !important; +} +.mdui-color-yellow-a100 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffff8d !important; +} +.mdui-color-yellow-a200 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ff0 !important; +} +.mdui-color-yellow-a400 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffea00 !important; +} +.mdui-color-yellow-a700 { + color: rgba(0, 0, 0, .87) !important; + background-color: #ffd600 !important; +} +/** + * .mdui-color-black + * .mdui-color-white + * .mdui-color-transparent + */ +.mdui-color-black { + color: #fff !important; + background-color: #000 !important; +} +.mdui-color-white { + color: rgba(0, 0, 0, .87) !important; + background-color: #fff !important; +} +.mdui-color-transparent { + background-color: transparent !important; +} +/** + * .mdui-theme-primary-[color] .mdui-text-color-theme + * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree] + */ +.mdui-theme-primary-amber .mdui-text-color-theme { + color: #ffc107 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-50 { + color: #fff8e1 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-100 { + color: #ffecb3 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-200 { + color: #ffe082 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-300 { + color: #ffd54f !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-400 { + color: #ffca28 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-500 { + color: #ffc107 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-600 { + color: #ffb300 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-700 { + color: #ffa000 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-800 { + color: #ff8f00 !important; +} +.mdui-theme-primary-amber .mdui-text-color-theme-900 { + color: #ff6f00 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme { + color: #2196f3 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-50 { + color: #e3f2fd !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-100 { + color: #bbdefb !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-200 { + color: #90caf9 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-300 { + color: #64b5f6 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-400 { + color: #42a5f5 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-500 { + color: #2196f3 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-600 { + color: #1e88e5 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-700 { + color: #1976d2 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-800 { + color: #1565c0 !important; +} +.mdui-theme-primary-blue .mdui-text-color-theme-900 { + color: #0d47a1 !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme { + color: #607d8b !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-50 { + color: #eceff1 !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-100 { + color: #cfd8dc !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-200 { + color: #b0bec5 !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-300 { + color: #90a4ae !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-400 { + color: #78909c !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-500 { + color: #607d8b !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-600 { + color: #546e7a !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-700 { + color: #455a64 !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-800 { + color: #37474f !important; +} +.mdui-theme-primary-blue-grey .mdui-text-color-theme-900 { + color: #263238 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme { + color: #795548 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-50 { + color: #efebe9 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-100 { + color: #d7ccc8 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-200 { + color: #bcaaa4 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-300 { + color: #a1887f !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-400 { + color: #8d6e63 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-500 { + color: #795548 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-600 { + color: #6d4c41 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-700 { + color: #5d4037 !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-800 { + color: #4e342e !important; +} +.mdui-theme-primary-brown .mdui-text-color-theme-900 { + color: #3e2723 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme { + color: #00bcd4 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-50 { + color: #e0f7fa !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-100 { + color: #b2ebf2 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-200 { + color: #80deea !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-300 { + color: #4dd0e1 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-400 { + color: #26c6da !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-500 { + color: #00bcd4 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-600 { + color: #00acc1 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-700 { + color: #0097a7 !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-800 { + color: #00838f !important; +} +.mdui-theme-primary-cyan .mdui-text-color-theme-900 { + color: #006064 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme { + color: #ff5722 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-50 { + color: #fbe9e7 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-100 { + color: #ffccbc !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-200 { + color: #ffab91 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-300 { + color: #ff8a65 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-400 { + color: #ff7043 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-500 { + color: #ff5722 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-600 { + color: #f4511e !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-700 { + color: #e64a19 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-800 { + color: #d84315 !important; +} +.mdui-theme-primary-deep-orange .mdui-text-color-theme-900 { + color: #bf360c !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme { + color: #673ab7 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-50 { + color: #ede7f6 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-100 { + color: #d1c4e9 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-200 { + color: #b39ddb !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-300 { + color: #9575cd !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-400 { + color: #7e57c2 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-500 { + color: #673ab7 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-600 { + color: #5e35b1 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-700 { + color: #512da8 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-800 { + color: #4527a0 !important; +} +.mdui-theme-primary-deep-purple .mdui-text-color-theme-900 { + color: #311b92 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme { + color: #4caf50 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-50 { + color: #e8f5e9 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-100 { + color: #c8e6c9 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-200 { + color: #a5d6a7 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-300 { + color: #81c784 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-400 { + color: #66bb6a !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-500 { + color: #4caf50 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-600 { + color: #43a047 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-700 { + color: #388e3c !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-800 { + color: #2e7d32 !important; +} +.mdui-theme-primary-green .mdui-text-color-theme-900 { + color: #1b5e20 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme { + color: #9e9e9e !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-50 { + color: #fafafa !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-100 { + color: #f5f5f5 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-200 { + color: #eee !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-300 { + color: #e0e0e0 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-400 { + color: #bdbdbd !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-500 { + color: #9e9e9e !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-600 { + color: #757575 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-700 { + color: #616161 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-800 { + color: #424242 !important; +} +.mdui-theme-primary-grey .mdui-text-color-theme-900 { + color: #212121 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme { + color: #3f51b5 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-50 { + color: #e8eaf6 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-100 { + color: #c5cae9 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-200 { + color: #9fa8da !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-300 { + color: #7986cb !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-400 { + color: #5c6bc0 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-500 { + color: #3f51b5 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-600 { + color: #3949ab !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-700 { + color: #303f9f !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-800 { + color: #283593 !important; +} +.mdui-theme-primary-indigo .mdui-text-color-theme-900 { + color: #1a237e !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme { + color: #03a9f4 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-50 { + color: #e1f5fe !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-100 { + color: #b3e5fc !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-200 { + color: #81d4fa !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-300 { + color: #4fc3f7 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-400 { + color: #29b6f6 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-500 { + color: #03a9f4 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-600 { + color: #039be5 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-700 { + color: #0288d1 !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-800 { + color: #0277bd !important; +} +.mdui-theme-primary-light-blue .mdui-text-color-theme-900 { + color: #01579b !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme { + color: #8bc34a !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-50 { + color: #f1f8e9 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-100 { + color: #dcedc8 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-200 { + color: #c5e1a5 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-300 { + color: #aed581 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-400 { + color: #9ccc65 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-500 { + color: #8bc34a !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-600 { + color: #7cb342 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-700 { + color: #689f38 !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-800 { + color: #558b2f !important; +} +.mdui-theme-primary-light-green .mdui-text-color-theme-900 { + color: #33691e !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme { + color: #cddc39 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-50 { + color: #f9fbe7 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-100 { + color: #f0f4c3 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-200 { + color: #e6ee9c !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-300 { + color: #dce775 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-400 { + color: #d4e157 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-500 { + color: #cddc39 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-600 { + color: #c0ca33 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-700 { + color: #afb42b !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-800 { + color: #9e9d24 !important; +} +.mdui-theme-primary-lime .mdui-text-color-theme-900 { + color: #827717 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme { + color: #ff9800 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-50 { + color: #fff3e0 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-100 { + color: #ffe0b2 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-200 { + color: #ffcc80 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-300 { + color: #ffb74d !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-400 { + color: #ffa726 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-500 { + color: #ff9800 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-600 { + color: #fb8c00 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-700 { + color: #f57c00 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-800 { + color: #ef6c00 !important; +} +.mdui-theme-primary-orange .mdui-text-color-theme-900 { + color: #e65100 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme { + color: #e91e63 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-50 { + color: #fce4ec !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-100 { + color: #f8bbd0 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-200 { + color: #f48fb1 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-300 { + color: #f06292 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-400 { + color: #ec407a !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-500 { + color: #e91e63 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-600 { + color: #d81b60 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-700 { + color: #c2185b !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-800 { + color: #ad1457 !important; +} +.mdui-theme-primary-pink .mdui-text-color-theme-900 { + color: #880e4f !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme { + color: #9c27b0 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-50 { + color: #f3e5f5 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-100 { + color: #e1bee7 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-200 { + color: #ce93d8 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-300 { + color: #ba68c8 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-400 { + color: #ab47bc !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-500 { + color: #9c27b0 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-600 { + color: #8e24aa !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-700 { + color: #7b1fa2 !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-800 { + color: #6a1b9a !important; +} +.mdui-theme-primary-purple .mdui-text-color-theme-900 { + color: #4a148c !important; +} +.mdui-theme-primary-red .mdui-text-color-theme { + color: #f44336 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-50 { + color: #ffebee !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-100 { + color: #ffcdd2 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-200 { + color: #ef9a9a !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-300 { + color: #e57373 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-400 { + color: #ef5350 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-500 { + color: #f44336 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-600 { + color: #e53935 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-700 { + color: #d32f2f !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-800 { + color: #c62828 !important; +} +.mdui-theme-primary-red .mdui-text-color-theme-900 { + color: #b71c1c !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme { + color: #009688 !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-50 { + color: #e0f2f1 !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-100 { + color: #b2dfdb !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-200 { + color: #80cbc4 !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-300 { + color: #4db6ac !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-400 { + color: #26a69a !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-500 { + color: #009688 !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-600 { + color: #00897b !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-700 { + color: #00796b !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-800 { + color: #00695c !important; +} +.mdui-theme-primary-teal .mdui-text-color-theme-900 { + color: #004d40 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme { + color: #ffeb3b !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-50 { + color: #fffde7 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-100 { + color: #fff9c4 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-200 { + color: #fff59d !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-300 { + color: #fff176 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-400 { + color: #ffee58 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-500 { + color: #ffeb3b !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-600 { + color: #fdd835 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-700 { + color: #fbc02d !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-800 { + color: #f9a825 !important; +} +.mdui-theme-primary-yellow .mdui-text-color-theme-900 { + color: #f57f17 !important; +} +/** + * .mdui-theme-accent-[color] .mdui-text-color-theme-accent + * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree] + */ +.mdui-theme-accent-amber .mdui-text-color-theme-accent { + color: #ffd740 !important; +} +.mdui-theme-accent-amber .mdui-text-color-theme-a100 { + color: #ffe57f !important; +} +.mdui-theme-accent-amber .mdui-text-color-theme-a200 { + color: #ffd740 !important; +} +.mdui-theme-accent-amber .mdui-text-color-theme-a400 { + color: #ffc400 !important; +} +.mdui-theme-accent-amber .mdui-text-color-theme-a700 { + color: #ffab00 !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-accent { + color: #448aff !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-a100 { + color: #82b1ff !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-a200 { + color: #448aff !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-a400 { + color: #2979ff !important; +} +.mdui-theme-accent-blue .mdui-text-color-theme-a700 { + color: #2962ff !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-accent { + color: #18ffff !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-a100 { + color: #84ffff !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-a200 { + color: #18ffff !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-a400 { + color: #00e5ff !important; +} +.mdui-theme-accent-cyan .mdui-text-color-theme-a700 { + color: #00b8d4 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent { + color: #ff6e40 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100 { + color: #ff9e80 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200 { + color: #ff6e40 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400 { + color: #ff3d00 !important; +} +.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700 { + color: #dd2c00 !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent { + color: #7c4dff !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100 { + color: #b388ff !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200 { + color: #7c4dff !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400 { + color: #651fff !important; +} +.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700 { + color: #6200ea !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-accent { + color: #69f0ae !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-a100 { + color: #b9f6ca !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-a200 { + color: #69f0ae !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-a400 { + color: #00e676 !important; +} +.mdui-theme-accent-green .mdui-text-color-theme-a700 { + color: #00c853 !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-accent { + color: #536dfe !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-a100 { + color: #8c9eff !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-a200 { + color: #536dfe !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-a400 { + color: #3d5afe !important; +} +.mdui-theme-accent-indigo .mdui-text-color-theme-a700 { + color: #304ffe !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-accent { + color: #40c4ff !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-a100 { + color: #80d8ff !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-a200 { + color: #40c4ff !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-a400 { + color: #00b0ff !important; +} +.mdui-theme-accent-light-blue .mdui-text-color-theme-a700 { + color: #0091ea !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-accent { + color: #b2ff59 !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-a100 { + color: #ccff90 !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-a200 { + color: #b2ff59 !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-a400 { + color: #76ff03 !important; +} +.mdui-theme-accent-light-green .mdui-text-color-theme-a700 { + color: #64dd17 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-accent { + color: #eeff41 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-a100 { + color: #f4ff81 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-a200 { + color: #eeff41 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-a400 { + color: #c6ff00 !important; +} +.mdui-theme-accent-lime .mdui-text-color-theme-a700 { + color: #aeea00 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-accent { + color: #ffab40 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-a100 { + color: #ffd180 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-a200 { + color: #ffab40 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-a400 { + color: #ff9100 !important; +} +.mdui-theme-accent-orange .mdui-text-color-theme-a700 { + color: #ff6d00 !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-accent { + color: #ff4081 !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-a100 { + color: #ff80ab !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-a200 { + color: #ff4081 !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-a400 { + color: #f50057 !important; +} +.mdui-theme-accent-pink .mdui-text-color-theme-a700 { + color: #c51162 !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-accent { + color: #e040fb !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-a100 { + color: #ea80fc !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-a200 { + color: #e040fb !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-a400 { + color: #d500f9 !important; +} +.mdui-theme-accent-purple .mdui-text-color-theme-a700 { + color: #a0f !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-accent { + color: #ff5252 !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-a100 { + color: #ff8a80 !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-a200 { + color: #ff5252 !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-a400 { + color: #ff1744 !important; +} +.mdui-theme-accent-red .mdui-text-color-theme-a700 { + color: #d50000 !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-accent { + color: #64ffda !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-a100 { + color: #a7ffeb !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-a200 { + color: #64ffda !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-a400 { + color: #1de9b6 !important; +} +.mdui-theme-accent-teal .mdui-text-color-theme-a700 { + color: #00bfa5 !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-accent { + color: #ff0 !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-a100 { + color: #ffff8d !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-a200 { + color: #ff0 !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-a400 { + color: #ffea00 !important; +} +.mdui-theme-accent-yellow .mdui-text-color-theme-a700 { + color: #ffd600 !important; +} +/** + * .mdui-text-color-[color] + * .mdui-text-color-[color]-[degree] + */ +.mdui-text-color-amber { + color: #ffc107 !important; +} +.mdui-text-color-amber-50 { + color: #fff8e1 !important; +} +.mdui-text-color-amber-100 { + color: #ffecb3 !important; +} +.mdui-text-color-amber-200 { + color: #ffe082 !important; +} +.mdui-text-color-amber-300 { + color: #ffd54f !important; +} +.mdui-text-color-amber-400 { + color: #ffca28 !important; +} +.mdui-text-color-amber-500 { + color: #ffc107 !important; +} +.mdui-text-color-amber-600 { + color: #ffb300 !important; +} +.mdui-text-color-amber-700 { + color: #ffa000 !important; +} +.mdui-text-color-amber-800 { + color: #ff8f00 !important; +} +.mdui-text-color-amber-900 { + color: #ff6f00 !important; +} +.mdui-text-color-blue { + color: #2196f3 !important; +} +.mdui-text-color-blue-50 { + color: #e3f2fd !important; +} +.mdui-text-color-blue-100 { + color: #bbdefb !important; +} +.mdui-text-color-blue-200 { + color: #90caf9 !important; +} +.mdui-text-color-blue-300 { + color: #64b5f6 !important; +} +.mdui-text-color-blue-400 { + color: #42a5f5 !important; +} +.mdui-text-color-blue-500 { + color: #2196f3 !important; +} +.mdui-text-color-blue-600 { + color: #1e88e5 !important; +} +.mdui-text-color-blue-700 { + color: #1976d2 !important; +} +.mdui-text-color-blue-800 { + color: #1565c0 !important; +} +.mdui-text-color-blue-900 { + color: #0d47a1 !important; +} +.mdui-text-color-blue-grey { + color: #607d8b !important; +} +.mdui-text-color-blue-grey-50 { + color: #eceff1 !important; +} +.mdui-text-color-blue-grey-100 { + color: #cfd8dc !important; +} +.mdui-text-color-blue-grey-200 { + color: #b0bec5 !important; +} +.mdui-text-color-blue-grey-300 { + color: #90a4ae !important; +} +.mdui-text-color-blue-grey-400 { + color: #78909c !important; +} +.mdui-text-color-blue-grey-500 { + color: #607d8b !important; +} +.mdui-text-color-blue-grey-600 { + color: #546e7a !important; +} +.mdui-text-color-blue-grey-700 { + color: #455a64 !important; +} +.mdui-text-color-blue-grey-800 { + color: #37474f !important; +} +.mdui-text-color-blue-grey-900 { + color: #263238 !important; +} +.mdui-text-color-brown { + color: #795548 !important; +} +.mdui-text-color-brown-50 { + color: #efebe9 !important; +} +.mdui-text-color-brown-100 { + color: #d7ccc8 !important; +} +.mdui-text-color-brown-200 { + color: #bcaaa4 !important; +} +.mdui-text-color-brown-300 { + color: #a1887f !important; +} +.mdui-text-color-brown-400 { + color: #8d6e63 !important; +} +.mdui-text-color-brown-500 { + color: #795548 !important; +} +.mdui-text-color-brown-600 { + color: #6d4c41 !important; +} +.mdui-text-color-brown-700 { + color: #5d4037 !important; +} +.mdui-text-color-brown-800 { + color: #4e342e !important; +} +.mdui-text-color-brown-900 { + color: #3e2723 !important; +} +.mdui-text-color-cyan { + color: #00bcd4 !important; +} +.mdui-text-color-cyan-50 { + color: #e0f7fa !important; +} +.mdui-text-color-cyan-100 { + color: #b2ebf2 !important; +} +.mdui-text-color-cyan-200 { + color: #80deea !important; +} +.mdui-text-color-cyan-300 { + color: #4dd0e1 !important; +} +.mdui-text-color-cyan-400 { + color: #26c6da !important; +} +.mdui-text-color-cyan-500 { + color: #00bcd4 !important; +} +.mdui-text-color-cyan-600 { + color: #00acc1 !important; +} +.mdui-text-color-cyan-700 { + color: #0097a7 !important; +} +.mdui-text-color-cyan-800 { + color: #00838f !important; +} +.mdui-text-color-cyan-900 { + color: #006064 !important; +} +.mdui-text-color-deep-orange { + color: #ff5722 !important; +} +.mdui-text-color-deep-orange-50 { + color: #fbe9e7 !important; +} +.mdui-text-color-deep-orange-100 { + color: #ffccbc !important; +} +.mdui-text-color-deep-orange-200 { + color: #ffab91 !important; +} +.mdui-text-color-deep-orange-300 { + color: #ff8a65 !important; +} +.mdui-text-color-deep-orange-400 { + color: #ff7043 !important; +} +.mdui-text-color-deep-orange-500 { + color: #ff5722 !important; +} +.mdui-text-color-deep-orange-600 { + color: #f4511e !important; +} +.mdui-text-color-deep-orange-700 { + color: #e64a19 !important; +} +.mdui-text-color-deep-orange-800 { + color: #d84315 !important; +} +.mdui-text-color-deep-orange-900 { + color: #bf360c !important; +} +.mdui-text-color-deep-purple { + color: #673ab7 !important; +} +.mdui-text-color-deep-purple-50 { + color: #ede7f6 !important; +} +.mdui-text-color-deep-purple-100 { + color: #d1c4e9 !important; +} +.mdui-text-color-deep-purple-200 { + color: #b39ddb !important; +} +.mdui-text-color-deep-purple-300 { + color: #9575cd !important; +} +.mdui-text-color-deep-purple-400 { + color: #7e57c2 !important; +} +.mdui-text-color-deep-purple-500 { + color: #673ab7 !important; +} +.mdui-text-color-deep-purple-600 { + color: #5e35b1 !important; +} +.mdui-text-color-deep-purple-700 { + color: #512da8 !important; +} +.mdui-text-color-deep-purple-800 { + color: #4527a0 !important; +} +.mdui-text-color-deep-purple-900 { + color: #311b92 !important; +} +.mdui-text-color-green { + color: #4caf50 !important; +} +.mdui-text-color-green-50 { + color: #e8f5e9 !important; +} +.mdui-text-color-green-100 { + color: #c8e6c9 !important; +} +.mdui-text-color-green-200 { + color: #a5d6a7 !important; +} +.mdui-text-color-green-300 { + color: #81c784 !important; +} +.mdui-text-color-green-400 { + color: #66bb6a !important; +} +.mdui-text-color-green-500 { + color: #4caf50 !important; +} +.mdui-text-color-green-600 { + color: #43a047 !important; +} +.mdui-text-color-green-700 { + color: #388e3c !important; +} +.mdui-text-color-green-800 { + color: #2e7d32 !important; +} +.mdui-text-color-green-900 { + color: #1b5e20 !important; +} +.mdui-text-color-grey { + color: #9e9e9e !important; +} +.mdui-text-color-grey-50 { + color: #fafafa !important; +} +.mdui-text-color-grey-100 { + color: #f5f5f5 !important; +} +.mdui-text-color-grey-200 { + color: #eee !important; +} +.mdui-text-color-grey-300 { + color: #e0e0e0 !important; +} +.mdui-text-color-grey-400 { + color: #bdbdbd !important; +} +.mdui-text-color-grey-500 { + color: #9e9e9e !important; +} +.mdui-text-color-grey-600 { + color: #757575 !important; +} +.mdui-text-color-grey-700 { + color: #616161 !important; +} +.mdui-text-color-grey-800 { + color: #424242 !important; +} +.mdui-text-color-grey-900 { + color: #212121 !important; +} +.mdui-text-color-indigo { + color: #3f51b5 !important; +} +.mdui-text-color-indigo-50 { + color: #e8eaf6 !important; +} +.mdui-text-color-indigo-100 { + color: #c5cae9 !important; +} +.mdui-text-color-indigo-200 { + color: #9fa8da !important; +} +.mdui-text-color-indigo-300 { + color: #7986cb !important; +} +.mdui-text-color-indigo-400 { + color: #5c6bc0 !important; +} +.mdui-text-color-indigo-500 { + color: #3f51b5 !important; +} +.mdui-text-color-indigo-600 { + color: #3949ab !important; +} +.mdui-text-color-indigo-700 { + color: #303f9f !important; +} +.mdui-text-color-indigo-800 { + color: #283593 !important; +} +.mdui-text-color-indigo-900 { + color: #1a237e !important; +} +.mdui-text-color-light-blue { + color: #03a9f4 !important; +} +.mdui-text-color-light-blue-50 { + color: #e1f5fe !important; +} +.mdui-text-color-light-blue-100 { + color: #b3e5fc !important; +} +.mdui-text-color-light-blue-200 { + color: #81d4fa !important; +} +.mdui-text-color-light-blue-300 { + color: #4fc3f7 !important; +} +.mdui-text-color-light-blue-400 { + color: #29b6f6 !important; +} +.mdui-text-color-light-blue-500 { + color: #03a9f4 !important; +} +.mdui-text-color-light-blue-600 { + color: #039be5 !important; +} +.mdui-text-color-light-blue-700 { + color: #0288d1 !important; +} +.mdui-text-color-light-blue-800 { + color: #0277bd !important; +} +.mdui-text-color-light-blue-900 { + color: #01579b !important; +} +.mdui-text-color-light-green { + color: #8bc34a !important; +} +.mdui-text-color-light-green-50 { + color: #f1f8e9 !important; +} +.mdui-text-color-light-green-100 { + color: #dcedc8 !important; +} +.mdui-text-color-light-green-200 { + color: #c5e1a5 !important; +} +.mdui-text-color-light-green-300 { + color: #aed581 !important; +} +.mdui-text-color-light-green-400 { + color: #9ccc65 !important; +} +.mdui-text-color-light-green-500 { + color: #8bc34a !important; +} +.mdui-text-color-light-green-600 { + color: #7cb342 !important; +} +.mdui-text-color-light-green-700 { + color: #689f38 !important; +} +.mdui-text-color-light-green-800 { + color: #558b2f !important; +} +.mdui-text-color-light-green-900 { + color: #33691e !important; +} +.mdui-text-color-lime { + color: #cddc39 !important; +} +.mdui-text-color-lime-50 { + color: #f9fbe7 !important; +} +.mdui-text-color-lime-100 { + color: #f0f4c3 !important; +} +.mdui-text-color-lime-200 { + color: #e6ee9c !important; +} +.mdui-text-color-lime-300 { + color: #dce775 !important; +} +.mdui-text-color-lime-400 { + color: #d4e157 !important; +} +.mdui-text-color-lime-500 { + color: #cddc39 !important; +} +.mdui-text-color-lime-600 { + color: #c0ca33 !important; +} +.mdui-text-color-lime-700 { + color: #afb42b !important; +} +.mdui-text-color-lime-800 { + color: #9e9d24 !important; +} +.mdui-text-color-lime-900 { + color: #827717 !important; +} +.mdui-text-color-orange { + color: #ff9800 !important; +} +.mdui-text-color-orange-50 { + color: #fff3e0 !important; +} +.mdui-text-color-orange-100 { + color: #ffe0b2 !important; +} +.mdui-text-color-orange-200 { + color: #ffcc80 !important; +} +.mdui-text-color-orange-300 { + color: #ffb74d !important; +} +.mdui-text-color-orange-400 { + color: #ffa726 !important; +} +.mdui-text-color-orange-500 { + color: #ff9800 !important; +} +.mdui-text-color-orange-600 { + color: #fb8c00 !important; +} +.mdui-text-color-orange-700 { + color: #f57c00 !important; +} +.mdui-text-color-orange-800 { + color: #ef6c00 !important; +} +.mdui-text-color-orange-900 { + color: #e65100 !important; +} +.mdui-text-color-pink { + color: #e91e63 !important; +} +.mdui-text-color-pink-50 { + color: #fce4ec !important; +} +.mdui-text-color-pink-100 { + color: #f8bbd0 !important; +} +.mdui-text-color-pink-200 { + color: #f48fb1 !important; +} +.mdui-text-color-pink-300 { + color: #f06292 !important; +} +.mdui-text-color-pink-400 { + color: #ec407a !important; +} +.mdui-text-color-pink-500 { + color: #e91e63 !important; +} +.mdui-text-color-pink-600 { + color: #d81b60 !important; +} +.mdui-text-color-pink-700 { + color: #c2185b !important; +} +.mdui-text-color-pink-800 { + color: #ad1457 !important; +} +.mdui-text-color-pink-900 { + color: #880e4f !important; +} +.mdui-text-color-purple { + color: #9c27b0 !important; +} +.mdui-text-color-purple-50 { + color: #f3e5f5 !important; +} +.mdui-text-color-purple-100 { + color: #e1bee7 !important; +} +.mdui-text-color-purple-200 { + color: #ce93d8 !important; +} +.mdui-text-color-purple-300 { + color: #ba68c8 !important; +} +.mdui-text-color-purple-400 { + color: #ab47bc !important; +} +.mdui-text-color-purple-500 { + color: #9c27b0 !important; +} +.mdui-text-color-purple-600 { + color: #8e24aa !important; +} +.mdui-text-color-purple-700 { + color: #7b1fa2 !important; +} +.mdui-text-color-purple-800 { + color: #6a1b9a !important; +} +.mdui-text-color-purple-900 { + color: #4a148c !important; +} +.mdui-text-color-red { + color: #f44336 !important; +} +.mdui-text-color-red-50 { + color: #ffebee !important; +} +.mdui-text-color-red-100 { + color: #ffcdd2 !important; +} +.mdui-text-color-red-200 { + color: #ef9a9a !important; +} +.mdui-text-color-red-300 { + color: #e57373 !important; +} +.mdui-text-color-red-400 { + color: #ef5350 !important; +} +.mdui-text-color-red-500 { + color: #f44336 !important; +} +.mdui-text-color-red-600 { + color: #e53935 !important; +} +.mdui-text-color-red-700 { + color: #d32f2f !important; +} +.mdui-text-color-red-800 { + color: #c62828 !important; +} +.mdui-text-color-red-900 { + color: #b71c1c !important; +} +.mdui-text-color-teal { + color: #009688 !important; +} +.mdui-text-color-teal-50 { + color: #e0f2f1 !important; +} +.mdui-text-color-teal-100 { + color: #b2dfdb !important; +} +.mdui-text-color-teal-200 { + color: #80cbc4 !important; +} +.mdui-text-color-teal-300 { + color: #4db6ac !important; +} +.mdui-text-color-teal-400 { + color: #26a69a !important; +} +.mdui-text-color-teal-500 { + color: #009688 !important; +} +.mdui-text-color-teal-600 { + color: #00897b !important; +} +.mdui-text-color-teal-700 { + color: #00796b !important; +} +.mdui-text-color-teal-800 { + color: #00695c !important; +} +.mdui-text-color-teal-900 { + color: #004d40 !important; +} +.mdui-text-color-yellow { + color: #ffeb3b !important; +} +.mdui-text-color-yellow-50 { + color: #fffde7 !important; +} +.mdui-text-color-yellow-100 { + color: #fff9c4 !important; +} +.mdui-text-color-yellow-200 { + color: #fff59d !important; +} +.mdui-text-color-yellow-300 { + color: #fff176 !important; +} +.mdui-text-color-yellow-400 { + color: #ffee58 !important; +} +.mdui-text-color-yellow-500 { + color: #ffeb3b !important; +} +.mdui-text-color-yellow-600 { + color: #fdd835 !important; +} +.mdui-text-color-yellow-700 { + color: #fbc02d !important; +} +.mdui-text-color-yellow-800 { + color: #f9a825 !important; +} +.mdui-text-color-yellow-900 { + color: #f57f17 !important; +} +/** + * .mdui-text-color-[color]-accent + * .mdui-text-color-[color]-[degree] + */ +.mdui-text-color-amber-accent { + color: #ffd740 !important; +} +.mdui-text-color-amber-a100 { + color: #ffe57f !important; +} +.mdui-text-color-amber-a200 { + color: #ffd740 !important; +} +.mdui-text-color-amber-a400 { + color: #ffc400 !important; +} +.mdui-text-color-amber-a700 { + color: #ffab00 !important; +} +.mdui-text-color-blue-accent { + color: #448aff !important; +} +.mdui-text-color-blue-a100 { + color: #82b1ff !important; +} +.mdui-text-color-blue-a200 { + color: #448aff !important; +} +.mdui-text-color-blue-a400 { + color: #2979ff !important; +} +.mdui-text-color-blue-a700 { + color: #2962ff !important; +} +.mdui-text-color-cyan-accent { + color: #18ffff !important; +} +.mdui-text-color-cyan-a100 { + color: #84ffff !important; +} +.mdui-text-color-cyan-a200 { + color: #18ffff !important; +} +.mdui-text-color-cyan-a400 { + color: #00e5ff !important; +} +.mdui-text-color-cyan-a700 { + color: #00b8d4 !important; +} +.mdui-text-color-deep-orange-accent { + color: #ff6e40 !important; +} +.mdui-text-color-deep-orange-a100 { + color: #ff9e80 !important; +} +.mdui-text-color-deep-orange-a200 { + color: #ff6e40 !important; +} +.mdui-text-color-deep-orange-a400 { + color: #ff3d00 !important; +} +.mdui-text-color-deep-orange-a700 { + color: #dd2c00 !important; +} +.mdui-text-color-deep-purple-accent { + color: #7c4dff !important; +} +.mdui-text-color-deep-purple-a100 { + color: #b388ff !important; +} +.mdui-text-color-deep-purple-a200 { + color: #7c4dff !important; +} +.mdui-text-color-deep-purple-a400 { + color: #651fff !important; +} +.mdui-text-color-deep-purple-a700 { + color: #6200ea !important; +} +.mdui-text-color-green-accent { + color: #69f0ae !important; +} +.mdui-text-color-green-a100 { + color: #b9f6ca !important; +} +.mdui-text-color-green-a200 { + color: #69f0ae !important; +} +.mdui-text-color-green-a400 { + color: #00e676 !important; +} +.mdui-text-color-green-a700 { + color: #00c853 !important; +} +.mdui-text-color-indigo-accent { + color: #536dfe !important; +} +.mdui-text-color-indigo-a100 { + color: #8c9eff !important; +} +.mdui-text-color-indigo-a200 { + color: #536dfe !important; +} +.mdui-text-color-indigo-a400 { + color: #3d5afe !important; +} +.mdui-text-color-indigo-a700 { + color: #304ffe !important; +} +.mdui-text-color-light-blue-accent { + color: #40c4ff !important; +} +.mdui-text-color-light-blue-a100 { + color: #80d8ff !important; +} +.mdui-text-color-light-blue-a200 { + color: #40c4ff !important; +} +.mdui-text-color-light-blue-a400 { + color: #00b0ff !important; +} +.mdui-text-color-light-blue-a700 { + color: #0091ea !important; +} +.mdui-text-color-light-green-accent { + color: #b2ff59 !important; +} +.mdui-text-color-light-green-a100 { + color: #ccff90 !important; +} +.mdui-text-color-light-green-a200 { + color: #b2ff59 !important; +} +.mdui-text-color-light-green-a400 { + color: #76ff03 !important; +} +.mdui-text-color-light-green-a700 { + color: #64dd17 !important; +} +.mdui-text-color-lime-accent { + color: #eeff41 !important; +} +.mdui-text-color-lime-a100 { + color: #f4ff81 !important; +} +.mdui-text-color-lime-a200 { + color: #eeff41 !important; +} +.mdui-text-color-lime-a400 { + color: #c6ff00 !important; +} +.mdui-text-color-lime-a700 { + color: #aeea00 !important; +} +.mdui-text-color-orange-accent { + color: #ffab40 !important; +} +.mdui-text-color-orange-a100 { + color: #ffd180 !important; +} +.mdui-text-color-orange-a200 { + color: #ffab40 !important; +} +.mdui-text-color-orange-a400 { + color: #ff9100 !important; +} +.mdui-text-color-orange-a700 { + color: #ff6d00 !important; +} +.mdui-text-color-pink-accent { + color: #ff4081 !important; +} +.mdui-text-color-pink-a100 { + color: #ff80ab !important; +} +.mdui-text-color-pink-a200 { + color: #ff4081 !important; +} +.mdui-text-color-pink-a400 { + color: #f50057 !important; +} +.mdui-text-color-pink-a700 { + color: #c51162 !important; +} +.mdui-text-color-purple-accent { + color: #e040fb !important; +} +.mdui-text-color-purple-a100 { + color: #ea80fc !important; +} +.mdui-text-color-purple-a200 { + color: #e040fb !important; +} +.mdui-text-color-purple-a400 { + color: #d500f9 !important; +} +.mdui-text-color-purple-a700 { + color: #a0f !important; +} +.mdui-text-color-red-accent { + color: #ff5252 !important; +} +.mdui-text-color-red-a100 { + color: #ff8a80 !important; +} +.mdui-text-color-red-a200 { + color: #ff5252 !important; +} +.mdui-text-color-red-a400 { + color: #ff1744 !important; +} +.mdui-text-color-red-a700 { + color: #d50000 !important; +} +.mdui-text-color-teal-accent { + color: #64ffda !important; +} +.mdui-text-color-teal-a100 { + color: #a7ffeb !important; +} +.mdui-text-color-teal-a200 { + color: #64ffda !important; +} +.mdui-text-color-teal-a400 { + color: #1de9b6 !important; +} +.mdui-text-color-teal-a700 { + color: #00bfa5 !important; +} +.mdui-text-color-yellow-accent { + color: #ff0 !important; +} +.mdui-text-color-yellow-a100 { + color: #ffff8d !important; +} +.mdui-text-color-yellow-a200 { + color: #ff0 !important; +} +.mdui-text-color-yellow-a400 { + color: #ffea00 !important; +} +.mdui-text-color-yellow-a700 { + color: #ffd600 !important; +} +/** + * .mdui-text-color-black + * .mdui-text-color-black-[] + * .mdui-text-color-theme-[] + */ +.mdui-text-color-black { + color: #000 !important; +} +.mdui-text-color-black-text, +.mdui-text-color-theme-text { + color: rgba(0, 0, 0, .87) !important; +} +.mdui-text-color-black-secondary, +.mdui-text-color-theme-secondary { + color: rgba(0, 0, 0, .54) !important; +} +.mdui-text-color-black-disabled, +.mdui-text-color-theme-disabled { + color: rgba(0, 0, 0, .38) !important; +} +.mdui-text-color-black-divider, +.mdui-text-color-theme-divider { + color: rgba(0, 0, 0, .12) !important; +} +.mdui-text-color-black-icon, +.mdui-text-color-theme-icon { + color: rgba(0, 0, 0, .54) !important; +} +.mdui-text-color-black-icon-disabled, +.mdui-text-color-theme-icon-disabled { + color: rgba(0, 0, 0, .26) !important; +} +/** + * .mdui-text-color-white + * .mdui-text-color-white-[] + */ +.mdui-text-color-white { + color: #fff !important; +} +.mdui-text-color-white-text { + color: #fff !important; +} +.mdui-text-color-white-secondary { + color: rgba(255, 255, 255, .7) !important; +} +.mdui-text-color-white-disabled { + color: rgba(255, 255, 255, .5) !important; +} +.mdui-text-color-white-divider { + color: rgba(255, 255, 255, .12) !important; +} +.mdui-text-color-white-icon { + color: #fff !important; +} +.mdui-text-color-white-icon-disabled { + color: rgba(255, 255, 255, .3) !important; +} +/** + * .mdui-text-color-theme-[] 深色主题 + */ +.mdui-theme-layout-dark .mdui-text-color-theme-text { + color: #fff !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-secondary { + color: rgba(255, 255, 255, .7) !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-disabled { + color: rgba(255, 255, 255, .5) !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-divider { + color: rgba(255, 255, 255, .12) !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-icon { + color: #fff !important; +} +.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled { + color: rgba(255, 255, 255, .3) !important; +} +/** + * ============================================================================= + * ************ Helper 辅助类 ************ + * ============================================================================= + */ +/** + * =================== 边距 + */ +.mdui-m-a-0 { + margin: 0 !important; +} +.mdui-m-t-0 { + margin-top: 0 !important; +} +.mdui-m-r-0 { + margin-right: 0 !important; +} +.mdui-m-b-0 { + margin-bottom: 0 !important; +} +.mdui-m-l-0 { + margin-left: 0 !important; +} +.mdui-m-x-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} +.mdui-m-y-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.mdui-p-a-0 { + padding: 0 !important; +} +.mdui-p-t-0 { + padding-top: 0 !important; +} +.mdui-p-r-0 { + padding-right: 0 !important; +} +.mdui-p-b-0 { + padding-bottom: 0 !important; +} +.mdui-p-l-0 { + padding-left: 0 !important; +} +.mdui-p-x-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} +.mdui-p-y-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.mdui-m-a-1 { + margin: 8px !important; +} +.mdui-m-t-1 { + margin-top: 8px !important; +} +.mdui-m-r-1 { + margin-right: 8px !important; +} +.mdui-m-b-1 { + margin-bottom: 8px !important; +} +.mdui-m-l-1 { + margin-left: 8px !important; +} +.mdui-m-x-1 { + margin-right: 8px !important; + margin-left: 8px !important; +} +.mdui-m-y-1 { + margin-top: 8px !important; + margin-bottom: 8px !important; +} +.mdui-p-a-1 { + padding: 8px !important; +} +.mdui-p-t-1 { + padding-top: 8px !important; +} +.mdui-p-r-1 { + padding-right: 8px !important; +} +.mdui-p-b-1 { + padding-bottom: 8px !important; +} +.mdui-p-l-1 { + padding-left: 8px !important; +} +.mdui-p-x-1 { + padding-right: 8px !important; + padding-left: 8px !important; +} +.mdui-p-y-1 { + padding-top: 8px !important; + padding-bottom: 8px !important; +} +.mdui-m-a-2 { + margin: 16px !important; +} +.mdui-m-t-2 { + margin-top: 16px !important; +} +.mdui-m-r-2 { + margin-right: 16px !important; +} +.mdui-m-b-2 { + margin-bottom: 16px !important; +} +.mdui-m-l-2 { + margin-left: 16px !important; +} +.mdui-m-x-2 { + margin-right: 16px !important; + margin-left: 16px !important; +} +.mdui-m-y-2 { + margin-top: 16px !important; + margin-bottom: 16px !important; +} +.mdui-p-a-2 { + padding: 16px !important; +} +.mdui-p-t-2 { + padding-top: 16px !important; +} +.mdui-p-r-2 { + padding-right: 16px !important; +} +.mdui-p-b-2 { + padding-bottom: 16px !important; +} +.mdui-p-l-2 { + padding-left: 16px !important; +} +.mdui-p-x-2 { + padding-right: 16px !important; + padding-left: 16px !important; +} +.mdui-p-y-2 { + padding-top: 16px !important; + padding-bottom: 16px !important; +} +.mdui-m-a-3 { + margin: 24px !important; +} +.mdui-m-t-3 { + margin-top: 24px !important; +} +.mdui-m-r-3 { + margin-right: 24px !important; +} +.mdui-m-b-3 { + margin-bottom: 24px !important; +} +.mdui-m-l-3 { + margin-left: 24px !important; +} +.mdui-m-x-3 { + margin-right: 24px !important; + margin-left: 24px !important; +} +.mdui-m-y-3 { + margin-top: 24px !important; + margin-bottom: 24px !important; +} +.mdui-p-a-3 { + padding: 24px !important; +} +.mdui-p-t-3 { + padding-top: 24px !important; +} +.mdui-p-r-3 { + padding-right: 24px !important; +} +.mdui-p-b-3 { + padding-bottom: 24px !important; +} +.mdui-p-l-3 { + padding-left: 24px !important; +} +.mdui-p-x-3 { + padding-right: 24px !important; + padding-left: 24px !important; +} +.mdui-p-y-3 { + padding-top: 24px !important; + padding-bottom: 24px !important; +} +.mdui-m-a-4 { + margin: 32px !important; +} +.mdui-m-t-4 { + margin-top: 32px !important; +} +.mdui-m-r-4 { + margin-right: 32px !important; +} +.mdui-m-b-4 { + margin-bottom: 32px !important; +} +.mdui-m-l-4 { + margin-left: 32px !important; +} +.mdui-m-x-4 { + margin-right: 32px !important; + margin-left: 32px !important; +} +.mdui-m-y-4 { + margin-top: 32px !important; + margin-bottom: 32px !important; +} +.mdui-p-a-4 { + padding: 32px !important; +} +.mdui-p-t-4 { + padding-top: 32px !important; +} +.mdui-p-r-4 { + padding-right: 32px !important; +} +.mdui-p-b-4 { + padding-bottom: 32px !important; +} +.mdui-p-l-4 { + padding-left: 32px !important; +} +.mdui-p-x-4 { + padding-right: 32px !important; + padding-left: 32px !important; +} +.mdui-p-y-4 { + padding-top: 32px !important; + padding-bottom: 32px !important; +} +.mdui-m-a-5 { + margin: 40px !important; +} +.mdui-m-t-5 { + margin-top: 40px !important; +} +.mdui-m-r-5 { + margin-right: 40px !important; +} +.mdui-m-b-5 { + margin-bottom: 40px !important; +} +.mdui-m-l-5 { + margin-left: 40px !important; +} +.mdui-m-x-5 { + margin-right: 40px !important; + margin-left: 40px !important; +} +.mdui-m-y-5 { + margin-top: 40px !important; + margin-bottom: 40px !important; +} +.mdui-p-a-5 { + padding: 40px !important; +} +.mdui-p-t-5 { + padding-top: 40px !important; +} +.mdui-p-r-5 { + padding-right: 40px !important; +} +.mdui-p-b-5 { + padding-bottom: 40px !important; +} +.mdui-p-l-5 { + padding-left: 40px !important; +} +.mdui-p-x-5 { + padding-right: 40px !important; + padding-left: 40px !important; +} +.mdui-p-y-5 { + padding-top: 40px !important; + padding-bottom: 40px !important; +} +/** + * ======================== 快速浮动 + */ +/* 向左浮动 */ +.mdui-float-left { + float: left !important; +} +/* 向右浮动 */ +.mdui-float-right { + float: right !important; +} +/** + * ========================= 水平居中 + */ +/* 水平居中 */ +.mdui-center { + display: block !important; + margin-right: auto !important; + margin-left: auto !important; +} +/** + * ========================= 垂直居中 + */ +/* 垂直居中 */ +.mdui-valign { + display: -webkit-box !important; + display: -webkit-flex !important; + display: -ms-flexbox !important; + display: flex !important; + + -webkit-box-align: center !important; + -webkit-align-items: center !important; + -ms-flex-align: center !important; + align-items: center !important; +} +/** + * ========================= 文本对齐方式 + */ +/* 文本左对齐 */ +.mdui-text-left { + text-align: left !important; +} +/* 文本居中对齐 */ +.mdui-text-center { + text-align: center !important; +} +/* 文本向右对齐 */ +.mdui-text-right { + text-align: right !important; +} +/** + * ========================= 文本大小写转换 + */ +/* 文本转为小写 */ +.mdui-text-lowercase { + text-transform: lowercase !important; +} +/* 文本转为大写 */ +.mdui-text-uppercase { + text-transform: uppercase !important; +} +/* 文本转为单词的首字母大写 */ +.mdui-text-capitalize { + text-transform: capitalize !important; +} +/** + * ======================== 文本截断 + */ +/* 文本截断 */ +.mdui-text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/** + * ========================= 清除浮动 + */ +/* 清除浮动 */ +.mdui-clearfix:before, +.mdui-clearfix:after { + display: table; + content: " "; +} +.mdui-clearfix:after { + clear: both; +} +/** + * ========================= 隐藏内容 + */ +/* 隐藏元素 */ +.mdui-hidden, +[hidden] { + display: none !important; +} +/* 使元素不可见 */ +.mdui-invisible { + visibility: hidden; +} +/* Responsive utilities 响应式工具 + ========================================================================== */ +/* 在特定屏幕的特备上隐藏 */ +@media (max-width: 599px) { + .mdui-hidden-xs { + display: none !important; + } +} +@media (min-width: 600px) and (max-width: 1023px) { + .mdui-hidden-sm { + display: none !important; + } +} +@media (min-width: 1024px) and (max-width: 1439px) { + .mdui-hidden-md { + display: none !important; + } +} +@media (min-width: 1440px) and (max-width: 1919px) { + .mdui-hidden-lg { + display: none !important; + } +} +@media (min-width: 1920px) { + .mdui-hidden-xl { + display: none !important; + } +} +/* 在比特定屏幕小的设备上隐藏 */ +@media (max-width: 599px) { + .mdui-hidden-xs-down { + display: none !important; + } +} +@media (max-width: 1023px) { + .mdui-hidden-sm-down { + display: none !important; + } +} +@media (max-width: 1439px) { + .mdui-hidden-md-down { + display: none !important; + } +} +@media (max-width: 1919px) { + .mdui-hidden-lg-down { + display: none !important; + } +} +.mdui-hidden-xl-down { + display: none !important; +} +/* 在比特定屏幕大的设备上隐藏 */ +.mdui-hidden-xs-up { + display: none !important; +} +@media (min-width: 600px) { + .mdui-hidden-sm-up { + display: none !important; + } +} +@media (min-width: 1024px) { + .mdui-hidden-md-up { + display: none !important; + } +} +@media (min-width: 1440px) { + .mdui-hidden-lg-up { + display: none !important; + } +} +@media (min-width: 1920px) { + .mdui-hidden-xl-up { + display: none !important; + } +} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +html { + line-height: 1.15; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers. + */ +body { + margin: 0; +} +/** + * Render the `main` element consistently in IE. + */ +main { + display: block; +} +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + margin: .67em 0; + font-size: 2em; +} +/* Grouping content + ========================================================================== */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + /* 1 */ + height: 0; + -webkit-box-sizing: content-box; + box-sizing: content-box; + /* 1 */ + overflow: visible; + /* 2 */ +} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} +/* Text-level semantics + ========================================================================== */ +/** + * Remove the gray background on active links in IE 10. + */ +a { + background-color: transparent; +} +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + /* 1 */ + text-decoration: underline; + text-decoration: underline dotted; + border-bottom: none; + /* 2 */ + + -webkit-text-decoration: underline dotted; + -moz-text-decoration: underline dotted; + /* 2 */ +} +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -.25em; +} +sup { + top: -.5em; +} +/* Embedded content + ========================================================================== */ +/** + * Remove the border on images inside links in IE 10. + */ +img { + border-style: none; +} +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + /* 1 */ + margin: 0; + font-family: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 2 */ +} +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} +/** + * Correct the inability to style clickable types in iOS and Safari. + */ +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: .35em .75em .625em; +} +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 1 */ + color: inherit; + /* 3 */ + white-space: normal; + /* 1 */ +} +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} +/** + * Remove the default vertical scrollbar in IE 10+. + */ +textarea { + overflow: auto; +} +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ +[type="checkbox"], +[type="radio"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} +/* Interactive + ========================================================================== */ +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ +details { + display: block; +} +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} +/* Misc + ========================================================================== */ +/** + * Add the correct display in IE 10+. + */ +template { + display: none; +} +/** + * Add the correct display in IE 10. + */ +[hidden] { + display: none; +} +/** + * ============================================================================= + * ************ 公共样式 ************ + * ============================================================================= + */ +body { + font-family: Roboto, Noto, Helvetica, Arial, sans-serif; + font-size: 14px; + color: rgba(0, 0, 0, .87); + background-color: #fff; +} +@media (min-width: 600px) { + body { + font-size: 14.5px; + } +} +@media (min-width: 1024px) { + body { + font-size: 15px; + } +} +body *::-webkit-scrollbar { + width: 5px; + height: 5px; + background: transparent; +} +@media (min-width: 1024px) { + body *::-webkit-scrollbar { + width: 8px; + height: 8px; + } +} +body *::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, .2); +} +body.mdui-theme-layout-dark *::-webkit-scrollbar { + width: 5px; + height: 5px; + background: transparent; +} +@media (min-width: 1024px) { + body.mdui-theme-layout-dark *::-webkit-scrollbar { + width: 8px; + height: 8px; + } +} +body.mdui-theme-layout-dark *::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, .3); +} +* { + -webkit-tap-highlight-color: transparent; +} +/* 锁定屏幕 */ +body.mdui-locked { + overflow: hidden; +} +/* 遮罩层 */ +.mdui-overlay { + position: fixed; + top: -5000px; + right: -5000px; + bottom: -5000px; + left: -5000px; + z-index: 2000; + visibility: hidden; + background: rgba(0, 0, 0, .4); + opacity: 0; + -webkit-transition-duration: .3s; + transition-duration: .3s; + -webkit-transition-property: opacity, visibility; + transition-property: opacity, visibility; + + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + will-change: opacity; +} +/* 显示遮罩层 */ +.mdui-overlay-show { + visibility: visible; + opacity: 1; +} +/* 取消 transition 过渡效果 */ +.mdui-no-transition { + -webkit-transition-property: none !important; + transition-property: none !important; +} +/** + * ============================================================================= + * ************ Global dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark { + color: #fff; + background-color: #303030; +} +/** + * ============================================================================= + * ************ Icon 图标 ************ + * ============================================================================= + */ +.mdui-icon, +.mdui-icon::before { + font-size: 24px; + font-style: normal; + font-weight: normal; + line-height: 1; + color: inherit; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + /* Preferred icon size */ + vertical-align: middle; + + direction: ltr; +} +.mdui-icon { + display: inline-block; + text-align: center; +} +.mdui-icon::before { + display: block !important; + width: 24px; + height: 24px; +} +/** + * ============================================================================= + * ************ Material Icons ************ + * ============================================================================= + * + * https://github.com/google/material-design-icons/ + * v3.0.1 + */ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + + src: local('Material Icons'), local('MaterialIcons-Regular'), url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'), url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff'); +} +.material-icons { + font-family: 'Material Icons'; + /* Support for all WebKit browsers. */ + + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + -webkit-font-feature-settings: 'liga'; + -moz-font-feature-settings: 'liga'; + font-feature-settings: 'liga'; +} +/** + * ============================================================================= + * ************ Roboto 字体 ************ + * ============================================================================= + */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 100; + + src: local('Roboto Thin'), local('Roboto-Thin'), url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'), url('../fonts/roboto/Roboto-Thin.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 100; + + src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'), url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + + src: local('Roboto Light'), local('Roboto-Light'), url('../fonts/roboto/Roboto-Light.woff2') format('woff2'), url('../fonts/roboto/Roboto-Light.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + + src: local('Roboto LightItalic'), local('Roboto-LightItalic'), url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-LightItalic.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + + src: local('Roboto Regular'), local('Roboto-Regular'), url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'), url('../fonts/roboto/Roboto-Regular.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + + src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'), url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + + src: local('Roboto Medium'), local('Roboto-Medium'), url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'), url('../fonts/roboto/Roboto-Medium.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 500; + + src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'), url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + + src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'), url('../fonts/roboto/Roboto-Bold.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + + src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'), url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 900; + + src: local('Roboto Black'), local('Roboto-Black'), url('../fonts/roboto/Roboto-Black.woff2') format('woff2'), url('../fonts/roboto/Roboto-Black.woff') format('woff'); +} +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 900; + + src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'), url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff'); +} +/** + * ============================================================================= + * ************ Typography 排版 ************ + * ============================================================================= + */ +/* .mdui-typo-display-4 */ +.mdui-typo-display-4, +.mdui-typo-display-4-opacity { + font-size: 112px; + font-weight: 300; + letter-spacing: -.04em; +} +.mdui-typo-display-4-opacity { + opacity: .54; +} +/* .mdui-typo-display-3 */ +.mdui-typo-display-3, +.mdui-typo-display-3-opacity { + font-size: 56px; + font-weight: 400; + letter-spacing: -.02em; +} +.mdui-typo-display-3-opacity { + opacity: .54; +} +/* .mdui-typo-display-2 */ +.mdui-typo-display-2, +.mdui-typo-display-2-opacity { + font-size: 45px; + font-weight: 400; + letter-spacing: 0; +} +.mdui-typo-display-2-opacity { + opacity: .54; +} +/* .mdui-typo-display-1 */ +.mdui-typo-display-1, +.mdui-typo-display-1-opacity { + font-size: 34px; + font-weight: 400; + letter-spacing: 0; +} +.mdui-typo-display-1-opacity { + opacity: .54; +} +/* .mdui-typo-headline */ +.mdui-typo-headline, +.mdui-typo-headline-opacity { + font-size: 24px; + font-weight: 400; + + -moz-osx-font-smoothing: grayscale; +} +.mdui-typo-headline-opacity { + opacity: .87; +} +/* .mdui-typo-title */ +.mdui-typo-title, +.mdui-typo-title-opacity { + font-size: 20px; + font-weight: 500; + letter-spacing: .02em; +} +.mdui-typo-title-opacity { + opacity: .87; +} +.mdui-typo-subheading, +.mdui-typo-subheading-opacity { + font-size: 16px; + font-weight: 400; + letter-spacing: .04em; +} +.mdui-typo-subheading-opacity { + opacity: .87; +} +.mdui-typo-body-2, +.mdui-typo-body-2-opacity { + font-size: 14px; + font-weight: 500; + letter-spacing: .04em; +} +.mdui-typo-body-2-opacity { + opacity: .87; +} +.mdui-typo-body-1, +.mdui-typo-body-1-opacity { + font-size: 14px; + font-weight: 400; + letter-spacing: .04em; +} +.mdui-typo-body-1-opacity { + opacity: .87; +} +.mdui-typo-caption, +.mdui-typo-caption-opacity { + font-size: 12px; + font-weight: 400; + letter-spacing: .08em; +} +.mdui-typo-caption-opacity { + opacity: .54; +} +.mdui-typo { + line-height: 1.8; + word-wrap: break-word; + /* a */ + /* small */ + /* blockquote */ + /* mark */ + /* h1 - h6 */ + /* code */ + /* pre code */ + /* abbr */ + /* ins */ + /* u */ + /* del */ + /* hr */ + /* pre */ + /* kbd */ + /* ul / ol */ + /* img */ +} +.mdui-typo address, +.mdui-typo caption, +.mdui-typo cite, +.mdui-typo code, +.mdui-typo dfn, +.mdui-typo th { + font-style: normal; + font-weight: 400; +} +.mdui-typo caption, +.mdui-typo th { + text-align: left; +} +.mdui-typo q:before, +.mdui-typo q:after { + content: ''; +} +.mdui-typo pre, +.mdui-typo code, +.mdui-typo kbd, +.mdui-typo samp, +.mdui-typo pre tt { + font-family: Consolas, Courier, 'Courier New', monospace; +} +.mdui-typo figcaption { + font-size: 80%; + color: rgba(0, 0, 0, .54); +} +.mdui-typo [draggable], +.mdui-typo [draggable="true"] { + cursor: move; +} +.mdui-typo [draggable="false"] { + cursor: inherit; +} +.mdui-typo p, +.mdui-typo pre, +.mdui-typo ul, +.mdui-typo ol, +.mdui-typo dl, +.mdui-typo form, +.mdui-typo hr, +.mdui-typo figure, +.mdui-typo table, +.mdui-typo .mdui-table, +.mdui-typo .mdui-table-fluid { + margin: 0 0 1.2em 0; +} +.mdui-typo a { + position: relative; + display: inline-block; + overflow: hidden; + color: #ff4081; + text-decoration: none; + vertical-align: top; + outline: none; +} +.mdui-typo a:before { + position: absolute; + top: auto; + bottom: 1px; + left: 0; + width: 100%; + height: 1px; + content: ' '; + background-color: #ff4081; + -webkit-transition: all .2s; + transition: all .2s; + -webkit-transform: scaleX(0); + transform: scaleX(0); + + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.mdui-typo a:hover:before, +.mdui-typo a:focus:before { + -webkit-transform: scaleX(1); + transform: scaleX(1); +} +.mdui-typo small { + font-size: 80%; +} +.mdui-typo blockquote { + padding-left: 1em; + margin: 1em 3em 1em 2em; + font-weight: 400; + border-left: 4px solid rgba(0, 0, 0, .12); +} +@media only screen and (max-width: 599px) { + .mdui-typo blockquote { + margin: 1em 0; + } +} +.mdui-typo blockquote footer { + font-size: 86%; + color: rgba(0, 0, 0, .54); +} +.mdui-typo mark { + padding: 2px; + margin: 0 5px; + background: #fffdd1; + border-bottom: 1px solid #ffedce; +} +.mdui-typo h1, +.mdui-typo h2, +.mdui-typo h3, +.mdui-typo h4, +.mdui-typo h5, +.mdui-typo h6 { + margin-top: 1.2em; + margin-bottom: .6em; + font-family: inherit; + font-weight: 400; + line-height: 1.35; + color: inherit; +} +.mdui-typo h1 small, +.mdui-typo h2 small, +.mdui-typo h3 small, +.mdui-typo h4 small, +.mdui-typo h5 small, +.mdui-typo h6 small { + font-size: 65%; + font-weight: 400; + line-height: 1; + color: rgba(0, 0, 0, .54); +} +.mdui-typo h1 { + font-size: 2em; +} +.mdui-typo h2 { + font-size: 1.8em; +} +.mdui-typo h3 { + font-size: 1.6em; +} +.mdui-typo h4 { + font-size: 1.4em; +} +.mdui-typo h5 { + font-size: 1.2em; +} +.mdui-typo h6 { + font-size: 1.1em; +} +.mdui-typo code { + padding: 2px 6px; + color: #c7254e; + background-color: #f7f7f9; + border-radius: 2px; +} +.mdui-typo pre code { + padding: 0; + font-size: inherit; + line-height: 1.7; + color: inherit; + background-color: transparent; + border-radius: 0; +} +.mdui-typo abbr[title] { + text-decoration: none; + cursor: help; + border-bottom: 1px dotted; +} +.mdui-typo ins { + text-decoration: none; + border-bottom: 1px solid ; +} +.mdui-typo u { + text-decoration: none; + border-bottom: 1px solid; +} +.mdui-typo del { + text-decoration: line-through; +} +.mdui-typo hr { + height: 10px; + margin-bottom: .8em; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, .12); +} +.mdui-typo pre { + padding: 12px 16px; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + border: 1px solid rgba(0, 0, 0, .12); + border-radius: 2px; +} +.mdui-typo kbd { + padding: 2px 6px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 2px; +} +.mdui-typo ul { + padding-left: 2em; + list-style: disc; +} +.mdui-typo ol { + padding-left: 2em; + list-style: decimal; +} +.mdui-typo li ul, +.mdui-typo li ol { + margin: .8em 0; +} +.mdui-typo li ul { + list-style: circle; +} +.mdui-typo img { + max-width: 100%; +} +/** + * ============================================================================= + * ************ Typo 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-typo a { + color: #ffd740; +} +.mdui-theme-accent-amber .mdui-typo a:before { + background-color: #ffd740; +} +.mdui-theme-accent-blue .mdui-typo a { + color: #448aff; +} +.mdui-theme-accent-blue .mdui-typo a:before { + background-color: #448aff; +} +.mdui-theme-accent-cyan .mdui-typo a { + color: #18ffff; +} +.mdui-theme-accent-cyan .mdui-typo a:before { + background-color: #18ffff; +} +.mdui-theme-accent-deep-orange .mdui-typo a { + color: #ff6e40; +} +.mdui-theme-accent-deep-orange .mdui-typo a:before { + background-color: #ff6e40; +} +.mdui-theme-accent-deep-purple .mdui-typo a { + color: #7c4dff; +} +.mdui-theme-accent-deep-purple .mdui-typo a:before { + background-color: #7c4dff; +} +.mdui-theme-accent-green .mdui-typo a { + color: #69f0ae; +} +.mdui-theme-accent-green .mdui-typo a:before { + background-color: #69f0ae; +} +.mdui-theme-accent-indigo .mdui-typo a { + color: #536dfe; +} +.mdui-theme-accent-indigo .mdui-typo a:before { + background-color: #536dfe; +} +.mdui-theme-accent-light-blue .mdui-typo a { + color: #40c4ff; +} +.mdui-theme-accent-light-blue .mdui-typo a:before { + background-color: #40c4ff; +} +.mdui-theme-accent-light-green .mdui-typo a { + color: #b2ff59; +} +.mdui-theme-accent-light-green .mdui-typo a:before { + background-color: #b2ff59; +} +.mdui-theme-accent-lime .mdui-typo a { + color: #eeff41; +} +.mdui-theme-accent-lime .mdui-typo a:before { + background-color: #eeff41; +} +.mdui-theme-accent-orange .mdui-typo a { + color: #ffab40; +} +.mdui-theme-accent-orange .mdui-typo a:before { + background-color: #ffab40; +} +.mdui-theme-accent-pink .mdui-typo a { + color: #ff4081; +} +.mdui-theme-accent-pink .mdui-typo a:before { + background-color: #ff4081; +} +.mdui-theme-accent-purple .mdui-typo a { + color: #e040fb; +} +.mdui-theme-accent-purple .mdui-typo a:before { + background-color: #e040fb; +} +.mdui-theme-accent-red .mdui-typo a { + color: #ff5252; +} +.mdui-theme-accent-red .mdui-typo a:before { + background-color: #ff5252; +} +.mdui-theme-accent-teal .mdui-typo a { + color: #64ffda; +} +.mdui-theme-accent-teal .mdui-typo a:before { + background-color: #64ffda; +} +.mdui-theme-accent-yellow .mdui-typo a { + color: #ff0; +} +.mdui-theme-accent-yellow .mdui-typo a:before { + background-color: #ff0; +} +/** + * ============================================================================= + * ************ Typo dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-typo blockquote { + border-left-color: rgba(255, 255, 255, .12); +} +.mdui-theme-layout-dark .mdui-typo blockquote footer { + color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-typo figcaption { + color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-typo mark { + background: #aaa; + border-bottom-color: #bbb; +} +.mdui-theme-layout-dark .mdui-typo h1 small, +.mdui-theme-layout-dark .mdui-typo h2 small, +.mdui-theme-layout-dark .mdui-typo h3 small, +.mdui-theme-layout-dark .mdui-typo h4 small, +.mdui-theme-layout-dark .mdui-typo h5 small, +.mdui-theme-layout-dark .mdui-typo h6 small { + color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-typo code { + color: #ffcdd2; + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-typo pre { + background: #424242; + border-color: rgba(255, 255, 255, .12); +} +.mdui-theme-layout-dark .mdui-typo kbd { + background: #424242; +} +.mdui-theme-layout-dark .mdui-typo hr { + border-color: rgba(255, 255, 255, .12); +} +/** + * ============================================================================= + * ************ Headroom ************ + * ============================================================================= + */ +.mdui-headroom { + -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1) !important; + transition: all .3s cubic-bezier(.4, 0, .2, 1) !important; +} +/* 固定在顶部时 */ +.mdui-headroom-pinned-top { + -webkit-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; +} +/* 在顶部隐藏时 */ +.mdui-headroom-unpinned-top { + -webkit-box-shadow: none !important; + box-shadow: none !important; + -webkit-transform: translate3d(0, -100%, 0) !important; + transform: translate3d(0, -100%, 0) !important; +} +/* 固定在底部时 */ +.mdui-headroom-pinned-down { + -webkit-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; +} +/* 在底部隐藏时 */ +.mdui-headroom-unpinned-down { + -webkit-box-shadow: none !important; + box-shadow: none !important; + -webkit-transform: translate3d(0, 100%, 0) !important; + transform: translate3d(0, 100%, 0) !important; +} +/* 固定应用栏中的工具栏 */ +.mdui-headroom-pinned-toolbar { + -webkit-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; +} +/* 隐藏应用栏中的工具栏 */ +.mdui-headroom-unpinned-toolbar { + -webkit-transform: translate3d(0, -56px, 0) !important; + transform: translate3d(0, -56px, 0) !important; +} +@media (min-width: 600px) { + .mdui-headroom-unpinned-toolbar { + -webkit-transform: translate3d(0, -64px, 0) !important; + transform: translate3d(0, -64px, 0) !important; + } +} +@media (orientation: landscape) and (max-width: 959px) { + .mdui-headroom-unpinned-toolbar { + -webkit-transform: translate3d(0, -48px, 0) !important; + transform: translate3d(0, -48px, 0) !important; + } +} +/** + * ============================================================================= + * ************ Collapse 折叠插件 ************ + * ============================================================================= + */ +.mdui-collapse-item-header .mdui-collapse-item-arrow, +.mdui-collapse-item-header.mdui-collapse-item-arrow { + -webkit-transition: -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); + transition: -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); + transition: transform .3s cubic-bezier(.4, 0, .2, 1); + transition: transform .3s cubic-bezier(.4, 0, .2, 1), -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); + -webkit-transform: rotate(0); + transform: rotate(0); + + will-change: transform; +} +.mdui-collapse-item-body { + height: 0; + padding-top: 0; + padding-bottom: 0; + margin-top: 0; + margin-bottom: 0; + overflow: hidden; + -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); + transition: all .3s cubic-bezier(.4, 0, .2, 1); + + will-change: height; +} +.mdui-collapse-item-body .mdui-list-item { + padding-left: 72px; +} +.mdui-collapse-item-open > .mdui-collapse-item-header .mdui-collapse-item-arrow, +.mdui-collapse-item-open > .mdui-collapse-item-header.mdui-collapse-item-arrow { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} +.mdui-collapse-item-open > .mdui-collapse-item-body { + height: auto; +} +/** + * ============================================================================= + * ************ Table 表格 ************ + * ============================================================================= + */ +.mdui-table { + position: relative; + width: 100%; + border-spacing: 0; + border-collapse: separate; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, .12); + border-bottom: none; + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); +} +.mdui-table tbody tr { + position: relative; + -webkit-transition: background-color .28s cubic-bezier(.4, 0, .2, 1); + transition: background-color .28s cubic-bezier(.4, 0, .2, 1); +} +.mdui-table th, +.mdui-table td { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 12px 28px; + text-align: left; + vertical-align: middle; + border-bottom: 1px solid rgba(0, 0, 0, .12); +} +.mdui-table th:last-child, +.mdui-table td:last-child { + padding-right: 24px; +} +.mdui-table th:first-child, +.mdui-table td:first-child { + padding-right: 0; + padding-left: 24px; +} +.mdui-table th:nth-child(2), +.mdui-table td:nth-child(2) { + padding-left: 24px; +} +.mdui-table th { + overflow: hidden; + font-size: 13px; + font-weight: 700; + line-height: 32px; + color: rgba(0, 0, 0, .54); + text-overflow: ellipsis; + white-space: nowrap; +} +.mdui-table td { + font-size: 14px; + line-height: 24px; + color: rgba(0, 0, 0, .87); +} +/* 每一行前面的复选框 */ +.mdui-table-cell-checkbox { + padding-top: 0 !important; + padding-bottom: 0!important; + padding-left: 24px !important; +} +.mdui-table-cell-checkbox .mdui-checkbox { + margin-top: 7px; +} +.mdui-table-cell-checkbox + td, +.mdui-table-cell-checkbox + th { + padding-left: 6px !important; +} +th.mdui-table-cell-checkbox .mdui-checkbox { + margin-top: 11px; +} +/* 鼠标悬浮时行背景加深 */ +.mdui-table-hoverable tbody tr:hover { + background-color: #eee; +} +/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */ +.mdui-table-fluid { + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + border: 1px solid rgba(0, 0, 0, .12); + border-bottom: none; + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); +} +.mdui-table-fluid .mdui-table { + margin: 0; + border: none; + -webkit-box-shadow: none; + box-shadow: none; +} +/* 数字列,右对齐 */ +.mdui-table-col-numeric { + text-align: right !important; +} +/* 行处于选中状态 */ +.mdui-table-row-selected { + background-color: #f5f5f5; +} +/** + * ============================================================================= + * ************ Table dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-table { + background-color: #303030; + border: 1px solid rgba(255, 255, 255, .12); + border-bottom: none; +} +.mdui-theme-layout-dark .mdui-table th, +.mdui-theme-layout-dark .mdui-table td { + border-bottom: 1px solid rgba(255, 255, 255, .12); +} +.mdui-theme-layout-dark .mdui-table th { + color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-table td { + color: #fff; +} +.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover { + background-color: #616161; +} +.mdui-theme-layout-dark .mdui-table-fluid { + border: 1px solid rgba(255, 255, 255, .12); + border-bottom: none; +} +.mdui-theme-layout-dark .mdui-table-fluid .mdui-table { + border: none; + -webkit-box-shadow: none; + box-shadow: none; +} +.mdui-theme-layout-dark .mdui-table-row-selected { + background-color: #424242; +} +/** + * ============================================================================= + * ************ Divider 分割线 ************ + * ============================================================================= + */ +.mdui-divider, +.mdui-divider-light, +.mdui-divider-dark, +.mdui-divider-inset, +.mdui-divider-inset-light, +.mdui-divider-inset-dark { + height: 1px; + margin: -1px 0 0 0; + border: none; +} +.mdui-divider-inset, +.mdui-divider-inset-light, +.mdui-divider-inset-dark { + margin-left: 72px; +} +.mdui-divider, +.mdui-divider-inset { + background-color: rgba(0, 0, 0, .12); +} +.mdui-theme-layout-dark .mdui-divider, +.mdui-theme-layout-dark .mdui-divider-inset { + background-color: rgba(255, 255, 255, .12); +} +.mdui-divider-light, +.mdui-divider-inset-light { + background-color: rgba(255, 255, 255, .12); +} +.mdui-divider-dark, +.mdui-divider-inset-dark { + background-color: rgba(0, 0, 0, .12); +} +/** + * ============================================================================= + * ************ Media 媒体工具 ************ + * ============================================================================= + */ +/* 响应式图片和视频 */ +.mdui-img-fluid, +.mdui-video-fluid { + display: block; + max-width: 100%; + height: auto; +} +/* 圆角图片 */ +.mdui-img-rounded { + border-radius: 2px; +} +/* 圆形图片 */ +.mdui-img-circle { + border-radius: 50%; +} +.mdui-video-container { + position: relative; + height: 0; + padding-bottom: 56.25%; + overflow: hidden; +} +.mdui-video-container iframe, +.mdui-video-container object, +.mdui-video-container embed { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +/** + * ============================================================================= + * ************ 涟漪动画 ************ + * ============================================================================= + */ +.mdui-ripple { + position: relative; + overflow: hidden; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* Ripple */ +.mdui-ripple-wave { + position: absolute !important; + top: 0; + left: 0; + z-index: 1; + padding: 0; + margin: 0; + font-size: 0; + pointer-events: none; + background-color: rgba(0, 0, 0, .1); + border-radius: 50%; + -webkit-transition-duration: 1400ms; + transition-duration: 1400ms; + -webkit-transform: translate3d(0px, 0px, 0) scale(0); + transform: translate3d(0px, 0px, 0) scale(0); +} +/* 有背景色的默认使用白色涟漪 */ +.mdui-ripple[class*="mdui-color-"] .mdui-ripple-wave { + background-color: rgba(255, 255, 255, .3); +} +/* 白色涟漪 */ +.mdui-ripple-white .mdui-ripple-wave { + background-color: rgba(255, 255, 255, .3) !important; +} +/* 黑色涟漪 */ +.mdui-ripple-black .mdui-ripple-wave { + background-color: rgba(0, 0, 0, .1) !important; +} +.mdui-ripple-wave-fill { + opacity: .35; + -webkit-transition-duration: 300ms; + transition-duration: 300ms; +} +.mdui-ripple-wave-out { + opacity: 0; + -webkit-transition-duration: 600ms; + transition-duration: 600ms; +} +/** + * ============================================================================= + * ************ Ripple 颜色 ************ + * ============================================================================= + */ +.mdui-ripple-amber .mdui-ripple-wave { + background-color: rgba(255, 193, 7, .3) !important; +} +.mdui-ripple-blue .mdui-ripple-wave { + background-color: rgba(33, 150, 243, .3) !important; +} +.mdui-ripple-blue-grey .mdui-ripple-wave { + background-color: rgba(96, 125, 139, .3) !important; +} +.mdui-ripple-brown .mdui-ripple-wave { + background-color: rgba(121, 85, 72, .3) !important; +} +.mdui-ripple-cyan .mdui-ripple-wave { + background-color: rgba(0, 188, 212, .3) !important; +} +.mdui-ripple-deep-orange .mdui-ripple-wave { + background-color: rgba(255, 87, 34, .3) !important; +} +.mdui-ripple-deep-purple .mdui-ripple-wave { + background-color: rgba(103, 58, 183, .3) !important; +} +.mdui-ripple-green .mdui-ripple-wave { + background-color: rgba(76, 175, 80, .3) !important; +} +.mdui-ripple-grey .mdui-ripple-wave { + background-color: rgba(158, 158, 158, .3) !important; +} +.mdui-ripple-indigo .mdui-ripple-wave { + background-color: rgba(63, 81, 181, .3) !important; +} +.mdui-ripple-light-blue .mdui-ripple-wave { + background-color: rgba(3, 169, 244, .3) !important; +} +.mdui-ripple-light-green .mdui-ripple-wave { + background-color: rgba(139, 195, 74, .3) !important; +} +.mdui-ripple-lime .mdui-ripple-wave { + background-color: rgba(205, 220, 57, .3) !important; +} +.mdui-ripple-orange .mdui-ripple-wave { + background-color: rgba(255, 152, 0, .3) !important; +} +.mdui-ripple-pink .mdui-ripple-wave { + background-color: rgba(233, 30, 99, .3) !important; +} +.mdui-ripple-purple .mdui-ripple-wave { + background-color: rgba(156, 39, 176, .3) !important; +} +.mdui-ripple-red .mdui-ripple-wave { + background-color: rgba(244, 67, 54, .3) !important; +} +.mdui-ripple-teal .mdui-ripple-wave { + background-color: rgba(0, 150, 136, .3) !important; +} +.mdui-ripple-yellow .mdui-ripple-wave { + background-color: rgba(255, 235, 59, .3) !important; +} +/** + * ============================================================================= + * ************ Ripple dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-ripple-wave { + background-color: rgba(255, 255, 255, .3); +} +/** + * ============================================================================= + * ************ Text Field 文本框 ************ + * ============================================================================= + */ +/* 文本框外层 */ +.mdui-textfield { + position: relative; + padding-top: 16px; + padding-bottom: 8px; + overflow: hidden; +} +.mdui-textfield-has-bottom { + padding-bottom: 28px; +} +/* 输入框 */ +.mdui-textfield-input { + display: block; + width: 100%; + height: 36px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -webkit-appearance: none; + padding: 8px 0; + margin: 0; + overflow: hidden; + font-family: inherit; + font-size: 16px; + line-height: 20px; + color: rgba(0, 0, 0, .87); + resize: none; + background: none; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, .42); + border-radius: 0; + outline: none; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transition-timing-function: cubic-bezier(.4, 0, .2, 1); + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + -webkit-transition-duration: .2s; + transition-duration: .2s; + -webkit-transition-property: border-bottom-color, padding-right, -webkit-box-shadow; + transition-property: border-bottom-color, padding-right, -webkit-box-shadow; + transition-property: border-bottom-color, padding-right, box-shadow; + transition-property: border-bottom-color, padding-right, box-shadow, -webkit-box-shadow; + + -moz-appearance: none; + appearance: none; +} +.mdui-textfield-input::-webkit-input-placeholder { + color: inherit; + opacity: .42; +} +.mdui-textfield-input:not([disabled]):hover { + cursor: pointer; + border-bottom: 1px solid rgba(0, 0, 0, .87); + -webkit-box-shadow: 0 1px 0 0 rgba(0, 0, 0, .87); + box-shadow: 0 1px 0 0 rgba(0, 0, 0, .87); +} +.mdui-textfield-input[rows] { + height: auto !important; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +/* 文本框 label */ +.mdui-textfield-label { + display: block; + width: 100%; + font-size: 16px; + color: rgba(0, 0, 0, .54); + pointer-events: none; + -webkit-transition: all .2s; + transition: all .2s; + -webkit-transform: scale(.75) translateY(0); + transform: scale(.75) translateY(0); + -webkit-transform-origin: left; + transform-origin: left; +} +/* 表单验证错误提示、帮助文本提示 */ +.mdui-textfield-error, +.mdui-textfield-helper { + position: absolute; + bottom: 8px; + height: 12px; + overflow: hidden; + font-size: 12px; + line-height: 12px; + text-overflow: ellipsis; + white-space: nowrap; +} +.mdui-textfield-error { + color: rgba(255, 23, 68, .87); + visibility: hidden; +} +.mdui-textfield-helper { + color: rgba(0, 0, 0, .54); +} +/* 表单中的图标 + ========== */ +.mdui-textfield .mdui-icon { + position: absolute; + bottom: 8px; + padding: 6px; + color: rgba(0, 0, 0, .54); +} +.mdui-textfield .mdui-icon ~ .mdui-textfield-label, +.mdui-textfield .mdui-icon ~ .mdui-textfield-input, +.mdui-textfield .mdui-icon ~ .mdui-textfield-error, +.mdui-textfield .mdui-icon ~ .mdui-textfield-helper, +.mdui-textfield .mdui-icon ~ .mdui-textfield-flex-wrap { + width: calc(100% - 56px); + margin-left: 56px; +} +.mdui-textfield-has-bottom .mdui-icon { + bottom: 28px; +} +/* 聚焦状态的文本框 + ============= */ +.mdui-textfield-focus .mdui-textfield-input, +.mdui-textfield-focus .mdui-textfield-input:hover { + border-bottom-color: #c51162; + -webkit-box-shadow: 0 1px 0 0 #c51162; + box-shadow: 0 1px 0 0 #c51162; +} +.mdui-textfield-focus .mdui-textfield-label, +.mdui-textfield-focus .mdui-icon { + color: rgba(197, 17, 98, .87); +} +/* 含有浮动标签的文本框 + ================ */ +.mdui-textfield-floating-label .mdui-textfield-label { + color: rgba(0, 0, 0, .35); + -webkit-transform: scale(1) translateY(27px); + transform: scale(1) translateY(27px); +} +.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label { + color: rgba(0, 0, 0, .65); + -webkit-transform: scale(.75) translateY(0); + transform: scale(.75) translateY(0); +} +.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label { + color: #e91e63; +} +/* 可展开文本框,默认向右展开 + ========== */ +.mdui-textfield-expandable { + width: 36px; + min-height: 36px; + padding: 1px 0; + -webkit-transition: width .3s cubic-bezier(.4, 0, .2, 1); + transition: width .3s cubic-bezier(.4, 0, .2, 1); +} +.mdui-textfield-expandable .mdui-icon { + bottom: 0; + padding: 0; +} +.mdui-textfield-expandable .mdui-textfield-input { + width: calc(100% - 36px); + padding-right: 0; + margin-left: 36px; +} +.mdui-textfield-expandable .mdui-textfield-icon { + position: absolute; + top: 0; + left: 0; +} +.mdui-textfield-expandable .mdui-textfield-close { + position: absolute; + top: 0; + right: 0; + -webkit-transform: scale(0); + transform: scale(0); +} +.mdui-textfield-expandable.mdui-textfield-expanded { + width: 100%; +} +.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input { + padding-right: 36px; +} +.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close { + -webkit-transform: scale(1); + transform: scale(1); +} +/* 表单验证不通过 + =========== */ +.mdui-textfield-invalid .mdui-textfield-input, +.mdui-textfield-invalid-html5 .mdui-textfield-input, +.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input, +.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ff1744 !important; + -webkit-box-shadow: 0 1px 0 0 #ff1744 !important; + box-shadow: 0 1px 0 0 #ff1744 !important; +} +.mdui-textfield-invalid .mdui-textfield-label, +.mdui-textfield-invalid-html5 .mdui-textfield-label { + color: #ff1744 !important; +} +.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label, +.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label { + color: rgba(255, 23, 68, .35) !important; +} +.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label, +.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label { + color: #ff1744 !important; +} +.mdui-textfield-invalid .mdui-textfield-error, +.mdui-textfield-invalid-html5 .mdui-textfield-error { + visibility: visible; +} +.mdui-textfield-invalid .mdui-textfield-error + .mdui-textfield-helper, +.mdui-textfield-invalid-html5 .mdui-textfield-error + .mdui-textfield-helper { + visibility: hidden; +} +/* 禁用表单 + ====== */ +.mdui-textfield-disabled .mdui-textfield-label, +.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder { + color: rgba(0, 0, 0, .38); +} +.mdui-textfield-disabled .mdui-textfield-input { + color: rgba(0, 0, 0, .42); + cursor: default; +} +.mdui-textfield-disabled .mdui-textfield-input { + border-bottom: 1px dashed rgba(0, 0, 0, .42); +} +/* 字数统计 + ====== */ +.mdui-textfield-counter { + position: absolute; + right: 8px; + bottom: 8px; + height: 12px; + font-size: 12px; + line-height: 12px; + color: rgba(0, 0, 0, .54); +} +/** + * ============================================================================= + * ************ Textfield dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-textfield-input { + color: #fff; + border-bottom-color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder { + color: rgba(255, 255, 255, .5); +} +.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover { + border-bottom-color: #fff; + -webkit-box-shadow: 0 1px 0 0 #fff; + box-shadow: 0 1px 0 0 #fff; +} +.mdui-theme-layout-dark .mdui-textfield .mdui-icon { + color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-textfield-label { + color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label { + color: rgba(255, 255, 255, .35); +} +.mdui-theme-layout-dark .mdui-textfield-error { + color: #ff1744; +} +.mdui-theme-layout-dark .mdui-textfield-helper { + color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-textfield-counter { + color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input, +.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover { + border-bottom-color: #ff4081; + -webkit-box-shadow: 0 1px 0 0 #ff4081; + box-shadow: 0 1px 0 0 #ff4081; +} +.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label { + color: #ff4081; +} +.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label, +.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder { + color: rgba(255, 255, 255, .5); +} +.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input { + color: rgba(255, 255, 255, .5); +} +.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input { + border-bottom-color: rgba(255, 255, 255, .7); +} +/** + * ============================================================================= + * ************ Textfield 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ffab00; + -webkit-box-shadow: 0 1px 0 0 #ffab00; + box-shadow: 0 1px 0 0 #ffab00; +} +.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon { + color: rgba(255, 171, 0, .87); +} +.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ffd740; + -webkit-box-shadow: 0 1px 0 0 #ffd740; + box-shadow: 0 1px 0 0 #ffd740; +} +.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #ffd740; +} +.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #2962ff; + -webkit-box-shadow: 0 1px 0 0 #2962ff; + box-shadow: 0 1px 0 0 #2962ff; +} +.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon { + color: rgba(41, 98, 255, .87); +} +.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #448aff; + -webkit-box-shadow: 0 1px 0 0 #448aff; + box-shadow: 0 1px 0 0 #448aff; +} +.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #448aff; +} +.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #00b8d4; + -webkit-box-shadow: 0 1px 0 0 #00b8d4; + box-shadow: 0 1px 0 0 #00b8d4; +} +.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon { + color: rgba(0, 184, 212, .87); +} +.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #18ffff; + -webkit-box-shadow: 0 1px 0 0 #18ffff; + box-shadow: 0 1px 0 0 #18ffff; +} +.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #18ffff; +} +.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #dd2c00; + -webkit-box-shadow: 0 1px 0 0 #dd2c00; + box-shadow: 0 1px 0 0 #dd2c00; +} +.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon { + color: rgba(221, 44, 0, .87); +} +.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ff6e40; + -webkit-box-shadow: 0 1px 0 0 #ff6e40; + box-shadow: 0 1px 0 0 #ff6e40; +} +.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #ff6e40; +} +.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #6200ea; + -webkit-box-shadow: 0 1px 0 0 #6200ea; + box-shadow: 0 1px 0 0 #6200ea; +} +.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon { + color: rgba(98, 0, 234, .87); +} +.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #7c4dff; + -webkit-box-shadow: 0 1px 0 0 #7c4dff; + box-shadow: 0 1px 0 0 #7c4dff; +} +.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #7c4dff; +} +.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #00c853; + -webkit-box-shadow: 0 1px 0 0 #00c853; + box-shadow: 0 1px 0 0 #00c853; +} +.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon { + color: rgba(0, 200, 83, .87); +} +.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #69f0ae; + -webkit-box-shadow: 0 1px 0 0 #69f0ae; + box-shadow: 0 1px 0 0 #69f0ae; +} +.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #69f0ae; +} +.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #304ffe; + -webkit-box-shadow: 0 1px 0 0 #304ffe; + box-shadow: 0 1px 0 0 #304ffe; +} +.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon { + color: rgba(48, 79, 254, .87); +} +.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #536dfe; + -webkit-box-shadow: 0 1px 0 0 #536dfe; + box-shadow: 0 1px 0 0 #536dfe; +} +.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #536dfe; +} +.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #0091ea; + -webkit-box-shadow: 0 1px 0 0 #0091ea; + box-shadow: 0 1px 0 0 #0091ea; +} +.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon { + color: rgba(0, 145, 234, .87); +} +.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #40c4ff; + -webkit-box-shadow: 0 1px 0 0 #40c4ff; + box-shadow: 0 1px 0 0 #40c4ff; +} +.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #40c4ff; +} +.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #64dd17; + -webkit-box-shadow: 0 1px 0 0 #64dd17; + box-shadow: 0 1px 0 0 #64dd17; +} +.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon { + color: rgba(100, 221, 23, .87); +} +.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #b2ff59; + -webkit-box-shadow: 0 1px 0 0 #b2ff59; + box-shadow: 0 1px 0 0 #b2ff59; +} +.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #b2ff59; +} +.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #aeea00; + -webkit-box-shadow: 0 1px 0 0 #aeea00; + box-shadow: 0 1px 0 0 #aeea00; +} +.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon { + color: rgba(174, 234, 0, .87); +} +.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #eeff41; + -webkit-box-shadow: 0 1px 0 0 #eeff41; + box-shadow: 0 1px 0 0 #eeff41; +} +.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #eeff41; +} +.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ff6d00; + -webkit-box-shadow: 0 1px 0 0 #ff6d00; + box-shadow: 0 1px 0 0 #ff6d00; +} +.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon { + color: rgba(255, 109, 0, .87); +} +.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ffab40; + -webkit-box-shadow: 0 1px 0 0 #ffab40; + box-shadow: 0 1px 0 0 #ffab40; +} +.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #ffab40; +} +.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #c51162; + -webkit-box-shadow: 0 1px 0 0 #c51162; + box-shadow: 0 1px 0 0 #c51162; +} +.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon { + color: rgba(197, 17, 98, .87); +} +.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ff4081; + -webkit-box-shadow: 0 1px 0 0 #ff4081; + box-shadow: 0 1px 0 0 #ff4081; +} +.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #ff4081; +} +.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #a0f; + -webkit-box-shadow: 0 1px 0 0 #a0f; + box-shadow: 0 1px 0 0 #a0f; +} +.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon { + color: rgba(170, 0, 255, .87); +} +.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #e040fb; + -webkit-box-shadow: 0 1px 0 0 #e040fb; + box-shadow: 0 1px 0 0 #e040fb; +} +.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #e040fb; +} +.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #d50000; + -webkit-box-shadow: 0 1px 0 0 #d50000; + box-shadow: 0 1px 0 0 #d50000; +} +.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon { + color: rgba(213, 0, 0, .87); +} +.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ff5252; + -webkit-box-shadow: 0 1px 0 0 #ff5252; + box-shadow: 0 1px 0 0 #ff5252; +} +.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #ff5252; +} +.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #00bfa5; + -webkit-box-shadow: 0 1px 0 0 #00bfa5; + box-shadow: 0 1px 0 0 #00bfa5; +} +.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon { + color: rgba(0, 191, 165, .87); +} +.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #64ffda; + -webkit-box-shadow: 0 1px 0 0 #64ffda; + box-shadow: 0 1px 0 0 #64ffda; +} +.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #64ffda; +} +.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ffd600; + -webkit-box-shadow: 0 1px 0 0 #ffd600; + box-shadow: 0 1px 0 0 #ffd600; +} +.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon { + color: rgba(255, 214, 0, .87); +} +.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input { + border-bottom-color: #ff0; + -webkit-box-shadow: 0 1px 0 0 #ff0; + box-shadow: 0 1px 0 0 #ff0; +} +.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label, +.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon { + color: #ff0; +} +/** + * ============================================================================= + * ************ Checkbox 复选框 ************ + * ============================================================================= + */ +.mdui-checkbox { + position: relative; + display: inline-block; + height: 36px; + padding-left: 36px; + line-height: 36px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-checkbox input[type="checkbox"] { + position: absolute; + width: 0; + height: 0; + overflow: hidden; + opacity: 0; +} +/* 透明的圆形,用于生成圆形阴影 */ +.mdui-checkbox-icon { + position: absolute; + top: 9px; + left: 0; + display: inline-block; + width: 18px; + height: 18px; + vertical-align: middle; + background-color: transparent; + border: none; + border-radius: 18px; + -webkit-transition: -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); + transition: -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .14s cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .14s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); +} +.mdui-checkbox-icon:after { + position: absolute; + top: 0; + left: 0; + z-index: 0; + width: 18px; + height: 18px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + content: ' '; + border: 2px solid rgba(0, 0, 0, .54); + border-radius: 2px; + -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); + transition: all .3s cubic-bezier(.4, 0, .2, 1); +} +.mdui-checkbox-icon:before { + position: absolute; + top: 2px; + left: 0; + z-index: 1; + width: 8px; + height: 13px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + content: ' '; + border-right: 2px solid #fff; + border-bottom: 2px solid #fff; + opacity: 0; + -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); + transition: all .3s cubic-bezier(.4, 0, .2, 1); + -webkit-transform: rotateZ(37deg) scale(0); + transform: rotateZ(37deg) scale(0); + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} +/* 各种状态的图标 */ +.mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after { + background-color: #ff4081; + border-color: #ff4081; +} +.mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:before { + opacity: 1; + -webkit-transform: rotateZ(37deg) scale(1); + transform: rotateZ(37deg) scale(1); +} +.mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #ff4081; + border-color: #ff4081; +} +.mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:before { + top: 8px; + left: 3px; + width: 12px; + height: 0; + border-right: none; + border-bottom: 2px solid #fff; + border-radius: 1px; + opacity: 1; + -webkit-transform: rotateZ(0) scale(1); + transform: rotateZ(0) scale(1); +} +.mdui-checkbox input[type="checkbox"]:disabled + .mdui-checkbox-icon:after { + border-color: rgba(0, 0, 0, .26); +} +.mdui-checkbox input[type="checkbox"]:disabled:checked + .mdui-checkbox-icon:after, +.mdui-checkbox input[type="checkbox"]:disabled:indeterminate + .mdui-checkbox-icon:after { + background-color: rgba(0, 0, 0, .26) !important; + border-color: transparent !important; +} +/* 阴影 */ +.mdui-checkbox:active input[type="checkbox"] + .mdui-checkbox-icon, +.mdui-checkbox input[type="checkbox"]:focus + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(0, 0, 0, .1); + box-shadow: 0 0 0 15px rgba(0, 0, 0, .1); +} +.mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); + box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); +} +/** + * ============================================================================= + * ************ Checkbox 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #ffd740; + border-color: #ffd740; +} +.mdui-theme-accent-amber .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-amber .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-amber .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 215, 64, .16); + box-shadow: 0 0 0 15px rgba(255, 215, 64, .16); +} +.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #448aff; + border-color: #448aff; +} +.mdui-theme-accent-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(68, 138, 255, .16); + box-shadow: 0 0 0 15px rgba(68, 138, 255, .16); +} +.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #18ffff; + border-color: #18ffff; +} +.mdui-theme-accent-cyan .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-cyan .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-cyan .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(24, 255, 255, .16); + box-shadow: 0 0 0 15px rgba(24, 255, 255, .16); +} +.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #ff6e40; + border-color: #ff6e40; +} +.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-deep-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 110, 64, .16); + box-shadow: 0 0 0 15px rgba(255, 110, 64, .16); +} +.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #7c4dff; + border-color: #7c4dff; +} +.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-deep-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(124, 77, 255, .16); + box-shadow: 0 0 0 15px rgba(124, 77, 255, .16); +} +.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #69f0ae; + border-color: #69f0ae; +} +.mdui-theme-accent-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(105, 240, 174, .16); + box-shadow: 0 0 0 15px rgba(105, 240, 174, .16); +} +.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #536dfe; + border-color: #536dfe; +} +.mdui-theme-accent-indigo .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-indigo .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-indigo .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(83, 109, 254, .16); + box-shadow: 0 0 0 15px rgba(83, 109, 254, .16); +} +.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #40c4ff; + border-color: #40c4ff; +} +.mdui-theme-accent-light-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-light-blue .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-light-blue .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(64, 196, 255, .16); + box-shadow: 0 0 0 15px rgba(64, 196, 255, .16); +} +.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #b2ff59; + border-color: #b2ff59; +} +.mdui-theme-accent-light-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-light-green .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-light-green .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(178, 255, 89, .16); + box-shadow: 0 0 0 15px rgba(178, 255, 89, .16); +} +.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #eeff41; + border-color: #eeff41; +} +.mdui-theme-accent-lime .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-lime .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-lime .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(238, 255, 65, .16); + box-shadow: 0 0 0 15px rgba(238, 255, 65, .16); +} +.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #ffab40; + border-color: #ffab40; +} +.mdui-theme-accent-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-orange .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-orange .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 171, 64, .16); + box-shadow: 0 0 0 15px rgba(255, 171, 64, .16); +} +.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #ff4081; + border-color: #ff4081; +} +.mdui-theme-accent-pink .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-pink .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-pink .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); + box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); +} +.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #e040fb; + border-color: #e040fb; +} +.mdui-theme-accent-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-purple .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-purple .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(224, 64, 251, .16); + box-shadow: 0 0 0 15px rgba(224, 64, 251, .16); +} +.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #ff5252; + border-color: #ff5252; +} +.mdui-theme-accent-red .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-red .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-red .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 82, 82, .16); + box-shadow: 0 0 0 15px rgba(255, 82, 82, .16); +} +.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #64ffda; + border-color: #64ffda; +} +.mdui-theme-accent-teal .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-teal .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-teal .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(100, 255, 218, .16); + box-shadow: 0 0 0 15px rgba(100, 255, 218, .16); +} +.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:checked + .mdui-checkbox-icon:after, +.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:indeterminate + .mdui-checkbox-icon:after { + background-color: #ff0; + border-color: #ff0; +} +.mdui-theme-accent-yellow .mdui-checkbox:active input[type="checkbox"]:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):checked + .mdui-checkbox-icon, +.mdui-theme-accent-yellow .mdui-checkbox:active input[type="checkbox"]:not(:disabled):indeterminate + .mdui-checkbox-icon, +.mdui-theme-accent-yellow .mdui-checkbox input[type="checkbox"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 0, .16); + box-shadow: 0 0 0 15px rgba(255, 255, 0, .16); +} +/** + * ============================================================================= + * ************ Checkbox dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-checkbox-icon:after { + border-color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-checkbox-icon:before { + border-right-color: #303030 !important; + border-bottom-color: #303030 !important; +} +.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:disabled + .mdui-checkbox-icon:after { + border-color: rgba(255, 255, 255, .3); +} +.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:disabled:checked + .mdui-checkbox-icon:after, +.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:disabled:indeterminate + .mdui-checkbox-icon:after { + background-color: rgba(255, 255, 255, .3) !important; + border-color: transparent !important; +} +.mdui-theme-layout-dark .mdui-checkbox:active input[type="checkbox"] + .mdui-checkbox-icon, +.mdui-theme-layout-dark .mdui-checkbox input[type="checkbox"]:focus + .mdui-checkbox-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, .1); + box-shadow: 0 0 0 15px rgba(255, 255, 255, .1); +} +/** + * ============================================================================= + * ************ Radio 单选框 ************ + * ============================================================================= + */ +.mdui-radio { + position: relative; + display: inline-block; + height: 36px; + padding-left: 36px; + line-height: 36px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-radio input { + position: absolute; + width: 0; + height: 0; + overflow: hidden; + opacity: 0; +} +/* 图标外圈 */ +.mdui-radio-icon { + position: absolute; + top: 9px; + left: 0; + display: inline-block; + width: 18px; + height: 18px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + vertical-align: middle; + border: 2px solid rgba(0, 0, 0, .54); + border-radius: 18px; + -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); + transition: all .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); + transition: all .3s cubic-bezier(.4, 0, .2, 1), box-shadow .14s cubic-bezier(.4, 0, .2, 1); + transition: all .3s cubic-bezier(.4, 0, .2, 1), box-shadow .14s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); +} +.mdui-radio-icon:before { + position: absolute; + top: 0; + left: 0; + width: 14px; + height: 14px; + content: ' '; + background-color: #ff4081; + border-radius: 14px; + opacity: 0; + -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); + transition: all .3s cubic-bezier(.4, 0, .2, 1); + -webkit-transform: scale(0); + transform: scale(0); +} +/* 选中状态的图标 */ +.mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #ff4081; +} +.mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + opacity: 1; + -webkit-transform: scale(.68); + transform: scale(.68); +} +/* 禁用状态的图标 */ +.mdui-radio input[type="radio"]:disabled + .mdui-radio-icon { + border-color: rgba(0, 0, 0, .26) !important; +} +/* 禁用且选中状态的图标 */ +.mdui-radio input[type="radio"]:disabled:checked + .mdui-radio-icon:before { + background-color: rgba(0, 0, 0, .26) !important; +} +/* 未选中、禁用时 按下的阴影 */ +.mdui-radio:active input[type="radio"] + .mdui-radio-icon, +.mdui-radio input[type="radio"]:focus + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(0, 0, 0, .1); + box-shadow: 0 0 0 15px rgba(0, 0, 0, .1); +} +/* 已选中时按下的阴影 */ +.mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); + box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); +} +/** + * ============================================================================= + * ************ Radio 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #ffd740; +} +.mdui-theme-accent-amber .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #ffd740; +} +.mdui-theme-accent-amber .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-amber .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 215, 64, .16); + box-shadow: 0 0 0 15px rgba(255, 215, 64, .16); +} +.mdui-theme-accent-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #448aff; +} +.mdui-theme-accent-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #448aff; +} +.mdui-theme-accent-blue .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-blue .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(68, 138, 255, .16); + box-shadow: 0 0 0 15px rgba(68, 138, 255, .16); +} +.mdui-theme-accent-cyan .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #18ffff; +} +.mdui-theme-accent-cyan .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #18ffff; +} +.mdui-theme-accent-cyan .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-cyan .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(24, 255, 255, .16); + box-shadow: 0 0 0 15px rgba(24, 255, 255, .16); +} +.mdui-theme-accent-deep-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #ff6e40; +} +.mdui-theme-accent-deep-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #ff6e40; +} +.mdui-theme-accent-deep-orange .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-deep-orange .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 110, 64, .16); + box-shadow: 0 0 0 15px rgba(255, 110, 64, .16); +} +.mdui-theme-accent-deep-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #7c4dff; +} +.mdui-theme-accent-deep-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #7c4dff; +} +.mdui-theme-accent-deep-purple .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-deep-purple .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(124, 77, 255, .16); + box-shadow: 0 0 0 15px rgba(124, 77, 255, .16); +} +.mdui-theme-accent-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #69f0ae; +} +.mdui-theme-accent-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #69f0ae; +} +.mdui-theme-accent-green .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-green .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(105, 240, 174, .16); + box-shadow: 0 0 0 15px rgba(105, 240, 174, .16); +} +.mdui-theme-accent-indigo .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #536dfe; +} +.mdui-theme-accent-indigo .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #536dfe; +} +.mdui-theme-accent-indigo .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-indigo .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(83, 109, 254, .16); + box-shadow: 0 0 0 15px rgba(83, 109, 254, .16); +} +.mdui-theme-accent-light-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #40c4ff; +} +.mdui-theme-accent-light-blue .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #40c4ff; +} +.mdui-theme-accent-light-blue .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-light-blue .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(64, 196, 255, .16); + box-shadow: 0 0 0 15px rgba(64, 196, 255, .16); +} +.mdui-theme-accent-light-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #b2ff59; +} +.mdui-theme-accent-light-green .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #b2ff59; +} +.mdui-theme-accent-light-green .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-light-green .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(178, 255, 89, .16); + box-shadow: 0 0 0 15px rgba(178, 255, 89, .16); +} +.mdui-theme-accent-lime .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #eeff41; +} +.mdui-theme-accent-lime .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #eeff41; +} +.mdui-theme-accent-lime .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-lime .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(238, 255, 65, .16); + box-shadow: 0 0 0 15px rgba(238, 255, 65, .16); +} +.mdui-theme-accent-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #ffab40; +} +.mdui-theme-accent-orange .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #ffab40; +} +.mdui-theme-accent-orange .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-orange .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 171, 64, .16); + box-shadow: 0 0 0 15px rgba(255, 171, 64, .16); +} +.mdui-theme-accent-pink .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #ff4081; +} +.mdui-theme-accent-pink .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #ff4081; +} +.mdui-theme-accent-pink .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-pink .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); + box-shadow: 0 0 0 15px rgba(255, 64, 129, .16); +} +.mdui-theme-accent-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #e040fb; +} +.mdui-theme-accent-purple .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #e040fb; +} +.mdui-theme-accent-purple .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-purple .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(224, 64, 251, .16); + box-shadow: 0 0 0 15px rgba(224, 64, 251, .16); +} +.mdui-theme-accent-red .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #ff5252; +} +.mdui-theme-accent-red .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #ff5252; +} +.mdui-theme-accent-red .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-red .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 82, 82, .16); + box-shadow: 0 0 0 15px rgba(255, 82, 82, .16); +} +.mdui-theme-accent-teal .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #64ffda; +} +.mdui-theme-accent-teal .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #64ffda; +} +.mdui-theme-accent-teal .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-teal .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(100, 255, 218, .16); + box-shadow: 0 0 0 15px rgba(100, 255, 218, .16); +} +.mdui-theme-accent-yellow .mdui-radio input[type="radio"]:checked + .mdui-radio-icon { + border-color: #ff0; +} +.mdui-theme-accent-yellow .mdui-radio input[type="radio"]:checked + .mdui-radio-icon:before { + background-color: #ff0; +} +.mdui-theme-accent-yellow .mdui-radio:active input[type="radio"]:checked:not(:disabled) + .mdui-radio-icon, +.mdui-theme-accent-yellow .mdui-radio input[type="radio"]:focus:checked:not(:disabled) + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 0, .16); + box-shadow: 0 0 0 15px rgba(255, 255, 0, .16); +} +/** + * ============================================================================= + * ************ Radio dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-radio-icon { + border-color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-radio input[type="radio"]:disabled + .mdui-radio-icon { + border-color: rgba(255, 255, 255, .3) !important; +} +.mdui-theme-layout-dark .mdui-radio input[type="radio"]:disabled:checked + .mdui-radio-icon:before { + background-color: rgba(255, 255, 255, .3) !important; +} +.mdui-theme-layout-dark .mdui-radio:active input[type="radio"] + .mdui-radio-icon, +.mdui-theme-layout-dark .mdui-radio input[type="radio"]:focus + .mdui-radio-icon { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, .1); + box-shadow: 0 0 0 15px rgba(255, 255, 255, .1); +} +/** + * ============================================================================= + * ************ Switch 单选框 ************ + * ============================================================================= + */ +.mdui-switch { + display: inline-block; + height: 36px; + line-height: 36px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-switch input { + position: absolute; + width: 0; + height: 0; + overflow: hidden; + opacity: 0; +} +/* 图标轨道 */ +.mdui-switch-icon { + position: relative; + display: inline-block; + width: 36px; + height: 14px; + vertical-align: middle; + background-color: rgba(0, 0, 0, .38); + border-radius: 14px; + -webkit-transition: background-color .3s cubic-bezier(.4, 0, .2, 1); + transition: background-color .3s cubic-bezier(.4, 0, .2, 1); +} +.mdui-switch-icon:before { + position: absolute; + top: -3px; + left: -3px; + display: inline-block; + width: 20px; + height: 20px; + content: ' '; + background-color: #fafafa; + border-radius: 20px; + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12); + -webkit-transition: background-color .3s cubic-bezier(.4, 0, .2, 1), left .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); + transition: background-color .3s cubic-bezier(.4, 0, .2, 1), left .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .14s cubic-bezier(.4, 0, .2, 1), background-color .3s cubic-bezier(.4, 0, .2, 1), left .3s cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .14s cubic-bezier(.4, 0, .2, 1), background-color .3s cubic-bezier(.4, 0, .2, 1), left .3s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .14s cubic-bezier(.4, 0, .2, 1); +} +/* 选中状态的图标 */ +.mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 64, 129, .5); +} +.mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + left: 20px; + background-color: #ff4081; +} +/* 未选中时或禁用时 按下的阴影 */ +.mdui-switch:active input[type="checkbox"] + .mdui-switch-icon:before, +.mdui-switch input[type="checkbox"]:focus + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(0, 0, 0, .1); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(0, 0, 0, .1); +} +/* 已选中时按下的阴影 */ +.mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 64, 129, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 64, 129, .16); +} +/* 禁用状态 */ +.mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon { + background-color: rgba(0, 0, 0, .12) !important; +} +.mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon:before { + background-color: #bdbdbd !important; +} +/** + * ============================================================================= + * ************ Switch 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 215, 64, .5); +} +.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ffd740; +} +.mdui-theme-accent-amber .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 215, 64, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 215, 64, .16); +} +.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(68, 138, 255, .5); +} +.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #448aff; +} +.mdui-theme-accent-blue .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(68, 138, 255, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(68, 138, 255, .16); +} +.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(24, 255, 255, .5); +} +.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #18ffff; +} +.mdui-theme-accent-cyan .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(24, 255, 255, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(24, 255, 255, .16); +} +.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 110, 64, .5); +} +.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ff6e40; +} +.mdui-theme-accent-deep-orange .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 110, 64, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 110, 64, .16); +} +.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(124, 77, 255, .5); +} +.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #7c4dff; +} +.mdui-theme-accent-deep-purple .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(124, 77, 255, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(124, 77, 255, .16); +} +.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(105, 240, 174, .5); +} +.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #69f0ae; +} +.mdui-theme-accent-green .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(105, 240, 174, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(105, 240, 174, .16); +} +.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(83, 109, 254, .5); +} +.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #536dfe; +} +.mdui-theme-accent-indigo .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(83, 109, 254, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(83, 109, 254, .16); +} +.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(64, 196, 255, .5); +} +.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #40c4ff; +} +.mdui-theme-accent-light-blue .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(64, 196, 255, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(64, 196, 255, .16); +} +.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(178, 255, 89, .5); +} +.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #b2ff59; +} +.mdui-theme-accent-light-green .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(178, 255, 89, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(178, 255, 89, .16); +} +.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(238, 255, 65, .5); +} +.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #eeff41; +} +.mdui-theme-accent-lime .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(238, 255, 65, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(238, 255, 65, .16); +} +.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 171, 64, .5); +} +.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ffab40; +} +.mdui-theme-accent-orange .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 171, 64, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 171, 64, .16); +} +.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 64, 129, .5); +} +.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ff4081; +} +.mdui-theme-accent-pink .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 64, 129, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 64, 129, .16); +} +.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(224, 64, 251, .5); +} +.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #e040fb; +} +.mdui-theme-accent-purple .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(224, 64, 251, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(224, 64, 251, .16); +} +.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 82, 82, .5); +} +.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ff5252; +} +.mdui-theme-accent-red .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 82, 82, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 82, 82, .16); +} +.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(100, 255, 218, .5); +} +.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #64ffda; +} +.mdui-theme-accent-teal .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(100, 255, 218, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(100, 255, 218, .16); +} +.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 255, 0, .5); +} +.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ff0; +} +.mdui-theme-accent-yellow .mdui-switch:active input[type="checkbox"]:checked:not(:disabled) + .mdui-switch-icon:before, +.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:focus:checked:not(:disabled) + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 255, 0, .16); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 255, 0, .16); +} +/** + * ============================================================================= + * ************ Radio dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-switch-icon { + background-color: rgba(255, 255, 255, .3); +} +.mdui-theme-layout-dark .mdui-switch-icon:before { + background-color: #bdbdbd; +} +.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 229, 127, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ffe57f; +} +.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(130, 177, 255, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #82b1ff; +} +.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(132, 255, 255, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #84ffff; +} +.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 158, 128, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ff9e80; +} +.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(179, 136, 255, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #b388ff; +} +.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(185, 246, 202, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #b9f6ca; +} +.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(140, 158, 255, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #8c9eff; +} +.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(128, 216, 255, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #80d8ff; +} +.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(204, 255, 144, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ccff90; +} +.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(244, 255, 129, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #f4ff81; +} +.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 209, 128, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ffd180; +} +.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 128, 171, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ff80ab; +} +.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(234, 128, 252, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ea80fc; +} +.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 138, 128, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ff8a80; +} +.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(167, 255, 235, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #a7ffeb; +} +.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon { + background-color: rgba(255, 255, 141, .5); +} +.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type="checkbox"]:checked + .mdui-switch-icon:before { + background-color: #ffff8d; +} +.mdui-theme-layout-dark .mdui-switch:active input[type="checkbox"] + .mdui-switch-icon:before, +.mdui-theme-layout-dark .mdui-switch input[type="checkbox"]:focus + .mdui-switch-icon:before { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 255, 255, .1); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 0 15px rgba(255, 255, 255, .1); +} +.mdui-theme-layout-dark .mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon { + background-color: rgba(255, 255, 255, .1) !important; +} +.mdui-theme-layout-dark .mdui-switch input[type="checkbox"]:disabled + .mdui-switch-icon:before { + background-color: #424242 !important; +} +/** + * ============================================================================= + * ************ Slider 滑块 ************ + * ============================================================================= + */ +.mdui-slider { + position: relative; + display: block; + width: 100%; + height: 36px; +} +.mdui-slider input[type="range"] { + position: absolute; + top: 50%; + z-index: 2; + width: 100%; + height: 20px; + -webkit-appearance: none; + margin-top: -10px; + cursor: pointer; + opacity: 0; + + -moz-appearance: none; + appearance: none; +} +.mdui-slider-track, +.mdui-slider-fill { + position: absolute; + top: 50%; + height: 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin-top: -1px; +} +.mdui-slider-track:before, +.mdui-slider-fill:before { + display: block; + width: 100%; + height: 100%; + content: ' '; +} +/* 轨道 */ +.mdui-slider-track { + right: 0; +} +.mdui-slider-track:before { + background-color: #bdbdbd; + -webkit-transition: background-color .3s cubic-bezier(.4, 0, .2, 1); + transition: background-color .3s cubic-bezier(.4, 0, .2, 1); +} +/* 已滑动部分 */ +.mdui-slider-fill { + left: 0; +} +.mdui-slider-fill:before { + background-color: #ff4081; +} +/* 滑块 */ +.mdui-slider-thumb { + position: absolute; + top: 50%; + width: 12px; + height: 12px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin-top: -6px; + background-color: #ff4081; + border: 2px solid #ff4081; + border-radius: 50%; + -webkit-transition: background .45s cubic-bezier(.4, 0, .2, 1), border-color .45s cubic-bezier(.4, 0, .2, 1), border-radius .2s cubic-bezier(.4, 0, .2, 1), -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); + transition: background .45s cubic-bezier(.4, 0, .2, 1), border-color .45s cubic-bezier(.4, 0, .2, 1), border-radius .2s cubic-bezier(.4, 0, .2, 1), -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); + transition: background .45s cubic-bezier(.4, 0, .2, 1), border-color .45s cubic-bezier(.4, 0, .2, 1), transform .2s cubic-bezier(.4, 0, .2, 1), border-radius .2s cubic-bezier(.4, 0, .2, 1); + transition: background .45s cubic-bezier(.4, 0, .2, 1), border-color .45s cubic-bezier(.4, 0, .2, 1), transform .2s cubic-bezier(.4, 0, .2, 1), border-radius .2s cubic-bezier(.4, 0, .2, 1), -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); + -webkit-transform: translate(-50%); + transform: translate(-50%); + + will-change: background, border-color, transform, border-radius; +} +/** + * ============================================================================= + * ************ Slider 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-slider-fill:before { + background-color: #ffd740; +} +.mdui-theme-accent-amber .mdui-slider-thumb { + background-color: #ffd740; + border: 2px solid #ffd740; +} +.mdui-theme-accent-blue .mdui-slider-fill:before { + background-color: #448aff; +} +.mdui-theme-accent-blue .mdui-slider-thumb { + background-color: #448aff; + border: 2px solid #448aff; +} +.mdui-theme-accent-cyan .mdui-slider-fill:before { + background-color: #18ffff; +} +.mdui-theme-accent-cyan .mdui-slider-thumb { + background-color: #18ffff; + border: 2px solid #18ffff; +} +.mdui-theme-accent-deep-orange .mdui-slider-fill:before { + background-color: #ff6e40; +} +.mdui-theme-accent-deep-orange .mdui-slider-thumb { + background-color: #ff6e40; + border: 2px solid #ff6e40; +} +.mdui-theme-accent-deep-purple .mdui-slider-fill:before { + background-color: #7c4dff; +} +.mdui-theme-accent-deep-purple .mdui-slider-thumb { + background-color: #7c4dff; + border: 2px solid #7c4dff; +} +.mdui-theme-accent-green .mdui-slider-fill:before { + background-color: #69f0ae; +} +.mdui-theme-accent-green .mdui-slider-thumb { + background-color: #69f0ae; + border: 2px solid #69f0ae; +} +.mdui-theme-accent-indigo .mdui-slider-fill:before { + background-color: #536dfe; +} +.mdui-theme-accent-indigo .mdui-slider-thumb { + background-color: #536dfe; + border: 2px solid #536dfe; +} +.mdui-theme-accent-light-blue .mdui-slider-fill:before { + background-color: #40c4ff; +} +.mdui-theme-accent-light-blue .mdui-slider-thumb { + background-color: #40c4ff; + border: 2px solid #40c4ff; +} +.mdui-theme-accent-light-green .mdui-slider-fill:before { + background-color: #b2ff59; +} +.mdui-theme-accent-light-green .mdui-slider-thumb { + background-color: #b2ff59; + border: 2px solid #b2ff59; +} +.mdui-theme-accent-lime .mdui-slider-fill:before { + background-color: #eeff41; +} +.mdui-theme-accent-lime .mdui-slider-thumb { + background-color: #eeff41; + border: 2px solid #eeff41; +} +.mdui-theme-accent-orange .mdui-slider-fill:before { + background-color: #ffab40; +} +.mdui-theme-accent-orange .mdui-slider-thumb { + background-color: #ffab40; + border: 2px solid #ffab40; +} +.mdui-theme-accent-pink .mdui-slider-fill:before { + background-color: #ff4081; +} +.mdui-theme-accent-pink .mdui-slider-thumb { + background-color: #ff4081; + border: 2px solid #ff4081; +} +.mdui-theme-accent-purple .mdui-slider-fill:before { + background-color: #e040fb; +} +.mdui-theme-accent-purple .mdui-slider-thumb { + background-color: #e040fb; + border: 2px solid #e040fb; +} +.mdui-theme-accent-red .mdui-slider-fill:before { + background-color: #ff5252; +} +.mdui-theme-accent-red .mdui-slider-thumb { + background-color: #ff5252; + border: 2px solid #ff5252; +} +.mdui-theme-accent-teal .mdui-slider-fill:before { + background-color: #64ffda; +} +.mdui-theme-accent-teal .mdui-slider-thumb { + background-color: #64ffda; + border: 2px solid #64ffda; +} +.mdui-theme-accent-yellow .mdui-slider-fill:before { + background-color: #ff0; +} +.mdui-theme-accent-yellow .mdui-slider-thumb { + background-color: #ff0; + border: 2px solid #ff0; +} +/** + * ============================================================================= + * ============ Slider 的不同状态 ============ + * ============================================================================= + */ +/* 鼠标按下状态 */ +.mdui-slider-focus .mdui-slider-track:before { + background-color: #9e9e9e; +} +.mdui-slider-focus .mdui-slider-thumb { + -webkit-transform: translate(-50%) scale(1.6); + transform: translate(-50%) scale(1.6); +} +/* 滑块值为 0 */ +.mdui-slider-zero .mdui-slider-thumb { + background-color: #fff; + border-color: #bdbdbd; +} +/* 滑块值为 0,且鼠标按下 */ +.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + border-color: #9e9e9e; +} +/* 禁用状态 */ +.mdui-slider-disabled input[type="range"] { + cursor: default; +} +.mdui-slider-disabled .mdui-slider-track:before { + background-color: #bdbdbd; +} +.mdui-slider-disabled .mdui-slider-fill:before { + background-color: #bdbdbd; +} +.mdui-slider-disabled .mdui-slider-thumb { + background-color: #bdbdbd; + border-color: transparent !important; + -webkit-transform: translate(-50%) scale(.72); + transform: translate(-50%) scale(.72); +} +/** + * ============================================================================= + * ============ 间续型滑块 ============ + * ============================================================================= + */ +.mdui-slider-discrete .mdui-slider-thumb { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + border: none; + -webkit-transform: rotate(-45deg) scale(.4); + transform: rotate(-45deg) scale(.4); +} +.mdui-slider-discrete .mdui-slider-thumb span { + position: absolute; + top: 9px; + left: -1px; + width: 100%; + font-size: 12px; + color: #fff; + text-align: center; + opacity: 0; + -webkit-transition: opacity .25s cubic-bezier(.4, 0, .2, 1); + transition: opacity .25s cubic-bezier(.4, 0, .2, 1); + -webkit-transform: rotate(45deg); + transform: rotate(45deg); +} +.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb { + border-radius: 15px 15px 15px 0; + -webkit-transform: rotate(-45deg) scale(1) translate(22px, -22px); + transform: rotate(-45deg) scale(1) translate(22px, -22px); +} +.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span { + opacity: 1; +} +.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb { + background-color: #323232; +} +.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + background-color: #bdbdbd; +} +.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb { + -webkit-transform: rotate(-45deg) scale(.288); + transform: rotate(-45deg) scale(.288); +} +.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb { + background-color: #bdbdbd; +} +/** + * ============================================================================= + * ************ Slider dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-slider-track:before { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track:before { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb { + background-color: #303030; + border-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + border-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track:before { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill:before { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb { + background-color: #4c4c4c; +} +.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb { + background-color: #fefefe; +} +.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb { + background-color: #5c5c5c; +} +.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb { + background-color: #4c4c4c; +} +/** + * ============================================================================= + * ************ Button 按钮 ************ + * ============================================================================= + */ +/* 默认为 Flat 扁平按钮 */ +.mdui-btn, +.mdui-fab { + position: relative; + display: inline-block; + min-width: 88px; + height: 36px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0 16px; + margin: 0; + overflow: hidden; + font-size: 14px; + font-weight: 500; + line-height: 36px; + color: inherit; + text-align: center; + text-decoration: none; + text-transform: uppercase; + letter-spacing: .04em; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + zoom: 1; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: transparent; + border: none; + border-radius: 2px; + outline: none; + -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1); + transition: all .2s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1); + transition: all .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, 1, 1); + transition: all .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1); + + will-change: box-shadow; + -webkit-user-drag: none; +} +.mdui-btn:hover, +.mdui-fab:hover { + background-color: rgba(0, 0, 0, .1); +} +.mdui-btn:not(.mdui-ripple):active, +.mdui-fab:not(.mdui-ripple):active { + background-color: rgba(0, 0, 0, .165); +} +.mdui-btn[class*="mdui-color-"]:hover, +.mdui-fab[class*="mdui-color-"]:hover { + opacity: .87; +} +.mdui-btn:not(.mdui-ripple)[class*="mdui-color-"]:active, +.mdui-fab:not(.mdui-ripple)[class*="mdui-color-"]:active { + opacity: .76; +} +/* 按钮内的图标 */ +.mdui-btn .mdui-icon-left, +.mdui-btn .mdui-icon-right, +.mdui-btn .mdui-icon-left::before, +.mdui-btn .mdui-icon-right::before { + height: inherit; + font-size: 1.3em; + line-height: inherit; +} +.mdui-btn .mdui-icon-left { + float: left; + margin-right: .4em; +} +.mdui-btn .mdui-icon-right { + float: right; + margin-left: .4em; +} +input.mdui-btn[type="submit"] { + -webkit-appearance: none; + + -moz-appearance: none; + appearance: none; +} +/* Raised button 浮动按钮 */ +.mdui-btn-raised { + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); +} +.mdui-btn-raised:hover { + -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); +} +.mdui-btn-raised:active { + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); +} +/* 禁用按钮 */ +.mdui-btn[disabled], +.mdui-fab[disabled], +.mdui-btn[disabled]:hover, +.mdui-fab[disabled]:hover, +.mdui-btn[disabled]:active, +.mdui-fab[disabled]:active, +.mdui-btn[disabled]:focus, +.mdui-fab[disabled]:focus { + color: rgba(0, 0, 0, .26) !important; + cursor: default !important; + background-color: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + opacity: 1 !important; +} +.mdui-btn[disabled] .mdui-icon, +.mdui-fab[disabled] .mdui-icon, +.mdui-btn[disabled]:hover .mdui-icon, +.mdui-fab[disabled]:hover .mdui-icon, +.mdui-btn[disabled]:active .mdui-icon, +.mdui-fab[disabled]:active .mdui-icon, +.mdui-btn[disabled]:focus .mdui-icon, +.mdui-fab[disabled]:focus .mdui-icon { + color: rgba(0, 0, 0, .26) !important; +} +/* 禁用状态浮动按钮和浮动操作按钮 */ +.mdui-btn-raised[disabled], +.mdui-fab[disabled], +.mdui-btn-raised[disabled]:hover, +.mdui-fab[disabled]:hover, +.mdui-btn-raised[disabled]:active, +.mdui-fab[disabled]:active, +.mdui-btn-raised[disabled]:focus, +.mdui-fab[disabled]:focus { + background-color: rgba(0, 0, 0, .12) !important; + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12) !important; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12) !important; +} +/* 加粗按钮文本 */ +.mdui-btn-bold { + font-weight: bold; +} +/* 图标按钮 */ +.mdui-btn-icon { + width: 36px; + min-width: 36px; + height: 36px; + padding: 0; + margin-right: 0; + margin-left: 0; + overflow: hidden; + font-size: 24px; + line-height: normal; + border-radius: 50%; +} +.mdui-btn-icon .mdui-icon { + position: absolute; + top: 50%; + left: 50%; + width: 24px; + line-height: 24px; + -webkit-transform: translate(-12px, -12px); + transform: translate(-12px, -12px); +} +.mdui-btn-icon.mdui-ripple { + -webkit-transform: translateZ(0); + transform: translateZ(0); +} +/* 按钮 100% 宽度 */ +.mdui-btn-block { + display: block; + width: 100%; +} +/* 密集型按钮 */ +.mdui-btn-dense { + height: 32px; + font-size: 13px; + line-height: 32px; +} +.mdui-btn-dense.mdui-btn-icon { + width: 32px; + min-width: 32px; +} +/* 按钮组 */ +.mdui-btn-group { + position: relative; + display: inline-block; + vertical-align: middle; +} +.mdui-btn-group .mdui-btn { + float: left; + min-width: inherit; + padding: 0 12px; + color: rgba(0, 0, 0, .54); + border-radius: 0; +} +.mdui-btn-group .mdui-btn:before { + position: absolute; + top: 0; + bottom: 0; + left: 0; + content: ' '; + border-left: 1px solid transparent; +} +.mdui-btn-group .mdui-btn:first-child { + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} +.mdui-btn-group .mdui-btn:first-child:before { + border-left: none; +} +.mdui-btn-group .mdui-btn:last-child { + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} +.mdui-btn-group .mdui-btn.mdui-btn-active { + color: rgba(0, 0, 0, .87); + background-color: rgba(0, 0, 0, .215); +} +.mdui-btn-group .mdui-btn.mdui-btn-active + .mdui-btn-active:before { + border-left: 1px solid rgba(0, 0, 0, .145); +} +/** + * ============================================================================= + * ************ Button dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-btn:hover, +.mdui-theme-layout-dark .mdui-fab:hover { + background-color: rgba(255, 255, 255, .1); +} +.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active, +.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active { + background-color: rgba(255, 255, 255, .165); +} +.mdui-theme-layout-dark .mdui-btn[class*="mdui-color-"]:hover, +.mdui-theme-layout-dark .mdui-fab[class*="mdui-color-"]:hover { + opacity: .87; +} +.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*="mdui-color-"]:active, +.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*="mdui-color-"]:active { + opacity: .76; +} +.mdui-theme-layout-dark .mdui-btn[disabled], +.mdui-theme-layout-dark .mdui-fab[disabled], +.mdui-theme-layout-dark .mdui-btn[disabled]:hover, +.mdui-theme-layout-dark .mdui-fab[disabled]:hover, +.mdui-theme-layout-dark .mdui-btn[disabled]:active, +.mdui-theme-layout-dark .mdui-fab[disabled]:active, +.mdui-theme-layout-dark .mdui-btn[disabled]:focus, +.mdui-theme-layout-dark .mdui-fab[disabled]:focus { + color: rgba(255, 255, 255, .3) !important; + background-color: transparent !important; +} +.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon, +.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon, +.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon, +.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon, +.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon, +.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon, +.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon, +.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon { + color: rgba(255, 255, 255, .3) !important; +} +.mdui-theme-layout-dark .mdui-btn-raised[disabled], +.mdui-theme-layout-dark .mdui-fab[disabled], +.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover, +.mdui-theme-layout-dark .mdui-fab[disabled]:hover, +.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active, +.mdui-theme-layout-dark .mdui-fab[disabled]:active, +.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus, +.mdui-theme-layout-dark .mdui-fab[disabled]:focus { + background-color: rgba(255, 255, 255, .12) !important; +} +/** + * ============================================================================= + * ************ Fab 浮动操作按钮 ************ + * ============================================================================= + */ +/* 浮动操作按钮 */ +.mdui-fab { + width: 56px; + min-width: 56px; + height: 56px; + padding: 0 !important; + margin: auto; + overflow: hidden; + font-size: 24px; + line-height: normal !important; + border-radius: 50%; + -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12); +} +.mdui-fab:hover { + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); +} +.mdui-fab:active { + -webkit-box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12); + box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12); +} +.mdui-fab .mdui-icon { + position: absolute; + top: 0; + left: 0; + width: 24px; + margin-top: 16px; + margin-left: 16px; + line-height: 24px; +} +/* mini 型浮动操作按钮 */ +.mdui-fab-mini { + width: 40px; + min-width: 40px; + height: 40px; +} +.mdui-fab-mini .mdui-icon { + margin-top: 8px; + margin-left: 8px; +} +/* 固定到右下角的 FAB 按钮 */ +.mdui-fab-fixed, +.mdui-fab-wrapper { + position: fixed !important; + /* 手机平板上距离屏幕右下角 16px */ + right: 16px; + bottom: 16px; +} +@media (min-width: 1024px) { + .mdui-fab-fixed, + .mdui-fab-wrapper { + /* 电脑上距离屏幕右下角 24px */ + right: 24px; + bottom: 24px; + } +} +/* 含菜单的浮动操作按钮 */ +.mdui-fab-wrapper { + position: relative; + z-index: 4000; + width: 56px; + height: 56px; + padding-top: 8px; + text-align: center; +} +.mdui-fab-wrapper > .mdui-fab .mdui-icon:not(.mdui-fab-opened) { + opacity: 1; + -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1); + transition: all .2s cubic-bezier(.4, 0, .2, 1); + + will-change: opacity, transform; +} +.mdui-fab-wrapper > .mdui-fab .mdui-icon.mdui-fab-opened { + opacity: 0; + -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1); + transition: all .2s cubic-bezier(.4, 0, .2, 1); + -webkit-transform: rotate(225deg); + transform: rotate(225deg); + + will-change: opacity, transform; +} +.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened) { + opacity: 0; + -webkit-transform: rotate(225deg); + transform: rotate(225deg); +} +.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened { + opacity: 1; + -webkit-transform: rotate(360deg); + transform: rotate(360deg); +} +.mdui-fab-wrapper > .mdui-fab-mini { + margin-top: 8px; +} +.mdui-fab-wrapper .mdui-fab-dial { + position: absolute; + right: 0; + bottom: 64px; + left: 0; + height: 0; + text-align: center; + visibility: visible; +} +.mdui-fab-wrapper .mdui-fab-dial .mdui-fab { + margin: 8px 0; + opacity: 0; + -webkit-transition: color .2s cubic-bezier(.4, 0, .2, 1), opacity 150ms cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform 150ms cubic-bezier(.4, 0, .2, 1); + transition: color .2s cubic-bezier(.4, 0, .2, 1), opacity 150ms cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform 150ms cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .2s cubic-bezier(.4, 0, 1, 1), color .2s cubic-bezier(.4, 0, .2, 1), transform 150ms cubic-bezier(.4, 0, .2, 1), opacity 150ms cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .2s cubic-bezier(.4, 0, 1, 1), color .2s cubic-bezier(.4, 0, .2, 1), transform 150ms cubic-bezier(.4, 0, .2, 1), opacity 150ms cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform 150ms cubic-bezier(.4, 0, .2, 1); + -webkit-transform: scale(0); + transform: scale(0); +} +.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); +} +/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */ +.mdui-fab, +.mdui-fab-mini, +.mdui-fab-wrapper { + -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform .2s; + transition: all .2s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform .2s; + transition: all .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, 1, 1), transform .2s; + transition: all .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, 1, 1), transform .2s, -webkit-box-shadow .2s cubic-bezier(.4, 0, 1, 1), -webkit-transform .2s; + -webkit-transform: scale(1) translateZ(0); + transform: scale(1) translateZ(0); + + will-change: transform; +} +.mdui-fab.mdui-fab-hide, +.mdui-fab-mini.mdui-fab-hide, +.mdui-fab-wrapper.mdui-fab-hide { + -webkit-transform: scale(0) translateZ(0); + transform: scale(0) translateZ(0); +} +/** + * ============================================================================= + * ************ Select 下拉选择 ************ + * ============================================================================= + */ +.mdui-select { + position: relative; + display: inline-block; + max-width: 100%; + height: 36px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -webkit-appearance: none; + padding-right: 24px; + padding-left: 0; + font-family: Roboto, Noto, Helvetica, Arial, sans-serif; + font-size: 16px; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%2F%3E%3C%2Fsvg%3E%0A"); + background-repeat: no-repeat; + background-position: right center; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, .12); + outline: none; + -webkit-transition-timing-function: cubic-bezier(.4, 0, .2, 1); + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + -webkit-transition-duration: .2s; + transition-duration: .2s; + -webkit-transition-property: background-color, background-position-x, -webkit-box-shadow; + transition-property: background-color, background-position-x, -webkit-box-shadow; + transition-property: background-color, box-shadow, background-position-x; + transition-property: background-color, box-shadow, background-position-x, -webkit-box-shadow; + + -moz-appearance: none; + appearance: none; + will-change: background-color, box-shadow, background-position-x; +} +.mdui-select.mdui-select-open { + border-bottom: none; +} +.mdui-select-position-top { + background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A"); +} +/* 底部和顶部菜单的样式 */ +.mdui-select-open.mdui-select-position-top, +.mdui-select-open.mdui-select-position-bottom { + z-index: 99999; + background-color: #fff; + background-position-x: calc(100% - 12px); + border-radius: 2px; +} +.mdui-select-open.mdui-select-position-top { + border-top: 1px solid rgba(0, 0, 0, .12); + border-bottom: 2px solid transparent; + border-top-left-radius: 0; + border-top-right-radius: 0; + -webkit-box-shadow: 0 10px 10px -3px rgba(0, 0, 0, .2), 0 0 14px 1px rgba(0, 0, 0, .14), 0 -7px 24px 2px rgba(0, 0, 0, .12); + box-shadow: 0 10px 10px -3px rgba(0, 0, 0, .2), 0 0 14px 1px rgba(0, 0, 0, .14), 0 -7px 24px 2px rgba(0, 0, 0, .12); +} +.mdui-select-open.mdui-select-position-top .mdui-select-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + -webkit-box-shadow: 0 -4px 4px -2px rgba(0, 0, 0, .06), 8px 0 8px -4px rgba(0, 0, 0, .12), -8px 0 8px -4px rgba(0, 0, 0, .12); + box-shadow: 0 -4px 4px -2px rgba(0, 0, 0, .06), 8px 0 8px -4px rgba(0, 0, 0, .12), -8px 0 8px -4px rgba(0, 0, 0, .12); +} +.mdui-select-open.mdui-select-position-bottom { + border-bottom: 1px solid rgba(0, 0, 0, .12); + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); +} +.mdui-select-open.mdui-select-position-bottom .mdui-select-menu { + border-top-left-radius: 0; + border-top-right-radius: 0; + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 9px 9px 1px rgba(0, 0, 0, .14), 0 8px 8px 2px rgba(0, 0, 0, .06); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 9px 9px 1px rgba(0, 0, 0, .14), 0 8px 8px 2px rgba(0, 0, 0, .06); +} +/* 当前选中项文本 */ +.mdui-select-selected { + position: absolute; + top: 50%; + right: 24px; + left: 0; + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + -webkit-transition: left .2s cubic-bezier(0, 0, .2, 1); + transition: left .2s cubic-bezier(0, 0, .2, 1); + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +.mdui-select-open .mdui-select-selected { + right: 32px; + left: 16px; +} +.mdui-select-open.mdui-select-position-auto .mdui-select-selected { + visibility: hidden; +} +/* 菜单 */ +.mdui-select-menu { + position: relative; + z-index: 99999; + height: 36px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 0 -24px 0 0; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + color: rgba(0, 0, 0, .87); + cursor: default; + visibility: hidden; + background-color: #fff; + border-radius: 2px; + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); + opacity: 0; + -webkit-transition-timing-function: cubic-bezier(0, 0, .2, 1); + transition-timing-function: cubic-bezier(0, 0, .2, 1); + -webkit-transition-duration: .2s; + transition-duration: .2s; + -webkit-transition-property: opacity, visibility, -webkit-transform; + transition-property: opacity, visibility, -webkit-transform; + transition-property: transform, opacity, visibility; + transition-property: transform, opacity, visibility, -webkit-transform; + -webkit-transform: scale(1, 0); + transform: scale(1, 0); + + will-change: transform, opacity, visibility; +} +.mdui-select-open .mdui-select-menu { + overflow-y: hidden; + visibility: visible; + opacity: 1; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); +} +.mdui-select-closing .mdui-select-menu { + overflow-y: hidden; + visibility: visible; + -webkit-box-shadow: none; + box-shadow: none; + opacity: 0; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); +} +/* 菜单项 */ +.mdui-select-menu-item { + height: 48px; + padding: 0 16px; + overflow: hidden; + line-height: 48px; + text-overflow: ellipsis; + white-space: nowrap; + cursor: pointer; +} +.mdui-select-menu-item:hover { + background-color: #eee; +} +.mdui-select-menu-item:first-child { + margin-top: 8px; +} +.mdui-select-menu-item:last-child { + margin-bottom: 8px; +} +.mdui-select-menu-item[disabled] { + color: rgba(0, 0, 0, .38) !important; + cursor: default; +} +.mdui-select-menu-item[disabled]:hover { + background-color: inherit !important; +} +.mdui-select-menu-item[selected] { + color: #ff4081; +} +/* 原生 select 组件 */ +select.mdui-select { + background-color: transparent; +} +select.mdui-select option { + color: rgba(0, 0, 0, .87); +} +select.mdui-select::-ms-expand { + display: none; +} +/* 原生多选 select 组件 */ +select.mdui-select[multiple] { + height: auto; + padding: 0; + font-size: 15px; + cursor: default; + background-color: #fff; + background-image: none; + border: 1px solid rgba(0, 0, 0, .38); +} +select.mdui-select[multiple] optgroup { + padding: 0 0 0 16px; + margin: 8px 0 0 0; + color: rgba(0, 0, 0, .38); +} +select.mdui-select[multiple] optgroup:last-child { + margin-bottom: 8px; +} +select.mdui-select[multiple] optgroup:not(:first-child) { + padding-top: 8px; + border-top: 1px solid rgba(0, 0, 0, .12); +} +select.mdui-select[multiple] option { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + height: 32px; + padding: 0 16px; + margin: 0 0 0 -16px; + color: rgba(0, 0, 0, .87); + + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} +select.mdui-select[multiple] option:first-child { + margin-top: 8px; +} +select.mdui-select[multiple] option:last-child { + margin-bottom: 8px; +} +/** + * ============================================================================= + * ************ Select 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-select-menu-item[selected] { + color: #ffc107; +} +.mdui-theme-accent-blue .mdui-select-menu-item[selected] { + color: #2196f3; +} +.mdui-theme-accent-cyan .mdui-select-menu-item[selected] { + color: #00bcd4; +} +.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected] { + color: #ff5722; +} +.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected] { + color: #673ab7; +} +.mdui-theme-accent-green .mdui-select-menu-item[selected] { + color: #4caf50; +} +.mdui-theme-accent-indigo .mdui-select-menu-item[selected] { + color: #3f51b5; +} +.mdui-theme-accent-light-blue .mdui-select-menu-item[selected] { + color: #03a9f4; +} +.mdui-theme-accent-light-green .mdui-select-menu-item[selected] { + color: #8bc34a; +} +.mdui-theme-accent-lime .mdui-select-menu-item[selected] { + color: #cddc39; +} +.mdui-theme-accent-orange .mdui-select-menu-item[selected] { + color: #ff9800; +} +.mdui-theme-accent-pink .mdui-select-menu-item[selected] { + color: #e91e63; +} +.mdui-theme-accent-purple .mdui-select-menu-item[selected] { + color: #9c27b0; +} +.mdui-theme-accent-red .mdui-select-menu-item[selected] { + color: #f44336; +} +.mdui-theme-accent-teal .mdui-select-menu-item[selected] { + color: #009688; +} +.mdui-theme-accent-yellow .mdui-select-menu-item[selected] { + color: #ffeb3b; +} +/** + * ============================================================================= + * ************ Select dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-select { + background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A"); + border-bottom: 1px solid rgba(255, 255, 255, .12); +} +.mdui-theme-layout-dark .mdui-select-position-top { + background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A"); +} +.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top, +.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom { + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top { + border-top: 1px solid rgba(255, 255, 255, .12); +} +.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom { + border-bottom: 1px solid rgba(255, 255, 255, .12); +} +.mdui-theme-layout-dark .mdui-select-menu { + color: #fff; + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-select-menu-item:hover { + background-color: #616161; +} +.mdui-theme-layout-dark .mdui-select-menu-item[disabled] { + color: rgba(255, 255, 255, .5) !important; +} +.mdui-theme-layout-dark select.mdui-select { + color: #fff; + background-color: #303030; +} +.mdui-theme-layout-dark select.mdui-select option { + color: #fff; + background-color: #303030; +} +.mdui-theme-layout-dark select.mdui-select[multiple] { + border: 1px solid rgba(255, 255, 255, .5); +} +.mdui-theme-layout-dark select.mdui-select[multiple] optgroup { + color: rgba(255, 255, 255, .5); +} +.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child) { + border-top: 1px solid rgba(255, 255, 255, .12); +} +/** + * ============================================================================= + * ************ Grid 网格系统 ************ + * ============================================================================= + */ +.mdui-container, +.mdui-container-fluid { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-right: 8px; + padding-left: 8px; + margin-right: auto; + margin-left: auto; +} +.mdui-container:after, +.mdui-container-fluid:after { + display: table; + clear: both; + content: ''; +} +.mdui-container { + width: 96%; + max-width: 1280px; +} +@media (min-width: 600px) { + .mdui-container { + width: 94%; + } +} +@media (min-width: 1024px) { + .mdui-container { + width: 92%; + } +} +.mdui-row, +[class*="mdui-row-"] { + margin-right: -8px; + margin-left: -8px; +} +.mdui-row:after, +[class*="mdui-row-"]:after { + display: table; + clear: both; + content: ''; +} +[class*="mdui-col-xs-"], +[class*="mdui-col-sm-"], +[class*="mdui-col-md-"], +[class*="mdui-col-lg-"], +[class*="mdui-col-xl-"], +.mdui-col { + position: relative; + min-height: 1px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-right: 8px; + padding-left: 8px; +} +/* 取消列间距 */ +.mdui-row-gapless .mdui-col, +.mdui-row-gapless [class*="mdui-col-xs-"], +.mdui-row-gapless [class*="mdui-col-sm-"], +.mdui-row-gapless [class*="mdui-col-md-"], +.mdui-row-gapless [class*="mdui-col-lg-"], +.mdui-row-gapless [class*="mdui-col-xl-"] { + padding-right: 0; + padding-left: 0; +} +.mdui-row-gapless .mdui-row, +.mdui-row-gapless [class*="mdui-row-"] { + margin-right: 0; + margin-left: 0; +} +.mdui-col-xs-1 { + float: left; + width: 8.333333%; +} +.mdui-col-offset-xs-1 { + margin-left: 8.333333%; +} +.mdui-row-xs-1 .mdui-col { + float: left; + width: 100%; +} +.mdui-col-xs-2 { + float: left; + width: 16.666667%; +} +.mdui-col-offset-xs-2 { + margin-left: 16.666667%; +} +.mdui-row-xs-2 .mdui-col { + float: left; + width: 50%; +} +.mdui-col-xs-3 { + float: left; + width: 25%; +} +.mdui-col-offset-xs-3 { + margin-left: 25%; +} +.mdui-row-xs-3 .mdui-col { + float: left; + width: 33.333333%; +} +.mdui-col-xs-4 { + float: left; + width: 33.333333%; +} +.mdui-col-offset-xs-4 { + margin-left: 33.333333%; +} +.mdui-row-xs-4 .mdui-col { + float: left; + width: 25%; +} +.mdui-col-xs-5 { + float: left; + width: 41.666667%; +} +.mdui-col-offset-xs-5 { + margin-left: 41.666667%; +} +.mdui-row-xs-5 .mdui-col { + float: left; + width: 20%; +} +.mdui-col-xs-6 { + float: left; + width: 50%; +} +.mdui-col-offset-xs-6 { + margin-left: 50%; +} +.mdui-row-xs-6 .mdui-col { + float: left; + width: 16.666667%; +} +.mdui-col-xs-7 { + float: left; + width: 58.333333%; +} +.mdui-col-offset-xs-7 { + margin-left: 58.333333%; +} +.mdui-row-xs-7 .mdui-col { + float: left; + width: 14.285714%; +} +.mdui-col-xs-8 { + float: left; + width: 66.666667%; +} +.mdui-col-offset-xs-8 { + margin-left: 66.666667%; +} +.mdui-row-xs-8 .mdui-col { + float: left; + width: 12.5%; +} +.mdui-col-xs-9 { + float: left; + width: 75%; +} +.mdui-col-offset-xs-9 { + margin-left: 75%; +} +.mdui-row-xs-9 .mdui-col { + float: left; + width: 11.111111%; +} +.mdui-col-xs-10 { + float: left; + width: 83.333333%; +} +.mdui-col-offset-xs-10 { + margin-left: 83.333333%; +} +.mdui-row-xs-10 .mdui-col { + float: left; + width: 10%; +} +.mdui-col-xs-11 { + float: left; + width: 91.666667%; +} +.mdui-col-offset-xs-11 { + margin-left: 91.666667%; +} +.mdui-row-xs-11 .mdui-col { + float: left; + width: 9.090909%; +} +.mdui-col-xs-12 { + float: left; + width: 100%; +} +.mdui-col-offset-xs-12 { + margin-left: 100%; +} +.mdui-row-xs-12 .mdui-col { + float: left; + width: 8.333333%; +} +@media (min-width: 600px) { + .mdui-col-sm-1 { + float: left; + width: 8.333333%; + } + .mdui-col-offset-sm-1 { + margin-left: 8.333333%; + } + .mdui-row-sm-1 .mdui-col { + float: left; + width: 100%; + } + .mdui-col-sm-2 { + float: left; + width: 16.666667%; + } + .mdui-col-offset-sm-2 { + margin-left: 16.666667%; + } + .mdui-row-sm-2 .mdui-col { + float: left; + width: 50%; + } + .mdui-col-sm-3 { + float: left; + width: 25%; + } + .mdui-col-offset-sm-3 { + margin-left: 25%; + } + .mdui-row-sm-3 .mdui-col { + float: left; + width: 33.333333%; + } + .mdui-col-sm-4 { + float: left; + width: 33.333333%; + } + .mdui-col-offset-sm-4 { + margin-left: 33.333333%; + } + .mdui-row-sm-4 .mdui-col { + float: left; + width: 25%; + } + .mdui-col-sm-5 { + float: left; + width: 41.666667%; + } + .mdui-col-offset-sm-5 { + margin-left: 41.666667%; + } + .mdui-row-sm-5 .mdui-col { + float: left; + width: 20%; + } + .mdui-col-sm-6 { + float: left; + width: 50%; + } + .mdui-col-offset-sm-6 { + margin-left: 50%; + } + .mdui-row-sm-6 .mdui-col { + float: left; + width: 16.666667%; + } + .mdui-col-sm-7 { + float: left; + width: 58.333333%; + } + .mdui-col-offset-sm-7 { + margin-left: 58.333333%; + } + .mdui-row-sm-7 .mdui-col { + float: left; + width: 14.285714%; + } + .mdui-col-sm-8 { + float: left; + width: 66.666667%; + } + .mdui-col-offset-sm-8 { + margin-left: 66.666667%; + } + .mdui-row-sm-8 .mdui-col { + float: left; + width: 12.5%; + } + .mdui-col-sm-9 { + float: left; + width: 75%; + } + .mdui-col-offset-sm-9 { + margin-left: 75%; + } + .mdui-row-sm-9 .mdui-col { + float: left; + width: 11.111111%; + } + .mdui-col-sm-10 { + float: left; + width: 83.333333%; + } + .mdui-col-offset-sm-10 { + margin-left: 83.333333%; + } + .mdui-row-sm-10 .mdui-col { + float: left; + width: 10%; + } + .mdui-col-sm-11 { + float: left; + width: 91.666667%; + } + .mdui-col-offset-sm-11 { + margin-left: 91.666667%; + } + .mdui-row-sm-11 .mdui-col { + float: left; + width: 9.090909%; + } + .mdui-col-sm-12 { + float: left; + width: 100%; + } + .mdui-col-offset-sm-12 { + margin-left: 100%; + } + .mdui-row-sm-12 .mdui-col { + float: left; + width: 8.333333%; + } +} +@media (min-width: 1024px) { + .mdui-col-md-1 { + float: left; + width: 8.333333%; + } + .mdui-col-offset-md-1 { + margin-left: 8.333333%; + } + .mdui-row-md-1 .mdui-col { + float: left; + width: 100%; + } + .mdui-col-md-2 { + float: left; + width: 16.666667%; + } + .mdui-col-offset-md-2 { + margin-left: 16.666667%; + } + .mdui-row-md-2 .mdui-col { + float: left; + width: 50%; + } + .mdui-col-md-3 { + float: left; + width: 25%; + } + .mdui-col-offset-md-3 { + margin-left: 25%; + } + .mdui-row-md-3 .mdui-col { + float: left; + width: 33.333333%; + } + .mdui-col-md-4 { + float: left; + width: 33.333333%; + } + .mdui-col-offset-md-4 { + margin-left: 33.333333%; + } + .mdui-row-md-4 .mdui-col { + float: left; + width: 25%; + } + .mdui-col-md-5 { + float: left; + width: 41.666667%; + } + .mdui-col-offset-md-5 { + margin-left: 41.666667%; + } + .mdui-row-md-5 .mdui-col { + float: left; + width: 20%; + } + .mdui-col-md-6 { + float: left; + width: 50%; + } + .mdui-col-offset-md-6 { + margin-left: 50%; + } + .mdui-row-md-6 .mdui-col { + float: left; + width: 16.666667%; + } + .mdui-col-md-7 { + float: left; + width: 58.333333%; + } + .mdui-col-offset-md-7 { + margin-left: 58.333333%; + } + .mdui-row-md-7 .mdui-col { + float: left; + width: 14.285714%; + } + .mdui-col-md-8 { + float: left; + width: 66.666667%; + } + .mdui-col-offset-md-8 { + margin-left: 66.666667%; + } + .mdui-row-md-8 .mdui-col { + float: left; + width: 12.5%; + } + .mdui-col-md-9 { + float: left; + width: 75%; + } + .mdui-col-offset-md-9 { + margin-left: 75%; + } + .mdui-row-md-9 .mdui-col { + float: left; + width: 11.111111%; + } + .mdui-col-md-10 { + float: left; + width: 83.333333%; + } + .mdui-col-offset-md-10 { + margin-left: 83.333333%; + } + .mdui-row-md-10 .mdui-col { + float: left; + width: 10%; + } + .mdui-col-md-11 { + float: left; + width: 91.666667%; + } + .mdui-col-offset-md-11 { + margin-left: 91.666667%; + } + .mdui-row-md-11 .mdui-col { + float: left; + width: 9.090909%; + } + .mdui-col-md-12 { + float: left; + width: 100%; + } + .mdui-col-offset-md-12 { + margin-left: 100%; + } + .mdui-row-md-12 .mdui-col { + float: left; + width: 8.333333%; + } +} +@media (min-width: 1440px) { + .mdui-col-lg-1 { + float: left; + width: 8.333333%; + } + .mdui-col-offset-lg-1 { + margin-left: 8.333333%; + } + .mdui-row-lg-1 .mdui-col { + float: left; + width: 100%; + } + .mdui-col-lg-2 { + float: left; + width: 16.666667%; + } + .mdui-col-offset-lg-2 { + margin-left: 16.666667%; + } + .mdui-row-lg-2 .mdui-col { + float: left; + width: 50%; + } + .mdui-col-lg-3 { + float: left; + width: 25%; + } + .mdui-col-offset-lg-3 { + margin-left: 25%; + } + .mdui-row-lg-3 .mdui-col { + float: left; + width: 33.333333%; + } + .mdui-col-lg-4 { + float: left; + width: 33.333333%; + } + .mdui-col-offset-lg-4 { + margin-left: 33.333333%; + } + .mdui-row-lg-4 .mdui-col { + float: left; + width: 25%; + } + .mdui-col-lg-5 { + float: left; + width: 41.666667%; + } + .mdui-col-offset-lg-5 { + margin-left: 41.666667%; + } + .mdui-row-lg-5 .mdui-col { + float: left; + width: 20%; + } + .mdui-col-lg-6 { + float: left; + width: 50%; + } + .mdui-col-offset-lg-6 { + margin-left: 50%; + } + .mdui-row-lg-6 .mdui-col { + float: left; + width: 16.666667%; + } + .mdui-col-lg-7 { + float: left; + width: 58.333333%; + } + .mdui-col-offset-lg-7 { + margin-left: 58.333333%; + } + .mdui-row-lg-7 .mdui-col { + float: left; + width: 14.285714%; + } + .mdui-col-lg-8 { + float: left; + width: 66.666667%; + } + .mdui-col-offset-lg-8 { + margin-left: 66.666667%; + } + .mdui-row-lg-8 .mdui-col { + float: left; + width: 12.5%; + } + .mdui-col-lg-9 { + float: left; + width: 75%; + } + .mdui-col-offset-lg-9 { + margin-left: 75%; + } + .mdui-row-lg-9 .mdui-col { + float: left; + width: 11.111111%; + } + .mdui-col-lg-10 { + float: left; + width: 83.333333%; + } + .mdui-col-offset-lg-10 { + margin-left: 83.333333%; + } + .mdui-row-lg-10 .mdui-col { + float: left; + width: 10%; + } + .mdui-col-lg-11 { + float: left; + width: 91.666667%; + } + .mdui-col-offset-lg-11 { + margin-left: 91.666667%; + } + .mdui-row-lg-11 .mdui-col { + float: left; + width: 9.090909%; + } + .mdui-col-lg-12 { + float: left; + width: 100%; + } + .mdui-col-offset-lg-12 { + margin-left: 100%; + } + .mdui-row-lg-12 .mdui-col { + float: left; + width: 8.333333%; + } +} +@media (min-width: 1920px) { + .mdui-col-xl-1 { + float: left; + width: 8.333333%; + } + .mdui-col-offset-xl-1 { + margin-left: 8.333333%; + } + .mdui-row-xl-1 .mdui-col { + float: left; + width: 100%; + } + .mdui-col-xl-2 { + float: left; + width: 16.666667%; + } + .mdui-col-offset-xl-2 { + margin-left: 16.666667%; + } + .mdui-row-xl-2 .mdui-col { + float: left; + width: 50%; + } + .mdui-col-xl-3 { + float: left; + width: 25%; + } + .mdui-col-offset-xl-3 { + margin-left: 25%; + } + .mdui-row-xl-3 .mdui-col { + float: left; + width: 33.333333%; + } + .mdui-col-xl-4 { + float: left; + width: 33.333333%; + } + .mdui-col-offset-xl-4 { + margin-left: 33.333333%; + } + .mdui-row-xl-4 .mdui-col { + float: left; + width: 25%; + } + .mdui-col-xl-5 { + float: left; + width: 41.666667%; + } + .mdui-col-offset-xl-5 { + margin-left: 41.666667%; + } + .mdui-row-xl-5 .mdui-col { + float: left; + width: 20%; + } + .mdui-col-xl-6 { + float: left; + width: 50%; + } + .mdui-col-offset-xl-6 { + margin-left: 50%; + } + .mdui-row-xl-6 .mdui-col { + float: left; + width: 16.666667%; + } + .mdui-col-xl-7 { + float: left; + width: 58.333333%; + } + .mdui-col-offset-xl-7 { + margin-left: 58.333333%; + } + .mdui-row-xl-7 .mdui-col { + float: left; + width: 14.285714%; + } + .mdui-col-xl-8 { + float: left; + width: 66.666667%; + } + .mdui-col-offset-xl-8 { + margin-left: 66.666667%; + } + .mdui-row-xl-8 .mdui-col { + float: left; + width: 12.5%; + } + .mdui-col-xl-9 { + float: left; + width: 75%; + } + .mdui-col-offset-xl-9 { + margin-left: 75%; + } + .mdui-row-xl-9 .mdui-col { + float: left; + width: 11.111111%; + } + .mdui-col-xl-10 { + float: left; + width: 83.333333%; + } + .mdui-col-offset-xl-10 { + margin-left: 83.333333%; + } + .mdui-row-xl-10 .mdui-col { + float: left; + width: 10%; + } + .mdui-col-xl-11 { + float: left; + width: 91.666667%; + } + .mdui-col-offset-xl-11 { + margin-left: 91.666667%; + } + .mdui-row-xl-11 .mdui-col { + float: left; + width: 9.090909%; + } + .mdui-col-xl-12 { + float: left; + width: 100%; + } + .mdui-col-offset-xl-12 { + margin-left: 100%; + } + .mdui-row-xl-12 .mdui-col { + float: left; + width: 8.333333%; + } +} +/** + * ============================================================================= + * ************ Toolbar 工具栏 ************ + * ============================================================================= + */ +.mdui-toolbar { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + width: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} +.mdui-toolbar > * { + margin: 0 16px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.mdui-toolbar[class*="mdui-color-"]:not(.mdui-color-transparent) .mdui-btn:hover { + background-color: rgba(255, 255, 255, .1); +} +.mdui-toolbar[class*="mdui-color-"]:not(.mdui-color-transparent) .mdui-btn:active { + background-color: rgba(255, 255, 255, .165); +} +.mdui-toolbar > a { + color: inherit; + text-decoration: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-toolbar > .mdui-btn-icon { + width: 48px; + min-width: 48px; + height: 48px; +} +@media (orientation: landscape) and (max-width: 959px) { + .mdui-toolbar > .mdui-btn-icon { + width: 40px; + min-width: 40px; + height: 40px; + } +} +.mdui-toolbar > .mdui-btn-icon .mdui-icon { + height: 24px; + line-height: 24px; +} +.mdui-toolbar .mdui-icon { + color: inherit; +} +.mdui-toolbar-spacer { + margin: 0; + + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} +/* 手机 */ +.mdui-toolbar { + height: 56px; + line-height: 56px; +} +.mdui-toolbar > .mdui-btn { + margin: 0 4px; +} +.mdui-toolbar > .mdui-btn + .mdui-btn { + margin-left: 0; +} +@media (min-width: 600px) { + .mdui-appbar .mdui-toolbar { + height: 64px; + line-height: 64px; + } + .mdui-appbar .mdui-toolbar > .mdui-btn { + margin: 0 8px; + } + .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn { + margin-left: 0; + } +} +@media (orientation: landscape) and (max-width: 959px) { + .mdui-appbar .mdui-toolbar { + height: 48px; + line-height: 48px; + } + .mdui-appbar .mdui-toolbar > .mdui-btn { + margin: 0 4px; + } + .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn { + margin-left: 0; + } +} +/** + * ============================================================================= + * ************ Appbar 应用栏 ************ + * ============================================================================= + */ +.mdui-appbar { + z-index: 1000; + -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); +} +/* appbar 固定在顶部 */ +.mdui-appbar-fixed { + position: fixed; + top: 0; + right: 0; + left: 0; + -webkit-transition-timing-function: cubic-bezier(0, 0, .2, 1); + transition-timing-function: cubic-bezier(0, 0, .2, 1); + -webkit-transition-duration: .3s; + transition-duration: .3s; + -webkit-transition-property: left, right; + transition-property: left, right; + + will-change: left, right; +} +/* 左侧留出抽屉栏的距离 */ +@media (min-width: 1024px) { + .mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed { + left: 240px; + } +} +@media (min-width: 1024px) { + .mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed { + right: 240px; + } +} +/* 含工具栏 */ +.mdui-appbar-with-toolbar { + padding-top: 56px; +} +@media (min-width: 600px) { + .mdui-appbar-with-toolbar { + padding-top: 64px; + } +} +@media (orientation: landscape) and (max-width: 959px) { + .mdui-appbar-with-toolbar { + padding-top: 48px; + } +} +/* 含 Tab */ +.mdui-appbar-with-tab { + padding-top: 48px; +} +/* 含大 Tab */ +.mdui-appbar-with-tab-larger { + padding-top: 72px; +} +/* 含工具栏和 Tab */ +.mdui-appbar-with-toolbar.mdui-appbar-with-tab { + padding-top: 104px; +} +@media (min-width: 600px) { + .mdui-appbar-with-toolbar.mdui-appbar-with-tab { + padding-top: 112px; + } +} +@media (orientation: landscape) and (max-width: 959px) { + .mdui-appbar-with-toolbar.mdui-appbar-with-tab { + padding-top: 96px; + } +} +/* 含工具栏和大 Tab */ +.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger { + padding-top: 128px; +} +@media (min-width: 600px) { + .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger { + padding-top: 136px; + } +} +@media (orientation: landscape) and (max-width: 959px) { + .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger { + padding-top: 120px; + } +} +/** + * ============================================================================= + * ************ Appbar dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-appbar > [class*="mdui-color-"]:not(.mdui-color-transparent) { + color: #fff !important; + background-color: #212121 !important; +} +/** + * ============================================================================= + * ************ Card 卡片 ************ + * ============================================================================= + */ +/* 卡片 */ +.mdui-card { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + color: #000; + background-color: #fff; + border-radius: 2px; + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); +} +/** + * ===================== 头部,包含头像、标题、副标题 + */ +.mdui-card-header { + position: relative; + height: 72px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 16px; +} +/* 卡片头部头像 */ +.mdui-card-header-avatar { + float: left; + width: 40px; + height: 40px; + border-radius: 50%; +} +/* 卡片头部标题 */ +.mdui-card-header-title { + display: block; + margin-left: 52px; + overflow: hidden; + font-size: 16px; + font-weight: 500; + line-height: 20px; + text-overflow: ellipsis; + white-space: nowrap; + opacity: .87; +} +/* 卡片头部副标题 */ +.mdui-card-header-subtitle { + display: block; + margin-left: 52px; + overflow: hidden; + font-size: 14px; + font-weight: 400; + line-height: 20px; + text-overflow: ellipsis; + white-space: nowrap; + opacity: .54; +} +/** + * =========================== 主标题区域 + */ +.mdui-card-primary { + position: relative; + padding: 24px 16px 16px 16px; +} +/* 主标题区域标题 */ +.mdui-card-primary-title { + display: block; + font-size: 24px; + line-height: 36px; + opacity: .87; +} +/* 主标题区域副标题 */ +.mdui-card-primary-subtitle { + display: block; + font-size: 14px; + line-height: 24px; + opacity: .54; +} +/** + * ============================ 内容区域 + */ +.mdui-card-content { + position: relative; + padding: 16px; + font-size: 14px; + line-height: 24px; +} +/** + * ============================ 卡片菜单 + */ +.mdui-card-menu { + position: absolute; + top: 16px; + right: 16px; + z-index: 1; +} +.mdui-card-menu .mdui-btn { + margin-left: 8px; +} +/** + * =========================== 按钮区域 + */ +.mdui-card-actions { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 8px; +} +.mdui-card-actions:before, +.mdui-card-actions:after { + display: table; + content: " "; +} +.mdui-card-actions:after { + clear: both; +} +.mdui-card-actions:before, +.mdui-card-actions:after { + display: table; + content: " "; +} +.mdui-card-actions:after { + clear: both; +} +.mdui-card-actions .mdui-btn { + max-width: 100%; + margin: 0 8px 0 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.mdui-card-actions .mdui-btn-icon { + width: 36px; + height: 36px; + margin: 0 8px; +} +/* 使按钮竖向排列 */ +.mdui-card-actions-stacked .mdui-btn { + display: block; + margin: 0 0 4px 0; +} +.mdui-card-actions-stacked .mdui-btn:last-child { + margin: 0; +} +/** + * ============================= 媒体元素区域 + */ +.mdui-card-media { + position: relative; +} +.mdui-card-media img, +.mdui-card-media video { + display: block; + width: 100%; +} +/* 覆盖在媒体元素上的内容 */ +.mdui-card-media-covered { + position: absolute; + right: 0; + bottom: 0; + left: 0; + color: #fff; + background: rgba(0, 0, 0, .2); + /* 覆盖在媒体元素上的标题 */ +} +.mdui-card-media-covered .mdui-card-primary-title { + opacity: 1; +} +.mdui-card-media-covered .mdui-card-primary-subtitle { + opacity: .7; +} +/* 覆盖在媒体元素顶部 */ +.mdui-card-media-covered-top { + top: 0; + bottom: auto; +} +/* 覆盖层透明 */ +.mdui-card-media-covered-transparent { + background: transparent; +} +/* 覆盖层渐变 */ +.mdui-card-media-covered-gradient { + background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .26)), to(rgba(0, 0, 0, 0))); + background: linear-gradient(to top, rgba(0, 0, 0, .26), rgba(0, 0, 0, 0)); +} +.mdui-card-media-covered-gradient.mdui-card-media-covered-top { + background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .26)), to(rgba(0, 0, 0, 0))); + background: linear-gradient(to bottom, rgba(0, 0, 0, .26), rgba(0, 0, 0, 0)); +} +/** + * ============================================================================= + * ************ Card dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-card { + color: #fff; + background-color: #424242; +} +/** + * ============================================================================= + * ************ Tab ************ + * ============================================================================= + * + * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分 + */ +/* 选项卡,默认的选项卡为全宽 */ +.mdui-tab { + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + min-height: 48px; + max-height: 72px; + padding: 0; + margin: 0 auto; + overflow-x: auto; + overflow-y: hidden; + -webkit-overflow-scrolling: touch; + white-space: nowrap; +} +.mdui-tab a { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + min-width: 72px; + min-height: 48px; + max-height: 72px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 12px; + overflow: hidden; + font-size: 14px; + color: inherit; + text-align: center; + text-decoration: none; + text-overflow: ellipsis; + text-transform: uppercase; + cursor: pointer; + flex-direction: column; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + outline: none; + opacity: .7; + + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} +.mdui-tab a .mdui-icon { + opacity: .7; +} +@media (min-width: 600px) { + .mdui-tab a { + min-width: 99px; + max-width: 264px; + padding: 12px 24px; + + -webkit-box-flex: 0; + -webkit-flex: none; + -ms-flex: none; + flex: none; + } +} +@media (min-width: 1024px) { + .mdui-tab a { + min-width: 112px; + } +} +@media (min-width: 1440px) { + .mdui-tab a { + min-width: 136px; + } +} +@media (min-width: 1920px) { + .mdui-tab a { + min-width: 160px; + } +} +.mdui-tab a label { + display: block; + width: 100%; + cursor: pointer; +} +.mdui-tab a .mdui-icon + label { + margin-top: 8px; +} +.mdui-tab a[disabled] { + cursor: default; + opacity: .38; +} +.mdui-tab a[disabled] label { + cursor: default; +} +.mdui-tab .mdui-tab-active { + color: #3f51b5; + opacity: 1; +} +.mdui-tab .mdui-tab-active .mdui-icon { + opacity: 1; +} +/* 选项卡居中 */ +@media (min-width: 600px) { + .mdui-tab-centered:before { + content: ' '; + + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + } + .mdui-tab-centered:after { + content: ' '; + + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + } + .mdui-tab-centered a { + -webkit-box-flex: 0; + -webkit-flex: none; + -ms-flex: none; + flex: none; + } +} +/* 选项卡始终全宽等分 */ +.mdui-tab-full-width a { + max-width: none; + + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; +} +/* 可横向滚动的选项卡 */ +.mdui-tab-scrollable { + padding-left: 56px; +} +.mdui-tab-scrollable a { + -webkit-box-flex: 0; + -webkit-flex: none; + -ms-flex: none; + flex: none; +} +@media (max-width: 599px) { + .mdui-tab-scrollable { + padding-left: 60px; + } +} +/* 下划线指示器 */ +.mdui-tab-indicator { + position: absolute; + bottom: 0; + height: 2px; + background-color: #3f51b5; + -webkit-transition: all .35s cubic-bezier(.4, 0, .2, 1); + transition: all .35s cubic-bezier(.4, 0, .2, 1); + + will-change: left, width; +} +/** + * ============================================================================= + * ************ Tab 主色 ************ + * ============================================================================= + */ +.mdui-theme-primary-amber .mdui-tab .mdui-tab-active { + color: #ffc107; +} +.mdui-theme-primary-amber .mdui-tab-indicator { + background-color: #ffc107; +} +.mdui-theme-primary-blue .mdui-tab .mdui-tab-active { + color: #2196f3; +} +.mdui-theme-primary-blue .mdui-tab-indicator { + background-color: #2196f3; +} +.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active { + color: #607d8b; +} +.mdui-theme-primary-blue-grey .mdui-tab-indicator { + background-color: #607d8b; +} +.mdui-theme-primary-brown .mdui-tab .mdui-tab-active { + color: #795548; +} +.mdui-theme-primary-brown .mdui-tab-indicator { + background-color: #795548; +} +.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active { + color: #00bcd4; +} +.mdui-theme-primary-cyan .mdui-tab-indicator { + background-color: #00bcd4; +} +.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active { + color: #ff5722; +} +.mdui-theme-primary-deep-orange .mdui-tab-indicator { + background-color: #ff5722; +} +.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active { + color: #673ab7; +} +.mdui-theme-primary-deep-purple .mdui-tab-indicator { + background-color: #673ab7; +} +.mdui-theme-primary-green .mdui-tab .mdui-tab-active { + color: #4caf50; +} +.mdui-theme-primary-green .mdui-tab-indicator { + background-color: #4caf50; +} +.mdui-theme-primary-grey .mdui-tab .mdui-tab-active { + color: #9e9e9e; +} +.mdui-theme-primary-grey .mdui-tab-indicator { + background-color: #9e9e9e; +} +.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active { + color: #3f51b5; +} +.mdui-theme-primary-indigo .mdui-tab-indicator { + background-color: #3f51b5; +} +.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active { + color: #03a9f4; +} +.mdui-theme-primary-light-blue .mdui-tab-indicator { + background-color: #03a9f4; +} +.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active { + color: #8bc34a; +} +.mdui-theme-primary-light-green .mdui-tab-indicator { + background-color: #8bc34a; +} +.mdui-theme-primary-lime .mdui-tab .mdui-tab-active { + color: #cddc39; +} +.mdui-theme-primary-lime .mdui-tab-indicator { + background-color: #cddc39; +} +.mdui-theme-primary-orange .mdui-tab .mdui-tab-active { + color: #ff9800; +} +.mdui-theme-primary-orange .mdui-tab-indicator { + background-color: #ff9800; +} +.mdui-theme-primary-pink .mdui-tab .mdui-tab-active { + color: #e91e63; +} +.mdui-theme-primary-pink .mdui-tab-indicator { + background-color: #e91e63; +} +.mdui-theme-primary-purple .mdui-tab .mdui-tab-active { + color: #9c27b0; +} +.mdui-theme-primary-purple .mdui-tab-indicator { + background-color: #9c27b0; +} +.mdui-theme-primary-red .mdui-tab .mdui-tab-active { + color: #f44336; +} +.mdui-theme-primary-red .mdui-tab-indicator { + background-color: #f44336; +} +.mdui-theme-primary-teal .mdui-tab .mdui-tab-active { + color: #009688; +} +.mdui-theme-primary-teal .mdui-tab-indicator { + background-color: #009688; +} +.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active { + color: #ffeb3b; +} +.mdui-theme-primary-yellow .mdui-tab-indicator { + background-color: #ffeb3b; +} +/* 带背景色的选项卡 */ +.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white) .mdui-tab-active { + color: inherit; +} +.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white) .mdui-tab-indicator { + background-color: #fff; +} +.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white)::-webkit-scrollbar { + width: 5px; + height: 5px; + background: transparent; +} +@media (min-width: 1024px) { + .mdui-tab[class*="mdui-color-"]:not(.mdui-color-white)::-webkit-scrollbar { + width: 8px; + height: 8px; + } +} +.mdui-tab[class*="mdui-color-"]:not(.mdui-color-white)::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, .3); +} +/** + * ============================================================================= + * ************ Subheader 副标题 ************ + * ============================================================================= + * + * 用于 List 和 Grid list 组件 + */ +.mdui-subheader, +.mdui-subheader-inset { + position: relative; + height: 48px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-right: 16px; + padding-left: 16px; + overflow: hidden; + font-size: 14px; + font-weight: 500; + line-height: 48px; + color: rgba(0, 0, 0, .54); + text-overflow: ellipsis; + white-space: nowrap; + cursor: default; +} +.mdui-subheader-inset { + padding-left: 72px; +} +/** + * ============================================================================= + * ************ Subheader dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-subheader, +.mdui-theme-layout-dark .mdui-subheader-inset { + color: rgba(255, 255, 255, .7); +} +/** + * ============================================================================= + * ************ Grid List 网格列表 ************ + * ============================================================================= + */ +/* 调整网格边距 */ +.mdui-grid-list { + margin: 0 -2px; +} +.mdui-grid-list .mdui-col, +.mdui-grid-list [class*="mdui-col-xs-"], +.mdui-grid-list [class*="mdui-col-sm-"], +.mdui-grid-list [class*="mdui-col-md-"], +.mdui-grid-list [class*="mdui-col-lg-"], +.mdui-grid-list [class*="mdui-col-xl-"] { + padding-right: 2px; + padding-left: 2px; +} +/* 单元格 */ +.mdui-grid-tile { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 4px; + overflow: hidden; +} +.mdui-grid-tile img { + display: block; + width: 100%; +} +/* 操作栏 */ +.mdui-grid-tile-actions { + position: absolute; + right: 0; + bottom: 0; + left: 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + min-height: 48px; + max-height: 68px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 16px; + color: #fff; + background: rgba(0, 0, 0, .2); + + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} +.mdui-grid-tile-actions .mdui-icon { + color: #fff; +} +/* 操作栏内的文本 */ +.mdui-grid-tile-text { + overflow: hidden; + + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; +} +/* 标题 */ +.mdui-grid-tile-title { + height: 16px; + overflow: hidden; + font-size: 16px; + line-height: 16px; + text-overflow: ellipsis; + white-space: nowrap; +} +.mdui-grid-tile-title .mdui-icon { + margin-right: 8px; +} +/* 副标题 */ +.mdui-grid-tile-subtitle { + height: 18px; + margin-top: 4px; + overflow: hidden; + font-size: 12px; + line-height: 18px; + text-overflow: ellipsis; + white-space: nowrap; +} +.mdui-grid-tile-subtitle .mdui-icon { + margin-right: 8px; + font-size: 18px; +} +/* 操作栏内的按钮 */ +.mdui-grid-tile-buttons { + margin: -8px; + white-space: nowrap; + + -webkit-box-flex: 0; + -webkit-flex: none; + -ms-flex: none; + flex: none; +} +.mdui-grid-tile-buttons .mdui-btn { + margin-left: 8px; +} +.mdui-grid-tile-buttons .mdui-btn:first-child { + margin-left: 0; +} +.mdui-grid-tile-text + .mdui-grid-tile-buttons { + margin-left: 8px; +} +.mdui-grid-tile-buttons + .mdui-grid-tile-text { + margin-left: 16px; +} +/* 操作栏位于顶部 */ +.mdui-grid-tile-actions-top { + top: 0; + bottom: auto; +} +/* 操作栏背景透明 */ +.mdui-grid-tile-actions-transparent { + background: transparent; +} +/* 操作栏背景渐变 */ +.mdui-grid-tile-actions-gradient { + background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .26)), to(rgba(0, 0, 0, 0))); + background: linear-gradient(to top, rgba(0, 0, 0, .26), rgba(0, 0, 0, 0)); +} +.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top { + background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .26)), to(rgba(0, 0, 0, 0))); + background: linear-gradient(to bottom, rgba(0, 0, 0, .26), rgba(0, 0, 0, 0)); +} +/** + * ============================================================================= + * ************ List 列表 ************ + * ============================================================================= + */ +/* 列表 */ +.mdui-list { + padding: 8px 0; + margin: 0; + list-style: none; + background-color: transparent; +} +.mdui-list .mdui-list { + padding: 0; +} +.mdui-list > .mdui-divider, +.mdui-list > .mdui-divider-light, +.mdui-list > .mdui-divider-dark, +.mdui-list > .mdui-divider-inset, +.mdui-list > .mdui-divider-inset-light, +.mdui-list > .mdui-divider-inset-dark { + margin-top: 8px; + margin-bottom: 8px; +} +.mdui-list a { + color: inherit; + text-decoration: none; +} +.mdui-list .mdui-subheader, +.mdui-list .mdui-subheader-inset { + margin-top: 8px; +} +.mdui-list .mdui-subheader:before, +.mdui-list .mdui-subheader-inset:before { + position: absolute; + right: 0; + left: 0; + display: block; + height: 1px; + content: ' '; + background-color: rgba(0, 0, 0, .12); +} +.mdui-list .mdui-subheader:first-child, +.mdui-list .mdui-subheader-inset:first-child { + margin-top: -8px; +} +.mdui-list .mdui-subheader:first-child:before, +.mdui-list .mdui-subheader-inset:first-child:before { + background-color: transparent; +} +.mdui-list .mdui-subheader-inset:before { + left: 72px; +} +/* 列表项 */ +.mdui-list-item { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + min-height: 48px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0 16px; + text-decoration: none; + cursor: pointer; + -webkit-transition: background-color .3s cubic-bezier(.4, 0, .2, 1); + transition: background-color .3s cubic-bezier(.4, 0, .2, 1); + + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} +.mdui-list-item:hover { + background-color: rgba(0, 0, 0, .08); +} +.mdui-list-item:after { + height: 48px; + visibility: hidden; + content: ' '; +} +/* 列表项图标 */ +.mdui-list-item-icon { + width: 24px; + min-width: 24px; + height: 24px; + color: rgba(0, 0, 0, .54); +} +/* 列表项头像 */ +.mdui-list-item-avatar { + min-width: 40px; + max-width: 40px; + height: 40px; + margin-top: 8px; + margin-bottom: 8px; + line-height: 40px; + color: #fff; + text-align: center; + background-color: #bdbdbd; + border-radius: 50%; +} +.mdui-list-item-avatar img { + width: 100%; + height: 100%; + border-radius: 50%; +} +/* 列表项内容 */ +.mdui-list-item-content { + padding-top: 14px; + padding-bottom: 14px; + font-size: 16px; + font-weight: 400; + line-height: 20px; + + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} +/* 列表项内容的副内容 */ +.mdui-list-item-text { + font-size: 14px; + opacity: .54; +} +.mdui-list-item-title ~ .mdui-list-item-text { + margin-top: 4px; +} +/* 激活状态的列表项 */ +.mdui-list-item-active { + font-weight: 700; + background-color: rgba(0, 0, 0, .08); +} +.mdui-list-item-active .mdui-list-item-content { + font-weight: 700; +} +.mdui-list-item-active .mdui-list-item-text { + font-weight: 400; +} +/* 限制文本高度 */ +.mdui-list-item-one-line, +.mdui-list-item-two-line, +.mdui-list-item-three-line { + display: -webkit-box; + overflow: hidden; + text-overflow: ellipsis; + + -webkit-box-orient: vertical; +} +.mdui-list-item-one-line { + height: 20px; + + -webkit-line-clamp: 1; +} +.mdui-list-item-two-line { + height: 40px; + + -webkit-line-clamp: 2; +} +.mdui-list-item-three-line { + height: 60px; + + -webkit-line-clamp: 3; +} +/* 列表项内的元素间添加间距 */ +.mdui-list-item-icon ~ .mdui-list-item-content { + margin-left: 32px; +} +.mdui-checkbox ~ .mdui-list-item-content, +.mdui-radio ~ .mdui-list-item-content, +.mdui-switch ~ .mdui-list-item-content { + margin-left: 20px; +} +.mdui-list-item-avatar ~ .mdui-list-item-content { + margin-left: 16px; +} +.mdui-list-item-content ~ .mdui-list-item-icon, +.mdui-list-item-content ~ .mdui-list-item-avatar, +.mdui-list-item-content ~ .mdui-checkbox, +.mdui-list-item-content ~ .mdui-radio, +.mdui-list-item-content ~ .mdui-switch { + margin-left: 16px; +} +.mdui-list-item-content ~ .mdui-checkbox, +.mdui-list-item-content ~ .mdui-radio { + padding-left: 24px; +} +/* 密集型列表 */ +.mdui-list-dense { + padding: 4px 0; + font-size: 13px; +} +.mdui-list-dense > .mdui-divider, +.mdui-list-dense > .mdui-divider-light, +.mdui-list-dense > .mdui-divider-dark, +.mdui-list-dense > .mdui-divider-inset, +.mdui-list-dense > .mdui-divider-inset-light, +.mdui-list-dense > .mdui-divider-inset-dark { + margin-top: 4px; + margin-bottom: 4px; +} +.mdui-list-dense .mdui-subheader, +.mdui-list-dense .mdui-subheader-inset { + height: 40px; + margin-top: 4px; + font-size: 12px; + line-height: 40px; +} +.mdui-list-dense .mdui-subheader:first-child, +.mdui-list-dense .mdui-subheader-inset:first-child { + margin-top: -4px; +} +.mdui-list-dense .mdui-list-item { + min-height: 40px; +} +.mdui-list-dense .mdui-list-item:after { + height: 40px; +} +.mdui-list-dense .mdui-list-item-icon { + width: 20px; + height: 20px; + font-size: 20px; +} +.mdui-list-dense .mdui-list-item-avatar { + width: 36px; + min-width: 36px; + height: 36px; + min-height: 36px; +} +.mdui-list-dense .mdui-list-item-content { + padding-top: 11px; + padding-bottom: 11px; + font-size: 13px; + line-height: 18px; +} +.mdui-list-dense .mdui-list-item-text { + font-size: 13px; +} +.mdui-list-dense .mdui-list-item-title ~ .mdui-list-item-text { + margin-top: 2px; +} +.mdui-list-dense .mdui-list-item-one-line { + height: 18px; +} +.mdui-list-dense .mdui-list-item-two-line { + height: 36px; +} +.mdui-list-dense .mdui-list-item-three-line { + height: 54px; +} +/** + * ============================================================================= + * ************ List dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-list .mdui-subheader:before, +.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:before { + background-color: rgba(255, 255, 255, .12); +} +.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child:before, +.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child:before { + background-color: transparent; +} +.mdui-theme-layout-dark .mdui-list-item { + color: #fff; +} +.mdui-theme-layout-dark .mdui-list-item:hover { + background-color: rgba(255, 255, 255, .08); +} +.mdui-theme-layout-dark .mdui-list-item-icon { + color: #fff; +} +.mdui-theme-layout-dark .mdui-list-item-text { + opacity: .7; +} +.mdui-theme-layout-dark .mdui-list-item-active { + background-color: rgba(255, 255, 255, .08); +} +/** + * ============================================================================== + * ************ List inner theme ************ + * ============================================================================== + */ +[class*="mdui-color-"] .mdui-list-item { + color: inherit; +} +[class*="mdui-color-"] .mdui-list-item-icon { + color: inherit; +} +/** + * ============================================================================= + * ************ Drawer 抽屉栏导航 ************ + * ============================================================================= + */ +/* DOM 加载完后再添加 transition */ +body.mdui-loaded { + -webkit-transition: padding .3s cubic-bezier(0, 0, .2, 1); + transition: padding .3s cubic-bezier(0, 0, .2, 1); +} +body.mdui-loaded .mdui-drawer { + -webkit-transition: all .3s cubic-bezier(0, 0, .2, 1); + transition: all .3s cubic-bezier(0, 0, .2, 1); +} +/* 抽屉栏外层,默认出现在左侧且隐藏 */ +.mdui-drawer { + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 5000; + width: calc(100% - 56px); + max-width: 280px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + overflow-x: hidden; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + white-space: nowrap; + + will-change: transform; +} +@media (max-width: 1023px) { + .mdui-drawer:not(.mdui-drawer-open) { + -webkit-box-shadow: none !important; + box-shadow: none !important; + } +} +@media (min-width: 600px) { + .mdui-drawer { + width: calc(100% - 64px); + max-width: 320px; + } +} +@media (min-width: 1024px) { + .mdui-drawer { + width: 240px; + max-width: none; + } + .mdui-drawer.mdui-drawer-close { + -webkit-box-shadow: none !important; + box-shadow: none !important; + } +} +/* 出现在右侧的抽屉栏 */ +.mdui-drawer-right { + right: 0; + left: auto; +} +/* 平板上的样式 */ +@media (max-width: 1023px) { + .mdui-drawer { + /* 始终有背景和阴影 */ + background-color: #fff; + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); + /* 默认隐藏 */ + -webkit-transform: translateX(-330px); + transform: translateX(-330px); + } + .mdui-drawer-right { + /* 右侧 drawer 也默认隐藏 */ + -webkit-transform: translateX(330px); + transform: translateX(330px); + } +} +/* 手机上的样式 */ +@media (max-width: 599px) { + .mdui-drawer { + -webkit-transform: translateX(-290px); + transform: translateX(-290px); + } + .mdui-drawer-right { + -webkit-transform: translateX(290px); + transform: translateX(290px); + } +} +/* 强制隐藏抽屉栏 */ +.mdui-drawer-close { + -webkit-transform: translateX(-290px); + transform: translateX(-290px); +} +.mdui-drawer-close.mdui-drawer-right { + -webkit-transform: translateX(290px); + transform: translateX(290px); +} +@media (min-width: 600px) { + .mdui-drawer-close { + -webkit-transform: translateX(-330px); + transform: translateX(-330px); + } + .mdui-drawer-close.mdui-drawer-right { + -webkit-transform: translateX(330px); + transform: translateX(330px); + } +} +@media (min-width: 1024px) { + .mdui-drawer-close { + -webkit-transform: translateX(-250px); + transform: translateX(-250px); + } + .mdui-drawer-close.mdui-drawer-right { + -webkit-transform: translateX(250px); + transform: translateX(250px); + } +} +/* 强制显示抽屉栏 */ +.mdui-drawer-open { + -webkit-transform: translateX(0) !important; + transform: translateX(0) !important; +} +/* PC 上的样式 */ +@media (min-width: 1024px) { + /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */ + .mdui-drawer-body-left { + padding-left: 240px; + } + .mdui-drawer-body-right { + padding-right: 240px; + } + /* PC 上默认有上边距 */ + .mdui-appbar-with-toolbar .mdui-drawer { + top: 64px; + } + .mdui-appbar-with-tab .mdui-drawer { + top: 48px; + } + .mdui-appbar-with-tab-larger .mdui-drawer { + top: 72px; + } + .mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer { + top: 112px; + } + .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer { + top: 136px; + } +} +/* 抽屉栏不是透明时添加阴影 */ +.mdui-drawer[class*="mdui-color-"]:not(.mdui-color-transparent) { + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); +} +/* 抽屉栏 100% 高度,覆盖在导航栏上面 */ +.mdui-drawer-full-height { + top: 0 !important; +} +/** + * ============================================================================= + * ************ Drawer dark ************ + * ============================================================================= + */ +@media (max-width: 1023px) { + .mdui-theme-layout-dark .mdui-drawer { + background-color: #424242; + } +} +/** + * ============================================================================= + * ************ Dialog 提示框 ************ + * ============================================================================= + */ +.mdui-dialog { + position: fixed; + right: 0; + left: 0; + z-index: 6000; + display: none; + width: 92%; + min-width: 180px; + max-width: 728px; + max-height: 90%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: auto; + overflow: hidden; + color: #000; + background-color: #fff; + border-radius: 2px; + -webkit-box-shadow: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12); + box-shadow: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12); + opacity: 0; + -webkit-transition-duration: .3s; + transition-duration: .3s; + -webkit-transition-property: opacity, visibility, -webkit-transform; + transition-property: opacity, visibility, -webkit-transform; + transition-property: transform, opacity, visibility; + transition-property: transform, opacity, visibility, -webkit-transform; + -webkit-transform: scale(.95); + transform: scale(.95); + + will-change: top, opacity, transform; +} +@media (min-width: 600px) { + .mdui-dialog { + width: 85%; + max-height: 85%; + } +} +@media (min-width: 1024px) { + .mdui-dialog { + width: 80%; + max-height: 80%; + } +} +/* 打开提示框 */ +.mdui-dialog-open { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); +} +/* 提示框标题 */ +.mdui-dialog-title { + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-size: 20px; + font-weight: 500; + line-height: 24px; + text-align: left; +} +/* 标题固定在顶部 */ +.mdui-dialog > .mdui-dialog-title { + padding: 24px 24px 20px 24px; +} +/* 提示框内容 */ +.mdui-dialog-content { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 24px; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + font-size: 15px; + line-height: 1.5; + color: rgba(0, 0, 0, .7); +} +/* 标题随内容滚动 */ +.mdui-dialog-content > .mdui-dialog-title { + padding-bottom: 20px; +} +.mdui-dialog-title + .mdui-dialog-content { + padding-top: 0; +} +/* 提示框底部按钮 */ +.mdui-dialog-actions { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 8px; + text-align: right; +} +.mdui-dialog-actions .mdui-btn { + min-width: 64px; + margin-left: 8px; + color: #e91e63; +} +.mdui-dialog-actions .mdui-btn:first-child { + margin-left: 0; +} +/* 底部按钮滚随内容动 */ +.mdui-dialog-content > .mdui-dialog-actions { + padding-top: 32px; + margin: 0 -24px -24px -24px; +} +/* 使提示框底部按钮竖排 */ +.mdui-dialog-actions-stacked { + padding: 8px 0 8px 0; +} +.mdui-dialog-actions-stacked .mdui-btn { + width: 100%; + height: 48px; + margin: 0; + line-height: 48px !important; + text-align: right; + border-radius: 0; +} +/** + * ============================================================================= + * ************ Dialog 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn { + color: #ffc107; +} +.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn { + color: #2196f3; +} +.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn { + color: #00bcd4; +} +.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn { + color: #ff5722; +} +.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn { + color: #673ab7; +} +.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn { + color: #4caf50; +} +.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn { + color: #3f51b5; +} +.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn { + color: #03a9f4; +} +.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn { + color: #8bc34a; +} +.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn { + color: #cddc39; +} +.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn { + color: #ff9800; +} +.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn { + color: #e91e63; +} +.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn { + color: #9c27b0; +} +.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn { + color: #f44336; +} +.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn { + color: #009688; +} +.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn { + color: #ffeb3b; +} +/** + * ============================================================================= + * ************ Dialog dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-dialog { + color: #fff; + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-dialog-content { + color: rgba(255, 255, 255, .7); +} +/** + * ============================================================================= + * ************ Dialog alert ************ + * ============================================================================= + */ +.mdui-dialog-alert { + max-width: 448px; +} +/** + * ============================================================================= + * ************ Dialog confirm ************ + * ============================================================================= + */ +.mdui-dialog-confirm { + max-width: 448px; +} +/** + * ============================================================================= + * ************ Dialog prompt ************ + * ============================================================================= + */ +.mdui-dialog-prompt { + max-width: 448px; +} +.mdui-dialog-prompt .mdui-textfield { + padding-top: 0; +} +/** + * ============================================================================= + * ************ Shadow 阴影 ************ + * ============================================================================= + */ +.mdui-shadow-0 { + -webkit-box-shadow: none; + box-shadow: none; +} +.mdui-shadow-1 { + -webkit-box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12); + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12); +} +.mdui-shadow-2 { + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); +} +.mdui-shadow-3 { + -webkit-box-shadow: 0 3px 3px -2px rgba(0, 0, 0, .2), 0 3px 4px 0 rgba(0, 0, 0, .14), 0 1px 8px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 3px -2px rgba(0, 0, 0, .2), 0 3px 4px 0 rgba(0, 0, 0, .14), 0 1px 8px 0 rgba(0, 0, 0, .12); +} +.mdui-shadow-4 { + -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12); +} +.mdui-shadow-5 { + -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 5px 8px 0 rgba(0, 0, 0, .14), 0 1px 14px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 5px 8px 0 rgba(0, 0, 0, .14), 0 1px 14px 0 rgba(0, 0, 0, .12); +} +.mdui-shadow-6 { + -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12); +} +.mdui-shadow-7 { + -webkit-box-shadow: 0 4px 5px -2px rgba(0, 0, 0, .2), 0 7px 10px 1px rgba(0, 0, 0, .14), 0 2px 16px 1px rgba(0, 0, 0, .12); + box-shadow: 0 4px 5px -2px rgba(0, 0, 0, .2), 0 7px 10px 1px rgba(0, 0, 0, .14), 0 2px 16px 1px rgba(0, 0, 0, .12); +} +.mdui-shadow-8 { + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); +} +.mdui-shadow-9 { + -webkit-box-shadow: 0 5px 6px -3px rgba(0, 0, 0, .2), 0 9px 12px 1px rgba(0, 0, 0, .14), 0 3px 16px 2px rgba(0, 0, 0, .12); + box-shadow: 0 5px 6px -3px rgba(0, 0, 0, .2), 0 9px 12px 1px rgba(0, 0, 0, .14), 0 3px 16px 2px rgba(0, 0, 0, .12); +} +.mdui-shadow-10 { + -webkit-box-shadow: 0 6px 6px -3px rgba(0, 0, 0, .2), 0 10px 14px 1px rgba(0, 0, 0, .14), 0 4px 18px 3px rgba(0, 0, 0, .12); + box-shadow: 0 6px 6px -3px rgba(0, 0, 0, .2), 0 10px 14px 1px rgba(0, 0, 0, .14), 0 4px 18px 3px rgba(0, 0, 0, .12); +} +.mdui-shadow-11 { + -webkit-box-shadow: 0 6px 7px -4px rgba(0, 0, 0, .2), 0 11px 15px 1px rgba(0, 0, 0, .14), 0 4px 20px 3px rgba(0, 0, 0, .12); + box-shadow: 0 6px 7px -4px rgba(0, 0, 0, .2), 0 11px 15px 1px rgba(0, 0, 0, .14), 0 4px 20px 3px rgba(0, 0, 0, .12); +} +.mdui-shadow-12 { + -webkit-box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12); + box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12); +} +.mdui-shadow-13 { + -webkit-box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 13px 19px 2px rgba(0, 0, 0, .14), 0 5px 24px 4px rgba(0, 0, 0, .12); + box-shadow: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 13px 19px 2px rgba(0, 0, 0, .14), 0 5px 24px 4px rgba(0, 0, 0, .12); +} +.mdui-shadow-14 { + -webkit-box-shadow: 0 7px 9px -4px rgba(0, 0, 0, .2), 0 14px 21px 2px rgba(0, 0, 0, .14), 0 5px 26px 4px rgba(0, 0, 0, .12); + box-shadow: 0 7px 9px -4px rgba(0, 0, 0, .2), 0 14px 21px 2px rgba(0, 0, 0, .14), 0 5px 26px 4px rgba(0, 0, 0, .12); +} +.mdui-shadow-15 { + -webkit-box-shadow: 0 8px 9px -5px rgba(0, 0, 0, .2), 0 15px 22px 2px rgba(0, 0, 0, .14), 0 6px 28px 5px rgba(0, 0, 0, .12); + box-shadow: 0 8px 9px -5px rgba(0, 0, 0, .2), 0 15px 22px 2px rgba(0, 0, 0, .14), 0 6px 28px 5px rgba(0, 0, 0, .12); +} +.mdui-shadow-16 { + -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12); +} +.mdui-shadow-17 { + -webkit-box-shadow: 0 8px 11px -5px rgba(0, 0, 0, .2), 0 17px 26px 2px rgba(0, 0, 0, .14), 0 6px 32px 5px rgba(0, 0, 0, .12); + box-shadow: 0 8px 11px -5px rgba(0, 0, 0, .2), 0 17px 26px 2px rgba(0, 0, 0, .14), 0 6px 32px 5px rgba(0, 0, 0, .12); +} +.mdui-shadow-18 { + -webkit-box-shadow: 0 9px 11px -5px rgba(0, 0, 0, .2), 0 18px 28px 2px rgba(0, 0, 0, .14), 0 7px 34px 6px rgba(0, 0, 0, .12); + box-shadow: 0 9px 11px -5px rgba(0, 0, 0, .2), 0 18px 28px 2px rgba(0, 0, 0, .14), 0 7px 34px 6px rgba(0, 0, 0, .12); +} +.mdui-shadow-19 { + -webkit-box-shadow: 0 9px 12px -6px rgba(0, 0, 0, .2), 0 19px 29px 2px rgba(0, 0, 0, .14), 0 7px 36px 6px rgba(0, 0, 0, .12); + box-shadow: 0 9px 12px -6px rgba(0, 0, 0, .2), 0 19px 29px 2px rgba(0, 0, 0, .14), 0 7px 36px 6px rgba(0, 0, 0, .12); +} +.mdui-shadow-20 { + -webkit-box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 20px 31px 3px rgba(0, 0, 0, .14), 0 8px 38px 7px rgba(0, 0, 0, .12); + box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 20px 31px 3px rgba(0, 0, 0, .14), 0 8px 38px 7px rgba(0, 0, 0, .12); +} +.mdui-shadow-21 { + -webkit-box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 21px 33px 3px rgba(0, 0, 0, .14), 0 8px 40px 7px rgba(0, 0, 0, .12); + box-shadow: 0 10px 13px -6px rgba(0, 0, 0, .2), 0 21px 33px 3px rgba(0, 0, 0, .14), 0 8px 40px 7px rgba(0, 0, 0, .12); +} +.mdui-shadow-22 { + -webkit-box-shadow: 0 10px 14px -6px rgba(0, 0, 0, .2), 0 22px 35px 3px rgba(0, 0, 0, .14), 0 8px 42px 7px rgba(0, 0, 0, .12); + box-shadow: 0 10px 14px -6px rgba(0, 0, 0, .2), 0 22px 35px 3px rgba(0, 0, 0, .14), 0 8px 42px 7px rgba(0, 0, 0, .12); +} +.mdui-shadow-23 { + -webkit-box-shadow: 0 11px 14px -7px rgba(0, 0, 0, .2), 0 23px 36px 3px rgba(0, 0, 0, .14), 0 9px 44px 8px rgba(0, 0, 0, .12); + box-shadow: 0 11px 14px -7px rgba(0, 0, 0, .2), 0 23px 36px 3px rgba(0, 0, 0, .14), 0 9px 44px 8px rgba(0, 0, 0, .12); +} +.mdui-shadow-24 { + -webkit-box-shadow: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12); + box-shadow: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12); +} +/* 鼠标悬浮时加深阴影 */ +.mdui-hoverable { + -webkit-transition: -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); + transition: -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .25s cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .25s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); + + will-change: box-shadow; +} +.mdui-hoverable:hover, +.mdui-hoverable:focus { + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); +} +/** + * ============================================================================= + * ************ Tooltip 工具提示 ************ + * ============================================================================= + */ +.mdui-tooltip { + position: absolute; + z-index: 9000; + display: inline-block; + max-width: 180px; + min-height: 32px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 8px 16px; + font-size: 14px; + font-weight: 500; + line-height: 22px; + color: #fff; + text-align: left; + background-color: rgba(97, 97, 97, .9); + border-radius: 2px; + opacity: 0; + -webkit-transition-timing-function: cubic-bezier(.4, 0, .2, 1); + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + -webkit-transition-duration: .15s; + transition-duration: .15s; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: opacity, transform; + transition-property: opacity, transform, -webkit-transform; + -webkit-transform: scale(0); + transform: scale(0); + + will-change: opacity, transform; +} +@media (min-width: 1024px) { + .mdui-tooltip { + max-width: 200px; + min-height: 24px; + padding: 4px 8px; + font-size: 12px; + line-height: 18px; + } +} +/* 显示工具提示 */ +.mdui-tooltip-open { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); +} +/** + * ============================================================================= + * ************ Snackbar ************ + * ============================================================================= + */ +.mdui-snackbar { + position: fixed; + z-index: 7000; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + width: 100%; + min-height: 48px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0 24px 0 24px; + font-size: 14px; + line-height: 20px; + color: #fff; + background-color: #323232; + + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + will-change: transform; +} +@media (min-width: 600px) { + .mdui-snackbar { + width: auto; + min-width: 288px; + max-width: 568px; + border-radius: 2px; + } +} +.mdui-snackbar-bottom, +.mdui-snackbar-top, +.mdui-snackbar-left-top, +.mdui-snackbar-left-bottom, +.mdui-snackbar-right-top, +.mdui-snackbar-right-bottom { + -webkit-transition: -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); + transition: -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); + transition: transform .3s cubic-bezier(.4, 0, .2, 1); + transition: transform .3s cubic-bezier(.4, 0, .2, 1), -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); +} +/* 位置 */ +.mdui-snackbar-bottom, +.mdui-snackbar-left-bottom, +.mdui-snackbar-right-bottom { + bottom: 0; +} +.mdui-snackbar-top, +.mdui-snackbar-left-top, +.mdui-snackbar-right-top { + top: 0; +} +.mdui-snackbar-top, +.mdui-snackbar-bottom { + left: 50%; +} +@media (min-width: 600px) { + .mdui-snackbar-left-top { + top: 24px; + left: 24px; + } + .mdui-snackbar-left-bottom { + bottom: 24px; + left: 24px; + } + .mdui-snackbar-right-top { + top: 24px; + right: 24px; + } + .mdui-snackbar-right-bottom { + right: 24px; + bottom: 24px; + } +} +/* 文本 */ +.mdui-snackbar-text { + position: relative; + max-width: 100%; + padding: 14px 0 14px 0; + overflow: hidden; + text-overflow: ellipsis; +} +/* 按钮 */ +.mdui-snackbar-action { + margin-right: -16px; + color: #ff80ab; + white-space: nowrap; +} +/** + * ============================================================================= + * ************ Snackbar 强调色 ************ + * ============================================================================= + */ +.mdui-theme-accent-amber .mdui-snackbar-action { + color: #ffe57f; +} +.mdui-theme-accent-blue .mdui-snackbar-action { + color: #82b1ff; +} +.mdui-theme-accent-cyan .mdui-snackbar-action { + color: #84ffff; +} +.mdui-theme-accent-deep-orange .mdui-snackbar-action { + color: #ff9e80; +} +.mdui-theme-accent-deep-purple .mdui-snackbar-action { + color: #b388ff; +} +.mdui-theme-accent-green .mdui-snackbar-action { + color: #b9f6ca; +} +.mdui-theme-accent-indigo .mdui-snackbar-action { + color: #8c9eff; +} +.mdui-theme-accent-light-blue .mdui-snackbar-action { + color: #80d8ff; +} +.mdui-theme-accent-light-green .mdui-snackbar-action { + color: #ccff90; +} +.mdui-theme-accent-lime .mdui-snackbar-action { + color: #f4ff81; +} +.mdui-theme-accent-orange .mdui-snackbar-action { + color: #ffd180; +} +.mdui-theme-accent-pink .mdui-snackbar-action { + color: #ff80ab; +} +.mdui-theme-accent-purple .mdui-snackbar-action { + color: #ea80fc; +} +.mdui-theme-accent-red .mdui-snackbar-action { + color: #ff8a80; +} +.mdui-theme-accent-teal .mdui-snackbar-action { + color: #a7ffeb; +} +.mdui-theme-accent-yellow .mdui-snackbar-action { + color: #ffff8d; +} +/** + * ============================================================================= + * ************ Snackbar dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-snackbar { + background-color: #5d5d5d; +} +/** + * ============================================================================= + * ************ Chip 纸片 ************ + * ============================================================================= + */ +.mdui-chip { + display: inline-block; + height: 32px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 2px 0; + white-space: nowrap; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #e0e0e0; + border-radius: 16px; + -webkit-transition: -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); + transition: -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .25s cubic-bezier(.4, 0, .2, 1); + transition: box-shadow .25s cubic-bezier(.4, 0, .2, 1), -webkit-box-shadow .25s cubic-bezier(.4, 0, .2, 1); + + will-change: box-shadow; +} +.mdui-chip:hover, +.mdui-chip:focus { + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); +} +.mdui-chip:active { + background-color: #d6d6d6; +} +/* 左侧的图标 */ +.mdui-chip-icon { + position: relative; + display: inline-block; + width: 32px; + height: 32px; + margin-right: -4px; + overflow: hidden; + font-size: 18px; + line-height: 32px; + color: #fff; + text-align: center; + vertical-align: middle; + background-color: #989898; + border-radius: 50%; +} +.mdui-chip-icon .mdui-icon { + position: absolute; + top: 4px; + left: 4px; + color: #fff; +} +/* 文本 */ +.mdui-chip-title { + display: inline-block; + height: 32px; + padding-right: 12px; + padding-left: 12px; + font-size: 14px; + line-height: 32px; + vertical-align: middle; +} +/* 删除按钮 */ +.mdui-chip-delete { + display: inline-block; + width: 24px; + height: 24px; + margin-right: 4px; + margin-left: -8px; + overflow: hidden; + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + border-radius: 50%; + opacity: .54; + -webkit-transition: opacity .25s cubic-bezier(.4, 0, .2, 1); + transition: opacity .25s cubic-bezier(.4, 0, .2, 1); + + will-change: opacity; +} +.mdui-chip-delete:hover, +.mdui-chip-delete:focus { + opacity: .87; +} +/** + * ============================================================================= + * ************ Chip dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-chip { + background-color: #484848; +} +.mdui-theme-layout-dark .mdui-chip:active { + background-color: #5d5d5d; +} +/** + * ============================================================================= + * ************ Bottom navigation 底部导航栏 ************ + * ============================================================================= + */ +.mdui-bottom-nav { + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + height: 56px; + padding: 0; + margin: 0 auto; + overflow: hidden; + white-space: nowrap; +} +@media (min-width: 600px) { + .mdui-bottom-nav:before { + content: ' '; + + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + } + .mdui-bottom-nav:after { + content: ' '; + + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + } +} +.mdui-bottom-nav a { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + min-width: 32px; + max-width: none; + padding: 8px 12px 10px 12px; + overflow: hidden; + font-size: 12px; + color: inherit; + text-align: center; + text-decoration: none; + text-overflow: ellipsis; + cursor: pointer; + flex-direction: column; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + opacity: .7; + -webkit-transition: all .2s cubic-bezier(.4, 0, .2, 1); + transition: all .2s cubic-bezier(.4, 0, .2, 1); + + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + will-change: padding; +} +@media (min-width: 600px) { + .mdui-bottom-nav a { + max-width: 144px; + } +} +.mdui-bottom-nav a .mdui-icon { + opacity: .7; +} +.mdui-bottom-nav a label { + display: block; + width: 100%; + cursor: pointer; + -webkit-transition: -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); + transition: -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); + transition: transform .2s cubic-bezier(.4, 0, .2, 1); + transition: transform .2s cubic-bezier(.4, 0, .2, 1), -webkit-transform .2s cubic-bezier(.4, 0, .2, 1); + + will-change: font-size; +} +.mdui-bottom-nav a .mdui-icon + label { + margin-top: 6px; +} +.mdui-bottom-nav a.mdui-bottom-nav-active { + font-size: 14px; + color: #3f51b5; + opacity: 1; +} +.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon { + opacity: 1; +} +/* 只在激活时显示文本 */ +.mdui-bottom-nav-text-auto a { + min-width: 32px; + padding-right: 0; + padding-left: 0; +} +@media (min-width: 600px) { + .mdui-bottom-nav-text-auto a { + max-width: 156px; + } +} +.mdui-bottom-nav-text-auto a .mdui-icon { + padding-top: 16px; + -webkit-transition: padding-top .2s cubic-bezier(.4, 0, .2, 1); + transition: padding-top .2s cubic-bezier(.4, 0, .2, 1); + + will-change: padding-top; +} +.mdui-bottom-nav-text-auto a label { + -webkit-transform: scale(0); + transform: scale(0); +} +.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active { + padding-right: 18px; + padding-left: 18px; +} +.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon { + padding-top: 0; +} +.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label { + -webkit-transform: scale(1); + transform: scale(1); +} +/* 固定到页面底部 */ +.mdui-bottom-nav-fixed { + padding-bottom: 56px; +} +.mdui-bottom-nav-fixed .mdui-bottom-nav { + position: fixed; + right: 0; + bottom: 0; + left: 0; +} +/** + * ============================================================================= + * ************ Bottom Nav 主色 ************ + * ============================================================================= + */ +.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #ffc107; +} +.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #2196f3; +} +.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #607d8b; +} +.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #795548; +} +.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #00bcd4; +} +.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #ff5722; +} +.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #673ab7; +} +.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #4caf50; +} +.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #9e9e9e; +} +.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #3f51b5; +} +.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #03a9f4; +} +.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #8bc34a; +} +.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #cddc39; +} +.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #ff9800; +} +.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #e91e63; +} +.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #9c27b0; +} +.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #f44336; +} +.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #009688; +} +.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active { + color: #ffeb3b; +} +/* 带背景色的底部导航栏 */ +.mdui-bottom-nav[class*="mdui-color-"] .mdui-bottom-nav-active { + color: inherit !important; +} +/** + * ============================================================================= + * ************ Progress Linear 线性进度条 ************ + * ============================================================================= + */ +/* 线性进度条 */ +.mdui-progress { + position: relative; + display: block; + width: 100%; + height: 4px; + overflow: hidden; + background-color: rgba(63, 81, 181, .2); + border-radius: 2px; +} +/* 确定进度的线性进度条 */ +.mdui-progress-determinate { + position: absolute; + top: 0; + bottom: 0; + left: 0; + background-color: #3f51b5; + -webkit-transition: width .3s linear; + transition: width .3s linear; +} +/* 不确定进度的线性进度条 */ +.mdui-progress-indeterminate { + background-color: #3f51b5; +} +.mdui-progress-indeterminate:before { + position: absolute; + top: 0; + bottom: 0; + left: 0; + content: ' '; + background-color: inherit; + -webkit-animation: mdui-progress-indeterminate 2s linear infinite; + animation: mdui-progress-indeterminate 2s linear infinite; + + will-change: left, width; +} +.mdui-progress-indeterminate:after { + position: absolute; + top: 0; + bottom: 0; + left: 0; + content: ' '; + background-color: inherit; + -webkit-animation: mdui-progress-indeterminate-short 2s linear infinite; + animation: mdui-progress-indeterminate-short 2s linear infinite; + + will-change: left, width; +} +@-webkit-keyframes mdui-progress-indeterminate { + 0% { + left: 0; + width: 0; + } + 50% { + left: 30%; + width: 70%; + } + 75% { + left: 100%; + width: 0; + } +} +@keyframes mdui-progress-indeterminate { + 0% { + left: 0; + width: 0; + } + 50% { + left: 30%; + width: 70%; + } + 75% { + left: 100%; + width: 0; + } +} +@-webkit-keyframes mdui-progress-indeterminate-short { + 0% { + left: 0; + width: 0; + } + 50% { + left: 0; + width: 0; + } + 75% { + left: 0; + width: 25%; + } + 100% { + left: 100%; + width: 0; + } +} +@keyframes mdui-progress-indeterminate-short { + 0% { + left: 0; + width: 0; + } + 50% { + left: 0; + width: 0; + } + 75% { + left: 0; + width: 25%; + } + 100% { + left: 100%; + width: 0; + } +} +/** + * ============================================================================= + * ************ Progress linear 主色 ************ + * ============================================================================= + */ +.mdui-theme-primary-amber .mdui-progress { + background-color: rgba(255, 193, 7, .2); +} +.mdui-theme-primary-amber .mdui-progress-determinate, +.mdui-theme-primary-amber .mdui-progress-indeterminate { + background-color: #ffc107; +} +.mdui-theme-primary-blue .mdui-progress { + background-color: rgba(33, 150, 243, .2); +} +.mdui-theme-primary-blue .mdui-progress-determinate, +.mdui-theme-primary-blue .mdui-progress-indeterminate { + background-color: #2196f3; +} +.mdui-theme-primary-blue-grey .mdui-progress { + background-color: rgba(96, 125, 139, .2); +} +.mdui-theme-primary-blue-grey .mdui-progress-determinate, +.mdui-theme-primary-blue-grey .mdui-progress-indeterminate { + background-color: #607d8b; +} +.mdui-theme-primary-brown .mdui-progress { + background-color: rgba(121, 85, 72, .2); +} +.mdui-theme-primary-brown .mdui-progress-determinate, +.mdui-theme-primary-brown .mdui-progress-indeterminate { + background-color: #795548; +} +.mdui-theme-primary-cyan .mdui-progress { + background-color: rgba(0, 188, 212, .2); +} +.mdui-theme-primary-cyan .mdui-progress-determinate, +.mdui-theme-primary-cyan .mdui-progress-indeterminate { + background-color: #00bcd4; +} +.mdui-theme-primary-deep-orange .mdui-progress { + background-color: rgba(255, 87, 34, .2); +} +.mdui-theme-primary-deep-orange .mdui-progress-determinate, +.mdui-theme-primary-deep-orange .mdui-progress-indeterminate { + background-color: #ff5722; +} +.mdui-theme-primary-deep-purple .mdui-progress { + background-color: rgba(103, 58, 183, .2); +} +.mdui-theme-primary-deep-purple .mdui-progress-determinate, +.mdui-theme-primary-deep-purple .mdui-progress-indeterminate { + background-color: #673ab7; +} +.mdui-theme-primary-green .mdui-progress { + background-color: rgba(76, 175, 80, .2); +} +.mdui-theme-primary-green .mdui-progress-determinate, +.mdui-theme-primary-green .mdui-progress-indeterminate { + background-color: #4caf50; +} +.mdui-theme-primary-grey .mdui-progress { + background-color: rgba(158, 158, 158, .2); +} +.mdui-theme-primary-grey .mdui-progress-determinate, +.mdui-theme-primary-grey .mdui-progress-indeterminate { + background-color: #9e9e9e; +} +.mdui-theme-primary-indigo .mdui-progress { + background-color: rgba(63, 81, 181, .2); +} +.mdui-theme-primary-indigo .mdui-progress-determinate, +.mdui-theme-primary-indigo .mdui-progress-indeterminate { + background-color: #3f51b5; +} +.mdui-theme-primary-light-blue .mdui-progress { + background-color: rgba(3, 169, 244, .2); +} +.mdui-theme-primary-light-blue .mdui-progress-determinate, +.mdui-theme-primary-light-blue .mdui-progress-indeterminate { + background-color: #03a9f4; +} +.mdui-theme-primary-light-green .mdui-progress { + background-color: rgba(139, 195, 74, .2); +} +.mdui-theme-primary-light-green .mdui-progress-determinate, +.mdui-theme-primary-light-green .mdui-progress-indeterminate { + background-color: #8bc34a; +} +.mdui-theme-primary-lime .mdui-progress { + background-color: rgba(205, 220, 57, .2); +} +.mdui-theme-primary-lime .mdui-progress-determinate, +.mdui-theme-primary-lime .mdui-progress-indeterminate { + background-color: #cddc39; +} +.mdui-theme-primary-orange .mdui-progress { + background-color: rgba(255, 152, 0, .2); +} +.mdui-theme-primary-orange .mdui-progress-determinate, +.mdui-theme-primary-orange .mdui-progress-indeterminate { + background-color: #ff9800; +} +.mdui-theme-primary-pink .mdui-progress { + background-color: rgba(233, 30, 99, .2); +} +.mdui-theme-primary-pink .mdui-progress-determinate, +.mdui-theme-primary-pink .mdui-progress-indeterminate { + background-color: #e91e63; +} +.mdui-theme-primary-purple .mdui-progress { + background-color: rgba(156, 39, 176, .2); +} +.mdui-theme-primary-purple .mdui-progress-determinate, +.mdui-theme-primary-purple .mdui-progress-indeterminate { + background-color: #9c27b0; +} +.mdui-theme-primary-red .mdui-progress { + background-color: rgba(244, 67, 54, .2); +} +.mdui-theme-primary-red .mdui-progress-determinate, +.mdui-theme-primary-red .mdui-progress-indeterminate { + background-color: #f44336; +} +.mdui-theme-primary-teal .mdui-progress { + background-color: rgba(0, 150, 136, .2); +} +.mdui-theme-primary-teal .mdui-progress-determinate, +.mdui-theme-primary-teal .mdui-progress-indeterminate { + background-color: #009688; +} +.mdui-theme-primary-yellow .mdui-progress { + background-color: rgba(255, 235, 59, .2); +} +.mdui-theme-primary-yellow .mdui-progress-determinate, +.mdui-theme-primary-yellow .mdui-progress-indeterminate { + background-color: #ffeb3b; +} +/** + * ============================================================================= + * ************ Progress Circular 圆形进度条 ************ + * ============================================================================= + */ +.mdui-spinner { + position: relative; + display: inline-block; + width: 28px; + height: 28px; + -webkit-animation: mdui-spinner 1568ms linear infinite; + animation: mdui-spinner 1568ms linear infinite; +} +@-webkit-keyframes mdui-spinner { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes mdui-spinner { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.mdui-spinner-layer { + position: absolute; + width: 100%; + height: 100%; + border-color: #3f51b5; + opacity: 0; + opacity: 1; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; +} +.mdui-spinner-layer-1 { + border-color: #42a5f5 !important; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; +} +.mdui-spinner-layer-2 { + border-color: #f44336 !important; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; +} +.mdui-spinner-layer-3 { + border-color: #fdd835 !important; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; +} +.mdui-spinner-layer-4 { + border-color: #4caf50 !important; + -webkit-animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; + animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1) infinite both; +} +@-webkit-keyframes mdui-spinner-layer-fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); + } + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); + } + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); + } + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); + } + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); + } + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); + } + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); + } + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); + } +} +@keyframes mdui-spinner-layer-fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); + } + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); + } + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); + } + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); + } + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); + } + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); + } + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); + } + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); + } +} +@-webkit-keyframes mdui-spinner-layer-1-fade-in-out { + from { + opacity: 1; + } + 25% { + opacity: 1; + } + 26% { + opacity: 0; + } + 89% { + opacity: 0; + } + 90% { + opacity: 1; + } + 100% { + opacity: 1; + } +} +@keyframes mdui-spinner-layer-1-fade-in-out { + from { + opacity: 1; + } + 25% { + opacity: 1; + } + 26% { + opacity: 0; + } + 89% { + opacity: 0; + } + 90% { + opacity: 1; + } + 100% { + opacity: 1; + } +} +@-webkit-keyframes mdui-spinner-layer-2-fade-in-out { + from { + opacity: 0; + } + 15% { + opacity: 0; + } + 25% { + opacity: 1; + } + 50% { + opacity: 1; + } + 51% { + opacity: 0; + } +} +@keyframes mdui-spinner-layer-2-fade-in-out { + from { + opacity: 0; + } + 15% { + opacity: 0; + } + 25% { + opacity: 1; + } + 50% { + opacity: 1; + } + 51% { + opacity: 0; + } +} +@-webkit-keyframes mdui-spinner-layer-3-fade-in-out { + from { + opacity: 0; + } + 40% { + opacity: 0; + } + 50% { + opacity: 1; + } + 75% { + opacity: 1; + } + 76% { + opacity: 0; + } +} +@keyframes mdui-spinner-layer-3-fade-in-out { + from { + opacity: 0; + } + 40% { + opacity: 0; + } + 50% { + opacity: 1; + } + 75% { + opacity: 1; + } + 76% { + opacity: 0; + } +} +@-webkit-keyframes mdui-spinner-layer-4-fade-in-out { + from { + opacity: 0; + } + 65% { + opacity: 0; + } + 75% { + opacity: 1; + } + 90% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +@keyframes mdui-spinner-layer-4-fade-in-out { + from { + opacity: 0; + } + 65% { + opacity: 0; + } + 75% { + opacity: 1; + } + 90% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +.mdui-spinner-gap-patch { + position: absolute; + top: 0; + left: 45%; + width: 10%; + height: 100%; + overflow: hidden; + border-color: inherit; +} +.mdui-spinner-gap-patch .mdui-spinner-circle { + left: -450%; + width: 1000%; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.mdui-spinner-circle-clipper { + position: relative; + display: inline-block; + width: 50%; + height: 100%; + overflow: hidden; + border-color: inherit; +} +.mdui-spinner-circle-clipper .mdui-spinner-circle { + position: absolute; + top: 0; + right: 0; + bottom: 0; + width: 200%; + height: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border-color: inherit; + border-style: solid; + border-width: 3px; + border-bottom-color: transparent !important; + border-radius: 50%; + -webkit-animation: none; + animation: none; +} +.mdui-spinner-circle-clipper.mdui-spinner-left { + float: left; +} +.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle { + left: 0; + border-right-color: transparent !important; + -webkit-transform: rotate(129deg); + transform: rotate(129deg); + -webkit-animation: mdui-spinner-left-spin 1333ms cubic-bezier(.4, 0, .2, 1) infinite both; + animation: mdui-spinner-left-spin 1333ms cubic-bezier(.4, 0, .2, 1) infinite both; +} +.mdui-spinner-circle-clipper.mdui-spinner-right { + float: right; +} +.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle { + left: -100%; + border-left-color: transparent !important; + -webkit-transform: rotate(-129deg); + transform: rotate(-129deg); + -webkit-animation: mdui-spinner-right-spin 1333ms cubic-bezier(.4, 0, .2, 1) infinite both; + animation: mdui-spinner-right-spin 1333ms cubic-bezier(.4, 0, .2, 1) infinite both; +} +@-webkit-keyframes mdui-spinner-left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); + } + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } +} +@keyframes mdui-spinner-left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); + } + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } +} +@-webkit-keyframes mdui-spinner-right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); + } + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } +} +@keyframes mdui-spinner-right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); + } + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } +} +/** + * ============================================================================= + * ************ Spinner linear 主色 ************ + * ============================================================================= + */ +.mdui-theme-primary-amber .mdui-spinner-layer { + border-color: #ffc107; +} +.mdui-theme-primary-blue .mdui-spinner-layer { + border-color: #2196f3; +} +.mdui-theme-primary-blue-grey .mdui-spinner-layer { + border-color: #607d8b; +} +.mdui-theme-primary-brown .mdui-spinner-layer { + border-color: #795548; +} +.mdui-theme-primary-cyan .mdui-spinner-layer { + border-color: #00bcd4; +} +.mdui-theme-primary-deep-orange .mdui-spinner-layer { + border-color: #ff5722; +} +.mdui-theme-primary-deep-purple .mdui-spinner-layer { + border-color: #673ab7; +} +.mdui-theme-primary-green .mdui-spinner-layer { + border-color: #4caf50; +} +.mdui-theme-primary-grey .mdui-spinner-layer { + border-color: #9e9e9e; +} +.mdui-theme-primary-indigo .mdui-spinner-layer { + border-color: #3f51b5; +} +.mdui-theme-primary-light-blue .mdui-spinner-layer { + border-color: #03a9f4; +} +.mdui-theme-primary-light-green .mdui-spinner-layer { + border-color: #8bc34a; +} +.mdui-theme-primary-lime .mdui-spinner-layer { + border-color: #cddc39; +} +.mdui-theme-primary-orange .mdui-spinner-layer { + border-color: #ff9800; +} +.mdui-theme-primary-pink .mdui-spinner-layer { + border-color: #e91e63; +} +.mdui-theme-primary-purple .mdui-spinner-layer { + border-color: #9c27b0; +} +.mdui-theme-primary-red .mdui-spinner-layer { + border-color: #f44336; +} +.mdui-theme-primary-teal .mdui-spinner-layer { + border-color: #009688; +} +.mdui-theme-primary-yellow .mdui-spinner-layer { + border-color: #ffeb3b; +} +/** + * ============================================================================= + * ************ Expansion panel 可扩展面板 ************ + * ============================================================================= + */ +/* 可扩展面板 */ +.mdui-panel { + width: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +/* 面板项 */ +.mdui-panel-item { + color: rgba(0, 0, 0, .87); + background-color: #fff; + border-bottom: 1px solid rgba(0, 0, 0, .12); + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); + -webkit-transition: margin .3s cubic-bezier(.4, 0, .2, 1); + transition: margin .3s cubic-bezier(.4, 0, .2, 1); + + will-change: margin; +} +.mdui-panel-item:last-child { + border-bottom: none; +} +/* 面板头部 */ +.mdui-panel-item-header { + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + width: 100%; + height: 48px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0 24px; + overflow: hidden; + font-size: 15px; + text-overflow: ellipsis; + white-space: nowrap; + cursor: pointer; + -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); + transition: all .3s cubic-bezier(.4, 0, .2, 1); + + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + will-change: height, background-color; +} +.mdui-panel-item-header:active { + background-color: #eee; +} +/* 面板项标题 */ +.mdui-panel-item-title { + width: 36%; + min-width: 36%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-right: 16px; + overflow: hidden; + font-weight: 500; + text-overflow: ellipsis; + white-space: nowrap; +} +/* 面板项内容 */ +.mdui-panel-item-summary { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-right: 16px; + overflow: hidden; + color: rgba(0, 0, 0, .54); + text-overflow: ellipsis; + white-space: nowrap; + + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} +/* 展开收起的图标 */ +.mdui-panel-item-arrow { + position: absolute; + top: 12px; + right: 24px; + color: rgba(0, 0, 0, .54); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transition: all .3s cubic-bezier(.4, 0, .2, 1); + transition: all .3s cubic-bezier(.4, 0, .2, 1); + -webkit-transform: rotate(0); + transform: rotate(0); + + will-change: transform, top; +} +.mdui-panel-item-summary + .mdui-panel-item-arrow { + position: relative; + top: 0 !important; + right: 0; +} +/* 面板项内容 */ +.mdui-panel-item-body { + height: 0; + padding: 0 24px; + overflow: hidden; + -webkit-transition: height .3s cubic-bezier(.4, 0, .2, 1); + transition: height .3s cubic-bezier(.4, 0, .2, 1); + + will-change: height; +} +.mdui-panel-item-body:before, +.mdui-panel-item-body:after { + display: table; + content: " "; +} +.mdui-panel-item-body:after { + clear: both; +} +.mdui-panel-item-body:before, +.mdui-panel-item-body:after { + display: table; + content: " "; +} +.mdui-panel-item-body:after { + clear: both; +} +.mdui-panel-item-body:after { + height: 16px; +} +/* 面板项操作栏 */ +.mdui-panel-item-actions { + display: block; + width: 100%; + padding: 16px 24px 0 24px; + margin: 16px -24px 0 -24px; + text-align: right; + border-top: 1px solid rgba(0, 0, 0, .12); +} +.mdui-panel-item-actions .mdui-btn { + margin-left: 8px; +} +.mdui-panel-item-actions .mdui-btn:first-child { + margin-left: 0; +} +/* 使打开项上下没有边距 */ +.mdui-panel-gapless { + -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12); +} +.mdui-panel-gapless .mdui-panel-item { + -webkit-box-shadow: none; + box-shadow: none; +} +.mdui-panel-gapless .mdui-panel-item-open { + margin-top: 0; + margin-bottom: 0; +} +/* 弹出面板 */ +.mdui-panel-popout .mdui-panel-item-open { + margin-right: -16px; + margin-left: -16px; +} +/* 打开状态的面板项 */ +.mdui-panel-item-open { + height: auto; + margin-top: 16px; + margin-bottom: 16px; +} +.mdui-panel-item-open > .mdui-panel-item-header { + height: 64px; +} +.mdui-panel-item-open > .mdui-panel-item-header .mdui-panel-item-arrow { + top: 20px; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} +.mdui-panel-item-open > .mdui-panel-item-body { + height: auto; +} +/** + * ============================================================================= + * ************ Expansion panel dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-panel-item { + color: #fff; + background-color: #303030; + border-bottom: 1px solid rgba(255, 255, 255, .12); +} +.mdui-theme-layout-dark .mdui-panel-item:last-child { + border-bottom: none; +} +.mdui-theme-layout-dark .mdui-panel-item-header:active { + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-panel-item-summary { + color: rgba(255, 255, 255, .7); +} +.mdui-theme-layout-dark .mdui-panel-item-arrow { + color: #fff; +} +.mdui-theme-layout-dark .mdui-panel-item-actions { + border-top: 1px solid rgba(255, 255, 255, .12); +} +/** + * ============================================================================= + * ************ Menu 菜单 ************ + * ============================================================================= + */ +/* 菜单 */ +.mdui-menu { + position: fixed; + z-index: 99999; + display: block; + width: 168px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 8px 0; + margin: 0; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + font-size: 16px; + color: rgba(0, 0, 0, .87); + list-style: none; + visibility: hidden; + background-color: #fff; + border-radius: 2px; + -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12); + opacity: 0; + -webkit-transition-timing-function: cubic-bezier(0, 0, .2, 1); + transition-timing-function: cubic-bezier(0, 0, .2, 1); + -webkit-transition-duration: .3s; + transition-duration: .3s; + -webkit-transition-property: opacity, visibility, -webkit-transform; + transition-property: opacity, visibility, -webkit-transform; + transition-property: transform, opacity, visibility; + transition-property: transform, opacity, visibility, -webkit-transform; + -webkit-transform: scale(0); + transform: scale(0); + + will-change: transform, opacity, visibility; +} +.mdui-menu .mdui-divider { + margin-top: 8px; + margin-bottom: 8px; +} +/* 打开状态的菜单 */ +.mdui-menu-open { + visibility: visible; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); +} +/* 关闭中的菜单 */ +.mdui-menu-closing { + visibility: visible; + opacity: 0; + -webkit-transform: scale(1); + transform: scale(1); +} +/* 菜单项 */ +.mdui-menu-item { + position: relative; +} +.mdui-menu-item > a { + position: relative; + display: block; + height: 48px; + padding: 0 16px; + overflow: hidden; + line-height: 48px; + color: inherit; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mdui-menu-item > a:hover { + background-color: #eee; +} +.mdui-menu-item > .mdui-menu { + position: absolute; + -webkit-box-shadow: 0 5px 6px -3px rgba(0, 0, 0, .2), 0 9px 12px 1px rgba(0, 0, 0, .14), 0 3px 16px 2px rgba(0, 0, 0, .12); + box-shadow: 0 5px 6px -3px rgba(0, 0, 0, .2), 0 9px 12px 1px rgba(0, 0, 0, .14), 0 3px 16px 2px rgba(0, 0, 0, .12); +} +.mdui-menu-item[disabled] > a { + color: rgba(0, 0, 0, .38) !important; + cursor: default; +} +.mdui-menu-item[disabled] > a:hover { + background-color: inherit !important; +} +.mdui-menu-item[disabled] > a .mdui-icon { + color: rgba(0, 0, 0, .26); +} +/* 激活状态的菜单项 */ +.mdui-menu-item-active { + background-color: #eee; +} +/* 菜单中的图标 */ +.mdui-menu-item-icon { + display: inline-block; + width: 40px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding-right: 16px; + color: rgba(0, 0, 0, .54); +} +/* 菜单中的辅助文本或图标 */ +.mdui-menu-item-helper { + float: right; +} +/* 有子菜单的条目的图标 */ +.mdui-menu-item-more { + float: right; + width: 24px; + height: 24px; + margin: 4px 0; + background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23000000%22%2F%3E%3C%2Fsvg%3E%0A"); +} +/* 级联菜单 */ +.mdui-menu-cascade { + width: 320px; + padding: 16px 0; + overflow-y: visible; + font-size: 15px; +} +.mdui-menu-cascade > .mdui-menu-item > a { + height: 32px; + padding: 0 24px; + line-height: 32px; +} +/** + * ============================================================================= + * ************ Menu dark ************ + * ============================================================================= + */ +.mdui-theme-layout-dark .mdui-menu { + color: #fff; + background-color: #424242; +} +.mdui-theme-layout-dark .mdui-menu-item > a:hover { + background-color: #616161; +} +.mdui-theme-layout-dark .mdui-menu-item[disabled] > a { + color: rgba(255, 255, 255, .5) !important; +} +.mdui-theme-layout-dark .mdui-menu-item[disabled] > a .mdui-icon { + color: rgba(255, 255, 255, .3); +} +.mdui-theme-layout-dark .mdui-menu-item-active { + background-color: #616161; +} +.mdui-theme-layout-dark .mdui-menu-item-icon { + color: #fff; +} +.mdui-theme-layout-dark .mdui-menu-item-more { + background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A"); +} diff --git a/libs/mdui/css/mdui.min.css b/libs/mdui/css/mdui.min.css new file mode 100644 index 0000000..88d0ba9 --- /dev/null +++ b/libs/mdui/css/mdui.min.css @@ -0,0 +1,6 @@ +/*! + * mdui v0.4.3 (https://mdui.org) + * Copyright 2016-2019 zdhxiong + * Licensed under MIT + */.mdui-theme-primary-amber .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#ffc107!important}.mdui-theme-primary-amber .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fff8e1!important}.mdui-theme-primary-amber .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#ffecb3!important}.mdui-theme-primary-amber .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ffe082!important}.mdui-theme-primary-amber .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#ffd54f!important}.mdui-theme-primary-amber .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#ffca28!important}.mdui-theme-primary-amber .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#ffc107!important}.mdui-theme-primary-amber .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#ffb300!important}.mdui-theme-primary-amber .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#ffa000!important}.mdui-theme-primary-amber .mdui-color-theme-800{color:rgba(0,0,0,.87)!important;background-color:#ff8f00!important}.mdui-theme-primary-amber .mdui-color-theme-900{color:rgba(0,0,0,.87)!important;background-color:#ff6f00!important}.mdui-theme-primary-blue .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#2196f3!important}.mdui-theme-primary-blue .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e3f2fd!important}.mdui-theme-primary-blue .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#bbdefb!important}.mdui-theme-primary-blue .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#90caf9!important}.mdui-theme-primary-blue .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#64b5f6!important}.mdui-theme-primary-blue .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#42a5f5!important}.mdui-theme-primary-blue .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#2196f3!important}.mdui-theme-primary-blue .mdui-color-theme-600{color:#fff!important;background-color:#1e88e5!important}.mdui-theme-primary-blue .mdui-color-theme-700{color:#fff!important;background-color:#1976d2!important}.mdui-theme-primary-blue .mdui-color-theme-800{color:#fff!important;background-color:#1565c0!important}.mdui-theme-primary-blue .mdui-color-theme-900{color:#fff!important;background-color:#0d47a1!important}.mdui-theme-primary-blue-grey .mdui-color-theme{color:#fff!important;background-color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#eceff1!important}.mdui-theme-primary-blue-grey .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#cfd8dc!important}.mdui-theme-primary-blue-grey .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#b0bec5!important}.mdui-theme-primary-blue-grey .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#90a4ae!important}.mdui-theme-primary-blue-grey .mdui-color-theme-400{color:#fff!important;background-color:#78909c!important}.mdui-theme-primary-blue-grey .mdui-color-theme-500{color:#fff!important;background-color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-color-theme-600{color:#fff!important;background-color:#546e7a!important}.mdui-theme-primary-blue-grey .mdui-color-theme-700{color:#fff!important;background-color:#455a64!important}.mdui-theme-primary-blue-grey .mdui-color-theme-800{color:#fff!important;background-color:#37474f!important}.mdui-theme-primary-blue-grey .mdui-color-theme-900{color:#fff!important;background-color:#263238!important}.mdui-theme-primary-brown .mdui-color-theme{color:#fff!important;background-color:#795548!important}.mdui-theme-primary-brown .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#efebe9!important}.mdui-theme-primary-brown .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#d7ccc8!important}.mdui-theme-primary-brown .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#bcaaa4!important}.mdui-theme-primary-brown .mdui-color-theme-300{color:#fff!important;background-color:#a1887f!important}.mdui-theme-primary-brown .mdui-color-theme-400{color:#fff!important;background-color:#8d6e63!important}.mdui-theme-primary-brown .mdui-color-theme-500{color:#fff!important;background-color:#795548!important}.mdui-theme-primary-brown .mdui-color-theme-600{color:#fff!important;background-color:#6d4c41!important}.mdui-theme-primary-brown .mdui-color-theme-700{color:#fff!important;background-color:#5d4037!important}.mdui-theme-primary-brown .mdui-color-theme-800{color:#fff!important;background-color:#4e342e!important}.mdui-theme-primary-brown .mdui-color-theme-900{color:#fff!important;background-color:#3e2723!important}.mdui-theme-primary-cyan .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e0f7fa!important}.mdui-theme-primary-cyan .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#b2ebf2!important}.mdui-theme-primary-cyan .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#80deea!important}.mdui-theme-primary-cyan .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#4dd0e1!important}.mdui-theme-primary-cyan .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#26c6da!important}.mdui-theme-primary-cyan .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#00acc1!important}.mdui-theme-primary-cyan .mdui-color-theme-700{color:#fff!important;background-color:#0097a7!important}.mdui-theme-primary-cyan .mdui-color-theme-800{color:#fff!important;background-color:#00838f!important}.mdui-theme-primary-cyan .mdui-color-theme-900{color:#fff!important;background-color:#006064!important}.mdui-theme-primary-deep-orange .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fbe9e7!important}.mdui-theme-primary-deep-orange .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#ffccbc!important}.mdui-theme-primary-deep-orange .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ffab91!important}.mdui-theme-primary-deep-orange .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#ff8a65!important}.mdui-theme-primary-deep-orange .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#ff7043!important}.mdui-theme-primary-deep-orange .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-color-theme-600{color:#fff!important;background-color:#f4511e!important}.mdui-theme-primary-deep-orange .mdui-color-theme-700{color:#fff!important;background-color:#e64a19!important}.mdui-theme-primary-deep-orange .mdui-color-theme-800{color:#fff!important;background-color:#d84315!important}.mdui-theme-primary-deep-orange .mdui-color-theme-900{color:#fff!important;background-color:#bf360c!important}.mdui-theme-primary-deep-purple .mdui-color-theme{color:#fff!important;background-color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#ede7f6!important}.mdui-theme-primary-deep-purple .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#d1c4e9!important}.mdui-theme-primary-deep-purple .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#b39ddb!important}.mdui-theme-primary-deep-purple .mdui-color-theme-300{color:#fff!important;background-color:#9575cd!important}.mdui-theme-primary-deep-purple .mdui-color-theme-400{color:#fff!important;background-color:#7e57c2!important}.mdui-theme-primary-deep-purple .mdui-color-theme-500{color:#fff!important;background-color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-color-theme-600{color:#fff!important;background-color:#5e35b1!important}.mdui-theme-primary-deep-purple .mdui-color-theme-700{color:#fff!important;background-color:#512da8!important}.mdui-theme-primary-deep-purple .mdui-color-theme-800{color:#fff!important;background-color:#4527a0!important}.mdui-theme-primary-deep-purple .mdui-color-theme-900{color:#fff!important;background-color:#311b92!important}.mdui-theme-primary-green .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#4caf50!important}.mdui-theme-primary-green .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e8f5e9!important}.mdui-theme-primary-green .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#c8e6c9!important}.mdui-theme-primary-green .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#a5d6a7!important}.mdui-theme-primary-green .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#81c784!important}.mdui-theme-primary-green .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#66bb6a!important}.mdui-theme-primary-green .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#4caf50!important}.mdui-theme-primary-green .mdui-color-theme-600{color:#fff!important;background-color:#43a047!important}.mdui-theme-primary-green .mdui-color-theme-700{color:#fff!important;background-color:#388e3c!important}.mdui-theme-primary-green .mdui-color-theme-800{color:#fff!important;background-color:#2e7d32!important}.mdui-theme-primary-green .mdui-color-theme-900{color:#fff!important;background-color:#1b5e20!important}.mdui-theme-primary-grey .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fafafa!important}.mdui-theme-primary-grey .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#f5f5f5!important}.mdui-theme-primary-grey .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#eee!important}.mdui-theme-primary-grey .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#e0e0e0!important}.mdui-theme-primary-grey .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#bdbdbd!important}.mdui-theme-primary-grey .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-color-theme-600{color:#fff!important;background-color:#757575!important}.mdui-theme-primary-grey .mdui-color-theme-700{color:#fff!important;background-color:#616161!important}.mdui-theme-primary-grey .mdui-color-theme-800{color:#fff!important;background-color:#424242!important}.mdui-theme-primary-grey .mdui-color-theme-900{color:#fff!important;background-color:#212121!important}.mdui-theme-primary-indigo .mdui-color-theme{color:#fff!important;background-color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e8eaf6!important}.mdui-theme-primary-indigo .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#c5cae9!important}.mdui-theme-primary-indigo .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#9fa8da!important}.mdui-theme-primary-indigo .mdui-color-theme-300{color:#fff!important;background-color:#7986cb!important}.mdui-theme-primary-indigo .mdui-color-theme-400{color:#fff!important;background-color:#5c6bc0!important}.mdui-theme-primary-indigo .mdui-color-theme-500{color:#fff!important;background-color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-color-theme-600{color:#fff!important;background-color:#3949ab!important}.mdui-theme-primary-indigo .mdui-color-theme-700{color:#fff!important;background-color:#303f9f!important}.mdui-theme-primary-indigo .mdui-color-theme-800{color:#fff!important;background-color:#283593!important}.mdui-theme-primary-indigo .mdui-color-theme-900{color:#fff!important;background-color:#1a237e!important}.mdui-theme-primary-light-blue .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e1f5fe!important}.mdui-theme-primary-light-blue .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#b3e5fc!important}.mdui-theme-primary-light-blue .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#81d4fa!important}.mdui-theme-primary-light-blue .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#4fc3f7!important}.mdui-theme-primary-light-blue .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#29b6f6!important}.mdui-theme-primary-light-blue .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#039be5!important}.mdui-theme-primary-light-blue .mdui-color-theme-700{color:#fff!important;background-color:#0288d1!important}.mdui-theme-primary-light-blue .mdui-color-theme-800{color:#fff!important;background-color:#0277bd!important}.mdui-theme-primary-light-blue .mdui-color-theme-900{color:#fff!important;background-color:#01579b!important}.mdui-theme-primary-light-green .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#f1f8e9!important}.mdui-theme-primary-light-green .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#dcedc8!important}.mdui-theme-primary-light-green .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#c5e1a5!important}.mdui-theme-primary-light-green .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#aed581!important}.mdui-theme-primary-light-green .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#9ccc65!important}.mdui-theme-primary-light-green .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#7cb342!important}.mdui-theme-primary-light-green .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#689f38!important}.mdui-theme-primary-light-green .mdui-color-theme-800{color:#fff!important;background-color:#558b2f!important}.mdui-theme-primary-light-green .mdui-color-theme-900{color:#fff!important;background-color:#33691e!important}.mdui-theme-primary-lime .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#cddc39!important}.mdui-theme-primary-lime .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#f9fbe7!important}.mdui-theme-primary-lime .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#f0f4c3!important}.mdui-theme-primary-lime .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#e6ee9c!important}.mdui-theme-primary-lime .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#dce775!important}.mdui-theme-primary-lime .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#d4e157!important}.mdui-theme-primary-lime .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#cddc39!important}.mdui-theme-primary-lime .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#c0ca33!important}.mdui-theme-primary-lime .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#afb42b!important}.mdui-theme-primary-lime .mdui-color-theme-800{color:rgba(0,0,0,.87)!important;background-color:#9e9d24!important}.mdui-theme-primary-lime .mdui-color-theme-900{color:#fff!important;background-color:#827717!important}.mdui-theme-primary-orange .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#ff9800!important}.mdui-theme-primary-orange .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fff3e0!important}.mdui-theme-primary-orange .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#ffe0b2!important}.mdui-theme-primary-orange .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ffcc80!important}.mdui-theme-primary-orange .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#ffb74d!important}.mdui-theme-primary-orange .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#ffa726!important}.mdui-theme-primary-orange .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#ff9800!important}.mdui-theme-primary-orange .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#fb8c00!important}.mdui-theme-primary-orange .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#f57c00!important}.mdui-theme-primary-orange .mdui-color-theme-800{color:rgba(0,0,0,.87)!important;background-color:#ef6c00!important}.mdui-theme-primary-orange .mdui-color-theme-900{color:#fff!important;background-color:#e65100!important}.mdui-theme-primary-pink .mdui-color-theme{color:#fff!important;background-color:#e91e63!important}.mdui-theme-primary-pink .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fce4ec!important}.mdui-theme-primary-pink .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#f8bbd0!important}.mdui-theme-primary-pink .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#f48fb1!important}.mdui-theme-primary-pink .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#f06292!important}.mdui-theme-primary-pink .mdui-color-theme-400{color:#fff!important;background-color:#ec407a!important}.mdui-theme-primary-pink .mdui-color-theme-500{color:#fff!important;background-color:#e91e63!important}.mdui-theme-primary-pink .mdui-color-theme-600{color:#fff!important;background-color:#d81b60!important}.mdui-theme-primary-pink .mdui-color-theme-700{color:#fff!important;background-color:#c2185b!important}.mdui-theme-primary-pink .mdui-color-theme-800{color:#fff!important;background-color:#ad1457!important}.mdui-theme-primary-pink .mdui-color-theme-900{color:#fff!important;background-color:#880e4f!important}.mdui-theme-primary-purple .mdui-color-theme{color:#fff!important;background-color:#9c27b0!important}.mdui-theme-primary-purple .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#f3e5f5!important}.mdui-theme-primary-purple .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#e1bee7!important}.mdui-theme-primary-purple .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ce93d8!important}.mdui-theme-primary-purple .mdui-color-theme-300{color:#fff!important;background-color:#ba68c8!important}.mdui-theme-primary-purple .mdui-color-theme-400{color:#fff!important;background-color:#ab47bc!important}.mdui-theme-primary-purple .mdui-color-theme-500{color:#fff!important;background-color:#9c27b0!important}.mdui-theme-primary-purple .mdui-color-theme-600{color:#fff!important;background-color:#8e24aa!important}.mdui-theme-primary-purple .mdui-color-theme-700{color:#fff!important;background-color:#7b1fa2!important}.mdui-theme-primary-purple .mdui-color-theme-800{color:#fff!important;background-color:#6a1b9a!important}.mdui-theme-primary-purple .mdui-color-theme-900{color:#fff!important;background-color:#4a148c!important}.mdui-theme-primary-red .mdui-color-theme{color:#fff!important;background-color:#f44336!important}.mdui-theme-primary-red .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#ffebee!important}.mdui-theme-primary-red .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#ffcdd2!important}.mdui-theme-primary-red .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#ef9a9a!important}.mdui-theme-primary-red .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#e57373!important}.mdui-theme-primary-red .mdui-color-theme-400{color:#fff!important;background-color:#ef5350!important}.mdui-theme-primary-red .mdui-color-theme-500{color:#fff!important;background-color:#f44336!important}.mdui-theme-primary-red .mdui-color-theme-600{color:#fff!important;background-color:#e53935!important}.mdui-theme-primary-red .mdui-color-theme-700{color:#fff!important;background-color:#d32f2f!important}.mdui-theme-primary-red .mdui-color-theme-800{color:#fff!important;background-color:#c62828!important}.mdui-theme-primary-red .mdui-color-theme-900{color:#fff!important;background-color:#b71c1c!important}.mdui-theme-primary-teal .mdui-color-theme{color:#fff!important;background-color:#009688!important}.mdui-theme-primary-teal .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#e0f2f1!important}.mdui-theme-primary-teal .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#b2dfdb!important}.mdui-theme-primary-teal .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#80cbc4!important}.mdui-theme-primary-teal .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#4db6ac!important}.mdui-theme-primary-teal .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#26a69a!important}.mdui-theme-primary-teal .mdui-color-theme-500{color:#fff!important;background-color:#009688!important}.mdui-theme-primary-teal .mdui-color-theme-600{color:#fff!important;background-color:#00897b!important}.mdui-theme-primary-teal .mdui-color-theme-700{color:#fff!important;background-color:#00796b!important}.mdui-theme-primary-teal .mdui-color-theme-800{color:#fff!important;background-color:#00695c!important}.mdui-theme-primary-teal .mdui-color-theme-900{color:#fff!important;background-color:#004d40!important}.mdui-theme-primary-yellow .mdui-color-theme{color:rgba(0,0,0,.87)!important;background-color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-color-theme-50{color:rgba(0,0,0,.87)!important;background-color:#fffde7!important}.mdui-theme-primary-yellow .mdui-color-theme-100{color:rgba(0,0,0,.87)!important;background-color:#fff9c4!important}.mdui-theme-primary-yellow .mdui-color-theme-200{color:rgba(0,0,0,.87)!important;background-color:#fff59d!important}.mdui-theme-primary-yellow .mdui-color-theme-300{color:rgba(0,0,0,.87)!important;background-color:#fff176!important}.mdui-theme-primary-yellow .mdui-color-theme-400{color:rgba(0,0,0,.87)!important;background-color:#ffee58!important}.mdui-theme-primary-yellow .mdui-color-theme-500{color:rgba(0,0,0,.87)!important;background-color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-color-theme-600{color:rgba(0,0,0,.87)!important;background-color:#fdd835!important}.mdui-theme-primary-yellow .mdui-color-theme-700{color:rgba(0,0,0,.87)!important;background-color:#fbc02d!important}.mdui-theme-primary-yellow .mdui-color-theme-800{color:rgba(0,0,0,.87)!important;background-color:#f9a825!important}.mdui-theme-primary-yellow .mdui-color-theme-900{color:rgba(0,0,0,.87)!important;background-color:#f57f17!important}.mdui-theme-accent-amber .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#ffd740!important}.mdui-theme-accent-amber .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ffe57f!important}.mdui-theme-accent-amber .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#ffd740!important}.mdui-theme-accent-amber .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#ffc400!important}.mdui-theme-accent-amber .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#ffab00!important}.mdui-theme-accent-blue .mdui-color-theme-accent{color:#fff!important;background-color:#448aff!important}.mdui-theme-accent-blue .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#82b1ff!important}.mdui-theme-accent-blue .mdui-color-theme-a200{color:#fff!important;background-color:#448aff!important}.mdui-theme-accent-blue .mdui-color-theme-a400{color:#fff!important;background-color:#2979ff!important}.mdui-theme-accent-blue .mdui-color-theme-a700{color:#fff!important;background-color:#2962ff!important}.mdui-theme-accent-cyan .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#18ffff!important}.mdui-theme-accent-cyan .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#84ffff!important}.mdui-theme-accent-cyan .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#18ffff!important}.mdui-theme-accent-cyan .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#00e5ff!important}.mdui-theme-accent-cyan .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#00b8d4!important}.mdui-theme-accent-deep-orange .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ff9e80!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a400{color:#fff!important;background-color:#ff3d00!important}.mdui-theme-accent-deep-orange .mdui-color-theme-a700{color:#fff!important;background-color:#dd2c00!important}.mdui-theme-accent-deep-purple .mdui-color-theme-accent{color:#fff!important;background-color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#b388ff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a200{color:#fff!important;background-color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a400{color:#fff!important;background-color:#651fff!important}.mdui-theme-accent-deep-purple .mdui-color-theme-a700{color:#fff!important;background-color:#6200ea!important}.mdui-theme-accent-green .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#69f0ae!important}.mdui-theme-accent-green .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#b9f6ca!important}.mdui-theme-accent-green .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#69f0ae!important}.mdui-theme-accent-green .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#00e676!important}.mdui-theme-accent-green .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#00c853!important}.mdui-theme-accent-indigo .mdui-color-theme-accent{color:#fff!important;background-color:#536dfe!important}.mdui-theme-accent-indigo .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#8c9eff!important}.mdui-theme-accent-indigo .mdui-color-theme-a200{color:#fff!important;background-color:#536dfe!important}.mdui-theme-accent-indigo .mdui-color-theme-a400{color:#fff!important;background-color:#3d5afe!important}.mdui-theme-accent-indigo .mdui-color-theme-a700{color:#fff!important;background-color:#304ffe!important}.mdui-theme-accent-light-blue .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#80d8ff!important}.mdui-theme-accent-light-blue .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#00b0ff!important}.mdui-theme-accent-light-blue .mdui-color-theme-a700{color:#fff!important;background-color:#0091ea!important}.mdui-theme-accent-light-green .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ccff90!important}.mdui-theme-accent-light-green .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#76ff03!important}.mdui-theme-accent-light-green .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#64dd17!important}.mdui-theme-accent-lime .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#eeff41!important}.mdui-theme-accent-lime .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#f4ff81!important}.mdui-theme-accent-lime .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#eeff41!important}.mdui-theme-accent-lime .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#c6ff00!important}.mdui-theme-accent-lime .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#aeea00!important}.mdui-theme-accent-orange .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#ffab40!important}.mdui-theme-accent-orange .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ffd180!important}.mdui-theme-accent-orange .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#ffab40!important}.mdui-theme-accent-orange .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#ff9100!important}.mdui-theme-accent-orange .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#ff6d00!important}.mdui-theme-accent-pink .mdui-color-theme-accent{color:#fff!important;background-color:#ff4081!important}.mdui-theme-accent-pink .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ff80ab!important}.mdui-theme-accent-pink .mdui-color-theme-a200{color:#fff!important;background-color:#ff4081!important}.mdui-theme-accent-pink .mdui-color-theme-a400{color:#fff!important;background-color:#f50057!important}.mdui-theme-accent-pink .mdui-color-theme-a700{color:#fff!important;background-color:#c51162!important}.mdui-theme-accent-purple .mdui-color-theme-accent{color:#fff!important;background-color:#e040fb!important}.mdui-theme-accent-purple .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ea80fc!important}.mdui-theme-accent-purple .mdui-color-theme-a200{color:#fff!important;background-color:#e040fb!important}.mdui-theme-accent-purple .mdui-color-theme-a400{color:#fff!important;background-color:#d500f9!important}.mdui-theme-accent-purple .mdui-color-theme-a700{color:#fff!important;background-color:#a0f!important}.mdui-theme-accent-red .mdui-color-theme-accent{color:#fff!important;background-color:#ff5252!important}.mdui-theme-accent-red .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ff8a80!important}.mdui-theme-accent-red .mdui-color-theme-a200{color:#fff!important;background-color:#ff5252!important}.mdui-theme-accent-red .mdui-color-theme-a400{color:#fff!important;background-color:#ff1744!important}.mdui-theme-accent-red .mdui-color-theme-a700{color:#fff!important;background-color:#d50000!important}.mdui-theme-accent-teal .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#64ffda!important}.mdui-theme-accent-teal .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#a7ffeb!important}.mdui-theme-accent-teal .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#64ffda!important}.mdui-theme-accent-teal .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#1de9b6!important}.mdui-theme-accent-teal .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#00bfa5!important}.mdui-theme-accent-yellow .mdui-color-theme-accent{color:rgba(0,0,0,.87)!important;background-color:#ff0!important}.mdui-theme-accent-yellow .mdui-color-theme-a100{color:rgba(0,0,0,.87)!important;background-color:#ffff8d!important}.mdui-theme-accent-yellow .mdui-color-theme-a200{color:rgba(0,0,0,.87)!important;background-color:#ff0!important}.mdui-theme-accent-yellow .mdui-color-theme-a400{color:rgba(0,0,0,.87)!important;background-color:#ffea00!important}.mdui-theme-accent-yellow .mdui-color-theme-a700{color:rgba(0,0,0,.87)!important;background-color:#ffd600!important}.mdui-color-amber{color:rgba(0,0,0,.87)!important;background-color:#ffc107!important}.mdui-color-amber-50{color:rgba(0,0,0,.87)!important;background-color:#fff8e1!important}.mdui-color-amber-100{color:rgba(0,0,0,.87)!important;background-color:#ffecb3!important}.mdui-color-amber-200{color:rgba(0,0,0,.87)!important;background-color:#ffe082!important}.mdui-color-amber-300{color:rgba(0,0,0,.87)!important;background-color:#ffd54f!important}.mdui-color-amber-400{color:rgba(0,0,0,.87)!important;background-color:#ffca28!important}.mdui-color-amber-500{color:rgba(0,0,0,.87)!important;background-color:#ffc107!important}.mdui-color-amber-600{color:rgba(0,0,0,.87)!important;background-color:#ffb300!important}.mdui-color-amber-700{color:rgba(0,0,0,.87)!important;background-color:#ffa000!important}.mdui-color-amber-800{color:rgba(0,0,0,.87)!important;background-color:#ff8f00!important}.mdui-color-amber-900{color:rgba(0,0,0,.87)!important;background-color:#ff6f00!important}.mdui-color-blue{color:rgba(0,0,0,.87)!important;background-color:#2196f3!important}.mdui-color-blue-50{color:rgba(0,0,0,.87)!important;background-color:#e3f2fd!important}.mdui-color-blue-100{color:rgba(0,0,0,.87)!important;background-color:#bbdefb!important}.mdui-color-blue-200{color:rgba(0,0,0,.87)!important;background-color:#90caf9!important}.mdui-color-blue-300{color:rgba(0,0,0,.87)!important;background-color:#64b5f6!important}.mdui-color-blue-400{color:rgba(0,0,0,.87)!important;background-color:#42a5f5!important}.mdui-color-blue-500{color:rgba(0,0,0,.87)!important;background-color:#2196f3!important}.mdui-color-blue-600{color:#fff!important;background-color:#1e88e5!important}.mdui-color-blue-700{color:#fff!important;background-color:#1976d2!important}.mdui-color-blue-800{color:#fff!important;background-color:#1565c0!important}.mdui-color-blue-900{color:#fff!important;background-color:#0d47a1!important}.mdui-color-blue-grey{color:#fff!important;background-color:#607d8b!important}.mdui-color-blue-grey-50{color:rgba(0,0,0,.87)!important;background-color:#eceff1!important}.mdui-color-blue-grey-100{color:rgba(0,0,0,.87)!important;background-color:#cfd8dc!important}.mdui-color-blue-grey-200{color:rgba(0,0,0,.87)!important;background-color:#b0bec5!important}.mdui-color-blue-grey-300{color:rgba(0,0,0,.87)!important;background-color:#90a4ae!important}.mdui-color-blue-grey-400{color:#fff!important;background-color:#78909c!important}.mdui-color-blue-grey-500{color:#fff!important;background-color:#607d8b!important}.mdui-color-blue-grey-600{color:#fff!important;background-color:#546e7a!important}.mdui-color-blue-grey-700{color:#fff!important;background-color:#455a64!important}.mdui-color-blue-grey-800{color:#fff!important;background-color:#37474f!important}.mdui-color-blue-grey-900{color:#fff!important;background-color:#263238!important}.mdui-color-brown{color:#fff!important;background-color:#795548!important}.mdui-color-brown-50{color:rgba(0,0,0,.87)!important;background-color:#efebe9!important}.mdui-color-brown-100{color:rgba(0,0,0,.87)!important;background-color:#d7ccc8!important}.mdui-color-brown-200{color:rgba(0,0,0,.87)!important;background-color:#bcaaa4!important}.mdui-color-brown-300{color:#fff!important;background-color:#a1887f!important}.mdui-color-brown-400{color:#fff!important;background-color:#8d6e63!important}.mdui-color-brown-500{color:#fff!important;background-color:#795548!important}.mdui-color-brown-600{color:#fff!important;background-color:#6d4c41!important}.mdui-color-brown-700{color:#fff!important;background-color:#5d4037!important}.mdui-color-brown-800{color:#fff!important;background-color:#4e342e!important}.mdui-color-brown-900{color:#fff!important;background-color:#3e2723!important}.mdui-color-cyan{color:rgba(0,0,0,.87)!important;background-color:#00bcd4!important}.mdui-color-cyan-50{color:rgba(0,0,0,.87)!important;background-color:#e0f7fa!important}.mdui-color-cyan-100{color:rgba(0,0,0,.87)!important;background-color:#b2ebf2!important}.mdui-color-cyan-200{color:rgba(0,0,0,.87)!important;background-color:#80deea!important}.mdui-color-cyan-300{color:rgba(0,0,0,.87)!important;background-color:#4dd0e1!important}.mdui-color-cyan-400{color:rgba(0,0,0,.87)!important;background-color:#26c6da!important}.mdui-color-cyan-500{color:rgba(0,0,0,.87)!important;background-color:#00bcd4!important}.mdui-color-cyan-600{color:rgba(0,0,0,.87)!important;background-color:#00acc1!important}.mdui-color-cyan-700{color:#fff!important;background-color:#0097a7!important}.mdui-color-cyan-800{color:#fff!important;background-color:#00838f!important}.mdui-color-cyan-900{color:#fff!important;background-color:#006064!important}.mdui-color-deep-orange{color:rgba(0,0,0,.87)!important;background-color:#ff5722!important}.mdui-color-deep-orange-50{color:rgba(0,0,0,.87)!important;background-color:#fbe9e7!important}.mdui-color-deep-orange-100{color:rgba(0,0,0,.87)!important;background-color:#ffccbc!important}.mdui-color-deep-orange-200{color:rgba(0,0,0,.87)!important;background-color:#ffab91!important}.mdui-color-deep-orange-300{color:rgba(0,0,0,.87)!important;background-color:#ff8a65!important}.mdui-color-deep-orange-400{color:rgba(0,0,0,.87)!important;background-color:#ff7043!important}.mdui-color-deep-orange-500{color:rgba(0,0,0,.87)!important;background-color:#ff5722!important}.mdui-color-deep-orange-600{color:#fff!important;background-color:#f4511e!important}.mdui-color-deep-orange-700{color:#fff!important;background-color:#e64a19!important}.mdui-color-deep-orange-800{color:#fff!important;background-color:#d84315!important}.mdui-color-deep-orange-900{color:#fff!important;background-color:#bf360c!important}.mdui-color-deep-purple{color:#fff!important;background-color:#673ab7!important}.mdui-color-deep-purple-50{color:rgba(0,0,0,.87)!important;background-color:#ede7f6!important}.mdui-color-deep-purple-100{color:rgba(0,0,0,.87)!important;background-color:#d1c4e9!important}.mdui-color-deep-purple-200{color:rgba(0,0,0,.87)!important;background-color:#b39ddb!important}.mdui-color-deep-purple-300{color:#fff!important;background-color:#9575cd!important}.mdui-color-deep-purple-400{color:#fff!important;background-color:#7e57c2!important}.mdui-color-deep-purple-500{color:#fff!important;background-color:#673ab7!important}.mdui-color-deep-purple-600{color:#fff!important;background-color:#5e35b1!important}.mdui-color-deep-purple-700{color:#fff!important;background-color:#512da8!important}.mdui-color-deep-purple-800{color:#fff!important;background-color:#4527a0!important}.mdui-color-deep-purple-900{color:#fff!important;background-color:#311b92!important}.mdui-color-green{color:rgba(0,0,0,.87)!important;background-color:#4caf50!important}.mdui-color-green-50{color:rgba(0,0,0,.87)!important;background-color:#e8f5e9!important}.mdui-color-green-100{color:rgba(0,0,0,.87)!important;background-color:#c8e6c9!important}.mdui-color-green-200{color:rgba(0,0,0,.87)!important;background-color:#a5d6a7!important}.mdui-color-green-300{color:rgba(0,0,0,.87)!important;background-color:#81c784!important}.mdui-color-green-400{color:rgba(0,0,0,.87)!important;background-color:#66bb6a!important}.mdui-color-green-500{color:rgba(0,0,0,.87)!important;background-color:#4caf50!important}.mdui-color-green-600{color:#fff!important;background-color:#43a047!important}.mdui-color-green-700{color:#fff!important;background-color:#388e3c!important}.mdui-color-green-800{color:#fff!important;background-color:#2e7d32!important}.mdui-color-green-900{color:#fff!important;background-color:#1b5e20!important}.mdui-color-grey{color:rgba(0,0,0,.87)!important;background-color:#9e9e9e!important}.mdui-color-grey-50{color:rgba(0,0,0,.87)!important;background-color:#fafafa!important}.mdui-color-grey-100{color:rgba(0,0,0,.87)!important;background-color:#f5f5f5!important}.mdui-color-grey-200{color:rgba(0,0,0,.87)!important;background-color:#eee!important}.mdui-color-grey-300{color:rgba(0,0,0,.87)!important;background-color:#e0e0e0!important}.mdui-color-grey-400{color:rgba(0,0,0,.87)!important;background-color:#bdbdbd!important}.mdui-color-grey-500{color:rgba(0,0,0,.87)!important;background-color:#9e9e9e!important}.mdui-color-grey-600{color:#fff!important;background-color:#757575!important}.mdui-color-grey-700{color:#fff!important;background-color:#616161!important}.mdui-color-grey-800{color:#fff!important;background-color:#424242!important}.mdui-color-grey-900{color:#fff!important;background-color:#212121!important}.mdui-color-indigo{color:#fff!important;background-color:#3f51b5!important}.mdui-color-indigo-50{color:rgba(0,0,0,.87)!important;background-color:#e8eaf6!important}.mdui-color-indigo-100{color:rgba(0,0,0,.87)!important;background-color:#c5cae9!important}.mdui-color-indigo-200{color:rgba(0,0,0,.87)!important;background-color:#9fa8da!important}.mdui-color-indigo-300{color:#fff!important;background-color:#7986cb!important}.mdui-color-indigo-400{color:#fff!important;background-color:#5c6bc0!important}.mdui-color-indigo-500{color:#fff!important;background-color:#3f51b5!important}.mdui-color-indigo-600{color:#fff!important;background-color:#3949ab!important}.mdui-color-indigo-700{color:#fff!important;background-color:#303f9f!important}.mdui-color-indigo-800{color:#fff!important;background-color:#283593!important}.mdui-color-indigo-900{color:#fff!important;background-color:#1a237e!important}.mdui-color-light-blue{color:rgba(0,0,0,.87)!important;background-color:#03a9f4!important}.mdui-color-light-blue-50{color:rgba(0,0,0,.87)!important;background-color:#e1f5fe!important}.mdui-color-light-blue-100{color:rgba(0,0,0,.87)!important;background-color:#b3e5fc!important}.mdui-color-light-blue-200{color:rgba(0,0,0,.87)!important;background-color:#81d4fa!important}.mdui-color-light-blue-300{color:rgba(0,0,0,.87)!important;background-color:#4fc3f7!important}.mdui-color-light-blue-400{color:rgba(0,0,0,.87)!important;background-color:#29b6f6!important}.mdui-color-light-blue-500{color:rgba(0,0,0,.87)!important;background-color:#03a9f4!important}.mdui-color-light-blue-600{color:rgba(0,0,0,.87)!important;background-color:#039be5!important}.mdui-color-light-blue-700{color:#fff!important;background-color:#0288d1!important}.mdui-color-light-blue-800{color:#fff!important;background-color:#0277bd!important}.mdui-color-light-blue-900{color:#fff!important;background-color:#01579b!important}.mdui-color-light-green{color:rgba(0,0,0,.87)!important;background-color:#8bc34a!important}.mdui-color-light-green-50{color:rgba(0,0,0,.87)!important;background-color:#f1f8e9!important}.mdui-color-light-green-100{color:rgba(0,0,0,.87)!important;background-color:#dcedc8!important}.mdui-color-light-green-200{color:rgba(0,0,0,.87)!important;background-color:#c5e1a5!important}.mdui-color-light-green-300{color:rgba(0,0,0,.87)!important;background-color:#aed581!important}.mdui-color-light-green-400{color:rgba(0,0,0,.87)!important;background-color:#9ccc65!important}.mdui-color-light-green-500{color:rgba(0,0,0,.87)!important;background-color:#8bc34a!important}.mdui-color-light-green-600{color:rgba(0,0,0,.87)!important;background-color:#7cb342!important}.mdui-color-light-green-700{color:rgba(0,0,0,.87)!important;background-color:#689f38!important}.mdui-color-light-green-800{color:#fff!important;background-color:#558b2f!important}.mdui-color-light-green-900{color:#fff!important;background-color:#33691e!important}.mdui-color-lime{color:rgba(0,0,0,.87)!important;background-color:#cddc39!important}.mdui-color-lime-50{color:rgba(0,0,0,.87)!important;background-color:#f9fbe7!important}.mdui-color-lime-100{color:rgba(0,0,0,.87)!important;background-color:#f0f4c3!important}.mdui-color-lime-200{color:rgba(0,0,0,.87)!important;background-color:#e6ee9c!important}.mdui-color-lime-300{color:rgba(0,0,0,.87)!important;background-color:#dce775!important}.mdui-color-lime-400{color:rgba(0,0,0,.87)!important;background-color:#d4e157!important}.mdui-color-lime-500{color:rgba(0,0,0,.87)!important;background-color:#cddc39!important}.mdui-color-lime-600{color:rgba(0,0,0,.87)!important;background-color:#c0ca33!important}.mdui-color-lime-700{color:rgba(0,0,0,.87)!important;background-color:#afb42b!important}.mdui-color-lime-800{color:rgba(0,0,0,.87)!important;background-color:#9e9d24!important}.mdui-color-lime-900{color:#fff!important;background-color:#827717!important}.mdui-color-orange{color:rgba(0,0,0,.87)!important;background-color:#ff9800!important}.mdui-color-orange-50{color:rgba(0,0,0,.87)!important;background-color:#fff3e0!important}.mdui-color-orange-100{color:rgba(0,0,0,.87)!important;background-color:#ffe0b2!important}.mdui-color-orange-200{color:rgba(0,0,0,.87)!important;background-color:#ffcc80!important}.mdui-color-orange-300{color:rgba(0,0,0,.87)!important;background-color:#ffb74d!important}.mdui-color-orange-400{color:rgba(0,0,0,.87)!important;background-color:#ffa726!important}.mdui-color-orange-500{color:rgba(0,0,0,.87)!important;background-color:#ff9800!important}.mdui-color-orange-600{color:rgba(0,0,0,.87)!important;background-color:#fb8c00!important}.mdui-color-orange-700{color:rgba(0,0,0,.87)!important;background-color:#f57c00!important}.mdui-color-orange-800{color:rgba(0,0,0,.87)!important;background-color:#ef6c00!important}.mdui-color-orange-900{color:#fff!important;background-color:#e65100!important}.mdui-color-pink{color:#fff!important;background-color:#e91e63!important}.mdui-color-pink-50{color:rgba(0,0,0,.87)!important;background-color:#fce4ec!important}.mdui-color-pink-100{color:rgba(0,0,0,.87)!important;background-color:#f8bbd0!important}.mdui-color-pink-200{color:rgba(0,0,0,.87)!important;background-color:#f48fb1!important}.mdui-color-pink-300{color:rgba(0,0,0,.87)!important;background-color:#f06292!important}.mdui-color-pink-400{color:#fff!important;background-color:#ec407a!important}.mdui-color-pink-500{color:#fff!important;background-color:#e91e63!important}.mdui-color-pink-600{color:#fff!important;background-color:#d81b60!important}.mdui-color-pink-700{color:#fff!important;background-color:#c2185b!important}.mdui-color-pink-800{color:#fff!important;background-color:#ad1457!important}.mdui-color-pink-900{color:#fff!important;background-color:#880e4f!important}.mdui-color-purple{color:#fff!important;background-color:#9c27b0!important}.mdui-color-purple-50{color:rgba(0,0,0,.87)!important;background-color:#f3e5f5!important}.mdui-color-purple-100{color:rgba(0,0,0,.87)!important;background-color:#e1bee7!important}.mdui-color-purple-200{color:rgba(0,0,0,.87)!important;background-color:#ce93d8!important}.mdui-color-purple-300{color:#fff!important;background-color:#ba68c8!important}.mdui-color-purple-400{color:#fff!important;background-color:#ab47bc!important}.mdui-color-purple-500{color:#fff!important;background-color:#9c27b0!important}.mdui-color-purple-600{color:#fff!important;background-color:#8e24aa!important}.mdui-color-purple-700{color:#fff!important;background-color:#7b1fa2!important}.mdui-color-purple-800{color:#fff!important;background-color:#6a1b9a!important}.mdui-color-purple-900{color:#fff!important;background-color:#4a148c!important}.mdui-color-red{color:#fff!important;background-color:#f44336!important}.mdui-color-red-50{color:rgba(0,0,0,.87)!important;background-color:#ffebee!important}.mdui-color-red-100{color:rgba(0,0,0,.87)!important;background-color:#ffcdd2!important}.mdui-color-red-200{color:rgba(0,0,0,.87)!important;background-color:#ef9a9a!important}.mdui-color-red-300{color:rgba(0,0,0,.87)!important;background-color:#e57373!important}.mdui-color-red-400{color:#fff!important;background-color:#ef5350!important}.mdui-color-red-500{color:#fff!important;background-color:#f44336!important}.mdui-color-red-600{color:#fff!important;background-color:#e53935!important}.mdui-color-red-700{color:#fff!important;background-color:#d32f2f!important}.mdui-color-red-800{color:#fff!important;background-color:#c62828!important}.mdui-color-red-900{color:#fff!important;background-color:#b71c1c!important}.mdui-color-teal{color:#fff!important;background-color:#009688!important}.mdui-color-teal-50{color:rgba(0,0,0,.87)!important;background-color:#e0f2f1!important}.mdui-color-teal-100{color:rgba(0,0,0,.87)!important;background-color:#b2dfdb!important}.mdui-color-teal-200{color:rgba(0,0,0,.87)!important;background-color:#80cbc4!important}.mdui-color-teal-300{color:rgba(0,0,0,.87)!important;background-color:#4db6ac!important}.mdui-color-teal-400{color:rgba(0,0,0,.87)!important;background-color:#26a69a!important}.mdui-color-teal-500{color:#fff!important;background-color:#009688!important}.mdui-color-teal-600{color:#fff!important;background-color:#00897b!important}.mdui-color-teal-700{color:#fff!important;background-color:#00796b!important}.mdui-color-teal-800{color:#fff!important;background-color:#00695c!important}.mdui-color-teal-900{color:#fff!important;background-color:#004d40!important}.mdui-color-yellow{color:rgba(0,0,0,.87)!important;background-color:#ffeb3b!important}.mdui-color-yellow-50{color:rgba(0,0,0,.87)!important;background-color:#fffde7!important}.mdui-color-yellow-100{color:rgba(0,0,0,.87)!important;background-color:#fff9c4!important}.mdui-color-yellow-200{color:rgba(0,0,0,.87)!important;background-color:#fff59d!important}.mdui-color-yellow-300{color:rgba(0,0,0,.87)!important;background-color:#fff176!important}.mdui-color-yellow-400{color:rgba(0,0,0,.87)!important;background-color:#ffee58!important}.mdui-color-yellow-500{color:rgba(0,0,0,.87)!important;background-color:#ffeb3b!important}.mdui-color-yellow-600{color:rgba(0,0,0,.87)!important;background-color:#fdd835!important}.mdui-color-yellow-700{color:rgba(0,0,0,.87)!important;background-color:#fbc02d!important}.mdui-color-yellow-800{color:rgba(0,0,0,.87)!important;background-color:#f9a825!important}.mdui-color-yellow-900{color:rgba(0,0,0,.87)!important;background-color:#f57f17!important}.mdui-color-amber-accent{color:rgba(0,0,0,.87)!important;background-color:#ffd740!important}.mdui-color-amber-a100{color:rgba(0,0,0,.87)!important;background-color:#ffe57f!important}.mdui-color-amber-a200{color:rgba(0,0,0,.87)!important;background-color:#ffd740!important}.mdui-color-amber-a400{color:rgba(0,0,0,.87)!important;background-color:#ffc400!important}.mdui-color-amber-a700{color:rgba(0,0,0,.87)!important;background-color:#ffab00!important}.mdui-color-blue-accent{color:#fff!important;background-color:#448aff!important}.mdui-color-blue-a100{color:rgba(0,0,0,.87)!important;background-color:#82b1ff!important}.mdui-color-blue-a200{color:#fff!important;background-color:#448aff!important}.mdui-color-blue-a400{color:#fff!important;background-color:#2979ff!important}.mdui-color-blue-a700{color:#fff!important;background-color:#2962ff!important}.mdui-color-cyan-accent{color:rgba(0,0,0,.87)!important;background-color:#18ffff!important}.mdui-color-cyan-a100{color:rgba(0,0,0,.87)!important;background-color:#84ffff!important}.mdui-color-cyan-a200{color:rgba(0,0,0,.87)!important;background-color:#18ffff!important}.mdui-color-cyan-a400{color:rgba(0,0,0,.87)!important;background-color:#00e5ff!important}.mdui-color-cyan-a700{color:rgba(0,0,0,.87)!important;background-color:#00b8d4!important}.mdui-color-deep-orange-accent{color:rgba(0,0,0,.87)!important;background-color:#ff6e40!important}.mdui-color-deep-orange-a100{color:rgba(0,0,0,.87)!important;background-color:#ff9e80!important}.mdui-color-deep-orange-a200{color:rgba(0,0,0,.87)!important;background-color:#ff6e40!important}.mdui-color-deep-orange-a400{color:#fff!important;background-color:#ff3d00!important}.mdui-color-deep-orange-a700{color:#fff!important;background-color:#dd2c00!important}.mdui-color-deep-purple-accent{color:#fff!important;background-color:#7c4dff!important}.mdui-color-deep-purple-a100{color:rgba(0,0,0,.87)!important;background-color:#b388ff!important}.mdui-color-deep-purple-a200{color:#fff!important;background-color:#7c4dff!important}.mdui-color-deep-purple-a400{color:#fff!important;background-color:#651fff!important}.mdui-color-deep-purple-a700{color:#fff!important;background-color:#6200ea!important}.mdui-color-green-accent{color:rgba(0,0,0,.87)!important;background-color:#69f0ae!important}.mdui-color-green-a100{color:rgba(0,0,0,.87)!important;background-color:#b9f6ca!important}.mdui-color-green-a200{color:rgba(0,0,0,.87)!important;background-color:#69f0ae!important}.mdui-color-green-a400{color:rgba(0,0,0,.87)!important;background-color:#00e676!important}.mdui-color-green-a700{color:rgba(0,0,0,.87)!important;background-color:#00c853!important}.mdui-color-indigo-accent{color:#fff!important;background-color:#536dfe!important}.mdui-color-indigo-a100{color:rgba(0,0,0,.87)!important;background-color:#8c9eff!important}.mdui-color-indigo-a200{color:#fff!important;background-color:#536dfe!important}.mdui-color-indigo-a400{color:#fff!important;background-color:#3d5afe!important}.mdui-color-indigo-a700{color:#fff!important;background-color:#304ffe!important}.mdui-color-light-blue-accent{color:rgba(0,0,0,.87)!important;background-color:#40c4ff!important}.mdui-color-light-blue-a100{color:rgba(0,0,0,.87)!important;background-color:#80d8ff!important}.mdui-color-light-blue-a200{color:rgba(0,0,0,.87)!important;background-color:#40c4ff!important}.mdui-color-light-blue-a400{color:rgba(0,0,0,.87)!important;background-color:#00b0ff!important}.mdui-color-light-blue-a700{color:#fff!important;background-color:#0091ea!important}.mdui-color-light-green-accent{color:rgba(0,0,0,.87)!important;background-color:#b2ff59!important}.mdui-color-light-green-a100{color:rgba(0,0,0,.87)!important;background-color:#ccff90!important}.mdui-color-light-green-a200{color:rgba(0,0,0,.87)!important;background-color:#b2ff59!important}.mdui-color-light-green-a400{color:rgba(0,0,0,.87)!important;background-color:#76ff03!important}.mdui-color-light-green-a700{color:rgba(0,0,0,.87)!important;background-color:#64dd17!important}.mdui-color-lime-accent{color:rgba(0,0,0,.87)!important;background-color:#eeff41!important}.mdui-color-lime-a100{color:rgba(0,0,0,.87)!important;background-color:#f4ff81!important}.mdui-color-lime-a200{color:rgba(0,0,0,.87)!important;background-color:#eeff41!important}.mdui-color-lime-a400{color:rgba(0,0,0,.87)!important;background-color:#c6ff00!important}.mdui-color-lime-a700{color:rgba(0,0,0,.87)!important;background-color:#aeea00!important}.mdui-color-orange-accent{color:rgba(0,0,0,.87)!important;background-color:#ffab40!important}.mdui-color-orange-a100{color:rgba(0,0,0,.87)!important;background-color:#ffd180!important}.mdui-color-orange-a200{color:rgba(0,0,0,.87)!important;background-color:#ffab40!important}.mdui-color-orange-a400{color:rgba(0,0,0,.87)!important;background-color:#ff9100!important}.mdui-color-orange-a700{color:rgba(0,0,0,.87)!important;background-color:#ff6d00!important}.mdui-color-pink-accent{color:#fff!important;background-color:#ff4081!important}.mdui-color-pink-a100{color:rgba(0,0,0,.87)!important;background-color:#ff80ab!important}.mdui-color-pink-a200{color:#fff!important;background-color:#ff4081!important}.mdui-color-pink-a400{color:#fff!important;background-color:#f50057!important}.mdui-color-pink-a700{color:#fff!important;background-color:#c51162!important}.mdui-color-purple-accent{color:#fff!important;background-color:#e040fb!important}.mdui-color-purple-a100{color:rgba(0,0,0,.87)!important;background-color:#ea80fc!important}.mdui-color-purple-a200{color:#fff!important;background-color:#e040fb!important}.mdui-color-purple-a400{color:#fff!important;background-color:#d500f9!important}.mdui-color-purple-a700{color:#fff!important;background-color:#a0f!important}.mdui-color-red-accent{color:#fff!important;background-color:#ff5252!important}.mdui-color-red-a100{color:rgba(0,0,0,.87)!important;background-color:#ff8a80!important}.mdui-color-red-a200{color:#fff!important;background-color:#ff5252!important}.mdui-color-red-a400{color:#fff!important;background-color:#ff1744!important}.mdui-color-red-a700{color:#fff!important;background-color:#d50000!important}.mdui-color-teal-accent{color:rgba(0,0,0,.87)!important;background-color:#64ffda!important}.mdui-color-teal-a100{color:rgba(0,0,0,.87)!important;background-color:#a7ffeb!important}.mdui-color-teal-a200{color:rgba(0,0,0,.87)!important;background-color:#64ffda!important}.mdui-color-teal-a400{color:rgba(0,0,0,.87)!important;background-color:#1de9b6!important}.mdui-color-teal-a700{color:rgba(0,0,0,.87)!important;background-color:#00bfa5!important}.mdui-color-yellow-accent{color:rgba(0,0,0,.87)!important;background-color:#ff0!important}.mdui-color-yellow-a100{color:rgba(0,0,0,.87)!important;background-color:#ffff8d!important}.mdui-color-yellow-a200{color:rgba(0,0,0,.87)!important;background-color:#ff0!important}.mdui-color-yellow-a400{color:rgba(0,0,0,.87)!important;background-color:#ffea00!important}.mdui-color-yellow-a700{color:rgba(0,0,0,.87)!important;background-color:#ffd600!important}.mdui-color-black{color:#fff!important;background-color:#000!important}.mdui-color-white{color:rgba(0,0,0,.87)!important;background-color:#fff!important}.mdui-color-transparent{background-color:transparent!important}.mdui-theme-primary-amber .mdui-text-color-theme{color:#ffc107!important}.mdui-theme-primary-amber .mdui-text-color-theme-50{color:#fff8e1!important}.mdui-theme-primary-amber .mdui-text-color-theme-100{color:#ffecb3!important}.mdui-theme-primary-amber .mdui-text-color-theme-200{color:#ffe082!important}.mdui-theme-primary-amber .mdui-text-color-theme-300{color:#ffd54f!important}.mdui-theme-primary-amber .mdui-text-color-theme-400{color:#ffca28!important}.mdui-theme-primary-amber .mdui-text-color-theme-500{color:#ffc107!important}.mdui-theme-primary-amber .mdui-text-color-theme-600{color:#ffb300!important}.mdui-theme-primary-amber .mdui-text-color-theme-700{color:#ffa000!important}.mdui-theme-primary-amber .mdui-text-color-theme-800{color:#ff8f00!important}.mdui-theme-primary-amber .mdui-text-color-theme-900{color:#ff6f00!important}.mdui-theme-primary-blue .mdui-text-color-theme{color:#2196f3!important}.mdui-theme-primary-blue .mdui-text-color-theme-50{color:#e3f2fd!important}.mdui-theme-primary-blue .mdui-text-color-theme-100{color:#bbdefb!important}.mdui-theme-primary-blue .mdui-text-color-theme-200{color:#90caf9!important}.mdui-theme-primary-blue .mdui-text-color-theme-300{color:#64b5f6!important}.mdui-theme-primary-blue .mdui-text-color-theme-400{color:#42a5f5!important}.mdui-theme-primary-blue .mdui-text-color-theme-500{color:#2196f3!important}.mdui-theme-primary-blue .mdui-text-color-theme-600{color:#1e88e5!important}.mdui-theme-primary-blue .mdui-text-color-theme-700{color:#1976d2!important}.mdui-theme-primary-blue .mdui-text-color-theme-800{color:#1565c0!important}.mdui-theme-primary-blue .mdui-text-color-theme-900{color:#0d47a1!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme{color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-50{color:#eceff1!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-100{color:#cfd8dc!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-200{color:#b0bec5!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-300{color:#90a4ae!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-400{color:#78909c!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-500{color:#607d8b!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-600{color:#546e7a!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-700{color:#455a64!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-800{color:#37474f!important}.mdui-theme-primary-blue-grey .mdui-text-color-theme-900{color:#263238!important}.mdui-theme-primary-brown .mdui-text-color-theme{color:#795548!important}.mdui-theme-primary-brown .mdui-text-color-theme-50{color:#efebe9!important}.mdui-theme-primary-brown .mdui-text-color-theme-100{color:#d7ccc8!important}.mdui-theme-primary-brown .mdui-text-color-theme-200{color:#bcaaa4!important}.mdui-theme-primary-brown .mdui-text-color-theme-300{color:#a1887f!important}.mdui-theme-primary-brown .mdui-text-color-theme-400{color:#8d6e63!important}.mdui-theme-primary-brown .mdui-text-color-theme-500{color:#795548!important}.mdui-theme-primary-brown .mdui-text-color-theme-600{color:#6d4c41!important}.mdui-theme-primary-brown .mdui-text-color-theme-700{color:#5d4037!important}.mdui-theme-primary-brown .mdui-text-color-theme-800{color:#4e342e!important}.mdui-theme-primary-brown .mdui-text-color-theme-900{color:#3e2723!important}.mdui-theme-primary-cyan .mdui-text-color-theme{color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-text-color-theme-50{color:#e0f7fa!important}.mdui-theme-primary-cyan .mdui-text-color-theme-100{color:#b2ebf2!important}.mdui-theme-primary-cyan .mdui-text-color-theme-200{color:#80deea!important}.mdui-theme-primary-cyan .mdui-text-color-theme-300{color:#4dd0e1!important}.mdui-theme-primary-cyan .mdui-text-color-theme-400{color:#26c6da!important}.mdui-theme-primary-cyan .mdui-text-color-theme-500{color:#00bcd4!important}.mdui-theme-primary-cyan .mdui-text-color-theme-600{color:#00acc1!important}.mdui-theme-primary-cyan .mdui-text-color-theme-700{color:#0097a7!important}.mdui-theme-primary-cyan .mdui-text-color-theme-800{color:#00838f!important}.mdui-theme-primary-cyan .mdui-text-color-theme-900{color:#006064!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme{color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-50{color:#fbe9e7!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-100{color:#ffccbc!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-200{color:#ffab91!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-300{color:#ff8a65!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-400{color:#ff7043!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-500{color:#ff5722!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-600{color:#f4511e!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-700{color:#e64a19!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-800{color:#d84315!important}.mdui-theme-primary-deep-orange .mdui-text-color-theme-900{color:#bf360c!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme{color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-50{color:#ede7f6!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-100{color:#d1c4e9!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-200{color:#b39ddb!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-300{color:#9575cd!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-400{color:#7e57c2!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-500{color:#673ab7!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-600{color:#5e35b1!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-700{color:#512da8!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-800{color:#4527a0!important}.mdui-theme-primary-deep-purple .mdui-text-color-theme-900{color:#311b92!important}.mdui-theme-primary-green .mdui-text-color-theme{color:#4caf50!important}.mdui-theme-primary-green .mdui-text-color-theme-50{color:#e8f5e9!important}.mdui-theme-primary-green .mdui-text-color-theme-100{color:#c8e6c9!important}.mdui-theme-primary-green .mdui-text-color-theme-200{color:#a5d6a7!important}.mdui-theme-primary-green .mdui-text-color-theme-300{color:#81c784!important}.mdui-theme-primary-green .mdui-text-color-theme-400{color:#66bb6a!important}.mdui-theme-primary-green .mdui-text-color-theme-500{color:#4caf50!important}.mdui-theme-primary-green .mdui-text-color-theme-600{color:#43a047!important}.mdui-theme-primary-green .mdui-text-color-theme-700{color:#388e3c!important}.mdui-theme-primary-green .mdui-text-color-theme-800{color:#2e7d32!important}.mdui-theme-primary-green .mdui-text-color-theme-900{color:#1b5e20!important}.mdui-theme-primary-grey .mdui-text-color-theme{color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-text-color-theme-50{color:#fafafa!important}.mdui-theme-primary-grey .mdui-text-color-theme-100{color:#f5f5f5!important}.mdui-theme-primary-grey .mdui-text-color-theme-200{color:#eee!important}.mdui-theme-primary-grey .mdui-text-color-theme-300{color:#e0e0e0!important}.mdui-theme-primary-grey .mdui-text-color-theme-400{color:#bdbdbd!important}.mdui-theme-primary-grey .mdui-text-color-theme-500{color:#9e9e9e!important}.mdui-theme-primary-grey .mdui-text-color-theme-600{color:#757575!important}.mdui-theme-primary-grey .mdui-text-color-theme-700{color:#616161!important}.mdui-theme-primary-grey .mdui-text-color-theme-800{color:#424242!important}.mdui-theme-primary-grey .mdui-text-color-theme-900{color:#212121!important}.mdui-theme-primary-indigo .mdui-text-color-theme{color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-text-color-theme-50{color:#e8eaf6!important}.mdui-theme-primary-indigo .mdui-text-color-theme-100{color:#c5cae9!important}.mdui-theme-primary-indigo .mdui-text-color-theme-200{color:#9fa8da!important}.mdui-theme-primary-indigo .mdui-text-color-theme-300{color:#7986cb!important}.mdui-theme-primary-indigo .mdui-text-color-theme-400{color:#5c6bc0!important}.mdui-theme-primary-indigo .mdui-text-color-theme-500{color:#3f51b5!important}.mdui-theme-primary-indigo .mdui-text-color-theme-600{color:#3949ab!important}.mdui-theme-primary-indigo .mdui-text-color-theme-700{color:#303f9f!important}.mdui-theme-primary-indigo .mdui-text-color-theme-800{color:#283593!important}.mdui-theme-primary-indigo .mdui-text-color-theme-900{color:#1a237e!important}.mdui-theme-primary-light-blue .mdui-text-color-theme{color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-50{color:#e1f5fe!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-100{color:#b3e5fc!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-200{color:#81d4fa!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-300{color:#4fc3f7!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-400{color:#29b6f6!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-500{color:#03a9f4!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-600{color:#039be5!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-700{color:#0288d1!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-800{color:#0277bd!important}.mdui-theme-primary-light-blue .mdui-text-color-theme-900{color:#01579b!important}.mdui-theme-primary-light-green .mdui-text-color-theme{color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-text-color-theme-50{color:#f1f8e9!important}.mdui-theme-primary-light-green .mdui-text-color-theme-100{color:#dcedc8!important}.mdui-theme-primary-light-green .mdui-text-color-theme-200{color:#c5e1a5!important}.mdui-theme-primary-light-green .mdui-text-color-theme-300{color:#aed581!important}.mdui-theme-primary-light-green .mdui-text-color-theme-400{color:#9ccc65!important}.mdui-theme-primary-light-green .mdui-text-color-theme-500{color:#8bc34a!important}.mdui-theme-primary-light-green .mdui-text-color-theme-600{color:#7cb342!important}.mdui-theme-primary-light-green .mdui-text-color-theme-700{color:#689f38!important}.mdui-theme-primary-light-green .mdui-text-color-theme-800{color:#558b2f!important}.mdui-theme-primary-light-green .mdui-text-color-theme-900{color:#33691e!important}.mdui-theme-primary-lime .mdui-text-color-theme{color:#cddc39!important}.mdui-theme-primary-lime .mdui-text-color-theme-50{color:#f9fbe7!important}.mdui-theme-primary-lime .mdui-text-color-theme-100{color:#f0f4c3!important}.mdui-theme-primary-lime .mdui-text-color-theme-200{color:#e6ee9c!important}.mdui-theme-primary-lime .mdui-text-color-theme-300{color:#dce775!important}.mdui-theme-primary-lime .mdui-text-color-theme-400{color:#d4e157!important}.mdui-theme-primary-lime .mdui-text-color-theme-500{color:#cddc39!important}.mdui-theme-primary-lime .mdui-text-color-theme-600{color:#c0ca33!important}.mdui-theme-primary-lime .mdui-text-color-theme-700{color:#afb42b!important}.mdui-theme-primary-lime .mdui-text-color-theme-800{color:#9e9d24!important}.mdui-theme-primary-lime .mdui-text-color-theme-900{color:#827717!important}.mdui-theme-primary-orange .mdui-text-color-theme{color:#ff9800!important}.mdui-theme-primary-orange .mdui-text-color-theme-50{color:#fff3e0!important}.mdui-theme-primary-orange .mdui-text-color-theme-100{color:#ffe0b2!important}.mdui-theme-primary-orange .mdui-text-color-theme-200{color:#ffcc80!important}.mdui-theme-primary-orange .mdui-text-color-theme-300{color:#ffb74d!important}.mdui-theme-primary-orange .mdui-text-color-theme-400{color:#ffa726!important}.mdui-theme-primary-orange .mdui-text-color-theme-500{color:#ff9800!important}.mdui-theme-primary-orange .mdui-text-color-theme-600{color:#fb8c00!important}.mdui-theme-primary-orange .mdui-text-color-theme-700{color:#f57c00!important}.mdui-theme-primary-orange .mdui-text-color-theme-800{color:#ef6c00!important}.mdui-theme-primary-orange .mdui-text-color-theme-900{color:#e65100!important}.mdui-theme-primary-pink .mdui-text-color-theme{color:#e91e63!important}.mdui-theme-primary-pink .mdui-text-color-theme-50{color:#fce4ec!important}.mdui-theme-primary-pink .mdui-text-color-theme-100{color:#f8bbd0!important}.mdui-theme-primary-pink .mdui-text-color-theme-200{color:#f48fb1!important}.mdui-theme-primary-pink .mdui-text-color-theme-300{color:#f06292!important}.mdui-theme-primary-pink .mdui-text-color-theme-400{color:#ec407a!important}.mdui-theme-primary-pink .mdui-text-color-theme-500{color:#e91e63!important}.mdui-theme-primary-pink .mdui-text-color-theme-600{color:#d81b60!important}.mdui-theme-primary-pink .mdui-text-color-theme-700{color:#c2185b!important}.mdui-theme-primary-pink .mdui-text-color-theme-800{color:#ad1457!important}.mdui-theme-primary-pink .mdui-text-color-theme-900{color:#880e4f!important}.mdui-theme-primary-purple .mdui-text-color-theme{color:#9c27b0!important}.mdui-theme-primary-purple .mdui-text-color-theme-50{color:#f3e5f5!important}.mdui-theme-primary-purple .mdui-text-color-theme-100{color:#e1bee7!important}.mdui-theme-primary-purple .mdui-text-color-theme-200{color:#ce93d8!important}.mdui-theme-primary-purple .mdui-text-color-theme-300{color:#ba68c8!important}.mdui-theme-primary-purple .mdui-text-color-theme-400{color:#ab47bc!important}.mdui-theme-primary-purple .mdui-text-color-theme-500{color:#9c27b0!important}.mdui-theme-primary-purple .mdui-text-color-theme-600{color:#8e24aa!important}.mdui-theme-primary-purple .mdui-text-color-theme-700{color:#7b1fa2!important}.mdui-theme-primary-purple .mdui-text-color-theme-800{color:#6a1b9a!important}.mdui-theme-primary-purple .mdui-text-color-theme-900{color:#4a148c!important}.mdui-theme-primary-red .mdui-text-color-theme{color:#f44336!important}.mdui-theme-primary-red .mdui-text-color-theme-50{color:#ffebee!important}.mdui-theme-primary-red .mdui-text-color-theme-100{color:#ffcdd2!important}.mdui-theme-primary-red .mdui-text-color-theme-200{color:#ef9a9a!important}.mdui-theme-primary-red .mdui-text-color-theme-300{color:#e57373!important}.mdui-theme-primary-red .mdui-text-color-theme-400{color:#ef5350!important}.mdui-theme-primary-red .mdui-text-color-theme-500{color:#f44336!important}.mdui-theme-primary-red .mdui-text-color-theme-600{color:#e53935!important}.mdui-theme-primary-red .mdui-text-color-theme-700{color:#d32f2f!important}.mdui-theme-primary-red .mdui-text-color-theme-800{color:#c62828!important}.mdui-theme-primary-red .mdui-text-color-theme-900{color:#b71c1c!important}.mdui-theme-primary-teal .mdui-text-color-theme{color:#009688!important}.mdui-theme-primary-teal .mdui-text-color-theme-50{color:#e0f2f1!important}.mdui-theme-primary-teal .mdui-text-color-theme-100{color:#b2dfdb!important}.mdui-theme-primary-teal .mdui-text-color-theme-200{color:#80cbc4!important}.mdui-theme-primary-teal .mdui-text-color-theme-300{color:#4db6ac!important}.mdui-theme-primary-teal .mdui-text-color-theme-400{color:#26a69a!important}.mdui-theme-primary-teal .mdui-text-color-theme-500{color:#009688!important}.mdui-theme-primary-teal .mdui-text-color-theme-600{color:#00897b!important}.mdui-theme-primary-teal .mdui-text-color-theme-700{color:#00796b!important}.mdui-theme-primary-teal .mdui-text-color-theme-800{color:#00695c!important}.mdui-theme-primary-teal .mdui-text-color-theme-900{color:#004d40!important}.mdui-theme-primary-yellow .mdui-text-color-theme{color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-text-color-theme-50{color:#fffde7!important}.mdui-theme-primary-yellow .mdui-text-color-theme-100{color:#fff9c4!important}.mdui-theme-primary-yellow .mdui-text-color-theme-200{color:#fff59d!important}.mdui-theme-primary-yellow .mdui-text-color-theme-300{color:#fff176!important}.mdui-theme-primary-yellow .mdui-text-color-theme-400{color:#ffee58!important}.mdui-theme-primary-yellow .mdui-text-color-theme-500{color:#ffeb3b!important}.mdui-theme-primary-yellow .mdui-text-color-theme-600{color:#fdd835!important}.mdui-theme-primary-yellow .mdui-text-color-theme-700{color:#fbc02d!important}.mdui-theme-primary-yellow .mdui-text-color-theme-800{color:#f9a825!important}.mdui-theme-primary-yellow .mdui-text-color-theme-900{color:#f57f17!important}.mdui-theme-accent-amber .mdui-text-color-theme-accent{color:#ffd740!important}.mdui-theme-accent-amber .mdui-text-color-theme-a100{color:#ffe57f!important}.mdui-theme-accent-amber .mdui-text-color-theme-a200{color:#ffd740!important}.mdui-theme-accent-amber .mdui-text-color-theme-a400{color:#ffc400!important}.mdui-theme-accent-amber .mdui-text-color-theme-a700{color:#ffab00!important}.mdui-theme-accent-blue .mdui-text-color-theme-accent{color:#448aff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a100{color:#82b1ff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a200{color:#448aff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a400{color:#2979ff!important}.mdui-theme-accent-blue .mdui-text-color-theme-a700{color:#2962ff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-accent{color:#18ffff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a100{color:#84ffff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a200{color:#18ffff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a400{color:#00e5ff!important}.mdui-theme-accent-cyan .mdui-text-color-theme-a700{color:#00b8d4!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent{color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100{color:#ff9e80!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200{color:#ff6e40!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400{color:#ff3d00!important}.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700{color:#dd2c00!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent{color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100{color:#b388ff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200{color:#7c4dff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400{color:#651fff!important}.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700{color:#6200ea!important}.mdui-theme-accent-green .mdui-text-color-theme-accent{color:#69f0ae!important}.mdui-theme-accent-green .mdui-text-color-theme-a100{color:#b9f6ca!important}.mdui-theme-accent-green .mdui-text-color-theme-a200{color:#69f0ae!important}.mdui-theme-accent-green .mdui-text-color-theme-a400{color:#00e676!important}.mdui-theme-accent-green .mdui-text-color-theme-a700{color:#00c853!important}.mdui-theme-accent-indigo .mdui-text-color-theme-accent{color:#536dfe!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a100{color:#8c9eff!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a200{color:#536dfe!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a400{color:#3d5afe!important}.mdui-theme-accent-indigo .mdui-text-color-theme-a700{color:#304ffe!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-accent{color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a100{color:#80d8ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a200{color:#40c4ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a400{color:#00b0ff!important}.mdui-theme-accent-light-blue .mdui-text-color-theme-a700{color:#0091ea!important}.mdui-theme-accent-light-green .mdui-text-color-theme-accent{color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a100{color:#ccff90!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a200{color:#b2ff59!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a400{color:#76ff03!important}.mdui-theme-accent-light-green .mdui-text-color-theme-a700{color:#64dd17!important}.mdui-theme-accent-lime .mdui-text-color-theme-accent{color:#eeff41!important}.mdui-theme-accent-lime .mdui-text-color-theme-a100{color:#f4ff81!important}.mdui-theme-accent-lime .mdui-text-color-theme-a200{color:#eeff41!important}.mdui-theme-accent-lime .mdui-text-color-theme-a400{color:#c6ff00!important}.mdui-theme-accent-lime .mdui-text-color-theme-a700{color:#aeea00!important}.mdui-theme-accent-orange .mdui-text-color-theme-accent{color:#ffab40!important}.mdui-theme-accent-orange .mdui-text-color-theme-a100{color:#ffd180!important}.mdui-theme-accent-orange .mdui-text-color-theme-a200{color:#ffab40!important}.mdui-theme-accent-orange .mdui-text-color-theme-a400{color:#ff9100!important}.mdui-theme-accent-orange .mdui-text-color-theme-a700{color:#ff6d00!important}.mdui-theme-accent-pink .mdui-text-color-theme-accent{color:#ff4081!important}.mdui-theme-accent-pink .mdui-text-color-theme-a100{color:#ff80ab!important}.mdui-theme-accent-pink .mdui-text-color-theme-a200{color:#ff4081!important}.mdui-theme-accent-pink .mdui-text-color-theme-a400{color:#f50057!important}.mdui-theme-accent-pink .mdui-text-color-theme-a700{color:#c51162!important}.mdui-theme-accent-purple .mdui-text-color-theme-accent{color:#e040fb!important}.mdui-theme-accent-purple .mdui-text-color-theme-a100{color:#ea80fc!important}.mdui-theme-accent-purple .mdui-text-color-theme-a200{color:#e040fb!important}.mdui-theme-accent-purple .mdui-text-color-theme-a400{color:#d500f9!important}.mdui-theme-accent-purple .mdui-text-color-theme-a700{color:#a0f!important}.mdui-theme-accent-red .mdui-text-color-theme-accent{color:#ff5252!important}.mdui-theme-accent-red .mdui-text-color-theme-a100{color:#ff8a80!important}.mdui-theme-accent-red .mdui-text-color-theme-a200{color:#ff5252!important}.mdui-theme-accent-red .mdui-text-color-theme-a400{color:#ff1744!important}.mdui-theme-accent-red .mdui-text-color-theme-a700{color:#d50000!important}.mdui-theme-accent-teal .mdui-text-color-theme-accent{color:#64ffda!important}.mdui-theme-accent-teal .mdui-text-color-theme-a100{color:#a7ffeb!important}.mdui-theme-accent-teal .mdui-text-color-theme-a200{color:#64ffda!important}.mdui-theme-accent-teal .mdui-text-color-theme-a400{color:#1de9b6!important}.mdui-theme-accent-teal .mdui-text-color-theme-a700{color:#00bfa5!important}.mdui-theme-accent-yellow .mdui-text-color-theme-accent{color:#ff0!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a100{color:#ffff8d!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a200{color:#ff0!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a400{color:#ffea00!important}.mdui-theme-accent-yellow .mdui-text-color-theme-a700{color:#ffd600!important}.mdui-text-color-amber{color:#ffc107!important}.mdui-text-color-amber-50{color:#fff8e1!important}.mdui-text-color-amber-100{color:#ffecb3!important}.mdui-text-color-amber-200{color:#ffe082!important}.mdui-text-color-amber-300{color:#ffd54f!important}.mdui-text-color-amber-400{color:#ffca28!important}.mdui-text-color-amber-500{color:#ffc107!important}.mdui-text-color-amber-600{color:#ffb300!important}.mdui-text-color-amber-700{color:#ffa000!important}.mdui-text-color-amber-800{color:#ff8f00!important}.mdui-text-color-amber-900{color:#ff6f00!important}.mdui-text-color-blue{color:#2196f3!important}.mdui-text-color-blue-50{color:#e3f2fd!important}.mdui-text-color-blue-100{color:#bbdefb!important}.mdui-text-color-blue-200{color:#90caf9!important}.mdui-text-color-blue-300{color:#64b5f6!important}.mdui-text-color-blue-400{color:#42a5f5!important}.mdui-text-color-blue-500{color:#2196f3!important}.mdui-text-color-blue-600{color:#1e88e5!important}.mdui-text-color-blue-700{color:#1976d2!important}.mdui-text-color-blue-800{color:#1565c0!important}.mdui-text-color-blue-900{color:#0d47a1!important}.mdui-text-color-blue-grey{color:#607d8b!important}.mdui-text-color-blue-grey-50{color:#eceff1!important}.mdui-text-color-blue-grey-100{color:#cfd8dc!important}.mdui-text-color-blue-grey-200{color:#b0bec5!important}.mdui-text-color-blue-grey-300{color:#90a4ae!important}.mdui-text-color-blue-grey-400{color:#78909c!important}.mdui-text-color-blue-grey-500{color:#607d8b!important}.mdui-text-color-blue-grey-600{color:#546e7a!important}.mdui-text-color-blue-grey-700{color:#455a64!important}.mdui-text-color-blue-grey-800{color:#37474f!important}.mdui-text-color-blue-grey-900{color:#263238!important}.mdui-text-color-brown{color:#795548!important}.mdui-text-color-brown-50{color:#efebe9!important}.mdui-text-color-brown-100{color:#d7ccc8!important}.mdui-text-color-brown-200{color:#bcaaa4!important}.mdui-text-color-brown-300{color:#a1887f!important}.mdui-text-color-brown-400{color:#8d6e63!important}.mdui-text-color-brown-500{color:#795548!important}.mdui-text-color-brown-600{color:#6d4c41!important}.mdui-text-color-brown-700{color:#5d4037!important}.mdui-text-color-brown-800{color:#4e342e!important}.mdui-text-color-brown-900{color:#3e2723!important}.mdui-text-color-cyan{color:#00bcd4!important}.mdui-text-color-cyan-50{color:#e0f7fa!important}.mdui-text-color-cyan-100{color:#b2ebf2!important}.mdui-text-color-cyan-200{color:#80deea!important}.mdui-text-color-cyan-300{color:#4dd0e1!important}.mdui-text-color-cyan-400{color:#26c6da!important}.mdui-text-color-cyan-500{color:#00bcd4!important}.mdui-text-color-cyan-600{color:#00acc1!important}.mdui-text-color-cyan-700{color:#0097a7!important}.mdui-text-color-cyan-800{color:#00838f!important}.mdui-text-color-cyan-900{color:#006064!important}.mdui-text-color-deep-orange{color:#ff5722!important}.mdui-text-color-deep-orange-50{color:#fbe9e7!important}.mdui-text-color-deep-orange-100{color:#ffccbc!important}.mdui-text-color-deep-orange-200{color:#ffab91!important}.mdui-text-color-deep-orange-300{color:#ff8a65!important}.mdui-text-color-deep-orange-400{color:#ff7043!important}.mdui-text-color-deep-orange-500{color:#ff5722!important}.mdui-text-color-deep-orange-600{color:#f4511e!important}.mdui-text-color-deep-orange-700{color:#e64a19!important}.mdui-text-color-deep-orange-800{color:#d84315!important}.mdui-text-color-deep-orange-900{color:#bf360c!important}.mdui-text-color-deep-purple{color:#673ab7!important}.mdui-text-color-deep-purple-50{color:#ede7f6!important}.mdui-text-color-deep-purple-100{color:#d1c4e9!important}.mdui-text-color-deep-purple-200{color:#b39ddb!important}.mdui-text-color-deep-purple-300{color:#9575cd!important}.mdui-text-color-deep-purple-400{color:#7e57c2!important}.mdui-text-color-deep-purple-500{color:#673ab7!important}.mdui-text-color-deep-purple-600{color:#5e35b1!important}.mdui-text-color-deep-purple-700{color:#512da8!important}.mdui-text-color-deep-purple-800{color:#4527a0!important}.mdui-text-color-deep-purple-900{color:#311b92!important}.mdui-text-color-green{color:#4caf50!important}.mdui-text-color-green-50{color:#e8f5e9!important}.mdui-text-color-green-100{color:#c8e6c9!important}.mdui-text-color-green-200{color:#a5d6a7!important}.mdui-text-color-green-300{color:#81c784!important}.mdui-text-color-green-400{color:#66bb6a!important}.mdui-text-color-green-500{color:#4caf50!important}.mdui-text-color-green-600{color:#43a047!important}.mdui-text-color-green-700{color:#388e3c!important}.mdui-text-color-green-800{color:#2e7d32!important}.mdui-text-color-green-900{color:#1b5e20!important}.mdui-text-color-grey{color:#9e9e9e!important}.mdui-text-color-grey-50{color:#fafafa!important}.mdui-text-color-grey-100{color:#f5f5f5!important}.mdui-text-color-grey-200{color:#eee!important}.mdui-text-color-grey-300{color:#e0e0e0!important}.mdui-text-color-grey-400{color:#bdbdbd!important}.mdui-text-color-grey-500{color:#9e9e9e!important}.mdui-text-color-grey-600{color:#757575!important}.mdui-text-color-grey-700{color:#616161!important}.mdui-text-color-grey-800{color:#424242!important}.mdui-text-color-grey-900{color:#212121!important}.mdui-text-color-indigo{color:#3f51b5!important}.mdui-text-color-indigo-50{color:#e8eaf6!important}.mdui-text-color-indigo-100{color:#c5cae9!important}.mdui-text-color-indigo-200{color:#9fa8da!important}.mdui-text-color-indigo-300{color:#7986cb!important}.mdui-text-color-indigo-400{color:#5c6bc0!important}.mdui-text-color-indigo-500{color:#3f51b5!important}.mdui-text-color-indigo-600{color:#3949ab!important}.mdui-text-color-indigo-700{color:#303f9f!important}.mdui-text-color-indigo-800{color:#283593!important}.mdui-text-color-indigo-900{color:#1a237e!important}.mdui-text-color-light-blue{color:#03a9f4!important}.mdui-text-color-light-blue-50{color:#e1f5fe!important}.mdui-text-color-light-blue-100{color:#b3e5fc!important}.mdui-text-color-light-blue-200{color:#81d4fa!important}.mdui-text-color-light-blue-300{color:#4fc3f7!important}.mdui-text-color-light-blue-400{color:#29b6f6!important}.mdui-text-color-light-blue-500{color:#03a9f4!important}.mdui-text-color-light-blue-600{color:#039be5!important}.mdui-text-color-light-blue-700{color:#0288d1!important}.mdui-text-color-light-blue-800{color:#0277bd!important}.mdui-text-color-light-blue-900{color:#01579b!important}.mdui-text-color-light-green{color:#8bc34a!important}.mdui-text-color-light-green-50{color:#f1f8e9!important}.mdui-text-color-light-green-100{color:#dcedc8!important}.mdui-text-color-light-green-200{color:#c5e1a5!important}.mdui-text-color-light-green-300{color:#aed581!important}.mdui-text-color-light-green-400{color:#9ccc65!important}.mdui-text-color-light-green-500{color:#8bc34a!important}.mdui-text-color-light-green-600{color:#7cb342!important}.mdui-text-color-light-green-700{color:#689f38!important}.mdui-text-color-light-green-800{color:#558b2f!important}.mdui-text-color-light-green-900{color:#33691e!important}.mdui-text-color-lime{color:#cddc39!important}.mdui-text-color-lime-50{color:#f9fbe7!important}.mdui-text-color-lime-100{color:#f0f4c3!important}.mdui-text-color-lime-200{color:#e6ee9c!important}.mdui-text-color-lime-300{color:#dce775!important}.mdui-text-color-lime-400{color:#d4e157!important}.mdui-text-color-lime-500{color:#cddc39!important}.mdui-text-color-lime-600{color:#c0ca33!important}.mdui-text-color-lime-700{color:#afb42b!important}.mdui-text-color-lime-800{color:#9e9d24!important}.mdui-text-color-lime-900{color:#827717!important}.mdui-text-color-orange{color:#ff9800!important}.mdui-text-color-orange-50{color:#fff3e0!important}.mdui-text-color-orange-100{color:#ffe0b2!important}.mdui-text-color-orange-200{color:#ffcc80!important}.mdui-text-color-orange-300{color:#ffb74d!important}.mdui-text-color-orange-400{color:#ffa726!important}.mdui-text-color-orange-500{color:#ff9800!important}.mdui-text-color-orange-600{color:#fb8c00!important}.mdui-text-color-orange-700{color:#f57c00!important}.mdui-text-color-orange-800{color:#ef6c00!important}.mdui-text-color-orange-900{color:#e65100!important}.mdui-text-color-pink{color:#e91e63!important}.mdui-text-color-pink-50{color:#fce4ec!important}.mdui-text-color-pink-100{color:#f8bbd0!important}.mdui-text-color-pink-200{color:#f48fb1!important}.mdui-text-color-pink-300{color:#f06292!important}.mdui-text-color-pink-400{color:#ec407a!important}.mdui-text-color-pink-500{color:#e91e63!important}.mdui-text-color-pink-600{color:#d81b60!important}.mdui-text-color-pink-700{color:#c2185b!important}.mdui-text-color-pink-800{color:#ad1457!important}.mdui-text-color-pink-900{color:#880e4f!important}.mdui-text-color-purple{color:#9c27b0!important}.mdui-text-color-purple-50{color:#f3e5f5!important}.mdui-text-color-purple-100{color:#e1bee7!important}.mdui-text-color-purple-200{color:#ce93d8!important}.mdui-text-color-purple-300{color:#ba68c8!important}.mdui-text-color-purple-400{color:#ab47bc!important}.mdui-text-color-purple-500{color:#9c27b0!important}.mdui-text-color-purple-600{color:#8e24aa!important}.mdui-text-color-purple-700{color:#7b1fa2!important}.mdui-text-color-purple-800{color:#6a1b9a!important}.mdui-text-color-purple-900{color:#4a148c!important}.mdui-text-color-red{color:#f44336!important}.mdui-text-color-red-50{color:#ffebee!important}.mdui-text-color-red-100{color:#ffcdd2!important}.mdui-text-color-red-200{color:#ef9a9a!important}.mdui-text-color-red-300{color:#e57373!important}.mdui-text-color-red-400{color:#ef5350!important}.mdui-text-color-red-500{color:#f44336!important}.mdui-text-color-red-600{color:#e53935!important}.mdui-text-color-red-700{color:#d32f2f!important}.mdui-text-color-red-800{color:#c62828!important}.mdui-text-color-red-900{color:#b71c1c!important}.mdui-text-color-teal{color:#009688!important}.mdui-text-color-teal-50{color:#e0f2f1!important}.mdui-text-color-teal-100{color:#b2dfdb!important}.mdui-text-color-teal-200{color:#80cbc4!important}.mdui-text-color-teal-300{color:#4db6ac!important}.mdui-text-color-teal-400{color:#26a69a!important}.mdui-text-color-teal-500{color:#009688!important}.mdui-text-color-teal-600{color:#00897b!important}.mdui-text-color-teal-700{color:#00796b!important}.mdui-text-color-teal-800{color:#00695c!important}.mdui-text-color-teal-900{color:#004d40!important}.mdui-text-color-yellow{color:#ffeb3b!important}.mdui-text-color-yellow-50{color:#fffde7!important}.mdui-text-color-yellow-100{color:#fff9c4!important}.mdui-text-color-yellow-200{color:#fff59d!important}.mdui-text-color-yellow-300{color:#fff176!important}.mdui-text-color-yellow-400{color:#ffee58!important}.mdui-text-color-yellow-500{color:#ffeb3b!important}.mdui-text-color-yellow-600{color:#fdd835!important}.mdui-text-color-yellow-700{color:#fbc02d!important}.mdui-text-color-yellow-800{color:#f9a825!important}.mdui-text-color-yellow-900{color:#f57f17!important}.mdui-text-color-amber-accent{color:#ffd740!important}.mdui-text-color-amber-a100{color:#ffe57f!important}.mdui-text-color-amber-a200{color:#ffd740!important}.mdui-text-color-amber-a400{color:#ffc400!important}.mdui-text-color-amber-a700{color:#ffab00!important}.mdui-text-color-blue-accent{color:#448aff!important}.mdui-text-color-blue-a100{color:#82b1ff!important}.mdui-text-color-blue-a200{color:#448aff!important}.mdui-text-color-blue-a400{color:#2979ff!important}.mdui-text-color-blue-a700{color:#2962ff!important}.mdui-text-color-cyan-accent{color:#18ffff!important}.mdui-text-color-cyan-a100{color:#84ffff!important}.mdui-text-color-cyan-a200{color:#18ffff!important}.mdui-text-color-cyan-a400{color:#00e5ff!important}.mdui-text-color-cyan-a700{color:#00b8d4!important}.mdui-text-color-deep-orange-accent{color:#ff6e40!important}.mdui-text-color-deep-orange-a100{color:#ff9e80!important}.mdui-text-color-deep-orange-a200{color:#ff6e40!important}.mdui-text-color-deep-orange-a400{color:#ff3d00!important}.mdui-text-color-deep-orange-a700{color:#dd2c00!important}.mdui-text-color-deep-purple-accent{color:#7c4dff!important}.mdui-text-color-deep-purple-a100{color:#b388ff!important}.mdui-text-color-deep-purple-a200{color:#7c4dff!important}.mdui-text-color-deep-purple-a400{color:#651fff!important}.mdui-text-color-deep-purple-a700{color:#6200ea!important}.mdui-text-color-green-accent{color:#69f0ae!important}.mdui-text-color-green-a100{color:#b9f6ca!important}.mdui-text-color-green-a200{color:#69f0ae!important}.mdui-text-color-green-a400{color:#00e676!important}.mdui-text-color-green-a700{color:#00c853!important}.mdui-text-color-indigo-accent{color:#536dfe!important}.mdui-text-color-indigo-a100{color:#8c9eff!important}.mdui-text-color-indigo-a200{color:#536dfe!important}.mdui-text-color-indigo-a400{color:#3d5afe!important}.mdui-text-color-indigo-a700{color:#304ffe!important}.mdui-text-color-light-blue-accent{color:#40c4ff!important}.mdui-text-color-light-blue-a100{color:#80d8ff!important}.mdui-text-color-light-blue-a200{color:#40c4ff!important}.mdui-text-color-light-blue-a400{color:#00b0ff!important}.mdui-text-color-light-blue-a700{color:#0091ea!important}.mdui-text-color-light-green-accent{color:#b2ff59!important}.mdui-text-color-light-green-a100{color:#ccff90!important}.mdui-text-color-light-green-a200{color:#b2ff59!important}.mdui-text-color-light-green-a400{color:#76ff03!important}.mdui-text-color-light-green-a700{color:#64dd17!important}.mdui-text-color-lime-accent{color:#eeff41!important}.mdui-text-color-lime-a100{color:#f4ff81!important}.mdui-text-color-lime-a200{color:#eeff41!important}.mdui-text-color-lime-a400{color:#c6ff00!important}.mdui-text-color-lime-a700{color:#aeea00!important}.mdui-text-color-orange-accent{color:#ffab40!important}.mdui-text-color-orange-a100{color:#ffd180!important}.mdui-text-color-orange-a200{color:#ffab40!important}.mdui-text-color-orange-a400{color:#ff9100!important}.mdui-text-color-orange-a700{color:#ff6d00!important}.mdui-text-color-pink-accent{color:#ff4081!important}.mdui-text-color-pink-a100{color:#ff80ab!important}.mdui-text-color-pink-a200{color:#ff4081!important}.mdui-text-color-pink-a400{color:#f50057!important}.mdui-text-color-pink-a700{color:#c51162!important}.mdui-text-color-purple-accent{color:#e040fb!important}.mdui-text-color-purple-a100{color:#ea80fc!important}.mdui-text-color-purple-a200{color:#e040fb!important}.mdui-text-color-purple-a400{color:#d500f9!important}.mdui-text-color-purple-a700{color:#a0f!important}.mdui-text-color-red-accent{color:#ff5252!important}.mdui-text-color-red-a100{color:#ff8a80!important}.mdui-text-color-red-a200{color:#ff5252!important}.mdui-text-color-red-a400{color:#ff1744!important}.mdui-text-color-red-a700{color:#d50000!important}.mdui-text-color-teal-accent{color:#64ffda!important}.mdui-text-color-teal-a100{color:#a7ffeb!important}.mdui-text-color-teal-a200{color:#64ffda!important}.mdui-text-color-teal-a400{color:#1de9b6!important}.mdui-text-color-teal-a700{color:#00bfa5!important}.mdui-text-color-yellow-accent{color:#ff0!important}.mdui-text-color-yellow-a100{color:#ffff8d!important}.mdui-text-color-yellow-a200{color:#ff0!important}.mdui-text-color-yellow-a400{color:#ffea00!important}.mdui-text-color-yellow-a700{color:#ffd600!important}.mdui-text-color-black{color:#000!important}.mdui-text-color-black-text,.mdui-text-color-theme-text{color:rgba(0,0,0,.87)!important}.mdui-text-color-black-secondary,.mdui-text-color-theme-secondary{color:rgba(0,0,0,.54)!important}.mdui-text-color-black-disabled,.mdui-text-color-theme-disabled{color:rgba(0,0,0,.38)!important}.mdui-text-color-black-divider,.mdui-text-color-theme-divider{color:rgba(0,0,0,.12)!important}.mdui-text-color-black-icon,.mdui-text-color-theme-icon{color:rgba(0,0,0,.54)!important}.mdui-text-color-black-icon-disabled,.mdui-text-color-theme-icon-disabled{color:rgba(0,0,0,.26)!important}.mdui-text-color-white{color:#fff!important}.mdui-text-color-white-text{color:#fff!important}.mdui-text-color-white-secondary{color:rgba(255,255,255,.7)!important}.mdui-text-color-white-disabled{color:rgba(255,255,255,.5)!important}.mdui-text-color-white-divider{color:rgba(255,255,255,.12)!important}.mdui-text-color-white-icon{color:#fff!important}.mdui-text-color-white-icon-disabled{color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-text-color-theme-text{color:#fff!important}.mdui-theme-layout-dark .mdui-text-color-theme-secondary{color:rgba(255,255,255,.7)!important}.mdui-theme-layout-dark .mdui-text-color-theme-disabled{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-dark .mdui-text-color-theme-divider{color:rgba(255,255,255,.12)!important}.mdui-theme-layout-dark .mdui-text-color-theme-icon{color:#fff!important}.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled{color:rgba(255,255,255,.3)!important}.mdui-m-a-0{margin:0!important}.mdui-m-t-0{margin-top:0!important}.mdui-m-r-0{margin-right:0!important}.mdui-m-b-0{margin-bottom:0!important}.mdui-m-l-0{margin-left:0!important}.mdui-m-x-0{margin-right:0!important;margin-left:0!important}.mdui-m-y-0{margin-top:0!important;margin-bottom:0!important}.mdui-p-a-0{padding:0!important}.mdui-p-t-0{padding-top:0!important}.mdui-p-r-0{padding-right:0!important}.mdui-p-b-0{padding-bottom:0!important}.mdui-p-l-0{padding-left:0!important}.mdui-p-x-0{padding-right:0!important;padding-left:0!important}.mdui-p-y-0{padding-top:0!important;padding-bottom:0!important}.mdui-m-a-1{margin:8px!important}.mdui-m-t-1{margin-top:8px!important}.mdui-m-r-1{margin-right:8px!important}.mdui-m-b-1{margin-bottom:8px!important}.mdui-m-l-1{margin-left:8px!important}.mdui-m-x-1{margin-right:8px!important;margin-left:8px!important}.mdui-m-y-1{margin-top:8px!important;margin-bottom:8px!important}.mdui-p-a-1{padding:8px!important}.mdui-p-t-1{padding-top:8px!important}.mdui-p-r-1{padding-right:8px!important}.mdui-p-b-1{padding-bottom:8px!important}.mdui-p-l-1{padding-left:8px!important}.mdui-p-x-1{padding-right:8px!important;padding-left:8px!important}.mdui-p-y-1{padding-top:8px!important;padding-bottom:8px!important}.mdui-m-a-2{margin:16px!important}.mdui-m-t-2{margin-top:16px!important}.mdui-m-r-2{margin-right:16px!important}.mdui-m-b-2{margin-bottom:16px!important}.mdui-m-l-2{margin-left:16px!important}.mdui-m-x-2{margin-right:16px!important;margin-left:16px!important}.mdui-m-y-2{margin-top:16px!important;margin-bottom:16px!important}.mdui-p-a-2{padding:16px!important}.mdui-p-t-2{padding-top:16px!important}.mdui-p-r-2{padding-right:16px!important}.mdui-p-b-2{padding-bottom:16px!important}.mdui-p-l-2{padding-left:16px!important}.mdui-p-x-2{padding-right:16px!important;padding-left:16px!important}.mdui-p-y-2{padding-top:16px!important;padding-bottom:16px!important}.mdui-m-a-3{margin:24px!important}.mdui-m-t-3{margin-top:24px!important}.mdui-m-r-3{margin-right:24px!important}.mdui-m-b-3{margin-bottom:24px!important}.mdui-m-l-3{margin-left:24px!important}.mdui-m-x-3{margin-right:24px!important;margin-left:24px!important}.mdui-m-y-3{margin-top:24px!important;margin-bottom:24px!important}.mdui-p-a-3{padding:24px!important}.mdui-p-t-3{padding-top:24px!important}.mdui-p-r-3{padding-right:24px!important}.mdui-p-b-3{padding-bottom:24px!important}.mdui-p-l-3{padding-left:24px!important}.mdui-p-x-3{padding-right:24px!important;padding-left:24px!important}.mdui-p-y-3{padding-top:24px!important;padding-bottom:24px!important}.mdui-m-a-4{margin:32px!important}.mdui-m-t-4{margin-top:32px!important}.mdui-m-r-4{margin-right:32px!important}.mdui-m-b-4{margin-bottom:32px!important}.mdui-m-l-4{margin-left:32px!important}.mdui-m-x-4{margin-right:32px!important;margin-left:32px!important}.mdui-m-y-4{margin-top:32px!important;margin-bottom:32px!important}.mdui-p-a-4{padding:32px!important}.mdui-p-t-4{padding-top:32px!important}.mdui-p-r-4{padding-right:32px!important}.mdui-p-b-4{padding-bottom:32px!important}.mdui-p-l-4{padding-left:32px!important}.mdui-p-x-4{padding-right:32px!important;padding-left:32px!important}.mdui-p-y-4{padding-top:32px!important;padding-bottom:32px!important}.mdui-m-a-5{margin:40px!important}.mdui-m-t-5{margin-top:40px!important}.mdui-m-r-5{margin-right:40px!important}.mdui-m-b-5{margin-bottom:40px!important}.mdui-m-l-5{margin-left:40px!important}.mdui-m-x-5{margin-right:40px!important;margin-left:40px!important}.mdui-m-y-5{margin-top:40px!important;margin-bottom:40px!important}.mdui-p-a-5{padding:40px!important}.mdui-p-t-5{padding-top:40px!important}.mdui-p-r-5{padding-right:40px!important}.mdui-p-b-5{padding-bottom:40px!important}.mdui-p-l-5{padding-left:40px!important}.mdui-p-x-5{padding-right:40px!important;padding-left:40px!important}.mdui-p-y-5{padding-top:40px!important;padding-bottom:40px!important}.mdui-float-left{float:left!important}.mdui-float-right{float:right!important}.mdui-center{display:block!important;margin-right:auto!important;margin-left:auto!important}.mdui-valign{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.mdui-text-left{text-align:left!important}.mdui-text-center{text-align:center!important}.mdui-text-right{text-align:right!important}.mdui-text-lowercase{text-transform:lowercase!important}.mdui-text-uppercase{text-transform:uppercase!important}.mdui-text-capitalize{text-transform:capitalize!important}.mdui-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdui-clearfix:after,.mdui-clearfix:before{display:table;content:" "}.mdui-clearfix:after{clear:both}.mdui-hidden,[hidden]{display:none!important}.mdui-invisible{visibility:hidden}@media (max-width:599px){.mdui-hidden-xs{display:none!important}}@media (min-width:600px) and (max-width:1023px){.mdui-hidden-sm{display:none!important}}@media (min-width:1024px) and (max-width:1439px){.mdui-hidden-md{display:none!important}}@media (min-width:1440px) and (max-width:1919px){.mdui-hidden-lg{display:none!important}}@media (min-width:1920px){.mdui-hidden-xl{display:none!important}}@media (max-width:599px){.mdui-hidden-xs-down{display:none!important}}@media (max-width:1023px){.mdui-hidden-sm-down{display:none!important}}@media (max-width:1439px){.mdui-hidden-md-down{display:none!important}}@media (max-width:1919px){.mdui-hidden-lg-down{display:none!important}}.mdui-hidden-xl-down{display:none!important}.mdui-hidden-xs-up{display:none!important}@media (min-width:600px){.mdui-hidden-sm-up{display:none!important}}@media (min-width:1024px){.mdui-hidden-md-up{display:none!important}}@media (min-width:1440px){.mdui-hidden-lg-up{display:none!important}}@media (min-width:1920px){.mdui-hidden-xl-up{display:none!important}}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{height:0;-webkit-box-sizing:content-box;box-sizing:content-box;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{text-decoration:underline;text-decoration:underline dotted;border-bottom:none;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{display:table;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0;color:inherit;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}body{font-family:Roboto,Noto,Helvetica,Arial,sans-serif;font-size:14px;color:rgba(0,0,0,.87);background-color:#fff}@media (min-width:600px){body{font-size:14.5px}}@media (min-width:1024px){body{font-size:15px}}body ::-webkit-scrollbar{width:5px;height:5px;background:0 0}@media (min-width:1024px){body ::-webkit-scrollbar{width:8px;height:8px}}body ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2)}body.mdui-theme-layout-dark ::-webkit-scrollbar{width:5px;height:5px;background:0 0}@media (min-width:1024px){body.mdui-theme-layout-dark ::-webkit-scrollbar{width:8px;height:8px}}body.mdui-theme-layout-dark ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3)}*{-webkit-tap-highlight-color:transparent}body.mdui-locked{overflow:hidden}.mdui-overlay{position:fixed;top:-5000px;right:-5000px;bottom:-5000px;left:-5000px;z-index:2000;visibility:hidden;background:rgba(0,0,0,.4);opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,visibility;transition-property:opacity,visibility;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:opacity}.mdui-overlay-show{visibility:visible;opacity:1}.mdui-no-transition{-webkit-transition-property:none!important;transition-property:none!important}.mdui-theme-layout-dark{color:#fff;background-color:#303030}.mdui-icon,.mdui-icon::before{font-size:24px;font-style:normal;font-weight:400;line-height:1;color:inherit;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;vertical-align:middle;direction:ltr}.mdui-icon{display:inline-block;text-align:center}.mdui-icon::before{display:block!important;width:24px;height:24px}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:local('Material Icons'),local('MaterialIcons-Regular'),url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'),url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff')}.material-icons{font-family:'Material Icons';-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:local('Roboto Thin'),local('Roboto-Thin'),url(../fonts/roboto/Roboto-Thin.woff2) format('woff2'),url(../fonts/roboto/Roboto-Thin.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:100;src:local('Roboto ThinItalic'),local('Roboto-ThinItalic'),url(../fonts/roboto/Roboto-ThinItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-ThinItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(../fonts/roboto/Roboto-Light.woff2) format('woff2'),url(../fonts/roboto/Roboto-Light.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local('Roboto LightItalic'),local('Roboto-LightItalic'),url(../fonts/roboto/Roboto-LightItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-LightItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(../fonts/roboto/Roboto-Regular.woff2) format('woff2'),url(../fonts/roboto/Roboto-Regular.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto RegularItalic'),local('Roboto-RegularItalic'),url(../fonts/roboto/Roboto-RegularItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-RegularItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(../fonts/roboto/Roboto-Medium.woff2) format('woff2'),url(../fonts/roboto/Roboto-Medium.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local('Roboto MediumItalic'),local('Roboto-MediumItalic'),url(../fonts/roboto/Roboto-MediumItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-MediumItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(../fonts/roboto/Roboto-Bold.woff2) format('woff2'),url(../fonts/roboto/Roboto-Bold.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto BoldItalic'),local('Roboto-BoldItalic'),url(../fonts/roboto/Roboto-BoldItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-BoldItalic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(../fonts/roboto/Roboto-Black.woff2) format('woff2'),url(../fonts/roboto/Roboto-Black.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:900;src:local('Roboto BlackItalic'),local('Roboto-BlackItalic'),url(../fonts/roboto/Roboto-BlackItalic.woff2) format('woff2'),url(../fonts/roboto/Roboto-BlackItalic.woff) format('woff')}.mdui-typo-display-4,.mdui-typo-display-4-opacity{font-size:112px;font-weight:300;letter-spacing:-.04em}.mdui-typo-display-4-opacity{opacity:.54}.mdui-typo-display-3,.mdui-typo-display-3-opacity{font-size:56px;font-weight:400;letter-spacing:-.02em}.mdui-typo-display-3-opacity{opacity:.54}.mdui-typo-display-2,.mdui-typo-display-2-opacity{font-size:45px;font-weight:400;letter-spacing:0}.mdui-typo-display-2-opacity{opacity:.54}.mdui-typo-display-1,.mdui-typo-display-1-opacity{font-size:34px;font-weight:400;letter-spacing:0}.mdui-typo-display-1-opacity{opacity:.54}.mdui-typo-headline,.mdui-typo-headline-opacity{font-size:24px;font-weight:400;-moz-osx-font-smoothing:grayscale}.mdui-typo-headline-opacity{opacity:.87}.mdui-typo-title,.mdui-typo-title-opacity{font-size:20px;font-weight:500;letter-spacing:.02em}.mdui-typo-title-opacity{opacity:.87}.mdui-typo-subheading,.mdui-typo-subheading-opacity{font-size:16px;font-weight:400;letter-spacing:.04em}.mdui-typo-subheading-opacity{opacity:.87}.mdui-typo-body-2,.mdui-typo-body-2-opacity{font-size:14px;font-weight:500;letter-spacing:.04em}.mdui-typo-body-2-opacity{opacity:.87}.mdui-typo-body-1,.mdui-typo-body-1-opacity{font-size:14px;font-weight:400;letter-spacing:.04em}.mdui-typo-body-1-opacity{opacity:.87}.mdui-typo-caption,.mdui-typo-caption-opacity{font-size:12px;font-weight:400;letter-spacing:.08em}.mdui-typo-caption-opacity{opacity:.54}.mdui-typo{line-height:1.8;word-wrap:break-word}.mdui-typo address,.mdui-typo caption,.mdui-typo cite,.mdui-typo code,.mdui-typo dfn,.mdui-typo th{font-style:normal;font-weight:400}.mdui-typo caption,.mdui-typo th{text-align:left}.mdui-typo q:after,.mdui-typo q:before{content:''}.mdui-typo code,.mdui-typo kbd,.mdui-typo pre,.mdui-typo pre tt,.mdui-typo samp{font-family:Consolas,Courier,'Courier New',monospace}.mdui-typo figcaption{font-size:80%;color:rgba(0,0,0,.54)}.mdui-typo [draggable=true],.mdui-typo [draggable]{cursor:move}.mdui-typo [draggable=false]{cursor:inherit}.mdui-typo .mdui-table,.mdui-typo .mdui-table-fluid,.mdui-typo dl,.mdui-typo figure,.mdui-typo form,.mdui-typo hr,.mdui-typo ol,.mdui-typo p,.mdui-typo pre,.mdui-typo table,.mdui-typo ul{margin:0 0 1.2em 0}.mdui-typo a{position:relative;display:inline-block;overflow:hidden;color:#ff4081;text-decoration:none;vertical-align:top;outline:0}.mdui-typo a:before{position:absolute;top:auto;bottom:1px;left:0;width:100%;height:1px;content:' ';background-color:#ff4081;-webkit-transition:all .2s;transition:all .2s;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mdui-typo a:focus:before,.mdui-typo a:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.mdui-typo small{font-size:80%}.mdui-typo blockquote{padding-left:1em;margin:1em 3em 1em 2em;font-weight:400;border-left:4px solid rgba(0,0,0,.12)}@media only screen and (max-width:599px){.mdui-typo blockquote{margin:1em 0}}.mdui-typo blockquote footer{font-size:86%;color:rgba(0,0,0,.54)}.mdui-typo mark{padding:2px;margin:0 5px;background:#fffdd1;border-bottom:1px solid #ffedce}.mdui-typo h1,.mdui-typo h2,.mdui-typo h3,.mdui-typo h4,.mdui-typo h5,.mdui-typo h6{margin-top:1.2em;margin-bottom:.6em;font-family:inherit;font-weight:400;line-height:1.35;color:inherit}.mdui-typo h1 small,.mdui-typo h2 small,.mdui-typo h3 small,.mdui-typo h4 small,.mdui-typo h5 small,.mdui-typo h6 small{font-size:65%;font-weight:400;line-height:1;color:rgba(0,0,0,.54)}.mdui-typo h1{font-size:2em}.mdui-typo h2{font-size:1.8em}.mdui-typo h3{font-size:1.6em}.mdui-typo h4{font-size:1.4em}.mdui-typo h5{font-size:1.2em}.mdui-typo h6{font-size:1.1em}.mdui-typo code{padding:2px 6px;color:#c7254e;background-color:#f7f7f9;border-radius:2px}.mdui-typo pre code{padding:0;font-size:inherit;line-height:1.7;color:inherit;background-color:transparent;border-radius:0}.mdui-typo abbr[title]{text-decoration:none;cursor:help;border-bottom:1px dotted}.mdui-typo ins{text-decoration:none;border-bottom:1px solid}.mdui-typo u{text-decoration:none;border-bottom:1px solid}.mdui-typo del{text-decoration:line-through}.mdui-typo hr{height:10px;margin-bottom:.8em;border:none;border-bottom:1px solid rgba(0,0,0,.12)}.mdui-typo pre{padding:12px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(0,0,0,.12);border-radius:2px}.mdui-typo kbd{padding:2px 6px;font-size:90%;color:#fff;background-color:#333;border-radius:2px}.mdui-typo ul{padding-left:2em;list-style:disc}.mdui-typo ol{padding-left:2em;list-style:decimal}.mdui-typo li ol,.mdui-typo li ul{margin:.8em 0}.mdui-typo li ul{list-style:circle}.mdui-typo img{max-width:100%}.mdui-theme-accent-amber .mdui-typo a{color:#ffd740}.mdui-theme-accent-amber .mdui-typo a:before{background-color:#ffd740}.mdui-theme-accent-blue .mdui-typo a{color:#448aff}.mdui-theme-accent-blue .mdui-typo a:before{background-color:#448aff}.mdui-theme-accent-cyan .mdui-typo a{color:#18ffff}.mdui-theme-accent-cyan .mdui-typo a:before{background-color:#18ffff}.mdui-theme-accent-deep-orange .mdui-typo a{color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-typo a:before{background-color:#ff6e40}.mdui-theme-accent-deep-purple .mdui-typo a{color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-typo a:before{background-color:#7c4dff}.mdui-theme-accent-green .mdui-typo a{color:#69f0ae}.mdui-theme-accent-green .mdui-typo a:before{background-color:#69f0ae}.mdui-theme-accent-indigo .mdui-typo a{color:#536dfe}.mdui-theme-accent-indigo .mdui-typo a:before{background-color:#536dfe}.mdui-theme-accent-light-blue .mdui-typo a{color:#40c4ff}.mdui-theme-accent-light-blue .mdui-typo a:before{background-color:#40c4ff}.mdui-theme-accent-light-green .mdui-typo a{color:#b2ff59}.mdui-theme-accent-light-green .mdui-typo a:before{background-color:#b2ff59}.mdui-theme-accent-lime .mdui-typo a{color:#eeff41}.mdui-theme-accent-lime .mdui-typo a:before{background-color:#eeff41}.mdui-theme-accent-orange .mdui-typo a{color:#ffab40}.mdui-theme-accent-orange .mdui-typo a:before{background-color:#ffab40}.mdui-theme-accent-pink .mdui-typo a{color:#ff4081}.mdui-theme-accent-pink .mdui-typo a:before{background-color:#ff4081}.mdui-theme-accent-purple .mdui-typo a{color:#e040fb}.mdui-theme-accent-purple .mdui-typo a:before{background-color:#e040fb}.mdui-theme-accent-red .mdui-typo a{color:#ff5252}.mdui-theme-accent-red .mdui-typo a:before{background-color:#ff5252}.mdui-theme-accent-teal .mdui-typo a{color:#64ffda}.mdui-theme-accent-teal .mdui-typo a:before{background-color:#64ffda}.mdui-theme-accent-yellow .mdui-typo a{color:#ff0}.mdui-theme-accent-yellow .mdui-typo a:before{background-color:#ff0}.mdui-theme-layout-dark .mdui-typo blockquote{border-left-color:rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-typo blockquote footer{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-typo figcaption{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-typo mark{background:#aaa;border-bottom-color:#bbb}.mdui-theme-layout-dark .mdui-typo h1 small,.mdui-theme-layout-dark .mdui-typo h2 small,.mdui-theme-layout-dark .mdui-typo h3 small,.mdui-theme-layout-dark .mdui-typo h4 small,.mdui-theme-layout-dark .mdui-typo h5 small,.mdui-theme-layout-dark .mdui-typo h6 small{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-typo code{color:#ffcdd2;background-color:#424242}.mdui-theme-layout-dark .mdui-typo pre{background:#424242;border-color:rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-typo kbd{background:#424242}.mdui-theme-layout-dark .mdui-typo hr{border-color:rgba(255,255,255,.12)}.mdui-headroom{-webkit-transition:all .3s cubic-bezier(.4,0,.2,1)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.mdui-headroom-pinned-top{-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.mdui-headroom-unpinned-top{-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transform:translate3d(0,-100%,0)!important;transform:translate3d(0,-100%,0)!important}.mdui-headroom-pinned-down{-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.mdui-headroom-unpinned-down{-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transform:translate3d(0,100%,0)!important;transform:translate3d(0,100%,0)!important}.mdui-headroom-pinned-toolbar{-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.mdui-headroom-unpinned-toolbar{-webkit-transform:translate3d(0,-56px,0)!important;transform:translate3d(0,-56px,0)!important}@media (min-width:600px){.mdui-headroom-unpinned-toolbar{-webkit-transform:translate3d(0,-64px,0)!important;transform:translate3d(0,-64px,0)!important}}@media (orientation:landscape) and (max-width:959px){.mdui-headroom-unpinned-toolbar{-webkit-transform:translate3d(0,-48px,0)!important;transform:translate3d(0,-48px,0)!important}}.mdui-collapse-item-header .mdui-collapse-item-arrow,.mdui-collapse-item-header.mdui-collapse-item-arrow{-webkit-transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);-webkit-transform:rotate(0);transform:rotate(0);will-change:transform}.mdui-collapse-item-body{height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);will-change:height}.mdui-collapse-item-body .mdui-list-item{padding-left:72px}.mdui-collapse-item-open>.mdui-collapse-item-header .mdui-collapse-item-arrow,.mdui-collapse-item-open>.mdui-collapse-item-header.mdui-collapse-item-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.mdui-collapse-item-open>.mdui-collapse-item-body{height:auto}.mdui-table{position:relative;width:100%;border-spacing:0;border-collapse:separate;background-color:#fff;border:1px solid rgba(0,0,0,.12);border-bottom:none;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-table tbody tr{position:relative;-webkit-transition:background-color .28s cubic-bezier(.4,0,.2,1);transition:background-color .28s cubic-bezier(.4,0,.2,1)}.mdui-table td,.mdui-table th{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;padding:12px 28px;text-align:left;vertical-align:middle;border-bottom:1px solid rgba(0,0,0,.12)}.mdui-table td:last-child,.mdui-table th:last-child{padding-right:24px}.mdui-table td:first-child,.mdui-table th:first-child{padding-right:0;padding-left:24px}.mdui-table td:nth-child(2),.mdui-table th:nth-child(2){padding-left:24px}.mdui-table th{overflow:hidden;font-size:13px;font-weight:700;line-height:32px;color:rgba(0,0,0,.54);text-overflow:ellipsis;white-space:nowrap}.mdui-table td{font-size:14px;line-height:24px;color:rgba(0,0,0,.87)}.mdui-table-cell-checkbox{padding-top:0!important;padding-bottom:0!important;padding-left:24px!important}.mdui-table-cell-checkbox .mdui-checkbox{margin-top:7px}.mdui-table-cell-checkbox+td,.mdui-table-cell-checkbox+th{padding-left:6px!important}th.mdui-table-cell-checkbox .mdui-checkbox{margin-top:11px}.mdui-table-hoverable tbody tr:hover{background-color:#eee}.mdui-table-fluid{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(0,0,0,.12);border-bottom:none;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-table-fluid .mdui-table{margin:0;border:none;-webkit-box-shadow:none;box-shadow:none}.mdui-table-col-numeric{text-align:right!important}.mdui-table-row-selected{background-color:#f5f5f5}.mdui-theme-layout-dark .mdui-table{background-color:#303030;border:1px solid rgba(255,255,255,.12);border-bottom:none}.mdui-theme-layout-dark .mdui-table td,.mdui-theme-layout-dark .mdui-table th{border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-table th{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-table td{color:#fff}.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover{background-color:#616161}.mdui-theme-layout-dark .mdui-table-fluid{border:1px solid rgba(255,255,255,.12);border-bottom:none}.mdui-theme-layout-dark .mdui-table-fluid .mdui-table{border:none;-webkit-box-shadow:none;box-shadow:none}.mdui-theme-layout-dark .mdui-table-row-selected{background-color:#424242}.mdui-divider,.mdui-divider-dark,.mdui-divider-inset,.mdui-divider-inset-dark,.mdui-divider-inset-light,.mdui-divider-light{height:1px;margin:-1px 0 0 0;border:none}.mdui-divider-inset,.mdui-divider-inset-dark,.mdui-divider-inset-light{margin-left:72px}.mdui-divider,.mdui-divider-inset{background-color:rgba(0,0,0,.12)}.mdui-theme-layout-dark .mdui-divider,.mdui-theme-layout-dark .mdui-divider-inset{background-color:rgba(255,255,255,.12)}.mdui-divider-inset-light,.mdui-divider-light{background-color:rgba(255,255,255,.12)}.mdui-divider-dark,.mdui-divider-inset-dark{background-color:rgba(0,0,0,.12)}.mdui-img-fluid,.mdui-video-fluid{display:block;max-width:100%;height:auto}.mdui-img-rounded{border-radius:2px}.mdui-img-circle{border-radius:50%}.mdui-video-container{position:relative;height:0;padding-bottom:56.25%;overflow:hidden}.mdui-video-container embed,.mdui-video-container iframe,.mdui-video-container object{position:absolute;top:0;left:0;width:100%;height:100%}.mdui-ripple{position:relative;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-ripple-wave{position:absolute!important;top:0;left:0;z-index:1;padding:0;margin:0;font-size:0;pointer-events:none;background-color:rgba(0,0,0,.1);border-radius:50%;-webkit-transition-duration:1.4s;transition-duration:1.4s;-webkit-transform:translate3d(0,0,0) scale(0);transform:translate3d(0,0,0) scale(0)}.mdui-ripple[class*=mdui-color-] .mdui-ripple-wave{background-color:rgba(255,255,255,.3)}.mdui-ripple-white .mdui-ripple-wave{background-color:rgba(255,255,255,.3)!important}.mdui-ripple-black .mdui-ripple-wave{background-color:rgba(0,0,0,.1)!important}.mdui-ripple-wave-fill{opacity:.35;-webkit-transition-duration:.3s;transition-duration:.3s}.mdui-ripple-wave-out{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s}.mdui-ripple-amber .mdui-ripple-wave{background-color:rgba(255,193,7,.3)!important}.mdui-ripple-blue .mdui-ripple-wave{background-color:rgba(33,150,243,.3)!important}.mdui-ripple-blue-grey .mdui-ripple-wave{background-color:rgba(96,125,139,.3)!important}.mdui-ripple-brown .mdui-ripple-wave{background-color:rgba(121,85,72,.3)!important}.mdui-ripple-cyan .mdui-ripple-wave{background-color:rgba(0,188,212,.3)!important}.mdui-ripple-deep-orange .mdui-ripple-wave{background-color:rgba(255,87,34,.3)!important}.mdui-ripple-deep-purple .mdui-ripple-wave{background-color:rgba(103,58,183,.3)!important}.mdui-ripple-green .mdui-ripple-wave{background-color:rgba(76,175,80,.3)!important}.mdui-ripple-grey .mdui-ripple-wave{background-color:rgba(158,158,158,.3)!important}.mdui-ripple-indigo .mdui-ripple-wave{background-color:rgba(63,81,181,.3)!important}.mdui-ripple-light-blue .mdui-ripple-wave{background-color:rgba(3,169,244,.3)!important}.mdui-ripple-light-green .mdui-ripple-wave{background-color:rgba(139,195,74,.3)!important}.mdui-ripple-lime .mdui-ripple-wave{background-color:rgba(205,220,57,.3)!important}.mdui-ripple-orange .mdui-ripple-wave{background-color:rgba(255,152,0,.3)!important}.mdui-ripple-pink .mdui-ripple-wave{background-color:rgba(233,30,99,.3)!important}.mdui-ripple-purple .mdui-ripple-wave{background-color:rgba(156,39,176,.3)!important}.mdui-ripple-red .mdui-ripple-wave{background-color:rgba(244,67,54,.3)!important}.mdui-ripple-teal .mdui-ripple-wave{background-color:rgba(0,150,136,.3)!important}.mdui-ripple-yellow .mdui-ripple-wave{background-color:rgba(255,235,59,.3)!important}.mdui-theme-layout-dark .mdui-ripple-wave{background-color:rgba(255,255,255,.3)}.mdui-textfield{position:relative;padding-top:16px;padding-bottom:8px;overflow:hidden}.mdui-textfield-has-bottom{padding-bottom:28px}.mdui-textfield-input{display:block;width:100%;height:36px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;padding:8px 0;margin:0;overflow:hidden;font-family:inherit;font-size:16px;line-height:20px;color:rgba(0,0,0,.87);resize:none;background:0 0;border:none;border-bottom:1px solid rgba(0,0,0,.42);border-radius:0;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:border-bottom-color,padding-right,-webkit-box-shadow;transition-property:border-bottom-color,padding-right,-webkit-box-shadow;transition-property:border-bottom-color,padding-right,box-shadow;transition-property:border-bottom-color,padding-right,box-shadow,-webkit-box-shadow;-moz-appearance:none;appearance:none}.mdui-textfield-input::-webkit-input-placeholder{color:inherit;opacity:.42}.mdui-textfield-input:not([disabled]):hover{cursor:pointer;border-bottom:1px solid rgba(0,0,0,.87);-webkit-box-shadow:0 1px 0 0 rgba(0,0,0,.87);box-shadow:0 1px 0 0 rgba(0,0,0,.87)}.mdui-textfield-input[rows]{height:auto!important;overflow:auto;-webkit-overflow-scrolling:touch}.mdui-textfield-label{display:block;width:100%;font-size:16px;color:rgba(0,0,0,.54);pointer-events:none;-webkit-transition:all .2s;transition:all .2s;-webkit-transform:scale(.75) translateY(0);transform:scale(.75) translateY(0);-webkit-transform-origin:left;transform-origin:left}.mdui-textfield-error,.mdui-textfield-helper{position:absolute;bottom:8px;height:12px;overflow:hidden;font-size:12px;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.mdui-textfield-error{color:rgba(255,23,68,.87);visibility:hidden}.mdui-textfield-helper{color:rgba(0,0,0,.54)}.mdui-textfield .mdui-icon{position:absolute;bottom:8px;padding:6px;color:rgba(0,0,0,.54)}.mdui-textfield .mdui-icon~.mdui-textfield-error,.mdui-textfield .mdui-icon~.mdui-textfield-flex-wrap,.mdui-textfield .mdui-icon~.mdui-textfield-helper,.mdui-textfield .mdui-icon~.mdui-textfield-input,.mdui-textfield .mdui-icon~.mdui-textfield-label{width:calc(100% - 56px);margin-left:56px}.mdui-textfield-has-bottom .mdui-icon{bottom:28px}.mdui-textfield-focus .mdui-textfield-input,.mdui-textfield-focus .mdui-textfield-input:hover{border-bottom-color:#c51162;-webkit-box-shadow:0 1px 0 0 #c51162;box-shadow:0 1px 0 0 #c51162}.mdui-textfield-focus .mdui-icon,.mdui-textfield-focus .mdui-textfield-label{color:rgba(197,17,98,.87)}.mdui-textfield-floating-label .mdui-textfield-label{color:rgba(0,0,0,.35);-webkit-transform:scale(1) translateY(27px);transform:scale(1) translateY(27px)}.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label{color:rgba(0,0,0,.65);-webkit-transform:scale(.75) translateY(0);transform:scale(.75) translateY(0)}.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label{color:#e91e63}.mdui-textfield-expandable{width:36px;min-height:36px;padding:1px 0;-webkit-transition:width .3s cubic-bezier(.4,0,.2,1);transition:width .3s cubic-bezier(.4,0,.2,1)}.mdui-textfield-expandable .mdui-icon{bottom:0;padding:0}.mdui-textfield-expandable .mdui-textfield-input{width:calc(100% - 36px);padding-right:0;margin-left:36px}.mdui-textfield-expandable .mdui-textfield-icon{position:absolute;top:0;left:0}.mdui-textfield-expandable .mdui-textfield-close{position:absolute;top:0;right:0;-webkit-transform:scale(0);transform:scale(0)}.mdui-textfield-expandable.mdui-textfield-expanded{width:100%}.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input{padding-right:36px}.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close{-webkit-transform:scale(1);transform:scale(1)}.mdui-textfield-invalid .mdui-textfield-input,.mdui-textfield-invalid-html5 .mdui-textfield-input,.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input,.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff1744!important;-webkit-box-shadow:0 1px 0 0 #ff1744!important;box-shadow:0 1px 0 0 #ff1744!important}.mdui-textfield-invalid .mdui-textfield-label,.mdui-textfield-invalid-html5 .mdui-textfield-label{color:#ff1744!important}.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label,.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label{color:rgba(255,23,68,.35)!important}.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label,.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label{color:#ff1744!important}.mdui-textfield-invalid .mdui-textfield-error,.mdui-textfield-invalid-html5 .mdui-textfield-error{visibility:visible}.mdui-textfield-invalid .mdui-textfield-error+.mdui-textfield-helper,.mdui-textfield-invalid-html5 .mdui-textfield-error+.mdui-textfield-helper{visibility:hidden}.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder,.mdui-textfield-disabled .mdui-textfield-label{color:rgba(0,0,0,.38)}.mdui-textfield-disabled .mdui-textfield-input{color:rgba(0,0,0,.42);cursor:default}.mdui-textfield-disabled .mdui-textfield-input{border-bottom:1px dashed rgba(0,0,0,.42)}.mdui-textfield-counter{position:absolute;right:8px;bottom:8px;height:12px;font-size:12px;line-height:12px;color:rgba(0,0,0,.54)}.mdui-theme-layout-dark .mdui-textfield-input{color:#fff;border-bottom-color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover{border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 0 #fff;box-shadow:0 1px 0 0 #fff}.mdui-theme-layout-dark .mdui-textfield .mdui-icon{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-label{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label{color:rgba(255,255,255,.35)}.mdui-theme-layout-dark .mdui-textfield-error{color:#ff1744}.mdui-theme-layout-dark .mdui-textfield-helper{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-counter{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input,.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover{border-bottom-color:#ff4081;-webkit-box-shadow:0 1px 0 0 #ff4081;box-shadow:0 1px 0 0 #ff4081}.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff4081}.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder,.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input{border-bottom-color:rgba(255,255,255,.7)}.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffab00;-webkit-box-shadow:0 1px 0 0 #ffab00;box-shadow:0 1px 0 0 #ffab00}.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label{color:rgba(255,171,0,.87)}.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffd740;-webkit-box-shadow:0 1px 0 0 #ffd740;box-shadow:0 1px 0 0 #ffd740}.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ffd740}.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#2962ff;-webkit-box-shadow:0 1px 0 0 #2962ff;box-shadow:0 1px 0 0 #2962ff}.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label{color:rgba(41,98,255,.87)}.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#448aff;-webkit-box-shadow:0 1px 0 0 #448aff;box-shadow:0 1px 0 0 #448aff}.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#448aff}.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#00b8d4;-webkit-box-shadow:0 1px 0 0 #00b8d4;box-shadow:0 1px 0 0 #00b8d4}.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,184,212,.87)}.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#18ffff;-webkit-box-shadow:0 1px 0 0 #18ffff;box-shadow:0 1px 0 0 #18ffff}.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#18ffff}.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#dd2c00;-webkit-box-shadow:0 1px 0 0 #dd2c00;box-shadow:0 1px 0 0 #dd2c00}.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label{color:rgba(221,44,0,.87)}.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff6e40;-webkit-box-shadow:0 1px 0 0 #ff6e40;box-shadow:0 1px 0 0 #ff6e40}.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff6e40}.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#6200ea;-webkit-box-shadow:0 1px 0 0 #6200ea;box-shadow:0 1px 0 0 #6200ea}.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label{color:rgba(98,0,234,.87)}.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#7c4dff;-webkit-box-shadow:0 1px 0 0 #7c4dff;box-shadow:0 1px 0 0 #7c4dff}.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#7c4dff}.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#00c853;-webkit-box-shadow:0 1px 0 0 #00c853;box-shadow:0 1px 0 0 #00c853}.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,200,83,.87)}.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#69f0ae;-webkit-box-shadow:0 1px 0 0 #69f0ae;box-shadow:0 1px 0 0 #69f0ae}.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#69f0ae}.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#304ffe;-webkit-box-shadow:0 1px 0 0 #304ffe;box-shadow:0 1px 0 0 #304ffe}.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label{color:rgba(48,79,254,.87)}.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#536dfe;-webkit-box-shadow:0 1px 0 0 #536dfe;box-shadow:0 1px 0 0 #536dfe}.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#536dfe}.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#0091ea;-webkit-box-shadow:0 1px 0 0 #0091ea;box-shadow:0 1px 0 0 #0091ea}.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,145,234,.87)}.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#40c4ff;-webkit-box-shadow:0 1px 0 0 #40c4ff;box-shadow:0 1px 0 0 #40c4ff}.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#40c4ff}.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#64dd17;-webkit-box-shadow:0 1px 0 0 #64dd17;box-shadow:0 1px 0 0 #64dd17}.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label{color:rgba(100,221,23,.87)}.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#b2ff59;-webkit-box-shadow:0 1px 0 0 #b2ff59;box-shadow:0 1px 0 0 #b2ff59}.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#b2ff59}.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#aeea00;-webkit-box-shadow:0 1px 0 0 #aeea00;box-shadow:0 1px 0 0 #aeea00}.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label{color:rgba(174,234,0,.87)}.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#eeff41;-webkit-box-shadow:0 1px 0 0 #eeff41;box-shadow:0 1px 0 0 #eeff41}.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#eeff41}.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff6d00;-webkit-box-shadow:0 1px 0 0 #ff6d00;box-shadow:0 1px 0 0 #ff6d00}.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label{color:rgba(255,109,0,.87)}.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffab40;-webkit-box-shadow:0 1px 0 0 #ffab40;box-shadow:0 1px 0 0 #ffab40}.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ffab40}.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#c51162;-webkit-box-shadow:0 1px 0 0 #c51162;box-shadow:0 1px 0 0 #c51162}.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label{color:rgba(197,17,98,.87)}.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff4081;-webkit-box-shadow:0 1px 0 0 #ff4081;box-shadow:0 1px 0 0 #ff4081}.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff4081}.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#a0f;-webkit-box-shadow:0 1px 0 0 #a0f;box-shadow:0 1px 0 0 #a0f}.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label{color:rgba(170,0,255,.87)}.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#e040fb;-webkit-box-shadow:0 1px 0 0 #e040fb;box-shadow:0 1px 0 0 #e040fb}.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#e040fb}.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#d50000;-webkit-box-shadow:0 1px 0 0 #d50000;box-shadow:0 1px 0 0 #d50000}.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label{color:rgba(213,0,0,.87)}.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff5252;-webkit-box-shadow:0 1px 0 0 #ff5252;box-shadow:0 1px 0 0 #ff5252}.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff5252}.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#00bfa5;-webkit-box-shadow:0 1px 0 0 #00bfa5;box-shadow:0 1px 0 0 #00bfa5}.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label{color:rgba(0,191,165,.87)}.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#64ffda;-webkit-box-shadow:0 1px 0 0 #64ffda;box-shadow:0 1px 0 0 #64ffda}.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#64ffda}.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ffd600;-webkit-box-shadow:0 1px 0 0 #ffd600;box-shadow:0 1px 0 0 #ffd600}.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label{color:rgba(255,214,0,.87)}.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input{border-bottom-color:#ff0;-webkit-box-shadow:0 1px 0 0 #ff0;box-shadow:0 1px 0 0 #ff0}.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon,.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label{color:#ff0}.mdui-checkbox{position:relative;display:inline-block;height:36px;padding-left:36px;line-height:36px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-checkbox input[type=checkbox]{position:absolute;width:0;height:0;overflow:hidden;opacity:0}.mdui-checkbox-icon{position:absolute;top:9px;left:0;display:inline-block;width:18px;height:18px;vertical-align:middle;background-color:transparent;border:none;border-radius:18px;-webkit-transition:-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1)}.mdui-checkbox-icon:after{position:absolute;top:0;left:0;z-index:0;width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;content:' ';border:2px solid rgba(0,0,0,.54);border-radius:2px;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1)}.mdui-checkbox-icon:before{position:absolute;top:2px;left:0;z-index:1;width:8px;height:13px;-webkit-box-sizing:border-box;box-sizing:border-box;content:' ';border-right:2px solid #fff;border-bottom:2px solid #fff;opacity:0;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-transform:rotateZ(37deg) scale(0);transform:rotateZ(37deg) scale(0);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after{background-color:#ff4081;border-color:#ff4081}.mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:before{opacity:1;-webkit-transform:rotateZ(37deg) scale(1);transform:rotateZ(37deg) scale(1)}.mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff4081;border-color:#ff4081}.mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:before{top:8px;left:3px;width:12px;height:0;border-right:none;border-bottom:2px solid #fff;border-radius:1px;opacity:1;-webkit-transform:rotateZ(0) scale(1);transform:rotateZ(0) scale(1)}.mdui-checkbox input[type=checkbox]:disabled+.mdui-checkbox-icon:after{border-color:rgba(0,0,0,.26)}.mdui-checkbox input[type=checkbox]:disabled:checked+.mdui-checkbox-icon:after,.mdui-checkbox input[type=checkbox]:disabled:indeterminate+.mdui-checkbox-icon:after{background-color:rgba(0,0,0,.26)!important;border-color:transparent!important}.mdui-checkbox input[type=checkbox]:focus+.mdui-checkbox-icon,.mdui-checkbox:active input[type=checkbox]+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(0,0,0,.1);box-shadow:0 0 0 15px rgba(0,0,0,.1)}.mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ffd740;border-color:#ffd740}.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-amber .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-amber .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-amber .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,215,64,.16);box-shadow:0 0 0 15px rgba(255,215,64,.16)}.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#448aff;border-color:#448aff}.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(68,138,255,.16);box-shadow:0 0 0 15px rgba(68,138,255,.16)}.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#18ffff;border-color:#18ffff}.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-cyan .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-cyan .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-cyan .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(24,255,255,.16);box-shadow:0 0 0 15px rgba(24,255,255,.16)}.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff6e40;border-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,110,64,.16);box-shadow:0 0 0 15px rgba(255,110,64,.16)}.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#7c4dff;border-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(124,77,255,.16);box-shadow:0 0 0 15px rgba(124,77,255,.16)}.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#69f0ae;border-color:#69f0ae}.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(105,240,174,.16);box-shadow:0 0 0 15px rgba(105,240,174,.16)}.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#536dfe;border-color:#536dfe}.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-indigo .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-indigo .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-indigo .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(83,109,254,.16);box-shadow:0 0 0 15px rgba(83,109,254,.16)}.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#40c4ff;border-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-blue .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(64,196,255,.16);box-shadow:0 0 0 15px rgba(64,196,255,.16)}.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#b2ff59;border-color:#b2ff59}.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-green .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-light-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-light-green .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(178,255,89,.16);box-shadow:0 0 0 15px rgba(178,255,89,.16)}.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#eeff41;border-color:#eeff41}.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-lime .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-lime .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-lime .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(238,255,65,.16);box-shadow:0 0 0 15px rgba(238,255,65,.16)}.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ffab40;border-color:#ffab40}.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-orange .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-orange .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,171,64,.16);box-shadow:0 0 0 15px rgba(255,171,64,.16)}.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff4081;border-color:#ff4081}.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-pink .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-pink .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-pink .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#e040fb;border-color:#e040fb}.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-purple .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-purple .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(224,64,251,.16);box-shadow:0 0 0 15px rgba(224,64,251,.16)}.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff5252;border-color:#ff5252}.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-red .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-red .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-red .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,82,82,.16);box-shadow:0 0 0 15px rgba(255,82,82,.16)}.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#64ffda;border-color:#64ffda}.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-teal .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-teal .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-teal .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(100,255,218,.16);box-shadow:0 0 0 15px rgba(100,255,218,.16)}.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:checked+.mdui-checkbox-icon:after,.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:indeterminate+.mdui-checkbox-icon:after{background-color:#ff0;border-color:#ff0}.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:focus:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-yellow .mdui-checkbox input[type=checkbox]:focus:not(:disabled):indeterminate+.mdui-checkbox-icon,.mdui-theme-accent-yellow .mdui-checkbox:active input[type=checkbox]:not(:disabled):checked+.mdui-checkbox-icon,.mdui-theme-accent-yellow .mdui-checkbox:active input[type=checkbox]:not(:disabled):indeterminate+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,0,.16);box-shadow:0 0 0 15px rgba(255,255,0,.16)}.mdui-theme-layout-dark .mdui-checkbox-icon:after{border-color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-checkbox-icon:before{border-right-color:#303030!important;border-bottom-color:#303030!important}.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:disabled+.mdui-checkbox-icon:after{border-color:rgba(255,255,255,.3)}.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:disabled:checked+.mdui-checkbox-icon:after,.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:disabled:indeterminate+.mdui-checkbox-icon:after{background-color:rgba(255,255,255,.3)!important;border-color:transparent!important}.mdui-theme-layout-dark .mdui-checkbox input[type=checkbox]:focus+.mdui-checkbox-icon,.mdui-theme-layout-dark .mdui-checkbox:active input[type=checkbox]+.mdui-checkbox-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,255,.1);box-shadow:0 0 0 15px rgba(255,255,255,.1)}.mdui-radio{position:relative;display:inline-block;height:36px;padding-left:36px;line-height:36px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-radio input{position:absolute;width:0;height:0;overflow:hidden;opacity:0}.mdui-radio-icon{position:absolute;top:9px;left:0;display:inline-block;width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;vertical-align:middle;border:2px solid rgba(0,0,0,.54);border-radius:18px;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1),box-shadow .14s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1),box-shadow .14s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1)}.mdui-radio-icon:before{position:absolute;top:0;left:0;width:14px;height:14px;content:' ';background-color:#ff4081;border-radius:14px;opacity:0;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}.mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff4081}.mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{opacity:1;-webkit-transform:scale(.68);transform:scale(.68)}.mdui-radio input[type=radio]:disabled+.mdui-radio-icon{border-color:rgba(0,0,0,.26)!important}.mdui-radio input[type=radio]:disabled:checked+.mdui-radio-icon:before{background-color:rgba(0,0,0,.26)!important}.mdui-radio input[type=radio]:focus+.mdui-radio-icon,.mdui-radio:active input[type=radio]+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(0,0,0,.1);box-shadow:0 0 0 15px rgba(0,0,0,.1)}.mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-amber .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ffd740}.mdui-theme-accent-amber .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ffd740}.mdui-theme-accent-amber .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-amber .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,215,64,.16);box-shadow:0 0 0 15px rgba(255,215,64,.16)}.mdui-theme-accent-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#448aff}.mdui-theme-accent-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#448aff}.mdui-theme-accent-blue .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-blue .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(68,138,255,.16);box-shadow:0 0 0 15px rgba(68,138,255,.16)}.mdui-theme-accent-cyan .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#18ffff}.mdui-theme-accent-cyan .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#18ffff}.mdui-theme-accent-cyan .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-cyan .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(24,255,255,.16);box-shadow:0 0 0 15px rgba(24,255,255,.16)}.mdui-theme-accent-deep-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-deep-orange .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,110,64,.16);box-shadow:0 0 0 15px rgba(255,110,64,.16)}.mdui-theme-accent-deep-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-deep-purple .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(124,77,255,.16);box-shadow:0 0 0 15px rgba(124,77,255,.16)}.mdui-theme-accent-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#69f0ae}.mdui-theme-accent-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#69f0ae}.mdui-theme-accent-green .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-green .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(105,240,174,.16);box-shadow:0 0 0 15px rgba(105,240,174,.16)}.mdui-theme-accent-indigo .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#536dfe}.mdui-theme-accent-indigo .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#536dfe}.mdui-theme-accent-indigo .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-indigo .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(83,109,254,.16);box-shadow:0 0 0 15px rgba(83,109,254,.16)}.mdui-theme-accent-light-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-light-blue .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(64,196,255,.16);box-shadow:0 0 0 15px rgba(64,196,255,.16)}.mdui-theme-accent-light-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#b2ff59}.mdui-theme-accent-light-green .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#b2ff59}.mdui-theme-accent-light-green .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-light-green .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(178,255,89,.16);box-shadow:0 0 0 15px rgba(178,255,89,.16)}.mdui-theme-accent-lime .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#eeff41}.mdui-theme-accent-lime .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#eeff41}.mdui-theme-accent-lime .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-lime .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(238,255,65,.16);box-shadow:0 0 0 15px rgba(238,255,65,.16)}.mdui-theme-accent-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ffab40}.mdui-theme-accent-orange .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ffab40}.mdui-theme-accent-orange .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-orange .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,171,64,.16);box-shadow:0 0 0 15px rgba(255,171,64,.16)}.mdui-theme-accent-pink .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff4081}.mdui-theme-accent-pink .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ff4081}.mdui-theme-accent-pink .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-pink .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,64,129,.16);box-shadow:0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#e040fb}.mdui-theme-accent-purple .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#e040fb}.mdui-theme-accent-purple .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-purple .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(224,64,251,.16);box-shadow:0 0 0 15px rgba(224,64,251,.16)}.mdui-theme-accent-red .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff5252}.mdui-theme-accent-red .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ff5252}.mdui-theme-accent-red .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-red .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,82,82,.16);box-shadow:0 0 0 15px rgba(255,82,82,.16)}.mdui-theme-accent-teal .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#64ffda}.mdui-theme-accent-teal .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#64ffda}.mdui-theme-accent-teal .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-teal .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(100,255,218,.16);box-shadow:0 0 0 15px rgba(100,255,218,.16)}.mdui-theme-accent-yellow .mdui-radio input[type=radio]:checked+.mdui-radio-icon{border-color:#ff0}.mdui-theme-accent-yellow .mdui-radio input[type=radio]:checked+.mdui-radio-icon:before{background-color:#ff0}.mdui-theme-accent-yellow .mdui-radio input[type=radio]:focus:checked:not(:disabled)+.mdui-radio-icon,.mdui-theme-accent-yellow .mdui-radio:active input[type=radio]:checked:not(:disabled)+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,0,.16);box-shadow:0 0 0 15px rgba(255,255,0,.16)}.mdui-theme-layout-dark .mdui-radio-icon{border-color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-radio input[type=radio]:disabled+.mdui-radio-icon{border-color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-radio input[type=radio]:disabled:checked+.mdui-radio-icon:before{background-color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-radio input[type=radio]:focus+.mdui-radio-icon,.mdui-theme-layout-dark .mdui-radio:active input[type=radio]+.mdui-radio-icon{-webkit-box-shadow:0 0 0 15px rgba(255,255,255,.1);box-shadow:0 0 0 15px rgba(255,255,255,.1)}.mdui-switch{display:inline-block;height:36px;line-height:36px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-switch input{position:absolute;width:0;height:0;overflow:hidden;opacity:0}.mdui-switch-icon{position:relative;display:inline-block;width:36px;height:14px;vertical-align:middle;background-color:rgba(0,0,0,.38);border-radius:14px;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1)}.mdui-switch-icon:before{position:absolute;top:-3px;left:-3px;display:inline-block;width:20px;height:20px;content:' ';background-color:#fafafa;border-radius:20px;-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1);transition:box-shadow .14s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .14s cubic-bezier(.4,0,.2,1)}.mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,64,129,.5)}.mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{left:20px;background-color:#ff4081}.mdui-switch input[type=checkbox]:focus+.mdui-switch-icon:before,.mdui-switch:active input[type=checkbox]+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(0,0,0,.1);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(0,0,0,.1)}.mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16)}.mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon{background-color:rgba(0,0,0,.12)!important}.mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon:before{background-color:#bdbdbd!important}.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,215,64,.5)}.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffd740}.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-amber .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,215,64,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,215,64,.16)}.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(68,138,255,.5)}.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#448aff}.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-blue .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(68,138,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(68,138,255,.16)}.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(24,255,255,.5)}.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#18ffff}.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-cyan .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(24,255,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(24,255,255,.16)}.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,110,64,.5)}.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-deep-orange .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,110,64,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,110,64,.16)}.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(124,77,255,.5)}.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-deep-purple .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(124,77,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(124,77,255,.16)}.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(105,240,174,.5)}.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#69f0ae}.mdui-theme-accent-green .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-green .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(105,240,174,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(105,240,174,.16)}.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(83,109,254,.5)}.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#536dfe}.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-indigo .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(83,109,254,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(83,109,254,.16)}.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(64,196,255,.5)}.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-light-blue .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(64,196,255,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(64,196,255,.16)}.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(178,255,89,.5)}.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#b2ff59}.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-light-green .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(178,255,89,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(178,255,89,.16)}.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(238,255,65,.5)}.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#eeff41}.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-lime .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(238,255,65,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(238,255,65,.16)}.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,171,64,.5)}.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffab40}.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-orange .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,171,64,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,171,64,.16)}.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,64,129,.5)}.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff4081}.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-pink .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,64,129,.16)}.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(224,64,251,.5)}.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#e040fb}.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-purple .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(224,64,251,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(224,64,251,.16)}.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,82,82,.5)}.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff5252}.mdui-theme-accent-red .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-red .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,82,82,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,82,82,.16)}.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(100,255,218,.5)}.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#64ffda}.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-teal .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(100,255,218,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(100,255,218,.16)}.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,255,0,.5)}.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff0}.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:focus:checked:not(:disabled)+.mdui-switch-icon:before,.mdui-theme-accent-yellow .mdui-switch:active input[type=checkbox]:checked:not(:disabled)+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,0,.16);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,0,.16)}.mdui-theme-layout-dark .mdui-switch-icon{background-color:rgba(255,255,255,.3)}.mdui-theme-layout-dark .mdui-switch-icon:before{background-color:#bdbdbd}.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,229,127,.5)}.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffe57f}.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(130,177,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#82b1ff}.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(132,255,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#84ffff}.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,158,128,.5)}.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff9e80}.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(179,136,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#b388ff}.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(185,246,202,.5)}.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#b9f6ca}.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(140,158,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#8c9eff}.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(128,216,255,.5)}.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#80d8ff}.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(204,255,144,.5)}.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ccff90}.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(244,255,129,.5)}.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#f4ff81}.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,209,128,.5)}.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffd180}.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,128,171,.5)}.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff80ab}.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(234,128,252,.5)}.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ea80fc}.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,138,128,.5)}.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ff8a80}.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(167,255,235,.5)}.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#a7ffeb}.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon{background-color:rgba(255,255,141,.5)}.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=checkbox]:checked+.mdui-switch-icon:before{background-color:#ffff8d}.mdui-theme-layout-dark .mdui-switch input[type=checkbox]:focus+.mdui-switch-icon:before,.mdui-theme-layout-dark .mdui-switch:active input[type=checkbox]+.mdui-switch-icon:before{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,255,.1);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12),0 0 0 15px rgba(255,255,255,.1)}.mdui-theme-layout-dark .mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon{background-color:rgba(255,255,255,.1)!important}.mdui-theme-layout-dark .mdui-switch input[type=checkbox]:disabled+.mdui-switch-icon:before{background-color:#424242!important}.mdui-slider{position:relative;display:block;width:100%;height:36px}.mdui-slider input[type=range]{position:absolute;top:50%;z-index:2;width:100%;height:20px;-webkit-appearance:none;margin-top:-10px;cursor:pointer;opacity:0;-moz-appearance:none;appearance:none}.mdui-slider-fill,.mdui-slider-track{position:absolute;top:50%;height:2px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-1px}.mdui-slider-fill:before,.mdui-slider-track:before{display:block;width:100%;height:100%;content:' '}.mdui-slider-track{right:0}.mdui-slider-track:before{background-color:#bdbdbd;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1)}.mdui-slider-fill{left:0}.mdui-slider-fill:before{background-color:#ff4081}.mdui-slider-thumb{position:absolute;top:50%;width:12px;height:12px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-6px;background-color:#ff4081;border:2px solid #ff4081;border-radius:50%;-webkit-transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1);transition:background .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);-webkit-transform:translate(-50%);transform:translate(-50%);will-change:background,border-color,transform,border-radius}.mdui-theme-accent-amber .mdui-slider-fill:before{background-color:#ffd740}.mdui-theme-accent-amber .mdui-slider-thumb{background-color:#ffd740;border:2px solid #ffd740}.mdui-theme-accent-blue .mdui-slider-fill:before{background-color:#448aff}.mdui-theme-accent-blue .mdui-slider-thumb{background-color:#448aff;border:2px solid #448aff}.mdui-theme-accent-cyan .mdui-slider-fill:before{background-color:#18ffff}.mdui-theme-accent-cyan .mdui-slider-thumb{background-color:#18ffff;border:2px solid #18ffff}.mdui-theme-accent-deep-orange .mdui-slider-fill:before{background-color:#ff6e40}.mdui-theme-accent-deep-orange .mdui-slider-thumb{background-color:#ff6e40;border:2px solid #ff6e40}.mdui-theme-accent-deep-purple .mdui-slider-fill:before{background-color:#7c4dff}.mdui-theme-accent-deep-purple .mdui-slider-thumb{background-color:#7c4dff;border:2px solid #7c4dff}.mdui-theme-accent-green .mdui-slider-fill:before{background-color:#69f0ae}.mdui-theme-accent-green .mdui-slider-thumb{background-color:#69f0ae;border:2px solid #69f0ae}.mdui-theme-accent-indigo .mdui-slider-fill:before{background-color:#536dfe}.mdui-theme-accent-indigo .mdui-slider-thumb{background-color:#536dfe;border:2px solid #536dfe}.mdui-theme-accent-light-blue .mdui-slider-fill:before{background-color:#40c4ff}.mdui-theme-accent-light-blue .mdui-slider-thumb{background-color:#40c4ff;border:2px solid #40c4ff}.mdui-theme-accent-light-green .mdui-slider-fill:before{background-color:#b2ff59}.mdui-theme-accent-light-green .mdui-slider-thumb{background-color:#b2ff59;border:2px solid #b2ff59}.mdui-theme-accent-lime .mdui-slider-fill:before{background-color:#eeff41}.mdui-theme-accent-lime .mdui-slider-thumb{background-color:#eeff41;border:2px solid #eeff41}.mdui-theme-accent-orange .mdui-slider-fill:before{background-color:#ffab40}.mdui-theme-accent-orange .mdui-slider-thumb{background-color:#ffab40;border:2px solid #ffab40}.mdui-theme-accent-pink .mdui-slider-fill:before{background-color:#ff4081}.mdui-theme-accent-pink .mdui-slider-thumb{background-color:#ff4081;border:2px solid #ff4081}.mdui-theme-accent-purple .mdui-slider-fill:before{background-color:#e040fb}.mdui-theme-accent-purple .mdui-slider-thumb{background-color:#e040fb;border:2px solid #e040fb}.mdui-theme-accent-red .mdui-slider-fill:before{background-color:#ff5252}.mdui-theme-accent-red .mdui-slider-thumb{background-color:#ff5252;border:2px solid #ff5252}.mdui-theme-accent-teal .mdui-slider-fill:before{background-color:#64ffda}.mdui-theme-accent-teal .mdui-slider-thumb{background-color:#64ffda;border:2px solid #64ffda}.mdui-theme-accent-yellow .mdui-slider-fill:before{background-color:#ff0}.mdui-theme-accent-yellow .mdui-slider-thumb{background-color:#ff0;border:2px solid #ff0}.mdui-slider-focus .mdui-slider-track:before{background-color:#9e9e9e}.mdui-slider-focus .mdui-slider-thumb{-webkit-transform:translate(-50%) scale(1.6);transform:translate(-50%) scale(1.6)}.mdui-slider-zero .mdui-slider-thumb{background-color:#fff;border-color:#bdbdbd}.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{border-color:#9e9e9e}.mdui-slider-disabled input[type=range]{cursor:default}.mdui-slider-disabled .mdui-slider-track:before{background-color:#bdbdbd}.mdui-slider-disabled .mdui-slider-fill:before{background-color:#bdbdbd}.mdui-slider-disabled .mdui-slider-thumb{background-color:#bdbdbd;border-color:transparent!important;-webkit-transform:translate(-50%) scale(.72);transform:translate(-50%) scale(.72)}.mdui-slider-discrete .mdui-slider-thumb{width:30px;height:30px;margin-top:-15px;margin-left:-15px;border:none;-webkit-transform:rotate(-45deg) scale(.4);transform:rotate(-45deg) scale(.4)}.mdui-slider-discrete .mdui-slider-thumb span{position:absolute;top:9px;left:-1px;width:100%;font-size:12px;color:#fff;text-align:center;opacity:0;-webkit-transition:opacity .25s cubic-bezier(.4,0,.2,1);transition:opacity .25s cubic-bezier(.4,0,.2,1);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb{border-radius:15px 15px 15px 0;-webkit-transform:rotate(-45deg) scale(1) translate(22px,-22px);transform:rotate(-45deg) scale(1) translate(22px,-22px)}.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span{opacity:1}.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb{background-color:#323232}.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{background-color:#bdbdbd}.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb{-webkit-transform:rotate(-45deg) scale(.288);transform:rotate(-45deg) scale(.288)}.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb{background-color:#bdbdbd}.mdui-theme-layout-dark .mdui-slider-track:before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track:before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb{background-color:#303030;border-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{border-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track:before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill:before{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb{background-color:#4c4c4c}.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb{background-color:#fefefe}.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb{background-color:#5c5c5c}.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb{background-color:#4c4c4c}.mdui-btn,.mdui-fab{position:relative;display:inline-block;min-width:88px;height:36px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 16px;margin:0;overflow:hidden;font-size:14px;font-weight:500;line-height:36px;color:inherit;text-align:center;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;zoom:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:0 0;border:none;border-radius:2px;outline:0;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1);transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);will-change:box-shadow;-webkit-user-drag:none}.mdui-btn:hover,.mdui-fab:hover{background-color:rgba(0,0,0,.1)}.mdui-btn:not(.mdui-ripple):active,.mdui-fab:not(.mdui-ripple):active{background-color:rgba(0,0,0,.165)}.mdui-btn[class*=mdui-color-]:hover,.mdui-fab[class*=mdui-color-]:hover{opacity:.87}.mdui-btn:not(.mdui-ripple)[class*=mdui-color-]:active,.mdui-fab:not(.mdui-ripple)[class*=mdui-color-]:active{opacity:.76}.mdui-btn .mdui-icon-left,.mdui-btn .mdui-icon-left::before,.mdui-btn .mdui-icon-right,.mdui-btn .mdui-icon-right::before{height:inherit;font-size:1.3em;line-height:inherit}.mdui-btn .mdui-icon-left{float:left;margin-right:.4em}.mdui-btn .mdui-icon-right{float:right;margin-left:.4em}input.mdui-btn[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.mdui-btn-raised{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-btn-raised:hover{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mdui-btn-raised:active{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-btn[disabled],.mdui-btn[disabled]:active,.mdui-btn[disabled]:focus,.mdui-btn[disabled]:hover,.mdui-fab[disabled],.mdui-fab[disabled]:active,.mdui-fab[disabled]:focus,.mdui-fab[disabled]:hover{color:rgba(0,0,0,.26)!important;cursor:default!important;background-color:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important;opacity:1!important}.mdui-btn[disabled] .mdui-icon,.mdui-btn[disabled]:active .mdui-icon,.mdui-btn[disabled]:focus .mdui-icon,.mdui-btn[disabled]:hover .mdui-icon,.mdui-fab[disabled] .mdui-icon,.mdui-fab[disabled]:active .mdui-icon,.mdui-fab[disabled]:focus .mdui-icon,.mdui-fab[disabled]:hover .mdui-icon{color:rgba(0,0,0,.26)!important}.mdui-btn-raised[disabled],.mdui-btn-raised[disabled]:active,.mdui-btn-raised[disabled]:focus,.mdui-btn-raised[disabled]:hover,.mdui-fab[disabled],.mdui-fab[disabled]:active,.mdui-fab[disabled]:focus,.mdui-fab[disabled]:hover{background-color:rgba(0,0,0,.12)!important;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important}.mdui-btn-bold{font-weight:700}.mdui-btn-icon{width:36px;min-width:36px;height:36px;padding:0;margin-right:0;margin-left:0;overflow:hidden;font-size:24px;line-height:normal;border-radius:50%}.mdui-btn-icon .mdui-icon{position:absolute;top:50%;left:50%;width:24px;line-height:24px;-webkit-transform:translate(-12px,-12px);transform:translate(-12px,-12px)}.mdui-btn-icon.mdui-ripple{-webkit-transform:translateZ(0);transform:translateZ(0)}.mdui-btn-block{display:block;width:100%}.mdui-btn-dense{height:32px;font-size:13px;line-height:32px}.mdui-btn-dense.mdui-btn-icon{width:32px;min-width:32px}.mdui-btn-group{position:relative;display:inline-block;vertical-align:middle}.mdui-btn-group .mdui-btn{float:left;min-width:inherit;padding:0 12px;color:rgba(0,0,0,.54);border-radius:0}.mdui-btn-group .mdui-btn:before{position:absolute;top:0;bottom:0;left:0;content:' ';border-left:1px solid transparent}.mdui-btn-group .mdui-btn:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.mdui-btn-group .mdui-btn:first-child:before{border-left:none}.mdui-btn-group .mdui-btn:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px}.mdui-btn-group .mdui-btn.mdui-btn-active{color:rgba(0,0,0,.87);background-color:rgba(0,0,0,.215)}.mdui-btn-group .mdui-btn.mdui-btn-active+.mdui-btn-active:before{border-left:1px solid rgba(0,0,0,.145)}.mdui-theme-layout-dark .mdui-btn:hover,.mdui-theme-layout-dark .mdui-fab:hover{background-color:rgba(255,255,255,.1)}.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active,.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active{background-color:rgba(255,255,255,.165)}.mdui-theme-layout-dark .mdui-btn[class*=mdui-color-]:hover,.mdui-theme-layout-dark .mdui-fab[class*=mdui-color-]:hover{opacity:.87}.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*=mdui-color-]:active,.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*=mdui-color-]:active{opacity:.76}.mdui-theme-layout-dark .mdui-btn[disabled],.mdui-theme-layout-dark .mdui-btn[disabled]:active,.mdui-theme-layout-dark .mdui-btn[disabled]:focus,.mdui-theme-layout-dark .mdui-btn[disabled]:hover,.mdui-theme-layout-dark .mdui-fab[disabled],.mdui-theme-layout-dark .mdui-fab[disabled]:active,.mdui-theme-layout-dark .mdui-fab[disabled]:focus,.mdui-theme-layout-dark .mdui-fab[disabled]:hover{color:rgba(255,255,255,.3)!important;background-color:transparent!important}.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon,.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon,.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon,.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon,.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon{color:rgba(255,255,255,.3)!important}.mdui-theme-layout-dark .mdui-btn-raised[disabled],.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active,.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus,.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover,.mdui-theme-layout-dark .mdui-fab[disabled],.mdui-theme-layout-dark .mdui-fab[disabled]:active,.mdui-theme-layout-dark .mdui-fab[disabled]:focus,.mdui-theme-layout-dark .mdui-fab[disabled]:hover{background-color:rgba(255,255,255,.12)!important}.mdui-fab{width:56px;min-width:56px;height:56px;padding:0!important;margin:auto;overflow:hidden;font-size:24px;line-height:normal!important;border-radius:50%;-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mdui-fab:hover{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-fab:active{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12);box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mdui-fab .mdui-icon{position:absolute;top:0;left:0;width:24px;margin-top:16px;margin-left:16px;line-height:24px}.mdui-fab-mini{width:40px;min-width:40px;height:40px}.mdui-fab-mini .mdui-icon{margin-top:8px;margin-left:8px}.mdui-fab-fixed,.mdui-fab-wrapper{position:fixed!important;right:16px;bottom:16px}@media (min-width:1024px){.mdui-fab-fixed,.mdui-fab-wrapper{right:24px;bottom:24px}}.mdui-fab-wrapper{position:relative;z-index:4000;width:56px;height:56px;padding-top:8px;text-align:center}.mdui-fab-wrapper>.mdui-fab .mdui-icon:not(.mdui-fab-opened){opacity:1;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.mdui-fab-wrapper>.mdui-fab .mdui-icon.mdui-fab-opened{opacity:0;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-transform:rotate(225deg);transform:rotate(225deg);will-change:opacity,transform}.mdui-fab-wrapper>.mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened){opacity:0;-webkit-transform:rotate(225deg);transform:rotate(225deg)}.mdui-fab-wrapper>.mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened{opacity:1;-webkit-transform:rotate(360deg);transform:rotate(360deg)}.mdui-fab-wrapper>.mdui-fab-mini{margin-top:8px}.mdui-fab-wrapper .mdui-fab-dial{position:absolute;right:0;bottom:64px;left:0;height:0;text-align:center;visibility:visible}.mdui-fab-wrapper .mdui-fab-dial .mdui-fab{margin:8px 0;opacity:0;-webkit-transition:color .2s cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform 150ms cubic-bezier(.4,0,.2,1);transition:color .2s cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform 150ms cubic-bezier(.4,0,.2,1);transition:box-shadow .2s cubic-bezier(.4,0,1,1),color .2s cubic-bezier(.4,0,.2,1),transform 150ms cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1);transition:box-shadow .2s cubic-bezier(.4,0,1,1),color .2s cubic-bezier(.4,0,.2,1),transform 150ms cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform 150ms cubic-bezier(.4,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.mdui-fab,.mdui-fab-mini,.mdui-fab-wrapper{-webkit-transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform .2s;transition:all .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform .2s;transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1),transform .2s;transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,1,1),transform .2s,-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),-webkit-transform .2s;-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);will-change:transform}.mdui-fab-mini.mdui-fab-hide,.mdui-fab-wrapper.mdui-fab-hide,.mdui-fab.mdui-fab-hide{-webkit-transform:scale(0) translateZ(0);transform:scale(0) translateZ(0)}.mdui-select{position:relative;display:inline-block;max-width:100%;height:36px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;padding-right:24px;padding-left:0;font-family:Roboto,Noto,Helvetica,Arial,sans-serif;font-size:16px;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%2F%3E%3C%2Fsvg%3E%0A);background-repeat:no-repeat;background-position:right center;border:none;border-bottom:1px solid rgba(0,0,0,.12);outline:0;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,background-position-x,-webkit-box-shadow;transition-property:background-color,background-position-x,-webkit-box-shadow;transition-property:background-color,box-shadow,background-position-x;transition-property:background-color,box-shadow,background-position-x,-webkit-box-shadow;-moz-appearance:none;appearance:none;will-change:background-color,box-shadow,background-position-x}.mdui-select.mdui-select-open{border-bottom:none}.mdui-select-position-top{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A")}.mdui-select-open.mdui-select-position-bottom,.mdui-select-open.mdui-select-position-top{z-index:99999;background-color:#fff;background-position-x:calc(100% - 12px);border-radius:2px}.mdui-select-open.mdui-select-position-top{border-top:1px solid rgba(0,0,0,.12);border-bottom:2px solid transparent;border-top-left-radius:0;border-top-right-radius:0;-webkit-box-shadow:0 10px 10px -3px rgba(0,0,0,.2),0 0 14px 1px rgba(0,0,0,.14),0 -7px 24px 2px rgba(0,0,0,.12);box-shadow:0 10px 10px -3px rgba(0,0,0,.2),0 0 14px 1px rgba(0,0,0,.14),0 -7px 24px 2px rgba(0,0,0,.12)}.mdui-select-open.mdui-select-position-top .mdui-select-menu{border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-box-shadow:0 -4px 4px -2px rgba(0,0,0,.06),8px 0 8px -4px rgba(0,0,0,.12),-8px 0 8px -4px rgba(0,0,0,.12);box-shadow:0 -4px 4px -2px rgba(0,0,0,.06),8px 0 8px -4px rgba(0,0,0,.12),-8px 0 8px -4px rgba(0,0,0,.12)}.mdui-select-open.mdui-select-position-bottom{border-bottom:1px solid rgba(0,0,0,.12);border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-select-open.mdui-select-position-bottom .mdui-select-menu{border-top-left-radius:0;border-top-right-radius:0;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 9px 9px 1px rgba(0,0,0,.14),0 8px 8px 2px rgba(0,0,0,.06);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 9px 9px 1px rgba(0,0,0,.14),0 8px 8px 2px rgba(0,0,0,.06)}.mdui-select-selected{position:absolute;top:50%;right:24px;left:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:left .2s cubic-bezier(0,0,.2,1);transition:left .2s cubic-bezier(0,0,.2,1);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mdui-select-open .mdui-select-selected{right:32px;left:16px}.mdui-select-open.mdui-select-position-auto .mdui-select-selected{visibility:hidden}.mdui-select-menu{position:relative;z-index:99999;height:36px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 -24px 0 0;overflow-y:scroll;-webkit-overflow-scrolling:touch;color:rgba(0,0,0,.87);cursor:default;visibility:hidden;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);opacity:0;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity,visibility,-webkit-transform;transition-property:opacity,visibility,-webkit-transform;transition-property:transform,opacity,visibility;transition-property:transform,opacity,visibility,-webkit-transform;-webkit-transform:scale(1,0);transform:scale(1,0);will-change:transform,opacity,visibility}.mdui-select-open .mdui-select-menu{overflow-y:hidden;visibility:visible;opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1)}.mdui-select-closing .mdui-select-menu{overflow-y:hidden;visibility:visible;-webkit-box-shadow:none;box-shadow:none;opacity:0;-webkit-transform:scale(1,1);transform:scale(1,1)}.mdui-select-menu-item{height:48px;padding:0 16px;overflow:hidden;line-height:48px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.mdui-select-menu-item:hover{background-color:#eee}.mdui-select-menu-item:first-child{margin-top:8px}.mdui-select-menu-item:last-child{margin-bottom:8px}.mdui-select-menu-item[disabled]{color:rgba(0,0,0,.38)!important;cursor:default}.mdui-select-menu-item[disabled]:hover{background-color:inherit!important}.mdui-select-menu-item[selected]{color:#ff4081}select.mdui-select{background-color:transparent}select.mdui-select option{color:rgba(0,0,0,.87)}select.mdui-select::-ms-expand{display:none}select.mdui-select[multiple]{height:auto;padding:0;font-size:15px;cursor:default;background-color:#fff;background-image:none;border:1px solid rgba(0,0,0,.38)}select.mdui-select[multiple] optgroup{padding:0 0 0 16px;margin:8px 0 0 0;color:rgba(0,0,0,.38)}select.mdui-select[multiple] optgroup:last-child{margin-bottom:8px}select.mdui-select[multiple] optgroup:not(:first-child){padding-top:8px;border-top:1px solid rgba(0,0,0,.12)}select.mdui-select[multiple] option{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:32px;padding:0 16px;margin:0 0 0 -16px;color:rgba(0,0,0,.87);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}select.mdui-select[multiple] option:first-child{margin-top:8px}select.mdui-select[multiple] option:last-child{margin-bottom:8px}.mdui-theme-accent-amber .mdui-select-menu-item[selected]{color:#ffc107}.mdui-theme-accent-blue .mdui-select-menu-item[selected]{color:#2196f3}.mdui-theme-accent-cyan .mdui-select-menu-item[selected]{color:#00bcd4}.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected]{color:#ff5722}.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected]{color:#673ab7}.mdui-theme-accent-green .mdui-select-menu-item[selected]{color:#4caf50}.mdui-theme-accent-indigo .mdui-select-menu-item[selected]{color:#3f51b5}.mdui-theme-accent-light-blue .mdui-select-menu-item[selected]{color:#03a9f4}.mdui-theme-accent-light-green .mdui-select-menu-item[selected]{color:#8bc34a}.mdui-theme-accent-lime .mdui-select-menu-item[selected]{color:#cddc39}.mdui-theme-accent-orange .mdui-select-menu-item[selected]{color:#ff9800}.mdui-theme-accent-pink .mdui-select-menu-item[selected]{color:#e91e63}.mdui-theme-accent-purple .mdui-select-menu-item[selected]{color:#9c27b0}.mdui-theme-accent-red .mdui-select-menu-item[selected]{color:#f44336}.mdui-theme-accent-teal .mdui-select-menu-item[selected]{color:#009688}.mdui-theme-accent-yellow .mdui-select-menu-item[selected]{color:#ffeb3b}.mdui-theme-layout-dark .mdui-select{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A);border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-select-position-top{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A")}.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom,.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top{background-color:#424242}.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top{border-top:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom{border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-select-menu{color:#fff;background-color:#424242}.mdui-theme-layout-dark .mdui-select-menu-item:hover{background-color:#616161}.mdui-theme-layout-dark .mdui-select-menu-item[disabled]{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-dark select.mdui-select{color:#fff;background-color:#303030}.mdui-theme-layout-dark select.mdui-select option{color:#fff;background-color:#303030}.mdui-theme-layout-dark select.mdui-select[multiple]{border:1px solid rgba(255,255,255,.5)}.mdui-theme-layout-dark select.mdui-select[multiple] optgroup{color:rgba(255,255,255,.5)}.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child){border-top:1px solid rgba(255,255,255,.12)}.mdui-container,.mdui-container-fluid{-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:8px;padding-left:8px;margin-right:auto;margin-left:auto}.mdui-container-fluid:after,.mdui-container:after{display:table;clear:both;content:''}.mdui-container{width:96%;max-width:1280px}@media (min-width:600px){.mdui-container{width:94%}}@media (min-width:1024px){.mdui-container{width:92%}}.mdui-row,[class*=mdui-row-]{margin-right:-8px;margin-left:-8px}.mdui-row:after,[class*=mdui-row-]:after{display:table;clear:both;content:''}.mdui-col,[class*=mdui-col-lg-],[class*=mdui-col-md-],[class*=mdui-col-sm-],[class*=mdui-col-xl-],[class*=mdui-col-xs-]{position:relative;min-height:1px;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:8px;padding-left:8px}.mdui-row-gapless .mdui-col,.mdui-row-gapless [class*=mdui-col-lg-],.mdui-row-gapless [class*=mdui-col-md-],.mdui-row-gapless [class*=mdui-col-sm-],.mdui-row-gapless [class*=mdui-col-xl-],.mdui-row-gapless [class*=mdui-col-xs-]{padding-right:0;padding-left:0}.mdui-row-gapless .mdui-row,.mdui-row-gapless [class*=mdui-row-]{margin-right:0;margin-left:0}.mdui-col-xs-1{float:left;width:8.333333%}.mdui-col-offset-xs-1{margin-left:8.333333%}.mdui-row-xs-1 .mdui-col{float:left;width:100%}.mdui-col-xs-2{float:left;width:16.666667%}.mdui-col-offset-xs-2{margin-left:16.666667%}.mdui-row-xs-2 .mdui-col{float:left;width:50%}.mdui-col-xs-3{float:left;width:25%}.mdui-col-offset-xs-3{margin-left:25%}.mdui-row-xs-3 .mdui-col{float:left;width:33.333333%}.mdui-col-xs-4{float:left;width:33.333333%}.mdui-col-offset-xs-4{margin-left:33.333333%}.mdui-row-xs-4 .mdui-col{float:left;width:25%}.mdui-col-xs-5{float:left;width:41.666667%}.mdui-col-offset-xs-5{margin-left:41.666667%}.mdui-row-xs-5 .mdui-col{float:left;width:20%}.mdui-col-xs-6{float:left;width:50%}.mdui-col-offset-xs-6{margin-left:50%}.mdui-row-xs-6 .mdui-col{float:left;width:16.666667%}.mdui-col-xs-7{float:left;width:58.333333%}.mdui-col-offset-xs-7{margin-left:58.333333%}.mdui-row-xs-7 .mdui-col{float:left;width:14.285714%}.mdui-col-xs-8{float:left;width:66.666667%}.mdui-col-offset-xs-8{margin-left:66.666667%}.mdui-row-xs-8 .mdui-col{float:left;width:12.5%}.mdui-col-xs-9{float:left;width:75%}.mdui-col-offset-xs-9{margin-left:75%}.mdui-row-xs-9 .mdui-col{float:left;width:11.111111%}.mdui-col-xs-10{float:left;width:83.333333%}.mdui-col-offset-xs-10{margin-left:83.333333%}.mdui-row-xs-10 .mdui-col{float:left;width:10%}.mdui-col-xs-11{float:left;width:91.666667%}.mdui-col-offset-xs-11{margin-left:91.666667%}.mdui-row-xs-11 .mdui-col{float:left;width:9.090909%}.mdui-col-xs-12{float:left;width:100%}.mdui-col-offset-xs-12{margin-left:100%}.mdui-row-xs-12 .mdui-col{float:left;width:8.333333%}@media (min-width:600px){.mdui-col-sm-1{float:left;width:8.333333%}.mdui-col-offset-sm-1{margin-left:8.333333%}.mdui-row-sm-1 .mdui-col{float:left;width:100%}.mdui-col-sm-2{float:left;width:16.666667%}.mdui-col-offset-sm-2{margin-left:16.666667%}.mdui-row-sm-2 .mdui-col{float:left;width:50%}.mdui-col-sm-3{float:left;width:25%}.mdui-col-offset-sm-3{margin-left:25%}.mdui-row-sm-3 .mdui-col{float:left;width:33.333333%}.mdui-col-sm-4{float:left;width:33.333333%}.mdui-col-offset-sm-4{margin-left:33.333333%}.mdui-row-sm-4 .mdui-col{float:left;width:25%}.mdui-col-sm-5{float:left;width:41.666667%}.mdui-col-offset-sm-5{margin-left:41.666667%}.mdui-row-sm-5 .mdui-col{float:left;width:20%}.mdui-col-sm-6{float:left;width:50%}.mdui-col-offset-sm-6{margin-left:50%}.mdui-row-sm-6 .mdui-col{float:left;width:16.666667%}.mdui-col-sm-7{float:left;width:58.333333%}.mdui-col-offset-sm-7{margin-left:58.333333%}.mdui-row-sm-7 .mdui-col{float:left;width:14.285714%}.mdui-col-sm-8{float:left;width:66.666667%}.mdui-col-offset-sm-8{margin-left:66.666667%}.mdui-row-sm-8 .mdui-col{float:left;width:12.5%}.mdui-col-sm-9{float:left;width:75%}.mdui-col-offset-sm-9{margin-left:75%}.mdui-row-sm-9 .mdui-col{float:left;width:11.111111%}.mdui-col-sm-10{float:left;width:83.333333%}.mdui-col-offset-sm-10{margin-left:83.333333%}.mdui-row-sm-10 .mdui-col{float:left;width:10%}.mdui-col-sm-11{float:left;width:91.666667%}.mdui-col-offset-sm-11{margin-left:91.666667%}.mdui-row-sm-11 .mdui-col{float:left;width:9.090909%}.mdui-col-sm-12{float:left;width:100%}.mdui-col-offset-sm-12{margin-left:100%}.mdui-row-sm-12 .mdui-col{float:left;width:8.333333%}}@media (min-width:1024px){.mdui-col-md-1{float:left;width:8.333333%}.mdui-col-offset-md-1{margin-left:8.333333%}.mdui-row-md-1 .mdui-col{float:left;width:100%}.mdui-col-md-2{float:left;width:16.666667%}.mdui-col-offset-md-2{margin-left:16.666667%}.mdui-row-md-2 .mdui-col{float:left;width:50%}.mdui-col-md-3{float:left;width:25%}.mdui-col-offset-md-3{margin-left:25%}.mdui-row-md-3 .mdui-col{float:left;width:33.333333%}.mdui-col-md-4{float:left;width:33.333333%}.mdui-col-offset-md-4{margin-left:33.333333%}.mdui-row-md-4 .mdui-col{float:left;width:25%}.mdui-col-md-5{float:left;width:41.666667%}.mdui-col-offset-md-5{margin-left:41.666667%}.mdui-row-md-5 .mdui-col{float:left;width:20%}.mdui-col-md-6{float:left;width:50%}.mdui-col-offset-md-6{margin-left:50%}.mdui-row-md-6 .mdui-col{float:left;width:16.666667%}.mdui-col-md-7{float:left;width:58.333333%}.mdui-col-offset-md-7{margin-left:58.333333%}.mdui-row-md-7 .mdui-col{float:left;width:14.285714%}.mdui-col-md-8{float:left;width:66.666667%}.mdui-col-offset-md-8{margin-left:66.666667%}.mdui-row-md-8 .mdui-col{float:left;width:12.5%}.mdui-col-md-9{float:left;width:75%}.mdui-col-offset-md-9{margin-left:75%}.mdui-row-md-9 .mdui-col{float:left;width:11.111111%}.mdui-col-md-10{float:left;width:83.333333%}.mdui-col-offset-md-10{margin-left:83.333333%}.mdui-row-md-10 .mdui-col{float:left;width:10%}.mdui-col-md-11{float:left;width:91.666667%}.mdui-col-offset-md-11{margin-left:91.666667%}.mdui-row-md-11 .mdui-col{float:left;width:9.090909%}.mdui-col-md-12{float:left;width:100%}.mdui-col-offset-md-12{margin-left:100%}.mdui-row-md-12 .mdui-col{float:left;width:8.333333%}}@media (min-width:1440px){.mdui-col-lg-1{float:left;width:8.333333%}.mdui-col-offset-lg-1{margin-left:8.333333%}.mdui-row-lg-1 .mdui-col{float:left;width:100%}.mdui-col-lg-2{float:left;width:16.666667%}.mdui-col-offset-lg-2{margin-left:16.666667%}.mdui-row-lg-2 .mdui-col{float:left;width:50%}.mdui-col-lg-3{float:left;width:25%}.mdui-col-offset-lg-3{margin-left:25%}.mdui-row-lg-3 .mdui-col{float:left;width:33.333333%}.mdui-col-lg-4{float:left;width:33.333333%}.mdui-col-offset-lg-4{margin-left:33.333333%}.mdui-row-lg-4 .mdui-col{float:left;width:25%}.mdui-col-lg-5{float:left;width:41.666667%}.mdui-col-offset-lg-5{margin-left:41.666667%}.mdui-row-lg-5 .mdui-col{float:left;width:20%}.mdui-col-lg-6{float:left;width:50%}.mdui-col-offset-lg-6{margin-left:50%}.mdui-row-lg-6 .mdui-col{float:left;width:16.666667%}.mdui-col-lg-7{float:left;width:58.333333%}.mdui-col-offset-lg-7{margin-left:58.333333%}.mdui-row-lg-7 .mdui-col{float:left;width:14.285714%}.mdui-col-lg-8{float:left;width:66.666667%}.mdui-col-offset-lg-8{margin-left:66.666667%}.mdui-row-lg-8 .mdui-col{float:left;width:12.5%}.mdui-col-lg-9{float:left;width:75%}.mdui-col-offset-lg-9{margin-left:75%}.mdui-row-lg-9 .mdui-col{float:left;width:11.111111%}.mdui-col-lg-10{float:left;width:83.333333%}.mdui-col-offset-lg-10{margin-left:83.333333%}.mdui-row-lg-10 .mdui-col{float:left;width:10%}.mdui-col-lg-11{float:left;width:91.666667%}.mdui-col-offset-lg-11{margin-left:91.666667%}.mdui-row-lg-11 .mdui-col{float:left;width:9.090909%}.mdui-col-lg-12{float:left;width:100%}.mdui-col-offset-lg-12{margin-left:100%}.mdui-row-lg-12 .mdui-col{float:left;width:8.333333%}}@media (min-width:1920px){.mdui-col-xl-1{float:left;width:8.333333%}.mdui-col-offset-xl-1{margin-left:8.333333%}.mdui-row-xl-1 .mdui-col{float:left;width:100%}.mdui-col-xl-2{float:left;width:16.666667%}.mdui-col-offset-xl-2{margin-left:16.666667%}.mdui-row-xl-2 .mdui-col{float:left;width:50%}.mdui-col-xl-3{float:left;width:25%}.mdui-col-offset-xl-3{margin-left:25%}.mdui-row-xl-3 .mdui-col{float:left;width:33.333333%}.mdui-col-xl-4{float:left;width:33.333333%}.mdui-col-offset-xl-4{margin-left:33.333333%}.mdui-row-xl-4 .mdui-col{float:left;width:25%}.mdui-col-xl-5{float:left;width:41.666667%}.mdui-col-offset-xl-5{margin-left:41.666667%}.mdui-row-xl-5 .mdui-col{float:left;width:20%}.mdui-col-xl-6{float:left;width:50%}.mdui-col-offset-xl-6{margin-left:50%}.mdui-row-xl-6 .mdui-col{float:left;width:16.666667%}.mdui-col-xl-7{float:left;width:58.333333%}.mdui-col-offset-xl-7{margin-left:58.333333%}.mdui-row-xl-7 .mdui-col{float:left;width:14.285714%}.mdui-col-xl-8{float:left;width:66.666667%}.mdui-col-offset-xl-8{margin-left:66.666667%}.mdui-row-xl-8 .mdui-col{float:left;width:12.5%}.mdui-col-xl-9{float:left;width:75%}.mdui-col-offset-xl-9{margin-left:75%}.mdui-row-xl-9 .mdui-col{float:left;width:11.111111%}.mdui-col-xl-10{float:left;width:83.333333%}.mdui-col-offset-xl-10{margin-left:83.333333%}.mdui-row-xl-10 .mdui-col{float:left;width:10%}.mdui-col-xl-11{float:left;width:91.666667%}.mdui-col-offset-xl-11{margin-left:91.666667%}.mdui-row-xl-11 .mdui-col{float:left;width:9.090909%}.mdui-col-xl-12{float:left;width:100%}.mdui-col-offset-xl-12{margin-left:100%}.mdui-row-xl-12 .mdui-col{float:left;width:8.333333%}}.mdui-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdui-toolbar>*{margin:0 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdui-toolbar[class*=mdui-color-]:not(.mdui-color-transparent) .mdui-btn:hover{background-color:rgba(255,255,255,.1)}.mdui-toolbar[class*=mdui-color-]:not(.mdui-color-transparent) .mdui-btn:active{background-color:rgba(255,255,255,.165)}.mdui-toolbar>a{color:inherit;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-toolbar>.mdui-btn-icon{width:48px;min-width:48px;height:48px}@media (orientation:landscape) and (max-width:959px){.mdui-toolbar>.mdui-btn-icon{width:40px;min-width:40px;height:40px}}.mdui-toolbar>.mdui-btn-icon .mdui-icon{height:24px;line-height:24px}.mdui-toolbar .mdui-icon{color:inherit}.mdui-toolbar-spacer{margin:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-toolbar{height:56px;line-height:56px}.mdui-toolbar>.mdui-btn{margin:0 4px}.mdui-toolbar>.mdui-btn+.mdui-btn{margin-left:0}@media (min-width:600px){.mdui-appbar .mdui-toolbar{height:64px;line-height:64px}.mdui-appbar .mdui-toolbar>.mdui-btn{margin:0 8px}.mdui-appbar .mdui-toolbar>.mdui-btn+.mdui-btn{margin-left:0}}@media (orientation:landscape) and (max-width:959px){.mdui-appbar .mdui-toolbar{height:48px;line-height:48px}.mdui-appbar .mdui-toolbar>.mdui-btn{margin:0 4px}.mdui-appbar .mdui-toolbar>.mdui-btn+.mdui-btn{margin-left:0}}.mdui-appbar{z-index:1000;-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mdui-appbar-fixed{position:fixed;top:0;right:0;left:0;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:left,right;transition-property:left,right;will-change:left,right}@media (min-width:1024px){.mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed{left:240px}}@media (min-width:1024px){.mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed{right:240px}}.mdui-appbar-with-toolbar{padding-top:56px}@media (min-width:600px){.mdui-appbar-with-toolbar{padding-top:64px}}@media (orientation:landscape) and (max-width:959px){.mdui-appbar-with-toolbar{padding-top:48px}}.mdui-appbar-with-tab{padding-top:48px}.mdui-appbar-with-tab-larger{padding-top:72px}.mdui-appbar-with-toolbar.mdui-appbar-with-tab{padding-top:104px}@media (min-width:600px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab{padding-top:112px}}@media (orientation:landscape) and (max-width:959px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab{padding-top:96px}}.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger{padding-top:128px}@media (min-width:600px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger{padding-top:136px}}@media (orientation:landscape) and (max-width:959px){.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger{padding-top:120px}}.mdui-theme-layout-dark .mdui-appbar>[class*=mdui-color-]:not(.mdui-color-transparent){color:#fff!important;background-color:#212121!important}.mdui-card{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;color:#000;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-card-header{position:relative;height:72px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:16px}.mdui-card-header-avatar{float:left;width:40px;height:40px;border-radius:50%}.mdui-card-header-title{display:block;margin-left:52px;overflow:hidden;font-size:16px;font-weight:500;line-height:20px;text-overflow:ellipsis;white-space:nowrap;opacity:.87}.mdui-card-header-subtitle{display:block;margin-left:52px;overflow:hidden;font-size:14px;font-weight:400;line-height:20px;text-overflow:ellipsis;white-space:nowrap;opacity:.54}.mdui-card-primary{position:relative;padding:24px 16px 16px 16px}.mdui-card-primary-title{display:block;font-size:24px;line-height:36px;opacity:.87}.mdui-card-primary-subtitle{display:block;font-size:14px;line-height:24px;opacity:.54}.mdui-card-content{position:relative;padding:16px;font-size:14px;line-height:24px}.mdui-card-menu{position:absolute;top:16px;right:16px;z-index:1}.mdui-card-menu .mdui-btn{margin-left:8px}.mdui-card-actions{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px}.mdui-card-actions:after,.mdui-card-actions:before{display:table;content:" "}.mdui-card-actions:after{clear:both}.mdui-card-actions:after,.mdui-card-actions:before{display:table;content:" "}.mdui-card-actions:after{clear:both}.mdui-card-actions .mdui-btn{max-width:100%;margin:0 8px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdui-card-actions .mdui-btn-icon{width:36px;height:36px;margin:0 8px}.mdui-card-actions-stacked .mdui-btn{display:block;margin:0 0 4px 0}.mdui-card-actions-stacked .mdui-btn:last-child{margin:0}.mdui-card-media{position:relative}.mdui-card-media img,.mdui-card-media video{display:block;width:100%}.mdui-card-media-covered{position:absolute;right:0;bottom:0;left:0;color:#fff;background:rgba(0,0,0,.2)}.mdui-card-media-covered .mdui-card-primary-title{opacity:1}.mdui-card-media-covered .mdui-card-primary-subtitle{opacity:.7}.mdui-card-media-covered-top{top:0;bottom:auto}.mdui-card-media-covered-transparent{background:0 0}.mdui-card-media-covered-gradient{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to top,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-card-media-covered-gradient.mdui-card-media-covered-top{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to bottom,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-theme-layout-dark .mdui-card{color:#fff;background-color:#424242}.mdui-tab{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:48px;max-height:72px;padding:0;margin:0 auto;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap}.mdui-tab a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:72px;min-height:48px;max-height:72px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:12px;overflow:hidden;font-size:14px;color:inherit;text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;cursor:pointer;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0;opacity:.7;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdui-tab a .mdui-icon{opacity:.7}@media (min-width:600px){.mdui-tab a{min-width:99px;max-width:264px;padding:12px 24px;-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}}@media (min-width:1024px){.mdui-tab a{min-width:112px}}@media (min-width:1440px){.mdui-tab a{min-width:136px}}@media (min-width:1920px){.mdui-tab a{min-width:160px}}.mdui-tab a label{display:block;width:100%;cursor:pointer}.mdui-tab a .mdui-icon+label{margin-top:8px}.mdui-tab a[disabled]{cursor:default;opacity:.38}.mdui-tab a[disabled] label{cursor:default}.mdui-tab .mdui-tab-active{color:#3f51b5;opacity:1}.mdui-tab .mdui-tab-active .mdui-icon{opacity:1}@media (min-width:600px){.mdui-tab-centered:before{content:' ';-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-tab-centered:after{content:' ';-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-tab-centered a{-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}}.mdui-tab-full-width a{max-width:none;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.mdui-tab-scrollable{padding-left:56px}.mdui-tab-scrollable a{-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}@media (max-width:599px){.mdui-tab-scrollable{padding-left:60px}}.mdui-tab-indicator{position:absolute;bottom:0;height:2px;background-color:#3f51b5;-webkit-transition:all .35s cubic-bezier(.4,0,.2,1);transition:all .35s cubic-bezier(.4,0,.2,1);will-change:left,width}.mdui-theme-primary-amber .mdui-tab .mdui-tab-active{color:#ffc107}.mdui-theme-primary-amber .mdui-tab-indicator{background-color:#ffc107}.mdui-theme-primary-blue .mdui-tab .mdui-tab-active{color:#2196f3}.mdui-theme-primary-blue .mdui-tab-indicator{background-color:#2196f3}.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active{color:#607d8b}.mdui-theme-primary-blue-grey .mdui-tab-indicator{background-color:#607d8b}.mdui-theme-primary-brown .mdui-tab .mdui-tab-active{color:#795548}.mdui-theme-primary-brown .mdui-tab-indicator{background-color:#795548}.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active{color:#00bcd4}.mdui-theme-primary-cyan .mdui-tab-indicator{background-color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active{color:#ff5722}.mdui-theme-primary-deep-orange .mdui-tab-indicator{background-color:#ff5722}.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active{color:#673ab7}.mdui-theme-primary-deep-purple .mdui-tab-indicator{background-color:#673ab7}.mdui-theme-primary-green .mdui-tab .mdui-tab-active{color:#4caf50}.mdui-theme-primary-green .mdui-tab-indicator{background-color:#4caf50}.mdui-theme-primary-grey .mdui-tab .mdui-tab-active{color:#9e9e9e}.mdui-theme-primary-grey .mdui-tab-indicator{background-color:#9e9e9e}.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active{color:#3f51b5}.mdui-theme-primary-indigo .mdui-tab-indicator{background-color:#3f51b5}.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active{color:#03a9f4}.mdui-theme-primary-light-blue .mdui-tab-indicator{background-color:#03a9f4}.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active{color:#8bc34a}.mdui-theme-primary-light-green .mdui-tab-indicator{background-color:#8bc34a}.mdui-theme-primary-lime .mdui-tab .mdui-tab-active{color:#cddc39}.mdui-theme-primary-lime .mdui-tab-indicator{background-color:#cddc39}.mdui-theme-primary-orange .mdui-tab .mdui-tab-active{color:#ff9800}.mdui-theme-primary-orange .mdui-tab-indicator{background-color:#ff9800}.mdui-theme-primary-pink .mdui-tab .mdui-tab-active{color:#e91e63}.mdui-theme-primary-pink .mdui-tab-indicator{background-color:#e91e63}.mdui-theme-primary-purple .mdui-tab .mdui-tab-active{color:#9c27b0}.mdui-theme-primary-purple .mdui-tab-indicator{background-color:#9c27b0}.mdui-theme-primary-red .mdui-tab .mdui-tab-active{color:#f44336}.mdui-theme-primary-red .mdui-tab-indicator{background-color:#f44336}.mdui-theme-primary-teal .mdui-tab .mdui-tab-active{color:#009688}.mdui-theme-primary-teal .mdui-tab-indicator{background-color:#009688}.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active{color:#ffeb3b}.mdui-theme-primary-yellow .mdui-tab-indicator{background-color:#ffeb3b}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white) .mdui-tab-active{color:inherit}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white) .mdui-tab-indicator{background-color:#fff}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white)::-webkit-scrollbar{width:5px;height:5px;background:0 0}@media (min-width:1024px){.mdui-tab[class*=mdui-color-]:not(.mdui-color-white)::-webkit-scrollbar{width:8px;height:8px}}.mdui-tab[class*=mdui-color-]:not(.mdui-color-white)::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3)}.mdui-subheader,.mdui-subheader-inset{position:relative;height:48px;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:16px;padding-left:16px;overflow:hidden;font-size:14px;font-weight:500;line-height:48px;color:rgba(0,0,0,.54);text-overflow:ellipsis;white-space:nowrap;cursor:default}.mdui-subheader-inset{padding-left:72px}.mdui-theme-layout-dark .mdui-subheader,.mdui-theme-layout-dark .mdui-subheader-inset{color:rgba(255,255,255,.7)}.mdui-grid-list{margin:0 -2px}.mdui-grid-list .mdui-col,.mdui-grid-list [class*=mdui-col-lg-],.mdui-grid-list [class*=mdui-col-md-],.mdui-grid-list [class*=mdui-col-sm-],.mdui-grid-list [class*=mdui-col-xl-],.mdui-grid-list [class*=mdui-col-xs-]{padding-right:2px;padding-left:2px}.mdui-grid-tile{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:4px;overflow:hidden}.mdui-grid-tile img{display:block;width:100%}.mdui-grid-tile-actions{position:absolute;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:48px;max-height:68px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:16px;color:#fff;background:rgba(0,0,0,.2);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdui-grid-tile-actions .mdui-icon{color:#fff}.mdui-grid-tile-text{overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.mdui-grid-tile-title{height:16px;overflow:hidden;font-size:16px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.mdui-grid-tile-title .mdui-icon{margin-right:8px}.mdui-grid-tile-subtitle{height:18px;margin-top:4px;overflow:hidden;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.mdui-grid-tile-subtitle .mdui-icon{margin-right:8px;font-size:18px}.mdui-grid-tile-buttons{margin:-8px;white-space:nowrap;-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}.mdui-grid-tile-buttons .mdui-btn{margin-left:8px}.mdui-grid-tile-buttons .mdui-btn:first-child{margin-left:0}.mdui-grid-tile-text+.mdui-grid-tile-buttons{margin-left:8px}.mdui-grid-tile-buttons+.mdui-grid-tile-text{margin-left:16px}.mdui-grid-tile-actions-top{top:0;bottom:auto}.mdui-grid-tile-actions-transparent{background:0 0}.mdui-grid-tile-actions-gradient{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to top,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.26)),to(rgba(0,0,0,0)));background:linear-gradient(to bottom,rgba(0,0,0,.26),rgba(0,0,0,0))}.mdui-list{padding:8px 0;margin:0;list-style:none;background-color:transparent}.mdui-list .mdui-list{padding:0}.mdui-list>.mdui-divider,.mdui-list>.mdui-divider-dark,.mdui-list>.mdui-divider-inset,.mdui-list>.mdui-divider-inset-dark,.mdui-list>.mdui-divider-inset-light,.mdui-list>.mdui-divider-light{margin-top:8px;margin-bottom:8px}.mdui-list a{color:inherit;text-decoration:none}.mdui-list .mdui-subheader,.mdui-list .mdui-subheader-inset{margin-top:8px}.mdui-list .mdui-subheader-inset:before,.mdui-list .mdui-subheader:before{position:absolute;right:0;left:0;display:block;height:1px;content:' ';background-color:rgba(0,0,0,.12)}.mdui-list .mdui-subheader-inset:first-child,.mdui-list .mdui-subheader:first-child{margin-top:-8px}.mdui-list .mdui-subheader-inset:first-child:before,.mdui-list .mdui-subheader:first-child:before{background-color:transparent}.mdui-list .mdui-subheader-inset:before{left:72px}.mdui-list-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:48px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 16px;text-decoration:none;cursor:pointer;-webkit-transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color .3s cubic-bezier(.4,0,.2,1);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.mdui-list-item:hover{background-color:rgba(0,0,0,.08)}.mdui-list-item:after{height:48px;visibility:hidden;content:' '}.mdui-list-item-icon{width:24px;min-width:24px;height:24px;color:rgba(0,0,0,.54)}.mdui-list-item-avatar{min-width:40px;max-width:40px;height:40px;margin-top:8px;margin-bottom:8px;line-height:40px;color:#fff;text-align:center;background-color:#bdbdbd;border-radius:50%}.mdui-list-item-avatar img{width:100%;height:100%;border-radius:50%}.mdui-list-item-content{padding-top:14px;padding-bottom:14px;font-size:16px;font-weight:400;line-height:20px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-list-item-text{font-size:14px;opacity:.54}.mdui-list-item-title~.mdui-list-item-text{margin-top:4px}.mdui-list-item-active{font-weight:700;background-color:rgba(0,0,0,.08)}.mdui-list-item-active .mdui-list-item-content{font-weight:700}.mdui-list-item-active .mdui-list-item-text{font-weight:400}.mdui-list-item-one-line,.mdui-list-item-three-line,.mdui-list-item-two-line{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.mdui-list-item-one-line{height:20px;-webkit-line-clamp:1}.mdui-list-item-two-line{height:40px;-webkit-line-clamp:2}.mdui-list-item-three-line{height:60px;-webkit-line-clamp:3}.mdui-list-item-icon~.mdui-list-item-content{margin-left:32px}.mdui-checkbox~.mdui-list-item-content,.mdui-radio~.mdui-list-item-content,.mdui-switch~.mdui-list-item-content{margin-left:20px}.mdui-list-item-avatar~.mdui-list-item-content{margin-left:16px}.mdui-list-item-content~.mdui-checkbox,.mdui-list-item-content~.mdui-list-item-avatar,.mdui-list-item-content~.mdui-list-item-icon,.mdui-list-item-content~.mdui-radio,.mdui-list-item-content~.mdui-switch{margin-left:16px}.mdui-list-item-content~.mdui-checkbox,.mdui-list-item-content~.mdui-radio{padding-left:24px}.mdui-list-dense{padding:4px 0;font-size:13px}.mdui-list-dense>.mdui-divider,.mdui-list-dense>.mdui-divider-dark,.mdui-list-dense>.mdui-divider-inset,.mdui-list-dense>.mdui-divider-inset-dark,.mdui-list-dense>.mdui-divider-inset-light,.mdui-list-dense>.mdui-divider-light{margin-top:4px;margin-bottom:4px}.mdui-list-dense .mdui-subheader,.mdui-list-dense .mdui-subheader-inset{height:40px;margin-top:4px;font-size:12px;line-height:40px}.mdui-list-dense .mdui-subheader-inset:first-child,.mdui-list-dense .mdui-subheader:first-child{margin-top:-4px}.mdui-list-dense .mdui-list-item{min-height:40px}.mdui-list-dense .mdui-list-item:after{height:40px}.mdui-list-dense .mdui-list-item-icon{width:20px;height:20px;font-size:20px}.mdui-list-dense .mdui-list-item-avatar{width:36px;min-width:36px;height:36px;min-height:36px}.mdui-list-dense .mdui-list-item-content{padding-top:11px;padding-bottom:11px;font-size:13px;line-height:18px}.mdui-list-dense .mdui-list-item-text{font-size:13px}.mdui-list-dense .mdui-list-item-title~.mdui-list-item-text{margin-top:2px}.mdui-list-dense .mdui-list-item-one-line{height:18px}.mdui-list-dense .mdui-list-item-two-line{height:36px}.mdui-list-dense .mdui-list-item-three-line{height:54px}.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:before,.mdui-theme-layout-dark .mdui-list .mdui-subheader:before{background-color:rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child:before,.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child:before{background-color:transparent}.mdui-theme-layout-dark .mdui-list-item{color:#fff}.mdui-theme-layout-dark .mdui-list-item:hover{background-color:rgba(255,255,255,.08)}.mdui-theme-layout-dark .mdui-list-item-icon{color:#fff}.mdui-theme-layout-dark .mdui-list-item-text{opacity:.7}.mdui-theme-layout-dark .mdui-list-item-active{background-color:rgba(255,255,255,.08)}[class*=mdui-color-] .mdui-list-item{color:inherit}[class*=mdui-color-] .mdui-list-item-icon{color:inherit}body.mdui-loaded{-webkit-transition:padding .3s cubic-bezier(0,0,.2,1);transition:padding .3s cubic-bezier(0,0,.2,1)}body.mdui-loaded .mdui-drawer{-webkit-transition:all .3s cubic-bezier(0,0,.2,1);transition:all .3s cubic-bezier(0,0,.2,1)}.mdui-drawer{position:fixed;top:0;bottom:0;left:0;z-index:5000;width:calc(100% - 56px);max-width:280px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;will-change:transform}@media (max-width:1023px){.mdui-drawer:not(.mdui-drawer-open){-webkit-box-shadow:none!important;box-shadow:none!important}}@media (min-width:600px){.mdui-drawer{width:calc(100% - 64px);max-width:320px}}@media (min-width:1024px){.mdui-drawer{width:240px;max-width:none}.mdui-drawer.mdui-drawer-close{-webkit-box-shadow:none!important;box-shadow:none!important}}.mdui-drawer-right{right:0;left:auto}@media (max-width:1023px){.mdui-drawer{background-color:#fff;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);-webkit-transform:translateX(-330px);transform:translateX(-330px)}.mdui-drawer-right{-webkit-transform:translateX(330px);transform:translateX(330px)}}@media (max-width:599px){.mdui-drawer{-webkit-transform:translateX(-290px);transform:translateX(-290px)}.mdui-drawer-right{-webkit-transform:translateX(290px);transform:translateX(290px)}}.mdui-drawer-close{-webkit-transform:translateX(-290px);transform:translateX(-290px)}.mdui-drawer-close.mdui-drawer-right{-webkit-transform:translateX(290px);transform:translateX(290px)}@media (min-width:600px){.mdui-drawer-close{-webkit-transform:translateX(-330px);transform:translateX(-330px)}.mdui-drawer-close.mdui-drawer-right{-webkit-transform:translateX(330px);transform:translateX(330px)}}@media (min-width:1024px){.mdui-drawer-close{-webkit-transform:translateX(-250px);transform:translateX(-250px)}.mdui-drawer-close.mdui-drawer-right{-webkit-transform:translateX(250px);transform:translateX(250px)}}.mdui-drawer-open{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}@media (min-width:1024px){.mdui-drawer-body-left{padding-left:240px}.mdui-drawer-body-right{padding-right:240px}.mdui-appbar-with-toolbar .mdui-drawer{top:64px}.mdui-appbar-with-tab .mdui-drawer{top:48px}.mdui-appbar-with-tab-larger .mdui-drawer{top:72px}.mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer{top:112px}.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer{top:136px}}.mdui-drawer[class*=mdui-color-]:not(.mdui-color-transparent){-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mdui-drawer-full-height{top:0!important}@media (max-width:1023px){.mdui-theme-layout-dark .mdui-drawer{background-color:#424242}}.mdui-dialog{position:fixed;right:0;left:0;z-index:6000;display:none;width:92%;min-width:180px;max-width:728px;max-height:90%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:auto;overflow:hidden;color:#000;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,visibility,-webkit-transform;transition-property:opacity,visibility,-webkit-transform;transition-property:transform,opacity,visibility;transition-property:transform,opacity,visibility,-webkit-transform;-webkit-transform:scale(.95);transform:scale(.95);will-change:top,opacity,transform}@media (min-width:600px){.mdui-dialog{width:85%;max-height:85%}}@media (min-width:1024px){.mdui-dialog{width:80%;max-height:80%}}.mdui-dialog-open{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.mdui-dialog-title{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:20px;font-weight:500;line-height:24px;text-align:left}.mdui-dialog>.mdui-dialog-title{padding:24px 24px 20px 24px}.mdui-dialog-content{-webkit-box-sizing:border-box;box-sizing:border-box;padding:24px;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:15px;line-height:1.5;color:rgba(0,0,0,.7)}.mdui-dialog-content>.mdui-dialog-title{padding-bottom:20px}.mdui-dialog-title+.mdui-dialog-content{padding-top:0}.mdui-dialog-actions{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;text-align:right}.mdui-dialog-actions .mdui-btn{min-width:64px;margin-left:8px;color:#e91e63}.mdui-dialog-actions .mdui-btn:first-child{margin-left:0}.mdui-dialog-content>.mdui-dialog-actions{padding-top:32px;margin:0 -24px -24px -24px}.mdui-dialog-actions-stacked{padding:8px 0 8px 0}.mdui-dialog-actions-stacked .mdui-btn{width:100%;height:48px;margin:0;line-height:48px!important;text-align:right;border-radius:0}.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn{color:#ffc107}.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn{color:#2196f3}.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn{color:#00bcd4}.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn{color:#ff5722}.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn{color:#673ab7}.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn{color:#4caf50}.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn{color:#3f51b5}.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn{color:#03a9f4}.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn{color:#8bc34a}.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn{color:#cddc39}.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn{color:#ff9800}.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn{color:#e91e63}.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn{color:#9c27b0}.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn{color:#f44336}.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn{color:#009688}.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn{color:#ffeb3b}.mdui-theme-layout-dark .mdui-dialog{color:#fff;background-color:#424242}.mdui-theme-layout-dark .mdui-dialog-content{color:rgba(255,255,255,.7)}.mdui-dialog-alert{max-width:448px}.mdui-dialog-confirm{max-width:448px}.mdui-dialog-prompt{max-width:448px}.mdui-dialog-prompt .mdui-textfield{padding-top:0}.mdui-shadow-0{-webkit-box-shadow:none;box-shadow:none}.mdui-shadow-1{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mdui-shadow-2{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-shadow-3{-webkit-box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12);box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mdui-shadow-4{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mdui-shadow-5{-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mdui-shadow-6{-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mdui-shadow-7{-webkit-box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12);box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mdui-shadow-8{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-shadow-9{-webkit-box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12);box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mdui-shadow-10{-webkit-box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12);box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mdui-shadow-11{-webkit-box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12);box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mdui-shadow-12{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12);box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mdui-shadow-13{-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12);box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mdui-shadow-14{-webkit-box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12);box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mdui-shadow-15{-webkit-box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12);box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mdui-shadow-16{-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mdui-shadow-17{-webkit-box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12);box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mdui-shadow-18{-webkit-box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12);box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mdui-shadow-19{-webkit-box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12);box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mdui-shadow-20{-webkit-box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12);box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mdui-shadow-21{-webkit-box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12);box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mdui-shadow-22{-webkit-box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12);box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mdui-shadow-23{-webkit-box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12);box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mdui-shadow-24{-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mdui-hoverable{-webkit-transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);will-change:box-shadow}.mdui-hoverable:focus,.mdui-hoverable:hover{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mdui-tooltip{position:absolute;z-index:9000;display:inline-block;max-width:180px;min-height:32px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px 16px;font-size:14px;font-weight:500;line-height:22px;color:#fff;text-align:left;background-color:rgba(97,97,97,.9);border-radius:2px;opacity:0;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;-webkit-transform:scale(0);transform:scale(0);will-change:opacity,transform}@media (min-width:1024px){.mdui-tooltip{max-width:200px;min-height:24px;padding:4px 8px;font-size:12px;line-height:18px}}.mdui-tooltip-open{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.mdui-snackbar{position:fixed;z-index:7000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;min-height:48px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 24px 0 24px;font-size:14px;line-height:20px;color:#fff;background-color:#323232;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;will-change:transform}@media (min-width:600px){.mdui-snackbar{width:auto;min-width:288px;max-width:568px;border-radius:2px}}.mdui-snackbar-bottom,.mdui-snackbar-left-bottom,.mdui-snackbar-left-top,.mdui-snackbar-right-bottom,.mdui-snackbar-right-top,.mdui-snackbar-top{-webkit-transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1)}.mdui-snackbar-bottom,.mdui-snackbar-left-bottom,.mdui-snackbar-right-bottom{bottom:0}.mdui-snackbar-left-top,.mdui-snackbar-right-top,.mdui-snackbar-top{top:0}.mdui-snackbar-bottom,.mdui-snackbar-top{left:50%}@media (min-width:600px){.mdui-snackbar-left-top{top:24px;left:24px}.mdui-snackbar-left-bottom{bottom:24px;left:24px}.mdui-snackbar-right-top{top:24px;right:24px}.mdui-snackbar-right-bottom{right:24px;bottom:24px}}.mdui-snackbar-text{position:relative;max-width:100%;padding:14px 0 14px 0;overflow:hidden;text-overflow:ellipsis}.mdui-snackbar-action{margin-right:-16px;color:#ff80ab;white-space:nowrap}.mdui-theme-accent-amber .mdui-snackbar-action{color:#ffe57f}.mdui-theme-accent-blue .mdui-snackbar-action{color:#82b1ff}.mdui-theme-accent-cyan .mdui-snackbar-action{color:#84ffff}.mdui-theme-accent-deep-orange .mdui-snackbar-action{color:#ff9e80}.mdui-theme-accent-deep-purple .mdui-snackbar-action{color:#b388ff}.mdui-theme-accent-green .mdui-snackbar-action{color:#b9f6ca}.mdui-theme-accent-indigo .mdui-snackbar-action{color:#8c9eff}.mdui-theme-accent-light-blue .mdui-snackbar-action{color:#80d8ff}.mdui-theme-accent-light-green .mdui-snackbar-action{color:#ccff90}.mdui-theme-accent-lime .mdui-snackbar-action{color:#f4ff81}.mdui-theme-accent-orange .mdui-snackbar-action{color:#ffd180}.mdui-theme-accent-pink .mdui-snackbar-action{color:#ff80ab}.mdui-theme-accent-purple .mdui-snackbar-action{color:#ea80fc}.mdui-theme-accent-red .mdui-snackbar-action{color:#ff8a80}.mdui-theme-accent-teal .mdui-snackbar-action{color:#a7ffeb}.mdui-theme-accent-yellow .mdui-snackbar-action{color:#ffff8d}.mdui-theme-layout-dark .mdui-snackbar{background-color:#5d5d5d}.mdui-chip{display:inline-block;height:32px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e0e0e0;border-radius:16px;-webkit-transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .25s cubic-bezier(.4,0,.2,1);will-change:box-shadow}.mdui-chip:focus,.mdui-chip:hover{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-chip:active{background-color:#d6d6d6}.mdui-chip-icon{position:relative;display:inline-block;width:32px;height:32px;margin-right:-4px;overflow:hidden;font-size:18px;line-height:32px;color:#fff;text-align:center;vertical-align:middle;background-color:#989898;border-radius:50%}.mdui-chip-icon .mdui-icon{position:absolute;top:4px;left:4px;color:#fff}.mdui-chip-title{display:inline-block;height:32px;padding-right:12px;padding-left:12px;font-size:14px;line-height:32px;vertical-align:middle}.mdui-chip-delete{display:inline-block;width:24px;height:24px;margin-right:4px;margin-left:-8px;overflow:hidden;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;border-radius:50%;opacity:.54;-webkit-transition:opacity .25s cubic-bezier(.4,0,.2,1);transition:opacity .25s cubic-bezier(.4,0,.2,1);will-change:opacity}.mdui-chip-delete:focus,.mdui-chip-delete:hover{opacity:.87}.mdui-theme-layout-dark .mdui-chip{background-color:#484848}.mdui-theme-layout-dark .mdui-chip:active{background-color:#5d5d5d}.mdui-bottom-nav{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:56px;padding:0;margin:0 auto;overflow:hidden;white-space:nowrap}@media (min-width:600px){.mdui-bottom-nav:before{content:' ';-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-bottom-nav:after{content:' ';-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}}.mdui-bottom-nav a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:32px;max-width:none;padding:8px 12px 10px 12px;overflow:hidden;font-size:12px;color:inherit;text-align:center;text-decoration:none;text-overflow:ellipsis;cursor:pointer;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.7;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;will-change:padding}@media (min-width:600px){.mdui-bottom-nav a{max-width:144px}}.mdui-bottom-nav a .mdui-icon{opacity:.7}.mdui-bottom-nav a label{display:block;width:100%;cursor:pointer;-webkit-transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);will-change:font-size}.mdui-bottom-nav a .mdui-icon+label{margin-top:6px}.mdui-bottom-nav a.mdui-bottom-nav-active{font-size:14px;color:#3f51b5;opacity:1}.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon{opacity:1}.mdui-bottom-nav-text-auto a{min-width:32px;padding-right:0;padding-left:0}@media (min-width:600px){.mdui-bottom-nav-text-auto a{max-width:156px}}.mdui-bottom-nav-text-auto a .mdui-icon{padding-top:16px;-webkit-transition:padding-top .2s cubic-bezier(.4,0,.2,1);transition:padding-top .2s cubic-bezier(.4,0,.2,1);will-change:padding-top}.mdui-bottom-nav-text-auto a label{-webkit-transform:scale(0);transform:scale(0)}.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active{padding-right:18px;padding-left:18px}.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon{padding-top:0}.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label{-webkit-transform:scale(1);transform:scale(1)}.mdui-bottom-nav-fixed{padding-bottom:56px}.mdui-bottom-nav-fixed .mdui-bottom-nav{position:fixed;right:0;bottom:0;left:0}.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ffc107}.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active{color:#2196f3}.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active{color:#607d8b}.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active{color:#795548}.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active{color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ff5722}.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active{color:#673ab7}.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active{color:#4caf50}.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active{color:#9e9e9e}.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active{color:#3f51b5}.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active{color:#03a9f4}.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active{color:#8bc34a}.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active{color:#cddc39}.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ff9800}.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active{color:#e91e63}.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active{color:#9c27b0}.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active{color:#f44336}.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active{color:#009688}.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active{color:#ffeb3b}.mdui-bottom-nav[class*=mdui-color-] .mdui-bottom-nav-active{color:inherit!important}.mdui-progress{position:relative;display:block;width:100%;height:4px;overflow:hidden;background-color:rgba(63,81,181,.2);border-radius:2px}.mdui-progress-determinate{position:absolute;top:0;bottom:0;left:0;background-color:#3f51b5;-webkit-transition:width .3s linear;transition:width .3s linear}.mdui-progress-indeterminate{background-color:#3f51b5}.mdui-progress-indeterminate:before{position:absolute;top:0;bottom:0;left:0;content:' ';background-color:inherit;-webkit-animation:mdui-progress-indeterminate 2s linear infinite;animation:mdui-progress-indeterminate 2s linear infinite;will-change:left,width}.mdui-progress-indeterminate:after{position:absolute;top:0;bottom:0;left:0;content:' ';background-color:inherit;-webkit-animation:mdui-progress-indeterminate-short 2s linear infinite;animation:mdui-progress-indeterminate-short 2s linear infinite;will-change:left,width}@-webkit-keyframes mdui-progress-indeterminate{0%{left:0;width:0}50%{left:30%;width:70%}75%{left:100%;width:0}}@keyframes mdui-progress-indeterminate{0%{left:0;width:0}50%{left:30%;width:70%}75%{left:100%;width:0}}@-webkit-keyframes mdui-progress-indeterminate-short{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}100%{left:100%;width:0}}@keyframes mdui-progress-indeterminate-short{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}100%{left:100%;width:0}}.mdui-theme-primary-amber .mdui-progress{background-color:rgba(255,193,7,.2)}.mdui-theme-primary-amber .mdui-progress-determinate,.mdui-theme-primary-amber .mdui-progress-indeterminate{background-color:#ffc107}.mdui-theme-primary-blue .mdui-progress{background-color:rgba(33,150,243,.2)}.mdui-theme-primary-blue .mdui-progress-determinate,.mdui-theme-primary-blue .mdui-progress-indeterminate{background-color:#2196f3}.mdui-theme-primary-blue-grey .mdui-progress{background-color:rgba(96,125,139,.2)}.mdui-theme-primary-blue-grey .mdui-progress-determinate,.mdui-theme-primary-blue-grey .mdui-progress-indeterminate{background-color:#607d8b}.mdui-theme-primary-brown .mdui-progress{background-color:rgba(121,85,72,.2)}.mdui-theme-primary-brown .mdui-progress-determinate,.mdui-theme-primary-brown .mdui-progress-indeterminate{background-color:#795548}.mdui-theme-primary-cyan .mdui-progress{background-color:rgba(0,188,212,.2)}.mdui-theme-primary-cyan .mdui-progress-determinate,.mdui-theme-primary-cyan .mdui-progress-indeterminate{background-color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-progress{background-color:rgba(255,87,34,.2)}.mdui-theme-primary-deep-orange .mdui-progress-determinate,.mdui-theme-primary-deep-orange .mdui-progress-indeterminate{background-color:#ff5722}.mdui-theme-primary-deep-purple .mdui-progress{background-color:rgba(103,58,183,.2)}.mdui-theme-primary-deep-purple .mdui-progress-determinate,.mdui-theme-primary-deep-purple .mdui-progress-indeterminate{background-color:#673ab7}.mdui-theme-primary-green .mdui-progress{background-color:rgba(76,175,80,.2)}.mdui-theme-primary-green .mdui-progress-determinate,.mdui-theme-primary-green .mdui-progress-indeterminate{background-color:#4caf50}.mdui-theme-primary-grey .mdui-progress{background-color:rgba(158,158,158,.2)}.mdui-theme-primary-grey .mdui-progress-determinate,.mdui-theme-primary-grey .mdui-progress-indeterminate{background-color:#9e9e9e}.mdui-theme-primary-indigo .mdui-progress{background-color:rgba(63,81,181,.2)}.mdui-theme-primary-indigo .mdui-progress-determinate,.mdui-theme-primary-indigo .mdui-progress-indeterminate{background-color:#3f51b5}.mdui-theme-primary-light-blue .mdui-progress{background-color:rgba(3,169,244,.2)}.mdui-theme-primary-light-blue .mdui-progress-determinate,.mdui-theme-primary-light-blue .mdui-progress-indeterminate{background-color:#03a9f4}.mdui-theme-primary-light-green .mdui-progress{background-color:rgba(139,195,74,.2)}.mdui-theme-primary-light-green .mdui-progress-determinate,.mdui-theme-primary-light-green .mdui-progress-indeterminate{background-color:#8bc34a}.mdui-theme-primary-lime .mdui-progress{background-color:rgba(205,220,57,.2)}.mdui-theme-primary-lime .mdui-progress-determinate,.mdui-theme-primary-lime .mdui-progress-indeterminate{background-color:#cddc39}.mdui-theme-primary-orange .mdui-progress{background-color:rgba(255,152,0,.2)}.mdui-theme-primary-orange .mdui-progress-determinate,.mdui-theme-primary-orange .mdui-progress-indeterminate{background-color:#ff9800}.mdui-theme-primary-pink .mdui-progress{background-color:rgba(233,30,99,.2)}.mdui-theme-primary-pink .mdui-progress-determinate,.mdui-theme-primary-pink .mdui-progress-indeterminate{background-color:#e91e63}.mdui-theme-primary-purple .mdui-progress{background-color:rgba(156,39,176,.2)}.mdui-theme-primary-purple .mdui-progress-determinate,.mdui-theme-primary-purple .mdui-progress-indeterminate{background-color:#9c27b0}.mdui-theme-primary-red .mdui-progress{background-color:rgba(244,67,54,.2)}.mdui-theme-primary-red .mdui-progress-determinate,.mdui-theme-primary-red .mdui-progress-indeterminate{background-color:#f44336}.mdui-theme-primary-teal .mdui-progress{background-color:rgba(0,150,136,.2)}.mdui-theme-primary-teal .mdui-progress-determinate,.mdui-theme-primary-teal .mdui-progress-indeterminate{background-color:#009688}.mdui-theme-primary-yellow .mdui-progress{background-color:rgba(255,235,59,.2)}.mdui-theme-primary-yellow .mdui-progress-determinate,.mdui-theme-primary-yellow .mdui-progress-indeterminate{background-color:#ffeb3b}.mdui-spinner{position:relative;display:inline-block;width:28px;height:28px;-webkit-animation:mdui-spinner 1568ms linear infinite;animation:mdui-spinner 1568ms linear infinite}@-webkit-keyframes mdui-spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mdui-spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.mdui-spinner-layer{position:absolute;width:100%;height:100%;border-color:#3f51b5;opacity:0;opacity:1;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-1{border-color:#42a5f5!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-2{border-color:#f44336!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-3{border-color:#fdd835!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-layer-4{border-color:#4caf50!important;-webkit-animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes mdui-spinner-layer-fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes mdui-spinner-layer-fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes mdui-spinner-layer-1-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes mdui-spinner-layer-1-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes mdui-spinner-layer-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes mdui-spinner-layer-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes mdui-spinner-layer-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes mdui-spinner-layer-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes mdui-spinner-layer-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes mdui-spinner-layer-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.mdui-spinner-gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.mdui-spinner-gap-patch .mdui-spinner-circle{left:-450%;width:1000%;-webkit-box-sizing:border-box;box-sizing:border-box}.mdui-spinner-circle-clipper{position:relative;display:inline-block;width:50%;height:100%;overflow:hidden;border-color:inherit}.mdui-spinner-circle-clipper .mdui-spinner-circle{position:absolute;top:0;right:0;bottom:0;width:200%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border-color:inherit;border-style:solid;border-width:3px;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none}.mdui-spinner-circle-clipper.mdui-spinner-left{float:left}.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle{left:0;border-right-color:transparent!important;-webkit-transform:rotate(129deg);transform:rotate(129deg);-webkit-animation:mdui-spinner-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdui-spinner-circle-clipper.mdui-spinner-right{float:right}.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg);-webkit-animation:mdui-spinner-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdui-spinner-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes mdui-spinner-left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@keyframes mdui-spinner-left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes mdui-spinner-right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}@keyframes mdui-spinner-right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}.mdui-theme-primary-amber .mdui-spinner-layer{border-color:#ffc107}.mdui-theme-primary-blue .mdui-spinner-layer{border-color:#2196f3}.mdui-theme-primary-blue-grey .mdui-spinner-layer{border-color:#607d8b}.mdui-theme-primary-brown .mdui-spinner-layer{border-color:#795548}.mdui-theme-primary-cyan .mdui-spinner-layer{border-color:#00bcd4}.mdui-theme-primary-deep-orange .mdui-spinner-layer{border-color:#ff5722}.mdui-theme-primary-deep-purple .mdui-spinner-layer{border-color:#673ab7}.mdui-theme-primary-green .mdui-spinner-layer{border-color:#4caf50}.mdui-theme-primary-grey .mdui-spinner-layer{border-color:#9e9e9e}.mdui-theme-primary-indigo .mdui-spinner-layer{border-color:#3f51b5}.mdui-theme-primary-light-blue .mdui-spinner-layer{border-color:#03a9f4}.mdui-theme-primary-light-green .mdui-spinner-layer{border-color:#8bc34a}.mdui-theme-primary-lime .mdui-spinner-layer{border-color:#cddc39}.mdui-theme-primary-orange .mdui-spinner-layer{border-color:#ff9800}.mdui-theme-primary-pink .mdui-spinner-layer{border-color:#e91e63}.mdui-theme-primary-purple .mdui-spinner-layer{border-color:#9c27b0}.mdui-theme-primary-red .mdui-spinner-layer{border-color:#f44336}.mdui-theme-primary-teal .mdui-spinner-layer{border-color:#009688}.mdui-theme-primary-yellow .mdui-spinner-layer{border-color:#ffeb3b}.mdui-panel{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.mdui-panel-item{color:rgba(0,0,0,.87);background-color:#fff;border-bottom:1px solid rgba(0,0,0,.12);-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:margin .3s cubic-bezier(.4,0,.2,1);transition:margin .3s cubic-bezier(.4,0,.2,1);will-change:margin}.mdui-panel-item:last-child{border-bottom:none}.mdui-panel-item-header{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:48px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 24px;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;will-change:height,background-color}.mdui-panel-item-header:active{background-color:#eee}.mdui-panel-item-title{width:36%;min-width:36%;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:16px;overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.mdui-panel-item-summary{-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:16px;overflow:hidden;color:rgba(0,0,0,.54);text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.mdui-panel-item-arrow{position:absolute;top:12px;right:24px;color:rgba(0,0,0,.54);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-transform:rotate(0);transform:rotate(0);will-change:transform,top}.mdui-panel-item-summary+.mdui-panel-item-arrow{position:relative;top:0!important;right:0}.mdui-panel-item-body{height:0;padding:0 24px;overflow:hidden;-webkit-transition:height .3s cubic-bezier(.4,0,.2,1);transition:height .3s cubic-bezier(.4,0,.2,1);will-change:height}.mdui-panel-item-body:after,.mdui-panel-item-body:before{display:table;content:" "}.mdui-panel-item-body:after{clear:both}.mdui-panel-item-body:after,.mdui-panel-item-body:before{display:table;content:" "}.mdui-panel-item-body:after{clear:both}.mdui-panel-item-body:after{height:16px}.mdui-panel-item-actions{display:block;width:100%;padding:16px 24px 0 24px;margin:16px -24px 0 -24px;text-align:right;border-top:1px solid rgba(0,0,0,.12)}.mdui-panel-item-actions .mdui-btn{margin-left:8px}.mdui-panel-item-actions .mdui-btn:first-child{margin-left:0}.mdui-panel-gapless{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mdui-panel-gapless .mdui-panel-item{-webkit-box-shadow:none;box-shadow:none}.mdui-panel-gapless .mdui-panel-item-open{margin-top:0;margin-bottom:0}.mdui-panel-popout .mdui-panel-item-open{margin-right:-16px;margin-left:-16px}.mdui-panel-item-open{height:auto;margin-top:16px;margin-bottom:16px}.mdui-panel-item-open>.mdui-panel-item-header{height:64px}.mdui-panel-item-open>.mdui-panel-item-header .mdui-panel-item-arrow{top:20px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.mdui-panel-item-open>.mdui-panel-item-body{height:auto}.mdui-theme-layout-dark .mdui-panel-item{color:#fff;background-color:#303030;border-bottom:1px solid rgba(255,255,255,.12)}.mdui-theme-layout-dark .mdui-panel-item:last-child{border-bottom:none}.mdui-theme-layout-dark .mdui-panel-item-header:active{background-color:#424242}.mdui-theme-layout-dark .mdui-panel-item-summary{color:rgba(255,255,255,.7)}.mdui-theme-layout-dark .mdui-panel-item-arrow{color:#fff}.mdui-theme-layout-dark .mdui-panel-item-actions{border-top:1px solid rgba(255,255,255,.12)}.mdui-menu{position:fixed;z-index:99999;display:block;width:168px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px 0;margin:0;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:16px;color:rgba(0,0,0,.87);list-style:none;visibility:hidden;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);opacity:0;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:opacity,visibility,-webkit-transform;transition-property:opacity,visibility,-webkit-transform;transition-property:transform,opacity,visibility;transition-property:transform,opacity,visibility,-webkit-transform;-webkit-transform:scale(0);transform:scale(0);will-change:transform,opacity,visibility}.mdui-menu .mdui-divider{margin-top:8px;margin-bottom:8px}.mdui-menu-open{visibility:visible;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.mdui-menu-closing{visibility:visible;opacity:0;-webkit-transform:scale(1);transform:scale(1)}.mdui-menu-item{position:relative}.mdui-menu-item>a{position:relative;display:block;height:48px;padding:0 16px;overflow:hidden;line-height:48px;color:inherit;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdui-menu-item>a:hover{background-color:#eee}.mdui-menu-item>.mdui-menu{position:absolute;-webkit-box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12);box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mdui-menu-item[disabled]>a{color:rgba(0,0,0,.38)!important;cursor:default}.mdui-menu-item[disabled]>a:hover{background-color:inherit!important}.mdui-menu-item[disabled]>a .mdui-icon{color:rgba(0,0,0,.26)}.mdui-menu-item-active{background-color:#eee}.mdui-menu-item-icon{display:inline-block;width:40px;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:16px;color:rgba(0,0,0,.54)}.mdui-menu-item-helper{float:right}.mdui-menu-item-more{float:right;width:24px;height:24px;margin:4px 0;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23000000%22%2F%3E%3C%2Fsvg%3E%0A")}.mdui-menu-cascade{width:320px;padding:16px 0;overflow-y:visible;font-size:15px}.mdui-menu-cascade>.mdui-menu-item>a{height:32px;padding:0 24px;line-height:32px}.mdui-theme-layout-dark .mdui-menu{color:#fff;background-color:#424242}.mdui-theme-layout-dark .mdui-menu-item>a:hover{background-color:#616161}.mdui-theme-layout-dark .mdui-menu-item[disabled]>a{color:rgba(255,255,255,.5)!important}.mdui-theme-layout-dark .mdui-menu-item[disabled]>a .mdui-icon{color:rgba(255,255,255,.3)}.mdui-theme-layout-dark .mdui-menu-item-active{background-color:#616161}.mdui-theme-layout-dark .mdui-menu-item-icon{color:#fff}.mdui-theme-layout-dark .mdui-menu-item-more{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A")} +/*# sourceMappingURL=mdui.min.css.map */ diff --git a/libs/mdui/css/mdui.min.css.map b/libs/mdui/css/mdui.min.css.map new file mode 100644 index 0000000..2d2156e --- /dev/null +++ b/libs/mdui/css/mdui.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["mdui.css","textfield/less/textfield.less","mixin/less/color.less","color/less/color.less","mixin/less/helper.less","helper/less/helper.less","global/less/normalize.less","global/less/base.less","icon/less/icon.less","icon/less/material-icons.less","font/less/roboto.less","typo/less/typo.less","mixin/less/typo.less","headroom/less/headroom.less","mixin/less/shadow.less","collapse/less/collapse.less","table/less/table.less","mixin/less/divider.less","divider/less/divider.less","media/less/media.less","mixin/less/media.less","ripple/less/ripple.less","selection_control/less/checkbox.less","selection_control/less/radio.less","selection_control/less/switch.less","slider/less/slider.less","button/less/button.less","fab/less/fab.less","select/less/select.less","grid/less/grid.less","toolbar/less/toolbar.less","appbar/less/appbar.less","card/less/card.less","tab/less/tab.less","subheader/less/subheader.less","grid_list/less/grid_list.less","list/less/list.less","drawer/less/drawer.less","dialog/less/dialog.less","dialog/less/alert.less","dialog/less/prompt.less","shadow/less/shadow.less","tooltip/less/tooltip.less","snackbar/less/snackbar.less","chip/less/chip.less","bottom_nav/less/bottom_nav.less","progress/less/progress.less","progress/less/spinner.less","panel/less/panel.less","menu/less/menu.less"],"names":[],"mappings":"AAAA;;;;ACAC,4CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,mDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,oDCuCC,MAAA,eApCE,iBAAA,kBDHH,4CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,kDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,kDCuCC,MAAA,eApCE,iBAAA,kBDHH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,4CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,eDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,eApCE,iBAAA,kBDHH,qDCuCC,MAAA,eApCE,iBAAA,kBDHH,qDCuCC,MAAA,eApCE,iBAAA,kBDHH,kDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,eApCE,iBAAA,kBDHH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,0CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,2CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,6CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,kDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,wDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,sDCuCC,MAAA,eApCE,iBAAA,kBDHH,kDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,gDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,mDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,uDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qDCuCC,MAAA,eApCE,iBAAA,kBDHH,wDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,mDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,+CCuCC,MAAA,eApCE,iBAAA,kBDHH,mDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,eApCE,iBAAA,eDHH,gDCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,8CCuCC,MAAA,eApCE,iBAAA,kBDHH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+CCuCC,MAAA,0BAjCE,iBAAA,kBDNH,mDCuCC,MAAA,0BAjCE,iBAAA,eDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,eDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iDCuCC,MAAA,0BAjCE,iBAAA,kBDNH,kBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,iBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,yBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,kBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,kBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,eDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,eApCE,iBAAA,kBDHH,2BCuCC,MAAA,eApCE,iBAAA,kBDHH,2BCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,2BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,gBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,eApCE,iBAAA,kBDHH,iBCuCC,MAAA,eApCE,iBAAA,kBDHH,oBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,mBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,yBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,+BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,+BCuCC,MAAA,eApCE,iBAAA,kBDHH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,6BCuCC,MAAA,eApCE,iBAAA,kBDHH,yBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,uBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,8BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,4BCuCC,MAAA,eApCE,iBAAA,kBDHH,+BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,6BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,sBCuCC,MAAA,eApCE,iBAAA,kBDHH,0BCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,eApCE,iBAAA,eDHH,uBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,qBCuCC,MAAA,eApCE,iBAAA,kBDHH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,sBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,0BCuCC,MAAA,0BAjCE,iBAAA,eDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,eDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBDNH,wBCuCC,MAAA,0BAjCE,iBAAA,kBCsJJ,kBACE,MAAA,eACA,iBAAA,eAGF,kBACE,MAAA,0BACA,iBAAA,eAGF,wBACE,iBAAA,sBFvKD,iDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,iDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,iDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,eDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,yDCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,+CCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,gDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,kDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,6DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,6DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,uDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,qDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,4DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,0DCuDG,MAAA,kBDvDH,6DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,2DCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,eDvDH,qDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,mDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,oDCuDG,MAAA,kBDvDH,wDCuDG,MAAA,eDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,eDvDH,sDCuDG,MAAA,kBDvDH,sDCuDG,MAAA,kBDvDH,uBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,8BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,uBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,uBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,eDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,gCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,qBCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,sBCuDG,MAAA,kBDvDH,yBCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,wBCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,8BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,oCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,oCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,8BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,4BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,mCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,iCCuDG,MAAA,kBDvDH,oCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,kCCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,eDvDH,4BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,0BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,2BCuDG,MAAA,kBDvDH,+BCuDG,MAAA,eDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,eDvDH,6BCuDG,MAAA,kBDvDH,6BCuDG,MAAA,kBCoQJ,uBACE,MAAA,eAEF,4BHmtHA,4BGjtHE,MAAA,0BAEF,iCHmtHA,i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A,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,WA2EJ,gB5BvIC,MAAA,KDwwRC,M6BztRE,W7B2tRJ,uBC1wRC,YAAA,WD6wRD,0BC7wRC,MAAA,KD+wRC,M6BptRE,I7BstRJ,gBCjxRC,MAAA,KDmxRC,M6BpuRE,W7BsuRJ,uBCrxRC,YAAA,WDwxRD,0BCxxRC,MAAA,KD0xRC,M6B/tRE,U7BiuRJ,gBC5xRC,MAAA,KD8xRC,M6B/uRE,K7BivRJ,uBChyRC,YAAA,KDmyRD,0BCnyRC,MAAA,KDqyRC,M6B1uRE,U7B4uRJ,yBCvyRC,e4B+CG,MAAA,KACA,MAAA,U5BhDH,sB4BqDG,YAAA,U5BrDH,yB4B2DG,MAAA,KACA,MAAA,K5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W7ByjRH,gB6B1+QD,MAAA,K5B3IC,MAAA,WD+4RC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KC7nRF,MAAA,IDs5RC,gBArRC,MAAA,KCjoRF,MAAA,WD05RC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KCxoRF,MAAA,UDi6RC,gBArRC,MAAA,KC5oRF,MAAA,KDq6RC,uBArRC,YAAA,KAwRD,0BArRC,MAAA,KCnpRF,MAAA,WD66RD,0BC76RC,e4B+CG,MAAA,KACA,MAAA,U5BhDH,sB4BqDG,YAAA,U5BrDH,yB4B2DG,MAAA,KACA,MAAA,K5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W7B+rRH,gB6B5mRD,MAAA,K5B/IC,MAAA,WDqhSC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KCnwRF,MAAA,ID4hSC,gBArRC,MAAA,KCvwRF,MAAA,WDgiSC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KC9wRF,MAAA,UDuiSC,gBArRC,MAAA,KClxRF,MAAA,KD2iSC,uBArRC,YAAA,KAwRD,0BArRC,MAAA,KCzxRF,MAAA,WDmjSD,0BCnjSC,e4B+CG,MAAA,KACA,MAAA,U5BhDH,sB4BqDG,YAAA,U5BrDH,yB4B2DG,MAAA,KACA,MAAA,K5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W7Bq0RH,gB6B9uRD,MAAA,K5BnJC,MAAA,WD2pSC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KCz4RF,MAAA,IDkqSC,gBArRC,MAAA,KC74RF,MAAA,WDsqSC,uBArRC,YAAA,WAwRD,0BArRC,MAAA,KCp5RF,MAAA,UD6qSC,gBArRC,MAAA,KCx5RF,MAAA,KDirSC,uBArRC,YAAA,KAwRD,0BArRC,MAAA,KC/5RF,MAAA,WDyrSD,0BCzrSC,e4B+CG,MAAA,KACA,MAAA,U5BhDH,sB4BqDG,YAAA,U5BrDH,yB4B2DG,MAAA,KACA,MAAA,K5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,I5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,W5B5DH,e4B+CG,MAAA,KACA,MAAA,W5BhDH,sB4BqDG,YAAA,W5BrDH,yB4B2DG,MAAA,KACA,MAAA,M5B5DH,e4B+CG,MAAA,KACA,MAAA,I5BhDH,sB4BqDG,YAAA,I5BrDH,yB4B2DG,MAAA,KACA,MAAA,W7B28RH,gBACD,MAAA,KAuRI,MAAO,WAET,uBArRC,YAAA,W8BrgSD,0B9B8xSE,M8B9xSF,KACA,MAAA,IAAA,gBAAA,MAAA,KACA,MAAA,W9BmySA,uBACE,Y8BpySF,W9BygSD,0B8BvgSC,MAAA,KACE,MAAA,U1BqDF,gBACA,MAAA,KJs9RD,MAAA,K8BpgSO,uB9BugSP,YAAA,K8BpgSO,0B9BugSP,MAAA,K8BlgSC,MAAA,WAMA,cACE,QAAA,YACA,QAAA,aACA,QAAA,Y9BmgSH,QAAA,K8BhgSG,MAAA,KAAA,mBAAA,WACE,WAAA,W9BoySJ,kB8BlySI,O9BmySJ,oBAhSC,OACF,eAAA,O8B7gSC,YAAA,O9BgzSF,gBA/RC,OAAA,EAAA,K8B7iSD,SAAA,OA+CI,cAAA,S9BigSH,YAAA,OAkSD,+E8B9xSE,iBAAA,qB9BiySF,gF8BhySE,iBAAA,uB9BggSF,gB8B3/RE,MAAA,QACE,gBAAA,KACA,oBAAA,K9B6/RH,iBAAA,K8B3/RG,gBAAA,KACE,YAAA,KAEA,6BACE,MAAA,K9B6/RP,UAAA,K8Bl/RC,OAAA,K9BwxSF,qDACE,6BAlSC,MAAA,K8BtgSC,UAAA,KACE,OAAA,M9B6ySN,wCACE,OAnSC,KACF,YAAA,KAqSD,yBACE,M8BtzSE,Q9BwzSJ,qB8BrzSI,OAAA,E9BwzSF,iBAnSC,E8BlhSG,kBAAA,E9BuzSJ,kB8BtzSM,E9BohSL,UAAA,EAsSH,cACE,OAAQ,KACR,YAAa,K+B93Sf,wBACE,OAAA,EAAA,I/Bk4SF,kCAnSC,YAAA,E+B1lSD,yBACE,2BACA,OAAA,KACA,YAAA,KAEA,qCACA,OAAA,EAAA,IACA,+C/Bk4SE,Y+Bl4SF,G/Bq4SF,qDAtSA,2B+BxlSI,OAAA,KAAA,YAAA,K/Bm4SF,qCAtSD,OAAA,EAAA,I+BvlSG,+CACE,YAAA,G/Bw4SN,aACE,Q+B93SE,K/B+3SF,mBAvSC,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBACF,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBA0SD,mBACE,SAvSC,MACF,IAAA,EACD,MAAA,E+BrlSA,KAAA,EACE,mCAAA,uB/BulSD,2BAAA,uBACD,4BAAa,I+BplSb,oBAAA,IACE,4BAAA,IAAA,CAAA,M/BslSD,oBAAA,IAAA,CAAA,M+BllSD,YAAA,IAAA,CAAA,MAIE,0BAAA,4DACE,KAAA,OAIF,0BAAA,6DACE,MAAA,OAKJ,0BACE,YAAA,KAGA,yBAAA,0BACE,YAAA,MAIF,qDAAA,0BACE,YAAA,M/B83SJ,sBACE,YAAa,K+Bn3SX,6BACE,YAAA,K/BklSN,+CAwSE,YAAa,MAEf,yBACE,+CAtSF,YAAQ,OA0SR,qDgC99SE,+CACA,YAAA,MhCm+SF,sDACE,Yc3+SA,MdosSF,yBA0SE,sDAxSC,YAAA,OA4SH,qDgC/9SE,sDACA,YAAA,OhCw+SF,uFAzSC,MAAA,eACD,iBAAY,kBAkTZ,WIv8SE,SAAA,S4BvBA,mBAAA,WhCurSD,WAAA,WACD,SAAA,OgCprSA,MAAA,KACE,iBAAA,KACA,cAAA,IACA,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBhCo+SF,kBAzSC,SAAA,SACD,OAAA,KA2SE,mBAAoB,WAzSnB,WAAA,WgCrrSH,QAAA,KhCm+SA,yBAzSA,MAAA,KgCprSA,MAAA,KACE,OAAA,KACA,cAAA,IhCk+SF,wBAzSA,QAAA,MgCnrSA,YAAA,KACE,SAAA,OACA,UAAA,KACA,YAAA,IACA,YAAA,KhCqrSD,cAAA,SACD,YAAA,OA2SE,QAAS,IAGX,2BgC59SE,QAAA,MACA,YAAA,KACA,SAAA,OhCorSD,UAAA,KACD,YAAA,IA2SE,YAAa,KACb,cA1SC,SgCjrSH,YAAA,OACE,QAAA,IADF,mBAOI,SAAA,ShCmrSH,QAAA,KAAA,KAAA,KAAA,KA6SD,yBgCz9SA,QAAA,MAEE,UAAA,KACA,YAAA,KhC09SA,QgC19SA,I5B3DA,4BJyhTA,QAAS,MIvhTP,UAAA,KACA,YAAA,KJ8uSH,QAAA,IAgTD,mBI/hTI,SAAA,SACA,QAAA,KJsvSH,UAAA,KIpvSC,YAAA,KJqiTF,gBI9hTE,SAAA,SACA,IAAA,KACA,MAAA,KJqvSD,QAAA,EA6SD,0BgC1+SI,YAAA,IhCg/SJ,mBgCv+SI,SAAA,ShC8rSH,mBAAA,WgC7rSG,WAAA,WACE,QAAA,IhC4+SN,yBA5SA,0BA6SE,QA3SC,MgC1rSH,QAAA,IhCw+SA,yBgCx+SA,MAAA,KhC4+SA,yBADA,0BAzSC,QAAA,MACD,QAAA,IA6SA,yBgCr+SE,MAAA,KhCw+SF,6BgCr+SE,UAAA,KACA,OAAA,EAAA,IAAA,EAAA,EhC4rSA,SAAA,OACD,cAAA,SgCnsSD,YAAA,OhCi/SA,kCgCj/SA,MAAA,KAaI,OAAA,KhC4rSH,OAAA,EAAA,IA8SD,qCgCn+SE,QAAA,MhC0rSD,OAAA,EAAA,EAAA,IAAA,EgCtrSD,gDACE,OAAA,EhCw+SF,iBA3SC,SAAA,SA8SD,qBACA,uBA5SC,QAAA,MACD,MAAA,KAgTA,yBACE,SA7SC,SgCnrSH,MAAA,EAEI,OAAA,EACA,KAAA,EhCorSH,MAAA,KACD,WAAA,eAgTA,kDACE,QAAS,EAEX,qDA5SA,QAAA,GAgTA,6BiCtqTE,IAAA,EAAA,OAAA,KjC2qTF,qCiCvqTE,WAAA,IjC2qTF,kCiCvqTE,WAAA,sFACA,WAAA,sDAVF,8DAaI,WAAA,sFAAA,WAAA,yDjCgrTJ,mCiC1qTI,MAAA,KACA,iBAAA,QjCqrTJ,UiC7qTI,SAAA,SACA,QAAA,YACA,QAAA,aAEA,QAAA,YAAA,QAAA,KjC+qTF,WiC/qTE,KjCgrTF,WiChrTE,KAGA,QAAA,EAAA,OAAA,EAAA,KAAA,WAAA,KjCirTF,WiCjrTE,OjCkrTF,2BiClrTE,MACA,YAAA,OjCorTJ,YACE,QiCrrTE,YACA,QAAA,aAAA,QAAA,YjCurTF,QiCvrTE,KjCwrTF,UiCxrTE,KjCq3SH,WAAA,KiC15SD,WAAA,KAwCM,mBAAA,WjCq3SL,WAAA,WiCj3SG,QAAA,KAAA,SAAA,OjCwrTF,UiCvrTI,KjCwrTJ,MiCvrTI,QjCwrTJ,WiCrrTI,OjCsrTJ,gBiCnrTI,KjCorTJ,ciCprTI,SjCqrTJ,eiCrrTI,UjCsrTJ,OAAQ,QAtUP,eAAA,OACF,oBAAA,KiC92SG,iBAAA,KAAA,gBAAA,KACE,YAAA,KjCwrTJ,QAvUC,EACF,QAAA,GiC/2SG,iBAAA,EjCyrTF,aiCxrTI,EjCk3SH,SAAA,EACF,KAAA,EiCh3SG,mBAAA,SAAA,sBAAA,OjC0rTF,uBiCzrTI,OjCm3SH,mBAAA,OACF,iBAAA,OiCp7SD,wBAAA,OAoEM,cAAA,OACA,gBAAA,OACA,kBAAA,OjCm3SL,oBAAA,OiCz7SD,eAAA,OA0EM,YAAA,OAGF,uBACE,QAAA,GjCyrTN,yBiC1rTI,YAKI,UAAA,KjCi3SP,UAAA,MiCn8SD,QAAA,KAAA,KA0FI,iBAAA,EjC62SH,aAAA,KiCv8SD,SAAA,KA4FM,KAAA,MAOJ,0BACE,YACE,UAAA,OjCmrTN,0BACE,YAzUC,UAAA,OA6UH,0BACE,YACE,UiCrrTE,OjCwrTN,kBACE,QiCtrTI,MjCurTJ,MiCvrTI,KjCwrTJ,OiCxrTI,QjC0rTN,6BA/UC,WAAA,IiCr2SD,sBAEI,OAAA,QACA,QAAA,IjCwrTJ,4BACE,OiCzrTE,QjCw2SJ,2BiCl2SA,MAAA,QACE,QAAA,EADF,sCAII,QAAA,EjCyrTJ,yBArVC,0BiCj2SC,QAAA,IACE,iBAAA,EjCo2SD,kBAAA,EACF,kBAAA,EACW,UAAA,EiC/1SV,yBACA,QAAA,IAEA,iBAAA,EACA,kBAAA,EACA,kBAAA,EAAA,UAAA,EjCm2SF,qBAwVI,iBAAkB,EAClB,aAAc,KACV,SAAU,KAtVf,KAAA,MChgTF,uBgC8KO,UAAA,KhC9KP,iBAAA,EgC0KO,aAAA,EjC+1SP,SAAA,ECzgTA,KAAA,EAAA,qBgC0KO,aAAA,KhC1KP,uBgC8KO,iBAAA,EjCo2SP,aAAA,KClhTA,SAAA,KgC0KO,KAAA,KhC1KP,yBgC8KO,qBjC02SP,aAAA,MCxhTA,oBgC8KO,SAAA,SjCg3SP,OAAA,EC9hTA,OAAA,IgC0KO,iBAAA,QjCu3SP,mBAAA,IAAA,KAAA,wBCjiTA,WAAA,IAAA,KAAA,wBDoiTA,YAAA,IAAA,CAAA,MCpiTA,qDgC0KO,MAAA,QhC1KP,8CgC8KO,iBAAA,QhC9KP,oDgC0KO,MAAA,QhC1KP,6CgC8KO,iBAAA,QhC9KP,yDgC0KO,MAAA,QhC1KP,kDgC8KO,iBAAA,QhC9KP,qDgC0KO,MAAA,QhC1KP,8CgC8KO,iBAAA,QhC9KP,oDgC0KO,MAAA,QhC1KP,6CgC8KO,iBAAA,QhC9KP,2DgC0KO,MAAA,QhC1KP,oDgC8KO,iBAAA,QhC9KP,2DgC0KO,MAAA,QhC1KP,oDgC8KO,iBAAA,QhC9KP,qDgC0KO,MAAA,QhC1KP,8CgC8KO,iBAAA,QhC9KP,oDgC0KO,MAAA,QhC1KP,6CgC8KO,iBAAA,QhC9KP,sDgC0KO,MAAA,QhC1KP,+CgC8KO,iBAAA,QhC9KP,0DgC0KO,MAAA,QhC1KP,mDgC8KO,iBAAA,QhC9KP,2DgC0KO,MAAA,QhC1KP,oDgC8KO,iBAAA,QjCq8SR,oDiC57SA,MAAA,QjCsxTA,6CiCtxTA,iBAAA,QjCyxTA,sDIl2TI,MAAA,QJq2TJ,+CIl2TM,iBAAA,QAEA,oDAAA,MAAA,QJs2TN,6CACE,iBAvVC,QI1gTC,sDACE,MAAA,QJ8gTN,+CAwVE,iBAAkB,QAEpB,mDACE,MAAO,QAET,4CkC79TA,iBAAA,QlCg+TA,oDkC79TE,MAAA,QlCg+TF,6CkC99TE,iBAAA,QlCi+TF,sDkC99TE,MAAA,QlCi+TF,+CkC99TE,iBAAA,QlCk+TF,sEAvVC,MAAA,QA0VD,yEAvVC,iBAAA,KA0VD,wEACE,MAAO,IACP,OAAQ,IACR,WAxVC,IA0VH,0BkC59TI,wElCsoTH,MAAA,IACD,OAAA,KA2VA,8EACE,WAxVC,qBAiWH,gBACA,sBmCjgUI,SAAA,SACA,OAAA,KnC2qTH,mBAAA,WACQ,WAAA,WmCvqTT,cAAA,KACE,aAAA,KnCigUA,SmCjgUA,OACA,UAAA,KACA,YAAA,IACA,YAAA,KnCyqTD,MAAA,gBmC7qTD,cAAA,SAOI,YAAA,OACA,OAAA,QnC0qTJ,sBmCrqTA,aAAA,KnCsgUA,wCACA,8CmCngUE,MAAA,qBnC4gUF,gBmCpgUE,OAAA,EAAA,KnCugUF,0BA5VA,sCA+VA,sCADA,sCmChgUA,sCArBA,sCAsBE,cAAA,IACA,aAAA,InCsgUF,gBAlWC,SAAA,SACD,mBAAQ,WmCjqTR,WAAA,WACE,cAAA,IACA,SAAA,OnCugUF,oBItgUE,QAAA,MACA,MAAA,KJ0gUF,wBAlWC,SAAA,SACD,MAAS,EmCjqTT,OAAA,EACE,KAAA,EACA,QAAA,YACA,QAAA,aACA,QAAA,Y/BdA,QAAA,KACA,WAAA,KACA,WAAA,KJkrTD,mBAAA,WmC1qTD,WAAA,WAQI,QAAA,KACA,MAAA,KnCqqTH,WAAA,emChqTD,kBAAA,OACE,oBAAA,OACA,eAAA,OACA,YAAA,OnCugUF,mCACE,MAAO,KAGT,qBArWC,SAAA,OmCjqTK,iBAAA,EnCoqTL,aAAA,EmC/pTD,SAAA,EACE,KAAA,EnCygUF,sBArWC,OAAA,KACD,SAAA,OmC9pTA,UAAA,KACE,YAAA,KACA,cAAA,SnCgqTD,YAAA,OmC5pTD,iCACE,aAAA,IAIF,yBACE,OAAA,KAAA,WAAA,InC8pTD,SAAA,OmC5pTC,UAAA,KACE,YAAA,KAAA,cAAA,SnC8pTH,YAAA,OA0WD,oCACE,aAAc,IACd,UAAW,KoC/nUb,wBACE,OAAA,KACA,YAAA,OAEA,iBAAA,EpC2xTD,aAAA,KoC/xTD,SAAA,KAQI,KAAA,KAIF,kCpCgoUA,YAAa,IAEf,8CACE,YAAa,EAEf,6CoC9nUI,YAAA,IAnBJ,6CAuBI,YAAA,KAvBJ,4BpCypUE,IAAK,EoClnUH,OAAA,KpCsnUJ,oCoC9nUM,WAAA,IpCkoUN,iCoC9nUM,WAAA,sFACA,WAAA,sDpCioUN,4DoC5nUI,WAAA,sFpC8nUF,WAAY,yDAQd,WAvWC,QAAA,IAAA,EACD,OAAS,EoC/wTT,WAAA,KACE,iBAAA,YpC0nUF,sBoC1nUE,QAAA,EpC6nUF,yBAEA,8BACA,+BAEA,oCADA,qCAHA,+BoC1nUE,WAAA,IACA,cAAA,IpCioUF,aoC/nUE,MAAA,QpCixTD,gBAAA,KAkXD,2BACA,iCoC7nUE,WAAA,IpCioUF,wCADA,kCA9WC,SAAA,SACD,MAAA,EoC3wTA,KAAA,EACE,QAAA,MACA,OAAA,IACA,QAAA,IACA,iBAAA,gBAIF,6CpC0wTA,uCoCzwTE,WAAA,KpC8nUF,oDADA,8CoCznUE,iBAAA,YpC6nUF,wCoC1nUE,KAAA,KpC8nUF,gBoCtoUA,QAAA,YAYI,QAAA,aACA,QAAA,YACA,QAAA,KpC6wTH,WAAA,KACD,mBAAW,WoCzwTX,WAAA,WACE,QAAA,EAAA,KAAA,gBAAA,KpC4nUA,OoC5nUA,QpC6nUA,mBoC7nUA,iBAAA,IAAA,wBACA,WAAA,iBAAA,IAAA,wBAEA,kBAAA,OACA,oBAAA,OACA,eAAA,OpC2wTD,YAAA,OoCvwTD,sBACE,iBAAA,gBpC8nUF,sBoC3nUA,OAAA,KAEI,WAAA,OpCywTH,QAAA,IAsXD,qBoCxnUE,MAAA,KpCuwTD,UAAA,KoCzwTD,OAAA,KAKI,MAAA,gBpC4nUJ,uBAlXC,UAAA,KACD,UAAY,KoCnwTZ,OAAA,KpCwnUE,WAAY,IACZ,cAAe,IoCtnUf,YAAA,KACA,MAAA,KACA,WAAA,OACA,iBAAA,QpCqwTD,cAAA,IAqXD,2BoCtnUE,MAAA,KpCqwTD,OAAA,KoCnwTD,cAAA,IpC0nUA,wBoCtnUA,YAAA,KACE,eAAA,KACA,UAAA,KpCqwTD,YAAA,IACD,YAAA,KoChwTI,iBAAA,EpCmwTH,kBAAA,EoChwTD,kBAAA,EpCqnUU,UAAW,EAGrB,qBoC/mUA,UAAA,KAEI,QAAA,IAGJ,2CpC+mUE,WAAY,IAGd,uBoC5mUI,YAAA,IpC2vTH,iBAAA,gBAqXD,+CoC3mUI,YAAA,IpC2vTJ,4CoCtvTA,YAAA,IpC6mUA,yBAEA,2BoC3mUE,yBpC4mUA,QAAS,YACT,SAAU,OACV,cAAe,SoCxmUb,mBAAA,SpC4mUJ,yBoCtnUA,OAAA,KAiBI,mBAAA,EpC0mUJ,yBoCvmUI,OAAA,KAEA,mBAAA,EpC0mUJ,2BAlXC,OAAA,KoCjvTG,mBAAA,EpCymUJ,6CAlXC,YAAA,KAqXD,uCACA,oCACA,qCAlXC,YAAA,KAqXD,+CoChmUI,YAAA,KA9CJ,uCpCkpUA,+CADA,6CAGA,oCACA,qCoC9lUI,YAAA,KpCimUJ,uCoCxpUA,oCA2DI,aAAA,KpCkmUJ,iBAlXC,QAAA,IAAA,EoC3yTD,UAAA,KpCiqUA,+BAEA,oCACA,qCAEA,0CoCtqUA,2CAAA,qCpCozTC,WAAA,IACD,cAAA,IAqXA,iCACA,uCACE,OAnXC,KoC9tTG,WAAA,IpCmlUJ,UAAW,KoCllUL,YAAA,KpCslUR,mDoCllUQ,6CACE,WAAA,KAXV,iCAmBI,WAAA,KAEA,uCACE,OAAA,KAtBN,sCA4BI,MAAA,KpCwtTH,OAAA,KoCpvTD,UAAA,KpC0mUA,wCoC1mUA,MAAA,KAsCI,UAAA,KpCotTH,OAAA,KACD,WAAA,KAqXA,yCACE,YAAa,KACb,eAnXC,KoChtTH,UAAA,KAEI,YAAA,KAFJ,sCAKI,UAAA,KpCktTJ,4DAoXE,WAAY,IAEd,0CACE,OAnXC,KqCviUH,0CACE,OAAA,KrC85UF,4CqC55UA,OAAA,KrCq6UA,gEADA,0DqC55UE,iBAAA,sBrCi6UF,4EADA,sEqC55UE,iBAAA,YrCg6UF,wCqC75UE,MAAA,KrCg6UF,8CqC35UE,iBAAA,sBrC85UF,6CqC15UE,MAAA,KrC65UF,6CACE,QAAS,GAEX,+CqCz5UE,iBAAA,sBrCi6UF,qCACE,MqC35UE,QrC65UJ,0CqCz5UI,MAAA,QrCk6UJ,iBAvXC,mBAAA,QAAA,IAAA,uBACD,WAAY,QAAA,IAAA,uBA0XZ,8BACE,mBAxXY,IAAA,IAAA,uBqC/hUV,WAAA,IAAA,IAAA,uBrC25UJ,aACE,Sc79UA,Md89UA,IAAK,EACL,OA1XC,EqC7hUD,KAAA,ErCy5UA,QA1XE,KA2XF,MqCx5UE,kBrCy5UF,UqCz5UE,MrC05UF,mBA3XC,WACF,WAAA,WACD,OAAA,EqC5hUA,WAAA,OACE,WAAA,KrCy5UA,2BqCx5UE,MrCy5UF,YqCz5UE,OAGF,YAAA,UrC05UF,0BACE,oCA5XD,mBAAA,eACD,WAAa,gBAgYb,yBA7XC,aqC1hUG,MAAA,kBACE,UAAA,OAON,0BAVE,aACE,MAAA,MrCi6UA,UqCj6UA,KACA,+BACE,mBAAA,eAAA,WAAA,gBrCu6UN,mBACE,MqC16UE,ErC26UF,KAAM,KAGR,0BACE,aAjYD,iBAAA,KACD,mBAAa,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBqC7hUb,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBrCm6UI,kBqCl6UF,mBrC+hUD,UAAA,mBqC3hUD,mBAEE,kBAAA,kBACE,UAAA,mBrCq6UJ,yBAnYE,aqC1hUE,kBAAA,mBACE,UAAA,mBAGF,mBACE,kBAAA,kBrC2hUH,UAAA,mBAwYH,mBACE,kBqC55UI,mBrCyhUH,UAAA,mBAsYH,qCACE,kBApYC,kBACF,UAAA,kBqCnhUD,yBvBrJE,mBdgjVE,kBchjVF,mBd4qUD,UAAA,mBqClhUD,qCACE,kBAAA,kBrCqhUD,UAAA,mBAwYD,0BACE,mBApYC,kBAAA,mBqC9gUD,UAAA,mBrCs5UA,qCApYC,kBAAA,kBACF,UAAA,mBAyYD,kBACE,kBArYC,wBsC5rUH,UAAA,wBtCqkVA,0BsCjkVE,uBACA,aAAA,MAEA,wBACA,cAAA,MAGA,uCACA,IAAA,KAEA,mCACA,IAAA,KAEA,0CACA,IAAA,KAEA,4DAAA,IAAA,MAAA,mEACA,IAAA,OtC0kVF,8DsCxkVE,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBtC6kVF,yBA3YC,IAAA,YAOD,0BsC5rUA,qCACE,iBAAA,StCilVF,asCzkVE,SAAA,MACA,MAAA,EACA,KAAA,EtC6rUD,QAAA,KACD,QAAA,KsC3rUA,MAAA,IACE,UAAA,MtC6rUD,UAAA,MACD,WAAW,IsC1rUX,mBAAA,WACE,WAAA,WtC0kVA,OsC1kVA,KACA,SAAA,OACA,MAAA,KACA,iBAAA,KACA,cAAA,IACA,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBtC4rUD,QAAA,EACD,4BAAa,IsC1rUb,oBAAA,IACE,4BAAA,OAAA,CAAA,UAAA,CAAA,kBtC4rUD,oBAAA,OAAA,CAAA,UAAA,CAAA,kBsCzrUD,oBAAA,SAAA,CAAA,OAAA,CAAA,WACE,oBAAA,SAAA,CAAA,OAAA,CAAA,UAAA,CAAA,kBtC2rUD,kBAAA,WACD,UAAa,WsCvrUX,YAAA,GAAA,CAAA,OAAA,CAAA,UtC0kVF,yBsCxkVE,atC0rUD,MAAA,IsC7rUD,WAAA,KtCilVA,0BA/YC,asC1rUG,MAAA,IACE,WAAA,KtC+kVN,kBsCxkVE,QAAA,EtC0rUD,kBAAA,SACD,UAAgB,SAmZhB,mBsC1kVA,mBAAA,WAGI,WAAA,WACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,WAAA,KtC4rUJ,gCAiZE,QAAS,KAAK,KAAK,KAAK,KAG1B,qBC3rVC,mBAAA,WCuDG,WAAA,WFuvUH,QAAA,KC9yUA,WAAA,KCuDG,2BAAA,MF0vUH,UAAA,KCjzUA,YAAA,ICuDG,MAAA,eF+oVJ,wCA/YC,eAAA,KAkZD,wCA/YC,YAAA,EAmZD,qBC7sVC,mBAAA,WCuDG,WAAA,WFywUH,QAAA,ICh0UA,WAAA,MDmtVD,+BCntVC,UAAA,KCuDG,YAAA,IF+wUH,MAAA,QAkZD,2CA/YC,YAAA,EAmZD,0CC5tVC,YAAA,KCuDG,OAAA,EAAA,MAAA,MAAA,MF0qVJ,6BA/YC,QAAA,IAAA,EAAA,IAAA,EAkZD,uCA/YC,MAAA,KCr1UA,OAAA,KCuDG,OAAA,EFiyUH,YAAA,eCx1UA,WAAA,MCuDG,cAAA,EoCsFJ,wDAEI,MAAA,QtCqmVJ,uDsCvmVA,MAAA,QtC0mVA,uDA/YA,MAAA,QAkZA,8DACE,MAAO,QuCrvVT,8DACE,MAAA,QvCy2UF,wDAiZE,MAAO,QAET,yDACE,MAhZC,QAkZH,6DA/YC,MAAA,QAkZD,8DACE,MAAO,QAET,uDwCtwVA,MAAA,QxCywVA,yDwCzwVA,MAAA,QxC4wVA,uDA/YA,MAAA,QAkZA,yDACE,MAAO,QCtxVR,sDaGC,MAAA,QdwxVF,uDC3xVC,MAAA,QD8xVD,yDAjZC,MAAA,QAyZD,qCAnZC,MAAA,KCn5UA,iBAAA,QD0yVD,6CApZC,MAAA,qBA4ZD,mBAtZC,UAAA,MA8ZD,qBAxZC,UAAA,MAgaD,oBA1ZC,UAAA,MA6ZD,oCACE,Ycn0VA,Ed00VF,eACE,mBc30VA,Kd86UD,WAAA,KAgaD,eACE,mBc/0VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBdi7UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBAiaD,eACE,mBcn1VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBdo7UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBAkaD,eACE,mBcv1VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBdu7UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBAmaD,eACE,mBc31VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBd07UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBAoaD,eACE,mBc/1VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBd67UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBAqaD,eACE,mBcn2VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBdg8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,KAAA,EAAA,gBAsaD,eACE,mBcv2VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBdm8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAuaD,eACE,mBc32VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBds8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAwaD,eACE,mBc/2VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBdy8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAyaD,gBACE,mBcn3VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBd48UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBA0aD,gBACE,mBcv3VA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBd+8UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gByCj8UD,gB3BTE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBdw3VF,gBcx3VE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBd88UD,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBA8aD,gBcl4VE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBdy9UF,gBA8aE,mBAAoB,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,KAAK,KAAK,IAAI,eAAkB,CAAE,EAAE,IAAI,KAAK,IAAI,gBACjG,WAAY,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,KAAK,KAAK,IAAI,eAAkB,CAAE,EAAE,IAAI,KAAK,IAAI,gBAE3G,gB0Cv4VA,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACE,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C04VF,gB0Cv4VE,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C24VF,gB0Cx4VE,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C24VF,gB0Cx4VE,mBAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,IAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C44VF,gB0C34VE,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C+4VF,gB0C74VE,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBAAA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1Ci5VF,gB0C34VE,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C84VF,gBAnbC,mBAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB0Ct9UC,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C64VF,gBACE,mB0C54VE,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACA,WAAA,EAAA,KAAA,KAAA,KAAA,cAAA,CAAA,EAAA,KAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gB1C+4VJ,gBAnbC,mBAAA,mBAAA,KAAA,wBACD,WAAY,mBAAA,KAAA,wB0Ct9UZ,WAAA,WAAA,KAAA,wBACE,WAAA,WAAA,KAAA,uBAAA,CAAA,mBAAA,KAAA,wBACA,YAAA,W1C+4VF,sBAtbA,sBAubE,mBAAoB,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,KAAK,IAAI,eAAkB,CAAE,EAAE,IAAI,KAAK,IAAI,gBAChG,WAAY,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,KAAK,IAAI,eAAkB,CAAE,EAAE,IAAI,KAAK,IAAI,gBAO1G,c2C57VE,SAAA,SACA,QAAA,KAAA,QAAA,a3C+7VA,U2C/7VA,M3Cg8VA,W2Ch8VA,KACA,mBAAA,WAAA,WAAA,W3Ck8VA,Q2Cl8VA,IAAA,K3Cm8VA,U2Cn8VA,KACA,YAAA,IACA,YAAA,KACA,MAAA,KACA,WAAA,KACA,iBAAA,kBACA,cAAA,IACA,QAAA,EACA,mCAAA,wBACA,2BAAA,wBAGA,4BAAA,K3CmgVD,oBAAA,K2ChgVC,4BAAA,OAAA,CAAA,kBAAA,oBAAA,OAAA,CAAA,kBACE,oBAAA,OAAA,CAAA,UACA,oBAAA,OAAA,CAAA,SAAA,CAAA,kB3Ck8VF,kB2Cj8VE,SACA,UAAA,S3CogVH,YAAA,OAAA,CAAA,UAicD,0BACE,cACE,UAAW,MACX,WAAY,KACZ,QAAS,IAAI,I2C/7Vf,UAAA,KAAA,YAAA,M3CmgVF,mB2C//UA,QAAA,E3Cm8VE,kBAAmB,SACX,UAAW,SAOrB,e2C/7VA,SAAA,M3Ci8VE,QAAS,K2C/7VT,QAAA,Y3C+/UD,QAAA,a2C3/UD,QAAA,YACE,QAAA,K3C+7VA,M2C97VE,K3C+7VF,W2C97VE,K3C+7VF,mBAlcC,W2C1/UD,WAAA,W3C87VA,Q2C77VE,EAAA,KAAA,EAAA,K3C87VF,U2C77VE,K3C87VF,YAlcC,K2Cz/UD,MAAA,K3C67VA,iB2C57VE,Q3C87VF,kBAlcC,O2Cx/UD,oBAAA,O3C47VA,e2C37VE,OACA,YAAA,O3C47VF,iBAlcC,QACF,wBAAA,cACD,cAAQ,Q2Cv/UR,gBAAA,cACE,YAAA,U3C47VF,yB2Cz7VE,eACA,MAAA,K3Cy/UD,UAAA,MACD,UAAQ,M2Ct/UR,cAAA,K3C47VA,sBAGA,2BAncA,wBAqcA,4BADA,yBAHA,mBAKE,mBAlcC,kBAAA,IAAA,wBC7lVF,WAAA,kBAAA,IAAA,wBCuDG,WAAA,UAAA,IAAA,wBFyiVH,WAAA,UAAA,IAAA,uBAAA,CAAA,kBAAA,IAAA,wBAqcD,sBCriWC,2BDuiWD,4BAjcC,OAAA,EAqcD,wBC3iWC,yBD0iWD,mBEn/VI,IAAA,EFy/VJ,sBChjWC,mBD+mVA,KAAA,IAocD,yBAjcC,wBClnVA,IAAA,KCuDG,KAAA,KDvDH,2BCuDG,OAAA,KFikVH,KAAA,KEjkVG,yBFokVH,IAAA,KC3nVA,MAAA,KD8nVA,4BC9nVA,MAAA,KCuDG,OAAA,MF+gWJ,oBCtkWC,SAAA,SCuDG,UAAA,KFglVH,QAAA,KAAA,EAAA,KAAA,ECvoVA,SAAA,OCuDG,cAAA,SFuhWJ,sBAjcC,aAAA,MACD,MAAA,QAmcE,YAAa,OA3bf,+CAmcE,MAAO,QAET,8CACE,MAlcC,QAocH,8CACE,MAAO,QAET,qD4CrlWE,MAAA,Q5CwlWF,qD4CrlWE,MAAA,Q5CwlWF,+CACE,M4CxlWA,Q5C0lWF,gDclmWE,MAAA,QdqmWF,oDcpmWE,MAAA,QdumWF,qDcrmWE,MAAA,QdwmWF,8CACE,MAAO,Q4ChmWP,gDACE,MAAA,Q5C0pVJ,8C4CrpVA,MAAA,Q5CkmWA,gD4C/lWE,MAAA,Q5CkmWF,6C4C/lWE,MAAA,Q5CkmWF,8C4C/lWE,MAAA,Q5CkmWF,gD4C/lWE,MAAA,Q5CumWF,uCAzcC,iBAAA,QAidD,W4C7lWE,QAAA,aACA,OAAA,K5CqpVD,mBAAA,WACS,WAAA,W4ClpVV,OAAA,IAAA,EACE,YAAA,OACA,OAAA,QACA,oBAAA,KACA,iBAAA,KACA,gBAAA,KACA,YAAA,KACA,iBAAA,QACA,cAAA,KACA,mBAAA,mBAAA,KAAA,wBACA,WAAA,mBAAA,KAAA,wBACA,WAAA,WAAA,KAAA,wBACA,WAAA,WAAA,KAAA,uBAAA,CAAA,mBAAA,KAAA,wBAEA,YAAA,WACA,iB5C8lWF,iBAEE,mBAAoB,EAAE,IAAI,IAAI,KAAK,cAAiB,CAAE,EAAE,IAAI,IAAI,EAAE,eAAkB,CAAE,EAAE,IAAI,IAAI,EAAE,gB4C9lWhG,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gB5CspVJ,kBA4cE,iBAAkB,QAGpB,gB4C3lWA,SAAA,SAEI,QAAA,a5CipVH,MAAA,K4ChpVG,OAAA,KACE,aAAA,K5CkpVL,SAAA,OACD,UAAA,KA4cE,YAAa,KACb,MAAO,KACP,WAAY,OACZ,eA3cC,O6C7uVH,iBAAA,QACE,cAAA,I7C2rWF,2B6C3rWE,SAAA,SACA,IAAA,IACA,KAAA,IACA,MAAA,K7C+rWF,iBA7cC,QAAA,a6C7uVC,OAAA,KACE,cAAA,K7C6rWF,a6C5rWI,K7C6rWJ,U6C5rWI,K7C6rWJ,Y6C7rWI,K7C8rWJ,e6C9rWI,O7CisWN,kBACE,Q6C/rWI,a7CgsWJ,M6C/rWI,K7CgsWJ,O6ChsWI,K7CisWJ,a6CjsWI,I7CksWJ,Y6ClsWI,K7CmsWJ,SApdC,OACF,WAAA,O6ChwVD,gBAAA,KAqBI,eAAA,OAAA,OAAA,QAAA,cAAA,IAAA,QAAA,IACA,mBAAA,QAAA,KAAA,wBACA,WAAA,QAAA,KAAA,wBAGA,YAAA,Q7CssWJ,wBADA,wB6CjsWI,QAAA,I7C0sWJ,mC6CrsWI,iBAAA,Q7CwsWJ,0CACE,iB6CzsWE,Q7CgtWJ,iBACE,S6C7sWE,S7C8sWF,Q6C9sWE,YACA,QAAA,aAAA,QAAA,Y7CgtWF,Q6ChtWE,K7CitWF,O6CjtWE,KACA,QAAA,EACA,OAAA,EAAA,KAAA,SAAA,O7C2uVH,YAAA,OA0eD,yBACE,wBAveC,QAAA,I6CzxVH,iBAAA,EAiDM,kBAAA,E7C4uVL,kBAAA,E6C7xVD,UAAA,EAsDM,uBACA,QAAA,IAEA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,G7CwtWN,mBA1eC,QAAA,Y6CtuVG,QAAA,aACE,QAAA,YACA,QAAA,KACA,UAAA,K7CwuVL,UAAA,K6C3uVG,QAAA,IAAA,KAAA,KAAA,KAMI,SAAA,O7CwuVP,UAAA,KACD,MAAA,Q6CluVC,WAAA,OAEG,gBAAA,KACA,cAAA,SACA,OAAA,Q7CmuVH,eAAA,O6CluVG,oBAAA,KAAA,iBAAA,KACE,gBAAA,K7CquVH,YAAA,KACF,QAAA,G6C5uVA,mBAAA,IAAA,IAAA,wBASK,WAAA,IAAA,IAAA,wBAEA,iBAAA,EAAA,aAAA,E7CsuVL,SAAA,E6CjvVA,KAAA,EAcK,mBAAA,S7CktWJ,sB6CltWI,O7CsuVL,uBAAA,O6CnuVG,mBAAA,OACE,iBAAA,OACA,wBAAA,O7CquVL,cAAA,O6CvuVG,gBAAA,OAII,kBAAA,O7CsuVP,oBAAA,O6C1uVG,eAAA,OAOI,YAAA,O7CmtWN,Y6CntWM,Q7CuuVR,yB6ChuVA,mBAQE,UAAA,O7C2sWF,8B6ChtWI,QAAA,G7CmtWJ,yBA7eC,QAAA,MACD,MAAA,KA+eE,OAAQ,QACR,mBAAoB,kBAAkB,IAAI,wBAClC,WAAY,kBAAkB,IAAI,wBA7ezC,WAAA,UAAA,IAAA,wBCj2VF,WAAA,UAAA,IAAA,uBAAA,CAAA,kBAAA,IAAA,wBDo2VA,YAAA,UAgfD,oCA7eC,WAAA,IAgfD,0CA7eC,UAAA,KC12VA,MAAA,Q4C4IO,QAAA,E5C5IP,qD4C4IO,QAAA,E7CotWR,6BA7eC,UAAA,KCn3VA,cAAA,E4C4IO,aAAA,E5C5IP,yB4C4IO,6B7C6uVP,UAAA,OAifD,wCC12WC,YAAA,K4C4IO,mBAAA,YAAA,IAAA,wB7CmvVP,WAAA,YAAA,IAAA,wB6CnvVO,YAAA,Y5C5IP,mC4C4IO,kBAAA,S7CyvVP,UAAA,SAgfD,oDA7eC,cAAA,KCx4VA,aAAA,KDy3WD,+DCz3WC,YAAA,ED43WD,0DC53WC,kBAAA,S4C4IO,UAAA,S7CqvWR,uBA7eC,eAAA,KAgfD,wCA7eC,SAAA,MCv5VA,MAAA,E4C4IO,OAAA,E7C8wVP,KAAA,EAqfD,oEACE,MAAO,QA5eT,mE8C75VA,MAAA,Q9C84WA,wE8C34WE,MAAA,Q9C84WF,oE8C34WE,MAAA,Q9C84WF,mEA7eA,MAAA,QAgfA,0E8C14WE,MAAA,Q9C64WF,0E8C14WE,MAAA,Q9C64WF,oEA9eC,MAAA,Q8C15VD,mEACE,MAAA,QAEA,qEACE,MAAA,Q9C64WJ,yE8C14WI,MAAA,Q9C64WJ,0E8C14WI,MAAA,Q9C64WJ,mEA/eC,MAAA,QAkfD,qE8C14WI,MAAA,Q9C64WJ,mE8C14WI,MAAA,Q9C64WJ,qE8C14WI,MAAA,Q9C64WJ,kE8Cz4WA,MAAA,Q9C44WA,mEACE,M8C14WE,Q9C44WJ,qEACE,M8C14WE,Q9C64WJ,6DACE,M8C14WE,kB9Ck5WJ,e8Cv5WE,SAAA,S9Cy5WA,Q8Cx5WE,M9Cy5WF,M8Cx5WE,K9Cy5WF,OA/fC,I8Cx5VD,SAAA,O9Cy5WA,iB8Cx5WE,mB9Cy5WF,c8Cx5WE,IAIJ,2BACE,SAAA,S9Cw5WA,I8Cv5WE,E9Cw5WF,O8Cv5WE,E9Cw5WF,KA/fC,E8Cv5VD,iBAAA,Q9Cw5WA,mB8Cv5WE,MAAA,IAAA,OACA,WAAA,MAAA,IAAA,O9C05WJ,6BACE,iB8Cv5WE,Q9Cy5WJ,oCACE,S8Cv5WE,S9Cw5WF,I8Cv5WE,E9Cw5WF,OA/fC,EACF,KAAA,E8Cz6VD,QAAA,IACE,iBAAA,Q9C06WA,kB8Cz6WE,4BAAA,GAAA,OAAA,SACA,UAAA,4BAAA,GAAA,OAAA,SAEF,YAAA,IAAA,CAAA,M9C26WF,mCACE,SAjhBC,S8Cv5VD,IAAA,E9C06WA,O8Cz6WE,E9C06WF,K8Cz6WE,E9C06WF,QAjhBC,I8Cv5VD,iBAAA,Q9C06WA,kB8Cz6WE,kCAAA,GAAA,OAAA,SACA,UAAA,kCAAA,GAAA,OAAA,S9C05VH,YAAA,IAAA,CAAA,MAmhBD,+CACE,GACE,KAAM,EAhhBP,MAAA,E8C74VK,I9Cg5VP,KAAA,ICt/VA,MAAA,ICuCC,IFm9VD,KAAA,KC1/VA,MAAA,GAAA,uCDghXC,GEz+WA,KAAA,EF09VD,MAAA,E8C35VO,I9C85VP,KAAA,ICpgWA,MAAA,ICuCC,IFi+VD,KAAA,KCxgWA,MAAA,GAAA,qDD8hXC,GEv/WA,KAAA,EFw+VD,MAAA,E8Cz6VO,I9C46VP,KAAA,EClhWA,MAAA,ECuCC,IF++VD,KAAA,ECthWA,MAAA,IDyhWA,KCzhWA,KAAA,KD4iXG,MAAO,GC5iXV,6C6CsGO,G9C07VP,KAAA,EChiWA,MAAA,ECuCC,IF6/VD,KAAA,ECpiWA,MAAA,EDuiWA,ICviWA,KAAA,ED0jXG,MAAO,IA/gBV,KC3iWA,KAAA,K6CsGO,MAAA,G9Cg+WR,yCCtkXC,iBAAA,mBDykXD,qDACA,uDC1kXC,iBAAA,QD6kXD,wCC7kXC,iBAAA,oBDglXD,oDACA,sDCjlXC,iBAAA,QDolXD,6CCplXC,iBAAA,oBDulXD,yDACA,2DCxlXC,iBAAA,QD2lXD,yCC3lXC,iBAAA,mBD8lXD,qDACA,uDC/lXC,iBAAA,QDkmXD,wCClmXC,iBAAA,mBDqmXD,oDACA,sDCtmXC,iBAAA,QDymXD,+CCzmXC,iBAAA,mBD4mXD,2DACA,6DC7mXC,iBAAA,QDgnXD,+CChnXC,iBAAA,oBDmnXD,2DACA,6DCpnXC,iBAAA,QDunXD,yCCvnXC,iBAAA,mBD0nXD,qDACA,uDC3nXC,iBAAA,QD8nXD,wCC9nXC,iBAAA,qBDioXD,oDACA,sDCloXC,iBAAA,QDqoXD,0CCroXC,iBAAA,mBDwoXD,sDACA,wDAhhBA,iBAAA,QAmhBA,8CACE,iBAAkB,mB+CvoXpB,0D/C0oXA,4D+CxoXE,iBAAA,Q/C2oXF,+C+CxoXE,iBAAA,oB/C2oXF,2D+CxoXA,6DACE,iBAAA,Q/C2oXF,wCACE,iBAnhBC,oB+C1nWH,oD/CgpXA,sDACE,iB+C/oXE,Q/CipXJ,0CAxhBC,iBAAA,mBA2hBD,sDACA,wD+C9oXE,iBAAA,Q/CipXF,wC+C9oXE,iBAAA,mB/CipXF,oDACA,sD+C9oXA,iBAAA,Q/CipXA,0CACE,iB+ChpXA,oBAKF,sD/C8oXA,wD+C5oXE,iBAAA,Q/C+oXF,uC+C1oXA,iBAAA,mB/C6oXA,mDACA,qDA5hBC,iBAAA,QA+hBD,wC+CxoXE,iBAAA,mB/C2oXF,oD+CtoXA,sDACE,iBAAA,Q/CyoXF,0CACE,iBA/hBC,oBAiiBH,sDACA,wDACE,iBAhiBC,QAuiBH,cACE,SAliBC,S+ChnWD,QAAA,a/CopXA,M+CppXQ,K/CqpXR,OAAQ,KACR,kBAniBC,aAAA,OAAA,OAAA,S+ClnWD,UAAA,aAAA,OAAA,OAAA,S/CwpXF,gCACE,G+CxpXA,kBAAA,eAAQ,UAAA,gB/C6pXV,wBACE,GACE,kB+C9pXM,e/CynWP,UAAA,gBAyiBH,oBACE,S+C1qXQ,S/C2qXR,MAAO,KACP,OAjkBC,K+C1mWD,aAAA,Q/C6qXA,Q+C7qXQ,E/C8qXR,QAAS,EACT,kBAlkBC,sCAAA,OAAA,wBAAA,SAAA,K+C5mWD,UAAA,sCAAA,OAAA,wBAAA,SAAA,K/CirXF,sBACE,aAnkBC,kB+C9mWD,kBAAA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,KAAQ,UAAA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CqrXV,sB+CprXE,aAAA,kB/CsrXA,kB+CtrXQ,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CurXA,U+CvrXA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CyrXV,sBACE,a+CzrXQ,kB/C0rXR,kB+C1rXQ,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CqnWP,UAAA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,KAwkBH,sBACE,a+C7rXQ,kB/C8rXR,kBAvkBC,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K+CtnWD,UAAA,sCAAA,OAAA,wBAAA,SAAA,IAAA,CAAA,iCAAA,OAAA,wBAAA,SAAA,K/CgsXF,yDACE,MAvkBD,kBAAA,e+CvnWD,UAAA,e/CksXE,IAvkBC,kBAAA,e+CznWD,UAAA,e/CosXA,M+CnsXA,kBAAA,eAAO,UAAA,eACP,IAAO,kBAAA,e/CgoWN,UAAA,eA0kBD,MAvkBC,kBAAA,e+CjoWD,UAAA,e/C4sXA,IAvkBD,kBAAA,e+C3oWD,UAAA,e/CstXE,MA3lBC,kBAAA,e+CznWD,UAAA,e/CwtXA,G+CvtXA,kBAAA,gBAAO,UAAA,iB/C4tXT,iDACE,M+C3tXA,kBAAA,eAAO,UAAA,eACP,IAAO,kBAAA,e/CooWN,UAAA,e+CjoWH,MACE,kBAAA,eAAO,UAAA,eACP,IAAO,kBAAA,e/CuoWN,UAAA,eA8lBD,MA3lBC,kBAAA,e+CxoWD,UAAA,e/CuuXA,I+CtuXA,kBAAA,eAAO,UAAA,e/C8oWR,M+CnpWD,kBAAA,eACE,UAAA,e/CkvXA,G+CjvXA,kBAAA,gBAAO,UAAA,iB/CsvXT,oDACE,K+CrvXA,QAAA,E/CwvXA,I+CvvXA,QAAA,E/C0vXA,IA5mBD,QAAA,E+C1oWC,IAAO,QAAA,EACP,IAAO,QAAA,EACP,KAAO,QAAA,G/CiwXT,4CACE,K+ChwXA,QAAA,E/CmwXA,IA5mBD,QAAA,E+C3pWC,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,EACP,KAAO,QAAA,G/CoxXT,oDACE,KA7nBD,QAAA,E+CnpWC,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,G/C6xXT,4CACE,KA7nBD,QAAA,E+CpqWC,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,EACP,IAAO,QAAA,G/C8yXT,oDACE,KA9oBD,QAAA,E+C5pWC,IACA,QAAA,EAEA,IACA,QAAA,EAEA,I/C+pWD,QAAA,E+C5pWG,IACA,QAAA,G/CgzXJ,4C+C3yXA,KACE,QAAA,EAEA,IACA,QAAA,EAEA,I/C6pWD,QAAA,E+C1pWG,IACA,QAAA,EAEA,IACA,QAAA,G/C+yXJ,oDACE,K+C5yXE,QAAA,EAEA,IACA,QAAA,E/C+yXF,IAjpBD,QAAA,E+CzpWG,I/C4pWH,QAAA,E+CzpWK,KACA,QAAA,G/CgzXN,4CACE,KAnpBD,QAAA,E+CvpWG,I/C0pWH,QAAA,E+CvpWK,IACA,QAAA,E/C+yXJ,I+C7yXI,QAAA,E/C0pWL,K+CrpWD,QAAA,G/C+yXA,wBACE,SAvpBC,S+CvpWD,IAAA,E/CgzXA,K+ChzXO,I/CizXP,MAAO,IACP,OAxpBC,K+CzpWD,SAAA,O/CmzXA,a+CnzXO,Q/CqzXT,6CAxpBC,KAAA,M+ChqWD,MAAA,MACE,mBAAA,WAAO,WAAA,W/C6zXT,6B+C5zXE,SAAA,S/C8zXA,Q+C9zXO,a/C+zXP,MAAO,IACP,OAtqBC,K+CzpWD,SAAA,O/Ci0XA,a+Cj0XO,Q/Cm0XT,kDAtqBC,SAAA,S+C1pWD,IAAA,EACE,MAAA,E/Cm0XA,O+Cn0XO,E/Co0XP,MAAO,KACP,OAxqBC,K+C5pWD,mBAAA,WAAO,WAAA,W/Cu0XP,a+Cv0XO,Q/Cw0XP,aAzqBC,M+C9pWD,aAAA,I/Cy0XA,oB+Cz0XO,sB/C00XP,c+C10XO,I/C20XP,kBA1qBC,KACF,UAAA,KA4qBD,+CACE,M+Cj1XO,K/Cm1XT,oE+Cl1XE,KAAA,E/Co1XA,mB+Cp1XO,sB/Cq1XP,kB+Cr1XO,e/C+pWN,UAAA,e+C9pWD,kBAAA,uBAAA,OAAA,wBAAA,SAAA,KAAO,UAAA,uBAAA,OAAA,wBAAA,SAAA,K/Cy1XT,gDAvrBC,MAAA,MA0rBD,qEACE,KAAM,MACN,kBAAmB,sBACnB,kBAxrBC,gBCr1WF,UAAA,gB8C+LO,kBAAA,wBAAA,OAAA,wBAAA,SAAA,K/CypWP,UAAA,wBAAA,OAAA,wBAAA,SAAA,KA0rBD,0CAvrBC,KC31WA,kBAAA,e8C+LO,UAAA,e9C/LP,I8C+LO,kBAAA,c/CkqWP,UAAA,c+ClqWO,G/CqqWP,kBAAA,eCp2WA,UAAA,gBAAA,kC8C+LO,K/C2qWP,kBAAA,eC12WA,UAAA,eD62WA,IC72WA,kBAAA,c8C+LO,UAAA,c9C/LP,G8C+LO,kBAAA,e/CorWP,UAAA,gBA2rBD,2CC9iYC,K8C+LO,kBAAA,gB/C0rWP,UAAA,gB+C1rWO,I/C6rWP,kBAAA,aC53WA,UAAA,aD+3WA,GC/3WA,kBAAA,gB8C+LO,UAAA,iB/C63XR,mCAvrBC,KCr4WA,kBAAA,gB8C+LO,UAAA,gB9C/LP,I8C+LO,kBAAA,a/C4sWP,UAAA,a+C5sWO,G/C+sWP,kBAAA,gBACD,UAAA,iBAgsBA,8CgDtkYE,aAAA,QhDg5WF,6CgD54WA,aAAA,QhDwkYA,kDiB/jYE,aAAA,QjBkkYF,8CgDtkYE,aAAA,QhDykYF,6CA1rBC,aAAA,QA6rBD,oDA1rBC,aAAA,QgDz4WD,oDACE,aAAA,QhDwkYF,8CgDxkYE,aAAA,QhD2kYF,6CACE,agD3kYA,QhD6kYF,+CACE,agD7kYA,QhD+kYF,mDgD5kYE,aAAA,QhD+kYF,oDgD5kYE,aAAA,QhD+kYF,6CgD7kYE,aAAA,QhDglYF,+CIpjYE,aAAA,Q4CzBA,6CACE,aAAA,QhD+4WJ,+CgD14WA,aAAA,QhDglYA,4CgD9kYE,aAAA,QhDilYF,6CgD9kYE,aAAA,QhDilYF,+CInkYE,aAAA,QJ4kYF,YACE,MAAO,KgDnlYP,mBAAA,WACA,WAAA,WhDulYF,iBAvsBC,MAAA,gBACD,iBAAa,KgD54Wb,cAAA,IAAA,MAAA,gBACE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBACA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBACA,mBAAA,OAAA,IAAA,wBACA,WAAA,OAAA,IAAA,wBhDulYA,YgDtlYA,OhDwlYF,4BgDvlYE,cAAA,KhD2lYF,wBgDzlYE,SAAA,ShD84WD,QAAA,YgD34WD,QAAA,aACE,QAAA,YACA,QAAA,KACA,MAAA,KhD64WD,OAAA,KACD,mBAAW,WgD14WX,WAAA,WACE,QAAA,EAAA,KACA,SAAA,OACA,UAAA,KAEA,cAAA,SACA,YAAA,OAAA,OAAA,QhD24WD,mBAAA,IAAA,IAAA,wBIj7WC,WAAA,IAAA,IAAA,wBAEE,kBAAA,OACA,oBAAA,OJm7WH,eAAA,OIj7WC,YAAA,OACE,YAAA,MAAA,CAAA,iBANF,+BJyoYA,iBAAkB,KAGpB,uBIvoYE,MAAA,IACE,UAAA,IJ27WH,mBAAA,WgDz5WC,WAAA,WACE,cAAA,KhD25WH,SAAA,OACD,YAAY,IgDv5WZ,cAAA,SACE,YAAA,OhDymYF,yBgDrmYE,mBAAA,W/BpFA,WAAA,WjB8+WD,cAAA,KgD/5WD,SAAA,OASI,MAAA,gBhDy5WH,cAAA,SgDv5WG,YAAA,OhD05WH,iBAAA,EACD,kBAAgB,EgDp5WhB,kBAAA,ElCjHE,UAAA,EkCiHF,uBlCjHE,SAAA,Sd0tYA,IAAK,KA/sBN,MAAA,KgD15WD,MAAA,gBAQI,oBAAA,KACA,iBAAA,KhDq5WH,gBAAA,KACS,YAAA,KgDj5WV,mBAAA,IAAA,IAAA,wBAEI,WAAA,IAAA,IAAA,wBACA,kBAAA,UhDk5WH,UAAA,UgD74WD,YAAA,SAAA,CAAA,IhDimYA,gDgD9lYE,SAAA,ShDg5WD,IAAA,YgD74WC,MAAA,EAAA,sBAII,OAAA,EhD+lYJ,QgD/lYI,EAAA,KACA,SAAA,OhD+4WL,mBAAA,OAAA,IAAA,wBgD34WC,WAAA,OAAA,IAAA,wBhD84WD,YAAA,OAotBD,4BADA,6BAEE,QAAS,MACT,QAjtBC,IAmtBH,4BgDxlYI,MAAA,KAGA,4BhDwlYJ,6BgDvlYM,QAAA,MhDy4WL,QAAA,IAmtBD,4BAhtBC,MAAA,KAmtBD,4BAhtBC,OAAA,KAotBD,yBgD1mYA,QAAA,M/B/JE,MAAA,KjB2jXD,QAAA,KAAA,KAAA,EAAA,KACD,OAAA,KAAA,MAAA,EAAA,MAktBE,WAAY,MACZ,WAAY,IAAI,MAAM,gBAExB,mCAhtBA,YAAQ,IAmtBR,+CACE,YiD5wYA,EjD+wYF,oBc1xYE,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBAAA,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,IAAA,EAAA,eAAA,CAAA,EAAA,IAAA,IAAA,EAAA,gBd8xYF,qCiD5wYE,mBAAA,KACA,WAAA,KjD+wYF,0CiD5wYE,WAAA,EACA,cAAA,EjDgxYF,yCiD9wYE,aAAA,MAAA,YAAA,MjDmxYF,sBACE,OiDlxYA,KAEA,WAAA,KACA,cAAA,KjDmxYF,8CiD/wYE,OAAA,KjDkxYF,qEiD1yYA,IAAA,KA6BI,kBAAA,eACA,UAAA,ejDwjXJ,4CiDnjXA,OAAA,KAOA,yCACE,MAAA,KACA,iBAAA,QjD8wYA,ciD9wYA,IAAA,MAAA,sBjDgxYF,oDA1tBA,cAAS,KA6tBT,uDA1tBC,iBAAA,QA6tBD,iDiD5wYI,MAAA,qBjD+wYJ,+CiD5wYI,MAAA,KjD+wYJ,iDiD5wYI,WAAA,IAAA,MAAA,sBAGA,WACE,SAAA,MjDqjXL,QAAA,MiDhjXC,QAAA,MACE,MAAA,MnChFF,mBAAA,WAAA,WAAA,WdmoXD,QAAA,IAAA,EiD7iXG,OAAA,EACE,WAAA,KACA,2BAAA,MjD+iXL,UAAA,KiD7iXK,MAAA,gBACE,WAAA,KjD+iXP,WAAA,OiDpjXG,iBAAA,KASI,cAAA,IjD8iXP,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBACD,WAAc,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBiDxiXd,QAAA,EACE,mCAAA,uBjD0iXD,2BAAA,uBACD,4BAAY,IiDviXZ,oBAAA,IACE,4BAAA,OAAA,CAAA,UAAA,CAAA,kBACA,oBAAA,OAAA,CAAA,UAAA,CAAA,kBACA,oBAAA,SAAA,CAAA,OAAA,CAAA,WACA,oBAAA,SAAA,CAAA,OAAA,CAAA,UAAA,CAAA,kBjDwwYA,kBiDxwYA,SACA,UAAA,SjD0iXF,YAAA,SAAiB,CAAA,OAAA,CAAA,WAkuBjB,yBA/tBC,WAAA,IACD,cAAgB,IAmuBhB,gBiDrwYE,WAAA,QACA,QAAA,EACA,kBAAA,SjDuiXD,UAAA,SAmuBD,mBiDnwYE,WAAA,QACA,QAAA,EAGA,kBAAA,SjDmiXD,UAAA,SAmuBD,gBiDhwYM,SAAA,SjDmiXN,kBAiuBE,SAAU,SACV,QAAS,MACT,OAAQ,KACR,QAhuBC,EAAA,KiD5hXH,SAAA,OAEI,YAAA,KACA,MAAA,QjD6hXH,gBAAA,KiDxhXK,cAAA,SACE,YAAA,OjD0hXP,oBAAA,KiDrhXK,iBAAA,KACE,gBAAA,KjDuhXP,YAAA,KAkuBD,wBA/tBC,iBAAA,KAkuBD,2BA/tBC,SAAA,SiD5iXD,mBAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBA6BI,WAAA,EAAA,IAAA,IAAA,KAAA,cAAA,CAAA,EAAA,IAAA,KAAA,IAAA,eAAA,CAAA,EAAA,IAAA,KAAA,IAAA,gBA7BJ,4BAiCI,MAAA,0BjDihXH,OAAA,QAkuBD,kCACE,iBAAkB,kBAEpB,uCACE,MAAO,gBAGT,uBACE,iBAAkB,KAGpB,qBACE,QAAS,aACT,MAAO,KACP,mBAAoB,WACZ,WAAY,WACpB,cAAe,KACf,MAAO,gBAGT,uBACE,MAAO,MAGT,qBACE,MAAO,MACP,MAAO,KACP,OAAQ,KACR,OAAQ,IAAI,EACZ,iBAAkB,2TAGpB,mBACE,MAAO,MACP,QAAS,KAAK,EACd,WAAY,QACZ,UAAW,KAEb,qCACE,OAAQ,KACR,QAAS,EAAE,KACX,YAAa,KAOf,mCACE,MAAO,KACP,iBAAkB,QAEpB,gDACE,iBAAkB,QAEpB,oDACE,MAAO,+BAET,+DACE,MAAO,qBAET,+CACE,iBAAkB,QAEpB,6CACE,MAAO,KAET,6CACE,iBAAkB","file":"mdui.min.css","sourcesContent":["/*!\n * mdui v0.4.3 (https://mdui.org)\n * Copyright 2016-2019 zdhxiong\n * Licensed under MIT\n */\n/**\n * =============================================================================\n * ************ Color 颜色 ************\n * =============================================================================\n */\n/**\n * .mdui-theme-primary-[color] .mdui-color-theme\n * .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n */\n.mdui-theme-primary-amber .mdui-color-theme {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-50 {\n background-color: #FFF8E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-100 {\n background-color: #FFECB3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-200 {\n background-color: #FFE082 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-300 {\n background-color: #FFD54F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-400 {\n background-color: #FFCA28 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-500 {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-600 {\n background-color: #FFB300 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-700 {\n background-color: #FFA000 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-800 {\n background-color: #FF8F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-amber .mdui-color-theme-900 {\n background-color: #FF6F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-50 {\n background-color: #E3F2FD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-100 {\n background-color: #BBDEFB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-200 {\n background-color: #90CAF9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-300 {\n background-color: #64B5F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-400 {\n background-color: #42A5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-500 {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-600 {\n background-color: #1E88E5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-700 {\n background-color: #1976D2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-800 {\n background-color: #1565C0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue .mdui-color-theme-900 {\n background-color: #0D47A1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-50 {\n background-color: #ECEFF1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-100 {\n background-color: #CFD8DC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-200 {\n background-color: #B0BEC5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-300 {\n background-color: #90A4AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-400 {\n background-color: #78909C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-500 {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-600 {\n background-color: #546E7A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-700 {\n background-color: #455A64 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-800 {\n background-color: #37474F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-blue-grey .mdui-color-theme-900 {\n background-color: #263238 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-50 {\n background-color: #EFEBE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-100 {\n background-color: #D7CCC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-200 {\n background-color: #BCAAA4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-300 {\n background-color: #A1887F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-400 {\n background-color: #8D6E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-500 {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-600 {\n background-color: #6D4C41 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-700 {\n background-color: #5D4037 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-800 {\n background-color: #4E342E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-brown .mdui-color-theme-900 {\n background-color: #3E2723 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-50 {\n background-color: #E0F7FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-100 {\n background-color: #B2EBF2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-200 {\n background-color: #80DEEA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-300 {\n background-color: #4DD0E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-400 {\n background-color: #26C6DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-500 {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-600 {\n background-color: #00ACC1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-700 {\n background-color: #0097A7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-800 {\n background-color: #00838F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-cyan .mdui-color-theme-900 {\n background-color: #006064 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-50 {\n background-color: #FBE9E7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-100 {\n background-color: #FFCCBC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-200 {\n background-color: #FFAB91 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-300 {\n background-color: #FF8A65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-400 {\n background-color: #FF7043 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-500 {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-600 {\n background-color: #F4511E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-700 {\n background-color: #E64A19 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-800 {\n background-color: #D84315 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-orange .mdui-color-theme-900 {\n background-color: #BF360C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-50 {\n background-color: #EDE7F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-100 {\n background-color: #D1C4E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-200 {\n background-color: #B39DDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-300 {\n background-color: #9575CD !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-400 {\n background-color: #7E57C2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-500 {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-600 {\n background-color: #5E35B1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-700 {\n background-color: #512DA8 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-800 {\n background-color: #4527A0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-deep-purple .mdui-color-theme-900 {\n background-color: #311B92 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-50 {\n background-color: #E8F5E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-100 {\n background-color: #C8E6C9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-200 {\n background-color: #A5D6A7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-300 {\n background-color: #81C784 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-400 {\n background-color: #66BB6A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-500 {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-600 {\n background-color: #43A047 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-700 {\n background-color: #388E3C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-800 {\n background-color: #2E7D32 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-green .mdui-color-theme-900 {\n background-color: #1B5E20 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-50 {\n background-color: #FAFAFA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-100 {\n background-color: #F5F5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-200 {\n background-color: #EEEEEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-300 {\n background-color: #E0E0E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-400 {\n background-color: #BDBDBD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-500 {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-600 {\n background-color: #757575 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-700 {\n background-color: #616161 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-800 {\n background-color: #424242 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-grey .mdui-color-theme-900 {\n background-color: #212121 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-50 {\n background-color: #E8EAF6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-100 {\n background-color: #C5CAE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-200 {\n background-color: #9FA8DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-300 {\n background-color: #7986CB !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-400 {\n background-color: #5C6BC0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-500 {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-600 {\n background-color: #3949AB !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-700 {\n background-color: #303F9F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-800 {\n background-color: #283593 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-indigo .mdui-color-theme-900 {\n background-color: #1A237E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-50 {\n background-color: #E1F5FE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-100 {\n background-color: #B3E5FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-200 {\n background-color: #81D4FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-300 {\n background-color: #4FC3F7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-400 {\n background-color: #29B6F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-500 {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-600 {\n background-color: #039BE5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-700 {\n background-color: #0288D1 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-800 {\n background-color: #0277BD !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-blue .mdui-color-theme-900 {\n background-color: #01579B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-50 {\n background-color: #F1F8E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-100 {\n background-color: #DCEDC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-200 {\n background-color: #C5E1A5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-300 {\n background-color: #AED581 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-400 {\n background-color: #9CCC65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-500 {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-600 {\n background-color: #7CB342 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-700 {\n background-color: #689F38 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-800 {\n background-color: #558B2F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-light-green .mdui-color-theme-900 {\n background-color: #33691E !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-50 {\n background-color: #F9FBE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-100 {\n background-color: #F0F4C3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-200 {\n background-color: #E6EE9C !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-300 {\n background-color: #DCE775 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-400 {\n background-color: #D4E157 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-500 {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-600 {\n background-color: #C0CA33 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-700 {\n background-color: #AFB42B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-800 {\n background-color: #9E9D24 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-lime .mdui-color-theme-900 {\n background-color: #827717 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-50 {\n background-color: #FFF3E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-100 {\n background-color: #FFE0B2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-200 {\n background-color: #FFCC80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-300 {\n background-color: #FFB74D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-400 {\n background-color: #FFA726 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-500 {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-600 {\n background-color: #FB8C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-700 {\n background-color: #F57C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-800 {\n background-color: #EF6C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-orange .mdui-color-theme-900 {\n background-color: #E65100 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-50 {\n background-color: #FCE4EC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-100 {\n background-color: #F8BBD0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-200 {\n background-color: #F48FB1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-300 {\n background-color: #F06292 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-400 {\n background-color: #EC407A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-500 {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-600 {\n background-color: #D81B60 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-700 {\n background-color: #C2185B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-800 {\n background-color: #AD1457 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-pink .mdui-color-theme-900 {\n background-color: #880E4F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-50 {\n background-color: #F3E5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-100 {\n background-color: #E1BEE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-200 {\n background-color: #CE93D8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-300 {\n background-color: #BA68C8 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-400 {\n background-color: #AB47BC !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-500 {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-600 {\n background-color: #8E24AA !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-700 {\n background-color: #7B1FA2 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-800 {\n background-color: #6A1B9A !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-purple .mdui-color-theme-900 {\n background-color: #4A148C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-50 {\n background-color: #FFEBEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-100 {\n background-color: #FFCDD2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-200 {\n background-color: #EF9A9A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-300 {\n background-color: #E57373 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-400 {\n background-color: #EF5350 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-500 {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-600 {\n background-color: #E53935 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-700 {\n background-color: #D32F2F !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-800 {\n background-color: #C62828 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-red .mdui-color-theme-900 {\n background-color: #B71C1C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-50 {\n background-color: #E0F2F1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-100 {\n background-color: #B2DFDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-200 {\n background-color: #80CBC4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-300 {\n background-color: #4DB6AC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-400 {\n background-color: #26A69A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-500 {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-600 {\n background-color: #00897B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-700 {\n background-color: #00796B !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-800 {\n background-color: #00695C !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-teal .mdui-color-theme-900 {\n background-color: #004D40 !important;\n color: #ffffff !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-50 {\n background-color: #FFFDE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-100 {\n background-color: #FFF9C4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-200 {\n background-color: #FFF59D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-300 {\n background-color: #FFF176 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-400 {\n background-color: #FFEE58 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-500 {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-600 {\n background-color: #FDD835 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-700 {\n background-color: #FBC02D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-800 {\n background-color: #F9A825 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-primary-yellow .mdui-color-theme-900 {\n background-color: #F57F17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-theme-accent-[color] .mdui-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n */\n.mdui-theme-accent-amber .mdui-color-theme-accent {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a100 {\n background-color: #FFE57F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a200 {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a400 {\n background-color: #FFC400 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-amber .mdui-color-theme-a700 {\n background-color: #FFAB00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-accent {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a100 {\n background-color: #82B1FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a200 {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a400 {\n background-color: #2979FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-blue .mdui-color-theme-a700 {\n background-color: #2962FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-accent {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a100 {\n background-color: #84FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a200 {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a400 {\n background-color: #00E5FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-cyan .mdui-color-theme-a700 {\n background-color: #00B8D4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-accent {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a100 {\n background-color: #FF9E80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a200 {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a400 {\n background-color: #FF3D00 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-orange .mdui-color-theme-a700 {\n background-color: #DD2C00 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-accent {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a100 {\n background-color: #B388FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a200 {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a400 {\n background-color: #651FFF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-deep-purple .mdui-color-theme-a700 {\n background-color: #6200EA !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-accent {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a100 {\n background-color: #B9F6CA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a200 {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a400 {\n background-color: #00E676 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-green .mdui-color-theme-a700 {\n background-color: #00C853 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-accent {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a100 {\n background-color: #8C9EFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a200 {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a400 {\n background-color: #3D5AFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-indigo .mdui-color-theme-a700 {\n background-color: #304FFE !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-accent {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a100 {\n background-color: #80D8FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a200 {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a400 {\n background-color: #00B0FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-blue .mdui-color-theme-a700 {\n background-color: #0091EA !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-accent {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a100 {\n background-color: #CCFF90 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a200 {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a400 {\n background-color: #76FF03 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-light-green .mdui-color-theme-a700 {\n background-color: #64DD17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-accent {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a100 {\n background-color: #F4FF81 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a200 {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a400 {\n background-color: #C6FF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-lime .mdui-color-theme-a700 {\n background-color: #AEEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-accent {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a100 {\n background-color: #FFD180 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a200 {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a400 {\n background-color: #FF9100 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-orange .mdui-color-theme-a700 {\n background-color: #FF6D00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-accent {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a100 {\n background-color: #FF80AB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a200 {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a400 {\n background-color: #F50057 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-pink .mdui-color-theme-a700 {\n background-color: #C51162 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-accent {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a100 {\n background-color: #EA80FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a200 {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a400 {\n background-color: #D500F9 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-purple .mdui-color-theme-a700 {\n background-color: #AA00FF !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-accent {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a100 {\n background-color: #FF8A80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a200 {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a400 {\n background-color: #FF1744 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-red .mdui-color-theme-a700 {\n background-color: #D50000 !important;\n color: #ffffff !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-accent {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a100 {\n background-color: #A7FFEB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a200 {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a400 {\n background-color: #1DE9B6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-teal .mdui-color-theme-a700 {\n background-color: #00BFA5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-accent {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a100 {\n background-color: #FFFF8D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a200 {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a400 {\n background-color: #FFEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-theme-accent-yellow .mdui-color-theme-a700 {\n background-color: #FFD600 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-[color]\n * .mdui-color-[color]-[degree]\n */\n.mdui-color-amber {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-50 {\n background-color: #FFF8E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-100 {\n background-color: #FFECB3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-200 {\n background-color: #FFE082 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-300 {\n background-color: #FFD54F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-400 {\n background-color: #FFCA28 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-500 {\n background-color: #FFC107 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-600 {\n background-color: #FFB300 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-700 {\n background-color: #FFA000 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-800 {\n background-color: #FF8F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-900 {\n background-color: #FF6F00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-50 {\n background-color: #E3F2FD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-100 {\n background-color: #BBDEFB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-200 {\n background-color: #90CAF9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-300 {\n background-color: #64B5F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-400 {\n background-color: #42A5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-500 {\n background-color: #2196F3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-600 {\n background-color: #1E88E5 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-700 {\n background-color: #1976D2 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-800 {\n background-color: #1565C0 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-900 {\n background-color: #0D47A1 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-50 {\n background-color: #ECEFF1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-100 {\n background-color: #CFD8DC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-200 {\n background-color: #B0BEC5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-300 {\n background-color: #90A4AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-grey-400 {\n background-color: #78909C !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-500 {\n background-color: #607D8B !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-600 {\n background-color: #546E7A !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-700 {\n background-color: #455A64 !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-800 {\n background-color: #37474F !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-grey-900 {\n background-color: #263238 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-50 {\n background-color: #EFEBE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-100 {\n background-color: #D7CCC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-200 {\n background-color: #BCAAA4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-brown-300 {\n background-color: #A1887F !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-400 {\n background-color: #8D6E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-500 {\n background-color: #795548 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-600 {\n background-color: #6D4C41 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-700 {\n background-color: #5D4037 !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-800 {\n background-color: #4E342E !important;\n color: #ffffff !important;\n}\n.mdui-color-brown-900 {\n background-color: #3E2723 !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-50 {\n background-color: #E0F7FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-100 {\n background-color: #B2EBF2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-200 {\n background-color: #80DEEA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-300 {\n background-color: #4DD0E1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-400 {\n background-color: #26C6DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-500 {\n background-color: #00BCD4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-600 {\n background-color: #00ACC1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-700 {\n background-color: #0097A7 !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-800 {\n background-color: #00838F !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-900 {\n background-color: #006064 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-50 {\n background-color: #FBE9E7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-100 {\n background-color: #FFCCBC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-200 {\n background-color: #FFAB91 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-300 {\n background-color: #FF8A65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-400 {\n background-color: #FF7043 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-500 {\n background-color: #FF5722 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-600 {\n background-color: #F4511E !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-700 {\n background-color: #E64A19 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-800 {\n background-color: #D84315 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-900 {\n background-color: #BF360C !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-50 {\n background-color: #EDE7F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-100 {\n background-color: #D1C4E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-200 {\n background-color: #B39DDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-300 {\n background-color: #9575CD !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-400 {\n background-color: #7E57C2 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-500 {\n background-color: #673AB7 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-600 {\n background-color: #5E35B1 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-700 {\n background-color: #512DA8 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-800 {\n background-color: #4527A0 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-900 {\n background-color: #311B92 !important;\n color: #ffffff !important;\n}\n.mdui-color-green {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-50 {\n background-color: #E8F5E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-100 {\n background-color: #C8E6C9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-200 {\n background-color: #A5D6A7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-300 {\n background-color: #81C784 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-400 {\n background-color: #66BB6A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-500 {\n background-color: #4CAF50 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-600 {\n background-color: #43A047 !important;\n color: #ffffff !important;\n}\n.mdui-color-green-700 {\n background-color: #388E3C !important;\n color: #ffffff !important;\n}\n.mdui-color-green-800 {\n background-color: #2E7D32 !important;\n color: #ffffff !important;\n}\n.mdui-color-green-900 {\n background-color: #1B5E20 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-50 {\n background-color: #FAFAFA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-100 {\n background-color: #F5F5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-200 {\n background-color: #EEEEEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-300 {\n background-color: #E0E0E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-400 {\n background-color: #BDBDBD !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-500 {\n background-color: #9E9E9E !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-grey-600 {\n background-color: #757575 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-700 {\n background-color: #616161 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-800 {\n background-color: #424242 !important;\n color: #ffffff !important;\n}\n.mdui-color-grey-900 {\n background-color: #212121 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-50 {\n background-color: #E8EAF6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-100 {\n background-color: #C5CAE9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-200 {\n background-color: #9FA8DA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-300 {\n background-color: #7986CB !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-400 {\n background-color: #5C6BC0 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-500 {\n background-color: #3F51B5 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-600 {\n background-color: #3949AB !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-700 {\n background-color: #303F9F !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-800 {\n background-color: #283593 !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-900 {\n background-color: #1A237E !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-50 {\n background-color: #E1F5FE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-100 {\n background-color: #B3E5FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-200 {\n background-color: #81D4FA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-300 {\n background-color: #4FC3F7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-400 {\n background-color: #29B6F6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-500 {\n background-color: #03A9F4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-600 {\n background-color: #039BE5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-700 {\n background-color: #0288D1 !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-800 {\n background-color: #0277BD !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-900 {\n background-color: #01579B !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-50 {\n background-color: #F1F8E9 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-100 {\n background-color: #DCEDC8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-200 {\n background-color: #C5E1A5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-300 {\n background-color: #AED581 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-400 {\n background-color: #9CCC65 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-500 {\n background-color: #8BC34A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-600 {\n background-color: #7CB342 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-700 {\n background-color: #689F38 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-800 {\n background-color: #558B2F !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green-900 {\n background-color: #33691E !important;\n color: #ffffff !important;\n}\n.mdui-color-lime {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-50 {\n background-color: #F9FBE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-100 {\n background-color: #F0F4C3 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-200 {\n background-color: #E6EE9C !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-300 {\n background-color: #DCE775 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-400 {\n background-color: #D4E157 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-500 {\n background-color: #CDDC39 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-600 {\n background-color: #C0CA33 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-700 {\n background-color: #AFB42B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-800 {\n background-color: #9E9D24 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-900 {\n background-color: #827717 !important;\n color: #ffffff !important;\n}\n.mdui-color-orange {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-50 {\n background-color: #FFF3E0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-100 {\n background-color: #FFE0B2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-200 {\n background-color: #FFCC80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-300 {\n background-color: #FFB74D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-400 {\n background-color: #FFA726 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-500 {\n background-color: #FF9800 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-600 {\n background-color: #FB8C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-700 {\n background-color: #F57C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-800 {\n background-color: #EF6C00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-900 {\n background-color: #E65100 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-50 {\n background-color: #FCE4EC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-100 {\n background-color: #F8BBD0 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-200 {\n background-color: #F48FB1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-300 {\n background-color: #F06292 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-400 {\n background-color: #EC407A !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-500 {\n background-color: #E91E63 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-600 {\n background-color: #D81B60 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-700 {\n background-color: #C2185B !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-800 {\n background-color: #AD1457 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-900 {\n background-color: #880E4F !important;\n color: #ffffff !important;\n}\n.mdui-color-purple {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-50 {\n background-color: #F3E5F5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-100 {\n background-color: #E1BEE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-200 {\n background-color: #CE93D8 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-300 {\n background-color: #BA68C8 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-400 {\n background-color: #AB47BC !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-500 {\n background-color: #9C27B0 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-600 {\n background-color: #8E24AA !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-700 {\n background-color: #7B1FA2 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-800 {\n background-color: #6A1B9A !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-900 {\n background-color: #4A148C !important;\n color: #ffffff !important;\n}\n.mdui-color-red {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-50 {\n background-color: #FFEBEE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-100 {\n background-color: #FFCDD2 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-200 {\n background-color: #EF9A9A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-300 {\n background-color: #E57373 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-400 {\n background-color: #EF5350 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-500 {\n background-color: #F44336 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-600 {\n background-color: #E53935 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-700 {\n background-color: #D32F2F !important;\n color: #ffffff !important;\n}\n.mdui-color-red-800 {\n background-color: #C62828 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-900 {\n background-color: #B71C1C !important;\n color: #ffffff !important;\n}\n.mdui-color-teal {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-50 {\n background-color: #E0F2F1 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-100 {\n background-color: #B2DFDB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-200 {\n background-color: #80CBC4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-300 {\n background-color: #4DB6AC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-400 {\n background-color: #26A69A !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-500 {\n background-color: #009688 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-600 {\n background-color: #00897B !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-700 {\n background-color: #00796B !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-800 {\n background-color: #00695C !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-900 {\n background-color: #004D40 !important;\n color: #ffffff !important;\n}\n.mdui-color-yellow {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-50 {\n background-color: #FFFDE7 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-100 {\n background-color: #FFF9C4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-200 {\n background-color: #FFF59D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-300 {\n background-color: #FFF176 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-400 {\n background-color: #FFEE58 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-500 {\n background-color: #FFEB3B !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-600 {\n background-color: #FDD835 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-700 {\n background-color: #FBC02D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-800 {\n background-color: #F9A825 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-900 {\n background-color: #F57F17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-[color]-accent\n * .mdui-color-[color]-[degree]\n */\n.mdui-color-amber-accent {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a100 {\n background-color: #FFE57F !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a200 {\n background-color: #FFD740 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a400 {\n background-color: #FFC400 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-amber-a700 {\n background-color: #FFAB00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-accent {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a100 {\n background-color: #82B1FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-blue-a200 {\n background-color: #448AFF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a400 {\n background-color: #2979FF !important;\n color: #ffffff !important;\n}\n.mdui-color-blue-a700 {\n background-color: #2962FF !important;\n color: #ffffff !important;\n}\n.mdui-color-cyan-accent {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a100 {\n background-color: #84FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a200 {\n background-color: #18FFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a400 {\n background-color: #00E5FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-cyan-a700 {\n background-color: #00B8D4 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-accent {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a100 {\n background-color: #FF9E80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a200 {\n background-color: #FF6E40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-orange-a400 {\n background-color: #FF3D00 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-orange-a700 {\n background-color: #DD2C00 !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-accent {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a100 {\n background-color: #B388FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-deep-purple-a200 {\n background-color: #7C4DFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a400 {\n background-color: #651FFF !important;\n color: #ffffff !important;\n}\n.mdui-color-deep-purple-a700 {\n background-color: #6200EA !important;\n color: #ffffff !important;\n}\n.mdui-color-green-accent {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a100 {\n background-color: #B9F6CA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a200 {\n background-color: #69F0AE !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a400 {\n background-color: #00E676 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-green-a700 {\n background-color: #00C853 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-accent {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a100 {\n background-color: #8C9EFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-indigo-a200 {\n background-color: #536DFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a400 {\n background-color: #3D5AFE !important;\n color: #ffffff !important;\n}\n.mdui-color-indigo-a700 {\n background-color: #304FFE !important;\n color: #ffffff !important;\n}\n.mdui-color-light-blue-accent {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a100 {\n background-color: #80D8FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a200 {\n background-color: #40C4FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a400 {\n background-color: #00B0FF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-blue-a700 {\n background-color: #0091EA !important;\n color: #ffffff !important;\n}\n.mdui-color-light-green-accent {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a100 {\n background-color: #CCFF90 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a200 {\n background-color: #B2FF59 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a400 {\n background-color: #76FF03 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-light-green-a700 {\n background-color: #64DD17 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-accent {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a100 {\n background-color: #F4FF81 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a200 {\n background-color: #EEFF41 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a400 {\n background-color: #C6FF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-lime-a700 {\n background-color: #AEEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-accent {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a100 {\n background-color: #FFD180 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a200 {\n background-color: #FFAB40 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a400 {\n background-color: #FF9100 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-orange-a700 {\n background-color: #FF6D00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-accent {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a100 {\n background-color: #FF80AB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-pink-a200 {\n background-color: #FF4081 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a400 {\n background-color: #F50057 !important;\n color: #ffffff !important;\n}\n.mdui-color-pink-a700 {\n background-color: #C51162 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-accent {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a100 {\n background-color: #EA80FC !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-purple-a200 {\n background-color: #E040FB !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a400 {\n background-color: #D500F9 !important;\n color: #ffffff !important;\n}\n.mdui-color-purple-a700 {\n background-color: #AA00FF !important;\n color: #ffffff !important;\n}\n.mdui-color-red-accent {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a100 {\n background-color: #FF8A80 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-red-a200 {\n background-color: #FF5252 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a400 {\n background-color: #FF1744 !important;\n color: #ffffff !important;\n}\n.mdui-color-red-a700 {\n background-color: #D50000 !important;\n color: #ffffff !important;\n}\n.mdui-color-teal-accent {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a100 {\n background-color: #A7FFEB !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a200 {\n background-color: #64FFDA !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a400 {\n background-color: #1DE9B6 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-teal-a700 {\n background-color: #00BFA5 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-accent {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a100 {\n background-color: #FFFF8D !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a200 {\n background-color: #FFFF00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a400 {\n background-color: #FFEA00 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-yellow-a700 {\n background-color: #FFD600 !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n/**\n * .mdui-color-black\n * .mdui-color-white\n * .mdui-color-transparent\n */\n.mdui-color-black {\n background-color: #000000 !important;\n color: #ffffff !important;\n}\n.mdui-color-white {\n background-color: #FFFFFF !important;\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-color-transparent {\n background-color: transparent !important;\n}\n/**\n * .mdui-theme-primary-[color] .mdui-text-color-theme\n * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n */\n.mdui-theme-primary-amber .mdui-text-color-theme {\n color: #FFC107 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-50 {\n color: #FFF8E1 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-100 {\n color: #FFECB3 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-200 {\n color: #FFE082 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-300 {\n color: #FFD54F !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-400 {\n color: #FFCA28 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-500 {\n color: #FFC107 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-600 {\n color: #FFB300 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-700 {\n color: #FFA000 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-800 {\n color: #FF8F00 !important;\n}\n.mdui-theme-primary-amber .mdui-text-color-theme-900 {\n color: #FF6F00 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme {\n color: #2196F3 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-50 {\n color: #E3F2FD !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-100 {\n color: #BBDEFB !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-200 {\n color: #90CAF9 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-300 {\n color: #64B5F6 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-400 {\n color: #42A5F5 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-500 {\n color: #2196F3 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-600 {\n color: #1E88E5 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-700 {\n color: #1976D2 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-800 {\n color: #1565C0 !important;\n}\n.mdui-theme-primary-blue .mdui-text-color-theme-900 {\n color: #0D47A1 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme {\n color: #607D8B !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-50 {\n color: #ECEFF1 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-100 {\n color: #CFD8DC !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-200 {\n color: #B0BEC5 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-300 {\n color: #90A4AE !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-400 {\n color: #78909C !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-500 {\n color: #607D8B !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-600 {\n color: #546E7A !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-700 {\n color: #455A64 !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-800 {\n color: #37474F !important;\n}\n.mdui-theme-primary-blue-grey .mdui-text-color-theme-900 {\n color: #263238 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme {\n color: #795548 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-50 {\n color: #EFEBE9 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-100 {\n color: #D7CCC8 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-200 {\n color: #BCAAA4 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-300 {\n color: #A1887F !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-400 {\n color: #8D6E63 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-500 {\n color: #795548 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-600 {\n color: #6D4C41 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-700 {\n color: #5D4037 !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-800 {\n color: #4E342E !important;\n}\n.mdui-theme-primary-brown .mdui-text-color-theme-900 {\n color: #3E2723 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme {\n color: #00BCD4 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-50 {\n color: #E0F7FA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-100 {\n color: #B2EBF2 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-200 {\n color: #80DEEA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-300 {\n color: #4DD0E1 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-400 {\n color: #26C6DA !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-500 {\n color: #00BCD4 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-600 {\n color: #00ACC1 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-700 {\n color: #0097A7 !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-800 {\n color: #00838F !important;\n}\n.mdui-theme-primary-cyan .mdui-text-color-theme-900 {\n color: #006064 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme {\n color: #FF5722 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-50 {\n color: #FBE9E7 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-100 {\n color: #FFCCBC !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-200 {\n color: #FFAB91 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-300 {\n color: #FF8A65 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-400 {\n color: #FF7043 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-500 {\n color: #FF5722 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-600 {\n color: #F4511E !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-700 {\n color: #E64A19 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-800 {\n color: #D84315 !important;\n}\n.mdui-theme-primary-deep-orange .mdui-text-color-theme-900 {\n color: #BF360C !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme {\n color: #673AB7 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-50 {\n color: #EDE7F6 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-100 {\n color: #D1C4E9 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-200 {\n color: #B39DDB !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-300 {\n color: #9575CD !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-400 {\n color: #7E57C2 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-500 {\n color: #673AB7 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-600 {\n color: #5E35B1 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-700 {\n color: #512DA8 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-800 {\n color: #4527A0 !important;\n}\n.mdui-theme-primary-deep-purple .mdui-text-color-theme-900 {\n color: #311B92 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme {\n color: #4CAF50 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-50 {\n color: #E8F5E9 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-100 {\n color: #C8E6C9 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-200 {\n color: #A5D6A7 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-300 {\n color: #81C784 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-400 {\n color: #66BB6A !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-500 {\n color: #4CAF50 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-600 {\n color: #43A047 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-700 {\n color: #388E3C !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-800 {\n color: #2E7D32 !important;\n}\n.mdui-theme-primary-green .mdui-text-color-theme-900 {\n color: #1B5E20 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme {\n color: #9E9E9E !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-50 {\n color: #FAFAFA !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-100 {\n color: #F5F5F5 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-200 {\n color: #EEEEEE !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-300 {\n color: #E0E0E0 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-400 {\n color: #BDBDBD !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-500 {\n color: #9E9E9E !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-600 {\n color: #757575 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-700 {\n color: #616161 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-800 {\n color: #424242 !important;\n}\n.mdui-theme-primary-grey .mdui-text-color-theme-900 {\n color: #212121 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme {\n color: #3F51B5 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-50 {\n color: #E8EAF6 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-100 {\n color: #C5CAE9 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-200 {\n color: #9FA8DA !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-300 {\n color: #7986CB !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-400 {\n color: #5C6BC0 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-500 {\n color: #3F51B5 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-600 {\n color: #3949AB !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-700 {\n color: #303F9F !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-800 {\n color: #283593 !important;\n}\n.mdui-theme-primary-indigo .mdui-text-color-theme-900 {\n color: #1A237E !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme {\n color: #03A9F4 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-50 {\n color: #E1F5FE !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-100 {\n color: #B3E5FC !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-200 {\n color: #81D4FA !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-300 {\n color: #4FC3F7 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-400 {\n color: #29B6F6 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-500 {\n color: #03A9F4 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-600 {\n color: #039BE5 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-700 {\n color: #0288D1 !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-800 {\n color: #0277BD !important;\n}\n.mdui-theme-primary-light-blue .mdui-text-color-theme-900 {\n color: #01579B !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme {\n color: #8BC34A !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-50 {\n color: #F1F8E9 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-100 {\n color: #DCEDC8 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-200 {\n color: #C5E1A5 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-300 {\n color: #AED581 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-400 {\n color: #9CCC65 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-500 {\n color: #8BC34A !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-600 {\n color: #7CB342 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-700 {\n color: #689F38 !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-800 {\n color: #558B2F !important;\n}\n.mdui-theme-primary-light-green .mdui-text-color-theme-900 {\n color: #33691E !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme {\n color: #CDDC39 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-50 {\n color: #F9FBE7 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-100 {\n color: #F0F4C3 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-200 {\n color: #E6EE9C !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-300 {\n color: #DCE775 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-400 {\n color: #D4E157 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-500 {\n color: #CDDC39 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-600 {\n color: #C0CA33 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-700 {\n color: #AFB42B !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-800 {\n color: #9E9D24 !important;\n}\n.mdui-theme-primary-lime .mdui-text-color-theme-900 {\n color: #827717 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme {\n color: #FF9800 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-50 {\n color: #FFF3E0 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-100 {\n color: #FFE0B2 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-200 {\n color: #FFCC80 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-300 {\n color: #FFB74D !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-400 {\n color: #FFA726 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-500 {\n color: #FF9800 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-600 {\n color: #FB8C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-700 {\n color: #F57C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-800 {\n color: #EF6C00 !important;\n}\n.mdui-theme-primary-orange .mdui-text-color-theme-900 {\n color: #E65100 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme {\n color: #E91E63 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-50 {\n color: #FCE4EC !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-100 {\n color: #F8BBD0 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-200 {\n color: #F48FB1 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-300 {\n color: #F06292 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-400 {\n color: #EC407A !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-500 {\n color: #E91E63 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-600 {\n color: #D81B60 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-700 {\n color: #C2185B !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-800 {\n color: #AD1457 !important;\n}\n.mdui-theme-primary-pink .mdui-text-color-theme-900 {\n color: #880E4F !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme {\n color: #9C27B0 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-50 {\n color: #F3E5F5 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-100 {\n color: #E1BEE7 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-200 {\n color: #CE93D8 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-300 {\n color: #BA68C8 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-400 {\n color: #AB47BC !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-500 {\n color: #9C27B0 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-600 {\n color: #8E24AA !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-700 {\n color: #7B1FA2 !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-800 {\n color: #6A1B9A !important;\n}\n.mdui-theme-primary-purple .mdui-text-color-theme-900 {\n color: #4A148C !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme {\n color: #F44336 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-50 {\n color: #FFEBEE !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-100 {\n color: #FFCDD2 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-200 {\n color: #EF9A9A !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-300 {\n color: #E57373 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-400 {\n color: #EF5350 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-500 {\n color: #F44336 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-600 {\n color: #E53935 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-700 {\n color: #D32F2F !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-800 {\n color: #C62828 !important;\n}\n.mdui-theme-primary-red .mdui-text-color-theme-900 {\n color: #B71C1C !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme {\n color: #009688 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-50 {\n color: #E0F2F1 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-100 {\n color: #B2DFDB !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-200 {\n color: #80CBC4 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-300 {\n color: #4DB6AC !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-400 {\n color: #26A69A !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-500 {\n color: #009688 !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-600 {\n color: #00897B !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-700 {\n color: #00796B !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-800 {\n color: #00695C !important;\n}\n.mdui-theme-primary-teal .mdui-text-color-theme-900 {\n color: #004D40 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme {\n color: #FFEB3B !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-50 {\n color: #FFFDE7 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-100 {\n color: #FFF9C4 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-200 {\n color: #FFF59D !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-300 {\n color: #FFF176 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-400 {\n color: #FFEE58 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-500 {\n color: #FFEB3B !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-600 {\n color: #FDD835 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-700 {\n color: #FBC02D !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-800 {\n color: #F9A825 !important;\n}\n.mdui-theme-primary-yellow .mdui-text-color-theme-900 {\n color: #F57F17 !important;\n}\n/**\n * .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n */\n.mdui-theme-accent-amber .mdui-text-color-theme-accent {\n color: #FFD740 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a100 {\n color: #FFE57F !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a200 {\n color: #FFD740 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a400 {\n color: #FFC400 !important;\n}\n.mdui-theme-accent-amber .mdui-text-color-theme-a700 {\n color: #FFAB00 !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-accent {\n color: #448AFF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a100 {\n color: #82B1FF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a200 {\n color: #448AFF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a400 {\n color: #2979FF !important;\n}\n.mdui-theme-accent-blue .mdui-text-color-theme-a700 {\n color: #2962FF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-accent {\n color: #18FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a100 {\n color: #84FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a200 {\n color: #18FFFF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a400 {\n color: #00E5FF !important;\n}\n.mdui-theme-accent-cyan .mdui-text-color-theme-a700 {\n color: #00B8D4 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-accent {\n color: #FF6E40 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a100 {\n color: #FF9E80 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a200 {\n color: #FF6E40 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a400 {\n color: #FF3D00 !important;\n}\n.mdui-theme-accent-deep-orange .mdui-text-color-theme-a700 {\n color: #DD2C00 !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-accent {\n color: #7C4DFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a100 {\n color: #B388FF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a200 {\n color: #7C4DFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a400 {\n color: #651FFF !important;\n}\n.mdui-theme-accent-deep-purple .mdui-text-color-theme-a700 {\n color: #6200EA !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-accent {\n color: #69F0AE !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a100 {\n color: #B9F6CA !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a200 {\n color: #69F0AE !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a400 {\n color: #00E676 !important;\n}\n.mdui-theme-accent-green .mdui-text-color-theme-a700 {\n color: #00C853 !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-accent {\n color: #536DFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a100 {\n color: #8C9EFF !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a200 {\n color: #536DFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a400 {\n color: #3D5AFE !important;\n}\n.mdui-theme-accent-indigo .mdui-text-color-theme-a700 {\n color: #304FFE !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-accent {\n color: #40C4FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a100 {\n color: #80D8FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a200 {\n color: #40C4FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a400 {\n color: #00B0FF !important;\n}\n.mdui-theme-accent-light-blue .mdui-text-color-theme-a700 {\n color: #0091EA !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-accent {\n color: #B2FF59 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a100 {\n color: #CCFF90 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a200 {\n color: #B2FF59 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a400 {\n color: #76FF03 !important;\n}\n.mdui-theme-accent-light-green .mdui-text-color-theme-a700 {\n color: #64DD17 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-accent {\n color: #EEFF41 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a100 {\n color: #F4FF81 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a200 {\n color: #EEFF41 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a400 {\n color: #C6FF00 !important;\n}\n.mdui-theme-accent-lime .mdui-text-color-theme-a700 {\n color: #AEEA00 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-accent {\n color: #FFAB40 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a100 {\n color: #FFD180 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a200 {\n color: #FFAB40 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a400 {\n color: #FF9100 !important;\n}\n.mdui-theme-accent-orange .mdui-text-color-theme-a700 {\n color: #FF6D00 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-accent {\n color: #FF4081 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a100 {\n color: #FF80AB !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a200 {\n color: #FF4081 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a400 {\n color: #F50057 !important;\n}\n.mdui-theme-accent-pink .mdui-text-color-theme-a700 {\n color: #C51162 !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-accent {\n color: #E040FB !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a100 {\n color: #EA80FC !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a200 {\n color: #E040FB !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a400 {\n color: #D500F9 !important;\n}\n.mdui-theme-accent-purple .mdui-text-color-theme-a700 {\n color: #AA00FF !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-accent {\n color: #FF5252 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a100 {\n color: #FF8A80 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a200 {\n color: #FF5252 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a400 {\n color: #FF1744 !important;\n}\n.mdui-theme-accent-red .mdui-text-color-theme-a700 {\n color: #D50000 !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-accent {\n color: #64FFDA !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a100 {\n color: #A7FFEB !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a200 {\n color: #64FFDA !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a400 {\n color: #1DE9B6 !important;\n}\n.mdui-theme-accent-teal .mdui-text-color-theme-a700 {\n color: #00BFA5 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-accent {\n color: #FFFF00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a100 {\n color: #FFFF8D !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a200 {\n color: #FFFF00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a400 {\n color: #FFEA00 !important;\n}\n.mdui-theme-accent-yellow .mdui-text-color-theme-a700 {\n color: #FFD600 !important;\n}\n/**\n * .mdui-text-color-[color]\n * .mdui-text-color-[color]-[degree]\n */\n.mdui-text-color-amber {\n color: #FFC107 !important;\n}\n.mdui-text-color-amber-50 {\n color: #FFF8E1 !important;\n}\n.mdui-text-color-amber-100 {\n color: #FFECB3 !important;\n}\n.mdui-text-color-amber-200 {\n color: #FFE082 !important;\n}\n.mdui-text-color-amber-300 {\n color: #FFD54F !important;\n}\n.mdui-text-color-amber-400 {\n color: #FFCA28 !important;\n}\n.mdui-text-color-amber-500 {\n color: #FFC107 !important;\n}\n.mdui-text-color-amber-600 {\n color: #FFB300 !important;\n}\n.mdui-text-color-amber-700 {\n color: #FFA000 !important;\n}\n.mdui-text-color-amber-800 {\n color: #FF8F00 !important;\n}\n.mdui-text-color-amber-900 {\n color: #FF6F00 !important;\n}\n.mdui-text-color-blue {\n color: #2196F3 !important;\n}\n.mdui-text-color-blue-50 {\n color: #E3F2FD !important;\n}\n.mdui-text-color-blue-100 {\n color: #BBDEFB !important;\n}\n.mdui-text-color-blue-200 {\n color: #90CAF9 !important;\n}\n.mdui-text-color-blue-300 {\n color: #64B5F6 !important;\n}\n.mdui-text-color-blue-400 {\n color: #42A5F5 !important;\n}\n.mdui-text-color-blue-500 {\n color: #2196F3 !important;\n}\n.mdui-text-color-blue-600 {\n color: #1E88E5 !important;\n}\n.mdui-text-color-blue-700 {\n color: #1976D2 !important;\n}\n.mdui-text-color-blue-800 {\n color: #1565C0 !important;\n}\n.mdui-text-color-blue-900 {\n color: #0D47A1 !important;\n}\n.mdui-text-color-blue-grey {\n color: #607D8B !important;\n}\n.mdui-text-color-blue-grey-50 {\n color: #ECEFF1 !important;\n}\n.mdui-text-color-blue-grey-100 {\n color: #CFD8DC !important;\n}\n.mdui-text-color-blue-grey-200 {\n color: #B0BEC5 !important;\n}\n.mdui-text-color-blue-grey-300 {\n color: #90A4AE !important;\n}\n.mdui-text-color-blue-grey-400 {\n color: #78909C !important;\n}\n.mdui-text-color-blue-grey-500 {\n color: #607D8B !important;\n}\n.mdui-text-color-blue-grey-600 {\n color: #546E7A !important;\n}\n.mdui-text-color-blue-grey-700 {\n color: #455A64 !important;\n}\n.mdui-text-color-blue-grey-800 {\n color: #37474F !important;\n}\n.mdui-text-color-blue-grey-900 {\n color: #263238 !important;\n}\n.mdui-text-color-brown {\n color: #795548 !important;\n}\n.mdui-text-color-brown-50 {\n color: #EFEBE9 !important;\n}\n.mdui-text-color-brown-100 {\n color: #D7CCC8 !important;\n}\n.mdui-text-color-brown-200 {\n color: #BCAAA4 !important;\n}\n.mdui-text-color-brown-300 {\n color: #A1887F !important;\n}\n.mdui-text-color-brown-400 {\n color: #8D6E63 !important;\n}\n.mdui-text-color-brown-500 {\n color: #795548 !important;\n}\n.mdui-text-color-brown-600 {\n color: #6D4C41 !important;\n}\n.mdui-text-color-brown-700 {\n color: #5D4037 !important;\n}\n.mdui-text-color-brown-800 {\n color: #4E342E !important;\n}\n.mdui-text-color-brown-900 {\n color: #3E2723 !important;\n}\n.mdui-text-color-cyan {\n color: #00BCD4 !important;\n}\n.mdui-text-color-cyan-50 {\n color: #E0F7FA !important;\n}\n.mdui-text-color-cyan-100 {\n color: #B2EBF2 !important;\n}\n.mdui-text-color-cyan-200 {\n color: #80DEEA !important;\n}\n.mdui-text-color-cyan-300 {\n color: #4DD0E1 !important;\n}\n.mdui-text-color-cyan-400 {\n color: #26C6DA !important;\n}\n.mdui-text-color-cyan-500 {\n color: #00BCD4 !important;\n}\n.mdui-text-color-cyan-600 {\n color: #00ACC1 !important;\n}\n.mdui-text-color-cyan-700 {\n color: #0097A7 !important;\n}\n.mdui-text-color-cyan-800 {\n color: #00838F !important;\n}\n.mdui-text-color-cyan-900 {\n color: #006064 !important;\n}\n.mdui-text-color-deep-orange {\n color: #FF5722 !important;\n}\n.mdui-text-color-deep-orange-50 {\n color: #FBE9E7 !important;\n}\n.mdui-text-color-deep-orange-100 {\n color: #FFCCBC !important;\n}\n.mdui-text-color-deep-orange-200 {\n color: #FFAB91 !important;\n}\n.mdui-text-color-deep-orange-300 {\n color: #FF8A65 !important;\n}\n.mdui-text-color-deep-orange-400 {\n color: #FF7043 !important;\n}\n.mdui-text-color-deep-orange-500 {\n color: #FF5722 !important;\n}\n.mdui-text-color-deep-orange-600 {\n color: #F4511E !important;\n}\n.mdui-text-color-deep-orange-700 {\n color: #E64A19 !important;\n}\n.mdui-text-color-deep-orange-800 {\n color: #D84315 !important;\n}\n.mdui-text-color-deep-orange-900 {\n color: #BF360C !important;\n}\n.mdui-text-color-deep-purple {\n color: #673AB7 !important;\n}\n.mdui-text-color-deep-purple-50 {\n color: #EDE7F6 !important;\n}\n.mdui-text-color-deep-purple-100 {\n color: #D1C4E9 !important;\n}\n.mdui-text-color-deep-purple-200 {\n color: #B39DDB !important;\n}\n.mdui-text-color-deep-purple-300 {\n color: #9575CD !important;\n}\n.mdui-text-color-deep-purple-400 {\n color: #7E57C2 !important;\n}\n.mdui-text-color-deep-purple-500 {\n color: #673AB7 !important;\n}\n.mdui-text-color-deep-purple-600 {\n color: #5E35B1 !important;\n}\n.mdui-text-color-deep-purple-700 {\n color: #512DA8 !important;\n}\n.mdui-text-color-deep-purple-800 {\n color: #4527A0 !important;\n}\n.mdui-text-color-deep-purple-900 {\n color: #311B92 !important;\n}\n.mdui-text-color-green {\n color: #4CAF50 !important;\n}\n.mdui-text-color-green-50 {\n color: #E8F5E9 !important;\n}\n.mdui-text-color-green-100 {\n color: #C8E6C9 !important;\n}\n.mdui-text-color-green-200 {\n color: #A5D6A7 !important;\n}\n.mdui-text-color-green-300 {\n color: #81C784 !important;\n}\n.mdui-text-color-green-400 {\n color: #66BB6A !important;\n}\n.mdui-text-color-green-500 {\n color: #4CAF50 !important;\n}\n.mdui-text-color-green-600 {\n color: #43A047 !important;\n}\n.mdui-text-color-green-700 {\n color: #388E3C !important;\n}\n.mdui-text-color-green-800 {\n color: #2E7D32 !important;\n}\n.mdui-text-color-green-900 {\n color: #1B5E20 !important;\n}\n.mdui-text-color-grey {\n color: #9E9E9E !important;\n}\n.mdui-text-color-grey-50 {\n color: #FAFAFA !important;\n}\n.mdui-text-color-grey-100 {\n color: #F5F5F5 !important;\n}\n.mdui-text-color-grey-200 {\n color: #EEEEEE !important;\n}\n.mdui-text-color-grey-300 {\n color: #E0E0E0 !important;\n}\n.mdui-text-color-grey-400 {\n color: #BDBDBD !important;\n}\n.mdui-text-color-grey-500 {\n color: #9E9E9E !important;\n}\n.mdui-text-color-grey-600 {\n color: #757575 !important;\n}\n.mdui-text-color-grey-700 {\n color: #616161 !important;\n}\n.mdui-text-color-grey-800 {\n color: #424242 !important;\n}\n.mdui-text-color-grey-900 {\n color: #212121 !important;\n}\n.mdui-text-color-indigo {\n color: #3F51B5 !important;\n}\n.mdui-text-color-indigo-50 {\n color: #E8EAF6 !important;\n}\n.mdui-text-color-indigo-100 {\n color: #C5CAE9 !important;\n}\n.mdui-text-color-indigo-200 {\n color: #9FA8DA !important;\n}\n.mdui-text-color-indigo-300 {\n color: #7986CB !important;\n}\n.mdui-text-color-indigo-400 {\n color: #5C6BC0 !important;\n}\n.mdui-text-color-indigo-500 {\n color: #3F51B5 !important;\n}\n.mdui-text-color-indigo-600 {\n color: #3949AB !important;\n}\n.mdui-text-color-indigo-700 {\n color: #303F9F !important;\n}\n.mdui-text-color-indigo-800 {\n color: #283593 !important;\n}\n.mdui-text-color-indigo-900 {\n color: #1A237E !important;\n}\n.mdui-text-color-light-blue {\n color: #03A9F4 !important;\n}\n.mdui-text-color-light-blue-50 {\n color: #E1F5FE !important;\n}\n.mdui-text-color-light-blue-100 {\n color: #B3E5FC !important;\n}\n.mdui-text-color-light-blue-200 {\n color: #81D4FA !important;\n}\n.mdui-text-color-light-blue-300 {\n color: #4FC3F7 !important;\n}\n.mdui-text-color-light-blue-400 {\n color: #29B6F6 !important;\n}\n.mdui-text-color-light-blue-500 {\n color: #03A9F4 !important;\n}\n.mdui-text-color-light-blue-600 {\n color: #039BE5 !important;\n}\n.mdui-text-color-light-blue-700 {\n color: #0288D1 !important;\n}\n.mdui-text-color-light-blue-800 {\n color: #0277BD !important;\n}\n.mdui-text-color-light-blue-900 {\n color: #01579B !important;\n}\n.mdui-text-color-light-green {\n color: #8BC34A !important;\n}\n.mdui-text-color-light-green-50 {\n color: #F1F8E9 !important;\n}\n.mdui-text-color-light-green-100 {\n color: #DCEDC8 !important;\n}\n.mdui-text-color-light-green-200 {\n color: #C5E1A5 !important;\n}\n.mdui-text-color-light-green-300 {\n color: #AED581 !important;\n}\n.mdui-text-color-light-green-400 {\n color: #9CCC65 !important;\n}\n.mdui-text-color-light-green-500 {\n color: #8BC34A !important;\n}\n.mdui-text-color-light-green-600 {\n color: #7CB342 !important;\n}\n.mdui-text-color-light-green-700 {\n color: #689F38 !important;\n}\n.mdui-text-color-light-green-800 {\n color: #558B2F !important;\n}\n.mdui-text-color-light-green-900 {\n color: #33691E !important;\n}\n.mdui-text-color-lime {\n color: #CDDC39 !important;\n}\n.mdui-text-color-lime-50 {\n color: #F9FBE7 !important;\n}\n.mdui-text-color-lime-100 {\n color: #F0F4C3 !important;\n}\n.mdui-text-color-lime-200 {\n color: #E6EE9C !important;\n}\n.mdui-text-color-lime-300 {\n color: #DCE775 !important;\n}\n.mdui-text-color-lime-400 {\n color: #D4E157 !important;\n}\n.mdui-text-color-lime-500 {\n color: #CDDC39 !important;\n}\n.mdui-text-color-lime-600 {\n color: #C0CA33 !important;\n}\n.mdui-text-color-lime-700 {\n color: #AFB42B !important;\n}\n.mdui-text-color-lime-800 {\n color: #9E9D24 !important;\n}\n.mdui-text-color-lime-900 {\n color: #827717 !important;\n}\n.mdui-text-color-orange {\n color: #FF9800 !important;\n}\n.mdui-text-color-orange-50 {\n color: #FFF3E0 !important;\n}\n.mdui-text-color-orange-100 {\n color: #FFE0B2 !important;\n}\n.mdui-text-color-orange-200 {\n color: #FFCC80 !important;\n}\n.mdui-text-color-orange-300 {\n color: #FFB74D !important;\n}\n.mdui-text-color-orange-400 {\n color: #FFA726 !important;\n}\n.mdui-text-color-orange-500 {\n color: #FF9800 !important;\n}\n.mdui-text-color-orange-600 {\n color: #FB8C00 !important;\n}\n.mdui-text-color-orange-700 {\n color: #F57C00 !important;\n}\n.mdui-text-color-orange-800 {\n color: #EF6C00 !important;\n}\n.mdui-text-color-orange-900 {\n color: #E65100 !important;\n}\n.mdui-text-color-pink {\n color: #E91E63 !important;\n}\n.mdui-text-color-pink-50 {\n color: #FCE4EC !important;\n}\n.mdui-text-color-pink-100 {\n color: #F8BBD0 !important;\n}\n.mdui-text-color-pink-200 {\n color: #F48FB1 !important;\n}\n.mdui-text-color-pink-300 {\n color: #F06292 !important;\n}\n.mdui-text-color-pink-400 {\n color: #EC407A !important;\n}\n.mdui-text-color-pink-500 {\n color: #E91E63 !important;\n}\n.mdui-text-color-pink-600 {\n color: #D81B60 !important;\n}\n.mdui-text-color-pink-700 {\n color: #C2185B !important;\n}\n.mdui-text-color-pink-800 {\n color: #AD1457 !important;\n}\n.mdui-text-color-pink-900 {\n color: #880E4F !important;\n}\n.mdui-text-color-purple {\n color: #9C27B0 !important;\n}\n.mdui-text-color-purple-50 {\n color: #F3E5F5 !important;\n}\n.mdui-text-color-purple-100 {\n color: #E1BEE7 !important;\n}\n.mdui-text-color-purple-200 {\n color: #CE93D8 !important;\n}\n.mdui-text-color-purple-300 {\n color: #BA68C8 !important;\n}\n.mdui-text-color-purple-400 {\n color: #AB47BC !important;\n}\n.mdui-text-color-purple-500 {\n color: #9C27B0 !important;\n}\n.mdui-text-color-purple-600 {\n color: #8E24AA !important;\n}\n.mdui-text-color-purple-700 {\n color: #7B1FA2 !important;\n}\n.mdui-text-color-purple-800 {\n color: #6A1B9A !important;\n}\n.mdui-text-color-purple-900 {\n color: #4A148C !important;\n}\n.mdui-text-color-red {\n color: #F44336 !important;\n}\n.mdui-text-color-red-50 {\n color: #FFEBEE !important;\n}\n.mdui-text-color-red-100 {\n color: #FFCDD2 !important;\n}\n.mdui-text-color-red-200 {\n color: #EF9A9A !important;\n}\n.mdui-text-color-red-300 {\n color: #E57373 !important;\n}\n.mdui-text-color-red-400 {\n color: #EF5350 !important;\n}\n.mdui-text-color-red-500 {\n color: #F44336 !important;\n}\n.mdui-text-color-red-600 {\n color: #E53935 !important;\n}\n.mdui-text-color-red-700 {\n color: #D32F2F !important;\n}\n.mdui-text-color-red-800 {\n color: #C62828 !important;\n}\n.mdui-text-color-red-900 {\n color: #B71C1C !important;\n}\n.mdui-text-color-teal {\n color: #009688 !important;\n}\n.mdui-text-color-teal-50 {\n color: #E0F2F1 !important;\n}\n.mdui-text-color-teal-100 {\n color: #B2DFDB !important;\n}\n.mdui-text-color-teal-200 {\n color: #80CBC4 !important;\n}\n.mdui-text-color-teal-300 {\n color: #4DB6AC !important;\n}\n.mdui-text-color-teal-400 {\n color: #26A69A !important;\n}\n.mdui-text-color-teal-500 {\n color: #009688 !important;\n}\n.mdui-text-color-teal-600 {\n color: #00897B !important;\n}\n.mdui-text-color-teal-700 {\n color: #00796B !important;\n}\n.mdui-text-color-teal-800 {\n color: #00695C !important;\n}\n.mdui-text-color-teal-900 {\n color: #004D40 !important;\n}\n.mdui-text-color-yellow {\n color: #FFEB3B !important;\n}\n.mdui-text-color-yellow-50 {\n color: #FFFDE7 !important;\n}\n.mdui-text-color-yellow-100 {\n color: #FFF9C4 !important;\n}\n.mdui-text-color-yellow-200 {\n color: #FFF59D !important;\n}\n.mdui-text-color-yellow-300 {\n color: #FFF176 !important;\n}\n.mdui-text-color-yellow-400 {\n color: #FFEE58 !important;\n}\n.mdui-text-color-yellow-500 {\n color: #FFEB3B !important;\n}\n.mdui-text-color-yellow-600 {\n color: #FDD835 !important;\n}\n.mdui-text-color-yellow-700 {\n color: #FBC02D !important;\n}\n.mdui-text-color-yellow-800 {\n color: #F9A825 !important;\n}\n.mdui-text-color-yellow-900 {\n color: #F57F17 !important;\n}\n/**\n * .mdui-text-color-[color]-accent\n * .mdui-text-color-[color]-[degree]\n */\n.mdui-text-color-amber-accent {\n color: #FFD740 !important;\n}\n.mdui-text-color-amber-a100 {\n color: #FFE57F !important;\n}\n.mdui-text-color-amber-a200 {\n color: #FFD740 !important;\n}\n.mdui-text-color-amber-a400 {\n color: #FFC400 !important;\n}\n.mdui-text-color-amber-a700 {\n color: #FFAB00 !important;\n}\n.mdui-text-color-blue-accent {\n color: #448AFF !important;\n}\n.mdui-text-color-blue-a100 {\n color: #82B1FF !important;\n}\n.mdui-text-color-blue-a200 {\n color: #448AFF !important;\n}\n.mdui-text-color-blue-a400 {\n color: #2979FF !important;\n}\n.mdui-text-color-blue-a700 {\n color: #2962FF !important;\n}\n.mdui-text-color-cyan-accent {\n color: #18FFFF !important;\n}\n.mdui-text-color-cyan-a100 {\n color: #84FFFF !important;\n}\n.mdui-text-color-cyan-a200 {\n color: #18FFFF !important;\n}\n.mdui-text-color-cyan-a400 {\n color: #00E5FF !important;\n}\n.mdui-text-color-cyan-a700 {\n color: #00B8D4 !important;\n}\n.mdui-text-color-deep-orange-accent {\n color: #FF6E40 !important;\n}\n.mdui-text-color-deep-orange-a100 {\n color: #FF9E80 !important;\n}\n.mdui-text-color-deep-orange-a200 {\n color: #FF6E40 !important;\n}\n.mdui-text-color-deep-orange-a400 {\n color: #FF3D00 !important;\n}\n.mdui-text-color-deep-orange-a700 {\n color: #DD2C00 !important;\n}\n.mdui-text-color-deep-purple-accent {\n color: #7C4DFF !important;\n}\n.mdui-text-color-deep-purple-a100 {\n color: #B388FF !important;\n}\n.mdui-text-color-deep-purple-a200 {\n color: #7C4DFF !important;\n}\n.mdui-text-color-deep-purple-a400 {\n color: #651FFF !important;\n}\n.mdui-text-color-deep-purple-a700 {\n color: #6200EA !important;\n}\n.mdui-text-color-green-accent {\n color: #69F0AE !important;\n}\n.mdui-text-color-green-a100 {\n color: #B9F6CA !important;\n}\n.mdui-text-color-green-a200 {\n color: #69F0AE !important;\n}\n.mdui-text-color-green-a400 {\n color: #00E676 !important;\n}\n.mdui-text-color-green-a700 {\n color: #00C853 !important;\n}\n.mdui-text-color-indigo-accent {\n color: #536DFE !important;\n}\n.mdui-text-color-indigo-a100 {\n color: #8C9EFF !important;\n}\n.mdui-text-color-indigo-a200 {\n color: #536DFE !important;\n}\n.mdui-text-color-indigo-a400 {\n color: #3D5AFE !important;\n}\n.mdui-text-color-indigo-a700 {\n color: #304FFE !important;\n}\n.mdui-text-color-light-blue-accent {\n color: #40C4FF !important;\n}\n.mdui-text-color-light-blue-a100 {\n color: #80D8FF !important;\n}\n.mdui-text-color-light-blue-a200 {\n color: #40C4FF !important;\n}\n.mdui-text-color-light-blue-a400 {\n color: #00B0FF !important;\n}\n.mdui-text-color-light-blue-a700 {\n color: #0091EA !important;\n}\n.mdui-text-color-light-green-accent {\n color: #B2FF59 !important;\n}\n.mdui-text-color-light-green-a100 {\n color: #CCFF90 !important;\n}\n.mdui-text-color-light-green-a200 {\n color: #B2FF59 !important;\n}\n.mdui-text-color-light-green-a400 {\n color: #76FF03 !important;\n}\n.mdui-text-color-light-green-a700 {\n color: #64DD17 !important;\n}\n.mdui-text-color-lime-accent {\n color: #EEFF41 !important;\n}\n.mdui-text-color-lime-a100 {\n color: #F4FF81 !important;\n}\n.mdui-text-color-lime-a200 {\n color: #EEFF41 !important;\n}\n.mdui-text-color-lime-a400 {\n color: #C6FF00 !important;\n}\n.mdui-text-color-lime-a700 {\n color: #AEEA00 !important;\n}\n.mdui-text-color-orange-accent {\n color: #FFAB40 !important;\n}\n.mdui-text-color-orange-a100 {\n color: #FFD180 !important;\n}\n.mdui-text-color-orange-a200 {\n color: #FFAB40 !important;\n}\n.mdui-text-color-orange-a400 {\n color: #FF9100 !important;\n}\n.mdui-text-color-orange-a700 {\n color: #FF6D00 !important;\n}\n.mdui-text-color-pink-accent {\n color: #FF4081 !important;\n}\n.mdui-text-color-pink-a100 {\n color: #FF80AB !important;\n}\n.mdui-text-color-pink-a200 {\n color: #FF4081 !important;\n}\n.mdui-text-color-pink-a400 {\n color: #F50057 !important;\n}\n.mdui-text-color-pink-a700 {\n color: #C51162 !important;\n}\n.mdui-text-color-purple-accent {\n color: #E040FB !important;\n}\n.mdui-text-color-purple-a100 {\n color: #EA80FC !important;\n}\n.mdui-text-color-purple-a200 {\n color: #E040FB !important;\n}\n.mdui-text-color-purple-a400 {\n color: #D500F9 !important;\n}\n.mdui-text-color-purple-a700 {\n color: #AA00FF !important;\n}\n.mdui-text-color-red-accent {\n color: #FF5252 !important;\n}\n.mdui-text-color-red-a100 {\n color: #FF8A80 !important;\n}\n.mdui-text-color-red-a200 {\n color: #FF5252 !important;\n}\n.mdui-text-color-red-a400 {\n color: #FF1744 !important;\n}\n.mdui-text-color-red-a700 {\n color: #D50000 !important;\n}\n.mdui-text-color-teal-accent {\n color: #64FFDA !important;\n}\n.mdui-text-color-teal-a100 {\n color: #A7FFEB !important;\n}\n.mdui-text-color-teal-a200 {\n color: #64FFDA !important;\n}\n.mdui-text-color-teal-a400 {\n color: #1DE9B6 !important;\n}\n.mdui-text-color-teal-a700 {\n color: #00BFA5 !important;\n}\n.mdui-text-color-yellow-accent {\n color: #FFFF00 !important;\n}\n.mdui-text-color-yellow-a100 {\n color: #FFFF8D !important;\n}\n.mdui-text-color-yellow-a200 {\n color: #FFFF00 !important;\n}\n.mdui-text-color-yellow-a400 {\n color: #FFEA00 !important;\n}\n.mdui-text-color-yellow-a700 {\n color: #FFD600 !important;\n}\n/**\n * .mdui-text-color-black\n * .mdui-text-color-black-[]\n * .mdui-text-color-theme-[]\n */\n.mdui-text-color-black {\n color: #000000 !important;\n}\n.mdui-text-color-black-text,\n.mdui-text-color-theme-text {\n color: rgba(0, 0, 0, 0.87) !important;\n}\n.mdui-text-color-black-secondary,\n.mdui-text-color-theme-secondary {\n color: rgba(0, 0, 0, 0.54) !important;\n}\n.mdui-text-color-black-disabled,\n.mdui-text-color-theme-disabled {\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.mdui-text-color-black-divider,\n.mdui-text-color-theme-divider {\n color: rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-text-color-black-icon,\n.mdui-text-color-theme-icon {\n color: rgba(0, 0, 0, 0.54) !important;\n}\n.mdui-text-color-black-icon-disabled,\n.mdui-text-color-theme-icon-disabled {\n color: rgba(0, 0, 0, 0.26) !important;\n}\n/**\n * .mdui-text-color-white\n * .mdui-text-color-white-[]\n */\n.mdui-text-color-white {\n color: #FFFFFF !important;\n}\n.mdui-text-color-white-text {\n color: #ffffff !important;\n}\n.mdui-text-color-white-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n}\n.mdui-text-color-white-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-text-color-white-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n}\n.mdui-text-color-white-icon {\n color: #ffffff !important;\n}\n.mdui-text-color-white-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n/**\n * .mdui-text-color-theme-[] 深色主题\n */\n.mdui-theme-layout-dark .mdui-text-color-theme-text {\n color: #ffffff !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-secondary {\n color: rgba(255, 255, 255, 0.7) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-disabled {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-divider {\n color: rgba(255, 255, 255, 0.12) !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-icon {\n color: #ffffff !important;\n}\n.mdui-theme-layout-dark .mdui-text-color-theme-icon-disabled {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n/**\n * =============================================================================\n * ************ Helper 辅助类 ************\n * =============================================================================\n */\n/**\n * =================== 边距\n */\n.mdui-m-a-0 {\n margin: 0px !important;\n}\n.mdui-m-t-0 {\n margin-top: 0px !important;\n}\n.mdui-m-r-0 {\n margin-right: 0px !important;\n}\n.mdui-m-b-0 {\n margin-bottom: 0px !important;\n}\n.mdui-m-l-0 {\n margin-left: 0px !important;\n}\n.mdui-m-x-0 {\n margin-left: 0px !important;\n margin-right: 0px !important;\n}\n.mdui-m-y-0 {\n margin-top: 0px !important;\n margin-bottom: 0px !important;\n}\n.mdui-p-a-0 {\n padding: 0px !important;\n}\n.mdui-p-t-0 {\n padding-top: 0px !important;\n}\n.mdui-p-r-0 {\n padding-right: 0px !important;\n}\n.mdui-p-b-0 {\n padding-bottom: 0px !important;\n}\n.mdui-p-l-0 {\n padding-left: 0px !important;\n}\n.mdui-p-x-0 {\n padding-left: 0px !important;\n padding-right: 0px !important;\n}\n.mdui-p-y-0 {\n padding-top: 0px !important;\n padding-bottom: 0px !important;\n}\n.mdui-m-a-1 {\n margin: 8px !important;\n}\n.mdui-m-t-1 {\n margin-top: 8px !important;\n}\n.mdui-m-r-1 {\n margin-right: 8px !important;\n}\n.mdui-m-b-1 {\n margin-bottom: 8px !important;\n}\n.mdui-m-l-1 {\n margin-left: 8px !important;\n}\n.mdui-m-x-1 {\n margin-left: 8px !important;\n margin-right: 8px !important;\n}\n.mdui-m-y-1 {\n margin-top: 8px !important;\n margin-bottom: 8px !important;\n}\n.mdui-p-a-1 {\n padding: 8px !important;\n}\n.mdui-p-t-1 {\n padding-top: 8px !important;\n}\n.mdui-p-r-1 {\n padding-right: 8px !important;\n}\n.mdui-p-b-1 {\n padding-bottom: 8px !important;\n}\n.mdui-p-l-1 {\n padding-left: 8px !important;\n}\n.mdui-p-x-1 {\n padding-left: 8px !important;\n padding-right: 8px !important;\n}\n.mdui-p-y-1 {\n padding-top: 8px !important;\n padding-bottom: 8px !important;\n}\n.mdui-m-a-2 {\n margin: 16px !important;\n}\n.mdui-m-t-2 {\n margin-top: 16px !important;\n}\n.mdui-m-r-2 {\n margin-right: 16px !important;\n}\n.mdui-m-b-2 {\n margin-bottom: 16px !important;\n}\n.mdui-m-l-2 {\n margin-left: 16px !important;\n}\n.mdui-m-x-2 {\n margin-left: 16px !important;\n margin-right: 16px !important;\n}\n.mdui-m-y-2 {\n margin-top: 16px !important;\n margin-bottom: 16px !important;\n}\n.mdui-p-a-2 {\n padding: 16px !important;\n}\n.mdui-p-t-2 {\n padding-top: 16px !important;\n}\n.mdui-p-r-2 {\n padding-right: 16px !important;\n}\n.mdui-p-b-2 {\n padding-bottom: 16px !important;\n}\n.mdui-p-l-2 {\n padding-left: 16px !important;\n}\n.mdui-p-x-2 {\n padding-left: 16px !important;\n padding-right: 16px !important;\n}\n.mdui-p-y-2 {\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n.mdui-m-a-3 {\n margin: 24px !important;\n}\n.mdui-m-t-3 {\n margin-top: 24px !important;\n}\n.mdui-m-r-3 {\n margin-right: 24px !important;\n}\n.mdui-m-b-3 {\n margin-bottom: 24px !important;\n}\n.mdui-m-l-3 {\n margin-left: 24px !important;\n}\n.mdui-m-x-3 {\n margin-left: 24px !important;\n margin-right: 24px !important;\n}\n.mdui-m-y-3 {\n margin-top: 24px !important;\n margin-bottom: 24px !important;\n}\n.mdui-p-a-3 {\n padding: 24px !important;\n}\n.mdui-p-t-3 {\n padding-top: 24px !important;\n}\n.mdui-p-r-3 {\n padding-right: 24px !important;\n}\n.mdui-p-b-3 {\n padding-bottom: 24px !important;\n}\n.mdui-p-l-3 {\n padding-left: 24px !important;\n}\n.mdui-p-x-3 {\n padding-left: 24px !important;\n padding-right: 24px !important;\n}\n.mdui-p-y-3 {\n padding-top: 24px !important;\n padding-bottom: 24px !important;\n}\n.mdui-m-a-4 {\n margin: 32px !important;\n}\n.mdui-m-t-4 {\n margin-top: 32px !important;\n}\n.mdui-m-r-4 {\n margin-right: 32px !important;\n}\n.mdui-m-b-4 {\n margin-bottom: 32px !important;\n}\n.mdui-m-l-4 {\n margin-left: 32px !important;\n}\n.mdui-m-x-4 {\n margin-left: 32px !important;\n margin-right: 32px !important;\n}\n.mdui-m-y-4 {\n margin-top: 32px !important;\n margin-bottom: 32px !important;\n}\n.mdui-p-a-4 {\n padding: 32px !important;\n}\n.mdui-p-t-4 {\n padding-top: 32px !important;\n}\n.mdui-p-r-4 {\n padding-right: 32px !important;\n}\n.mdui-p-b-4 {\n padding-bottom: 32px !important;\n}\n.mdui-p-l-4 {\n padding-left: 32px !important;\n}\n.mdui-p-x-4 {\n padding-left: 32px !important;\n padding-right: 32px !important;\n}\n.mdui-p-y-4 {\n padding-top: 32px !important;\n padding-bottom: 32px !important;\n}\n.mdui-m-a-5 {\n margin: 40px !important;\n}\n.mdui-m-t-5 {\n margin-top: 40px !important;\n}\n.mdui-m-r-5 {\n margin-right: 40px !important;\n}\n.mdui-m-b-5 {\n margin-bottom: 40px !important;\n}\n.mdui-m-l-5 {\n margin-left: 40px !important;\n}\n.mdui-m-x-5 {\n margin-left: 40px !important;\n margin-right: 40px !important;\n}\n.mdui-m-y-5 {\n margin-top: 40px !important;\n margin-bottom: 40px !important;\n}\n.mdui-p-a-5 {\n padding: 40px !important;\n}\n.mdui-p-t-5 {\n padding-top: 40px !important;\n}\n.mdui-p-r-5 {\n padding-right: 40px !important;\n}\n.mdui-p-b-5 {\n padding-bottom: 40px !important;\n}\n.mdui-p-l-5 {\n padding-left: 40px !important;\n}\n.mdui-p-x-5 {\n padding-left: 40px !important;\n padding-right: 40px !important;\n}\n.mdui-p-y-5 {\n padding-top: 40px !important;\n padding-bottom: 40px !important;\n}\n/**\n * ======================== 快速浮动\n */\n/* 向左浮动 */\n.mdui-float-left {\n float: left !important;\n}\n/* 向右浮动 */\n.mdui-float-right {\n float: right !important;\n}\n/**\n * ========================= 水平居中\n */\n/* 水平居中 */\n.mdui-center {\n display: block !important;\n margin-left: auto !important;\n margin-right: auto !important;\n}\n/**\n * ========================= 垂直居中\n */\n/* 垂直居中 */\n.mdui-valign {\n display: flex !important;\n align-items: center !important;\n}\n/**\n * ========================= 文本对齐方式\n */\n/* 文本左对齐 */\n.mdui-text-left {\n text-align: left !important;\n}\n/* 文本居中对齐 */\n.mdui-text-center {\n text-align: center !important;\n}\n/* 文本向右对齐 */\n.mdui-text-right {\n text-align: right !important;\n}\n/**\n * ========================= 文本大小写转换\n */\n/* 文本转为小写 */\n.mdui-text-lowercase {\n text-transform: lowercase !important;\n}\n/* 文本转为大写 */\n.mdui-text-uppercase {\n text-transform: uppercase !important;\n}\n/* 文本转为单词的首字母大写 */\n.mdui-text-capitalize {\n text-transform: capitalize !important;\n}\n/**\n * ======================== 文本截断\n */\n/* 文本截断 */\n.mdui-text-truncate {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n/**\n * ========================= 清除浮动\n */\n/* 清除浮动 */\n.mdui-clearfix:before,\n.mdui-clearfix:after {\n content: \" \";\n display: table;\n}\n.mdui-clearfix:after {\n clear: both;\n}\n/**\n * ========================= 隐藏内容\n */\n/* 隐藏元素 */\n.mdui-hidden,\n[hidden] {\n display: none !important;\n}\n/* 使元素不可见 */\n.mdui-invisible {\n visibility: hidden;\n}\n/* Responsive utilities 响应式工具\n ========================================================================== */\n/* 在特定屏幕的特备上隐藏 */\n@media (max-width: 599px) {\n .mdui-hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 600px) and (max-width: 1023px) {\n .mdui-hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 1024px) and (max-width: 1439px) {\n .mdui-hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1440px) and (max-width: 1919px) {\n .mdui-hidden-lg {\n display: none !important;\n }\n}\n@media (min-width: 1920px) {\n .mdui-hidden-xl {\n display: none !important;\n }\n}\n/* 在比特定屏幕小的设备上隐藏 */\n@media (max-width: 599px) {\n .mdui-hidden-xs-down {\n display: none !important;\n }\n}\n@media (max-width: 1023px) {\n .mdui-hidden-sm-down {\n display: none !important;\n }\n}\n@media (max-width: 1439px) {\n .mdui-hidden-md-down {\n display: none !important;\n }\n}\n@media (max-width: 1919px) {\n .mdui-hidden-lg-down {\n display: none !important;\n }\n}\n.mdui-hidden-xl-down {\n display: none !important;\n}\n/* 在比特定屏幕大的设备上隐藏 */\n.mdui-hidden-xs-up {\n display: none !important;\n}\n@media (min-width: 600px) {\n .mdui-hidden-sm-up {\n display: none !important;\n }\n}\n@media (min-width: 1024px) {\n .mdui-hidden-md-up {\n display: none !important;\n }\n}\n@media (min-width: 1440px) {\n .mdui-hidden-lg-up {\n display: none !important;\n }\n}\n@media (min-width: 1920px) {\n .mdui-hidden-xl-up {\n display: none !important;\n }\n}\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n/* Document\n ========================================================================== */\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\nhtml {\n line-height: 1.15;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n/* Sections\n ========================================================================== */\n/**\n * Remove the margin in all browsers.\n */\nbody {\n margin: 0;\n}\n/**\n * Render the `main` element consistently in IE.\n */\nmain {\n display: block;\n}\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n/* Grouping content\n ========================================================================== */\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\nhr {\n box-sizing: content-box;\n /* 1 */\n height: 0;\n /* 1 */\n overflow: visible;\n /* 2 */\n}\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\npre {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n/* Text-level semantics\n ========================================================================== */\n/**\n * Remove the gray background on active links in IE 10.\n */\na {\n background-color: transparent;\n}\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\nabbr[title] {\n border-bottom: none;\n /* 1 */\n text-decoration: underline;\n /* 2 */\n text-decoration: underline dotted;\n /* 2 */\n}\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\nb,\nstrong {\n font-weight: bolder;\n}\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n/**\n * Add the correct font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsub {\n bottom: -0.25em;\n}\nsup {\n top: -0.5em;\n}\n/* Embedded content\n ========================================================================== */\n/**\n * Remove the border on images inside links in IE 10.\n */\nimg {\n border-style: none;\n}\n/* Forms\n ========================================================================== */\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n line-height: 1.15;\n /* 1 */\n margin: 0;\n /* 2 */\n}\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n/**\n * Remove the inner border and padding in Firefox.\n */\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n/**\n * Restore the focus styles unset by the previous rule.\n */\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n/**\n * Correct the padding in Firefox.\n */\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\nlegend {\n box-sizing: border-box;\n /* 1 */\n color: inherit;\n /* 2 */\n display: table;\n /* 1 */\n max-width: 100%;\n /* 1 */\n padding: 0;\n /* 3 */\n white-space: normal;\n /* 1 */\n}\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\nprogress {\n vertical-align: baseline;\n}\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\ntextarea {\n overflow: auto;\n}\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n[type=\"search\"] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n}\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n}\n/* Interactive\n ========================================================================== */\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\ndetails {\n display: block;\n}\n/*\n * Add the correct display in all browsers.\n */\nsummary {\n display: list-item;\n}\n/* Misc\n ========================================================================== */\n/**\n * Add the correct display in IE 10+.\n */\ntemplate {\n display: none;\n}\n/**\n * Add the correct display in IE 10.\n */\n[hidden] {\n display: none;\n}\n/**\n * =============================================================================\n * ************ 公共样式 ************\n * =============================================================================\n */\nbody {\n font-family: Roboto, Noto, Helvetica, Arial, sans-serif;\n font-size: 14px;\n background-color: #fff;\n color: rgba(0, 0, 0, 0.87);\n}\n@media (min-width: 600px) {\n body {\n font-size: 14.5px;\n }\n}\n@media (min-width: 1024px) {\n body {\n font-size: 15px;\n }\n}\nbody *::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n}\n@media (min-width: 1024px) {\n body *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\nbody *::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n}\nbody.mdui-theme-layout-dark *::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n}\n@media (min-width: 1024px) {\n body.mdui-theme-layout-dark *::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\nbody.mdui-theme-layout-dark *::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n}\n* {\n -webkit-tap-highlight-color: transparent;\n}\n/* 锁定屏幕 */\nbody.mdui-locked {\n overflow: hidden;\n}\n/* 遮罩层 */\n.mdui-overlay {\n position: fixed;\n z-index: 2000;\n top: -5000px;\n right: -5000px;\n bottom: -5000px;\n left: -5000px;\n backface-visibility: hidden;\n background: rgba(0, 0, 0, 0.4);\n will-change: opacity;\n opacity: 0;\n visibility: hidden;\n transition-property: opacity, visibility;\n transition-duration: 0.3s;\n}\n/* 显示遮罩层 */\n.mdui-overlay-show {\n opacity: 1;\n visibility: visible;\n}\n/* 取消 transition 过渡效果 */\n.mdui-no-transition {\n transition-property: none !important;\n}\n/**\n * =============================================================================\n * ************ Global dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark {\n background-color: #303030;\n color: #fff;\n}\n/**\n * =============================================================================\n * ************ Icon 图标 ************\n * =============================================================================\n */\n.mdui-icon,\n.mdui-icon::before {\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n /* Preferred icon size */\n vertical-align: middle;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n color: inherit;\n}\n.mdui-icon {\n display: inline-block;\n text-align: center;\n}\n.mdui-icon::before {\n display: block !important;\n width: 24px;\n height: 24px;\n}\n/**\n * =============================================================================\n * ************ Material Icons ************\n * =============================================================================\n *\n * https://github.com/google/material-design-icons/\n * v3.0.1\n */\n@font-face {\n font-family: 'Material Icons';\n font-style: normal;\n font-weight: 400;\n src: local('Material Icons'), local('MaterialIcons-Regular'), url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'), url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff');\n}\n.material-icons {\n font-family: 'Material Icons';\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n/**\n * =============================================================================\n * ************ Roboto 字体 ************\n * =============================================================================\n */\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Thin'), local('Roboto-Thin'), url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'), url('../fonts/roboto/Roboto-Thin.woff') format('woff');\n font-weight: 100;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'), url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff');\n font-weight: 100;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Light'), local('Roboto-Light'), url('../fonts/roboto/Roboto-Light.woff2') format('woff2'), url('../fonts/roboto/Roboto-Light.woff') format('woff');\n font-weight: 300;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto LightItalic'), local('Roboto-LightItalic'), url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-LightItalic.woff') format('woff');\n font-weight: 300;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Regular'), local('Roboto-Regular'), url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'), url('../fonts/roboto/Roboto-Regular.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'), url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff');\n font-weight: 400;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Medium'), local('Roboto-Medium'), url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'), url('../fonts/roboto/Roboto-Medium.woff') format('woff');\n font-weight: 500;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'), url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff');\n font-weight: 500;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'), url('../fonts/roboto/Roboto-Bold.woff') format('woff');\n font-weight: 700;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'), url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff');\n font-weight: 700;\n font-style: italic;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Black'), local('Roboto-Black'), url('../fonts/roboto/Roboto-Black.woff2') format('woff2'), url('../fonts/roboto/Roboto-Black.woff') format('woff');\n font-weight: 900;\n font-style: normal;\n}\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'), url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'), url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff');\n font-weight: 900;\n font-style: italic;\n}\n/**\n * =============================================================================\n * ************ Typography 排版 ************\n * =============================================================================\n */\n/* .mdui-typo-display-4 */\n.mdui-typo-display-4,\n.mdui-typo-display-4-opacity {\n font-size: 112px;\n font-weight: 300;\n letter-spacing: -0.04em;\n}\n.mdui-typo-display-4-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-3 */\n.mdui-typo-display-3,\n.mdui-typo-display-3-opacity {\n font-size: 56px;\n font-weight: 400;\n letter-spacing: -0.02em;\n}\n.mdui-typo-display-3-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-2 */\n.mdui-typo-display-2,\n.mdui-typo-display-2-opacity {\n font-size: 45px;\n font-weight: 400;\n letter-spacing: 0;\n}\n.mdui-typo-display-2-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-display-1 */\n.mdui-typo-display-1,\n.mdui-typo-display-1-opacity {\n font-size: 34px;\n font-weight: 400;\n letter-spacing: 0;\n}\n.mdui-typo-display-1-opacity {\n opacity: 0.54;\n}\n/* .mdui-typo-headline */\n.mdui-typo-headline,\n.mdui-typo-headline-opacity {\n font-size: 24px;\n font-weight: 400;\n -moz-osx-font-smoothing: grayscale;\n}\n.mdui-typo-headline-opacity {\n opacity: 0.87;\n}\n/* .mdui-typo-title */\n.mdui-typo-title,\n.mdui-typo-title-opacity {\n font-size: 20px;\n font-weight: 500;\n letter-spacing: 0.02em;\n}\n.mdui-typo-title-opacity {\n opacity: 0.87;\n}\n.mdui-typo-subheading,\n.mdui-typo-subheading-opacity {\n font-size: 16px;\n font-weight: 400;\n letter-spacing: 0.04em;\n}\n.mdui-typo-subheading-opacity {\n opacity: 0.87;\n}\n.mdui-typo-body-2,\n.mdui-typo-body-2-opacity {\n font-size: 14px;\n font-weight: 500;\n letter-spacing: 0.04em;\n}\n.mdui-typo-body-2-opacity {\n opacity: 0.87;\n}\n.mdui-typo-body-1,\n.mdui-typo-body-1-opacity {\n font-size: 14px;\n font-weight: 400;\n letter-spacing: 0.04em;\n}\n.mdui-typo-body-1-opacity {\n opacity: 0.87;\n}\n.mdui-typo-caption,\n.mdui-typo-caption-opacity {\n font-size: 12px;\n font-weight: 400;\n letter-spacing: 0.08em;\n}\n.mdui-typo-caption-opacity {\n opacity: 0.54;\n}\n.mdui-typo {\n line-height: 1.8;\n word-wrap: break-word;\n /* a */\n /* small */\n /* blockquote */\n /* mark */\n /* h1 - h6 */\n /* code */\n /* pre code */\n /* abbr */\n /* ins */\n /* u */\n /* del */\n /* hr */\n /* pre */\n /* kbd */\n /* ul / ol */\n /* img */\n}\n.mdui-typo address,\n.mdui-typo caption,\n.mdui-typo cite,\n.mdui-typo code,\n.mdui-typo dfn,\n.mdui-typo th {\n font-style: normal;\n font-weight: 400;\n}\n.mdui-typo caption,\n.mdui-typo th {\n text-align: left;\n}\n.mdui-typo q:before,\n.mdui-typo q:after {\n content: '';\n}\n.mdui-typo pre,\n.mdui-typo code,\n.mdui-typo kbd,\n.mdui-typo samp,\n.mdui-typo pre tt {\n font-family: Consolas, Courier, 'Courier New', monospace;\n}\n.mdui-typo figcaption {\n font-size: 80%;\n color: rgba(0, 0, 0, 0.54);\n}\n.mdui-typo [draggable],\n.mdui-typo [draggable=\"true\"] {\n cursor: move;\n}\n.mdui-typo [draggable=\"false\"] {\n cursor: inherit;\n}\n.mdui-typo p,\n.mdui-typo pre,\n.mdui-typo ul,\n.mdui-typo ol,\n.mdui-typo dl,\n.mdui-typo form,\n.mdui-typo hr,\n.mdui-typo figure,\n.mdui-typo table,\n.mdui-typo .mdui-table,\n.mdui-typo .mdui-table-fluid {\n margin: 0 0 1.2em 0;\n}\n.mdui-typo a {\n color: #FF4081;\n display: inline-block;\n vertical-align: top;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n outline: none;\n}\n.mdui-typo a:before {\n position: absolute;\n top: auto;\n bottom: 1px;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: #FF4081;\n content: ' ';\n transition: all 0.2s;\n backface-visibility: hidden;\n transform: scaleX(0);\n}\n.mdui-typo a:hover:before,\n.mdui-typo a:focus:before {\n transform: scaleX(1);\n}\n.mdui-typo small {\n font-size: 80%;\n}\n.mdui-typo blockquote {\n font-weight: 400;\n border-left: 4px solid rgba(0, 0, 0, 0.12);\n padding-left: 1em;\n margin: 1em 3em 1em 2em;\n}\n@media only screen and (max-width: 599px) {\n .mdui-typo blockquote {\n margin: 1em 0;\n }\n}\n.mdui-typo blockquote footer {\n color: rgba(0, 0, 0, 0.54);\n font-size: 86%;\n}\n.mdui-typo mark {\n background: #fffdd1;\n border-bottom: 1px solid #ffedce;\n padding: 2px;\n margin: 0 5px;\n}\n.mdui-typo h1,\n.mdui-typo h2,\n.mdui-typo h3,\n.mdui-typo h4,\n.mdui-typo h5,\n.mdui-typo h6 {\n font-weight: 400;\n color: inherit;\n font-family: inherit;\n margin-top: 1.2em;\n margin-bottom: 0.6em;\n line-height: 1.35;\n}\n.mdui-typo h1 small,\n.mdui-typo h2 small,\n.mdui-typo h3 small,\n.mdui-typo h4 small,\n.mdui-typo h5 small,\n.mdui-typo h6 small {\n font-size: 65%;\n line-height: 1;\n font-weight: 400;\n color: rgba(0, 0, 0, 0.54);\n}\n.mdui-typo h1 {\n font-size: 2em;\n}\n.mdui-typo h2 {\n font-size: 1.8em;\n}\n.mdui-typo h3 {\n font-size: 1.6em;\n}\n.mdui-typo h4 {\n font-size: 1.4em;\n}\n.mdui-typo h5 {\n font-size: 1.2em;\n}\n.mdui-typo h6 {\n font-size: 1.1em;\n}\n.mdui-typo code {\n padding: 2px 6px;\n color: #c7254e;\n background-color: #f7f7f9;\n border-radius: 2px;\n}\n.mdui-typo pre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n line-height: 1.7;\n}\n.mdui-typo abbr[title] {\n cursor: help;\n text-decoration: none;\n border-bottom: 1px dotted;\n}\n.mdui-typo ins {\n text-decoration: none;\n border-bottom: 1px solid ;\n}\n.mdui-typo u {\n text-decoration: none;\n border-bottom: 1px solid;\n}\n.mdui-typo del {\n text-decoration: line-through;\n}\n.mdui-typo hr {\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n margin-bottom: 0.8em;\n height: 10px;\n}\n.mdui-typo pre {\n border-radius: 2px;\n border: 1px solid rgba(0, 0, 0, 0.12);\n padding: 12px 16px;\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n}\n.mdui-typo kbd {\n padding: 2px 6px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 2px;\n}\n.mdui-typo ul {\n padding-left: 2em;\n list-style: disc;\n}\n.mdui-typo ol {\n list-style: decimal;\n padding-left: 2em;\n}\n.mdui-typo li ul,\n.mdui-typo li ol {\n margin: 0.8em 0;\n}\n.mdui-typo li ul {\n list-style: circle;\n}\n.mdui-typo img {\n max-width: 100%;\n}\n/**\n * =============================================================================\n * ************ Typo 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-typo a {\n color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-typo a:before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-blue .mdui-typo a {\n color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-typo a:before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-typo a {\n color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-typo a:before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-typo a {\n color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-typo a:before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-typo a {\n color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-typo a:before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-typo a {\n color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-typo a:before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-typo a {\n color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-typo a:before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-typo a {\n color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-typo a:before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-typo a {\n color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-typo a:before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-typo a {\n color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-typo a:before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-typo a {\n color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-typo a:before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-typo a {\n color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-typo a:before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-purple .mdui-typo a {\n color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-typo a:before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-red .mdui-typo a {\n color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-typo a:before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-teal .mdui-typo a {\n color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-typo a:before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-typo a {\n color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-typo a:before {\n background-color: #FFFF00;\n}\n/**\n * =============================================================================\n * ************ Typo dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-typo blockquote {\n border-left-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-typo blockquote footer {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo figcaption {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo mark {\n background: #aaa;\n border-bottom-color: #bbb;\n}\n.mdui-theme-layout-dark .mdui-typo h1 small,\n.mdui-theme-layout-dark .mdui-typo h2 small,\n.mdui-theme-layout-dark .mdui-typo h3 small,\n.mdui-theme-layout-dark .mdui-typo h4 small,\n.mdui-theme-layout-dark .mdui-typo h5 small,\n.mdui-theme-layout-dark .mdui-typo h6 small {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-typo code {\n background-color: #424242;\n color: #FFCDD2;\n}\n.mdui-theme-layout-dark .mdui-typo pre {\n background: #424242;\n border-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-typo kbd {\n background: #424242;\n}\n.mdui-theme-layout-dark .mdui-typo hr {\n border-color: rgba(255, 255, 255, 0.12);\n}\n/**\n * =============================================================================\n * ************ Headroom ************\n * =============================================================================\n */\n.mdui-headroom {\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;\n}\n/* 固定在顶部时 */\n.mdui-headroom-pinned-top {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 在顶部隐藏时 */\n.mdui-headroom-unpinned-top {\n transform: translate3d(0, -100%, 0) !important;\n box-shadow: none !important;\n}\n/* 固定在底部时 */\n.mdui-headroom-pinned-down {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 在底部隐藏时 */\n.mdui-headroom-unpinned-down {\n transform: translate3d(0, 100%, 0) !important;\n box-shadow: none !important;\n}\n/* 固定应用栏中的工具栏 */\n.mdui-headroom-pinned-toolbar {\n transform: translate3d(0, 0, 0) !important;\n}\n/* 隐藏应用栏中的工具栏 */\n.mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -56px, 0) !important;\n}\n@media (min-width: 600px) {\n .mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -64px, 0) !important;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -48px, 0) !important;\n }\n}\n/**\n * =============================================================================\n * ************ Collapse 折叠插件 ************\n * =============================================================================\n */\n.mdui-collapse-item-header .mdui-collapse-item-arrow,\n.mdui-collapse-item-header.mdui-collapse-item-arrow {\n will-change: transform;\n transform: rotate(0);\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-collapse-item-body {\n height: 0;\n padding-top: 0;\n padding-bottom: 0;\n margin-top: 0;\n margin-bottom: 0;\n overflow: hidden;\n will-change: height;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-collapse-item-body .mdui-list-item {\n padding-left: 72px;\n}\n.mdui-collapse-item-open > .mdui-collapse-item-header .mdui-collapse-item-arrow,\n.mdui-collapse-item-open > .mdui-collapse-item-header.mdui-collapse-item-arrow {\n transform: rotate(180deg);\n}\n.mdui-collapse-item-open > .mdui-collapse-item-body {\n height: auto;\n}\n/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n.mdui-table {\n position: relative;\n border-collapse: separate;\n border-spacing: 0;\n width: 100%;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-table tbody tr {\n position: relative;\n transition: background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-table th,\n.mdui-table td {\n position: relative;\n vertical-align: middle;\n text-align: left;\n padding: 12px 28px;\n box-sizing: border-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-table th:last-child,\n.mdui-table td:last-child {\n padding-right: 24px;\n}\n.mdui-table th:first-child,\n.mdui-table td:first-child {\n padding-left: 24px;\n padding-right: 0;\n}\n.mdui-table th:nth-child(2),\n.mdui-table td:nth-child(2) {\n padding-left: 24px;\n}\n.mdui-table th {\n font-size: 13px;\n color: rgba(0, 0, 0, 0.54);\n font-weight: 700;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 32px;\n}\n.mdui-table td {\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n line-height: 24px;\n}\n/* 每一行前面的复选框 */\n.mdui-table-cell-checkbox {\n padding-left: 24px !important;\n padding-top: 0 !important;\n padding-bottom: 0!important;\n}\n.mdui-table-cell-checkbox .mdui-checkbox {\n margin-top: 7px;\n}\n.mdui-table-cell-checkbox + td,\n.mdui-table-cell-checkbox + th {\n padding-left: 6px !important;\n}\nth.mdui-table-cell-checkbox .mdui-checkbox {\n margin-top: 11px;\n}\n/* 鼠标悬浮时行背景加深 */\n.mdui-table-hoverable tbody tr:hover {\n background-color: #EEEEEE;\n}\n/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */\n.mdui-table-fluid {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: none;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-table-fluid .mdui-table {\n box-shadow: none;\n border: none;\n margin: 0;\n}\n/* 数字列,右对齐 */\n.mdui-table-col-numeric {\n text-align: right !important;\n}\n/* 行处于选中状态 */\n.mdui-table-row-selected {\n background-color: #F5F5F5;\n}\n/**\n * =============================================================================\n * ************ Table dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-table {\n background-color: #303030;\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-table th,\n.mdui-theme-layout-dark .mdui-table td {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-table th {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-table td {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-table-hoverable tbody tr:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-table-fluid {\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-table-fluid .mdui-table {\n box-shadow: none;\n border: none;\n}\n.mdui-theme-layout-dark .mdui-table-row-selected {\n background-color: #424242;\n}\n/**\n * =============================================================================\n * ************ Divider 分割线 ************\n * =============================================================================\n */\n.mdui-divider,\n.mdui-divider-light,\n.mdui-divider-dark,\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin: -1px 0 0 0;\n height: 1px;\n border: none;\n}\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin-left: 72px;\n}\n.mdui-divider,\n.mdui-divider-inset {\n background-color: rgba(0, 0, 0, 0.12);\n}\n.mdui-theme-layout-dark .mdui-divider,\n.mdui-theme-layout-dark .mdui-divider-inset {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-divider-light,\n.mdui-divider-inset-light {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-divider-dark,\n.mdui-divider-inset-dark {\n background-color: rgba(0, 0, 0, 0.12);\n}\n/**\n * =============================================================================\n * ************ Media 媒体工具 ************\n * =============================================================================\n */\n/* 响应式图片和视频 */\n.mdui-img-fluid,\n.mdui-video-fluid {\n max-width: 100%;\n height: auto;\n display: block;\n}\n/* 圆角图片 */\n.mdui-img-rounded {\n border-radius: 2px;\n}\n/* 圆形图片 */\n.mdui-img-circle {\n border-radius: 50%;\n}\n.mdui-video-container {\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n overflow: hidden;\n}\n.mdui-video-container iframe,\n.mdui-video-container object,\n.mdui-video-container embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n/**\n * =============================================================================\n * ************ 涟漪动画 ************\n * =============================================================================\n */\n.mdui-ripple {\n position: relative;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n}\n/* Ripple */\n.mdui-ripple-wave {\n left: 0;\n top: 0;\n position: absolute !important;\n border-radius: 50%;\n pointer-events: none;\n z-index: 1;\n background-color: rgba(0, 0, 0, 0.1);\n padding: 0;\n margin: 0;\n font-size: 0;\n transform: translate3d(0px, 0px, 0) scale(0);\n transition-duration: 1400ms;\n}\n/* 有背景色的默认使用白色涟漪 */\n.mdui-ripple[class*=\"mdui-color-\"] .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n}\n/* 白色涟漪 */\n.mdui-ripple-white .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n/* 黑色涟漪 */\n.mdui-ripple-black .mdui-ripple-wave {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n.mdui-ripple-wave-fill {\n transition-duration: 300ms;\n opacity: 0.35;\n}\n.mdui-ripple-wave-out {\n transition-duration: 600ms;\n opacity: 0;\n}\n/**\n * =============================================================================\n * ************ Ripple 颜色 ************\n * =============================================================================\n */\n.mdui-ripple-amber .mdui-ripple-wave {\n background-color: rgba(255, 193, 7, 0.3) !important;\n}\n.mdui-ripple-blue .mdui-ripple-wave {\n background-color: rgba(33, 150, 243, 0.3) !important;\n}\n.mdui-ripple-blue-grey .mdui-ripple-wave {\n background-color: rgba(96, 125, 139, 0.3) !important;\n}\n.mdui-ripple-brown .mdui-ripple-wave {\n background-color: rgba(121, 85, 72, 0.3) !important;\n}\n.mdui-ripple-cyan .mdui-ripple-wave {\n background-color: rgba(0, 188, 212, 0.3) !important;\n}\n.mdui-ripple-deep-orange .mdui-ripple-wave {\n background-color: rgba(255, 87, 34, 0.3) !important;\n}\n.mdui-ripple-deep-purple .mdui-ripple-wave {\n background-color: rgba(103, 58, 183, 0.3) !important;\n}\n.mdui-ripple-green .mdui-ripple-wave {\n background-color: rgba(76, 175, 80, 0.3) !important;\n}\n.mdui-ripple-grey .mdui-ripple-wave {\n background-color: rgba(158, 158, 158, 0.3) !important;\n}\n.mdui-ripple-indigo .mdui-ripple-wave {\n background-color: rgba(63, 81, 181, 0.3) !important;\n}\n.mdui-ripple-light-blue .mdui-ripple-wave {\n background-color: rgba(3, 169, 244, 0.3) !important;\n}\n.mdui-ripple-light-green .mdui-ripple-wave {\n background-color: rgba(139, 195, 74, 0.3) !important;\n}\n.mdui-ripple-lime .mdui-ripple-wave {\n background-color: rgba(205, 220, 57, 0.3) !important;\n}\n.mdui-ripple-orange .mdui-ripple-wave {\n background-color: rgba(255, 152, 0, 0.3) !important;\n}\n.mdui-ripple-pink .mdui-ripple-wave {\n background-color: rgba(233, 30, 99, 0.3) !important;\n}\n.mdui-ripple-purple .mdui-ripple-wave {\n background-color: rgba(156, 39, 176, 0.3) !important;\n}\n.mdui-ripple-red .mdui-ripple-wave {\n background-color: rgba(244, 67, 54, 0.3) !important;\n}\n.mdui-ripple-teal .mdui-ripple-wave {\n background-color: rgba(0, 150, 136, 0.3) !important;\n}\n.mdui-ripple-yellow .mdui-ripple-wave {\n background-color: rgba(255, 235, 59, 0.3) !important;\n}\n/**\n * =============================================================================\n * ************ Ripple dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n}\n/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n/* 文本框外层 */\n.mdui-textfield {\n position: relative;\n padding-top: 16px;\n padding-bottom: 8px;\n overflow: hidden;\n}\n.mdui-textfield-has-bottom {\n padding-bottom: 28px;\n}\n/* 输入框 */\n.mdui-textfield-input {\n width: 100%;\n overflow: hidden;\n padding: 8px 0;\n appearance: none;\n box-sizing: border-box;\n border: none;\n background: none;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n box-shadow: none;\n display: block;\n margin: 0;\n height: 36px;\n line-height: 20px;\n font-size: 16px;\n font-family: inherit;\n outline: none;\n resize: none;\n transition-property: border-bottom-color, padding-right, box-shadow;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n border-bottom: 1px solid rgba(0, 0, 0, 0.42);\n}\n.mdui-textfield-input::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.42;\n}\n.mdui-textfield-input:not([disabled]):hover {\n border-bottom: 1px solid rgba(0, 0, 0, 0.87);\n box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.87);\n cursor: pointer;\n}\n.mdui-textfield-input[rows] {\n height: auto !important;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n/* 文本框 label */\n.mdui-textfield-label {\n pointer-events: none;\n display: block;\n font-size: 16px;\n width: 100%;\n transform-origin: left;\n color: rgba(0, 0, 0, 0.54);\n transition: all 0.2s;\n transform: scale(0.75) translateY(0);\n}\n/* 表单验证错误提示、帮助文本提示 */\n.mdui-textfield-error,\n.mdui-textfield-helper {\n position: absolute;\n bottom: 8px;\n font-size: 12px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n height: 12px;\n line-height: 12px;\n}\n.mdui-textfield-error {\n color: rgba(255, 23, 68, 0.87);\n visibility: hidden;\n}\n.mdui-textfield-helper {\n color: rgba(0, 0, 0, 0.54);\n}\n/* 表单中的图标\n ========== */\n.mdui-textfield .mdui-icon {\n position: absolute;\n bottom: 8px;\n color: rgba(0, 0, 0, 0.54);\n padding: 6px;\n}\n.mdui-textfield .mdui-icon ~ .mdui-textfield-label,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-input,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-error,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-helper,\n.mdui-textfield .mdui-icon ~ .mdui-textfield-flex-wrap {\n margin-left: 56px;\n width: calc(100% - 56px);\n}\n.mdui-textfield-has-bottom .mdui-icon {\n bottom: 28px;\n}\n/* 聚焦状态的文本框\n ============= */\n.mdui-textfield-focus .mdui-textfield-input,\n.mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #C51162;\n box-shadow: 0 1px 0 0 #C51162;\n}\n.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-focus .mdui-icon {\n color: rgba(197, 17, 98, 0.87);\n}\n/* 含有浮动标签的文本框\n ================ */\n.mdui-textfield-floating-label .mdui-textfield-label {\n transform: scale(1) translateY(27px);\n color: rgba(0, 0, 0, 0.35);\n}\n.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label {\n transform: scale(0.75) translateY(0);\n color: rgba(0, 0, 0, 0.65);\n}\n.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label {\n color: #E91E63;\n}\n/* 可展开文本框,默认向右展开\n ========== */\n.mdui-textfield-expandable {\n width: 36px;\n padding: 1px 0;\n min-height: 36px;\n transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-textfield-expandable .mdui-icon {\n bottom: 0;\n padding: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-input {\n margin-left: 36px;\n width: calc(100% - 36px);\n padding-right: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-icon {\n position: absolute;\n left: 0;\n top: 0;\n}\n.mdui-textfield-expandable .mdui-textfield-close {\n position: absolute;\n right: 0;\n top: 0;\n transform: scale(0);\n}\n.mdui-textfield-expandable.mdui-textfield-expanded {\n width: 100%;\n}\n.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-input {\n padding-right: 36px;\n}\n.mdui-textfield-expandable.mdui-textfield-expanded .mdui-textfield-close {\n transform: scale(1);\n}\n/* 表单验证不通过\n =========== */\n.mdui-textfield-invalid .mdui-textfield-input,\n.mdui-textfield-invalid-html5 .mdui-textfield-input,\n.mdui-textfield-invalid.mdui-textfield-focus .mdui-textfield-input,\n.mdui-textfield-invalid-html5.mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF1744 !important;\n box-shadow: 0 1px 0 0 #FF1744 !important;\n}\n.mdui-textfield-invalid .mdui-textfield-label,\n.mdui-textfield-invalid-html5 .mdui-textfield-label {\n color: #FF1744 !important;\n}\n.mdui-textfield-invalid.mdui-textfield-floating-label .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 23, 68, 0.35) !important;\n}\n.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-textfield-invalid.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label,\n.mdui-textfield-invalid-html5.mdui-textfield-floating-label.mdui-textfield-not-empty .mdui-textfield-label {\n color: #FF1744 !important;\n}\n.mdui-textfield-invalid .mdui-textfield-error,\n.mdui-textfield-invalid-html5 .mdui-textfield-error {\n visibility: visible;\n}\n.mdui-textfield-invalid .mdui-textfield-error + .mdui-textfield-helper,\n.mdui-textfield-invalid-html5 .mdui-textfield-error + .mdui-textfield-helper {\n visibility: hidden;\n}\n/* 禁用表单\n ====== */\n.mdui-textfield-disabled .mdui-textfield-label,\n.mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.38);\n}\n.mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(0, 0, 0, 0.42);\n cursor: default;\n}\n.mdui-textfield-disabled .mdui-textfield-input {\n border-bottom: 1px dashed rgba(0, 0, 0, 0.42);\n}\n/* 字数统计\n ====== */\n.mdui-textfield-counter {\n position: absolute;\n right: 8px;\n font-size: 12px;\n bottom: 8px;\n color: rgba(0, 0, 0, 0.54);\n height: 12px;\n line-height: 12px;\n}\n/**\n * =============================================================================\n * ************ Textfield dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-input:not([disabled]):hover {\n border-bottom-color: #ffffff;\n box-shadow: 0 1px 0 0 #ffffff;\n}\n.mdui-theme-layout-dark .mdui-textfield .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-floating-label .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n}\n.mdui-theme-layout-dark .mdui-textfield-error {\n color: #FF1744;\n}\n.mdui-theme-layout-dark .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-counter {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input,\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input:hover {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n}\n.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label {\n color: #FF4081;\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-label,\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input::-webkit-input-placeholder {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark .mdui-textfield-disabled .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, 0.7);\n}\n/**\n * =============================================================================\n * ************ Textfield 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB00;\n box-shadow: 0 1px 0 0 #FFAB00;\n}\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 171, 0, 0.87);\n}\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD740;\n box-shadow: 0 1px 0 0 #FFD740;\n}\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-amber.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFD740;\n}\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #2962FF;\n box-shadow: 0 1px 0 0 #2962FF;\n}\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue .mdui-textfield-focus .mdui-icon {\n color: rgba(41, 98, 255, 0.87);\n}\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #448AFF;\n box-shadow: 0 1px 0 0 #448AFF;\n}\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00B8D4;\n box-shadow: 0 1px 0 0 #00B8D4;\n}\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 184, 212, 0.87);\n}\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #18FFFF;\n box-shadow: 0 1px 0 0 #18FFFF;\n}\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-cyan.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #DD2C00;\n box-shadow: 0 1px 0 0 #DD2C00;\n}\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange .mdui-textfield-focus .mdui-icon {\n color: rgba(221, 44, 0, 0.87);\n}\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6E40;\n box-shadow: 0 1px 0 0 #FF6E40;\n}\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #6200EA;\n box-shadow: 0 1px 0 0 #6200EA;\n}\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple .mdui-textfield-focus .mdui-icon {\n color: rgba(98, 0, 234, 0.87);\n}\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #7C4DFF;\n box-shadow: 0 1px 0 0 #7C4DFF;\n}\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-deep-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00C853;\n box-shadow: 0 1px 0 0 #00C853;\n}\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 200, 83, 0.87);\n}\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #69F0AE;\n box-shadow: 0 1px 0 0 #69F0AE;\n}\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #304FFE;\n box-shadow: 0 1px 0 0 #304FFE;\n}\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo .mdui-textfield-focus .mdui-icon {\n color: rgba(48, 79, 254, 0.87);\n}\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #536DFE;\n box-shadow: 0 1px 0 0 #536DFE;\n}\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-indigo.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #0091EA;\n box-shadow: 0 1px 0 0 #0091EA;\n}\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 145, 234, 0.87);\n}\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #40C4FF;\n box-shadow: 0 1px 0 0 #40C4FF;\n}\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-blue.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64DD17;\n box-shadow: 0 1px 0 0 #64DD17;\n}\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green .mdui-textfield-focus .mdui-icon {\n color: rgba(100, 221, 23, 0.87);\n}\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #B2FF59;\n box-shadow: 0 1px 0 0 #B2FF59;\n}\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-light-green.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #AEEA00;\n box-shadow: 0 1px 0 0 #AEEA00;\n}\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime .mdui-textfield-focus .mdui-icon {\n color: rgba(174, 234, 0, 0.87);\n}\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #EEFF41;\n box-shadow: 0 1px 0 0 #EEFF41;\n}\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-lime.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF6D00;\n box-shadow: 0 1px 0 0 #FF6D00;\n}\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 109, 0, 0.87);\n}\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFAB40;\n box-shadow: 0 1px 0 0 #FFAB40;\n}\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-orange.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #C51162;\n box-shadow: 0 1px 0 0 #C51162;\n}\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink .mdui-textfield-focus .mdui-icon {\n color: rgba(197, 17, 98, 0.87);\n}\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF4081;\n box-shadow: 0 1px 0 0 #FF4081;\n}\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-pink.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF4081;\n}\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #AA00FF;\n box-shadow: 0 1px 0 0 #AA00FF;\n}\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple .mdui-textfield-focus .mdui-icon {\n color: rgba(170, 0, 255, 0.87);\n}\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #E040FB;\n box-shadow: 0 1px 0 0 #E040FB;\n}\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-purple.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #E040FB;\n}\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #D50000;\n box-shadow: 0 1px 0 0 #D50000;\n}\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red .mdui-textfield-focus .mdui-icon {\n color: rgba(213, 0, 0, 0.87);\n}\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FF5252;\n box-shadow: 0 1px 0 0 #FF5252;\n}\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-red.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FF5252;\n}\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #00BFA5;\n box-shadow: 0 1px 0 0 #00BFA5;\n}\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal .mdui-textfield-focus .mdui-icon {\n color: rgba(0, 191, 165, 0.87);\n}\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #64FFDA;\n box-shadow: 0 1px 0 0 #64FFDA;\n}\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-teal.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFD600;\n box-shadow: 0 1px 0 0 #FFD600;\n}\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow .mdui-textfield-focus .mdui-icon {\n color: rgba(255, 214, 0, 0.87);\n}\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: #FFFF00;\n box-shadow: 0 1px 0 0 #FFFF00;\n}\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n.mdui-theme-accent-yellow.mdui-theme-layout-dark .mdui-textfield-focus .mdui-icon {\n color: #FFFF00;\n}\n/**\n * =============================================================================\n * ************ Checkbox 复选框 ************\n * =============================================================================\n */\n.mdui-checkbox {\n display: inline-block;\n position: relative;\n padding-left: 36px;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-checkbox input[type=\"checkbox\"] {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n}\n/* 透明的圆形,用于生成圆形阴影 */\n.mdui-checkbox-icon {\n position: absolute;\n left: 0;\n top: 9px;\n display: inline-block;\n vertical-align: middle;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n background-color: transparent;\n border: none;\n transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-checkbox-icon:after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n width: 18px;\n height: 18px;\n border: 2px solid rgba(0, 0, 0, 0.54);\n border-radius: 2px;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n z-index: 0;\n}\n.mdui-checkbox-icon:before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n top: 2px;\n left: 0;\n width: 8px;\n height: 13px;\n transform: rotateZ(37deg) scale(0);\n transform-origin: 100% 100%;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n z-index: 1;\n}\n/* 各种状态的图标 */\n.mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after {\n border-color: #FF4081;\n background-color: #FF4081;\n}\n.mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:before {\n transform: rotateZ(37deg) scale(1);\n opacity: 1;\n}\n.mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FF4081;\n background-color: #FF4081;\n}\n.mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:before {\n top: 8px;\n left: 3px;\n width: 12px;\n height: 0;\n border-radius: 1px;\n transform: rotateZ(0) scale(1);\n border-right: none;\n border-bottom: 2px solid #fff;\n opacity: 1;\n}\n.mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon:after {\n border-color: rgba(0, 0, 0, 0.26);\n}\n.mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon:after,\n.mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon:after {\n background-color: rgba(0, 0, 0, 0.26) !important;\n border-color: transparent !important;\n}\n/* 阴影 */\n.mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n.mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/**\n * =============================================================================\n * ************ Checkbox 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FFD740;\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-amber .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #448AFF;\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #18FFFF;\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-cyan .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FF6E40;\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #7C4DFF;\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-deep-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #69F0AE;\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #536DFE;\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-indigo .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #40C4FF;\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-light-blue .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #B2FF59;\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-light-green .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #EEFF41;\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-lime .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FFAB40;\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-orange .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FF4081;\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-pink .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #E040FB;\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-purple .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FF5252;\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-red .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #64FFDA;\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-teal .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:checked + .mdui-checkbox-icon:after,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:indeterminate + .mdui-checkbox-icon:after {\n border-color: #FFFF00;\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):checked + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox:active input[type=\"checkbox\"]:not(:disabled):indeterminate + .mdui-checkbox-icon,\n.mdui-theme-accent-yellow .mdui-checkbox input[type=\"checkbox\"]:focus:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Checkbox dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-checkbox-icon:after {\n border-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-checkbox-icon:before {\n border-right-color: #303030 !important;\n border-bottom-color: #303030 !important;\n}\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon:after {\n border-color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled:checked + .mdui-checkbox-icon:after,\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:disabled:indeterminate + .mdui-checkbox-icon:after {\n background-color: rgba(255, 255, 255, 0.3) !important;\n border-color: transparent !important;\n}\n.mdui-theme-layout-dark .mdui-checkbox:active input[type=\"checkbox\"] + .mdui-checkbox-icon,\n.mdui-theme-layout-dark .mdui-checkbox input[type=\"checkbox\"]:focus + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n/**\n * =============================================================================\n * ************ Radio 单选框 ************\n * =============================================================================\n */\n.mdui-radio {\n display: inline-block;\n position: relative;\n padding-left: 36px;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-radio input {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n}\n/* 图标外圈 */\n.mdui-radio-icon {\n position: absolute;\n left: 0;\n top: 9px;\n box-sizing: border-box;\n display: inline-block;\n vertical-align: middle;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n border: 2px solid rgba(0, 0, 0, 0.54);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-radio-icon:before {\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n height: 14px;\n border-radius: 14px;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n background-color: #FF4081;\n transform: scale(0);\n opacity: 0;\n}\n/* 选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF4081;\n}\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n transform: scale(0.68);\n opacity: 1;\n}\n/* 禁用状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 禁用且选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon:before {\n background-color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 未选中、禁用时 按下的阴影 */\n.mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n.mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n/* 已选中时按下的阴影 */\n.mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-amber .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-blue .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-cyan .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-deep-orange .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-deep-purple .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-green .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-indigo .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-light-blue .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-light-green .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-lime .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-orange .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-pink .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-purple .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-red .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-teal .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon:before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-radio:active input[type=\"radio\"]:checked:not(:disabled) + .mdui-radio-icon,\n.mdui-theme-accent-yellow .mdui-radio input[type=\"radio\"]:focus:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon:before {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-radio:active input[type=\"radio\"] + .mdui-radio-icon,\n.mdui-theme-layout-dark .mdui-radio input[type=\"radio\"]:focus + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n/**\n * =============================================================================\n * ************ Switch 单选框 ************\n * =============================================================================\n */\n.mdui-switch {\n display: inline-block;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n}\n.mdui-switch input {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n}\n/* 图标轨道 */\n.mdui-switch-icon {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: 36px;\n height: 14px;\n border-radius: 14px;\n background-color: rgba(0, 0, 0, 0.38);\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-switch-icon:before {\n position: absolute;\n display: inline-block;\n content: ' ';\n width: 20px;\n height: 20px;\n top: -3px;\n left: -3px;\n border-radius: 20px;\n background-color: #FAFAFA;\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n transition: box-shadow 0.14s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 选中状态的图标 */\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 64, 129, 0.5);\n}\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n left: 20px;\n background-color: #FF4081;\n}\n/* 未选中时或禁用时 按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon:before,\n.mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(0, 0, 0, 0.1);\n}\n/* 已选中时按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n/* 禁用状态 */\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(0, 0, 0, 0.12) !important;\n}\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon:before {\n background-color: #BDBDBD !important;\n}\n/**\n * =============================================================================\n * ************ Switch 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 215, 64, 0.5);\n}\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 215, 64, 0.16);\n}\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(68, 138, 255, 0.5);\n}\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(68, 138, 255, 0.16);\n}\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(24, 255, 255, 0.5);\n}\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(24, 255, 255, 0.16);\n}\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 110, 64, 0.5);\n}\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 110, 64, 0.16);\n}\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(124, 77, 255, 0.5);\n}\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(124, 77, 255, 0.16);\n}\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(105, 240, 174, 0.5);\n}\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(105, 240, 174, 0.16);\n}\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(83, 109, 254, 0.5);\n}\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(83, 109, 254, 0.16);\n}\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(64, 196, 255, 0.5);\n}\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(64, 196, 255, 0.16);\n}\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(178, 255, 89, 0.5);\n}\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(178, 255, 89, 0.16);\n}\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(238, 255, 65, 0.5);\n}\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(238, 255, 65, 0.16);\n}\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 171, 64, 0.5);\n}\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 171, 64, 0.16);\n}\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 64, 129, 0.5);\n}\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 64, 129, 0.16);\n}\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(224, 64, 251, 0.5);\n}\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(224, 64, 251, 0.16);\n}\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 82, 82, 0.5);\n}\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 82, 82, 0.16);\n}\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(100, 255, 218, 0.5);\n}\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(100, 255, 218, 0.16);\n}\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 0, 0.5);\n}\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-switch:active input[type=\"checkbox\"]:checked:not(:disabled) + .mdui-switch-icon:before,\n.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:focus:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 0, 0.16);\n}\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-switch-icon:before {\n background-color: #BDBDBD;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 229, 127, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-amber .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFE57F;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(130, 177, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #82B1FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(132, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-cyan .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #84FFFF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 158, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF9E80;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(179, 136, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-deep-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #B388FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(185, 246, 202, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #B9F6CA;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(140, 158, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-indigo .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #8C9EFF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(128, 216, 255, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-blue .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #80D8FF;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(204, 255, 144, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-light-green .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #CCFF90;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(244, 255, 129, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-lime .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #F4FF81;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 209, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-orange .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFD180;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 128, 171, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-pink .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF80AB;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(234, 128, 252, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-purple .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #EA80FC;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 138, 128, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-red .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FF8A80;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(167, 255, 235, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-teal .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #A7FFEB;\n}\n.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(255, 255, 141, 0.5);\n}\n.mdui-theme-layout-dark.mdui-theme-accent-yellow .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon:before {\n background-color: #FFFF8D;\n}\n.mdui-theme-layout-dark .mdui-switch:active input[type=\"checkbox\"] + .mdui-switch-icon:before,\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:focus + .mdui-switch-icon:before {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 15px rgba(255, 255, 255, 0.1);\n}\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n}\n.mdui-theme-layout-dark .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon:before {\n background-color: #424242 !important;\n}\n/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n.mdui-slider {\n position: relative;\n width: 100%;\n height: 36px;\n display: block;\n}\n.mdui-slider input[type=\"range\"] {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n height: 20px;\n width: 100%;\n appearance: none;\n z-index: 2;\n opacity: 0;\n cursor: pointer;\n}\n.mdui-slider-track,\n.mdui-slider-fill {\n box-sizing: border-box;\n position: absolute;\n height: 2px;\n top: 50%;\n margin-top: -1px;\n}\n.mdui-slider-track:before,\n.mdui-slider-fill:before {\n content: ' ';\n width: 100%;\n height: 100%;\n display: block;\n}\n/* 轨道 */\n.mdui-slider-track {\n right: 0;\n}\n.mdui-slider-track:before {\n background-color: #bdbdbd;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 已滑动部分 */\n.mdui-slider-fill {\n left: 0;\n}\n.mdui-slider-fill:before {\n background-color: #FF4081;\n}\n/* 滑块 */\n.mdui-slider-thumb {\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n margin-top: -6px;\n width: 12px;\n height: 12px;\n background-color: #FF4081;\n border-radius: 50%;\n border: 2px solid #FF4081;\n transform: translate(-50%);\n will-change: background, border-color, transform, border-radius;\n transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/**\n * =============================================================================\n * ************ Slider 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-slider-fill:before {\n background-color: #FFD740;\n}\n.mdui-theme-accent-amber .mdui-slider-thumb {\n background-color: #FFD740;\n border: 2px solid #FFD740;\n}\n.mdui-theme-accent-blue .mdui-slider-fill:before {\n background-color: #448AFF;\n}\n.mdui-theme-accent-blue .mdui-slider-thumb {\n background-color: #448AFF;\n border: 2px solid #448AFF;\n}\n.mdui-theme-accent-cyan .mdui-slider-fill:before {\n background-color: #18FFFF;\n}\n.mdui-theme-accent-cyan .mdui-slider-thumb {\n background-color: #18FFFF;\n border: 2px solid #18FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-slider-fill:before {\n background-color: #FF6E40;\n}\n.mdui-theme-accent-deep-orange .mdui-slider-thumb {\n background-color: #FF6E40;\n border: 2px solid #FF6E40;\n}\n.mdui-theme-accent-deep-purple .mdui-slider-fill:before {\n background-color: #7C4DFF;\n}\n.mdui-theme-accent-deep-purple .mdui-slider-thumb {\n background-color: #7C4DFF;\n border: 2px solid #7C4DFF;\n}\n.mdui-theme-accent-green .mdui-slider-fill:before {\n background-color: #69F0AE;\n}\n.mdui-theme-accent-green .mdui-slider-thumb {\n background-color: #69F0AE;\n border: 2px solid #69F0AE;\n}\n.mdui-theme-accent-indigo .mdui-slider-fill:before {\n background-color: #536DFE;\n}\n.mdui-theme-accent-indigo .mdui-slider-thumb {\n background-color: #536DFE;\n border: 2px solid #536DFE;\n}\n.mdui-theme-accent-light-blue .mdui-slider-fill:before {\n background-color: #40C4FF;\n}\n.mdui-theme-accent-light-blue .mdui-slider-thumb {\n background-color: #40C4FF;\n border: 2px solid #40C4FF;\n}\n.mdui-theme-accent-light-green .mdui-slider-fill:before {\n background-color: #B2FF59;\n}\n.mdui-theme-accent-light-green .mdui-slider-thumb {\n background-color: #B2FF59;\n border: 2px solid #B2FF59;\n}\n.mdui-theme-accent-lime .mdui-slider-fill:before {\n background-color: #EEFF41;\n}\n.mdui-theme-accent-lime .mdui-slider-thumb {\n background-color: #EEFF41;\n border: 2px solid #EEFF41;\n}\n.mdui-theme-accent-orange .mdui-slider-fill:before {\n background-color: #FFAB40;\n}\n.mdui-theme-accent-orange .mdui-slider-thumb {\n background-color: #FFAB40;\n border: 2px solid #FFAB40;\n}\n.mdui-theme-accent-pink .mdui-slider-fill:before {\n background-color: #FF4081;\n}\n.mdui-theme-accent-pink .mdui-slider-thumb {\n background-color: #FF4081;\n border: 2px solid #FF4081;\n}\n.mdui-theme-accent-purple .mdui-slider-fill:before {\n background-color: #E040FB;\n}\n.mdui-theme-accent-purple .mdui-slider-thumb {\n background-color: #E040FB;\n border: 2px solid #E040FB;\n}\n.mdui-theme-accent-red .mdui-slider-fill:before {\n background-color: #FF5252;\n}\n.mdui-theme-accent-red .mdui-slider-thumb {\n background-color: #FF5252;\n border: 2px solid #FF5252;\n}\n.mdui-theme-accent-teal .mdui-slider-fill:before {\n background-color: #64FFDA;\n}\n.mdui-theme-accent-teal .mdui-slider-thumb {\n background-color: #64FFDA;\n border: 2px solid #64FFDA;\n}\n.mdui-theme-accent-yellow .mdui-slider-fill:before {\n background-color: #FFFF00;\n}\n.mdui-theme-accent-yellow .mdui-slider-thumb {\n background-color: #FFFF00;\n border: 2px solid #FFFF00;\n}\n/**\n * =============================================================================\n * ============ Slider 的不同状态 ============\n * =============================================================================\n */\n/* 鼠标按下状态 */\n.mdui-slider-focus .mdui-slider-track:before {\n background-color: #9e9e9e;\n}\n.mdui-slider-focus .mdui-slider-thumb {\n transform: translate(-50%) scale(1.6);\n}\n/* 滑块值为 0 */\n.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fff;\n border-color: #bdbdbd;\n}\n/* 滑块值为 0,且鼠标按下 */\n.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #9e9e9e;\n}\n/* 禁用状态 */\n.mdui-slider-disabled input[type=\"range\"] {\n cursor: default;\n}\n.mdui-slider-disabled .mdui-slider-track:before {\n background-color: #bdbdbd;\n}\n.mdui-slider-disabled .mdui-slider-fill:before {\n background-color: #bdbdbd;\n}\n.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #bdbdbd;\n border-color: transparent !important;\n transform: translate(-50%) scale(0.72);\n}\n/**\n * =============================================================================\n * ============ 间续型滑块 ============\n * =============================================================================\n */\n.mdui-slider-discrete .mdui-slider-thumb {\n height: 30px;\n width: 30px;\n margin-top: -15px;\n margin-left: -15px;\n border: none;\n transform: rotate(-45deg) scale(0.4);\n}\n.mdui-slider-discrete .mdui-slider-thumb span {\n width: 100%;\n text-align: center;\n color: #fff;\n font-size: 12px;\n transform: rotate(45deg);\n opacity: 0;\n position: absolute;\n top: 9px;\n left: -1px;\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb {\n border-radius: 15px 15px 15px 0;\n transform: rotate(-45deg) scale(1) translate(22px, -22px);\n}\n.mdui-slider-discrete.mdui-slider-focus .mdui-slider-thumb span {\n opacity: 1;\n}\n.mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #323232;\n}\n.mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #bdbdbd;\n}\n.mdui-slider-discrete.mdui-slider-disabled .mdui-slider-thumb {\n transform: rotate(-45deg) scale(0.288);\n}\n.mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #bdbdbd;\n}\n/**\n * =============================================================================\n * ************ Slider dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-slider-track:before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-focus .mdui-slider-track:before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-zero .mdui-slider-thumb {\n background-color: #303030;\n border-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n border-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-track:before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-fill:before {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero .mdui-slider-thumb {\n background-color: #fefefe;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-focus .mdui-slider-thumb {\n background-color: #5c5c5c;\n}\n.mdui-theme-layout-dark .mdui-slider-discrete.mdui-slider-zero.mdui-slider-disabled .mdui-slider-thumb {\n background-color: #4c4c4c;\n}\n/**\n * =============================================================================\n * ************ Button 按钮 ************\n * =============================================================================\n */\n/* 默认为 Flat 扁平按钮 */\n.mdui-btn,\n.mdui-fab {\n color: inherit;\n background: transparent;\n border: none;\n border-radius: 2px;\n position: relative;\n height: 36px;\n margin: 0;\n min-width: 88px;\n padding: 0 16px;\n display: inline-block;\n overflow: hidden;\n will-change: box-shadow;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1);\n outline: none;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n line-height: 36px;\n vertical-align: middle;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n zoom: 1;\n white-space: nowrap;\n -webkit-user-drag: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n box-sizing: border-box;\n touch-action: manipulation;\n}\n.mdui-btn:hover,\n.mdui-fab:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.mdui-btn:not(.mdui-ripple):active,\n.mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(0, 0, 0, 0.165);\n}\n.mdui-btn[class*=\"mdui-color-\"]:hover,\n.mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n}\n.mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n.mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n}\n/* 按钮内的图标 */\n.mdui-btn .mdui-icon-left,\n.mdui-btn .mdui-icon-right,\n.mdui-btn .mdui-icon-left::before,\n.mdui-btn .mdui-icon-right::before {\n height: inherit;\n line-height: inherit;\n font-size: 1.3em;\n}\n.mdui-btn .mdui-icon-left {\n float: left;\n margin-right: 0.4em;\n}\n.mdui-btn .mdui-icon-right {\n float: right;\n margin-left: 0.4em;\n}\ninput.mdui-btn[type=\"submit\"] {\n appearance: none;\n}\n/* Raised button 浮动按钮 */\n.mdui-btn-raised {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-btn-raised:hover {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-btn-raised:active {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n/* 禁用按钮 */\n.mdui-btn[disabled],\n.mdui-fab[disabled],\n.mdui-btn[disabled]:hover,\n.mdui-fab[disabled]:hover,\n.mdui-btn[disabled]:active,\n.mdui-fab[disabled]:active,\n.mdui-btn[disabled]:focus,\n.mdui-fab[disabled]:focus {\n background-color: transparent !important;\n color: rgba(0, 0, 0, 0.26) !important;\n box-shadow: none !important;\n cursor: default !important;\n opacity: 1 !important;\n}\n.mdui-btn[disabled] .mdui-icon,\n.mdui-fab[disabled] .mdui-icon,\n.mdui-btn[disabled]:hover .mdui-icon,\n.mdui-fab[disabled]:hover .mdui-icon,\n.mdui-btn[disabled]:active .mdui-icon,\n.mdui-fab[disabled]:active .mdui-icon,\n.mdui-btn[disabled]:focus .mdui-icon,\n.mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(0, 0, 0, 0.26) !important;\n}\n/* 禁用状态浮动按钮和浮动操作按钮 */\n.mdui-btn-raised[disabled],\n.mdui-fab[disabled],\n.mdui-btn-raised[disabled]:hover,\n.mdui-fab[disabled]:hover,\n.mdui-btn-raised[disabled]:active,\n.mdui-fab[disabled]:active,\n.mdui-btn-raised[disabled]:focus,\n.mdui-fab[disabled]:focus {\n background-color: rgba(0, 0, 0, 0.12) !important;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !important;\n}\n/* 加粗按钮文本 */\n.mdui-btn-bold {\n font-weight: bold;\n}\n/* 图标按钮 */\n.mdui-btn-icon {\n border-radius: 50%;\n font-size: 24px;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n overflow: hidden;\n line-height: normal;\n height: 36px;\n width: 36px;\n min-width: 36px;\n}\n.mdui-btn-icon .mdui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-12px, -12px);\n line-height: 24px;\n width: 24px;\n}\n.mdui-btn-icon.mdui-ripple {\n transform: translateZ(0);\n}\n/* 按钮 100% 宽度 */\n.mdui-btn-block {\n display: block;\n width: 100%;\n}\n/* 密集型按钮 */\n.mdui-btn-dense {\n height: 32px;\n line-height: 32px;\n font-size: 13px;\n}\n.mdui-btn-dense.mdui-btn-icon {\n width: 32px;\n min-width: 32px;\n}\n/* 按钮组 */\n.mdui-btn-group {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.mdui-btn-group .mdui-btn {\n float: left;\n min-width: inherit;\n color: rgba(0, 0, 0, 0.54);\n border-radius: 0;\n padding: 0 12px;\n}\n.mdui-btn-group .mdui-btn:before {\n content: ' ';\n border-left: 1px solid transparent;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n}\n.mdui-btn-group .mdui-btn:first-child {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\n.mdui-btn-group .mdui-btn:first-child:before {\n border-left: none;\n}\n.mdui-btn-group .mdui-btn:last-child {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n}\n.mdui-btn-group .mdui-btn.mdui-btn-active {\n color: rgba(0, 0, 0, 0.87);\n background-color: rgba(0, 0, 0, 0.215);\n}\n.mdui-btn-group .mdui-btn.mdui-btn-active + .mdui-btn-active:before {\n border-left: 1px solid rgba(0, 0, 0, 0.145);\n}\n/**\n * =============================================================================\n * ************ Button dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-btn:hover,\n.mdui-theme-layout-dark .mdui-fab:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple):active,\n.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n}\n.mdui-theme-layout-dark .mdui-btn[class*=\"mdui-color-\"]:hover,\n.mdui-theme-layout-dark .mdui-fab[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n}\n.mdui-theme-layout-dark .mdui-btn:not(.mdui-ripple)[class*=\"mdui-color-\"]:active,\n.mdui-theme-layout-dark .mdui-fab:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n}\n.mdui-theme-layout-dark .mdui-btn[disabled],\n.mdui-theme-layout-dark .mdui-fab[disabled],\n.mdui-theme-layout-dark .mdui-btn[disabled]:hover,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover,\n.mdui-theme-layout-dark .mdui-btn[disabled]:active,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active,\n.mdui-theme-layout-dark .mdui-btn[disabled]:focus,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus {\n background-color: transparent !important;\n color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-btn[disabled] .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled] .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:hover .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:active .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active .mdui-icon,\n.mdui-theme-layout-dark .mdui-btn[disabled]:focus .mdui-icon,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus .mdui-icon {\n color: rgba(255, 255, 255, 0.3) !important;\n}\n.mdui-theme-layout-dark .mdui-btn-raised[disabled],\n.mdui-theme-layout-dark .mdui-fab[disabled],\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:hover,\n.mdui-theme-layout-dark .mdui-fab[disabled]:hover,\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:active,\n.mdui-theme-layout-dark .mdui-fab[disabled]:active,\n.mdui-theme-layout-dark .mdui-btn-raised[disabled]:focus,\n.mdui-theme-layout-dark .mdui-fab[disabled]:focus {\n background-color: rgba(255, 255, 255, 0.12) !important;\n}\n/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n/* 浮动操作按钮 */\n.mdui-fab {\n border-radius: 50%;\n font-size: 24px;\n margin: auto;\n padding: 0 !important;\n overflow: hidden;\n line-height: normal !important;\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);\n height: 56px;\n width: 56px;\n min-width: 56px;\n}\n.mdui-fab:hover {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-fab:active {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-fab .mdui-icon {\n position: absolute;\n top: 0;\n left: 0;\n line-height: 24px;\n width: 24px;\n margin-left: 16px;\n margin-top: 16px;\n}\n/* mini 型浮动操作按钮 */\n.mdui-fab-mini {\n height: 40px;\n width: 40px;\n min-width: 40px;\n}\n.mdui-fab-mini .mdui-icon {\n margin-left: 8px;\n margin-top: 8px;\n}\n/* 固定到右下角的 FAB 按钮 */\n.mdui-fab-fixed,\n.mdui-fab-wrapper {\n position: fixed !important;\n /* 手机平板上距离屏幕右下角 16px */\n right: 16px;\n bottom: 16px;\n}\n@media (min-width: 1024px) {\n .mdui-fab-fixed,\n .mdui-fab-wrapper {\n /* 电脑上距离屏幕右下角 24px */\n right: 24px;\n bottom: 24px;\n }\n}\n/* 含菜单的浮动操作按钮 */\n.mdui-fab-wrapper {\n position: relative;\n width: 56px;\n height: 56px;\n padding-top: 8px;\n z-index: 4000;\n text-align: center;\n}\n.mdui-fab-wrapper > .mdui-fab .mdui-icon:not(.mdui-fab-opened) {\n will-change: opacity, transform;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 1;\n}\n.mdui-fab-wrapper > .mdui-fab .mdui-icon.mdui-fab-opened {\n will-change: opacity, transform;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n opacity: 0;\n transform: rotate(225deg);\n}\n.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon:not(.mdui-fab-opened) {\n opacity: 0;\n transform: rotate(225deg);\n}\n.mdui-fab-wrapper > .mdui-fab.mdui-fab-opened .mdui-icon.mdui-fab-opened {\n opacity: 1;\n transform: rotate(360deg);\n}\n.mdui-fab-wrapper > .mdui-fab-mini {\n margin-top: 8px;\n}\n.mdui-fab-wrapper .mdui-fab-dial {\n visibility: visible;\n position: absolute;\n left: 0;\n right: 0;\n bottom: 64px;\n text-align: center;\n height: 0;\n}\n.mdui-fab-wrapper .mdui-fab-dial .mdui-fab {\n margin: 8px 0;\n transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n transform: scale(0);\n opacity: 0;\n}\n.mdui-fab-wrapper .mdui-fab-dial.mdui-fab-dial-show .mdui-fab {\n transform: scale(1);\n opacity: 1;\n}\n/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */\n.mdui-fab,\n.mdui-fab-mini,\n.mdui-fab-wrapper {\n will-change: transform;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), transform 0.2s;\n transform: scale(1) translateZ(0);\n}\n.mdui-fab.mdui-fab-hide,\n.mdui-fab-mini.mdui-fab-hide,\n.mdui-fab-wrapper.mdui-fab-hide {\n transform: scale(0) translateZ(0);\n}\n/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n.mdui-select {\n font-family: Roboto, Noto, Helvetica, Arial, sans-serif;\n display: inline-block;\n box-sizing: border-box;\n vertical-align: middle;\n position: relative;\n padding-left: 0;\n padding-right: 24px;\n appearance: none;\n height: 36px;\n max-width: 100%;\n border: none;\n cursor: pointer;\n outline: none;\n font-size: 16px;\n user-select: none;\n will-change: background-color, box-shadow, background-position-x;\n transition-property: background-color, box-shadow, background-position-x;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n background-repeat: no-repeat;\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n.mdui-select.mdui-select-open {\n border-bottom: none;\n}\n.mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23000000%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n/* 底部和顶部菜单的样式 */\n.mdui-select-open.mdui-select-position-top,\n.mdui-select-open.mdui-select-position-bottom {\n border-radius: 2px;\n background-color: #fff;\n background-position-x: calc(100% - 12px);\n z-index: 99999;\n}\n.mdui-select-open.mdui-select-position-top {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 2px solid transparent;\n box-shadow: 0 10px 10px -3px rgba(0, 0, 0, 0.2), 0 0px 14px 1px rgba(0, 0, 0, 0.14), 0 -7px 24px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-top .mdui-select-menu {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n box-shadow: 0px -4px 4px -2px rgba(0, 0, 0, 0.06), 8px 0 8px -4px rgba(0, 0, 0, 0.12), -8px 0 8px -4px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-bottom {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-select-open.mdui-select-position-bottom .mdui-select-menu {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 1px rgba(0, 0, 0, 0.14), 0px 8px 8px 2px rgba(0, 0, 0, 0.06);\n}\n/* 当前选中项文本 */\n.mdui-select-selected {\n display: block;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n right: 24px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: left 0.2s cubic-bezier(0, 0, 0.2, 1);\n}\n.mdui-select-open .mdui-select-selected {\n left: 16px;\n right: 32px;\n}\n.mdui-select-open.mdui-select-position-auto .mdui-select-selected {\n visibility: hidden;\n}\n/* 菜单 */\n.mdui-select-menu {\n position: relative;\n box-sizing: border-box;\n margin: 0 -24px 0 0;\n border-radius: 2px;\n background-color: #fff;\n color: rgba(0, 0, 0, 0.87);\n z-index: 99999;\n height: 36px;\n visibility: hidden;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n opacity: 0;\n cursor: default;\n transform: scale(1, 0);\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n will-change: transform, opacity, visibility;\n transition-property: transform, opacity, visibility;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.mdui-select-open .mdui-select-menu {\n opacity: 1;\n transform: scale(1, 1);\n visibility: visible;\n overflow-y: hidden;\n}\n.mdui-select-closing .mdui-select-menu {\n visibility: visible;\n overflow-y: hidden;\n transform: scale(1, 1);\n opacity: 0;\n box-shadow: none;\n}\n/* 菜单项 */\n.mdui-select-menu-item {\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n cursor: pointer;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-select-menu-item:hover {\n background-color: #EEEEEE;\n}\n.mdui-select-menu-item:first-child {\n margin-top: 8px;\n}\n.mdui-select-menu-item:last-child {\n margin-bottom: 8px;\n}\n.mdui-select-menu-item[disabled] {\n cursor: default;\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.mdui-select-menu-item[disabled]:hover {\n background-color: inherit !important;\n}\n.mdui-select-menu-item[selected] {\n color: #FF4081;\n}\n/* 原生 select 组件 */\nselect.mdui-select {\n background-color: transparent;\n}\nselect.mdui-select option {\n color: rgba(0, 0, 0, 0.87);\n}\nselect.mdui-select::-ms-expand {\n display: none;\n}\n/* 原生多选 select 组件 */\nselect.mdui-select[multiple] {\n border: 1px solid rgba(0, 0, 0, 0.38);\n padding: 0;\n height: auto;\n cursor: default;\n font-size: 15px;\n background-color: #FFFFFF;\n background-image: none;\n}\nselect.mdui-select[multiple] optgroup {\n margin: 8px 0 0 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.38);\n}\nselect.mdui-select[multiple] optgroup:last-child {\n margin-bottom: 8px;\n}\nselect.mdui-select[multiple] optgroup:not(:first-child) {\n padding-top: 8px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\nselect.mdui-select[multiple] option {\n margin: 0 0 0 -16px;\n padding: 0 16px;\n height: 32px;\n display: flex;\n align-items: center;\n color: rgba(0, 0, 0, 0.87);\n}\nselect.mdui-select[multiple] option:first-child {\n margin-top: 8px;\n}\nselect.mdui-select[multiple] option:last-child {\n margin-bottom: 8px;\n}\n/**\n * =============================================================================\n * ************ Select 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-select-menu-item[selected] {\n color: #FFC107;\n}\n.mdui-theme-accent-blue .mdui-select-menu-item[selected] {\n color: #2196F3;\n}\n.mdui-theme-accent-cyan .mdui-select-menu-item[selected] {\n color: #00BCD4;\n}\n.mdui-theme-accent-deep-orange .mdui-select-menu-item[selected] {\n color: #FF5722;\n}\n.mdui-theme-accent-deep-purple .mdui-select-menu-item[selected] {\n color: #673AB7;\n}\n.mdui-theme-accent-green .mdui-select-menu-item[selected] {\n color: #4CAF50;\n}\n.mdui-theme-accent-indigo .mdui-select-menu-item[selected] {\n color: #3F51B5;\n}\n.mdui-theme-accent-light-blue .mdui-select-menu-item[selected] {\n color: #03A9F4;\n}\n.mdui-theme-accent-light-green .mdui-select-menu-item[selected] {\n color: #8BC34A;\n}\n.mdui-theme-accent-lime .mdui-select-menu-item[selected] {\n color: #CDDC39;\n}\n.mdui-theme-accent-orange .mdui-select-menu-item[selected] {\n color: #FF9800;\n}\n.mdui-theme-accent-pink .mdui-select-menu-item[selected] {\n color: #E91E63;\n}\n.mdui-theme-accent-purple .mdui-select-menu-item[selected] {\n color: #9C27B0;\n}\n.mdui-theme-accent-red .mdui-select-menu-item[selected] {\n color: #F44336;\n}\n.mdui-theme-accent-teal .mdui-select-menu-item[selected] {\n color: #009688;\n}\n.mdui-theme-accent-yellow .mdui-select-menu-item[selected] {\n color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Select dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-select {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n.mdui-theme-layout-dark .mdui-select-position-top {\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22m-0.00254%2C2.5l5%2C5l5%2C-5l-10%2C0z%22%20fill%3D%22%23FFFFFF%22%20transform%3D%22rotate(-180%205%2C5)%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top,\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom {\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-open.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-select-menu {\n background-color: #424242;\n color: #fff;\n}\n.mdui-theme-layout-dark .mdui-select-menu-item:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-select-menu-item[disabled] {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark select.mdui-select {\n background-color: #303030;\n color: #FFFFFF;\n}\n.mdui-theme-layout-dark select.mdui-select option {\n background-color: #303030;\n color: #FFFFFF;\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] optgroup {\n color: rgba(255, 255, 255, 0.5);\n}\n.mdui-theme-layout-dark select.mdui-select[multiple] optgroup:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n/**\n * =============================================================================\n * ************ Grid 网格系统 ************\n * =============================================================================\n */\n.mdui-container,\n.mdui-container-fluid {\n box-sizing: border-box;\n margin-left: auto;\n margin-right: auto;\n padding-left: 8px;\n padding-right: 8px;\n}\n.mdui-container:after,\n.mdui-container-fluid:after {\n content: '';\n display: table;\n clear: both;\n}\n.mdui-container {\n max-width: 1280px;\n width: 96%;\n}\n@media (min-width: 600px) {\n .mdui-container {\n width: 94%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-container {\n width: 92%;\n }\n}\n.mdui-row,\n[class*=\"mdui-row-\"] {\n margin-left: -8px;\n margin-right: -8px;\n}\n.mdui-row:after,\n[class*=\"mdui-row-\"]:after {\n content: '';\n display: table;\n clear: both;\n}\n[class*=\"mdui-col-xs-\"],\n[class*=\"mdui-col-sm-\"],\n[class*=\"mdui-col-md-\"],\n[class*=\"mdui-col-lg-\"],\n[class*=\"mdui-col-xl-\"],\n.mdui-col {\n box-sizing: border-box;\n position: relative;\n min-height: 1px;\n padding-left: 8px;\n padding-right: 8px;\n}\n/* 取消列间距 */\n.mdui-row-gapless .mdui-col,\n.mdui-row-gapless [class*=\"mdui-col-xs-\"],\n.mdui-row-gapless [class*=\"mdui-col-sm-\"],\n.mdui-row-gapless [class*=\"mdui-col-md-\"],\n.mdui-row-gapless [class*=\"mdui-col-lg-\"],\n.mdui-row-gapless [class*=\"mdui-col-xl-\"] {\n padding-left: 0;\n padding-right: 0;\n}\n.mdui-row-gapless .mdui-row,\n.mdui-row-gapless [class*=\"mdui-row-\"] {\n margin-left: 0;\n margin-right: 0;\n}\n.mdui-col-xs-1 {\n float: left;\n width: 8.333333%;\n}\n.mdui-col-offset-xs-1 {\n margin-left: 8.333333%;\n}\n.mdui-row-xs-1 .mdui-col {\n float: left;\n width: 100%;\n}\n.mdui-col-xs-2 {\n float: left;\n width: 16.666667%;\n}\n.mdui-col-offset-xs-2 {\n margin-left: 16.666667%;\n}\n.mdui-row-xs-2 .mdui-col {\n float: left;\n width: 50%;\n}\n.mdui-col-xs-3 {\n float: left;\n width: 25%;\n}\n.mdui-col-offset-xs-3 {\n margin-left: 25%;\n}\n.mdui-row-xs-3 .mdui-col {\n float: left;\n width: 33.333333%;\n}\n.mdui-col-xs-4 {\n float: left;\n width: 33.333333%;\n}\n.mdui-col-offset-xs-4 {\n margin-left: 33.333333%;\n}\n.mdui-row-xs-4 .mdui-col {\n float: left;\n width: 25%;\n}\n.mdui-col-xs-5 {\n float: left;\n width: 41.666667%;\n}\n.mdui-col-offset-xs-5 {\n margin-left: 41.666667%;\n}\n.mdui-row-xs-5 .mdui-col {\n float: left;\n width: 20%;\n}\n.mdui-col-xs-6 {\n float: left;\n width: 50%;\n}\n.mdui-col-offset-xs-6 {\n margin-left: 50%;\n}\n.mdui-row-xs-6 .mdui-col {\n float: left;\n width: 16.666667%;\n}\n.mdui-col-xs-7 {\n float: left;\n width: 58.333333%;\n}\n.mdui-col-offset-xs-7 {\n margin-left: 58.333333%;\n}\n.mdui-row-xs-7 .mdui-col {\n float: left;\n width: 14.285714%;\n}\n.mdui-col-xs-8 {\n float: left;\n width: 66.666667%;\n}\n.mdui-col-offset-xs-8 {\n margin-left: 66.666667%;\n}\n.mdui-row-xs-8 .mdui-col {\n float: left;\n width: 12.5%;\n}\n.mdui-col-xs-9 {\n float: left;\n width: 75%;\n}\n.mdui-col-offset-xs-9 {\n margin-left: 75%;\n}\n.mdui-row-xs-9 .mdui-col {\n float: left;\n width: 11.111111%;\n}\n.mdui-col-xs-10 {\n float: left;\n width: 83.333333%;\n}\n.mdui-col-offset-xs-10 {\n margin-left: 83.333333%;\n}\n.mdui-row-xs-10 .mdui-col {\n float: left;\n width: 10%;\n}\n.mdui-col-xs-11 {\n float: left;\n width: 91.666667%;\n}\n.mdui-col-offset-xs-11 {\n margin-left: 91.666667%;\n}\n.mdui-row-xs-11 .mdui-col {\n float: left;\n width: 9.090909%;\n}\n.mdui-col-xs-12 {\n float: left;\n width: 100%;\n}\n.mdui-col-offset-xs-12 {\n margin-left: 100%;\n}\n.mdui-row-xs-12 .mdui-col {\n float: left;\n width: 8.333333%;\n}\n@media (min-width: 600px) {\n .mdui-col-sm-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-sm-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-sm-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-sm-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-sm-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-sm-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-sm-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-sm-3 {\n margin-left: 25%;\n }\n .mdui-row-sm-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-sm-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-sm-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-sm-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-sm-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-sm-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-sm-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-sm-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-sm-6 {\n margin-left: 50%;\n }\n .mdui-row-sm-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-sm-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-sm-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-sm-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-sm-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-sm-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-sm-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-sm-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-sm-9 {\n margin-left: 75%;\n }\n .mdui-row-sm-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-sm-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-sm-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-sm-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-sm-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-sm-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-sm-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-sm-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-sm-12 {\n margin-left: 100%;\n }\n .mdui-row-sm-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-col-md-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-md-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-md-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-md-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-md-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-md-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-md-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-md-3 {\n margin-left: 25%;\n }\n .mdui-row-md-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-md-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-md-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-md-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-md-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-md-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-md-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-md-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-md-6 {\n margin-left: 50%;\n }\n .mdui-row-md-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-md-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-md-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-md-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-md-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-md-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-md-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-md-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-md-9 {\n margin-left: 75%;\n }\n .mdui-row-md-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-md-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-md-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-md-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-md-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-md-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-md-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-md-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-md-12 {\n margin-left: 100%;\n }\n .mdui-row-md-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1440px) {\n .mdui-col-lg-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-lg-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-lg-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-lg-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-lg-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-lg-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-lg-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-lg-3 {\n margin-left: 25%;\n }\n .mdui-row-lg-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-lg-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-lg-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-lg-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-lg-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-lg-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-lg-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-lg-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-lg-6 {\n margin-left: 50%;\n }\n .mdui-row-lg-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-lg-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-lg-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-lg-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-lg-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-lg-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-lg-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-lg-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-lg-9 {\n margin-left: 75%;\n }\n .mdui-row-lg-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-lg-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-lg-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-lg-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-lg-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-lg-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-lg-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-lg-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-lg-12 {\n margin-left: 100%;\n }\n .mdui-row-lg-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n@media (min-width: 1920px) {\n .mdui-col-xl-1 {\n float: left;\n width: 8.333333%;\n }\n .mdui-col-offset-xl-1 {\n margin-left: 8.333333%;\n }\n .mdui-row-xl-1 .mdui-col {\n float: left;\n width: 100%;\n }\n .mdui-col-xl-2 {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-offset-xl-2 {\n margin-left: 16.666667%;\n }\n .mdui-row-xl-2 .mdui-col {\n float: left;\n width: 50%;\n }\n .mdui-col-xl-3 {\n float: left;\n width: 25%;\n }\n .mdui-col-offset-xl-3 {\n margin-left: 25%;\n }\n .mdui-row-xl-3 .mdui-col {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-xl-4 {\n float: left;\n width: 33.333333%;\n }\n .mdui-col-offset-xl-4 {\n margin-left: 33.333333%;\n }\n .mdui-row-xl-4 .mdui-col {\n float: left;\n width: 25%;\n }\n .mdui-col-xl-5 {\n float: left;\n width: 41.666667%;\n }\n .mdui-col-offset-xl-5 {\n margin-left: 41.666667%;\n }\n .mdui-row-xl-5 .mdui-col {\n float: left;\n width: 20%;\n }\n .mdui-col-xl-6 {\n float: left;\n width: 50%;\n }\n .mdui-col-offset-xl-6 {\n margin-left: 50%;\n }\n .mdui-row-xl-6 .mdui-col {\n float: left;\n width: 16.666667%;\n }\n .mdui-col-xl-7 {\n float: left;\n width: 58.333333%;\n }\n .mdui-col-offset-xl-7 {\n margin-left: 58.333333%;\n }\n .mdui-row-xl-7 .mdui-col {\n float: left;\n width: 14.285714%;\n }\n .mdui-col-xl-8 {\n float: left;\n width: 66.666667%;\n }\n .mdui-col-offset-xl-8 {\n margin-left: 66.666667%;\n }\n .mdui-row-xl-8 .mdui-col {\n float: left;\n width: 12.5%;\n }\n .mdui-col-xl-9 {\n float: left;\n width: 75%;\n }\n .mdui-col-offset-xl-9 {\n margin-left: 75%;\n }\n .mdui-row-xl-9 .mdui-col {\n float: left;\n width: 11.111111%;\n }\n .mdui-col-xl-10 {\n float: left;\n width: 83.333333%;\n }\n .mdui-col-offset-xl-10 {\n margin-left: 83.333333%;\n }\n .mdui-row-xl-10 .mdui-col {\n float: left;\n width: 10%;\n }\n .mdui-col-xl-11 {\n float: left;\n width: 91.666667%;\n }\n .mdui-col-offset-xl-11 {\n margin-left: 91.666667%;\n }\n .mdui-row-xl-11 .mdui-col {\n float: left;\n width: 9.090909%;\n }\n .mdui-col-xl-12 {\n float: left;\n width: 100%;\n }\n .mdui-col-offset-xl-12 {\n margin-left: 100%;\n }\n .mdui-row-xl-12 .mdui-col {\n float: left;\n width: 8.333333%;\n }\n}\n/**\n * =============================================================================\n * ************ Toolbar 工具栏 ************\n * =============================================================================\n */\n.mdui-toolbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n}\n.mdui-toolbar > * {\n margin: 0 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-toolbar[class*=\"mdui-color-\"]:not(.mdui-color-transparent) .mdui-btn:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.mdui-toolbar[class*=\"mdui-color-\"]:not(.mdui-color-transparent) .mdui-btn:active {\n background-color: rgba(255, 255, 255, 0.165);\n}\n.mdui-toolbar > a {\n user-select: none;\n text-decoration: none;\n color: inherit;\n}\n.mdui-toolbar > .mdui-btn-icon {\n width: 48px;\n min-width: 48px;\n height: 48px;\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-toolbar > .mdui-btn-icon {\n width: 40px;\n min-width: 40px;\n height: 40px;\n }\n}\n.mdui-toolbar > .mdui-btn-icon .mdui-icon {\n height: 24px;\n line-height: 24px;\n}\n.mdui-toolbar .mdui-icon {\n color: inherit;\n}\n.mdui-toolbar-spacer {\n flex-grow: 1;\n margin: 0;\n}\n/* 手机 */\n.mdui-toolbar {\n height: 56px;\n line-height: 56px;\n}\n.mdui-toolbar > .mdui-btn {\n margin: 0 4px;\n}\n.mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n}\n@media (min-width: 600px) {\n .mdui-appbar .mdui-toolbar {\n height: 64px;\n line-height: 64px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn {\n margin: 0 8px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-appbar .mdui-toolbar {\n height: 48px;\n line-height: 48px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn {\n margin: 0 4px;\n }\n .mdui-appbar .mdui-toolbar > .mdui-btn + .mdui-btn {\n margin-left: 0;\n }\n}\n/**\n * =============================================================================\n * ************ Appbar 应用栏 ************\n * =============================================================================\n */\n.mdui-appbar {\n z-index: 1000;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n/* appbar 固定在顶部 */\n.mdui-appbar-fixed {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n will-change: left, right;\n transition-property: left, right;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 0.3s;\n}\n/* 左侧留出抽屉栏的距离 */\n@media (min-width: 1024px) {\n .mdui-drawer-body-left .mdui-appbar-inset.mdui-appbar-fixed {\n left: 240px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer-body-right .mdui-appbar-inset.mdui-appbar-fixed {\n right: 240px;\n }\n}\n/* 含工具栏 */\n.mdui-appbar-with-toolbar {\n padding-top: 56px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar {\n padding-top: 64px;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-appbar-with-toolbar {\n padding-top: 48px;\n }\n}\n/* 含 Tab */\n.mdui-appbar-with-tab {\n padding-top: 48px;\n}\n/* 含大 Tab */\n.mdui-appbar-with-tab-larger {\n padding-top: 72px;\n}\n/* 含工具栏和 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 104px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 112px;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: 96px;\n }\n}\n/* 含工具栏和大 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 128px;\n}\n@media (min-width: 600px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 136px;\n }\n}\n@media (orientation: landscape) and (max-width: 959px) {\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: 120px;\n }\n}\n/**\n * =============================================================================\n * ************ Appbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-appbar > [class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n background-color: #212121 !important;\n color: #fff !important;\n}\n/**\n * =============================================================================\n * ************ Card 卡片 ************\n * =============================================================================\n */\n/* 卡片 */\n.mdui-card {\n box-sizing: border-box;\n position: relative;\n border-radius: 2px;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n/**\n * ===================== 头部,包含头像、标题、副标题\n */\n.mdui-card-header {\n box-sizing: border-box;\n padding: 16px;\n position: relative;\n height: 72px;\n}\n/* 卡片头部头像 */\n.mdui-card-header-avatar {\n height: 40px;\n width: 40px;\n border-radius: 50%;\n float: left;\n}\n/* 卡片头部标题 */\n.mdui-card-header-title {\n display: block;\n font-size: 16px;\n line-height: 20px;\n font-weight: 500;\n margin-left: 52px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n opacity: 0.87;\n}\n/* 卡片头部副标题 */\n.mdui-card-header-subtitle {\n display: block;\n font-size: 14px;\n line-height: 20px;\n font-weight: 400;\n margin-left: 52px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n opacity: 0.54;\n}\n/**\n * =========================== 主标题区域\n */\n.mdui-card-primary {\n position: relative;\n padding: 24px 16px 16px 16px;\n}\n/* 主标题区域标题 */\n.mdui-card-primary-title {\n display: block;\n font-size: 24px;\n line-height: 36px;\n opacity: 0.87;\n}\n/* 主标题区域副标题 */\n.mdui-card-primary-subtitle {\n display: block;\n font-size: 14px;\n line-height: 24px;\n opacity: 0.54;\n}\n/**\n * ============================ 内容区域\n */\n.mdui-card-content {\n position: relative;\n padding: 16px;\n line-height: 24px;\n font-size: 14px;\n}\n/**\n * ============================ 卡片菜单\n */\n.mdui-card-menu {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n}\n.mdui-card-menu .mdui-btn {\n margin-left: 8px;\n}\n/**\n * =========================== 按钮区域\n */\n.mdui-card-actions {\n position: relative;\n box-sizing: border-box;\n padding: 8px;\n}\n.mdui-card-actions:before,\n.mdui-card-actions:after {\n content: \" \";\n display: table;\n}\n.mdui-card-actions:after {\n clear: both;\n}\n.mdui-card-actions:before,\n.mdui-card-actions:after {\n content: \" \";\n display: table;\n}\n.mdui-card-actions:after {\n clear: both;\n}\n.mdui-card-actions .mdui-btn {\n margin: 0 8px 0 0;\n max-width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-card-actions .mdui-btn-icon {\n width: 36px;\n height: 36px;\n margin: 0 8px;\n}\n/* 使按钮竖向排列 */\n.mdui-card-actions-stacked .mdui-btn {\n margin: 0 0 4px 0;\n display: block;\n}\n.mdui-card-actions-stacked .mdui-btn:last-child {\n margin: 0;\n}\n/**\n * ============================= 媒体元素区域\n */\n.mdui-card-media {\n position: relative;\n}\n.mdui-card-media img,\n.mdui-card-media video {\n display: block;\n width: 100%;\n}\n/* 覆盖在媒体元素上的内容 */\n.mdui-card-media-covered {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.2);\n color: #fff;\n /* 覆盖在媒体元素上的标题 */\n}\n.mdui-card-media-covered .mdui-card-primary-title {\n opacity: 1;\n}\n.mdui-card-media-covered .mdui-card-primary-subtitle {\n opacity: 0.7;\n}\n/* 覆盖在媒体元素顶部 */\n.mdui-card-media-covered-top {\n bottom: auto;\n top: 0;\n}\n/* 覆盖层透明 */\n.mdui-card-media-covered-transparent {\n background: transparent;\n}\n/* 覆盖层渐变 */\n.mdui-card-media-covered-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n.mdui-card-media-covered-gradient.mdui-card-media-covered-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n/**\n * =============================================================================\n * ************ Card dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-card {\n background-color: #424242;\n color: #fff;\n}\n/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n *\n * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分\n */\n/* 选项卡,默认的选项卡为全宽 */\n.mdui-tab {\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n min-height: 48px;\n max-height: 72px;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n}\n.mdui-tab a {\n display: flex;\n color: inherit;\n text-decoration: none;\n font-size: 14px;\n box-sizing: border-box;\n text-align: center;\n min-height: 48px;\n max-height: 72px;\n cursor: pointer;\n text-transform: uppercase;\n text-overflow: ellipsis;\n overflow: hidden;\n user-select: none;\n opacity: 0.7;\n padding: 12px;\n min-width: 72px;\n outline: none;\n flex: 1;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n.mdui-tab a .mdui-icon {\n opacity: 0.7;\n}\n@media (min-width: 600px) {\n .mdui-tab a {\n min-width: 99px;\n max-width: 264px;\n padding: 12px 24px;\n flex: none;\n }\n}\n@media (min-width: 1024px) {\n .mdui-tab a {\n min-width: 112px;\n }\n}\n@media (min-width: 1440px) {\n .mdui-tab a {\n min-width: 136px;\n }\n}\n@media (min-width: 1920px) {\n .mdui-tab a {\n min-width: 160px;\n }\n}\n.mdui-tab a label {\n cursor: pointer;\n width: 100%;\n display: block;\n}\n.mdui-tab a .mdui-icon + label {\n margin-top: 8px;\n}\n.mdui-tab a[disabled] {\n opacity: 0.38;\n cursor: default;\n}\n.mdui-tab a[disabled] label {\n cursor: default;\n}\n.mdui-tab .mdui-tab-active {\n color: #3F51B5;\n opacity: 1;\n}\n.mdui-tab .mdui-tab-active .mdui-icon {\n opacity: 1;\n}\n/* 选项卡居中 */\n@media (min-width: 600px) {\n .mdui-tab-centered:before {\n content: ' ';\n flex-grow: 1;\n }\n .mdui-tab-centered:after {\n content: ' ';\n flex-grow: 1;\n }\n .mdui-tab-centered a {\n flex: none;\n }\n}\n/* 选项卡始终全宽等分 */\n.mdui-tab-full-width a {\n max-width: none;\n flex: 1;\n}\n/* 可横向滚动的选项卡 */\n.mdui-tab-scrollable {\n padding-left: 56px;\n}\n.mdui-tab-scrollable a {\n flex: none;\n}\n@media (max-width: 599px) {\n .mdui-tab-scrollable {\n padding-left: 60px;\n }\n}\n/* 下划线指示器 */\n.mdui-tab-indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: #3F51B5;\n will-change: left, width;\n transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/**\n * =============================================================================\n * ************ Tab 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-tab .mdui-tab-active {\n color: #FFC107;\n}\n.mdui-theme-primary-amber .mdui-tab-indicator {\n background-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-tab .mdui-tab-active {\n color: #2196F3;\n}\n.mdui-theme-primary-blue .mdui-tab-indicator {\n background-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-tab .mdui-tab-active {\n color: #607D8B;\n}\n.mdui-theme-primary-blue-grey .mdui-tab-indicator {\n background-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-tab .mdui-tab-active {\n color: #795548;\n}\n.mdui-theme-primary-brown .mdui-tab-indicator {\n background-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-tab .mdui-tab-active {\n color: #00BCD4;\n}\n.mdui-theme-primary-cyan .mdui-tab-indicator {\n background-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-tab .mdui-tab-active {\n color: #FF5722;\n}\n.mdui-theme-primary-deep-orange .mdui-tab-indicator {\n background-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-tab .mdui-tab-active {\n color: #673AB7;\n}\n.mdui-theme-primary-deep-purple .mdui-tab-indicator {\n background-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-tab .mdui-tab-active {\n color: #4CAF50;\n}\n.mdui-theme-primary-green .mdui-tab-indicator {\n background-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-tab .mdui-tab-active {\n color: #9E9E9E;\n}\n.mdui-theme-primary-grey .mdui-tab-indicator {\n background-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-tab .mdui-tab-active {\n color: #3F51B5;\n}\n.mdui-theme-primary-indigo .mdui-tab-indicator {\n background-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-tab .mdui-tab-active {\n color: #03A9F4;\n}\n.mdui-theme-primary-light-blue .mdui-tab-indicator {\n background-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-tab .mdui-tab-active {\n color: #8BC34A;\n}\n.mdui-theme-primary-light-green .mdui-tab-indicator {\n background-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-tab .mdui-tab-active {\n color: #CDDC39;\n}\n.mdui-theme-primary-lime .mdui-tab-indicator {\n background-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-tab .mdui-tab-active {\n color: #FF9800;\n}\n.mdui-theme-primary-orange .mdui-tab-indicator {\n background-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-tab .mdui-tab-active {\n color: #E91E63;\n}\n.mdui-theme-primary-pink .mdui-tab-indicator {\n background-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-tab .mdui-tab-active {\n color: #9C27B0;\n}\n.mdui-theme-primary-purple .mdui-tab-indicator {\n background-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-tab .mdui-tab-active {\n color: #F44336;\n}\n.mdui-theme-primary-red .mdui-tab-indicator {\n background-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-tab .mdui-tab-active {\n color: #009688;\n}\n.mdui-theme-primary-teal .mdui-tab-indicator {\n background-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-tab .mdui-tab-active {\n color: #FFEB3B;\n}\n.mdui-theme-primary-yellow .mdui-tab-indicator {\n background-color: #FFEB3B;\n}\n/* 带背景色的选项卡 */\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) .mdui-tab-active {\n color: inherit;\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) .mdui-tab-indicator {\n background-color: #FFFFFF;\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n}\n@media (min-width: 1024px) {\n .mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n}\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white)::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n}\n/**\n * =============================================================================\n * ************ Subheader 副标题 ************\n * =============================================================================\n *\n * 用于 List 和 Grid list 组件\n */\n.mdui-subheader,\n.mdui-subheader-inset {\n position: relative;\n box-sizing: border-box;\n font-size: 14px;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.54);\n height: 48px;\n line-height: 48px;\n cursor: default;\n padding-left: 16px;\n padding-right: 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-subheader-inset {\n padding-left: 72px;\n}\n/**\n * =============================================================================\n * ************ Subheader dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-subheader,\n.mdui-theme-layout-dark .mdui-subheader-inset {\n color: rgba(255, 255, 255, 0.7);\n}\n/**\n * =============================================================================\n * ************ Grid List 网格列表 ************\n * =============================================================================\n */\n/* 调整网格边距 */\n.mdui-grid-list {\n margin: 0 -2px;\n}\n.mdui-grid-list .mdui-col,\n.mdui-grid-list [class*=\"mdui-col-xs-\"],\n.mdui-grid-list [class*=\"mdui-col-sm-\"],\n.mdui-grid-list [class*=\"mdui-col-md-\"],\n.mdui-grid-list [class*=\"mdui-col-lg-\"],\n.mdui-grid-list [class*=\"mdui-col-xl-\"] {\n padding-left: 2px;\n padding-right: 2px;\n}\n/* 单元格 */\n.mdui-grid-tile {\n box-sizing: border-box;\n margin-bottom: 4px;\n overflow: hidden;\n position: relative;\n}\n.mdui-grid-tile img {\n display: block;\n width: 100%;\n}\n/* 操作栏 */\n.mdui-grid-tile-actions {\n display: flex;\n align-items: center;\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n min-height: 48px;\n max-height: 68px;\n padding: 16px;\n box-sizing: border-box;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n}\n.mdui-grid-tile-actions .mdui-icon {\n color: #fff;\n}\n/* 操作栏内的文本 */\n.mdui-grid-tile-text {\n overflow: hidden;\n flex: 1;\n}\n/* 标题 */\n.mdui-grid-tile-title {\n font-size: 16px;\n height: 16px;\n line-height: 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-grid-tile-title .mdui-icon {\n margin-right: 8px;\n}\n/* 副标题 */\n.mdui-grid-tile-subtitle {\n margin-top: 4px;\n font-size: 12px;\n height: 18px;\n line-height: 18px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-grid-tile-subtitle .mdui-icon {\n font-size: 18px;\n margin-right: 8px;\n}\n/* 操作栏内的按钮 */\n.mdui-grid-tile-buttons {\n white-space: nowrap;\n margin: -8px;\n flex: none;\n}\n.mdui-grid-tile-buttons .mdui-btn {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons .mdui-btn:first-child {\n margin-left: 0;\n}\n.mdui-grid-tile-text + .mdui-grid-tile-buttons {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons + .mdui-grid-tile-text {\n margin-left: 16px;\n}\n/* 操作栏位于顶部 */\n.mdui-grid-tile-actions-top {\n bottom: auto;\n top: 0;\n}\n/* 操作栏背景透明 */\n.mdui-grid-tile-actions-transparent {\n background: transparent;\n}\n/* 操作栏背景渐变 */\n.mdui-grid-tile-actions-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n.mdui-grid-tile-actions-gradient.mdui-grid-tile-actions-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n}\n/**\n * =============================================================================\n * ************ List 列表 ************\n * =============================================================================\n */\n/* 列表 */\n.mdui-list {\n margin: 0;\n padding: 8px 0;\n background-color: transparent;\n list-style: none;\n}\n.mdui-list .mdui-list {\n padding: 0;\n}\n.mdui-list > .mdui-divider,\n.mdui-list > .mdui-divider-light,\n.mdui-list > .mdui-divider-dark,\n.mdui-list > .mdui-divider-inset,\n.mdui-list > .mdui-divider-inset-light,\n.mdui-list > .mdui-divider-inset-dark {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.mdui-list a {\n text-decoration: none;\n color: inherit;\n}\n.mdui-list .mdui-subheader,\n.mdui-list .mdui-subheader-inset {\n margin-top: 8px;\n}\n.mdui-list .mdui-subheader:before,\n.mdui-list .mdui-subheader-inset:before {\n content: ' ';\n background-color: rgba(0, 0, 0, 0.12);\n height: 1px;\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n}\n.mdui-list .mdui-subheader:first-child,\n.mdui-list .mdui-subheader-inset:first-child {\n margin-top: -8px;\n}\n.mdui-list .mdui-subheader:first-child:before,\n.mdui-list .mdui-subheader-inset:first-child:before {\n background-color: transparent;\n}\n.mdui-list .mdui-subheader-inset:before {\n left: 72px;\n}\n/* 列表项 */\n.mdui-list-item {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n padding: 0 16px;\n min-height: 48px;\n cursor: pointer;\n text-decoration: none;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-list-item:hover {\n background-color: rgba(0, 0, 0, 0.08);\n}\n.mdui-list-item:after {\n content: ' ';\n height: 48px;\n visibility: hidden;\n}\n/* 列表项图标 */\n.mdui-list-item-icon {\n min-width: 24px;\n width: 24px;\n height: 24px;\n color: rgba(0, 0, 0, 0.54);\n}\n/* 列表项头像 */\n.mdui-list-item-avatar {\n min-width: 40px;\n max-width: 40px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n border-radius: 50%;\n background-color: #BDBDBD;\n color: #FFFFFF;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.mdui-list-item-avatar img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n}\n/* 列表项内容 */\n.mdui-list-item-content {\n flex-grow: 1;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n padding-top: 14px;\n padding-bottom: 14px;\n}\n/* 列表项内容的副内容 */\n.mdui-list-item-text {\n opacity: 0.54;\n font-size: 14px;\n}\n.mdui-list-item-title ~ .mdui-list-item-text {\n margin-top: 4px;\n}\n/* 激活状态的列表项 */\n.mdui-list-item-active {\n background-color: rgba(0, 0, 0, 0.08);\n font-weight: 700;\n}\n.mdui-list-item-active .mdui-list-item-content {\n font-weight: 700;\n}\n.mdui-list-item-active .mdui-list-item-text {\n font-weight: 400;\n}\n/* 限制文本高度 */\n.mdui-list-item-one-line,\n.mdui-list-item-two-line,\n.mdui-list-item-three-line {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n}\n.mdui-list-item-one-line {\n -webkit-line-clamp: 1;\n height: 20px;\n}\n.mdui-list-item-two-line {\n -webkit-line-clamp: 2;\n height: 40px;\n}\n.mdui-list-item-three-line {\n -webkit-line-clamp: 3;\n height: 60px;\n}\n/* 列表项内的元素间添加间距 */\n.mdui-list-item-icon ~ .mdui-list-item-content {\n margin-left: 32px;\n}\n.mdui-checkbox ~ .mdui-list-item-content,\n.mdui-radio ~ .mdui-list-item-content,\n.mdui-switch ~ .mdui-list-item-content {\n margin-left: 20px;\n}\n.mdui-list-item-avatar ~ .mdui-list-item-content {\n margin-left: 16px;\n}\n.mdui-list-item-content ~ .mdui-list-item-icon,\n.mdui-list-item-content ~ .mdui-list-item-avatar,\n.mdui-list-item-content ~ .mdui-checkbox,\n.mdui-list-item-content ~ .mdui-radio,\n.mdui-list-item-content ~ .mdui-switch {\n margin-left: 16px;\n}\n.mdui-list-item-content ~ .mdui-checkbox,\n.mdui-list-item-content ~ .mdui-radio {\n padding-left: 24px;\n}\n/* 密集型列表 */\n.mdui-list-dense {\n padding: 4px 0;\n font-size: 13px;\n}\n.mdui-list-dense > .mdui-divider,\n.mdui-list-dense > .mdui-divider-light,\n.mdui-list-dense > .mdui-divider-dark,\n.mdui-list-dense > .mdui-divider-inset,\n.mdui-list-dense > .mdui-divider-inset-light,\n.mdui-list-dense > .mdui-divider-inset-dark {\n margin-top: 4px;\n margin-bottom: 4px;\n}\n.mdui-list-dense .mdui-subheader,\n.mdui-list-dense .mdui-subheader-inset {\n margin-top: 4px;\n height: 40px;\n line-height: 40px;\n font-size: 12px;\n}\n.mdui-list-dense .mdui-subheader:first-child,\n.mdui-list-dense .mdui-subheader-inset:first-child {\n margin-top: -4px;\n}\n.mdui-list-dense .mdui-list-item {\n min-height: 40px;\n}\n.mdui-list-dense .mdui-list-item:after {\n height: 40px;\n}\n.mdui-list-dense .mdui-list-item-icon {\n width: 20px;\n height: 20px;\n font-size: 20px;\n}\n.mdui-list-dense .mdui-list-item-avatar {\n min-width: 36px;\n min-height: 36px;\n height: 36px;\n width: 36px;\n}\n.mdui-list-dense .mdui-list-item-content {\n font-size: 13px;\n line-height: 18px;\n padding-top: 11px;\n padding-bottom: 11px;\n}\n.mdui-list-dense .mdui-list-item-text {\n font-size: 13px;\n}\n.mdui-list-dense .mdui-list-item-title ~ .mdui-list-item-text {\n margin-top: 2px;\n}\n.mdui-list-dense .mdui-list-item-one-line {\n height: 18px;\n}\n.mdui-list-dense .mdui-list-item-two-line {\n height: 36px;\n}\n.mdui-list-dense .mdui-list-item-three-line {\n height: 54px;\n}\n/**\n * =============================================================================\n * ************ List dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-list .mdui-subheader:before,\n.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:before {\n background-color: rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-list .mdui-subheader:first-child:before,\n.mdui-theme-layout-dark .mdui-list .mdui-subheader-inset:first-child:before {\n background-color: transparent;\n}\n.mdui-theme-layout-dark .mdui-list-item {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-list-item:hover {\n background-color: rgba(255, 255, 255, 0.08);\n}\n.mdui-theme-layout-dark .mdui-list-item-icon {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-list-item-text {\n opacity: 0.7;\n}\n.mdui-theme-layout-dark .mdui-list-item-active {\n background-color: rgba(255, 255, 255, 0.08);\n}\n/**\n * ==============================================================================\n * ************ List inner theme ************\n * ==============================================================================\n */\n[class*=\"mdui-color-\"] .mdui-list-item {\n color: inherit;\n}\n[class*=\"mdui-color-\"] .mdui-list-item-icon {\n color: inherit;\n}\n/**\n * =============================================================================\n * ************ Drawer 抽屉栏导航 ************\n * =============================================================================\n */\n/* DOM 加载完后再添加 transition */\nbody.mdui-loaded {\n transition: padding 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\nbody.mdui-loaded .mdui-drawer {\n transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\n/* 抽屉栏外层,默认出现在左侧且隐藏 */\n.mdui-drawer {\n box-sizing: border-box;\n position: fixed;\n left: 0;\n bottom: 0;\n z-index: 5000;\n will-change: transform;\n margin: 0;\n white-space: nowrap;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n top: 0;\n width: calc(100% - 56px);\n max-width: 280px;\n}\n@media (max-width: 1023px) {\n .mdui-drawer:not(.mdui-drawer-open) {\n box-shadow: none !important;\n }\n}\n@media (min-width: 600px) {\n .mdui-drawer {\n width: calc(100% - 64px);\n max-width: 320px;\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer {\n width: 240px;\n max-width: none;\n }\n .mdui-drawer.mdui-drawer-close {\n box-shadow: none !important;\n }\n}\n/* 出现在右侧的抽屉栏 */\n.mdui-drawer-right {\n left: auto;\n right: 0;\n}\n/* 平板上的样式 */\n@media (max-width: 1023px) {\n .mdui-drawer {\n /* 默认隐藏 */\n transform: translateX(-330px);\n /* 始终有背景和阴影 */\n background-color: #fff;\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n }\n .mdui-drawer-right {\n /* 右侧 drawer 也默认隐藏 */\n transform: translateX(330px);\n }\n}\n/* 手机上的样式 */\n@media (max-width: 599px) {\n .mdui-drawer {\n transform: translateX(-290px);\n }\n .mdui-drawer-right {\n transform: translateX(290px);\n }\n}\n/* 强制隐藏抽屉栏 */\n.mdui-drawer-close {\n transform: translateX(-290px);\n}\n.mdui-drawer-close.mdui-drawer-right {\n transform: translateX(290px);\n}\n@media (min-width: 600px) {\n .mdui-drawer-close {\n transform: translateX(-330px);\n }\n .mdui-drawer-close.mdui-drawer-right {\n transform: translateX(330px);\n }\n}\n@media (min-width: 1024px) {\n .mdui-drawer-close {\n transform: translateX(-250px);\n }\n .mdui-drawer-close.mdui-drawer-right {\n transform: translateX(250px);\n }\n}\n/* 强制显示抽屉栏 */\n.mdui-drawer-open {\n transform: translateX(0) !important;\n}\n/* PC 上的样式 */\n@media (min-width: 1024px) {\n /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */\n .mdui-drawer-body-left {\n padding-left: 240px;\n }\n .mdui-drawer-body-right {\n padding-right: 240px;\n }\n /* PC 上默认有上边距 */\n .mdui-appbar-with-toolbar .mdui-drawer {\n top: 64px;\n }\n .mdui-appbar-with-tab .mdui-drawer {\n top: 48px;\n }\n .mdui-appbar-with-tab-larger .mdui-drawer {\n top: 72px;\n }\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab .mdui-drawer {\n top: 112px;\n }\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger .mdui-drawer {\n top: 136px;\n }\n}\n/* 抽屉栏不是透明时添加阴影 */\n.mdui-drawer[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n/* 抽屉栏 100% 高度,覆盖在导航栏上面 */\n.mdui-drawer-full-height {\n top: 0 !important;\n}\n/**\n * =============================================================================\n * ************ Drawer dark ************\n * =============================================================================\n */\n@media (max-width: 1023px) {\n .mdui-theme-layout-dark .mdui-drawer {\n background-color: #424242;\n }\n}\n/**\n * =============================================================================\n * ************ Dialog 提示框 ************\n * =============================================================================\n */\n.mdui-dialog {\n box-sizing: border-box;\n position: fixed;\n left: 0;\n right: 0;\n color: #000;\n background-color: #fff;\n max-height: 90%;\n width: 92%;\n max-width: 728px;\n min-width: 180px;\n margin: auto;\n overflow: hidden;\n border-radius: 2px;\n display: none;\n z-index: 6000;\n will-change: top, opacity, transform;\n opacity: 0;\n transform: scale(0.95);\n transition-property: transform, opacity, visibility;\n transition-duration: 0.3s;\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n@media (min-width: 600px) {\n .mdui-dialog {\n max-height: 85%;\n width: 85%;\n }\n}\n@media (min-width: 1024px) {\n .mdui-dialog {\n max-height: 80%;\n width: 80%;\n }\n}\n/* 打开提示框 */\n.mdui-dialog-open {\n opacity: 1;\n transform: scale(1);\n}\n/* 提示框标题 */\n.mdui-dialog-title {\n box-sizing: border-box;\n font-size: 20px;\n line-height: 24px;\n font-weight: 500;\n text-align: left;\n}\n/* 标题固定在顶部 */\n.mdui-dialog > .mdui-dialog-title {\n padding: 24px 24px 20px 24px;\n}\n/* 提示框内容 */\n.mdui-dialog-content {\n box-sizing: border-box;\n font-size: 15px;\n color: rgba(0, 0, 0, 0.7);\n padding: 24px;\n line-height: 1.5;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n/* 标题随内容滚动 */\n.mdui-dialog-content > .mdui-dialog-title {\n padding-bottom: 20px;\n}\n.mdui-dialog-title + .mdui-dialog-content {\n padding-top: 0;\n}\n/* 提示框底部按钮 */\n.mdui-dialog-actions {\n box-sizing: border-box;\n padding: 8px;\n text-align: right;\n}\n.mdui-dialog-actions .mdui-btn {\n min-width: 64px;\n margin-left: 8px;\n color: #E91E63;\n}\n.mdui-dialog-actions .mdui-btn:first-child {\n margin-left: 0;\n}\n/* 底部按钮滚随内容动 */\n.mdui-dialog-content > .mdui-dialog-actions {\n margin: 0 -24px -24px -24px;\n padding-top: 32px;\n}\n/* 使提示框底部按钮竖排 */\n.mdui-dialog-actions-stacked {\n padding: 8px 0 8px 0;\n}\n.mdui-dialog-actions-stacked .mdui-btn {\n height: 48px;\n line-height: 48px !important;\n margin: 0;\n width: 100%;\n text-align: right;\n border-radius: 0;\n}\n/**\n * =============================================================================\n * ************ Dialog 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-dialog-actions .mdui-btn {\n color: #FFC107;\n}\n.mdui-theme-accent-blue .mdui-dialog-actions .mdui-btn {\n color: #2196F3;\n}\n.mdui-theme-accent-cyan .mdui-dialog-actions .mdui-btn {\n color: #00BCD4;\n}\n.mdui-theme-accent-deep-orange .mdui-dialog-actions .mdui-btn {\n color: #FF5722;\n}\n.mdui-theme-accent-deep-purple .mdui-dialog-actions .mdui-btn {\n color: #673AB7;\n}\n.mdui-theme-accent-green .mdui-dialog-actions .mdui-btn {\n color: #4CAF50;\n}\n.mdui-theme-accent-indigo .mdui-dialog-actions .mdui-btn {\n color: #3F51B5;\n}\n.mdui-theme-accent-light-blue .mdui-dialog-actions .mdui-btn {\n color: #03A9F4;\n}\n.mdui-theme-accent-light-green .mdui-dialog-actions .mdui-btn {\n color: #8BC34A;\n}\n.mdui-theme-accent-lime .mdui-dialog-actions .mdui-btn {\n color: #CDDC39;\n}\n.mdui-theme-accent-orange .mdui-dialog-actions .mdui-btn {\n color: #FF9800;\n}\n.mdui-theme-accent-pink .mdui-dialog-actions .mdui-btn {\n color: #E91E63;\n}\n.mdui-theme-accent-purple .mdui-dialog-actions .mdui-btn {\n color: #9C27B0;\n}\n.mdui-theme-accent-red .mdui-dialog-actions .mdui-btn {\n color: #F44336;\n}\n.mdui-theme-accent-teal .mdui-dialog-actions .mdui-btn {\n color: #009688;\n}\n.mdui-theme-accent-yellow .mdui-dialog-actions .mdui-btn {\n color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Dialog dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-dialog {\n background-color: #424242;\n color: #fff;\n}\n.mdui-theme-layout-dark .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n}\n/**\n * =============================================================================\n * ************ Dialog alert ************\n * =============================================================================\n */\n.mdui-dialog-alert {\n max-width: 448px;\n}\n/**\n * =============================================================================\n * ************ Dialog confirm ************\n * =============================================================================\n */\n.mdui-dialog-confirm {\n max-width: 448px;\n}\n/**\n * =============================================================================\n * ************ Dialog prompt ************\n * =============================================================================\n */\n.mdui-dialog-prompt {\n max-width: 448px;\n}\n.mdui-dialog-prompt .mdui-textfield {\n padding-top: 0;\n}\n/**\n * =============================================================================\n * ************ Shadow 阴影 ************\n * =============================================================================\n */\n.mdui-shadow-0 {\n box-shadow: none;\n}\n.mdui-shadow-1 {\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-2 {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-3 {\n box-shadow: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-4 {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-5 {\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 5px 8px 0 rgba(0, 0, 0, 0.14), 0 1px 14px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-6 {\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-7 {\n box-shadow: 0 4px 5px -2px rgba(0, 0, 0, 0.2), 0 7px 10px 1px rgba(0, 0, 0, 0.14), 0 2px 16px 1px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-8 {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-9 {\n box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-10 {\n box-shadow: 0 6px 6px -3px rgba(0, 0, 0, 0.2), 0 10px 14px 1px rgba(0, 0, 0, 0.14), 0 4px 18px 3px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-11 {\n box-shadow: 0 6px 7px -4px rgba(0, 0, 0, 0.2), 0 11px 15px 1px rgba(0, 0, 0, 0.14), 0 4px 20px 3px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-12 {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-13 {\n box-shadow: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 13px 19px 2px rgba(0, 0, 0, 0.14), 0 5px 24px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-14 {\n box-shadow: 0 7px 9px -4px rgba(0, 0, 0, 0.2), 0 14px 21px 2px rgba(0, 0, 0, 0.14), 0 5px 26px 4px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-15 {\n box-shadow: 0 8px 9px -5px rgba(0, 0, 0, 0.2), 0 15px 22px 2px rgba(0, 0, 0, 0.14), 0 6px 28px 5px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-16 {\n box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-17 {\n box-shadow: 0 8px 11px -5px rgba(0, 0, 0, 0.2), 0 17px 26px 2px rgba(0, 0, 0, 0.14), 0 6px 32px 5px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-18 {\n box-shadow: 0 9px 11px -5px rgba(0, 0, 0, 0.2), 0 18px 28px 2px rgba(0, 0, 0, 0.14), 0 7px 34px 6px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-19 {\n box-shadow: 0 9px 12px -6px rgba(0, 0, 0, 0.2), 0 19px 29px 2px rgba(0, 0, 0, 0.14), 0 7px 36px 6px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-20 {\n box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 20px 31px 3px rgba(0, 0, 0, 0.14), 0 8px 38px 7px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-21 {\n box-shadow: 0 10px 13px -6px rgba(0, 0, 0, 0.2), 0 21px 33px 3px rgba(0, 0, 0, 0.14), 0 8px 40px 7px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-22 {\n box-shadow: 0 10px 14px -6px rgba(0, 0, 0, 0.2), 0 22px 35px 3px rgba(0, 0, 0, 0.14), 0 8px 42px 7px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-23 {\n box-shadow: 0 11px 14px -7px rgba(0, 0, 0, 0.2), 0 23px 36px 3px rgba(0, 0, 0, 0.14), 0 9px 44px 8px rgba(0, 0, 0, 0.12);\n}\n.mdui-shadow-24 {\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n/* 鼠标悬浮时加深阴影 */\n.mdui-hoverable {\n will-change: box-shadow;\n transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-hoverable:hover,\n.mdui-hoverable:focus {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n/**\n * =============================================================================\n * ************ Tooltip 工具提示 ************\n * =============================================================================\n */\n.mdui-tooltip {\n position: absolute;\n z-index: 9000;\n display: inline-block;\n box-sizing: border-box;\n font-weight: 500;\n color: #fff;\n text-align: left;\n background-color: rgba(97, 97, 97, 0.9);\n border-radius: 2px;\n opacity: 0;\n transition-property: opacity, transform;\n transition-duration: 0.15s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transform: scale(0);\n will-change: opacity, transform;\n font-size: 14px;\n padding: 8px 16px;\n min-height: 32px;\n line-height: 22px;\n max-width: 180px;\n}\n@media (min-width: 1024px) {\n .mdui-tooltip {\n font-size: 12px;\n padding: 4px 8px;\n min-height: 24px;\n line-height: 18px;\n max-width: 200px;\n }\n}\n/* 显示工具提示 */\n.mdui-tooltip-open {\n transform: scale(1);\n opacity: 1;\n}\n/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n.mdui-snackbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 24px 0 24px;\n font-size: 14px;\n min-height: 48px;\n line-height: 20px;\n background-color: #323232;\n color: #fff;\n position: fixed;\n z-index: 7000;\n will-change: transform;\n width: 100%;\n}\n@media (min-width: 600px) {\n .mdui-snackbar {\n width: auto;\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n }\n}\n.mdui-snackbar-bottom,\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-top,\n.mdui-snackbar-right-bottom {\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n/* 位置 */\n.mdui-snackbar-bottom,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-bottom {\n bottom: 0;\n}\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-right-top {\n top: 0;\n}\n.mdui-snackbar-top,\n.mdui-snackbar-bottom {\n left: 50%;\n}\n@media (min-width: 600px) {\n .mdui-snackbar-left-top {\n left: 24px;\n top: 24px;\n }\n .mdui-snackbar-left-bottom {\n left: 24px;\n bottom: 24px;\n }\n .mdui-snackbar-right-top {\n right: 24px;\n top: 24px;\n }\n .mdui-snackbar-right-bottom {\n right: 24px;\n bottom: 24px;\n }\n}\n/* 文本 */\n.mdui-snackbar-text {\n padding: 14px 0 14px 0;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n/* 按钮 */\n.mdui-snackbar-action {\n margin-right: -16px;\n white-space: nowrap;\n color: #FF80AB;\n}\n/**\n * =============================================================================\n * ************ Snackbar 强调色 ************\n * =============================================================================\n */\n.mdui-theme-accent-amber .mdui-snackbar-action {\n color: #FFE57F;\n}\n.mdui-theme-accent-blue .mdui-snackbar-action {\n color: #82B1FF;\n}\n.mdui-theme-accent-cyan .mdui-snackbar-action {\n color: #84FFFF;\n}\n.mdui-theme-accent-deep-orange .mdui-snackbar-action {\n color: #FF9E80;\n}\n.mdui-theme-accent-deep-purple .mdui-snackbar-action {\n color: #B388FF;\n}\n.mdui-theme-accent-green .mdui-snackbar-action {\n color: #B9F6CA;\n}\n.mdui-theme-accent-indigo .mdui-snackbar-action {\n color: #8C9EFF;\n}\n.mdui-theme-accent-light-blue .mdui-snackbar-action {\n color: #80D8FF;\n}\n.mdui-theme-accent-light-green .mdui-snackbar-action {\n color: #CCFF90;\n}\n.mdui-theme-accent-lime .mdui-snackbar-action {\n color: #F4FF81;\n}\n.mdui-theme-accent-orange .mdui-snackbar-action {\n color: #FFD180;\n}\n.mdui-theme-accent-pink .mdui-snackbar-action {\n color: #FF80AB;\n}\n.mdui-theme-accent-purple .mdui-snackbar-action {\n color: #EA80FC;\n}\n.mdui-theme-accent-red .mdui-snackbar-action {\n color: #FF8A80;\n}\n.mdui-theme-accent-teal .mdui-snackbar-action {\n color: #A7FFEB;\n}\n.mdui-theme-accent-yellow .mdui-snackbar-action {\n color: #FFFF8D;\n}\n/**\n * =============================================================================\n * ************ Snackbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-snackbar {\n background-color: #5d5d5d;\n}\n/**\n * =============================================================================\n * ************ Chip 纸片 ************\n * =============================================================================\n */\n.mdui-chip {\n box-sizing: border-box;\n display: inline-block;\n height: 32px;\n border-radius: 16px;\n white-space: nowrap;\n background-color: #e0e0e0;\n cursor: pointer;\n user-select: none;\n margin: 2px 0;\n will-change: box-shadow;\n transition: box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-chip:hover,\n.mdui-chip:focus {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-chip:active {\n background-color: #d6d6d6;\n}\n/* 左侧的图标 */\n.mdui-chip-icon {\n position: relative;\n height: 32px;\n width: 32px;\n border-radius: 50%;\n margin-right: -4px;\n font-size: 18px;\n line-height: 32px;\n display: inline-block;\n vertical-align: middle;\n overflow: hidden;\n text-align: center;\n background-color: #989898;\n color: #ffffff;\n}\n.mdui-chip-icon .mdui-icon {\n position: absolute;\n left: 4px;\n top: 4px;\n color: #ffffff;\n}\n/* 文本 */\n.mdui-chip-title {\n height: 32px;\n line-height: 32px;\n padding-left: 12px;\n padding-right: 12px;\n font-size: 14px;\n vertical-align: middle;\n display: inline-block;\n}\n/* 删除按钮 */\n.mdui-chip-delete {\n height: 24px;\n width: 24px;\n opacity: 0.54;\n cursor: pointer;\n margin-left: -8px;\n margin-right: 4px;\n text-decoration: none;\n display: inline-block;\n vertical-align: middle;\n overflow: hidden;\n text-align: center;\n border-radius: 50%;\n will-change: opacity;\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-chip-delete:hover,\n.mdui-chip-delete:focus {\n opacity: 0.87;\n}\n/**\n * =============================================================================\n * ************ Chip dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-chip {\n background-color: #484848;\n}\n.mdui-theme-layout-dark .mdui-chip:active {\n background-color: #5d5d5d;\n}\n/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n.mdui-bottom-nav {\n display: flex;\n position: relative;\n overflow: hidden;\n height: 56px;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav:before {\n content: ' ';\n flex-grow: 1;\n }\n .mdui-bottom-nav:after {\n content: ' ';\n flex-grow: 1;\n }\n}\n.mdui-bottom-nav a {\n display: flex;\n color: inherit;\n text-decoration: none;\n font-size: 12px;\n text-align: center;\n cursor: pointer;\n text-overflow: ellipsis;\n overflow: hidden;\n user-select: none;\n opacity: 0.7;\n min-width: 32px;\n max-width: none;\n padding: 8px 12px 10px 12px;\n flex: 1;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n will-change: padding;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav a {\n max-width: 144px;\n }\n}\n.mdui-bottom-nav a .mdui-icon {\n opacity: 0.7;\n}\n.mdui-bottom-nav a label {\n cursor: pointer;\n width: 100%;\n display: block;\n will-change: font-size;\n transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-bottom-nav a .mdui-icon + label {\n margin-top: 6px;\n}\n.mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #3F51B5;\n opacity: 1;\n font-size: 14px;\n}\n.mdui-bottom-nav a.mdui-bottom-nav-active .mdui-icon {\n opacity: 1;\n}\n/* 只在激活时显示文本 */\n.mdui-bottom-nav-text-auto a {\n padding-left: 0;\n padding-right: 0;\n min-width: 32px;\n}\n@media (min-width: 600px) {\n .mdui-bottom-nav-text-auto a {\n max-width: 156px;\n }\n}\n.mdui-bottom-nav-text-auto a .mdui-icon {\n padding-top: 16px;\n will-change: padding-top;\n transition: padding-top 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-bottom-nav-text-auto a label {\n transform: scale(0);\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active {\n padding-left: 18px;\n padding-right: 18px;\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active .mdui-icon {\n padding-top: 0;\n}\n.mdui-bottom-nav-text-auto a.mdui-bottom-nav-active label {\n transform: scale(1);\n}\n/* 固定到页面底部 */\n.mdui-bottom-nav-fixed {\n padding-bottom: 56px;\n}\n.mdui-bottom-nav-fixed .mdui-bottom-nav {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n}\n/**\n * =============================================================================\n * ************ Bottom Nav 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: #FFEB3B;\n}\n/* 带背景色的底部导航栏 */\n.mdui-bottom-nav[class*=\"mdui-color-\"] .mdui-bottom-nav-active {\n color: inherit !important;\n}\n/**\n * =============================================================================\n * ************ Progress Linear 线性进度条 ************\n * =============================================================================\n */\n/* 线性进度条 */\n.mdui-progress {\n position: relative;\n height: 4px;\n display: block;\n width: 100%;\n background-color: rgba(63, 81, 181, 0.2);\n border-radius: 2px;\n overflow: hidden;\n}\n/* 确定进度的线性进度条 */\n.mdui-progress-determinate {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n background-color: #3F51B5;\n transition: width 0.3s linear;\n}\n/* 不确定进度的线性进度条 */\n.mdui-progress-indeterminate {\n background-color: #3F51B5;\n}\n.mdui-progress-indeterminate:before {\n content: ' ';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, width;\n animation: mdui-progress-indeterminate 2s linear infinite;\n}\n.mdui-progress-indeterminate:after {\n content: ' ';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, width;\n animation: mdui-progress-indeterminate-short 2s linear infinite;\n}\n@keyframes mdui-progress-indeterminate {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 30%;\n width: 70%;\n }\n 75% {\n left: 100%;\n width: 0;\n }\n}\n@keyframes mdui-progress-indeterminate-short {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 0;\n width: 0;\n }\n 75% {\n left: 0;\n width: 25%;\n }\n 100% {\n left: 100%;\n width: 0;\n }\n}\n/**\n * =============================================================================\n * ************ Progress linear 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-progress {\n background-color: rgba(255, 193, 7, 0.2);\n}\n.mdui-theme-primary-amber .mdui-progress-determinate,\n.mdui-theme-primary-amber .mdui-progress-indeterminate {\n background-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-progress {\n background-color: rgba(33, 150, 243, 0.2);\n}\n.mdui-theme-primary-blue .mdui-progress-determinate,\n.mdui-theme-primary-blue .mdui-progress-indeterminate {\n background-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-progress {\n background-color: rgba(96, 125, 139, 0.2);\n}\n.mdui-theme-primary-blue-grey .mdui-progress-determinate,\n.mdui-theme-primary-blue-grey .mdui-progress-indeterminate {\n background-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-progress {\n background-color: rgba(121, 85, 72, 0.2);\n}\n.mdui-theme-primary-brown .mdui-progress-determinate,\n.mdui-theme-primary-brown .mdui-progress-indeterminate {\n background-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-progress {\n background-color: rgba(0, 188, 212, 0.2);\n}\n.mdui-theme-primary-cyan .mdui-progress-determinate,\n.mdui-theme-primary-cyan .mdui-progress-indeterminate {\n background-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-progress {\n background-color: rgba(255, 87, 34, 0.2);\n}\n.mdui-theme-primary-deep-orange .mdui-progress-determinate,\n.mdui-theme-primary-deep-orange .mdui-progress-indeterminate {\n background-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-progress {\n background-color: rgba(103, 58, 183, 0.2);\n}\n.mdui-theme-primary-deep-purple .mdui-progress-determinate,\n.mdui-theme-primary-deep-purple .mdui-progress-indeterminate {\n background-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-progress {\n background-color: rgba(76, 175, 80, 0.2);\n}\n.mdui-theme-primary-green .mdui-progress-determinate,\n.mdui-theme-primary-green .mdui-progress-indeterminate {\n background-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-progress {\n background-color: rgba(158, 158, 158, 0.2);\n}\n.mdui-theme-primary-grey .mdui-progress-determinate,\n.mdui-theme-primary-grey .mdui-progress-indeterminate {\n background-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-progress {\n background-color: rgba(63, 81, 181, 0.2);\n}\n.mdui-theme-primary-indigo .mdui-progress-determinate,\n.mdui-theme-primary-indigo .mdui-progress-indeterminate {\n background-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-progress {\n background-color: rgba(3, 169, 244, 0.2);\n}\n.mdui-theme-primary-light-blue .mdui-progress-determinate,\n.mdui-theme-primary-light-blue .mdui-progress-indeterminate {\n background-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-progress {\n background-color: rgba(139, 195, 74, 0.2);\n}\n.mdui-theme-primary-light-green .mdui-progress-determinate,\n.mdui-theme-primary-light-green .mdui-progress-indeterminate {\n background-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-progress {\n background-color: rgba(205, 220, 57, 0.2);\n}\n.mdui-theme-primary-lime .mdui-progress-determinate,\n.mdui-theme-primary-lime .mdui-progress-indeterminate {\n background-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-progress {\n background-color: rgba(255, 152, 0, 0.2);\n}\n.mdui-theme-primary-orange .mdui-progress-determinate,\n.mdui-theme-primary-orange .mdui-progress-indeterminate {\n background-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-progress {\n background-color: rgba(233, 30, 99, 0.2);\n}\n.mdui-theme-primary-pink .mdui-progress-determinate,\n.mdui-theme-primary-pink .mdui-progress-indeterminate {\n background-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-progress {\n background-color: rgba(156, 39, 176, 0.2);\n}\n.mdui-theme-primary-purple .mdui-progress-determinate,\n.mdui-theme-primary-purple .mdui-progress-indeterminate {\n background-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-progress {\n background-color: rgba(244, 67, 54, 0.2);\n}\n.mdui-theme-primary-red .mdui-progress-determinate,\n.mdui-theme-primary-red .mdui-progress-indeterminate {\n background-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-progress {\n background-color: rgba(0, 150, 136, 0.2);\n}\n.mdui-theme-primary-teal .mdui-progress-determinate,\n.mdui-theme-primary-teal .mdui-progress-indeterminate {\n background-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-progress {\n background-color: rgba(255, 235, 59, 0.2);\n}\n.mdui-theme-primary-yellow .mdui-progress-determinate,\n.mdui-theme-primary-yellow .mdui-progress-indeterminate {\n background-color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Progress Circular 圆形进度条 ************\n * =============================================================================\n */\n.mdui-spinner {\n display: inline-block;\n position: relative;\n width: 28px;\n height: 28px;\n animation: mdui-spinner 1568ms linear infinite;\n}\n@keyframes mdui-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n.mdui-spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n border-color: #3F51B5;\n opacity: 1;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-1 {\n border-color: #42A5F5 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-2 {\n border-color: #F44336 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-3 {\n border-color: #FDD835 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-layer-4 {\n border-color: #4CAF50 !important;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdui-spinner-layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n@keyframes mdui-spinner-layer-fill-unfill-rotate {\n 12.5% {\n transform: rotate(135deg);\n }\n 25% {\n transform: rotate(270deg);\n }\n 37.5% {\n transform: rotate(405deg);\n }\n 50% {\n transform: rotate(540deg);\n }\n 62.5% {\n transform: rotate(675deg);\n }\n 75% {\n transform: rotate(810deg);\n }\n 87.5% {\n transform: rotate(945deg);\n }\n to {\n transform: rotate(1080deg);\n }\n}\n@keyframes mdui-spinner-layer-1-fade-in-out {\n from {\n opacity: 1;\n }\n 25% {\n opacity: 1;\n }\n 26% {\n opacity: 0;\n }\n 89% {\n opacity: 0;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes mdui-spinner-layer-2-fade-in-out {\n from {\n opacity: 0;\n }\n 15% {\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n opacity: 1;\n }\n 51% {\n opacity: 0;\n }\n}\n@keyframes mdui-spinner-layer-3-fade-in-out {\n from {\n opacity: 0;\n }\n 40% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 75% {\n opacity: 1;\n }\n 76% {\n opacity: 0;\n }\n}\n@keyframes mdui-spinner-layer-4-fade-in-out {\n from {\n opacity: 0;\n }\n 65% {\n opacity: 0;\n }\n 75% {\n opacity: 1;\n }\n 90% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n.mdui-spinner-gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n.mdui-spinner-gap-patch .mdui-spinner-circle {\n width: 1000%;\n left: -450%;\n box-sizing: border-box;\n}\n.mdui-spinner-circle-clipper {\n display: inline-block;\n position: relative;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n}\n.mdui-spinner-circle-clipper .mdui-spinner-circle {\n width: 200%;\n height: 100%;\n border-width: 3px;\n border-style: solid;\n border-color: inherit;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n box-sizing: border-box;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-left {\n float: left;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-left .mdui-spinner-circle {\n left: 0;\n border-right-color: transparent !important;\n transform: rotate(129deg);\n animation: mdui-spinner-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-right {\n float: right;\n}\n.mdui-spinner-circle-clipper.mdui-spinner-right .mdui-spinner-circle {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg);\n animation: mdui-spinner-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;\n}\n@keyframes mdui-spinner-left-spin {\n from {\n transform: rotate(130deg);\n }\n 50% {\n transform: rotate(-5deg);\n }\n to {\n transform: rotate(130deg);\n }\n}\n@keyframes mdui-spinner-right-spin {\n from {\n transform: rotate(-130deg);\n }\n 50% {\n transform: rotate(5deg);\n }\n to {\n transform: rotate(-130deg);\n }\n}\n/**\n * =============================================================================\n * ************ Spinner linear 主色 ************\n * =============================================================================\n */\n.mdui-theme-primary-amber .mdui-spinner-layer {\n border-color: #FFC107;\n}\n.mdui-theme-primary-blue .mdui-spinner-layer {\n border-color: #2196F3;\n}\n.mdui-theme-primary-blue-grey .mdui-spinner-layer {\n border-color: #607D8B;\n}\n.mdui-theme-primary-brown .mdui-spinner-layer {\n border-color: #795548;\n}\n.mdui-theme-primary-cyan .mdui-spinner-layer {\n border-color: #00BCD4;\n}\n.mdui-theme-primary-deep-orange .mdui-spinner-layer {\n border-color: #FF5722;\n}\n.mdui-theme-primary-deep-purple .mdui-spinner-layer {\n border-color: #673AB7;\n}\n.mdui-theme-primary-green .mdui-spinner-layer {\n border-color: #4CAF50;\n}\n.mdui-theme-primary-grey .mdui-spinner-layer {\n border-color: #9E9E9E;\n}\n.mdui-theme-primary-indigo .mdui-spinner-layer {\n border-color: #3F51B5;\n}\n.mdui-theme-primary-light-blue .mdui-spinner-layer {\n border-color: #03A9F4;\n}\n.mdui-theme-primary-light-green .mdui-spinner-layer {\n border-color: #8BC34A;\n}\n.mdui-theme-primary-lime .mdui-spinner-layer {\n border-color: #CDDC39;\n}\n.mdui-theme-primary-orange .mdui-spinner-layer {\n border-color: #FF9800;\n}\n.mdui-theme-primary-pink .mdui-spinner-layer {\n border-color: #E91E63;\n}\n.mdui-theme-primary-purple .mdui-spinner-layer {\n border-color: #9C27B0;\n}\n.mdui-theme-primary-red .mdui-spinner-layer {\n border-color: #F44336;\n}\n.mdui-theme-primary-teal .mdui-spinner-layer {\n border-color: #009688;\n}\n.mdui-theme-primary-yellow .mdui-spinner-layer {\n border-color: #FFEB3B;\n}\n/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n/* 可扩展面板 */\n.mdui-panel {\n box-sizing: border-box;\n width: 100%;\n}\n/* 面板项 */\n.mdui-panel-item {\n background-color: #fff;\n color: rgba(0, 0, 0, 0.87);\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n will-change: margin;\n transition: margin 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-item:last-child {\n border-bottom: none;\n}\n/* 面板头部 */\n.mdui-panel-item-header {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n position: relative;\n width: 100%;\n height: 48px;\n padding: 0 24px;\n font-size: 15px;\n cursor: pointer;\n will-change: height, background-color;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-panel-item-header:active {\n background-color: #EEEEEE;\n}\n/* 面板项标题 */\n.mdui-panel-item-title {\n box-sizing: border-box;\n width: 36%;\n min-width: 36%;\n font-weight: 500;\n padding-right: 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n/* 面板项内容 */\n.mdui-panel-item-summary {\n flex-grow: 1;\n box-sizing: border-box;\n padding-right: 16px;\n color: rgba(0, 0, 0, 0.54);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n/* 展开收起的图标 */\n.mdui-panel-item-arrow {\n position: absolute;\n right: 24px;\n top: 12px;\n color: rgba(0, 0, 0, 0.54);\n user-select: none;\n will-change: transform, top;\n transform: rotate(0);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-panel-item-summary + .mdui-panel-item-arrow {\n position: relative;\n right: 0;\n top: 0 !important;\n}\n/* 面板项内容 */\n.mdui-panel-item-body {\n padding: 0 24px;\n height: 0;\n overflow: hidden;\n will-change: height;\n transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mdui-panel-item-body:before,\n.mdui-panel-item-body:after {\n content: \" \";\n display: table;\n}\n.mdui-panel-item-body:after {\n clear: both;\n}\n.mdui-panel-item-body:before,\n.mdui-panel-item-body:after {\n content: \" \";\n display: table;\n}\n.mdui-panel-item-body:after {\n clear: both;\n}\n.mdui-panel-item-body:after {\n height: 16px;\n}\n/* 面板项操作栏 */\n.mdui-panel-item-actions {\n display: block;\n width: 100%;\n text-align: right;\n margin: 16px -24px 0 -24px;\n padding: 16px 24px 0 24px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-item-actions .mdui-btn {\n margin-left: 8px;\n}\n.mdui-panel-item-actions .mdui-btn:first-child {\n margin-left: 0;\n}\n/* 使打开项上下没有边距 */\n.mdui-panel-gapless {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.mdui-panel-gapless .mdui-panel-item {\n box-shadow: none;\n}\n.mdui-panel-gapless .mdui-panel-item-open {\n margin-top: 0;\n margin-bottom: 0;\n}\n/* 弹出面板 */\n.mdui-panel-popout .mdui-panel-item-open {\n margin-left: -16px;\n margin-right: -16px;\n}\n/* 打开状态的面板项 */\n.mdui-panel-item-open {\n height: auto;\n margin-top: 16px;\n margin-bottom: 16px;\n}\n.mdui-panel-item-open > .mdui-panel-item-header {\n height: 64px;\n}\n.mdui-panel-item-open > .mdui-panel-item-header .mdui-panel-item-arrow {\n transform: rotate(180deg);\n top: 20px;\n}\n.mdui-panel-item-open > .mdui-panel-item-body {\n height: auto;\n}\n/**\n * =============================================================================\n * ************ Expansion panel dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-panel-item {\n background-color: #303030;\n color: #fff;\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n}\n.mdui-theme-layout-dark .mdui-panel-item:last-child {\n border-bottom: none;\n}\n.mdui-theme-layout-dark .mdui-panel-item-header:active {\n background-color: #424242;\n}\n.mdui-theme-layout-dark .mdui-panel-item-summary {\n color: rgba(255, 255, 255, 0.7);\n}\n.mdui-theme-layout-dark .mdui-panel-item-arrow {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-panel-item-actions {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n}\n/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n/* 菜单 */\n.mdui-menu {\n box-sizing: border-box;\n padding: 8px 0;\n margin: 0;\n font-size: 16px;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n border-radius: 2px;\n width: 168px;\n background-color: #fff;\n color: rgba(0, 0, 0, 0.87);\n list-style: none;\n display: block;\n z-index: 99999;\n opacity: 0;\n will-change: transform, opacity, visibility;\n transition-property: transform, opacity, visibility;\n transition-duration: 0.3s;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n visibility: hidden;\n transform: scale(0);\n position: fixed;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n.mdui-menu .mdui-divider {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n/* 打开状态的菜单 */\n.mdui-menu-open {\n visibility: visible;\n transform: scale(1);\n opacity: 1;\n}\n/* 关闭中的菜单 */\n.mdui-menu-closing {\n visibility: visible;\n transform: scale(1);\n opacity: 0;\n}\n/* 菜单项 */\n.mdui-menu-item {\n position: relative;\n}\n.mdui-menu-item > a {\n position: relative;\n display: block;\n color: inherit;\n text-decoration: none;\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.mdui-menu-item > a:hover {\n background-color: #EEEEEE;\n}\n.mdui-menu-item > .mdui-menu {\n position: absolute;\n box-shadow: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n.mdui-menu-item[disabled] > a {\n cursor: default;\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.mdui-menu-item[disabled] > a:hover {\n background-color: inherit !important;\n}\n.mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(0, 0, 0, 0.26);\n}\n/* 激活状态的菜单项 */\n.mdui-menu-item-active {\n background-color: #EEEEEE;\n}\n/* 菜单中的图标 */\n.mdui-menu-item-icon {\n color: rgba(0, 0, 0, 0.54);\n width: 40px;\n padding-right: 16px;\n box-sizing: border-box;\n display: inline-block;\n}\n/* 菜单中的辅助文本或图标 */\n.mdui-menu-item-helper {\n float: right;\n}\n/* 有子菜单的条目的图标 */\n.mdui-menu-item-more {\n float: right;\n width: 24px;\n height: 24px;\n margin: 4px 0;\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20opacity%3D%220.54%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23000000%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n/* 级联菜单 */\n.mdui-menu-cascade {\n padding: 16px 0;\n font-size: 15px;\n width: 320px;\n overflow-y: visible;\n}\n.mdui-menu-cascade > .mdui-menu-item > a {\n height: 32px;\n line-height: 32px;\n padding: 0 24px;\n}\n/**\n * =============================================================================\n * ************ Menu dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark .mdui-menu {\n background-color: #424242;\n color: #fff;\n}\n.mdui-theme-layout-dark .mdui-menu-item > a:hover {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-menu-item[disabled] > a {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.mdui-theme-layout-dark .mdui-menu-item[disabled] > a .mdui-icon {\n color: rgba(255, 255, 255, 0.3);\n}\n.mdui-theme-layout-dark .mdui-menu-item-active {\n background-color: #616161;\n}\n.mdui-theme-layout-dark .mdui-menu-item-icon {\n color: #ffffff;\n}\n.mdui-theme-layout-dark .mdui-menu-item-more {\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%20transform%3D%22rotate(-90%2012%2C12.5)%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E%0A\");\n}\n","/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n\n/* 文本框外层 */\n.mdui-textfield {\n position: relative;\n padding-top: 16px;\n padding-bottom: 8px;\n overflow: hidden;\n}\n\n.mdui-textfield-has-bottom {\n padding-bottom: 28px;\n}\n\n/* 输入框 */\n.mdui-textfield-input {\n width: 100%;\n overflow: hidden;\n padding: 8px 0;\n appearance: none;\n box-sizing: border-box;\n border: none;\n background: none;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n box-shadow: none;\n display: block;\n margin: 0;\n height: 36px;\n line-height: 20px;\n font-size: 16px;\n font-family: inherit;\n outline: none;\n resize: none;\n transition-property: border-bottom-color, padding-right, box-shadow;\n transition-duration: .2s;\n transition-timing-function: @animation-curve-default;\n border-bottom: 1px solid rgba(0, 0, 0, .42);\n\n &::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.42;\n }\n\n &:not([disabled]):hover {\n border-bottom: 1px solid rgba(0, 0, 0, .87);\n box-shadow: 0 1px 0 0 rgba(0, 0, 0, .87);\n cursor: pointer;\n }\n\n &[rows] {\n height: auto !important;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n/* 文本框 label */\n.mdui-textfield-label {\n pointer-events: none;\n display: block;\n font-size: 16px;\n width: 100%;\n transform-origin: left;\n color: rgba(0, 0, 0, 0.54);\n transition: all .2s;\n transform: scale(0.75) translateY(0);\n}\n\n/* 表单验证错误提示、帮助文本提示 */\n.mdui-textfield-error,\n.mdui-textfield-helper {\n position: absolute;\n bottom: 8px;\n font-size: 12px;\n .mdui-text-truncate();\n height: 12px;\n line-height: 12px;\n}\n\n.mdui-textfield-error {\n color: rgba(red(@color-red-a400), green(@color-red-a400), blue(@color-red-a400), .87);\n visibility: hidden;\n}\n\n.mdui-textfield-helper {\n color: rgba(0, 0, 0, 0.54);\n}\n\n\n/* 表单中的图标\n ========== */\n.mdui-textfield {\n .mdui-icon {\n position: absolute;\n bottom: 8px;\n color: @color-black-icon;\n padding: 6px;\n\n ~ .mdui-textfield-label,\n ~ .mdui-textfield-input,\n ~ .mdui-textfield-error,\n ~ .mdui-textfield-helper,\n ~ .mdui-textfield-flex-wrap {\n margin-left: 56px;\n width: calc(~\"100% - 56px\");\n }\n }\n}\n\n.mdui-textfield-has-bottom {\n .mdui-icon {\n bottom: 28px;\n }\n}\n\n/* 聚焦状态的文本框\n ============= */\n.mdui-textfield-focus {\n\n .mdui-textfield-input,\n .mdui-textfield-input:hover {\n border-bottom-color: @color-default-a700;\n box-shadow: 0 1px 0 0 @color-default-a700;\n }\n\n .mdui-textfield-label,\n .mdui-icon {\n color: rgba(red(@color-default-a700), green(@color-default-a700), blue(@color-default-a700), .87);\n }\n}\n\n/* 含有浮动标签的文本框\n ================ */\n.mdui-textfield-floating-label {\n\n .mdui-textfield-label {\n transform: scale(1) translateY(27px);\n color: rgba(0, 0, 0, 0.35);\n }\n\n &.mdui-textfield-focus,\n &.mdui-textfield-not-empty {\n .mdui-textfield-label {\n transform: scale(0.75) translateY(0);\n color: rgba(0, 0, 0, 0.65);\n }\n }\n &.mdui-textfield-focus {\n .mdui-textfield-label {\n .mdui-text-color(@color-accent-default-name);\n }\n }\n}\n\n/* 可展开文本框,默认向右展开\n ========== */\n.mdui-textfield-expandable {\n width: 36px;\n padding: 1px 0;\n min-height: 36px;\n transition: width .3s @animation-curve-default;\n\n .mdui-icon {\n bottom: 0;\n padding: 0;\n }\n\n .mdui-textfield-input {\n margin-left: 36px;\n width: calc(~\"100% - 36px\");\n padding-right: 0;\n }\n\n .mdui-textfield-icon {\n position: absolute;\n left: 0;\n top: 0;\n }\n\n .mdui-textfield-close {\n position: absolute;\n right: 0;\n top: 0;\n transform: scale(0);\n }\n\n &.mdui-textfield-expanded {\n width: 100%;\n\n .mdui-textfield-input {\n padding-right: 36px;\n }\n\n .mdui-textfield-close {\n transform: scale(1);\n }\n }\n}\n\n/* 表单验证不通过\n =========== */\n.mdui-textfield-invalid,\n.mdui-textfield-invalid-html5 {\n\n .mdui-textfield-input,\n &.mdui-textfield-focus .mdui-textfield-input {\n border-bottom-color: @color-red-a400 !important;\n box-shadow: 0 1px 0 0 @color-red-a400 !important;\n }\n\n .mdui-textfield-label {\n color: @color-red-a400 !important;\n }\n\n &.mdui-textfield-floating-label {\n .mdui-textfield-label {\n color: rgba(red(@color-red-a400), green(@color-red-a400), blue(@color-red-a400), 0.35) !important;\n }\n\n &.mdui-textfield-focus,\n &.mdui-textfield-not-empty {\n .mdui-textfield-label {\n color: @color-red-a400 !important;\n }\n }\n }\n\n .mdui-textfield-error {\n visibility: visible;\n\n &+.mdui-textfield-helper {\n visibility: hidden;\n }\n }\n}\n\n/* 禁用表单\n ====== */\n.mdui-textfield-disabled {\n .mdui-textfield-label,\n .mdui-textfield-input::-webkit-input-placeholder {\n color: @color-black-disabled;\n }\n\n .mdui-textfield-input {\n color: rgba(0, 0, 0, .42);\n cursor: default;\n }\n\n .mdui-textfield-input {\n border-bottom: 1px dashed rgba(0, 0, 0, .42);\n }\n}\n\n/* 字数统计\n ====== */\n.mdui-textfield-counter {\n position: absolute;\n right: 8px;\n font-size: 12px;\n bottom: 8px;\n color: @color-black-secondary;\n height: 12px;\n line-height: 12px;\n}\n\n\n/**\n * =============================================================================\n * ************ Textfield dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 输入框颜色\n .mdui-textfield-input {\n color: #fff;\n border-bottom-color: rgba(255, 255, 255, .7);\n\n &::-webkit-input-placeholder {\n color: rgba(255, 255, 255, .5);\n }\n\n &:not([disabled]):hover {\n border-bottom-color: rgba(255, 255, 255, 1);\n box-shadow: 0 1px 0 0 rgba(255, 255, 255, 1);\n }\n }\n\n // 图标颜色\n .mdui-textfield {\n .mdui-icon {\n color: rgba(255, 255, 255, 0.7);\n }\n }\n\n // 标签颜色\n .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.7);\n }\n\n .mdui-textfield-floating-label {\n .mdui-textfield-label {\n color: rgba(255, 255, 255, 0.35);\n }\n }\n\n // 错误文本颜色\n .mdui-textfield-error {\n color: @color-red-a400;\n }\n\n // 帮助文本颜色\n .mdui-textfield-helper {\n color: rgba(255, 255, 255, 0.7);\n }\n\n // 字数统计颜色\n .mdui-textfield-counter {\n color: @color-white-secondary;\n }\n\n // 聚焦状态\n .mdui-textfield-focus {\n\n .mdui-textfield-input,\n .mdui-textfield-input:hover {\n border-bottom-color: @color-default-a200;\n box-shadow: 0 1px 0 0 @color-default-a200;\n }\n\n .mdui-textfield-label {\n color: @color-default-a200;\n }\n }\n\n // 禁用状态\n .mdui-textfield-disabled {\n .mdui-textfield-label,\n .mdui-textfield-input::-webkit-input-placeholder {\n color: @color-white-disabled;\n }\n\n .mdui-textfield-input {\n color: @color-white-disabled;\n }\n\n .mdui-textfield-input {\n border-bottom-color: rgba(255, 255, 255, .7);\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Textfield 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n\n @colorA700: 'color-@{colorName}-a700';\n @colorA200: 'color-@{colorName}-a200';\n\n .mdui-textfield-focus {\n\n .mdui-textfield-input {\n border-bottom-color: @@colorA700;\n box-shadow: 0 1px 0 0 @@colorA700;\n }\n\n .mdui-textfield-label,\n .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-icon {\n color: rgba(red(@@colorA700), green(@@colorA700), blue(@@colorA700), .87);\n }\n }\n\n // 暗色主题\n &.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-textfield-focus {\n\n .mdui-textfield-input {\n border-bottom-color: @@colorA200;\n box-shadow: 0 1px 0 0 @@colorA200;\n }\n\n .mdui-textfield-label,\n .mdui-textfield-floating-label.mdui-textfield-focus .mdui-textfield-label,\n .mdui-icon {\n color: @@colorA200;\n }\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n","// 根据背景色设置文本色\n._mdui-color-text-color(@color-is-dark) {\n & when (@color-is-dark = true) {\n color: @color-white-text;\n }\n & when (@color-is-dark = false) {\n color: @color-black-text;\n }\n}\n\n// hover 状态背景色\n._mdui-background-color-hover(@colorName) {\n @color-is-dark: 'color-@{colorName}-500-is-dark';\n & when (@@color-is-dark = true) {\n @color: 'color-@{colorName}-400';\n background-color: @@color;\n }\n & when (@@color-is-dark = false) {\n @color: 'color-@{colorName}-600';\n background-color: @@color;\n }\n}\n\n// active 状态背景色\n._mdui-background-color-active(@colorName) {\n @color-is-dark: 'color-@{colorName}-500-is-dark';\n & when (@@color-is-dark = true) {\n @color: 'color-@{colorName}-300';\n background-color: @@color;\n }\n & when (@@color-is-dark = false) {\n @color: 'color-@{colorName}-700';\n background-color: @@color;\n }\n}\n\n// 仅设置背景色\n.mdui-background-color(@colorName, @degree: 500) {\n @color: 'color-@{colorName}-@{degree}';\n background-color: @@color;\n}\n\n// 背景色和文本色\n.mdui-color(@colorName, @degree: 500) {\n .mdui-background-color(@colorName, @degree);\n\n @color-is-dark: 'color-@{colorName}-@{degree}-is-dark';\n ._mdui-color-text-color(@@color-is-dark);\n}\n\n// 文本色\n.mdui-text-color(@colorName, @degree: 500, @opacity: 1) {\n @color: 'color-@{colorName}-@{degree}';\n\n & when (@opacity = 1) {\n color: @@color;\n }\n & when (@opacity < 1) {\n color: rgba(red(@@color), green(@@color), blue(@@color), @opacity);\n }\n}\n","/**\n * =============================================================================\n * ************ Color 颜色 ************\n * =============================================================================\n */\n\n@global-primary-color-degrees-length: length(@globalPrimaryColorDegrees);\n@global-primary-colors-length: length(@globalPrimaryColors);\n@global-accent-color-degrees-length: length(@globalAccentColorDegrees);\n@global-accent-colors-length: length(@globalAccentColors);\n\n\n/**\n * .mdui-theme-primary-[color] .mdui-color-theme\n * .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n .mdui-theme-primary-@{colorName} {\n\n // .mdui-theme-primary-[color] .mdui-color-theme\n .mdui-color-theme {\n .mdui-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-theme-primary-[color] .mdui-color-theme-[degree]\n .mdui-color-theme-@{degree} {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-theme-accent-[color] .mdui-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n\n // .mdui-theme-accent-[color] .mdui-color-theme-accent\n .mdui-color-theme-accent {\n .mdui-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-theme-accent-[color] .mdui-color-theme-[degree]\n .mdui-color-theme-@{degree} {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-color-[color]\n * .mdui-color-[color]-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n & {\n // .mdui-color-[color]\n .mdui-color-@{colorName} {\n .mdui-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-color-[color]-[degree]\n .mdui-color-@{colorName}-@{degree} {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-color-[color]-accent\n * .mdui-color-[color]-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n &{\n // .mdui-color-[color]-accent\n .mdui-color-@{colorName}-accent {\n .mdui-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-color-[color]-[degree]\n .mdui-color-@{colorName}-@{degree} {\n .mdui-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-color-black\n * .mdui-color-white\n * .mdui-color-transparent\n */\n\n.mdui-color-black {\n background-color: @color-black !important;\n color: @color-white-text !important;\n}\n\n.mdui-color-white {\n background-color: @color-white !important;\n color: @color-black-text !important;\n}\n\n.mdui-color-transparent {\n background-color: @color-transparent !important;\n}\n\n\n/**\n * .mdui-theme-primary-[color] .mdui-text-color-theme\n * .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n .mdui-theme-primary-@{colorName} {\n\n // .mdui-theme-primary-[color] .mdui-text-color-theme\n .mdui-text-color-theme {\n .mdui-text-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-theme-primary-[color] .mdui-text-color-theme-[degree]\n .mdui-text-color-theme-@{degree} {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n * .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n\n // .mdui-theme-accent-[color] .mdui-text-color-theme-accent\n .mdui-text-color-theme-accent {\n .mdui-text-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-theme-accent-[color] .mdui-text-color-theme-[degree]\n .mdui-text-color-theme-@{degree} {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-text-color-[color]\n * .mdui-text-color-[color]-[degree]\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n &{\n // .mdui-text-color-[color]\n .mdui-text-color-@{colorName} {\n .mdui-text-color(@colorName) !important;\n }\n\n .loop-primary-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-primary-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalPrimaryColorDegrees, @counter-degree);\n\n // .mdui-text-color-[color]-[degree]\n .mdui-text-color-@{colorName}-@{degree} {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-primary-degree-theme(@global-primary-color-degrees-length);\n }\n }\n .loop-primary-theme(@global-primary-colors-length);\n}\n\n\n/**\n * .mdui-text-color-[color]-accent\n * .mdui-text-color-[color]-[degree]\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n\n @colorName: extract(@globalAccentColors, @counter-color);\n\n &{\n // .mdui-text-color-[color]-accent\n .mdui-text-color-@{colorName}-accent {\n .mdui-text-color(@colorName, a200) !important;\n }\n\n .loop-accent-degree-theme(@counter-degree) when (@counter-degree > 0) {\n .loop-accent-degree-theme((@counter-degree - 1));\n\n @degree: extract(@globalAccentColorDegrees, @counter-degree);\n\n // .mdui-text-color-[color]-[degree]\n .mdui-text-color-@{colorName}-@{degree} {\n .mdui-text-color(@colorName, @degree) !important;\n }\n }\n .loop-accent-degree-theme(@global-accent-color-degrees-length);\n }\n }\n .loop-accent-theme(@global-accent-colors-length);\n}\n\n\n/**\n * .mdui-text-color-black\n * .mdui-text-color-black-[]\n * .mdui-text-color-theme-[]\n */\n\n.mdui-text-color-black {\n color: @color-black !important;\n}\n.mdui-text-color-black-text,\n.mdui-text-color-theme-text {\n color: @color-black-text !important;\n}\n.mdui-text-color-black-secondary,\n.mdui-text-color-theme-secondary {\n color: @color-black-secondary !important;\n}\n.mdui-text-color-black-disabled,\n.mdui-text-color-theme-disabled {\n color: @color-black-disabled !important;\n}\n.mdui-text-color-black-divider,\n.mdui-text-color-theme-divider {\n color: @color-black-divider !important;\n}\n.mdui-text-color-black-icon,\n.mdui-text-color-theme-icon {\n color: @color-black-icon !important;\n}\n.mdui-text-color-black-icon-disabled,\n.mdui-text-color-theme-icon-disabled {\n color: @color-black-icon-disabled !important;\n}\n\n/**\n * .mdui-text-color-white\n * .mdui-text-color-white-[]\n */\n.mdui-text-color-white {\n color: @color-white !important;\n}\n.mdui-text-color-white-text {\n color: @color-white-text !important;\n}\n.mdui-text-color-white-secondary {\n color: @color-white-secondary !important;\n}\n.mdui-text-color-white-disabled {\n color: @color-white-disabled !important;\n}\n.mdui-text-color-white-divider {\n color: @color-white-divider !important;\n}\n.mdui-text-color-white-icon {\n color: @color-white-icon !important;\n}\n.mdui-text-color-white-icon-disabled {\n color: @color-white-icon-disabled !important;\n}\n\n/**\n * .mdui-text-color-theme-[] 深色主题\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-text-color-theme-text {\n color: @color-white-text !important;\n }\n .mdui-text-color-theme-secondary {\n color: @color-white-secondary !important;\n }\n .mdui-text-color-theme-disabled {\n color: @color-white-disabled !important;\n }\n .mdui-text-color-theme-divider {\n color: @color-white-divider !important;\n }\n .mdui-text-color-theme-icon {\n color: @color-white-icon !important;\n }\n .mdui-text-color-theme-icon-disabled {\n color: @color-white-icon-disabled !important;\n }\n}","// ======================== 边距\n.mdui-m-a(@spacing) {\n margin: @spacing * @spacing-base;\n}\n.mdui-m-t(@spacing) {\n margin-top: @spacing * @spacing-base;\n}\n.mdui-m-r(@spacing) {\n margin-right: @spacing * @spacing-base;\n}\n.mdui-m-b(@spacing) {\n margin-bottom: @spacing * @spacing-base;\n}\n.mdui-m-l(@spacing) {\n margin-left: @spacing * @spacing-base;\n}\n.mdui-m-x(@spacing) {\n margin-left: @spacing * @spacing-base;\n margin-right: @spacing * @spacing-base;\n}\n.mdui-m-y(@spacing) {\n margin-top: @spacing * @spacing-base;\n margin-bottom: @spacing * @spacing-base;\n}\n\n.mdui-p-a(@spacing) {\n padding: @spacing * @spacing-base;\n}\n.mdui-p-t(@spacing) {\n padding-top: @spacing * @spacing-base;\n}\n.mdui-p-r(@spacing) {\n padding-right: @spacing * @spacing-base;\n}\n.mdui-p-b(@spacing) {\n padding-bottom: @spacing * @spacing-base;\n}\n.mdui-p-l(@spacing) {\n padding-left: @spacing * @spacing-base;\n}\n.mdui-p-x(@spacing) {\n padding-left: @spacing * @spacing-base;\n padding-right: @spacing * @spacing-base;\n}\n.mdui-p-y(@spacing) {\n padding-top: @spacing * @spacing-base;\n padding-bottom: @spacing * @spacing-base;\n}\n\n//=========================== 清除浮动\n// 清除浮动\n.mdui-clearfix(){\n &:before,\n &:after {\n content: \" \";\n display: table;\n }\n &:after {\n clear: both;\n }\n}\n\n// 用省略号代替被截断的文本\n.mdui-text-truncate() {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n// 文本强制换行\n.mdui-textwrap() {\n word-wrap: break-word;\n word-break: break-all;\n}\n\n// 使子元素垂直居中\n.mdui-valign() {\n display: flex;\n align-items: center;\n}\n\n// 使元素水平居中\n.mdui-center() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n// 美化滚动条样式\n.mdui-scrollbar-beautify(@layout: light) {\n // 亮色主题\n & when (@layout = light) {\n &::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n // 桌面端\n @media (min-width: @screen-md-min) {\n width: 8px;\n height: 8px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.2);\n }\n }\n\n // 暗色主题\n & when (@layout = dark) {\n &::-webkit-scrollbar {\n background: transparent;\n width: 5px;\n height: 5px;\n // 桌面端\n @media (min-width: @screen-md-min) {\n width: 8px;\n height: 8px;\n }\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.3);\n }\n }\n\n}","/**\n * =============================================================================\n * ************ Helper 辅助类 ************\n * =============================================================================\n */\n\n/**\n * =================== 边距\n */\n._spacing_margin_mixin(@spacing) when (@spacing > -1) {\n ._spacing_margin_mixin(@spacing - 1);\n\n .mdui-m-a-@{spacing} {\n .mdui-m-a(@spacing) !important;\n }\n .mdui-m-t-@{spacing} {\n .mdui-m-t(@spacing) !important;\n }\n .mdui-m-r-@{spacing} {\n .mdui-m-r(@spacing) !important;\n }\n .mdui-m-b-@{spacing} {\n .mdui-m-b(@spacing) !important;\n }\n .mdui-m-l-@{spacing} {\n .mdui-m-l(@spacing) !important;\n }\n .mdui-m-x-@{spacing} {\n .mdui-m-x(@spacing) !important;\n }\n .mdui-m-y-@{spacing} {\n .mdui-m-y(@spacing) !important;\n }\n\n .mdui-p-a-@{spacing} {\n .mdui-p-a(@spacing) !important;\n }\n .mdui-p-t-@{spacing} {\n .mdui-p-t(@spacing) !important;\n }\n .mdui-p-r-@{spacing} {\n .mdui-p-r(@spacing) !important;\n }\n .mdui-p-b-@{spacing} {\n .mdui-p-b(@spacing) !important;\n }\n .mdui-p-l-@{spacing} {\n .mdui-p-l(@spacing) !important;\n }\n .mdui-p-x-@{spacing} {\n .mdui-p-x(@spacing) !important;\n }\n .mdui-p-y-@{spacing} {\n .mdui-p-y(@spacing) !important;\n }\n}\n\n._spacing_margin_mixin(5);\n\n\n/**\n * ======================== 快速浮动\n */\n\n/* 向左浮动 */\n.mdui-float-left {\n float: left !important;\n}\n\n/* 向右浮动 */\n.mdui-float-right {\n float: right !important;\n}\n\n/**\n * ========================= 水平居中\n */\n/* 水平居中 */\n.mdui-center {\n .mdui-center() !important;\n}\n\n/**\n * ========================= 垂直居中\n */\n/* 垂直居中 */\n.mdui-valign {\n .mdui-valign() !important;\n}\n\n/**\n * ========================= 文本对齐方式\n */\n/* 文本左对齐 */\n.mdui-text-left {\n text-align: left !important;\n}\n\n/* 文本居中对齐 */\n.mdui-text-center {\n text-align: center !important;\n}\n\n/* 文本向右对齐 */\n.mdui-text-right {\n text-align: right !important;\n}\n\n/**\n * ========================= 文本大小写转换\n */\n/* 文本转为小写 */\n.mdui-text-lowercase {\n text-transform: lowercase !important;\n}\n/* 文本转为大写 */\n.mdui-text-uppercase {\n text-transform: uppercase !important;\n}\n/* 文本转为单词的首字母大写 */\n.mdui-text-capitalize {\n text-transform: capitalize !important;\n}\n\n/**\n * ======================== 文本截断\n */\n/* 文本截断 */\n.mdui-text-truncate {\n .mdui-text-truncate();\n}\n\n/**\n * ========================= 清除浮动\n */\n/* 清除浮动 */\n.mdui-clearfix {\n .mdui-clearfix();\n}\n\n/**\n * ========================= 隐藏内容\n */\n/* 隐藏元素 */\n.mdui-hidden,\n[hidden] {\n display: none !important;\n}\n\n/* 使元素不可见 */\n.mdui-invisible {\n visibility: hidden;\n}\n\n/* Responsive utilities 响应式工具\n ========================================================================== */\n\n/* 在特定屏幕的特备上隐藏 */\n@media (max-width: @screen-xs-max) {\n .mdui-hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .mdui-hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .mdui-hidden-md {\n display: none !important;\n }\n}\n@media (min-width: @screen-lg-min) and (max-width: @screen-lg-max) {\n .mdui-hidden-lg {\n display: none !important;\n }\n}\n@media (min-width: @screen-xl-min) {\n .mdui-hidden-xl {\n display: none !important;\n }\n}\n\n/* 在比特定屏幕小的设备上隐藏 */\n@media (max-width: @screen-xs-max) {\n .mdui-hidden-xs-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-sm-max) {\n .mdui-hidden-sm-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-md-max) {\n .mdui-hidden-md-down {\n display: none !important;\n }\n}\n@media (max-width: @screen-lg-max) {\n .mdui-hidden-lg-down {\n display: none !important;\n }\n}\n.mdui-hidden-xl-down {\n display: none !important;\n}\n\n/* 在比特定屏幕大的设备上隐藏 */\n.mdui-hidden-xs-up {\n display: none !important;\n}\n@media (min-width: @screen-sm-min) {\n .mdui-hidden-sm-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-md-min) {\n .mdui-hidden-md-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-lg-min) {\n .mdui-hidden-lg-up {\n display: none !important;\n }\n}\n@media (min-width: @screen-xl-min) {\n .mdui-hidden-xl-up {\n display: none !important;\n }\n}\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","/**\n * =============================================================================\n * ************ 公共样式 ************\n * =============================================================================\n */\n\nbody {\n font-family: @font-family-base;\n font-size: @screen-xs-font-size;\n background-color: @body-background-color;\n color: @body-text-color;\n @media (min-width: @screen-sm-min) {\n font-size: @screen-sm-font-size;\n }\n @media (min-width: @screen-md-min) {\n font-size: @screen-md-font-size;\n }\n\n // 滚动条样式\n * {\n .mdui-scrollbar-beautify(light);\n }\n\n // 夜间模式滚动条样式\n &.mdui-theme-layout-dark {\n * {\n .mdui-scrollbar-beautify(dark);\n }\n }\n}\n\n* {\n -webkit-tap-highlight-color: transparent;\n}\n\n/* 锁定屏幕 */\nbody.mdui-locked {\n overflow: hidden;\n}\n\n/* 遮罩层 */\n.mdui-overlay {\n position: fixed;\n z-index: @z-index-overlay;\n top: -5000px;\n right: -5000px;\n bottom: -5000px;\n left: -5000px;\n backface-visibility: hidden;\n background: rgba(0, 0, 0, .4);\n will-change: opacity;\n opacity: 0;\n visibility: hidden;\n transition-property: opacity, visibility;\n transition-duration: .3s;\n}\n/* 显示遮罩层 */\n.mdui-overlay-show {\n opacity: 1;\n visibility: visible;\n}\n\n/* 取消 transition 过渡效果 */\n.mdui-no-transition {\n transition-property: none !important;\n}\n\n\n/**\n * =============================================================================\n * ************ Global dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n background-color: @layout-dark-color-3;\n color: #fff;\n}","/**\n * =============================================================================\n * ************ Icon 图标 ************\n * =============================================================================\n */\n\n.mdui-icon,\n.mdui-icon::before {\n font-weight: normal;\n font-style: normal;\n font-size: 24px; /* Preferred icon size */\n vertical-align: middle;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n color: inherit;\n}\n\n.mdui-icon {\n display: inline-block;\n text-align: center;\n}\n\n.mdui-icon::before {\n display: block !important;\n width: 24px;\n height: 24px;\n}\n","/**\n * =============================================================================\n * ************ Material Icons ************\n * =============================================================================\n *\n * https://github.com/google/material-design-icons/\n * v3.0.1\n */\n\n@font-face {\n font-family: 'Material Icons';\n font-style: normal;\n font-weight: 400;\n src:\n local('Material Icons'),\n local('MaterialIcons-Regular'),\n url(../icons/material-icons/MaterialIcons-Regular.woff2) format('woff2'),\n url(../icons/material-icons/MaterialIcons-Regular.woff) format('woff');\n}\n\n.material-icons {\n font-family: 'Material Icons';\n\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n","/**\n * =============================================================================\n * ************ Roboto 字体 ************\n * =============================================================================\n */\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Thin'), local('Roboto-Thin'),\n url('../fonts/roboto/Roboto-Thin.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Thin.woff') format('woff');\n font-weight: 100;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto ThinItalic'), local('Roboto-ThinItalic'),\n url('../fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-ThinItalic.woff') format('woff');\n font-weight: 100;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Light'), local('Roboto-Light'),\n url('../fonts/roboto/Roboto-Light.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Light.woff') format('woff');\n font-weight: 300;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto LightItalic'), local('Roboto-LightItalic'),\n url('../fonts/roboto/Roboto-LightItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-LightItalic.woff') format('woff');\n font-weight: 300;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Regular'), local('Roboto-Regular'),\n url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Regular.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto RegularItalic'), local('Roboto-RegularItalic'),\n url('../fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-RegularItalic.woff') format('woff');\n font-weight: 400;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Medium'), local('Roboto-Medium'),\n url('../fonts/roboto/Roboto-Medium.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Medium.woff') format('woff');\n font-weight: 500;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto MediumItalic'), local('Roboto-MediumItalic'),\n url('../fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-MediumItalic.woff') format('woff');\n font-weight: 500;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Bold'), local('Roboto-Bold'),\n url('../fonts/roboto/Roboto-Bold.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Bold.woff') format('woff');\n font-weight: 700;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto BoldItalic'), local('Roboto-BoldItalic'),\n url('../fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-BoldItalic.woff') format('woff');\n font-weight: 700;\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto Black'), local('Roboto-Black'),\n url('../fonts/roboto/Roboto-Black.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-Black.woff') format('woff');\n font-weight: 900;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: local('Roboto BlackItalic'), local('Roboto-BlackItalic'),\n url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'),\n url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff');\n font-weight: 900;\n font-style: italic;\n}\n","/**\n * =============================================================================\n * ************ Typography 排版 ************\n * =============================================================================\n */\n\n/* .mdui-typo-display-4 */\n.mdui-typo-display-4,\n.mdui-typo-display-4-opacity {\n .mdui-typo-display-4();\n}\n.mdui-typo-display-4-opacity {\n ._mdui-typo-display-4-opacity();\n}\n\n/* .mdui-typo-display-3 */\n.mdui-typo-display-3,\n.mdui-typo-display-3-opacity {\n .mdui-typo-display-3();\n}\n.mdui-typo-display-3-opacity {\n ._mdui-typo-display-3-opacity();\n}\n\n/* .mdui-typo-display-2 */\n.mdui-typo-display-2,\n.mdui-typo-display-2-opacity {\n .mdui-typo-display-2();\n}\n.mdui-typo-display-2-opacity {\n ._mdui-typo-display-2-opacity();\n}\n\n/* .mdui-typo-display-1 */\n.mdui-typo-display-1,\n.mdui-typo-display-1-opacity {\n .mdui-typo-display-1();\n}\n.mdui-typo-display-1-opacity {\n ._mdui-typo-display-1-opacity();\n}\n\n/* .mdui-typo-headline */\n.mdui-typo-headline,\n.mdui-typo-headline-opacity {\n .mdui-typo-headline();\n}\n.mdui-typo-headline-opacity {\n ._mdui-typo-headline-opacity();\n}\n\n/* .mdui-typo-title */\n.mdui-typo-title,\n.mdui-typo-title-opacity {\n .mdui-typo-title();\n}\n.mdui-typo-title-opacity {\n ._mdui-typo-title-opacity();\n}\n\n.mdui-typo-subheading,\n.mdui-typo-subheading-opacity {\n .mdui-typo-subheading();\n}\n.mdui-typo-subheading-opacity {\n ._mdui-typo-subheading-opacity();\n}\n\n.mdui-typo-body-2,\n.mdui-typo-body-2-opacity {\n .mdui-typo-body-2();\n}\n.mdui-typo-body-2-opacity {\n ._mdui-typo-body-2-opacity();\n}\n\n.mdui-typo-body-1,\n.mdui-typo-body-1-opacity {\n .mdui-typo-body-1();\n}\n.mdui-typo-body-1-opacity {\n ._mdui-typo-body-1-opacity();\n}\n\n.mdui-typo-caption,\n.mdui-typo-caption-opacity {\n .mdui-typo-caption();\n}\n.mdui-typo-caption-opacity {\n ._mdui-typo-caption-opacity();\n}\n\n.mdui-typo {\n line-height: 1.8;\n word-wrap: break-word;\n\n address, caption, cite, code, dfn, th {\n font-style: normal;\n font-weight: 400;\n }\n\n caption, th {\n text-align: left;\n }\n\n q:before, q:after {\n content: '';\n }\n\n pre, code, kbd, samp, pre tt {\n font-family: Consolas, Courier, 'Courier New', monospace;\n }\n\n figcaption {\n font-size: 80%;\n color: @color-black-secondary;\n }\n\n [draggable],\n [draggable=\"true\"] {\n cursor: move;\n }\n\n [draggable=\"false\"] {\n cursor: inherit;\n }\n\n p, pre, ul, ol, dl, form, hr, figure, table, .mdui-table, .mdui-table-fluid {\n margin: 0 0 1.2em 0;\n }\n\n /* a */\n a {\n .mdui-text-color(@color-accent-default-name, a200);\n display: inline-block;\n vertical-align: top;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n outline: none;\n\n &:before {\n position: absolute;\n top: auto;\n bottom: 1px;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: @color-default-a200;\n content: ' ';\n transition: all 0.2s;\n backface-visibility: hidden;\n transform: scaleX(0);\n }\n\n &:hover:before,\n &:focus:before {\n transform: scaleX(1);\n }\n }\n\n /* small */\n small {\n font-size: 80%;\n }\n\n /* blockquote */\n blockquote {\n font-weight: 400;\n border-left: 4px solid @color-black-divider;\n padding-left: 1em;\n margin: 1em 3em 1em 2em;\n @media only screen and ( max-width: @screen-xs-max ) {\n margin: 1em 0;\n }\n\n footer {\n color: @color-black-secondary;\n font-size: 86%;\n }\n }\n\n /* mark */\n mark {\n background: #fffdd1;\n border-bottom: 1px solid #ffedce;\n padding: 2px;\n margin: 0 5px;\n }\n\n /* h1 - h6 */\n h1, h2, h3, h4, h5, h6 {\n font-weight: 400;\n color: inherit;\n font-family: inherit;\n margin-top: 1.2em;\n margin-bottom: 0.6em;\n line-height: 1.35;\n\n small {\n font-size: 65%;\n line-height: 1;\n font-weight: 400;\n color: @color-black-secondary;\n }\n }\n h1 {\n font-size: 2em;\n }\n h2 {\n font-size: 1.8em;\n }\n h3 {\n font-size: 1.6em;\n }\n h4 {\n font-size: 1.4em;\n }\n h5 {\n font-size: 1.2em;\n }\n h6 {\n font-size: 1.1em;\n }\n\n /* code */\n code {\n padding: 2px 6px;\n color: #c7254e;\n background-color: #f7f7f9;\n border-radius: 2px;\n }\n\n /* pre code */\n pre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n line-height: 1.7;\n }\n\n /* abbr */\n abbr[title] {\n cursor: help;\n text-decoration: none;\n border-bottom: 1px dotted;\n }\n\n /* ins */\n ins {\n text-decoration: none;\n border-bottom: 1px solid ;\n }\n\n /* u */\n u {\n text-decoration: none;\n border-bottom: 1px solid;\n }\n\n /* del */\n del {\n text-decoration: line-through;\n }\n\n /* hr */\n hr {\n border: none;\n border-bottom: 1px solid @color-black-divider;\n margin-bottom: 0.8em;\n height: 10px;\n }\n\n /* pre */\n pre {\n border-radius: 2px;\n border: 1px solid @color-black-divider;\n padding: 12px 16px;\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n }\n\n /* kbd */\n kbd {\n padding: 2px 6px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 2px;\n }\n\n /* ul / ol */\n ul {\n padding-left: 2em;\n list-style: disc;\n }\n ol {\n list-style: decimal;\n padding-left: 2em;\n }\n li ul,\n li ol {\n margin: 0.8em 0;\n }\n li ul {\n list-style: circle;\n }\n\n /* img */\n img {\n max-width: 100%;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Typo 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n .mdui-typo {\n a {\n .mdui-text-color(@colorName, a200);\n\n &:before {\n .mdui-background-color(@colorName, a200);\n }\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Typo dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-typo {\n\n blockquote {\n border-left-color: @color-white-divider;\n\n footer {\n color: @color-white-secondary;\n }\n }\n\n figcaption {\n color: @color-white-secondary;\n }\n\n mark {\n background: #aaa;\n border-bottom-color: #bbb;\n }\n\n h1, h2, h3, h4, h5, h6 {\n small {\n color: @color-white-secondary;\n }\n }\n\n code {\n background-color: #424242;\n color: @color-red-100;\n }\n\n pre {\n background: #424242;\n border-color: @color-white-divider;\n }\n\n kbd {\n background: #424242;\n }\n\n hr {\n border-color: @color-white-divider;\n }\n\n }\n}\n","._mdui-typo-display-4-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-4(@opacity: false) {\n font-size: 112px;\n font-weight: 300;\n letter-spacing: -.04em;\n & when (@opacity = true) {\n ._mdui-typo-display-4-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-3-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-3(@opacity: false) {\n font-size: 56px;\n font-weight: 400;\n letter-spacing: -.02em;\n & when (@opacity = true) {\n ._mdui-typo-display-3-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-2-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-2(@opacity: false) {\n font-size: 45px;\n font-weight: 400;\n letter-spacing: 0;\n & when (@opacity = true) {\n ._mdui-typo-display-2-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-display-1-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-display-1(@opacity: false) {\n font-size: 34px;\n font-weight: 400;\n letter-spacing: 0;\n & when (@opacity = true) {\n ._mdui-typo-display-1-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-headline-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-headline(@opacity: false) {\n font-size: 24px;\n font-weight: 400;\n -moz-osx-font-smoothing: grayscale;\n & when (@opacity = true) {\n ._mdui-typo-headline-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-title-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-title(@opacity: false) {\n font-size: 20px;\n font-weight: 500;\n letter-spacing: .02em;\n & when (@opacity = true) {\n ._mdui-typo-title-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-subheading-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-subheading(@opacity: false) {\n font-size: 16px;\n font-weight: 400;\n letter-spacing: .04em;\n & when (@opacity = true) {\n ._mdui-typo-subheading-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-body-2-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-body-2(@opacity: false) {\n font-size: 14px;\n font-weight: 500;\n letter-spacing: .04em;\n & when (@opacity = true) {\n ._mdui-typo-body-2-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-body-1-opacity() {\n opacity: 0.87;\n}\n.mdui-typo-body-1(@opacity: false) {\n font-size: 14px;\n font-weight: 400;\n letter-spacing: .04em;\n & when (@opacity = true) {\n ._mdui-typo-body-1-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}\n\n._mdui-typo-caption-opacity() {\n opacity: 0.54;\n}\n.mdui-typo-caption(@opacity: false) {\n font-size: 12px;\n font-weight: 400;\n letter-spacing: .08em;\n & when (@opacity = true) {\n ._mdui-typo-caption-opacity();\n }\n & when (isnumber(@opacity)) {\n opacity: @opacity;\n }\n}","/**\n * =============================================================================\n * ************ Headroom ************\n * =============================================================================\n */\n\n.mdui-headroom {\n transition: all .3s @animation-curve-default !important;\n}\n\n/* 固定在顶部时 */\n.mdui-headroom-pinned-top {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 在顶部隐藏时 */\n.mdui-headroom-unpinned-top {\n transform: translate3d(0, -100%, 0) !important;\n .mdui-shadow(0) !important;\n}\n\n/* 固定在底部时 */\n.mdui-headroom-pinned-down {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 在底部隐藏时 */\n.mdui-headroom-unpinned-down {\n transform: translate3d(0, 100%, 0) !important;\n .mdui-shadow(0) !important;\n}\n\n\n/* 固定应用栏中的工具栏 */\n.mdui-headroom-pinned-toolbar {\n transform: translate3d(0, 0, 0) !important;\n}\n\n/* 隐藏应用栏中的工具栏 */\n.mdui-headroom-unpinned-toolbar {\n transform: translate3d(0, -@appbar-height-xs-portrait, 0) !important;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n transform: translate3d(0, -@appbar-height-sm, 0) !important;\n }\n\n // 手机横屏\n @media (orientation : landscape) and (max-width: @screen-xs-max-landscape) {\n transform: translate3d(0, -@appbar-height-xs-landscape, 0) !important;\n }\n}\n","// 阴影\n.mdui-shadow(@depth) {\n @shadow: 'shadow-depth-@{depth}';\n box-shadow: @@shadow;\n}\n\n// hover 时添加阴影\n.mdui-hoverable(@depth: 8) {\n will-change: box-shadow;\n transition: box-shadow .25s @animation-curve-default;\n\n &:hover,\n &:focus {\n .mdui-shadow(@depth);\n }\n}","/**\n * =============================================================================\n * ************ Collapse 折叠插件 ************\n * =============================================================================\n */\n\n.mdui-collapse-item-header {\n // 图标,打开时翻转 180 度\n .mdui-collapse-item-arrow,\n &.mdui-collapse-item-arrow {\n will-change: transform;\n transform: rotate(0);\n transition: transform .3s @animation-curve-default;\n }\n}\n\n.mdui-collapse-item-body {\n height: 0;\n padding-top: 0;\n padding-bottom: 0;\n margin-top: 0;\n margin-bottom: 0;\n overflow: hidden;\n will-change: height;\n transition: all .3s @animation-curve-default;\n\n // 使子列表缩进\n .mdui-list-item {\n padding-left: 72px;\n }\n}\n\n.mdui-collapse-item-open {\n &>.mdui-collapse-item-header {\n .mdui-collapse-item-arrow,\n &.mdui-collapse-item-arrow {\n transform: rotate(180deg);\n }\n }\n\n &>.mdui-collapse-item-body {\n height: auto;\n }\n}\n","/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n\n.mdui-table {\n position: relative;\n border-collapse: separate;\n border-spacing: 0;\n width: 100%;\n background-color: #fff;\n border: 1px solid @color-black-divider;\n border-bottom: none;\n .mdui-shadow(2);\n\n tbody {\n tr {\n position: relative;\n transition: background-color 0.28s @animation-curve-default;\n }\n }\n\n th, td {\n position: relative;\n vertical-align: middle;\n text-align: left;\n padding: 12px 28px;\n box-sizing: border-box;\n .mdui-divider-bottom-dark();\n\n &:last-child {\n padding-right: 24px;\n }\n &:first-child {\n padding-left: 24px;\n padding-right: 0\n }\n &:nth-child(2) {\n padding-left: 24px;\n }\n }\n\n th {\n font-size: 13px;\n color: @color-black-secondary;\n font-weight: 700;\n .mdui-text-truncate();\n line-height: 32px;\n }\n\n td {\n font-size: 14px;\n color: @color-black-text;\n line-height: 24px;\n }\n}\n\n/* 每一行前面的复选框 */\n.mdui-table-cell-checkbox {\n padding-left: 24px !important;\n padding-top: 0 !important;\n padding-bottom: 0!important;\n\n .mdui-checkbox {\n margin-top: 7px;\n }\n\n & + td,\n & + th {\n padding-left: 6px !important;\n }\n}\nth.mdui-table-cell-checkbox {\n .mdui-checkbox {\n margin-top: 11px;\n }\n}\n\n/* 鼠标悬浮时行背景加深 */\n.mdui-table-hoverable {\n tbody tr {\n &:hover {\n background-color: @color-grey-200;\n }\n }\n}\n\n/* 表格放到该元素内,使表格产生滚动条时只在该元素内滚动 */\n.mdui-table-fluid {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border: 1px solid @color-black-divider;\n border-bottom: none;\n .mdui-shadow(2);\n\n .mdui-table {\n .mdui-shadow(0);\n border: none;\n margin: 0;\n }\n}\n\n/* 数字列,右对齐 */\n.mdui-table-col-numeric {\n text-align: right !important;\n}\n\n/* 行处于选中状态 */\n.mdui-table-row-selected {\n background-color: @color-grey-100;\n}\n\n\n/**\n * =============================================================================\n * ************ Table dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-table {\n background-color: @layout-dark-color-3;\n border: 1px solid @color-white-divider;\n border-bottom: none;\n\n th, td {\n .mdui-divider-bottom-light();\n }\n\n th {\n color: @color-white-secondary;\n }\n\n td {\n color: @color-white-text;\n }\n }\n\n .mdui-table-hoverable {\n tbody tr {\n &:hover {\n background-color: @color-grey-700;\n }\n }\n }\n\n .mdui-table-fluid {\n border: 1px solid @color-white-divider;\n border-bottom: none;\n\n .mdui-table {\n .mdui-shadow(0);\n border: none;\n }\n }\n\n .mdui-table-row-selected {\n background-color: @color-grey-800;\n }\n}\n","// 分割线\n// =============================================================================\n\n// 添加边框作为分割线,亮色的分割线,用于深色背景\n.mdui-divider-top-light() {\n border-top: 1px solid @color-white-divider;\n}\n.mdui-divider-bottom-light() {\n border-bottom: 1px solid @color-white-divider;\n}\n.mdui-divider-left-light() {\n border-left: 1px solid @color-white-divider;\n}\n.mdui-divider-right-light() {\n border-right: 1px solid @color-white-divider;\n}\n\n// 添加边框作为分割线,深色的分割线,用于浅色背景\n.mdui-divider-top-dark() {\n border-top: 1px solid @color-black-divider;\n}\n.mdui-divider-bottom-dark() {\n border-bottom: 1px solid @color-black-divider;\n}\n.mdui-divider-left-dark() {\n border-left: 1px solid @color-black-divider;\n}\n.mdui-divider-right-dark() {\n border-right: 1px solid @color-black-divider;\n}","/**\n * =============================================================================\n * ************ Divider 分割线 ************\n * =============================================================================\n */\n\n.mdui-divider,\n.mdui-divider-light,\n.mdui-divider-dark,\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin: -1px 0 0 0;\n height: 1px;\n border: none;\n}\n\n.mdui-divider-inset,\n.mdui-divider-inset-light,\n.mdui-divider-inset-dark {\n margin-left: 72px;\n}\n\n.mdui-divider,\n.mdui-divider-inset {\n background-color: @color-black-divider;\n\n .mdui-theme-layout-dark & {\n background-color: @color-white-divider;\n }\n}\n\n.mdui-divider-light,\n.mdui-divider-inset-light {\n background-color: @color-white-divider;\n}\n\n.mdui-divider-dark,\n.mdui-divider-inset-dark {\n background-color: @color-black-divider;\n}","/**\n * =============================================================================\n * ************ Media 媒体工具 ************\n * =============================================================================\n */\n\n/* 响应式图片和视频 */\n.mdui-img-fluid,\n.mdui-video-fluid {\n .mdui-img-fluid();\n}\n\n/* 圆角图片 */\n.mdui-img-rounded {\n border-radius: 2px;\n}\n\n/* 圆形图片 */\n.mdui-img-circle {\n border-radius: 50%;\n}\n\n// embed\n.mdui-video-container {\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n overflow: hidden;\n\n iframe,\n object,\n embed {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%\n }\n}\n",".mdui-img-fluid() {\n max-width: 100%;\n height: auto;\n display: block;\n}\n\n.mdui-video-fluid() {\n max-width: 100%;\n height: auto;\n display: block;\n}","/**\n * =============================================================================\n * ************ 涟漪动画 ************\n * =============================================================================\n */\n\n.mdui-ripple {\n position: relative;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n}\n\n/* Ripple */\n.mdui-ripple-wave {\n left: 0;\n top: 0;\n position: absolute !important;\n border-radius: 50%;\n pointer-events: none;\n z-index: 1;\n background-color: rgba(0, 0, 0, 0.1);\n padding: 0;\n margin: 0;\n font-size: 0;\n transform: translate3d(0px, 0px, 0) scale(0);\n transition-duration: 1400ms;\n}\n\n/* 有背景色的默认使用白色涟漪 */\n.mdui-ripple[class*=\"mdui-color-\"] {\n .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n}\n\n/* 白色涟漪 */\n.mdui-ripple-white .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3) !important;\n}\n\n/* 黑色涟漪 */\n.mdui-ripple-black .mdui-ripple-wave {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n.mdui-ripple-wave-fill {\n transition-duration: 300ms;\n opacity: 0.35;\n}\n\n.mdui-ripple-wave-out {\n transition-duration: 600ms;\n opacity: 0;\n}\n\n\n/**\n * =============================================================================\n * ************ Ripple 颜色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n\n // 指定涟漪颜色\n .mdui-ripple-@{colorName} {\n .mdui-ripple-wave {\n @color: 'color-@{colorName}-500';\n background-color: rgba(red(@@color), green(@@color), blue(@@color), 0.3) !important;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Ripple dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n // 深色主题下使用白色涟漪\n .mdui-ripple-wave {\n background-color: rgba(255, 255, 255, 0.3);\n }\n}","/**\n * =============================================================================\n * ************ Checkbox 复选框 ************\n * =============================================================================\n */\n\n.mdui-checkbox {\n display: inline-block;\n position: relative;\n padding-left: 36px;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input[type=\"checkbox\"] {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n }\n}\n\n/* 透明的圆形,用于生成圆形阴影 */\n.mdui-checkbox-icon {\n position: absolute;\n left: 0;\n top: 9px;\n display: inline-block;\n vertical-align: middle;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n background-color: transparent;\n border: none;\n transition: box-shadow .14s @animation-curve-default;\n\n // 图标的边框和背景\n &:after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n width: 18px;\n height: 18px;\n border: 2px solid @color-black-icon;\n border-radius: 2px;\n transition: all .3s @animation-curve-default;\n z-index: 0;\n }\n\n // 选中状态图标内部的勾\n &:before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n top: 2px;\n left: 0;\n width: 8px;\n height: 13px;\n transform: rotateZ(37deg) scale(0);\n transform-origin: 100% 100%;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transition: all .3s @animation-curve-default;\n opacity: 0;\n z-index: 1;\n }\n}\n\n/* 各种状态的图标 */\n.mdui-checkbox input[type=\"checkbox\"] {\n\n // 选中状态的图标\n &:checked + .mdui-checkbox-icon {\n &:after {\n border-color: @color-default-a200;\n background-color: @color-default-a200;\n }\n\n &:before {\n transform: rotateZ(37deg) scale(1);\n opacity: 1;\n }\n }\n\n // 不确定状态的图标\n &:indeterminate + .mdui-checkbox-icon {\n &:after {\n border-color: @color-default-a200;\n background-color: @color-default-a200;\n }\n\n &:before {\n top: 8px;\n left: 3px;\n width: 12px;\n height: 0;\n border-radius: 1px;\n transform: rotateZ(0) scale(1);\n border-right: none;\n border-bottom: 2px solid #fff;\n opacity: 1;\n }\n }\n\n // 禁用状态的图标\n &:disabled + .mdui-checkbox-icon {\n &:after {\n border-color: @color-black-icon-disabled;\n }\n }\n\n // 禁用且选中状态\n &:disabled:checked + .mdui-checkbox-icon,\n &:disabled:indeterminate + .mdui-checkbox-icon {\n &:after {\n background-color: @color-black-icon-disabled !important;\n border-color: transparent !important;\n }\n }\n}\n\n/* 阴影 */\n.mdui-checkbox:active input[type=\"checkbox\"],\n.mdui-checkbox input[type=\"checkbox\"]:focus {\n // 未选中、禁用时 按下的阴影\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n\n // 已选中时按下的阴影\n &:not(:disabled):checked,\n &:not(:disabled):indeterminate {\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Checkbox 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} {\n\n // 选中状态的图标\n .mdui-checkbox input[type=\"checkbox\"]:checked,\n .mdui-checkbox input[type=\"checkbox\"]:indeterminate {\n & + .mdui-checkbox-icon:after {\n border-color: @@color;\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-checkbox:active input[type=\"checkbox\"],\n .mdui-checkbox input[type=\"checkbox\"]:focus {\n &:not(:disabled):checked + .mdui-checkbox-icon,\n &:not(:disabled):indeterminate + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Checkbox dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 未选中的图标\n .mdui-checkbox-icon {\n &:after {\n border-color: rgba(255, 255, 255, 0.7);\n }\n\n &:before {\n border-right-color: @layout-dark-color-3 !important;\n border-bottom-color: @layout-dark-color-3 !important;\n }\n }\n\n // 禁用状态\n .mdui-checkbox input[type=\"checkbox\"]:disabled + .mdui-checkbox-icon {\n &:after {\n border-color: @color-white-icon-disabled;\n }\n }\n\n // 禁用且选中状态\n .mdui-checkbox input[type=\"checkbox\"] {\n &:disabled:checked + .mdui-checkbox-icon,\n &:disabled:indeterminate + .mdui-checkbox-icon {\n &:after {\n background-color: @color-white-icon-disabled !important;\n border-color: transparent !important;\n }\n }\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-checkbox:active input[type=\"checkbox\"],\n .mdui-checkbox input[type=\"checkbox\"]:focus {\n & + .mdui-checkbox-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Radio 单选框 ************\n * =============================================================================\n */\n\n.mdui-radio {\n display: inline-block;\n position: relative;\n padding-left: 36px;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n }\n}\n\n/* 图标外圈 */\n.mdui-radio-icon {\n position: absolute;\n left: 0;\n top: 9px;\n box-sizing: border-box;\n display: inline-block;\n vertical-align: middle;\n width: 18px;\n height: 18px;\n border-radius: 18px;\n border: 2px solid @color-black-icon;\n transition: all .3s @animation-curve-default,\n box-shadow .14s @animation-curve-default;\n\n // 图标内部圆圈\n &:before {\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n height: 14px;\n border-radius: 14px;\n transition: all .3s @animation-curve-default;\n background-color: @color-default-a200;\n transform: scale(0);\n opacity: 0;\n }\n}\n\n/* 选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: @color-default-a200;\n\n &:before {\n transform: scale(0.68);\n opacity: 1;\n }\n}\n\n/* 禁用状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: @color-black-icon-disabled !important;\n}\n\n/* 禁用且选中状态的图标 */\n.mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon {\n &:before {\n background-color: @color-black-icon-disabled !important;\n }\n}\n\n/* 未选中、禁用时 按下的阴影 */\n.mdui-radio:active input[type=\"radio\"],\n.mdui-radio input[type=\"radio\"]:focus {\n & + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n}\n\n/* 已选中时按下的阴影 */\n.mdui-radio:active input[type=\"radio\"],\n.mdui-radio input[type=\"radio\"]:focus {\n &:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n}\n\n/**\n * =============================================================================\n * ************ Radio 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} {\n\n // 选中状态的图标\n .mdui-radio input[type=\"radio\"]:checked + .mdui-radio-icon {\n border-color: @@color;\n\n &:before {\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-radio:active input[type=\"radio\"],\n .mdui-radio input[type=\"radio\"]:focus {\n &:checked:not(:disabled) + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 图标外圈\n .mdui-radio-icon {\n border-color: rgba(255, 255, 255, 0.7);\n }\n\n // 禁用状态\n .mdui-radio input[type=\"radio\"]:disabled + .mdui-radio-icon {\n border-color: @color-white-icon-disabled !important;\n }\n\n // 禁用且选中状态\n .mdui-radio input[type=\"radio\"]:disabled:checked + .mdui-radio-icon {\n &:before {\n background-color: @color-white-icon-disabled !important;\n }\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-radio:active input[type=\"radio\"],\n .mdui-radio input[type=\"radio\"]:focus {\n & + .mdui-radio-icon {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n\n}\n","/**\n * =============================================================================\n * ************ Switch 单选框 ************\n * =============================================================================\n */\n\n.mdui-switch {\n display: inline-block;\n height: 36px;\n line-height: 36px;\n cursor: pointer;\n user-select: none;\n\n // 隐藏系统 input 标签,用自定义的图标代替\n input {\n height: 0;\n width: 0;\n overflow: hidden;\n position: absolute;\n opacity: 0;\n }\n}\n\n/* 图标轨道 */\n.mdui-switch-icon {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: 36px;\n height: 14px;\n border-radius: 14px;\n background-color: rgba(0, 0, 0, 0.38);\n transition: background-color .3s @animation-curve-default;\n\n // 圆形图标\n &:before {\n position: absolute;\n display: inline-block;\n content: ' ';\n width: 20px;\n height: 20px;\n top: -3px;\n left: -3px;\n border-radius: 20px;\n background-color: @color-grey-50;\n .mdui-shadow(1);\n transition: box-shadow .14s @animation-curve-default,\n background-color .3s @animation-curve-default,\n left .3s @animation-curve-default;\n }\n}\n\n/* 选中状态的图标 */\n.mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.5);\n\n &:before {\n left: 20px;\n background-color: @color-default-a200;\n }\n}\n\n/* 未选中时或禁用时 按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"],\n.mdui-switch input[type=\"checkbox\"]:focus {\n & + .mdui-switch-icon:before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(0, 0, 0, 0.1);\n }\n}\n\n/* 已选中时按下的阴影 */\n.mdui-switch:active input[type=\"checkbox\"],\n.mdui-switch input[type=\"checkbox\"]:focus {\n &:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(red(@color-default-a200), green(@color-default-a200), blue(@color-default-a200), 0.16);\n }\n}\n\n/* 禁用状态 */\n.mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(0, 0, 0, 0.12) !important;\n\n &:before {\n background-color: @color-grey-400 !important;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Switch 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} {\n\n // 选中状态的图标\n .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@@color), green(@@color), blue(@@color), 0.5);\n\n &:before {\n background-color: @@color;\n }\n }\n\n // 已选中时按下的阴影\n .mdui-switch:active input[type=\"checkbox\"],\n .mdui-switch input[type=\"checkbox\"]:focus {\n &:checked:not(:disabled) + .mdui-switch-icon:before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(red(@@color), green(@@color), blue(@@color), 0.16);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Radio dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 默认状态\n .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.3);\n\n &:before {\n background-color: @color-grey-400;\n }\n }\n\n // 选中状态\n & {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n @color-a100: 'color-@{colorName}-a100';\n\n &.mdui-theme-accent-@{colorName} {\n\n .mdui-switch input[type=\"checkbox\"]:checked + .mdui-switch-icon {\n background-color: rgba(red(@@color-a100), green(@@color-a100), blue(@@color-a100), 0.5);\n\n &:before {\n background-color: @@color-a100;\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n }\n\n // 未选中或禁用时 按下的阴影\n .mdui-switch:active input[type=\"checkbox\"],\n .mdui-switch input[type=\"checkbox\"]:focus {\n & + .mdui-switch-icon:before {\n box-shadow:\n // box-shadow(1)\n 0 2px 1px -1px rgba(0, 0, 0, .2),\n 0 1px 1px 0 rgba(0, 0, 0, .14),\n 0 1px 3px 0 rgba(0, 0, 0, .12),\n\n // 颜色阴影\n 0 0 0 15px rgba(255, 255, 255, 0.1);\n }\n }\n\n // 禁用状态\n .mdui-switch input[type=\"checkbox\"]:disabled + .mdui-switch-icon {\n background-color: rgba(255, 255, 255, 0.1) !important;\n\n &:before {\n background-color: @color-grey-800 !important;\n }\n }\n\n}\n","/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n\n@slider-light-color: #bdbdbd; // rgba(0, 0, 0, .26)\n@slider-light-color-focus: #9e9e9e; // rgba(0, 0, 0, .38)\n@slider-light-color-disabled: #bdbdbd; // rgba(0, 0, 0, .26)\n\n@slider-dark-color: #4c4c4c; // rgba(255, 255, 255, .3)\n@slider-dark-color-focus: #4c4c4c; // rgba(255, 255, 255, .3)\n@slider-dark-color-disabled: #4c4c4c; // rgba(255, 255, 255, .3)\n\n.mdui-slider {\n position: relative;\n width: 100%;\n height: 36px;\n display: block;\n\n input[type=\"range\"] {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n height: 20px;\n width: 100%;\n appearance: none;\n z-index: 2;\n opacity: 0;\n cursor: pointer;\n }\n}\n\n.mdui-slider-track,\n.mdui-slider-fill {\n box-sizing: border-box;\n position: absolute;\n height: 2px;\n top: 50%;\n margin-top: -1px;\n\n &:before {\n content: ' ';\n width: 100%;\n height: 100%;\n display: block;\n }\n}\n\n/* 轨道 */\n.mdui-slider-track {\n right: 0;\n\n &:before {\n background-color: @slider-light-color;\n transition: background-color .3s @animation-curve-default;\n }\n}\n\n/* 已滑动部分 */\n.mdui-slider-fill {\n left: 0;\n\n &:before {\n background-color: @color-default-a200;\n }\n}\n\n/* 滑块 */\n.mdui-slider-thumb {\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n margin-top: -6px;\n width: 12px;\n height: 12px;\n background-color: @color-default-a200;\n border-radius: 50%;\n border: 2px solid @color-default-a200;\n transform: translate(-50%);\n will-change: background, border-color, transform, border-radius;\n transition:\n background .45s @animation-curve-default,\n border-color .45s @animation-curve-default,\n transform .2s @animation-curve-default,\n border-radius .2s @animation-curve-default;\n}\n\n\n/**\n * =============================================================================\n * ************ Slider 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n @color: 'color-@{colorName}-a200';\n\n .mdui-theme-accent-@{colorName} {\n\n .mdui-slider-fill {\n\n &:before {\n background-color: @@color;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @@color;\n border: 2px solid @@color;\n }\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ============ Slider 的不同状态 ============\n * =============================================================================\n */\n/* 鼠标按下状态 */\n.mdui-slider-focus {\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-light-color-focus;\n }\n }\n\n .mdui-slider-thumb {\n transform: translate(-50%) scale(1.6);\n }\n}\n\n/* 滑块值为 0 */\n.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #fff;\n border-color: @slider-light-color;\n }\n}\n\n/* 滑块值为 0,且鼠标按下 */\n.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n border-color: @slider-light-color-focus;\n }\n}\n\n/* 禁用状态 */\n.mdui-slider-disabled {\n input[type=\"range\"] {\n cursor: default;\n }\n\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-light-color-disabled;\n }\n }\n\n .mdui-slider-fill {\n\n &:before {\n background-color: @slider-light-color-disabled;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @slider-light-color-disabled;\n border-color: transparent !important;\n transform: translate(-50%) scale(.72);\n }\n}\n\n/**\n * =============================================================================\n * ============ 间续型滑块 ============\n * =============================================================================\n */\n.mdui-slider-discrete {\n\n .mdui-slider-thumb {\n height: 30px;\n width: 30px;\n margin-top: -15px;\n margin-left: -15px;\n border: none;\n transform: rotate(-45deg) scale(.4);\n\n // 间续型滑块的值显示\n span {\n width: 100%;\n text-align: center;\n color: #fff;\n font-size: 12px;\n transform: rotate(45deg);\n opacity: 0;\n position: absolute;\n top: 9px;\n left: -1px;\n transition: opacity .25s @animation-curve-default;\n }\n }\n\n // 鼠标按下状态\n &.mdui-slider-focus {\n .mdui-slider-thumb {\n border-radius: 15px 15px 15px 0;\n transform: rotate(-45deg) scale(1) translate(22px, -22px);\n\n span {\n opacity: 1;\n }\n }\n }\n\n // 滑块值为 0\n &.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #323232;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n &.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n background-color: @slider-light-color;\n }\n }\n\n // 禁用状态\n &.mdui-slider-disabled {\n .mdui-slider-thumb {\n transform: rotate(-45deg) scale(.288);\n }\n }\n\n // 滑块值为 0,且禁用\n &.mdui-slider-zero.mdui-slider-disabled {\n .mdui-slider-thumb {\n background-color: @slider-light-color;\n }\n }\n}\n\n/**\n * =============================================================================\n * ************ Slider dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 轨道\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-dark-color;\n }\n }\n\n // 鼠标按下状态\n .mdui-slider-focus {\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-dark-color-focus;\n }\n }\n }\n\n // 滑块值为 0\n .mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: @layout-dark-color-3;\n border-color: @slider-dark-color;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n .mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n border-color: @slider-dark-color-focus;\n }\n }\n\n // 禁用状态\n .mdui-slider-disabled {\n .mdui-slider-track {\n\n &:before {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n .mdui-slider-fill {\n\n &:before {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n .mdui-slider-thumb {\n background-color: @slider-dark-color-disabled;\n }\n }\n\n // 间续型滑块\n .mdui-slider-discrete {\n\n // 滑块值为 0\n &.mdui-slider-zero {\n .mdui-slider-thumb {\n background-color: #fefefe;\n }\n }\n\n // 滑块值为 0,且鼠标按下\n &.mdui-slider-zero.mdui-slider-focus {\n .mdui-slider-thumb {\n background-color: #5c5c5c;\n }\n }\n\n // 滑块值为 0,且禁用\n &.mdui-slider-zero.mdui-slider-disabled {\n .mdui-slider-thumb {\n background-color: @slider-dark-color-disabled;\n }\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Button 按钮 ************\n * =============================================================================\n */\n\n/* 默认为 Flat 扁平按钮 */\n.mdui-btn,\n.mdui-fab {\n color: inherit;\n background: transparent;\n border: none;\n border-radius: 2px;\n\n position: relative;\n height: @button-height;\n margin: 0;\n min-width: 88px;\n padding: 0 16px;\n display: inline-block;\n overflow: hidden;\n will-change: box-shadow;\n transition: all .2s @animation-curve-default,\n box-shadow .2s @animation-curve-fast-out-linear-in;\n outline: none;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n line-height: @button-height;\n vertical-align: middle;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n\n zoom: 1;\n white-space: nowrap;\n -webkit-user-drag: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n box-sizing: border-box;\n\n // 移除点击延迟触发\n touch-action: manipulation;\n\n // 透明按钮 hover、active 时颜色加深\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n }\n &:not(.mdui-ripple):active {\n background-color: rgba(0, 0, 0, 0.165);\n }\n\n // 带背景色的按钮 hover、active 时增加透明度\n &[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n &:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n}\n\n/* 按钮内的图标 */\n.mdui-btn {\n .mdui-icon-left,\n .mdui-icon-right {\n &,\n &::before {\n height: inherit;\n line-height: inherit;\n font-size: 1.3em;\n }\n }\n .mdui-icon-left {\n float: left;\n margin-right: 0.4em;\n }\n .mdui-icon-right {\n float: right;\n margin-left: 0.4em;\n }\n}\n\ninput.mdui-btn[type=\"submit\"] {\n appearance: none;\n}\n\n/* Raised button 浮动按钮 */\n.mdui-btn-raised {\n .mdui-shadow(2);\n\n &:hover {\n .mdui-shadow(4);\n }\n\n &:active {\n .mdui-shadow(8);\n }\n}\n\n/* 禁用按钮 */\n.mdui-btn,\n.mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: transparent !important;\n color: rgba(0, 0, 0, .26) !important;\n .mdui-shadow(0) !important;\n cursor: default !important;\n opacity: 1 !important;\n .mdui-icon {\n color: rgba(0, 0, 0, .26) !important;\n }\n }\n }\n}\n\n/* 禁用状态浮动按钮和浮动操作按钮 */\n.mdui-btn-raised,\n.mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: rgba(0, 0, 0, .12) !important;\n .mdui-shadow(2) !important;\n }\n }\n}\n\n/* 加粗按钮文本 */\n.mdui-btn-bold {\n font-weight: bold;\n}\n\n/* 图标按钮 */\n.mdui-btn-icon {\n border-radius: 50%;\n font-size: 24px;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n overflow: hidden;\n line-height: normal;\n height: 36px;\n width: 36px;\n min-width: 36px;\n\n .mdui-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-12px, -12px);\n line-height: 24px;\n width: 24px;\n }\n\n &.mdui-ripple {\n transform: translateZ(0);\n }\n}\n\n/* 按钮 100% 宽度 */\n.mdui-btn-block {\n display: block;\n width: 100%;\n}\n\n/* 密集型按钮 */\n.mdui-btn-dense {\n height: 32px;\n line-height: 32px;\n font-size: 13px;\n\n &.mdui-btn-icon {\n width: 32px;\n min-width: 32px;\n }\n}\n\n/* 按钮组 */\n.mdui-btn-group {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n\n .mdui-btn {\n float: left;\n min-width: inherit;\n color: rgba(0, 0, 0, 0.54);\n border-radius: 0;\n padding: 0 12px;\n\n &:before {\n content: ' ';\n border-left: 1px solid transparent;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n }\n\n &:first-child {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n\n &:before {\n border-left: none;\n }\n }\n\n &:last-child {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n\n // 激活状态\n &.mdui-btn-active {\n color: rgba(0, 0, 0, 0.87);\n background-color: rgba(0, 0, 0, 0.215);\n\n &+.mdui-btn-active {\n &:before {\n border-left: 1px solid rgba(0, 0, 0, 0.145);\n }\n }\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Button dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 透明按钮 hover、active 时颜色变浅\n .mdui-btn,\n .mdui-fab {\n // 透明按钮 hover、active 时颜色变浅\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n &:not(.mdui-ripple):active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n\n // 带背景的按钮 hover、active 时增加透明度\n &[class*=\"mdui-color-\"]:hover {\n opacity: 0.87;\n }\n &:not(.mdui-ripple)[class*=\"mdui-color-\"]:active {\n opacity: 0.76;\n }\n }\n\n // 禁用按钮\n .mdui-btn,\n .mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: transparent !important;\n color: @color-white-icon-disabled !important;\n .mdui-icon {\n color: @color-white-icon-disabled !important;\n }\n }\n }\n }\n\n // 禁用状态浮动按钮和浮动操作按钮\n .mdui-btn-raised,\n .mdui-fab {\n &[disabled] {\n &,\n &:hover,\n &:active,\n &:focus {\n background-color: rgba(255, 255, 255, .12) !important;\n }\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n\n@fab-size: 56px;\n@fab-size-mini: 40px;\n\n/* 浮动操作按钮 */\n.mdui-fab {\n border-radius: 50%;\n font-size: 24px;\n margin: auto;\n padding: 0 !important;\n overflow: hidden;\n line-height: normal !important;\n .mdui-shadow(6);\n\n height: @fab-size;\n width: @fab-size;\n min-width: @fab-size;\n\n &:hover{\n .mdui-shadow(8);\n }\n\n &:active {\n .mdui-shadow(12);\n }\n\n // 浮动操作按钮中的图标\n .mdui-icon {\n position: absolute;\n top: 0;\n left: 0;\n line-height: 24px;\n width: 24px;\n margin-left: 16px;\n margin-top: 16px;\n }\n}\n\n/* mini 型浮动操作按钮 */\n.mdui-fab-mini {\n height: @fab-size-mini;\n width: @fab-size-mini;\n min-width: @fab-size-mini;\n\n // mini 型浮动操作按钮中的图标\n .mdui-icon {\n margin-left: 8px;\n margin-top: 8px;\n }\n}\n\n/* 固定到右下角的 FAB 按钮 */\n.mdui-fab-fixed,\n.mdui-fab-wrapper {\n position: fixed !important;\n\n /* 手机平板上距离屏幕右下角 16px */\n right: 16px;\n bottom: 16px;\n\n @media (min-width: @screen-md-min) {\n /* 电脑上距离屏幕右下角 24px */\n right: 24px;\n bottom: 24px;\n }\n}\n\n/* 含菜单的浮动操作按钮 */\n.mdui-fab-wrapper {\n position: relative;\n width: @fab-size;\n height: @fab-size;\n padding-top: 8px;\n z-index: @z-index-fab;\n text-align: center;\n\n // 菜单打开前\n &>.mdui-fab {\n .mdui-icon:not(.mdui-fab-opened) {\n will-change: opacity, transform;\n transition: all .2s @animation-curve-default;\n opacity: 1;\n }\n .mdui-icon.mdui-fab-opened {\n will-change: opacity, transform;\n transition: all .2s @animation-curve-default;\n opacity: 0;\n transform: rotate(225deg);\n }\n }\n\n // 菜单打开后\n &>.mdui-fab.mdui-fab-opened {\n .mdui-icon:not(.mdui-fab-opened) {\n opacity: 0;\n transform: rotate(225deg);\n }\n .mdui-icon.mdui-fab-opened {\n opacity: 1;\n transform: rotate(360deg);\n }\n }\n\n // mini 按钮需要垂直居中\n &>.mdui-fab-mini {\n margin-top: (@fab-size - @fab-size-mini) / 2;\n }\n\n .mdui-fab-dial {\n visibility: visible;\n position: absolute;\n left: 0;\n right: 0;\n bottom: @fab-size + 8px;\n text-align: center;\n height: 0;\n\n .mdui-fab {\n margin: 8px 0;\n transition: box-shadow .2s @animation-curve-fast-out-linear-in,\n color .2s @animation-curve-default,\n // fab\n transform 150ms @animation-curve-default,\n opacity 150ms @animation-curve-default;\n transform: scale(0);\n opacity: 0;\n }\n\n &.mdui-fab-dial-show {\n .mdui-fab {\n transform: scale(1);\n opacity: 1;\n }\n }\n }\n}\n\n/* 添加类 .mdui-fab-hide 以动画的形式隐藏按钮 */\n.mdui-fab,\n.mdui-fab-mini,\n.mdui-fab-wrapper {\n will-change: transform;\n transition: all .2s @animation-curve-default,\n box-shadow .2s @animation-curve-fast-out-linear-in,\n // fab\n transform .2s;\n transform: scale(1) translateZ(0);\n\n &.mdui-fab-hide {\n transform: scale(0) translateZ(0);\n }\n}\n","/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n\n.mdui-select {\n font-family: @font-family-base;\n display: inline-block;\n box-sizing: border-box;\n vertical-align: middle;\n position: relative;\n padding-left: 0;\n padding-right: 24px;\n appearance: none;\n height: 36px;\n max-width: 100%;\n border: none;\n cursor: pointer;\n outline: none;\n font-size: 16px;\n user-select: none;\n\n will-change: background-color, box-shadow, background-position-x;\n transition-property: background-color, box-shadow, background-position-x;\n transition-duration: .2s;\n transition-timing-function: @animation-curve-default;\n\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n\n &.mdui-select-open {\n border-bottom: none;\n }\n\n // 箭头\n background-repeat: no-repeat;\n background-position: right center;\n background-image: data-uri('image/svg+xml', './select/svg/arrow_down_dark.svg');\n}\n\n.mdui-select-position-top {\n background-image: data-uri('image/svg+xml', './select/svg/arrow_up_dark.svg');\n}\n\n/* 底部和顶部菜单的样式 */\n.mdui-select-open {\n &.mdui-select-position-top,\n &.mdui-select-position-bottom {\n border-radius: 2px;\n background-color: #fff;\n background-position-x: calc(~'100% - 12px');\n z-index: 99999;\n }\n\n &.mdui-select-position-top {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n border-bottom: 2px solid transparent;\n box-shadow: 0 10px 10px -3px rgba(0,0,0,.2), 0 0px 14px 1px rgba(0,0,0,.14), 0 -7px 24px 2px rgba(0,0,0,.12);\n\n .mdui-select-menu {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n // 隐藏下方的阴影\n box-shadow: 0px -4px 4px -2px rgba(0,0,0,.06), 8px 0 8px -4px rgba(0,0,0,.12), -8px 0 8px -4px rgba(0,0,0,.12)\n }\n }\n\n &.mdui-select-position-bottom {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n .mdui-shadow(8);\n\n .mdui-select-menu {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n\n // 隐藏上方阴影\n box-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 9px 9px 1px rgba(0,0,0,.14), 0px 8px 8px 2px rgba(0,0,0,.06);\n }\n }\n}\n\n/* 当前选中项文本 */\n.mdui-select-selected {\n display: block;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n right: 24px;\n .mdui-text-truncate();\n\n transition: left .2s @animation-curve-linear-out-slow-in;\n\n .mdui-select-open & {\n left: 16px;\n right: 32px;\n }\n\n .mdui-select-open.mdui-select-position-auto & {\n visibility: hidden;\n }\n}\n\n/* 菜单 */\n.mdui-select-menu {\n position: relative;\n box-sizing: border-box;\n margin: 0 -24px 0 0;\n border-radius: 2px;\n background-color: #fff;\n color: @color-black-text;\n z-index: 99999;\n height: 36px;\n visibility: hidden;\n .mdui-shadow(8);\n opacity: 0;\n cursor: default;\n transform: scale(1, 0);\n\n // 在计算宽度时,把滚动条计算进去\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n\n will-change: transform, opacity, visibility;\n transition-property: transform, opacity, visibility;\n transition-duration: .2s;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n\n // 打开状态的菜单\n .mdui-select-open & {\n opacity: 1;\n transform: scale(1, 1);\n visibility: visible;\n overflow-y: hidden;\n }\n\n // 关闭状态的菜单\n .mdui-select-closing & {\n visibility: visible;\n overflow-y: hidden;\n transform: scale(1, 1);\n opacity: 0;\n box-shadow: none;\n }\n}\n\n/* 菜单项 */\n.mdui-select-menu-item {\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n cursor: pointer;\n .mdui-text-truncate();\n\n &:hover {\n background-color: @color-grey-200;\n }\n\n &:first-child {\n margin-top: 8px;\n }\n\n &:last-child {\n margin-bottom: 8px;\n }\n\n // 禁用项\n &[disabled] {\n cursor: default;\n color: @color-black-disabled !important;\n\n &:hover {\n background-color: inherit !important;\n }\n }\n\n // 已选中项\n &[selected] {\n color: @color-default-a200;\n }\n}\n\n\n/* 原生 select 组件 */\nselect.mdui-select {\n background-color: transparent;\n\n option {\n color: rgba(0, 0, 0, 0.87);\n }\n\n // 移除 IE 的下拉按钮\n &::-ms-expand {\n display: none;\n }\n}\n\n/* 原生多选 select 组件 */\nselect.mdui-select[multiple] {\n border: 1px solid rgba(0, 0, 0, 0.38);\n padding: 0;\n height: auto;\n cursor: default;\n font-size: 15px;\n background-color: #FFFFFF;\n background-image: none;\n\n optgroup {\n margin: 8px 0 0 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.38);\n\n &:last-child {\n margin-bottom: 8px;\n }\n\n &:not(:first-child) {\n padding-top: 8px;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n }\n }\n\n option {\n margin: 0 0 0 -16px;\n padding: 0 16px;\n height: 32px;\n display: flex;\n align-items: center;\n color: rgba(0, 0, 0, 0.87);\n\n &:first-child {\n margin-top: 8px;\n }\n\n &:last-child {\n margin-bottom: 8px;\n }\n }\n}\n\n/**\n * =============================================================================\n * ************ Select 强调色 ************\n * =============================================================================\n */\n\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n\n .mdui-select-menu-item {\n // 菜单中已选中项\n &[selected] {\n .mdui-text-color(@colorName);\n }\n }\n\n }\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Select dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-select {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n background-image: data-uri('image/svg+xml', './select/svg/arrow_down_light.svg');\n }\n\n .mdui-select-position-top {\n background-image: data-uri('image/svg+xml', './select/svg/arrow_up_light.svg');\n }\n\n .mdui-select-open {\n &.mdui-select-position-top,\n &.mdui-select-position-bottom {\n background-color: @layout-dark-color-4;\n }\n\n &.mdui-select-position-top {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n\n &.mdui-select-position-bottom {\n border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n }\n }\n\n .mdui-select-menu {\n background-color: @layout-dark-color-4;\n color: #fff;\n }\n\n .mdui-select-menu-item {\n &:hover {\n background-color: @color-grey-700;\n }\n\n &[disabled] {\n color: @color-white-disabled !important;\n }\n }\n\n // 原生 select 组件\n select.mdui-select {\n background-color: @layout-dark-color-3;\n color: #FFFFFF;\n\n option {\n background-color: @layout-dark-color-3;\n color: #FFFFFF;\n }\n }\n\n // 原生多选 select 组件\n select.mdui-select[multiple] {\n border: 1px solid rgba(255, 255, 255, 0.5);\n\n optgroup {\n color: rgba(255, 255, 255, 0.5);\n\n &:not(:first-child) {\n border-top: 1px solid rgba(255, 255, 255, 0.12);\n }\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Grid 网格系统 ************\n * =============================================================================\n */\n\n@_screen-col-1: 8.333333%;\n@_screen-col-2: 16.666667%;\n@_screen-col-3: 25%;\n@_screen-col-4: 33.333333%;\n@_screen-col-5: 41.666667%;\n@_screen-col-6: 50%;\n@_screen-col-7: 58.333333%;\n@_screen-col-8: 66.666667%;\n@_screen-col-9: 75%;\n@_screen-col-10: 83.333333%;\n@_screen-col-11: 91.666667%;\n@_screen-col-12: 100%;\n\n// 等分列\n@_screen-average-1: 100%;\n@_screen-average-2: 50%;\n@_screen-average-3: 33.333333%;\n@_screen-average-4: 25%;\n@_screen-average-5: 20%;\n@_screen-average-6: 16.666667%;\n@_screen-average-7: 14.285714%;\n@_screen-average-8: 12.5%;\n@_screen-average-9: 11.111111%;\n@_screen-average-10: 10%;\n@_screen-average-11: 9.090909%;\n@_screen-average-12: 8.333333%;\n\n//间隔\n@grid-gap-8: 8px;\n@grid-gap-16: 16px;\n@grid-gap-24: 24px;\n@grid-gap-40: 40px;\n\n// 生成列、列偏移\n._grid_col_loop(@cols, @screen) when (@cols > 0) {\n ._grid_col_loop((@cols - 1), @screen);\n\n @widthName: '_screen-col-@{cols}';\n\n // 列宽度\n .mdui-col-@{screen}-@{cols} {\n float: left;\n width: @@widthName;\n }\n\n // 列偏移\n .mdui-col-offset-@{screen}-@{cols} {\n margin-left: @@widthName;\n }\n\n // 等分列\n @averageName: '_screen-average-@{cols}';\n .mdui-row-@{screen}-@{cols} .mdui-col {\n float: left;\n width: @@averageName;\n }\n}\n\n.mdui-container,\n.mdui-container-fluid {\n box-sizing: border-box;\n margin-left: auto;\n margin-right: auto;\n padding-left: @grid-gap-16 / 2;\n padding-right: @grid-gap-16 / 2;\n &:after{\n content: '';\n display: table;\n clear: both;\n }\n}\n\n.mdui-container {\n max-width: 1280px;\n width: 96%;\n @media (min-width: @screen-sm-min) {\n width: 94%;\n }\n @media (min-width: @screen-md-min) {\n width: 92%;\n }\n}\n\n.mdui-row,\n[class*=\"mdui-row-\"] {\n margin-left: -@grid-gap-16 / 2;\n margin-right: -@grid-gap-16 / 2;\n &:after {\n content: '';\n display: table;\n clear: both;\n }\n}\n\n[class*=\"mdui-col-xs-\"],\n[class*=\"mdui-col-sm-\"],\n[class*=\"mdui-col-md-\"],\n[class*=\"mdui-col-lg-\"],\n[class*=\"mdui-col-xl-\"],\n.mdui-col {\n box-sizing: border-box;\n position: relative;\n min-height: 1px;\n padding-left: @grid-gap-16 / 2;\n padding-right: @grid-gap-16 / 2;\n}\n\n/* 取消列间距 */\n.mdui-row-gapless {\n .mdui-col,\n [class*=\"mdui-col-xs-\"],\n [class*=\"mdui-col-sm-\"],\n [class*=\"mdui-col-md-\"],\n [class*=\"mdui-col-lg-\"],\n [class*=\"mdui-col-xl-\"] {\n padding-left: 0;\n padding-right: 0;\n }\n\n // 嵌套元素的内补\n .mdui-row,\n [class*=\"mdui-row-\"] {\n margin-left: 0;\n margin-right: 0;\n }\n}\n\n._grid_col_loop(12, ~\"xs\");\n\n@media (min-width: @screen-sm-min) {\n ._grid_col_loop(12, ~\"sm\");\n}\n\n@media (min-width: @screen-md-min) {\n ._grid_col_loop(12, ~\"md\");\n}\n\n@media (min-width: @screen-lg-min) {\n ._grid_col_loop(12, ~\"lg\");\n}\n\n@media (min-width: @screen-xl-min) {\n ._grid_col_loop(12, ~\"xl\");\n}","/**\n * =============================================================================\n * ************ Toolbar 工具栏 ************\n * =============================================================================\n */\n\n.mdui-toolbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n &>* {\n margin: 0 16px;\n .mdui-text-truncate();\n }\n\n // 工具栏默认有背景色时,工具栏中的按钮,hover 和 active 时颜色变浅\n &[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n .mdui-btn {\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n }\n &:active {\n background-color: rgba(255, 255, 255, 0.165);\n }\n }\n }\n\n &>a {\n user-select: none;\n text-decoration: none;\n color: inherit;\n }\n\n &>.mdui-btn-icon {\n width: @appbar-icon-width;\n min-width: @appbar-icon-width;\n height: @appbar-icon-width;\n\n // 手机横屏时\n @media (orientation : landscape) and (max-width: @screen-xs-max-landscape) {\n width: @appbar-icon-width-xs-landscape;\n min-width: @appbar-icon-width-xs-landscape;\n height: @appbar-icon-width-xs-landscape;\n }\n\n .mdui-icon {\n height: 24px;\n line-height: 24px;\n }\n }\n\n .mdui-icon {\n color: inherit;\n }\n}\n\n.mdui-toolbar-spacer {\n flex-grow: 1;\n margin: 0;\n}\n\n// 响应式。只有在应用栏中的工具栏,才具有响应式特性,不在应用栏中,则使用手机样式\n._toolbar_responsive_mixed(@toolbar-height, @icon-width) {\n .mdui-toolbar {\n height: @toolbar-height;\n line-height: @toolbar-height;\n\n &>.mdui-btn {\n margin: 0 (@toolbar-height - @icon-width) / 2;\n\n & + .mdui-btn {\n margin-left: 0;\n }\n }\n }\n}\n\n/* 手机 */\n._toolbar_responsive_mixed(@appbar-height-xs-portrait, @appbar-icon-width);\n\n.mdui-appbar {\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n ._toolbar_responsive_mixed(@appbar-height-sm, @appbar-icon-width);\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n ._toolbar_responsive_mixed(@appbar-height-xs-landscape, @appbar-icon-width-xs-landscape);\n }\n}\n","/**\n * =============================================================================\n * ************ Appbar 应用栏 ************\n * =============================================================================\n */\n\n.mdui-appbar {\n z-index: @z-index-appbar;\n .mdui-shadow(4);\n}\n\n/* appbar 固定在顶部 */\n.mdui-appbar-fixed {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n will-change: left, right;\n transition-property: left, right;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n transition-duration: 0.3s;\n}\n\n/* 左侧留出抽屉栏的距离 */\n.mdui-appbar-inset.mdui-appbar-fixed {\n .mdui-drawer-body-left & {\n @media (min-width: @screen-md-min) {\n left: @drawer-width-md;\n }\n }\n\n .mdui-drawer-body-right & {\n @media (min-width: @screen-md-min) {\n right: @drawer-width-md;\n }\n }\n}\n\n/* 含工具栏 */\n.mdui-appbar-with-toolbar {\n padding-top: @appbar-height-xs-portrait;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape;\n }\n}\n\n/* 含 Tab */\n.mdui-appbar-with-tab {\n padding-top: 48px;\n}\n\n/* 含大 Tab */\n.mdui-appbar-with-tab-larger {\n padding-top: 72px;\n}\n\n/* 含工具栏和 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab {\n padding-top: @appbar-height-xs-portrait + 48px;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm + 48px;\n }\n\n // 手机横屏\n @media (orientation: landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape + 48px;\n }\n}\n\n/* 含工具栏和大 Tab */\n.mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger {\n padding-top: @appbar-height-xs-portrait + 72px;\n\n // 平板和桌面\n @media (min-width: @screen-sm-min) {\n padding-top: @appbar-height-sm + 72px;\n }\n\n // 手机横屏\n @media (orientation : landscape) and (max-width: @screen-xs-max-landscape) {\n padding-top: @appbar-height-xs-landscape + 72px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Appbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-appbar {\n &>[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n background-color: @layout-dark-color-2 !important;\n color: #fff !important;\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Card 卡片 ************\n * =============================================================================\n */\n\n/* 卡片 */\n.mdui-card {\n box-sizing: border-box;\n position: relative;\n border-radius: 2px;\n overflow: hidden;\n color: #000;\n background-color: #fff;\n .mdui-shadow(2);\n}\n\n/**\n * ===================== 头部,包含头像、标题、副标题\n */\n.mdui-card-header {\n box-sizing: border-box;\n padding: 16px;\n position: relative;\n height: 72px;\n}\n\n/* 卡片头部头像 */\n.mdui-card-header-avatar {\n height: 40px;\n width: 40px;\n border-radius: 50%;\n float: left;\n}\n\n/* 卡片头部标题 */\n.mdui-card-header-title {\n display: block;\n font-size: 16px;\n line-height: 20px;\n font-weight: 500;\n margin-left: 52px;\n .mdui-text-truncate();\n opacity: @opacity-black-text;\n}\n\n/* 卡片头部副标题 */\n.mdui-card-header-subtitle {\n display: block;\n font-size: 14px;\n line-height: 20px;\n font-weight: 400;\n margin-left: 52px;\n .mdui-text-truncate();\n opacity: @opacity-black-secondary;\n}\n\n/**\n * =========================== 主标题区域\n */\n.mdui-card-primary {\n position: relative;\n padding: 24px 16px 16px 16px;\n}\n\n/* 主标题区域标题 */\n.mdui-card-primary-title {\n display: block;\n font-size: 24px;\n line-height: 36px;\n opacity: @opacity-black-text;\n}\n\n/* 主标题区域副标题 */\n.mdui-card-primary-subtitle {\n display: block;\n font-size: 14px;\n line-height: 24px;\n opacity: @opacity-black-secondary;\n}\n\n/**\n * ============================ 内容区域\n */\n.mdui-card-content {\n position: relative;\n padding: 16px;\n line-height: 24px;\n font-size: 14px;\n}\n\n/**\n * ============================ 卡片菜单\n */\n.mdui-card-menu {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n\n .mdui-btn {\n margin-left: 8px;\n }\n}\n\n/**\n * =========================== 按钮区域\n */\n.mdui-card-actions {\n .mdui-clearfix();\n position: relative;\n box-sizing: border-box;\n padding: 8px;\n\n .mdui-btn {\n margin: 0 8px 0 0;\n max-width: 100%;\n .mdui-text-truncate();\n }\n\n .mdui-btn-icon {\n width: @button-height;\n height: @button-height;\n margin: 0 8px;\n }\n}\n\n/* 使按钮竖向排列 */\n.mdui-card-actions-stacked {\n .mdui-btn {\n margin: 0 0 4px 0;\n display: block;\n &:last-child {\n margin: 0;\n }\n }\n}\n\n/**\n * ============================= 媒体元素区域\n */\n.mdui-card-media {\n position: relative;\n img, video {\n display: block;\n width: 100%;\n }\n}\n\n/* 覆盖在媒体元素上的内容 */\n.mdui-card-media-covered {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.2);\n color: #fff;\n\n /* 覆盖在媒体元素上的标题 */\n .mdui-card-primary-title {\n opacity: @opacity-white-text;\n }\n .mdui-card-primary-subtitle {\n opacity: @opacity-white-secondary;\n }\n}\n\n/* 覆盖在媒体元素顶部 */\n.mdui-card-media-covered-top {\n bottom: auto;\n top: 0;\n}\n\n/* 覆盖层透明 */\n.mdui-card-media-covered-transparent {\n background: transparent;\n}\n\n/* 覆盖层渐变 */\n.mdui-card-media-covered-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n\n &.mdui-card-media-covered-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Card dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-card {\n background-color: @layout-dark-color-4;\n color: #fff;\n }\n}\n","/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n *\n * 在手机上选项卡始终平分或可滚动,在平板以上的设备上默认左对齐,可以选择居中对齐,或全宽等分\n */\n\n/* 选项卡,默认的选项卡为全宽 */\n.mdui-tab {\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n min-height: 48px;\n max-height: 72px;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n\n a {\n display: flex;\n color: inherit;\n text-decoration: none;\n font-size: 14px;\n\n box-sizing: border-box;\n text-align: center;\n min-height: 48px;\n max-height: 72px;\n cursor: pointer;\n text-transform: uppercase;\n text-overflow: ellipsis;\n overflow: hidden;\n user-select: none;\n opacity: 0.7;\n padding: 12px;\n min-width: 72px;\n outline: none;\n // 手机上始终等分选项卡\n flex: 1;\n\n // 使图标和文本垂直排列\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n .mdui-icon {\n opacity: 0.7;\n }\n\n // 平板或以上设备\n @media (min-width: @screen-sm-min) {\n min-width: 99px;\n max-width: 264px;\n\n // 手机上 padding 12px,平板/pc上 padding 24px\n padding: 12px 24px;\n\n // 平板/pc上选项卡左对齐\n flex: none;\n }\n\n @media (min-width: @screen-md-min) {\n min-width: 112px;\n }\n\n @media (min-width: @screen-lg-min) {\n min-width: 136px;\n }\n\n @media (min-width: @screen-xl-min) {\n min-width: 160px;\n }\n\n label {\n cursor: pointer;\n width: 100%;\n display: block;\n }\n\n .mdui-icon + label {\n margin-top: 8px;\n }\n\n &[disabled] {\n opacity: 0.38;\n cursor: default;\n\n label {\n cursor: default;\n }\n }\n }\n\n // 激活状态的选项\n .mdui-tab-active {\n color: @color-default-500;\n opacity: 1;\n .mdui-icon {\n opacity: 1;\n }\n }\n}\n\n/* 选项卡居中 */\n.mdui-tab-centered {\n @media (min-width: @screen-sm-min) {\n &:before {\n content: ' ';\n flex-grow: 1;\n }\n &:after {\n content: ' ';\n flex-grow: 1;\n }\n a {\n flex: none;\n }\n }\n}\n\n/* 选项卡始终全宽等分 */\n.mdui-tab-full-width {\n a {\n max-width: none;\n flex: 1;\n }\n}\n\n\n/* 可横向滚动的选项卡 */\n.mdui-tab-scrollable {\n padding-left: 56px;\n\n a {\n flex: none;\n }\n\n @media (max-width: @screen-xs-max) {\n padding-left: 60px;\n }\n\n}\n\n/* 下划线指示器 */\n.mdui-tab-indicator {\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: @color-default-500;\n will-change: left, width;\n transition: all .35s @animation-curve-default;\n}\n\n/**\n * =============================================================================\n * ************ Tab 主色 ************\n * =============================================================================\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} {\n .mdui-tab .mdui-tab-active {\n color: @@color;\n }\n\n .mdui-tab-indicator {\n background-color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n/* 带背景色的选项卡 */\n.mdui-tab[class*=\"mdui-color-\"]:not(.mdui-color-white) {\n .mdui-tab-active {\n color: inherit;\n }\n .mdui-tab-indicator {\n background-color: @color-white-500;\n }\n\n // 带背景色的选项卡中使用浅色滚动条\n & {\n .mdui-scrollbar-beautify(dark);\n }\n}\n","/**\n * =============================================================================\n * ************ Subheader 副标题 ************\n * =============================================================================\n *\n * 用于 List 和 Grid list 组件\n */\n\n.mdui-subheader,\n.mdui-subheader-inset {\n position: relative;\n box-sizing: border-box;\n font-size: 14px;\n font-weight: 500;\n color: @color-black-secondary;\n height: 48px;\n line-height: 48px;\n cursor: default;\n padding-left: 16px;\n padding-right: 16px;\n .mdui-text-truncate();\n}\n\n.mdui-subheader-inset {\n padding-left: 72px;\n}\n\n/**\n * =============================================================================\n * ************ Subheader dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-subheader,\n .mdui-subheader-inset {\n color: @color-white-secondary;\n }\n}\n","/**\n * =============================================================================\n * ************ Grid List 网格列表 ************\n * =============================================================================\n */\n\n/* 调整网格边距 */\n.mdui-grid-list {\n margin: 0 -@grid-list-gutter / 2;\n\n .mdui-col,\n [class*=\"mdui-col-xs-\"],\n [class*=\"mdui-col-sm-\"],\n [class*=\"mdui-col-md-\"],\n [class*=\"mdui-col-lg-\"],\n [class*=\"mdui-col-xl-\"] {\n padding-left: @grid-list-gutter / 2;\n padding-right: @grid-list-gutter / 2;\n }\n}\n\n/* 单元格 */\n.mdui-grid-tile {\n box-sizing: border-box;\n margin-bottom: @grid-list-gutter;\n overflow: hidden;\n position: relative;\n\n img {\n display: block;\n width: 100%;\n }\n}\n\n/* 操作栏 */\n.mdui-grid-tile-actions {\n display: flex;\n align-items: center;\n\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n min-height: 48px;\n max-height: 68px;\n padding: 16px;\n box-sizing: border-box;\n color: #fff;\n background: rgba(0, 0, 0, 0.2);\n\n .mdui-icon {\n color: #fff;\n }\n}\n\n/* 操作栏内的文本 */\n.mdui-grid-tile-text {\n overflow: hidden;\n flex: 1;\n}\n\n/* 标题 */\n.mdui-grid-tile-title {\n font-size: 16px;\n height: 16px;\n line-height: 16px;\n .mdui-text-truncate();\n\n .mdui-icon {\n margin-right: 8px;\n }\n}\n\n/* 副标题 */\n.mdui-grid-tile-subtitle {\n margin-top: 4px;\n font-size: 12px;\n height: 18px;\n line-height: 18px;\n .mdui-text-truncate();\n\n .mdui-icon {\n font-size: 18px;\n margin-right: 8px;\n }\n}\n\n/* 操作栏内的按钮 */\n.mdui-grid-tile-buttons {\n white-space: nowrap;\n margin: -8px;\n flex: none;\n\n .mdui-btn {\n margin-left: 8px;\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n.mdui-grid-tile-text + .mdui-grid-tile-buttons {\n margin-left: 8px;\n}\n.mdui-grid-tile-buttons + .mdui-grid-tile-text {\n margin-left: 16px;\n}\n\n/* 操作栏位于顶部 */\n.mdui-grid-tile-actions-top {\n bottom: auto;\n top: 0;\n}\n\n/* 操作栏背景透明 */\n.mdui-grid-tile-actions-transparent {\n background: transparent;\n}\n\n/* 操作栏背景渐变 */\n.mdui-grid-tile-actions-gradient {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n\n &.mdui-grid-tile-actions-top {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0));\n }\n}","/**\n * =============================================================================\n * ************ List 列表 ************\n * =============================================================================\n */\n\n/* 列表 */\n.mdui-list {\n margin: 0;\n padding: 8px 0;\n background-color: transparent;\n list-style: none;\n\n // 子列表没有上下间距\n .mdui-list {\n padding: 0;\n }\n\n // 分割线上下边距\n &>.mdui-divider,\n &>.mdui-divider-light,\n &>.mdui-divider-dark,\n &>.mdui-divider-inset,\n &>.mdui-divider-inset-light,\n &>.mdui-divider-inset-dark {\n margin-top: 8px;\n margin-bottom: 8px;\n }\n\n a {\n text-decoration: none;\n color: inherit;\n }\n\n // 使用副标题时自动添加分割线\n .mdui-subheader,\n .mdui-subheader-inset {\n &:before {\n content: ' ';\n background-color: @color-black-divider;\n height: 1px;\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n }\n margin-top: 8px;\n\n &:first-child {\n &:before {\n background-color: transparent;\n }\n\n // 第一个副标题把列表的 padding-top 抵消掉\n margin-top: -8px;\n }\n }\n .mdui-subheader-inset {\n &:before {\n left: 72px;\n }\n }\n}\n\n/* 列表项 */\n.mdui-list-item {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n padding: 0 16px;\n min-height: 48px;\n cursor: pointer;\n text-decoration: none;\n transition: background-color .3s @animation-curve-default;\n\n &:hover {\n background-color: @color-hover-black;\n }\n\n // http://stackoverflow.com/a/31915203\n &:after {\n content: ' ';\n height: 48px;\n visibility: hidden;\n }\n}\n\n/* 列表项图标 */\n.mdui-list-item-icon {\n min-width: 24px;\n width: 24px;\n height: 24px;\n color: @color-black-icon;\n}\n\n/* 列表项头像 */\n.mdui-list-item-avatar {\n min-width: 40px;\n max-width: 40px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n border-radius: 50%;\n background-color: @color-grey-400;\n color: @color-white;\n margin-top: 8px;\n margin-bottom: 8px;\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n }\n}\n\n/* 列表项内容 */\n.mdui-list-item-content {\n flex-grow: 1;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n padding-top: 14px;\n padding-bottom: 14px;\n}\n\n/* 列表项内容的副内容 */\n.mdui-list-item-text {\n opacity: @opacity-black-secondary;\n font-size: 14px;\n}\n.mdui-list-item-title {\n ~ .mdui-list-item-text {\n margin-top: 4px;\n }\n}\n\n/* 激活状态的列表项 */\n.mdui-list-item-active {\n background-color: @color-hover-black;\n font-weight: 700;\n\n .mdui-list-item-content {\n font-weight: 700;\n }\n .mdui-list-item-text {\n font-weight: 400;\n }\n}\n\n/* 限制文本高度 */\n.mdui-list-item-one-line,\n.mdui-list-item-two-line,\n.mdui-list-item-three-line {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n}\n.mdui-list-item-one-line {\n -webkit-line-clamp: 1;\n height: 20px;\n}\n.mdui-list-item-two-line {\n -webkit-line-clamp: 2;\n height: 40px;\n}\n.mdui-list-item-three-line {\n -webkit-line-clamp: 3;\n height: 60px;\n}\n\n/* 列表项内的元素间添加间距 */\n.mdui-list-item-icon {\n ~ .mdui-list-item-content {\n margin-left: 32px;\n }\n}\n.mdui-checkbox,\n.mdui-radio,\n.mdui-switch {\n ~ .mdui-list-item-content {\n margin-left: 20px;\n }\n}\n\n\n.mdui-list-item-avatar {\n ~ .mdui-list-item-content {\n margin-left: 16px;\n }\n}\n.mdui-list-item-content {\n ~ .mdui-list-item-icon,\n ~ .mdui-list-item-avatar,\n ~ .mdui-checkbox,\n ~ .mdui-radio,\n ~ .mdui-switch {\n margin-left: 16px;\n }\n\n ~ .mdui-checkbox,\n ~ .mdui-radio {\n padding-left: 24px;\n }\n}\n\n/* 密集型列表 */\n.mdui-list-dense {\n padding: 4px 0;\n font-size: 13px;\n\n &>.mdui-divider,\n &>.mdui-divider-light,\n &>.mdui-divider-dark,\n &>.mdui-divider-inset,\n &>.mdui-divider-inset-light,\n &>.mdui-divider-inset-dark {\n margin-top: 4px;\n margin-bottom: 4px;\n }\n\n // 副标题\n .mdui-subheader,\n .mdui-subheader-inset {\n margin-top: 4px;\n height: 40px;\n line-height: 40px;\n font-size: 12px;\n\n &:first-child {\n margin-top: -4px;\n }\n }\n\n // 密集型列表项\n .mdui-list-item {\n min-height: 40px;\n\n &:after {\n height: 40px;\n }\n }\n\n // 图标\n .mdui-list-item-icon {\n width: 20px;\n height: 20px;\n font-size: 20px;\n }\n\n // 头像\n .mdui-list-item-avatar {\n min-width: 36px;\n min-height: 36px;\n height: 36px;\n width: 36px;\n }\n\n // 列表项内容\n .mdui-list-item-content {\n font-size: 13px;\n line-height: 18px;\n padding-top: 11px;\n padding-bottom: 11px;\n }\n .mdui-list-item-text {\n font-size: 13px;\n }\n .mdui-list-item-title {\n ~ .mdui-list-item-text {\n margin-top: 2px;\n }\n }\n\n // 限制文本高度\n .mdui-list-item-one-line {\n height: 18px;\n }\n .mdui-list-item-two-line {\n height: 36px;\n }\n .mdui-list-item-three-line {\n height: 54px;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ List dark ************\n * =============================================================================\n */\n\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-list {\n // 副标题的分割线\n .mdui-subheader,\n .mdui-subheader-inset {\n &:before {\n background-color: @color-white-divider;\n }\n\n &:first-child {\n &:before {\n background-color: transparent;\n }\n }\n }\n }\n\n // 列表项\n .mdui-list-item {\n color: @color-white-text;\n\n &:hover {\n background-color: @color-hover-white;\n }\n }\n\n // 列表项图标\n .mdui-list-item-icon {\n color: @color-white-icon;\n }\n\n // 列表内容副内容\n .mdui-list-item-text {\n opacity: @opacity-white-secondary;\n }\n\n // 激活状态的列表项\n .mdui-list-item-active {\n background-color: @color-hover-white;\n }\n}\n\n/**\n * ==============================================================================\n * ************ List inner theme ************\n * ==============================================================================\n */\n[class*=\"mdui-color-\"] {\n .mdui-list-item {\n color: inherit;\n }\n .mdui-list-item-icon {\n color: inherit;\n }\n}\n","/**\n * =============================================================================\n * ************ Drawer 抽屉栏导航 ************\n * =============================================================================\n */\n\n/* DOM 加载完后再添加 transition */\nbody.mdui-loaded {\n transition: padding .3s @animation-curve-linear-out-slow-in;\n}\nbody.mdui-loaded .mdui-drawer {\n transition: all .3s @animation-curve-linear-out-slow-in;\n}\n\n/* 抽屉栏外层,默认出现在左侧且隐藏 */\n.mdui-drawer {\n box-sizing: border-box;\n position: fixed;\n left: 0;\n bottom: 0;\n z-index: @z-index-drawer;\n will-change: transform;\n margin: 0;\n white-space: nowrap;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n top: 0;\n\n // 手机端宽度为 100% - 56px,最大为 280px\n width: calc(~\"100% - 56px\");\n max-width: @drawer-width-xs;\n\n // 隐藏时不显示阴影\n @media (max-width: @screen-sm-max) {\n &:not(.mdui-drawer-open) {\n box-shadow: none !important;\n }\n }\n\n // 平板端宽度为 100% - 64px,最大为 320px\n @media (min-width: @screen-sm-min) {\n width: calc(~\"100% - 64px\");\n max-width: @drawer-width-sm;\n }\n\n // 桌面端宽度\n @media (min-width: @screen-md-min) {\n width: @drawer-width-md;\n max-width: none;\n\n // 隐藏时不显示阴影\n &.mdui-drawer-close {\n box-shadow: none !important;\n }\n }\n}\n\n/* 出现在右侧的抽屉栏 */\n.mdui-drawer-right {\n left: auto;\n right: 0;\n}\n\n/* 平板上的样式 */\n@media (max-width: @screen-sm-max) {\n .mdui-drawer {\n /* 默认隐藏 */\n transform: translateX(-@drawer-width-sm - 10);\n\n /* 始终有背景和阴影 */\n background-color: #fff;\n .mdui-shadow(16);\n }\n\n .mdui-drawer-right {\n /* 右侧 drawer 也默认隐藏 */\n transform: translateX(@drawer-width-sm + 10);\n }\n}\n\n/* 手机上的样式 */\n@media (max-width: @screen-xs-max) {\n .mdui-drawer {\n transform: translateX(-@drawer-width-xs - 10);\n }\n\n .mdui-drawer-right {\n transform: translateX(@drawer-width-xs + 10);\n }\n}\n\n/* 强制隐藏抽屉栏 */\n._drawer_close(@drawer-width) {\n .mdui-drawer-close {\n transform: translateX(-@drawer-width - 10);\n &.mdui-drawer-right {\n transform: translateX(@drawer-width + 10);\n }\n }\n}\n\n._drawer_close(@drawer-width-xs);\n\n@media (min-width: @screen-sm-min) {\n ._drawer_close(@drawer-width-sm);\n}\n\n@media (min-width: @screen-md-min) {\n ._drawer_close(@drawer-width-md);\n}\n\n/* 强制显示抽屉栏 */\n.mdui-drawer-open {\n transform: translateX(0) !important;\n}\n\n/* PC 上的样式 */\n@media (min-width: @screen-md-min) {\n /* 使该类所在元素获得 padding-left 或 padding-right,避免被抽屉栏覆盖住页面 */\n .mdui-drawer-body-left {\n padding-left: @drawer-width-md;\n }\n .mdui-drawer-body-right {\n padding-right: @drawer-width-md;\n }\n\n /* PC 上默认有上边距 */\n .mdui-drawer {\n .mdui-appbar-with-toolbar & {\n top: @appbar-height-sm;\n }\n\n .mdui-appbar-with-tab & {\n top: 48px;\n }\n\n .mdui-appbar-with-tab-larger & {\n top: 72px;\n }\n\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab & {\n top: @appbar-height-sm + 48px;\n }\n\n .mdui-appbar-with-toolbar.mdui-appbar-with-tab-larger & {\n top: @appbar-height-sm + 72px;\n }\n }\n}\n\n/* 抽屉栏不是透明时添加阴影 */\n.mdui-drawer[class*=\"mdui-color-\"]:not(.mdui-color-transparent) {\n .mdui-shadow(16);\n}\n\n/* 抽屉栏 100% 高度,覆盖在导航栏上面 */\n.mdui-drawer-full-height {\n top: 0 !important;\n}\n\n\n/**\n * =============================================================================\n * ************ Drawer dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n\n // 手机平板上的样式\n @media (max-width: @screen-sm-max) {\n .mdui-drawer {\n background-color: @layout-dark-color-4;\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Dialog 提示框 ************\n * =============================================================================\n */\n\n.mdui-dialog {\n box-sizing: border-box;\n position: fixed;\n left: 0;\n right: 0;\n color: #000;\n background-color: #fff;\n max-height: 90%;\n width: 92%;\n max-width: 728px;\n min-width: 180px;\n margin: auto;\n overflow: hidden;\n border-radius: 2px;\n display: none;\n z-index: @z-index-dialog;\n will-change: top, opacity, transform;\n opacity: 0;\n transform: scale(0.95);\n\n transition-property: transform, opacity, visibility;\n transition-duration: .3s;\n\n @media (min-width: @screen-sm-min) {\n max-height: 85%;\n width: 85%;\n }\n @media (min-width: @screen-md-min) {\n max-height: 80%;\n width: 80%;\n }\n\n .mdui-shadow(24);\n}\n\n/* 打开提示框 */\n.mdui-dialog-open {\n opacity: 1;\n transform: scale(1);\n}\n\n/* 提示框标题 */\n.mdui-dialog-title {\n box-sizing: border-box;\n font-size: 20px;\n line-height: 24px;\n font-weight: 500;\n text-align: left;\n}\n/* 标题固定在顶部 */\n.mdui-dialog>.mdui-dialog-title {\n padding: 24px 24px 20px 24px;\n}\n\n/* 提示框内容 */\n.mdui-dialog-content {\n box-sizing: border-box;\n font-size: 15px;\n color: rgba(0, 0, 0, 0.7);\n padding: 24px;\n line-height: 1.5;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n/* 标题随内容滚动 */\n.mdui-dialog-content>.mdui-dialog-title {\n padding-bottom: 20px;\n}\n\n.mdui-dialog-title + .mdui-dialog-content {\n padding-top: 0;\n}\n\n/* 提示框底部按钮 */\n.mdui-dialog-actions {\n box-sizing: border-box;\n padding: 8px;\n text-align: right;\n .mdui-btn {\n min-width: 64px;\n margin-left: 8px;\n .mdui-text-color(@color-accent-default-name);\n &:first-child {\n margin-left: 0;\n }\n }\n}\n/* 底部按钮滚随内容动 */\n.mdui-dialog-content>.mdui-dialog-actions {\n margin: 0 -24px -24px -24px;\n padding-top: 32px;\n}\n\n/* 使提示框底部按钮竖排 */\n.mdui-dialog-actions-stacked {\n padding: 8px 0 8px 0;\n .mdui-btn {\n height: 48px;\n line-height: 48px !important;\n margin: 0;\n width: 100%;\n text-align: right;\n border-radius: 0;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Dialog 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n .mdui-dialog-actions {\n .mdui-btn {\n .mdui-text-color(@colorName);\n }\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Dialog dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-dialog {\n background-color: @layout-dark-color-4;\n color: #fff;\n }\n .mdui-dialog-content {\n color: rgba(255, 255, 255, 0.7);\n }\n}\n","/**\n * =============================================================================\n * ************ Dialog alert ************\n * =============================================================================\n */\n\n.mdui-dialog-alert {\n max-width: 448px;\n}","/**\n * =============================================================================\n * ************ Dialog prompt ************\n * =============================================================================\n */\n\n.mdui-dialog-prompt {\n max-width: 448px;\n\n .mdui-textfield {\n padding-top: 0;\n }\n}","/**\n * =============================================================================\n * ************ Shadow 阴影 ************\n * =============================================================================\n */\n\n._md_shadow(@shadow) when (@shadow > -1) {\n ._md_shadow(@shadow - 1);\n\n .mdui-shadow-@{shadow} {\n .mdui-shadow(@shadow);\n }\n}\n\n._md_shadow(24);\n\n/* 鼠标悬浮时加深阴影 */\n.mdui-hoverable {\n .mdui-hoverable(8);\n}","/**\n * =============================================================================\n * ************ Tooltip 工具提示 ************\n * =============================================================================\n */\n\n.mdui-tooltip {\n position: absolute;\n z-index: @z-index-tooltip;\n display: inline-block;\n box-sizing: border-box;\n font-weight: 500;\n color: #fff;\n text-align: left;\n background-color: rgba(red(@color-grey-700), green(@color-grey-700), blue(@color-grey-700), 0.9);\n border-radius: 2px;\n opacity: 0;\n transition-property: opacity, transform;\n transition-duration: 0.15s;\n transition-timing-function: @animation-curve-default;\n transform: scale(0);\n\n will-change: opacity, transform;\n\n // 移动端样式\n font-size: 14px;\n padding: 8px 16px;\n min-height: 32px;\n line-height: 22px;\n max-width: 180px;\n\n // 桌面端样式\n @media (min-width: @screen-md-min) {\n font-size: 12px;\n padding: 4px 8px;\n min-height: 24px;\n line-height: 18px;\n max-width: 200px;\n }\n}\n\n/* 显示工具提示 */\n.mdui-tooltip-open {\n transform: scale(1);\n opacity: 1;\n}","/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n\n.mdui-snackbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 24px 0 24px;\n font-size: 14px;\n min-height: 48px;\n line-height: 20px;\n background-color: #323232;\n color: #fff;\n position: fixed;\n z-index: @z-index-snackbar;\n will-change: transform;\n\n // 手机端的样式\n width: 100%;\n\n // 平板、桌面端样式\n @media (min-width: @screen-sm-min) {\n width: auto;\n min-width: 288px;\n max-width: 568px;\n border-radius: 2px;\n }\n}\n\n.mdui-snackbar-bottom,\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-top,\n.mdui-snackbar-right-bottom {\n transition: transform .3s @animation-curve-default;\n}\n\n/* 位置 */\n.mdui-snackbar-bottom,\n.mdui-snackbar-left-bottom,\n.mdui-snackbar-right-bottom {\n bottom: 0;\n}\n\n.mdui-snackbar-top,\n.mdui-snackbar-left-top,\n.mdui-snackbar-right-top {\n top: 0;\n}\n\n.mdui-snackbar-top,\n.mdui-snackbar-bottom {\n left: 50%;\n}\n\n// 平板、桌面端位置\n@media (min-width: @screen-sm-min) {\n .mdui-snackbar-left-top {\n left: 24px;\n top: 24px;\n }\n\n .mdui-snackbar-left-bottom {\n left: 24px;\n bottom: 24px;\n }\n\n .mdui-snackbar-right-top {\n right: 24px;\n top: 24px;\n }\n\n .mdui-snackbar-right-bottom {\n right: 24px;\n bottom: 24px;\n }\n}\n\n/* 文本 */\n.mdui-snackbar-text {\n padding: 14px 0 14px 0;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n/* 按钮 */\n.mdui-snackbar-action {\n margin-right: -16px;\n white-space: nowrap;\n .mdui-text-color(@color-accent-default-name, a100);\n}\n\n\n/**\n * =============================================================================\n * ************ Snackbar 强调色 ************\n * =============================================================================\n */\n& {\n .loop-accent-theme(@counter-color) when (@counter-color > 0) {\n .loop-accent-theme((@counter-color - 1));\n @colorName: extract(@globalAccentColors, @counter-color);\n\n .mdui-theme-accent-@{colorName} {\n .mdui-snackbar-action {\n .mdui-text-color(@colorName, a100);\n }\n }\n\n }\n .loop-accent-theme(length(@globalAccentColors));\n}\n\n\n/**\n * =============================================================================\n * ************ Snackbar dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-snackbar {\n background-color: #5d5d5d;\n }\n}\n","/**\n * =============================================================================\n * ************ Chip 纸片 ************\n * =============================================================================\n */\n\n@chip-height: 32px;\n\n.mdui-chip {\n box-sizing: border-box;\n display: inline-block;\n height: @chip-height;\n border-radius: @chip-height / 2;\n white-space: nowrap;\n background-color: #e0e0e0;\n cursor: pointer;\n user-select: none;\n margin: 2px 0;\n .mdui-hoverable(2);\n\n &:active {\n background-color: #d6d6d6;\n }\n}\n\n/* 左侧的图标 */\n.mdui-chip-icon {\n position: relative;\n height: @chip-height;\n width: @chip-height;\n border-radius: 50%;\n margin-right: -4px;\n font-size: 18px;\n line-height: @chip-height;\n display: inline-block;\n vertical-align: middle;\n overflow: hidden;\n text-align: center;\n background-color: #989898;\n color: #ffffff;\n\n .mdui-icon {\n position: absolute;\n left: 4px;\n top: 4px;\n color: #ffffff;\n }\n}\n\n/* 文本 */\n.mdui-chip-title {\n height: @chip-height;\n line-height: @chip-height;\n padding-left: 12px;\n padding-right: 12px;\n font-size: 14px;\n vertical-align: middle;\n display: inline-block;\n}\n\n/* 删除按钮 */\n.mdui-chip-delete {\n height: 24px;\n width: 24px;\n opacity: .54;\n cursor: pointer;\n margin-left: -8px;\n margin-right: 4px;\n text-decoration: none;\n display: inline-block;\n vertical-align: middle;\n overflow: hidden;\n text-align: center;\n border-radius: 50%;\n will-change: opacity;\n transition: opacity .25s @animation-curve-default;\n &:hover,\n &:focus {\n opacity: .87;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Chip dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-chip {\n background-color: #484848;\n &:active {\n background-color: #5d5d5d;\n }\n }\n}\n","/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n\n.mdui-bottom-nav {\n display: flex;\n position: relative;\n overflow: hidden;\n height: 56px;\n padding: 0;\n margin: 0 auto;\n white-space: nowrap;\n\n @media (min-width: @screen-sm-min) {\n &:before {\n content: ' ';\n flex-grow: 1;\n }\n &:after {\n content: ' ';\n flex-grow: 1;\n }\n }\n\n a {\n display: flex;\n color: inherit;\n text-decoration: none;\n font-size: 12px;\n\n text-align: center;\n cursor: pointer;\n text-overflow: ellipsis;\n overflow: hidden;\n user-select: none;\n opacity: 0.7;\n min-width: 32px;\n max-width: none;\n padding: 8px 12px 10px 12px;\n flex: 1;\n\n // 使图标和文本垂直排列\n flex-direction: column;\n justify-content: center;\n align-items: center;\n will-change: padding;\n transition: all .2s @animation-curve-default ;\n\n @media (min-width: @screen-sm-min) {\n max-width: 144px;\n }\n\n .mdui-icon {\n opacity: 0.7;\n }\n\n label {\n cursor: pointer;\n width: 100%;;\n display: block;\n will-change: font-size;\n transition: transform .2s @animation-curve-default ;\n }\n\n .mdui-icon + label {\n margin-top: 6px;\n }\n\n // 激活状态的导航项\n &.mdui-bottom-nav-active {\n color: @color-default-500;\n opacity: 1;\n font-size: 14px;\n\n .mdui-icon {\n opacity: 1;\n }\n }\n }\n}\n\n/* 只在激活时显示文本 */\n&.mdui-bottom-nav-text-auto {\n a {\n padding-left: 0;\n padding-right: 0;\n min-width: 32px;\n @media (min-width: @screen-sm-min) {\n max-width: 156px;\n }\n .mdui-icon {\n padding-top: 16px;\n will-change: padding-top;\n transition: padding-top .2s @animation-curve-default;\n }\n label {\n transform: scale(0);\n }\n\n &.mdui-bottom-nav-active {\n padding-left: 18px;\n padding-right: 18px;\n .mdui-icon {\n padding-top: 0;\n }\n label {\n transform: scale(1);\n }\n }\n }\n}\n\n/* 固定到页面底部 */\n.mdui-bottom-nav-fixed {\n .mdui-bottom-nav {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n }\n\n padding-bottom: 56px;\n}\n\n/**\n * =============================================================================\n * ************ Bottom Nav 主色 ************\n * =============================================================================\n */\n\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} {\n .mdui-bottom-nav a.mdui-bottom-nav-active {\n color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n\n/* 带背景色的底部导航栏 */\n.mdui-bottom-nav[class*=\"mdui-color-\"] {\n .mdui-bottom-nav-active {\n color: inherit !important;\n }\n}\n","/**\n * =============================================================================\n * ************ Progress Linear 线性进度条 ************\n * =============================================================================\n */\n\n/* 线性进度条 */\n.mdui-progress {\n position: relative;\n height: 4px;\n display: block;\n width: 100%;\n background-color: rgba(red(@color-default-500), green(@color-default-500), blue(@color-default-500), .2);\n border-radius: 2px;\n overflow: hidden;\n}\n\n/* 确定进度的线性进度条 */\n.mdui-progress-determinate {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n background-color: @color-default-500;\n transition: width .3s linear;\n}\n\n/* 不确定进度的线性进度条 */\n.mdui-progress-indeterminate {\n background-color: @color-default-500;\n\n &:before {\n content: ' ';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, width;\n animation: mdui-progress-indeterminate 2s linear infinite;\n }\n\n &:after {\n content: ' ';\n position: absolute;\n background-color: inherit;\n top: 0;\n left: 0;\n bottom: 0;\n will-change: left, width;\n animation: mdui-progress-indeterminate-short 2s linear infinite;\n }\n}\n\n@keyframes mdui-progress-indeterminate {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 30%;\n width: 70%;\n }\n 75% {\n left: 100%;\n width: 0;\n }\n}\n\n@keyframes mdui-progress-indeterminate-short {\n 0% {\n left: 0;\n width: 0;\n }\n 50% {\n left: 0;\n width: 0;\n }\n 75% {\n left: 0;\n width: 25%;\n }\n 100% {\n left: 100%;\n width: 0;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Progress linear 主色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} {\n .mdui-progress {\n background-color: rgba(red(@@color), green(@@color), blue(@@color), .2);\n }\n .mdui-progress-determinate,\n .mdui-progress-indeterminate {\n .mdui-background-color(@colorName);\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}\n","/**\n * =============================================================================\n * ************ Progress Circular 圆形进度条 ************\n * =============================================================================\n */\n\n.mdui-spinner {\n display: inline-block;\n position: relative;\n width: 28px;\n height: 28px;\n animation: mdui-spinner 1568ms linear infinite;\n}\n\n@keyframes mdui-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n.mdui-spinner-layer {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n border-color: @color-default-500;\n opacity: 1;\n animation: mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-1 {\n border-color: @color-blue-400 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-1-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-2 {\n border-color: @color-red-500 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-2-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-3 {\n border-color: @color-yellow-600 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-3-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n.mdui-spinner-layer-4 {\n border-color: @color-green-500 !important;\n animation:\n mdui-spinner-layer-fill-unfill-rotate 5332ms @animation-curve-default infinite both,\n mdui-spinner-layer-4-fade-in-out 5332ms @animation-curve-default infinite both;\n}\n\n@keyframes mdui-spinner-layer-fill-unfill-rotate {\n 12.5% { transform: rotate(135deg); }\n 25% { transform: rotate(270deg); }\n 37.5% { transform: rotate(405deg); }\n 50% { transform: rotate(540deg); }\n 62.5% { transform: rotate(675deg); }\n 75% { transform: rotate(810deg); }\n 87.5% { transform: rotate(945deg); }\n to { transform: rotate(1080deg); }\n}\n\n@keyframes mdui-spinner-layer-1-fade-in-out {\n from { opacity: 1; }\n 25% { opacity: 1; }\n 26% { opacity: 0; }\n 89% { opacity: 0; }\n 90% { opacity: 1; }\n 100% { opacity: 1; }\n}\n\n@keyframes mdui-spinner-layer-2-fade-in-out {\n from { opacity: 0; }\n 15% { opacity: 0; }\n 25% { opacity: 1; }\n 50% { opacity: 1; }\n 51% { opacity: 0; }\n}\n\n@keyframes mdui-spinner-layer-3-fade-in-out {\n from { opacity: 0; }\n 40% { opacity: 0; }\n 50% { opacity: 1; }\n 75% { opacity: 1; }\n 76% { opacity: 0; }\n}\n\n@keyframes mdui-spinner-layer-4-fade-in-out {\n from { opacity: 0; }\n 65% { opacity: 0; }\n 75% { opacity: 1; }\n 90% { opacity: 1; }\n 100% { opacity: 0; }\n}\n\n.mdui-spinner-gap-patch {\n position: absolute;\n top: 0;\n left: 45%;\n width: 10%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n .mdui-spinner-circle {\n width: 1000%;\n left: -450%;\n box-sizing: border-box;\n }\n}\n\n.mdui-spinner-circle-clipper {\n display: inline-block;\n position: relative;\n width: 50%;\n height: 100%;\n overflow: hidden;\n border-color: inherit;\n\n .mdui-spinner-circle {\n width: 200%;\n height: 100%;\n border-width: 3px;\n border-style: solid;\n border-color: inherit;\n border-bottom-color: transparent !important;\n border-radius: 50%;\n animation: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n box-sizing: border-box;\n }\n\n &.mdui-spinner-left {\n float: left;\n\n .mdui-spinner-circle {\n left: 0;\n border-right-color: transparent !important;\n transform: rotate(129deg);\n animation: mdui-spinner-left-spin 1333ms @animation-curve-default infinite both;\n }\n }\n\n &.mdui-spinner-right {\n float: right;\n\n .mdui-spinner-circle {\n left: -100%;\n border-left-color: transparent !important;\n transform: rotate(-129deg);\n animation: mdui-spinner-right-spin 1333ms @animation-curve-default infinite both;\n }\n }\n}\n\n@keyframes mdui-spinner-left-spin {\n from { transform: rotate(130deg); }\n 50% { transform: rotate(-5deg); }\n to { transform: rotate(130deg); }\n}\n\n@keyframes mdui-spinner-right-spin {\n from { transform: rotate(-130deg); }\n 50% { transform: rotate(5deg); }\n to { transform: rotate(-130deg); }\n}\n\n\n/**\n * =============================================================================\n * ************ Spinner linear 主色 ************\n * =============================================================================\n */\n& {\n .loop-primary-theme(@counter-color) when (@counter-color > 0) {\n .loop-primary-theme((@counter-color - 1));\n @colorName: extract(@globalPrimaryColors, @counter-color);\n @color: 'color-@{colorName}-500';\n\n .mdui-theme-primary-@{colorName} {\n .mdui-spinner-layer {\n border-color: @@color;\n }\n }\n\n }\n .loop-primary-theme(length(@globalPrimaryColors));\n}","/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n\n/* 可扩展面板 */\n.mdui-panel {\n box-sizing: border-box;\n width: 100%;\n}\n\n/* 面板项 */\n.mdui-panel-item {\n background-color: #fff;\n color: @color-black-text;\n .mdui-divider-bottom-dark();\n will-change: margin;\n transition: margin .3s @animation-curve-default;\n .mdui-shadow(2);\n\n &:last-child {\n border-bottom: none;\n }\n}\n\n/* 面板头部 */\n.mdui-panel-item-header {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n position: relative;\n width: 100%;\n height: 48px;\n padding: 0 24px;\n font-size: 15px;\n cursor: pointer;\n will-change: height, background-color;\n transition: all .3s @animation-curve-default;\n .mdui-text-truncate();\n\n &:active {\n background-color: @color-grey-200;\n }\n}\n\n/* 面板项标题 */\n.mdui-panel-item-title {\n box-sizing: border-box;\n width: 36%;\n min-width: 36%;\n font-weight: 500;\n padding-right: 16px;\n .mdui-text-truncate();\n}\n\n/* 面板项内容 */\n.mdui-panel-item-summary {\n flex-grow: 1;\n box-sizing: border-box;\n padding-right: 16px;\n color: @color-black-secondary;\n .mdui-text-truncate();\n}\n\n/* 展开收起的图标 */\n.mdui-panel-item-arrow {\n position: absolute;\n right: 24px;\n top: 12px;\n color: @color-black-icon;\n user-select: none;\n will-change: transform, top;\n transform: rotate(0);\n transition: all .3s @animation-curve-default;\n}\n\n.mdui-panel-item-summary + .mdui-panel-item-arrow {\n position: relative;\n right: 0;\n top: 0 !important;\n}\n\n/* 面板项内容 */\n.mdui-panel-item-body {\n padding: 0 24px;\n height: 0;\n overflow: hidden;\n .mdui-clearfix();\n will-change: height;\n transition: height .3s @animation-curve-default;\n\n &:after {\n height: 16px;\n }\n}\n\n/* 面板项操作栏 */\n.mdui-panel-item-actions {\n display: block;\n width: 100%;\n text-align: right;\n margin: 16px -24px 0 -24px;\n padding: 16px 24px 0 24px;\n .mdui-divider-top-dark();\n\n .mdui-btn {\n margin-left: 8px;\n\n &:first-child {\n margin-left: 0;\n }\n }\n}\n\n/* 使打开项上下没有边距 */\n.mdui-panel-gapless {\n .mdui-shadow(2);\n\n .mdui-panel-item {\n .mdui-shadow(0);\n }\n\n .mdui-panel-item-open {\n margin-top: 0;\n margin-bottom: 0;\n }\n}\n\n/* 弹出面板 */\n.mdui-panel-popout {\n .mdui-panel-item-open {\n margin-left: -16px;\n margin-right: -16px;\n }\n}\n\n/* 打开状态的面板项 */\n.mdui-panel-item-open {\n height: auto;\n margin-top: 16px;\n margin-bottom: 16px;\n\n // 打开状态的面板头部更高\n &>.mdui-panel-item-header {\n height: 64px;\n\n .mdui-panel-item-arrow {\n transform: rotate(180deg);\n top: 20px;\n }\n }\n\n &>.mdui-panel-item-body {\n height: auto;\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Expansion panel dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-panel-item {\n background-color: @layout-dark-color-3;\n color: #fff;\n .mdui-divider-bottom-light();\n\n &:last-child {\n border-bottom: none;\n }\n }\n .mdui-panel-item-header {\n &:active {\n background-color: @color-grey-800;\n }\n }\n .mdui-panel-item-summary {\n color: @color-white-secondary;\n }\n .mdui-panel-item-arrow {\n color: @color-white-icon;\n }\n .mdui-panel-item-actions {\n .mdui-divider-top-light();\n }\n}","/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n\n// 普通菜单宽度基数\n@menu-simple-x: 56px;\n\n// 级联菜单宽度基数\n@menu-cascade-x: 64px;\n\n/* 菜单 */\n.mdui-menu {\n box-sizing: border-box;\n padding: 8px 0;\n margin: 0;\n font-size: 16px;\n .mdui-shadow(8);\n border-radius: 2px;\n width: @menu-simple-x * 3;\n background-color: #fff;\n color: @color-black-text;\n list-style: none;\n display: block;\n z-index: 99999;\n opacity: 0;\n will-change: transform, opacity, visibility;\n transition-property: transform, opacity, visibility;\n transition-duration: .3s;\n transition-timing-function: @animation-curve-linear-out-slow-in;\n\n visibility: hidden;\n transform: scale(0);\n position: fixed;\n\n // 简单菜单高度超出窗口高度时,使菜单边框和窗口保持一定距离,菜单内出现滚动条\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n\n // 菜单中的分隔线,默认上下有 8px 的外边距\n .mdui-divider {\n margin-top: 8px;\n margin-bottom: 8px;\n }\n}\n\n/* 打开状态的菜单 */\n.mdui-menu-open {\n visibility: visible;\n transform: scale(1);\n opacity: 1;\n}\n\n/* 关闭中的菜单 */\n.mdui-menu-closing {\n visibility: visible;\n transform: scale(1);\n opacity: 0;\n}\n\n/* 菜单项 */\n.mdui-menu-item {\n position: relative;\n\n &>a {\n position: relative;\n display: block;\n color: inherit;\n text-decoration: none;\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n user-select: none;\n .mdui-text-truncate();\n\n &:hover {\n background-color: @color-grey-200;\n }\n }\n\n // 子菜单默认隐藏,阴影更深\n &>.mdui-menu {\n position: absolute;\n .mdui-shadow(9);\n }\n\n // 禁用的菜单条目\n &[disabled] {\n &>a {\n cursor: default;\n color: @color-black-disabled !important;\n\n &:hover {\n background-color: inherit !important;\n }\n\n .mdui-icon {\n color: @color-black-icon-disabled;\n }\n }\n }\n}\n\n/* 激活状态的菜单项 */\n.mdui-menu-item-active {\n background-color: @color-grey-200;\n}\n\n/* 菜单中的图标 */\n.mdui-menu-item-icon {\n color: @color-black-icon;\n width: 40px;\n padding-right: 16px;\n box-sizing: border-box;\n display: inline-block;\n}\n\n/* 菜单中的辅助文本或图标 */\n.mdui-menu-item-helper {\n float: right;\n}\n\n/* 有子菜单的条目的图标 */\n.mdui-menu-item-more {\n float: right;\n width: 24px;\n height: 24px;\n margin: 4px 0;\n background-image: data-uri('image/svg+xml', './menu/svg/arrow_right_dark.svg');\n}\n\n\n/* 级联菜单 */\n.mdui-menu-cascade {\n padding: 16px 0;\n font-size: 15px;\n width: @menu-cascade-x * 5;\n\n // 级联菜单内部不出现滚动条\n overflow-y: visible;\n\n &>.mdui-menu-item {\n &>a {\n height: 32px;\n line-height: 32px;\n padding: 0 24px;\n }\n }\n}\n\n\n/**\n * =============================================================================\n * ************ Menu dark ************\n * =============================================================================\n */\n.mdui-theme-layout-dark when (@globalLayoutDark = true) {\n .mdui-menu {\n background-color: @layout-dark-color-4;\n color: #fff;\n }\n\n .mdui-menu-item {\n &>a {\n &:hover {\n background-color: @color-grey-700;\n }\n }\n\n &[disabled] {\n &>a {\n color: @color-white-disabled !important;\n\n .mdui-icon {\n color: @color-white-icon-disabled;\n }\n }\n }\n }\n\n .mdui-menu-item-active {\n background-color: @color-grey-700;\n }\n\n .mdui-menu-item-icon {\n color: @color-white-icon;\n }\n\n .mdui-menu-item-more {\n background-image: data-uri('image/svg+xml', './menu/svg/arrow_right_light.svg');\n }\n}\n"]} \ No newline at end of file diff --git a/libs/mdui/fonts/roboto/LICENSE.txt b/libs/mdui/fonts/roboto/LICENSE.txt new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/libs/mdui/fonts/roboto/LICENSE.txt @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/libs/mdui/fonts/roboto/Roboto-Black.woff b/libs/mdui/fonts/roboto/Roboto-Black.woff new file mode 100644 index 0000000..9b72779 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Black.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-Black.woff2 b/libs/mdui/fonts/roboto/Roboto-Black.woff2 new file mode 100644 index 0000000..9559f02 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Black.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff b/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff new file mode 100644 index 0000000..609bdf4 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff2 new file mode 100644 index 0000000..5cb417b Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-BlackItalic.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-Bold.woff b/libs/mdui/fonts/roboto/Roboto-Bold.woff new file mode 100644 index 0000000..93a1d5a Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Bold.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-Bold.woff2 b/libs/mdui/fonts/roboto/Roboto-Bold.woff2 new file mode 100644 index 0000000..715ac19 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Bold.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff b/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff new file mode 100644 index 0000000..f1d7598 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff2 new file mode 100644 index 0000000..c91e0f8 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-BoldItalic.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-Light.woff b/libs/mdui/fonts/roboto/Roboto-Light.woff new file mode 100644 index 0000000..404afba Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Light.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-Light.woff2 b/libs/mdui/fonts/roboto/Roboto-Light.woff2 new file mode 100644 index 0000000..5f26201 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Light.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-LightItalic.woff b/libs/mdui/fonts/roboto/Roboto-LightItalic.woff new file mode 100644 index 0000000..07117c5 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-LightItalic.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-LightItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-LightItalic.woff2 new file mode 100644 index 0000000..5fa7eed Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-LightItalic.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-Medium.woff b/libs/mdui/fonts/roboto/Roboto-Medium.woff new file mode 100644 index 0000000..b18e6b8 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Medium.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-Medium.woff2 b/libs/mdui/fonts/roboto/Roboto-Medium.woff2 new file mode 100644 index 0000000..f9f6913 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Medium.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff b/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff new file mode 100644 index 0000000..2be7d89 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff2 new file mode 100644 index 0000000..9b7b828 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-MediumItalic.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-Regular.woff b/libs/mdui/fonts/roboto/Roboto-Regular.woff new file mode 100644 index 0000000..2f53e7c Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Regular.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-Regular.woff2 b/libs/mdui/fonts/roboto/Roboto-Regular.woff2 new file mode 100644 index 0000000..1d1539e Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Regular.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff b/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff new file mode 100644 index 0000000..60f95dd Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff2 new file mode 100644 index 0000000..75495c3 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-RegularItalic.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-Thin.woff b/libs/mdui/fonts/roboto/Roboto-Thin.woff new file mode 100644 index 0000000..e115692 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Thin.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-Thin.woff2 b/libs/mdui/fonts/roboto/Roboto-Thin.woff2 new file mode 100644 index 0000000..a26400d Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-Thin.woff2 differ diff --git a/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff b/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff new file mode 100644 index 0000000..eab0271 Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff differ diff --git a/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff2 b/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff2 new file mode 100644 index 0000000..f00aafc Binary files /dev/null and b/libs/mdui/fonts/roboto/Roboto-ThinItalic.woff2 differ diff --git a/libs/mdui/icons/material-icons/LICENSE.txt b/libs/mdui/icons/material-icons/LICENSE.txt new file mode 100644 index 0000000..dc8853a --- /dev/null +++ b/libs/mdui/icons/material-icons/LICENSE.txt @@ -0,0 +1,393 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the "Licensor." Except for the limited purpose of indicating +that material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/libs/mdui/icons/material-icons/MaterialIcons-Regular.ijmap b/libs/mdui/icons/material-icons/MaterialIcons-Regular.ijmap new file mode 100644 index 0000000..d9f1d25 --- /dev/null +++ b/libs/mdui/icons/material-icons/MaterialIcons-Regular.ijmap @@ -0,0 +1 @@ +{"icons":{"e84d":{"name":"3d Rotation"},"eb3b":{"name":"Ac Unit"},"e190":{"name":"Access Alarm"},"e191":{"name":"Access Alarms"},"e192":{"name":"Access Time"},"e84e":{"name":"Accessibility"},"e914":{"name":"Accessible"},"e84f":{"name":"Account Balance"},"e850":{"name":"Account Balance Wallet"},"e851":{"name":"Account Box"},"e853":{"name":"Account Circle"},"e60e":{"name":"Adb"},"e145":{"name":"Add"},"e439":{"name":"Add A Photo"},"e193":{"name":"Add Alarm"},"e003":{"name":"Add Alert"},"e146":{"name":"Add Box"},"e147":{"name":"Add Circle"},"e148":{"name":"Add Circle Outline"},"e567":{"name":"Add Location"},"e854":{"name":"Add Shopping Cart"},"e39d":{"name":"Add To Photos"},"e05c":{"name":"Add To Queue"},"e39e":{"name":"Adjust"},"e630":{"name":"Airline Seat Flat"},"e631":{"name":"Airline Seat Flat Angled"},"e632":{"name":"Airline Seat Individual Suite"},"e633":{"name":"Airline Seat Legroom Extra"},"e634":{"name":"Airline Seat Legroom Normal"},"e635":{"name":"Airline Seat Legroom Reduced"},"e636":{"name":"Airline Seat Recline Extra"},"e637":{"name":"Airline Seat Recline Normal"},"e195":{"name":"Airplanemode Active"},"e194":{"name":"Airplanemode Inactive"},"e055":{"name":"Airplay"},"eb3c":{"name":"Airport Shuttle"},"e855":{"name":"Alarm"},"e856":{"name":"Alarm Add"},"e857":{"name":"Alarm Off"},"e858":{"name":"Alarm On"},"e019":{"name":"Album"},"eb3d":{"name":"All Inclusive"},"e90b":{"name":"All Out"},"e859":{"name":"Android"},"e85a":{"name":"Announcement"},"e5c3":{"name":"Apps"},"e149":{"name":"Archive"},"e5c4":{"name":"Arrow Back"},"e5db":{"name":"Arrow Downward"},"e5c5":{"name":"Arrow Drop Down"},"e5c6":{"name":"Arrow Drop Down Circle"},"e5c7":{"name":"Arrow Drop Up"},"e5c8":{"name":"Arrow Forward"},"e5d8":{"name":"Arrow Upward"},"e060":{"name":"Art Track"},"e85b":{"name":"Aspect Ratio"},"e85c":{"name":"Assessment"},"e85d":{"name":"Assignment"},"e85e":{"name":"Assignment Ind"},"e85f":{"name":"Assignment Late"},"e860":{"name":"Assignment Return"},"e861":{"name":"Assignment Returned"},"e862":{"name":"Assignment Turned In"},"e39f":{"name":"Assistant"},"e3a0":{"name":"Assistant Photo"},"e226":{"name":"Attach File"},"e227":{"name":"Attach Money"},"e2bc":{"name":"Attachment"},"e3a1":{"name":"Audiotrack"},"e863":{"name":"Autorenew"},"e01b":{"name":"Av Timer"},"e14a":{"name":"Backspace"},"e864":{"name":"Backup"},"e19c":{"name":"Battery Alert"},"e1a3":{"name":"Battery Charging Full"},"e1a4":{"name":"Battery Full"},"e1a5":{"name":"Battery Std"},"e1a6":{"name":"Battery Unknown"},"eb3e":{"name":"Beach Access"},"e52d":{"name":"Beenhere"},"e14b":{"name":"Block"},"e1a7":{"name":"Bluetooth"},"e60f":{"name":"Bluetooth Audio"},"e1a8":{"name":"Bluetooth Connected"},"e1a9":{"name":"Bluetooth Disabled"},"e1aa":{"name":"Bluetooth Searching"},"e3a2":{"name":"Blur Circular"},"e3a3":{"name":"Blur Linear"},"e3a4":{"name":"Blur Off"},"e3a5":{"name":"Blur On"},"e865":{"name":"Book"},"e866":{"name":"Bookmark"},"e867":{"name":"Bookmark Border"},"e228":{"name":"Border All"},"e229":{"name":"Border Bottom"},"e22a":{"name":"Border Clear"},"e22b":{"name":"Border Color"},"e22c":{"name":"Border Horizontal"},"e22d":{"name":"Border Inner"},"e22e":{"name":"Border Left"},"e22f":{"name":"Border Outer"},"e230":{"name":"Border Right"},"e231":{"name":"Border Style"},"e232":{"name":"Border Top"},"e233":{"name":"Border Vertical"},"e06b":{"name":"Branding Watermark"},"e3a6":{"name":"Brightness 1"},"e3a7":{"name":"Brightness 2"},"e3a8":{"name":"Brightness 3"},"e3a9":{"name":"Brightness 4"},"e3aa":{"name":"Brightness 5"},"e3ab":{"name":"Brightness 6"},"e3ac":{"name":"Brightness 7"},"e1ab":{"name":"Brightness Auto"},"e1ac":{"name":"Brightness High"},"e1ad":{"name":"Brightness Low"},"e1ae":{"name":"Brightness Medium"},"e3ad":{"name":"Broken Image"},"e3ae":{"name":"Brush"},"e6dd":{"name":"Bubble Chart"},"e868":{"name":"Bug Report"},"e869":{"name":"Build"},"e43c":{"name":"Burst Mode"},"e0af":{"name":"Business"},"eb3f":{"name":"Business Center"},"e86a":{"name":"Cached"},"e7e9":{"name":"Cake"},"e0b0":{"name":"Call"},"e0b1":{"name":"Call End"},"e0b2":{"name":"Call Made"},"e0b3":{"name":"Call Merge"},"e0b4":{"name":"Call Missed"},"e0e4":{"name":"Call Missed Outgoing"},"e0b5":{"name":"Call Received"},"e0b6":{"name":"Call Split"},"e06c":{"name":"Call To Action"},"e3af":{"name":"Camera"},"e3b0":{"name":"Camera Alt"},"e8fc":{"name":"Camera Enhance"},"e3b1":{"name":"Camera Front"},"e3b2":{"name":"Camera Rear"},"e3b3":{"name":"Camera Roll"},"e5c9":{"name":"Cancel"},"e8f6":{"name":"Card Giftcard"},"e8f7":{"name":"Card Membership"},"e8f8":{"name":"Card Travel"},"eb40":{"name":"Casino"},"e307":{"name":"Cast"},"e308":{"name":"Cast Connected"},"e3b4":{"name":"Center Focus Strong"},"e3b5":{"name":"Center Focus Weak"},"e86b":{"name":"Change History"},"e0b7":{"name":"Chat"},"e0ca":{"name":"Chat Bubble"},"e0cb":{"name":"Chat Bubble Outline"},"e5ca":{"name":"Check"},"e834":{"name":"Check Box"},"e835":{"name":"Check Box Outline Blank"},"e86c":{"name":"Check Circle"},"e5cb":{"name":"Chevron Left"},"e5cc":{"name":"Chevron Right"},"eb41":{"name":"Child Care"},"eb42":{"name":"Child Friendly"},"e86d":{"name":"Chrome Reader Mode"},"e86e":{"name":"Class"},"e14c":{"name":"Clear"},"e0b8":{"name":"Clear All"},"e5cd":{"name":"Close"},"e01c":{"name":"Closed Caption"},"e2bd":{"name":"Cloud"},"e2be":{"name":"Cloud Circle"},"e2bf":{"name":"Cloud Done"},"e2c0":{"name":"Cloud Download"},"e2c1":{"name":"Cloud Off"},"e2c2":{"name":"Cloud Queue"},"e2c3":{"name":"Cloud Upload"},"e86f":{"name":"Code"},"e3b6":{"name":"Collections"},"e431":{"name":"Collections Bookmark"},"e3b7":{"name":"Color Lens"},"e3b8":{"name":"Colorize"},"e0b9":{"name":"Comment"},"e3b9":{"name":"Compare"},"e915":{"name":"Compare Arrows"},"e30a":{"name":"Computer"},"e638":{"name":"Confirmation Number"},"e0d0":{"name":"Contact Mail"},"e0cf":{"name":"Contact Phone"},"e0ba":{"name":"Contacts"},"e14d":{"name":"Content Copy"},"e14e":{"name":"Content Cut"},"e14f":{"name":"Content Paste"},"e3ba":{"name":"Control Point"},"e3bb":{"name":"Control Point Duplicate"},"e90c":{"name":"Copyright"},"e150":{"name":"Create"},"e2cc":{"name":"Create New Folder"},"e870":{"name":"Credit Card"},"e3be":{"name":"Crop"},"e3bc":{"name":"Crop 16 9"},"e3bd":{"name":"Crop 3 2"},"e3bf":{"name":"Crop 5 4"},"e3c0":{"name":"Crop 7 5"},"e3c1":{"name":"Crop Din"},"e3c2":{"name":"Crop Free"},"e3c3":{"name":"Crop Landscape"},"e3c4":{"name":"Crop Original"},"e3c5":{"name":"Crop Portrait"},"e437":{"name":"Crop Rotate"},"e3c6":{"name":"Crop Square"},"e871":{"name":"Dashboard"},"e1af":{"name":"Data Usage"},"e916":{"name":"Date Range"},"e3c7":{"name":"Dehaze"},"e872":{"name":"Delete"},"e92b":{"name":"Delete Forever"},"e16c":{"name":"Delete Sweep"},"e873":{"name":"Description"},"e30b":{"name":"Desktop Mac"},"e30c":{"name":"Desktop Windows"},"e3c8":{"name":"Details"},"e30d":{"name":"Developer Board"},"e1b0":{"name":"Developer Mode"},"e335":{"name":"Device Hub"},"e1b1":{"name":"Devices"},"e337":{"name":"Devices Other"},"e0bb":{"name":"Dialer Sip"},"e0bc":{"name":"Dialpad"},"e52e":{"name":"Directions"},"e52f":{"name":"Directions Bike"},"e532":{"name":"Directions Boat"},"e530":{"name":"Directions Bus"},"e531":{"name":"Directions Car"},"e534":{"name":"Directions Railway"},"e566":{"name":"Directions Run"},"e533":{"name":"Directions Subway"},"e535":{"name":"Directions Transit"},"e536":{"name":"Directions Walk"},"e610":{"name":"Disc Full"},"e875":{"name":"Dns"},"e612":{"name":"Do Not Disturb"},"e611":{"name":"Do Not Disturb Alt"},"e643":{"name":"Do Not Disturb Off"},"e644":{"name":"Do Not Disturb On"},"e30e":{"name":"Dock"},"e7ee":{"name":"Domain"},"e876":{"name":"Done"},"e877":{"name":"Done All"},"e917":{"name":"Donut Large"},"e918":{"name":"Donut Small"},"e151":{"name":"Drafts"},"e25d":{"name":"Drag Handle"},"e613":{"name":"Drive Eta"},"e1b2":{"name":"Dvr"},"e3c9":{"name":"Edit"},"e568":{"name":"Edit Location"},"e8fb":{"name":"Eject"},"e0be":{"name":"Email"},"e63f":{"name":"Enhanced Encryption"},"e01d":{"name":"Equalizer"},"e000":{"name":"Error"},"e001":{"name":"Error Outline"},"e926":{"name":"Euro Symbol"},"e56d":{"name":"Ev Station"},"e878":{"name":"Event"},"e614":{"name":"Event Available"},"e615":{"name":"Event Busy"},"e616":{"name":"Event Note"},"e903":{"name":"Event Seat"},"e879":{"name":"Exit To App"},"e5ce":{"name":"Expand Less"},"e5cf":{"name":"Expand More"},"e01e":{"name":"Explicit"},"e87a":{"name":"Explore"},"e3ca":{"name":"Exposure"},"e3cb":{"name":"Exposure Neg 1"},"e3cc":{"name":"Exposure Neg 2"},"e3cd":{"name":"Exposure Plus 1"},"e3ce":{"name":"Exposure Plus 2"},"e3cf":{"name":"Exposure Zero"},"e87b":{"name":"Extension"},"e87c":{"name":"Face"},"e01f":{"name":"Fast Forward"},"e020":{"name":"Fast Rewind"},"e87d":{"name":"Favorite"},"e87e":{"name":"Favorite Border"},"e06d":{"name":"Featured Play List"},"e06e":{"name":"Featured Video"},"e87f":{"name":"Feedback"},"e05d":{"name":"Fiber Dvr"},"e061":{"name":"Fiber Manual Record"},"e05e":{"name":"Fiber New"},"e06a":{"name":"Fiber Pin"},"e062":{"name":"Fiber Smart Record"},"e2c4":{"name":"File Download"},"e2c6":{"name":"File Upload"},"e3d3":{"name":"Filter"},"e3d0":{"name":"Filter 1"},"e3d1":{"name":"Filter 2"},"e3d2":{"name":"Filter 3"},"e3d4":{"name":"Filter 4"},"e3d5":{"name":"Filter 5"},"e3d6":{"name":"Filter 6"},"e3d7":{"name":"Filter 7"},"e3d8":{"name":"Filter 8"},"e3d9":{"name":"Filter 9"},"e3da":{"name":"Filter 9 Plus"},"e3db":{"name":"Filter B And W"},"e3dc":{"name":"Filter Center Focus"},"e3dd":{"name":"Filter Drama"},"e3de":{"name":"Filter Frames"},"e3df":{"name":"Filter Hdr"},"e152":{"name":"Filter List"},"e3e0":{"name":"Filter None"},"e3e2":{"name":"Filter Tilt Shift"},"e3e3":{"name":"Filter Vintage"},"e880":{"name":"Find In Page"},"e881":{"name":"Find Replace"},"e90d":{"name":"Fingerprint"},"e5dc":{"name":"First Page"},"eb43":{"name":"Fitness Center"},"e153":{"name":"Flag"},"e3e4":{"name":"Flare"},"e3e5":{"name":"Flash Auto"},"e3e6":{"name":"Flash Off"},"e3e7":{"name":"Flash On"},"e539":{"name":"Flight"},"e904":{"name":"Flight Land"},"e905":{"name":"Flight Takeoff"},"e3e8":{"name":"Flip"},"e882":{"name":"Flip To Back"},"e883":{"name":"Flip To Front"},"e2c7":{"name":"Folder"},"e2c8":{"name":"Folder Open"},"e2c9":{"name":"Folder Shared"},"e617":{"name":"Folder Special"},"e167":{"name":"Font Download"},"e234":{"name":"Format Align Center"},"e235":{"name":"Format Align Justify"},"e236":{"name":"Format Align Left"},"e237":{"name":"Format Align Right"},"e238":{"name":"Format Bold"},"e239":{"name":"Format Clear"},"e23a":{"name":"Format Color Fill"},"e23b":{"name":"Format Color Reset"},"e23c":{"name":"Format Color Text"},"e23d":{"name":"Format Indent Decrease"},"e23e":{"name":"Format Indent Increase"},"e23f":{"name":"Format Italic"},"e240":{"name":"Format Line Spacing"},"e241":{"name":"Format List Bulleted"},"e242":{"name":"Format List Numbered"},"e243":{"name":"Format Paint"},"e244":{"name":"Format Quote"},"e25e":{"name":"Format Shapes"},"e245":{"name":"Format Size"},"e246":{"name":"Format Strikethrough"},"e247":{"name":"Format Textdirection L To R"},"e248":{"name":"Format Textdirection R To L"},"e249":{"name":"Format Underlined"},"e0bf":{"name":"Forum"},"e154":{"name":"Forward"},"e056":{"name":"Forward 10"},"e057":{"name":"Forward 30"},"e058":{"name":"Forward 5"},"eb44":{"name":"Free Breakfast"},"e5d0":{"name":"Fullscreen"},"e5d1":{"name":"Fullscreen Exit"},"e24a":{"name":"Functions"},"e927":{"name":"G Translate"},"e30f":{"name":"Gamepad"},"e021":{"name":"Games"},"e90e":{"name":"Gavel"},"e155":{"name":"Gesture"},"e884":{"name":"Get App"},"e908":{"name":"Gif"},"eb45":{"name":"Golf Course"},"e1b3":{"name":"Gps Fixed"},"e1b4":{"name":"Gps Not Fixed"},"e1b5":{"name":"Gps Off"},"e885":{"name":"Grade"},"e3e9":{"name":"Gradient"},"e3ea":{"name":"Grain"},"e1b8":{"name":"Graphic Eq"},"e3eb":{"name":"Grid Off"},"e3ec":{"name":"Grid On"},"e7ef":{"name":"Group"},"e7f0":{"name":"Group Add"},"e886":{"name":"Group Work"},"e052":{"name":"Hd"},"e3ed":{"name":"Hdr Off"},"e3ee":{"name":"Hdr On"},"e3f1":{"name":"Hdr Strong"},"e3f2":{"name":"Hdr Weak"},"e310":{"name":"Headset"},"e311":{"name":"Headset Mic"},"e3f3":{"name":"Healing"},"e023":{"name":"Hearing"},"e887":{"name":"Help"},"e8fd":{"name":"Help Outline"},"e024":{"name":"High Quality"},"e25f":{"name":"Highlight"},"e888":{"name":"Highlight Off"},"e889":{"name":"History"},"e88a":{"name":"Home"},"eb46":{"name":"Hot Tub"},"e53a":{"name":"Hotel"},"e88b":{"name":"Hourglass Empty"},"e88c":{"name":"Hourglass Full"},"e902":{"name":"Http"},"e88d":{"name":"Https"},"e3f4":{"name":"Image"},"e3f5":{"name":"Image Aspect Ratio"},"e0e0":{"name":"Import Contacts"},"e0c3":{"name":"Import Export"},"e912":{"name":"Important Devices"},"e156":{"name":"Inbox"},"e909":{"name":"Indeterminate Check Box"},"e88e":{"name":"Info"},"e88f":{"name":"Info Outline"},"e890":{"name":"Input"},"e24b":{"name":"Insert Chart"},"e24c":{"name":"Insert Comment"},"e24d":{"name":"Insert Drive File"},"e24e":{"name":"Insert Emoticon"},"e24f":{"name":"Insert Invitation"},"e250":{"name":"Insert Link"},"e251":{"name":"Insert Photo"},"e891":{"name":"Invert Colors"},"e0c4":{"name":"Invert Colors Off"},"e3f6":{"name":"Iso"},"e312":{"name":"Keyboard"},"e313":{"name":"Keyboard Arrow Down"},"e314":{"name":"Keyboard Arrow Left"},"e315":{"name":"Keyboard Arrow Right"},"e316":{"name":"Keyboard Arrow Up"},"e317":{"name":"Keyboard Backspace"},"e318":{"name":"Keyboard Capslock"},"e31a":{"name":"Keyboard Hide"},"e31b":{"name":"Keyboard Return"},"e31c":{"name":"Keyboard Tab"},"e31d":{"name":"Keyboard Voice"},"eb47":{"name":"Kitchen"},"e892":{"name":"Label"},"e893":{"name":"Label Outline"},"e3f7":{"name":"Landscape"},"e894":{"name":"Language"},"e31e":{"name":"Laptop"},"e31f":{"name":"Laptop Chromebook"},"e320":{"name":"Laptop Mac"},"e321":{"name":"Laptop Windows"},"e5dd":{"name":"Last Page"},"e895":{"name":"Launch"},"e53b":{"name":"Layers"},"e53c":{"name":"Layers Clear"},"e3f8":{"name":"Leak Add"},"e3f9":{"name":"Leak Remove"},"e3fa":{"name":"Lens"},"e02e":{"name":"Library Add"},"e02f":{"name":"Library Books"},"e030":{"name":"Library Music"},"e90f":{"name":"Lightbulb Outline"},"e919":{"name":"Line Style"},"e91a":{"name":"Line Weight"},"e260":{"name":"Linear Scale"},"e157":{"name":"Link"},"e438":{"name":"Linked Camera"},"e896":{"name":"List"},"e0c6":{"name":"Live Help"},"e639":{"name":"Live Tv"},"e53f":{"name":"Local Activity"},"e53d":{"name":"Local Airport"},"e53e":{"name":"Local Atm"},"e540":{"name":"Local Bar"},"e541":{"name":"Local Cafe"},"e542":{"name":"Local Car Wash"},"e543":{"name":"Local Convenience Store"},"e556":{"name":"Local Dining"},"e544":{"name":"Local Drink"},"e545":{"name":"Local Florist"},"e546":{"name":"Local Gas Station"},"e547":{"name":"Local Grocery Store"},"e548":{"name":"Local Hospital"},"e549":{"name":"Local Hotel"},"e54a":{"name":"Local Laundry Service"},"e54b":{"name":"Local Library"},"e54c":{"name":"Local Mall"},"e54d":{"name":"Local Movies"},"e54e":{"name":"Local Offer"},"e54f":{"name":"Local Parking"},"e550":{"name":"Local Pharmacy"},"e551":{"name":"Local Phone"},"e552":{"name":"Local Pizza"},"e553":{"name":"Local Play"},"e554":{"name":"Local Post Office"},"e555":{"name":"Local Printshop"},"e557":{"name":"Local See"},"e558":{"name":"Local Shipping"},"e559":{"name":"Local Taxi"},"e7f1":{"name":"Location City"},"e1b6":{"name":"Location Disabled"},"e0c7":{"name":"Location Off"},"e0c8":{"name":"Location On"},"e1b7":{"name":"Location Searching"},"e897":{"name":"Lock"},"e898":{"name":"Lock Open"},"e899":{"name":"Lock Outline"},"e3fc":{"name":"Looks"},"e3fb":{"name":"Looks 3"},"e3fd":{"name":"Looks 4"},"e3fe":{"name":"Looks 5"},"e3ff":{"name":"Looks 6"},"e400":{"name":"Looks One"},"e401":{"name":"Looks Two"},"e028":{"name":"Loop"},"e402":{"name":"Loupe"},"e16d":{"name":"Low Priority"},"e89a":{"name":"Loyalty"},"e158":{"name":"Mail"},"e0e1":{"name":"Mail Outline"},"e55b":{"name":"Map"},"e159":{"name":"Markunread"},"e89b":{"name":"Markunread Mailbox"},"e322":{"name":"Memory"},"e5d2":{"name":"Menu"},"e252":{"name":"Merge Type"},"e0c9":{"name":"Message"},"e029":{"name":"Mic"},"e02a":{"name":"Mic None"},"e02b":{"name":"Mic Off"},"e618":{"name":"Mms"},"e253":{"name":"Mode Comment"},"e254":{"name":"Mode Edit"},"e263":{"name":"Monetization On"},"e25c":{"name":"Money Off"},"e403":{"name":"Monochrome Photos"},"e7f2":{"name":"Mood"},"e7f3":{"name":"Mood Bad"},"e619":{"name":"More"},"e5d3":{"name":"More Horiz"},"e5d4":{"name":"More Vert"},"e91b":{"name":"Motorcycle"},"e323":{"name":"Mouse"},"e168":{"name":"Move To Inbox"},"e02c":{"name":"Movie"},"e404":{"name":"Movie Creation"},"e43a":{"name":"Movie Filter"},"e6df":{"name":"Multiline Chart"},"e405":{"name":"Music Note"},"e063":{"name":"Music Video"},"e55c":{"name":"My Location"},"e406":{"name":"Nature"},"e407":{"name":"Nature People"},"e408":{"name":"Navigate Before"},"e409":{"name":"Navigate Next"},"e55d":{"name":"Navigation"},"e569":{"name":"Near Me"},"e1b9":{"name":"Network Cell"},"e640":{"name":"Network Check"},"e61a":{"name":"Network Locked"},"e1ba":{"name":"Network Wifi"},"e031":{"name":"New Releases"},"e16a":{"name":"Next Week"},"e1bb":{"name":"Nfc"},"e641":{"name":"No Encryption"},"e0cc":{"name":"No Sim"},"e033":{"name":"Not Interested"},"e06f":{"name":"Note"},"e89c":{"name":"Note Add"},"e7f4":{"name":"Notifications"},"e7f7":{"name":"Notifications Active"},"e7f5":{"name":"Notifications None"},"e7f6":{"name":"Notifications Off"},"e7f8":{"name":"Notifications Paused"},"e90a":{"name":"Offline Pin"},"e63a":{"name":"Ondemand Video"},"e91c":{"name":"Opacity"},"e89d":{"name":"Open In Browser"},"e89e":{"name":"Open In New"},"e89f":{"name":"Open With"},"e7f9":{"name":"Pages"},"e8a0":{"name":"Pageview"},"e40a":{"name":"Palette"},"e925":{"name":"Pan Tool"},"e40b":{"name":"Panorama"},"e40c":{"name":"Panorama Fish Eye"},"e40d":{"name":"Panorama Horizontal"},"e40e":{"name":"Panorama Vertical"},"e40f":{"name":"Panorama Wide Angle"},"e7fa":{"name":"Party Mode"},"e034":{"name":"Pause"},"e035":{"name":"Pause Circle Filled"},"e036":{"name":"Pause Circle Outline"},"e8a1":{"name":"Payment"},"e7fb":{"name":"People"},"e7fc":{"name":"People Outline"},"e8a2":{"name":"Perm Camera Mic"},"e8a3":{"name":"Perm Contact Calendar"},"e8a4":{"name":"Perm Data Setting"},"e8a5":{"name":"Perm Device Information"},"e8a6":{"name":"Perm Identity"},"e8a7":{"name":"Perm Media"},"e8a8":{"name":"Perm Phone Msg"},"e8a9":{"name":"Perm Scan Wifi"},"e7fd":{"name":"Person"},"e7fe":{"name":"Person Add"},"e7ff":{"name":"Person Outline"},"e55a":{"name":"Person Pin"},"e56a":{"name":"Person Pin Circle"},"e63b":{"name":"Personal Video"},"e91d":{"name":"Pets"},"e0cd":{"name":"Phone"},"e324":{"name":"Phone Android"},"e61b":{"name":"Phone Bluetooth Speaker"},"e61c":{"name":"Phone Forwarded"},"e61d":{"name":"Phone In Talk"},"e325":{"name":"Phone Iphone"},"e61e":{"name":"Phone Locked"},"e61f":{"name":"Phone Missed"},"e620":{"name":"Phone Paused"},"e326":{"name":"Phonelink"},"e0db":{"name":"Phonelink Erase"},"e0dc":{"name":"Phonelink Lock"},"e327":{"name":"Phonelink Off"},"e0dd":{"name":"Phonelink Ring"},"e0de":{"name":"Phonelink Setup"},"e410":{"name":"Photo"},"e411":{"name":"Photo Album"},"e412":{"name":"Photo Camera"},"e43b":{"name":"Photo Filter"},"e413":{"name":"Photo Library"},"e432":{"name":"Photo Size Select Actual"},"e433":{"name":"Photo Size Select Large"},"e434":{"name":"Photo Size Select Small"},"e415":{"name":"Picture As Pdf"},"e8aa":{"name":"Picture In Picture"},"e911":{"name":"Picture In Picture Alt"},"e6c4":{"name":"Pie Chart"},"e6c5":{"name":"Pie Chart Outlined"},"e55e":{"name":"Pin Drop"},"e55f":{"name":"Place"},"e037":{"name":"Play Arrow"},"e038":{"name":"Play Circle Filled"},"e039":{"name":"Play Circle Outline"},"e906":{"name":"Play For Work"},"e03b":{"name":"Playlist Add"},"e065":{"name":"Playlist Add Check"},"e05f":{"name":"Playlist Play"},"e800":{"name":"Plus One"},"e801":{"name":"Poll"},"e8ab":{"name":"Polymer"},"eb48":{"name":"Pool"},"e0ce":{"name":"Portable Wifi Off"},"e416":{"name":"Portrait"},"e63c":{"name":"Power"},"e336":{"name":"Power Input"},"e8ac":{"name":"Power Settings New"},"e91e":{"name":"Pregnant Woman"},"e0df":{"name":"Present To All"},"e8ad":{"name":"Print"},"e645":{"name":"Priority High"},"e80b":{"name":"Public"},"e255":{"name":"Publish"},"e8ae":{"name":"Query Builder"},"e8af":{"name":"Question Answer"},"e03c":{"name":"Queue"},"e03d":{"name":"Queue Music"},"e066":{"name":"Queue Play Next"},"e03e":{"name":"Radio"},"e837":{"name":"Radio Button Checked"},"e836":{"name":"Radio Button Unchecked"},"e560":{"name":"Rate Review"},"e8b0":{"name":"Receipt"},"e03f":{"name":"Recent Actors"},"e91f":{"name":"Record Voice Over"},"e8b1":{"name":"Redeem"},"e15a":{"name":"Redo"},"e5d5":{"name":"Refresh"},"e15b":{"name":"Remove"},"e15c":{"name":"Remove Circle"},"e15d":{"name":"Remove Circle Outline"},"e067":{"name":"Remove From Queue"},"e417":{"name":"Remove Red Eye"},"e928":{"name":"Remove Shopping Cart"},"e8fe":{"name":"Reorder"},"e040":{"name":"Repeat"},"e041":{"name":"Repeat One"},"e042":{"name":"Replay"},"e059":{"name":"Replay 10"},"e05a":{"name":"Replay 30"},"e05b":{"name":"Replay 5"},"e15e":{"name":"Reply"},"e15f":{"name":"Reply All"},"e160":{"name":"Report"},"e8b2":{"name":"Report Problem"},"e56c":{"name":"Restaurant"},"e561":{"name":"Restaurant Menu"},"e8b3":{"name":"Restore"},"e929":{"name":"Restore Page"},"e0d1":{"name":"Ring Volume"},"e8b4":{"name":"Room"},"eb49":{"name":"Room Service"},"e418":{"name":"Rotate 90 Degrees Ccw"},"e419":{"name":"Rotate Left"},"e41a":{"name":"Rotate Right"},"e920":{"name":"Rounded Corner"},"e328":{"name":"Router"},"e921":{"name":"Rowing"},"e0e5":{"name":"Rss Feed"},"e642":{"name":"Rv Hookup"},"e562":{"name":"Satellite"},"e161":{"name":"Save"},"e329":{"name":"Scanner"},"e8b5":{"name":"Schedule"},"e80c":{"name":"School"},"e1be":{"name":"Screen Lock Landscape"},"e1bf":{"name":"Screen Lock Portrait"},"e1c0":{"name":"Screen Lock Rotation"},"e1c1":{"name":"Screen Rotation"},"e0e2":{"name":"Screen Share"},"e623":{"name":"Sd Card"},"e1c2":{"name":"Sd Storage"},"e8b6":{"name":"Search"},"e32a":{"name":"Security"},"e162":{"name":"Select All"},"e163":{"name":"Send"},"e811":{"name":"Sentiment Dissatisfied"},"e812":{"name":"Sentiment Neutral"},"e813":{"name":"Sentiment Satisfied"},"e814":{"name":"Sentiment Very Dissatisfied"},"e815":{"name":"Sentiment Very Satisfied"},"e8b8":{"name":"Settings"},"e8b9":{"name":"Settings Applications"},"e8ba":{"name":"Settings Backup Restore"},"e8bb":{"name":"Settings Bluetooth"},"e8bd":{"name":"Settings Brightness"},"e8bc":{"name":"Settings Cell"},"e8be":{"name":"Settings Ethernet"},"e8bf":{"name":"Settings Input Antenna"},"e8c0":{"name":"Settings Input Component"},"e8c1":{"name":"Settings Input Composite"},"e8c2":{"name":"Settings Input Hdmi"},"e8c3":{"name":"Settings Input Svideo"},"e8c4":{"name":"Settings Overscan"},"e8c5":{"name":"Settings Phone"},"e8c6":{"name":"Settings Power"},"e8c7":{"name":"Settings Remote"},"e1c3":{"name":"Settings System Daydream"},"e8c8":{"name":"Settings Voice"},"e80d":{"name":"Share"},"e8c9":{"name":"Shop"},"e8ca":{"name":"Shop Two"},"e8cb":{"name":"Shopping Basket"},"e8cc":{"name":"Shopping Cart"},"e261":{"name":"Short Text"},"e6e1":{"name":"Show Chart"},"e043":{"name":"Shuffle"},"e1c8":{"name":"Signal Cellular 4 Bar"},"e1cd":{"name":"Signal Cellular Connected No Internet 4 Bar"},"e1ce":{"name":"Signal Cellular No Sim"},"e1cf":{"name":"Signal Cellular Null"},"e1d0":{"name":"Signal Cellular Off"},"e1d8":{"name":"Signal Wifi 4 Bar"},"e1d9":{"name":"Signal Wifi 4 Bar Lock"},"e1da":{"name":"Signal Wifi Off"},"e32b":{"name":"Sim Card"},"e624":{"name":"Sim Card Alert"},"e044":{"name":"Skip Next"},"e045":{"name":"Skip Previous"},"e41b":{"name":"Slideshow"},"e068":{"name":"Slow Motion Video"},"e32c":{"name":"Smartphone"},"eb4a":{"name":"Smoke Free"},"eb4b":{"name":"Smoking Rooms"},"e625":{"name":"Sms"},"e626":{"name":"Sms Failed"},"e046":{"name":"Snooze"},"e164":{"name":"Sort"},"e053":{"name":"Sort By Alpha"},"eb4c":{"name":"Spa"},"e256":{"name":"Space Bar"},"e32d":{"name":"Speaker"},"e32e":{"name":"Speaker Group"},"e8cd":{"name":"Speaker Notes"},"e92a":{"name":"Speaker Notes Off"},"e0d2":{"name":"Speaker Phone"},"e8ce":{"name":"Spellcheck"},"e838":{"name":"Star"},"e83a":{"name":"Star Border"},"e839":{"name":"Star Half"},"e8d0":{"name":"Stars"},"e0d3":{"name":"Stay Current Landscape"},"e0d4":{"name":"Stay Current Portrait"},"e0d5":{"name":"Stay Primary Landscape"},"e0d6":{"name":"Stay Primary Portrait"},"e047":{"name":"Stop"},"e0e3":{"name":"Stop Screen Share"},"e1db":{"name":"Storage"},"e8d1":{"name":"Store"},"e563":{"name":"Store Mall Directory"},"e41c":{"name":"Straighten"},"e56e":{"name":"Streetview"},"e257":{"name":"Strikethrough S"},"e41d":{"name":"Style"},"e5d9":{"name":"Subdirectory Arrow Left"},"e5da":{"name":"Subdirectory Arrow Right"},"e8d2":{"name":"Subject"},"e064":{"name":"Subscriptions"},"e048":{"name":"Subtitles"},"e56f":{"name":"Subway"},"e8d3":{"name":"Supervisor Account"},"e049":{"name":"Surround Sound"},"e0d7":{"name":"Swap Calls"},"e8d4":{"name":"Swap Horiz"},"e8d5":{"name":"Swap Vert"},"e8d6":{"name":"Swap Vertical Circle"},"e41e":{"name":"Switch Camera"},"e41f":{"name":"Switch Video"},"e627":{"name":"Sync"},"e628":{"name":"Sync Disabled"},"e629":{"name":"Sync Problem"},"e62a":{"name":"System Update"},"e8d7":{"name":"System Update Alt"},"e8d8":{"name":"Tab"},"e8d9":{"name":"Tab Unselected"},"e32f":{"name":"Tablet"},"e330":{"name":"Tablet Android"},"e331":{"name":"Tablet Mac"},"e420":{"name":"Tag Faces"},"e62b":{"name":"Tap And Play"},"e564":{"name":"Terrain"},"e262":{"name":"Text Fields"},"e165":{"name":"Text Format"},"e0d8":{"name":"Textsms"},"e421":{"name":"Texture"},"e8da":{"name":"Theaters"},"e8db":{"name":"Thumb Down"},"e8dc":{"name":"Thumb Up"},"e8dd":{"name":"Thumbs Up Down"},"e62c":{"name":"Time To Leave"},"e422":{"name":"Timelapse"},"e922":{"name":"Timeline"},"e425":{"name":"Timer"},"e423":{"name":"Timer 10"},"e424":{"name":"Timer 3"},"e426":{"name":"Timer Off"},"e264":{"name":"Title"},"e8de":{"name":"Toc"},"e8df":{"name":"Today"},"e8e0":{"name":"Toll"},"e427":{"name":"Tonality"},"e913":{"name":"Touch App"},"e332":{"name":"Toys"},"e8e1":{"name":"Track Changes"},"e565":{"name":"Traffic"},"e570":{"name":"Train"},"e571":{"name":"Tram"},"e572":{"name":"Transfer Within A Station"},"e428":{"name":"Transform"},"e8e2":{"name":"Translate"},"e8e3":{"name":"Trending Down"},"e8e4":{"name":"Trending Flat"},"e8e5":{"name":"Trending Up"},"e429":{"name":"Tune"},"e8e6":{"name":"Turned In"},"e8e7":{"name":"Turned In Not"},"e333":{"name":"Tv"},"e169":{"name":"Unarchive"},"e166":{"name":"Undo"},"e5d6":{"name":"Unfold Less"},"e5d7":{"name":"Unfold More"},"e923":{"name":"Update"},"e1e0":{"name":"Usb"},"e8e8":{"name":"Verified User"},"e258":{"name":"Vertical Align Bottom"},"e259":{"name":"Vertical Align Center"},"e25a":{"name":"Vertical Align Top"},"e62d":{"name":"Vibration"},"e070":{"name":"Video Call"},"e071":{"name":"Video Label"},"e04a":{"name":"Video Library"},"e04b":{"name":"Videocam"},"e04c":{"name":"Videocam Off"},"e338":{"name":"Videogame Asset"},"e8e9":{"name":"View Agenda"},"e8ea":{"name":"View Array"},"e8eb":{"name":"View Carousel"},"e8ec":{"name":"View Column"},"e42a":{"name":"View Comfy"},"e42b":{"name":"View Compact"},"e8ed":{"name":"View Day"},"e8ee":{"name":"View Headline"},"e8ef":{"name":"View List"},"e8f0":{"name":"View Module"},"e8f1":{"name":"View Quilt"},"e8f2":{"name":"View Stream"},"e8f3":{"name":"View Week"},"e435":{"name":"Vignette"},"e8f4":{"name":"Visibility"},"e8f5":{"name":"Visibility Off"},"e62e":{"name":"Voice Chat"},"e0d9":{"name":"Voicemail"},"e04d":{"name":"Volume Down"},"e04e":{"name":"Volume Mute"},"e04f":{"name":"Volume Off"},"e050":{"name":"Volume Up"},"e0da":{"name":"Vpn Key"},"e62f":{"name":"Vpn Lock"},"e1bc":{"name":"Wallpaper"},"e002":{"name":"Warning"},"e334":{"name":"Watch"},"e924":{"name":"Watch Later"},"e42c":{"name":"Wb Auto"},"e42d":{"name":"Wb Cloudy"},"e42e":{"name":"Wb Incandescent"},"e436":{"name":"Wb Iridescent"},"e430":{"name":"Wb Sunny"},"e63d":{"name":"Wc"},"e051":{"name":"Web"},"e069":{"name":"Web Asset"},"e16b":{"name":"Weekend"},"e80e":{"name":"Whatshot"},"e1bd":{"name":"Widgets"},"e63e":{"name":"Wifi"},"e1e1":{"name":"Wifi Lock"},"e1e2":{"name":"Wifi Tethering"},"e8f9":{"name":"Work"},"e25b":{"name":"Wrap Text"},"e8fa":{"name":"Youtube Searched For"},"e8ff":{"name":"Zoom In"},"e900":{"name":"Zoom Out"},"e56b":{"name":"Zoom Out Map"}}} \ No newline at end of file diff --git a/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff b/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff new file mode 100644 index 0000000..b648a3e Binary files /dev/null and b/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff differ diff --git a/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff2 b/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff2 new file mode 100644 index 0000000..9fa2112 Binary files /dev/null and b/libs/mdui/icons/material-icons/MaterialIcons-Regular.woff2 differ diff --git a/libs/mdui/js/mdui.js b/libs/mdui/js/mdui.js new file mode 100644 index 0000000..420ef8b --- /dev/null +++ b/libs/mdui/js/mdui.js @@ -0,0 +1,7542 @@ +/*! + * mdui v0.4.3 (https://mdui.org) + * Copyright 2016-2019 zdhxiong + * Licensed under MIT + */ +/* jshint ignore:start */ +;(function(global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.mdui = factory()); +}(this, (function() { + 'use strict'; + + /* jshint ignore:end */ + var mdui = {}; + + /** + * ============================================================================= + * ************ 浏览器兼容性问题修复 ************ + * ============================================================================= + */ + + /** + * requestAnimationFrame + * cancelAnimationFrame + */ + (function () { + var lastTime = 0; + + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window.webkitRequestAnimationFrame; + window.cancelAnimationFrame = window.webkitCancelAnimationFrame; + } + + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = function (callback, element) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16.7 - (currTime - lastTime)); + + var id = window.setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + + lastTime = currTime + timeToCall; + return id; + }; + } + + if (!window.cancelAnimationFrame) { + window.cancelAnimationFrame = function (id) { + clearTimeout(id); + }; + } + })(); + + + /** + * JQ 1.0.0 (https://github.com/zdhxiong/mdui.JQ#readme) + * Copyright 2018-2018 zdhxiong + * Licensed under MIT + */ + var $ = (function () { + 'use strict'; + + var JQ = function JQ(arr) { + var self = this; + + for (var i = 0; i < arr.length; i += 1) { + self[i] = arr[i]; + } + + self.length = arr.length; + + return this; + }; + + function $(selector) { + var arr = []; + + if (!selector) { + return new JQ(arr); + } + + if (selector instanceof JQ) { + return selector; + } + + if (typeof selector === 'string') { + var html = selector.trim(); + + if (html[0] === '<' && html[html.length - 1] === '>') { + // 创建 HTML 字符串 + var toCreate = 'div'; + + if (html.indexOf(':~]/) + ? [document.getElementById(selector.slice(1))] + : document.querySelectorAll(selector); + + for (var i$1 = 0; i$1 < elems.length; i$1 += 1) { + if (elems[i$1]) { + arr.push(elems[i$1]); + } + } + } + } else if (typeof selector === 'function') { + // function + return $(document).ready(selector); + } else if (selector.nodeType || selector === window || selector === document) { + // Node + arr.push(selector); + } else if (selector.length > 0 && selector[0].nodeType) { + // NodeList + for (var i$2 = 0; i$2 < selector.length; i$2 += 1) { + arr.push(selector[i$2]); + } + } + + return new JQ(arr); + } + + $.fn = JQ.prototype; + + function extend() { + var this$1 = this; + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + if (!args.length) { + return this; + } + + // $.extend(obj) + if (args.length === 1) { + Object.keys(args[0]).forEach(function (prop) { + this$1[prop] = args[0][prop]; + }); + + return this; + } + + // $.extend({}, defaults[, obj]) + var target = args.shift(); + + var loop = function ( i ) { + Object.keys(args[i]).forEach(function (prop) { + target[prop] = args[i][prop]; + }); + }; + + for (var i = 0; i < args.length; i += 1) loop( i ); + + return target; + } + + $.fn.extend = extend; + $.extend = extend; + + /** + * 判断一个节点名 + * @param ele + * @param name + * @returns {boolean} + */ + function isNodeName(ele, name) { + return ele.nodeName && ele.nodeName.toLowerCase() === name.toLowerCase(); + } + + /** + * 除去 null 后的 object 类型 + * @param obj + * @returns {*|boolean} + */ + function isObjectLike(obj) { + return typeof obj === 'object' && obj !== null; + } + + function isFunction(fn) { + return typeof fn === 'function'; + } + + function isString(obj) { + return typeof obj === 'string'; + } + + function isWindow(win) { + return win && win === win.window; + } + + function isDocument(doc) { + return doc && doc.nodeType === doc.DOCUMENT_NODE; + } + + function isArrayLike(obj) { + return typeof obj.length === 'number'; + } + + /** + * 循环数组或对象 + * @param obj + * @param callback + * @returns {*} + */ + function each(obj, callback) { + if (isArrayLike(obj)) { + for (var i = 0; i < obj.length; i += 1) { + if (callback.call(obj[i], i, obj[i]) === false) { + return obj; + } + } + } else { + var keys = Object.keys(obj); + for (var i$1 = 0; i$1 < keys.length; i$1 += 1) { + if (callback.call(obj[keys[i$1]], keys[i$1], obj[keys[i$1]]) === false) { + return obj; + } + } + } + + return obj; + } + + /** + * 遍历数组或对象,通过函数返回一个新的数组或对象,null 和 undefined 将被过滤掉。 + * @param elems + * @param callback + * @returns {Array} + */ + function map(elems, callback) { + var ref; + + var value; + var ret = []; + + each(elems, function (i, elem) { + value = callback(elem, i); + + if (value !== null && value !== undefined) { + ret.push(value); + } + }); + + return (ref = []).concat.apply(ref, ret); + } + + /** + * 把对象合并到第一个参数中,并返回第一个参数 + * @param first + * @param second + * @returns {*} + */ + function merge(first, second) { + each(second, function (i, val) { + first.push(val); + }); + + return first; + } + + /** + * 删除数组中重复元素 + * @param arr {Array} + * @returns {Array} + */ + function unique(arr) { + var result = []; + + for (var i = 0; i < arr.length; i += 1) { + if (result.indexOf(arr[i]) === -1) { + result.push(arr[i]); + } + } + + return result; + } + + var elementDisplay = {}; + + /** + * 获取元素的默认 display 样式值,用于 .show() 方法 + * @param nodeName + * @returns {*} + */ + function defaultDisplay(nodeName) { + var element; + var display; + + if (!elementDisplay[nodeName]) { + element = document.createElement(nodeName); + document.body.appendChild(element); + display = getComputedStyle(element, '').getPropertyValue('display'); + element.parentNode.removeChild(element); + if (display === 'none') { + display = 'block'; + } + + elementDisplay[nodeName] = display; + } + + return elementDisplay[nodeName]; + } + + $.extend({ + each: each, + merge: merge, + unique: unique, + map: map, + + /** + * 一个 DOM 节点是否包含另一个 DOM 节点 + * @param parent {Node} 父节点 + * @param node {Node} 子节点 + * @returns {Boolean} + */ + contains: function contains(parent, node) { + if (parent && !node) { + return document.documentElement.contains(parent); + } + + return parent !== node && parent.contains(node); + }, + + /** + * 将数组或对象序列化 + * @param obj + * @returns {String} + */ + param: function param(obj) { + if (!isObjectLike(obj)) { + return ''; + } + + var args = []; + + function destructure(key, value) { + var keyTmp; + + if (isObjectLike(value)) { + each(value, function (i, v) { + if (Array.isArray(value) && !isObjectLike(v)) { + keyTmp = ''; + } else { + keyTmp = i; + } + + destructure((key + "[" + keyTmp + "]"), v); + }); + } else { + if (value !== null && value !== '') { + keyTmp = "=" + (encodeURIComponent(value)); + } else { + keyTmp = ''; + } + + args.push(encodeURIComponent(key) + keyTmp); + } + } + + each(obj, function (key, value) { + destructure(key, value); + }); + + return args.join('&'); + }, + }); + + $.fn.extend({ + /** + * 遍历对象 + * @param callback {Function} + * @return {JQ} + */ + each: function each$1(callback) { + return each(this, callback); + }, + + /** + * 通过遍历集合中的节点对象,通过函数返回一个新的对象,null 或 undefined 将被过滤掉。 + * @param callback {Function} + * @returns {JQ} + */ + map: function map$1(callback) { + return new JQ(map(this, function (el, i) { return callback.call(el, i, el); })); + }, + + /** + * 获取指定 DOM 元素,没有 index 参数时,获取所有 DOM 的数组 + * @param index {Number=} + * @returns {Node|Array} + */ + get: function get(index) { + return index === undefined + ? [].slice.call(this) + : this[index >= 0 ? index : index + this.length]; + }, + + /** + * array中提取的方法。从start开始,如果end 指出。提取不包含end位置的元素。 + * @param args {start, end} + * @returns {JQ} + */ + slice: function slice() { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + return new JQ([].slice.apply(this, args)); + }, + + /** + * 筛选元素集合 + * @param selector {String|JQ|Node|Function} + * @returns {JQ} + */ + filter: function filter(selector) { + if (isFunction(selector)) { + return this.map(function (index, ele) { return (selector.call(ele, index, ele) ? ele : undefined); }); + } + + var $selector = $(selector); + + return this.map(function (index, ele) { return ($selector.index(ele) > -1 ? ele : undefined); }); + }, + + /** + * 从元素集合中删除指定的元素 + * @param selector {String|Node|JQ|Function} + * @return {JQ} + */ + not: function not(selector) { + var $excludes = this.filter(selector); + + return this.map(function (index, ele) { return ($excludes.index(ele) > -1 ? undefined : ele); }); + }, + + /** + * 获取元素相对于 document 的偏移 + * @returns {Object} + */ + offset: function offset() { + if (this[0]) { + var offset = this[0].getBoundingClientRect(); + + return { + left: offset.left + window.pageXOffset, + top: offset.top + window.pageYOffset, + width: offset.width, + height: offset.height, + }; + } + + return null; + }, + + /** + * 返回最近的用于定位的父元素 + * @returns {*|JQ} + */ + offsetParent: function offsetParent() { + return this.map(function () { + var parent = this.offsetParent; + + while (parent && $(parent).css('position') === 'static') { + parent = parent.offsetParent; + } + + return parent || document.documentElement; + }); + }, + + /** + * 获取元素相对于父元素的偏移 + * @return {Object} + */ + position: function position() { + var self = this; + + if (!self[0]) { + return null; + } + + var offsetParent; + var offset; + var parentOffset = { + top: 0, + left: 0, + }; + + if (self.css('position') === 'fixed') { + offset = self[0].getBoundingClientRect(); + } else { + offsetParent = self.offsetParent(); + offset = self.offset(); + if (!isNodeName(offsetParent[0], 'html')) { + parentOffset = offsetParent.offset(); + } + + parentOffset = { + top: parentOffset.top + offsetParent.css('borderTopWidth'), + left: parentOffset.left + offsetParent.css('borderLeftWidth'), + }; + } + + return { + top: offset.top - parentOffset.top - self.css('marginTop'), + left: offset.left - parentOffset.left - self.css('marginLeft'), + width: offset.width, + height: offset.height, + }; + }, + + /** + * 显示指定元素 + * @returns {JQ} + */ + show: function show() { + return this.each(function () { + if (this.style.display === 'none') { + this.style.display = ''; + } + + if (window.getComputedStyle(this, '').getPropertyValue('display') === 'none') { + this.style.display = defaultDisplay(this.nodeName); + } + }); + }, + + /** + * 隐藏指定元素 + * @returns {JQ} + */ + hide: function hide() { + return this.each(function () { + this.style.display = 'none'; + }); + }, + + /** + * 切换元素的显示状态 + * @returns {JQ} + */ + toggle: function toggle() { + return this.each(function () { + this.style.display = this.style.display === 'none' ? '' : 'none'; + }); + }, + + /** + * 是否含有指定的 CSS 类 + * @param className {String} + * @returns {boolean} + */ + hasClass: function hasClass(className) { + if (!this[0] || !className) { + return false; + } + + return this[0].classList.contains(className); + }, + + /** + * 移除指定属性 + * @param attr {String} + * @returns {JQ} + */ + removeAttr: function removeAttr(attr) { + return this.each(function () { + this.removeAttribute(attr); + }); + }, + + /** + * 删除属性值 + * @param name {String} + * @returns {JQ} + */ + removeProp: function removeProp(name) { + return this.each(function () { + try { + delete this[name]; + } catch (e) { + // empty + } + }); + }, + + /** + * 获取当前对象中第n个元素 + * @param index {Number} + * @returns {JQ} + */ + eq: function eq(index) { + var ret = index === -1 + ? this.slice(index) + : this.slice(index, +index + 1); + + return new JQ(ret); + }, + + /** + * 获取对象中第一个元素 + * @returns {JQ} + */ + first: function first() { + return this.eq(0); + }, + + /** + * 获取对象中最后一个元素 + * @returns {JQ} + */ + last: function last() { + return this.eq(-1); + }, + + /** + * 获取一个元素的位置。 + * 当 elem 参数没有给出时,返回当前元素在兄弟节点中的位置。 + * 有给出了 elem 参数时,返回 elem 元素在当前对象中的位置 + * @param elem {Selector|Node=} + * @returns {Number} + */ + index: function index(elem) { + if (!elem) { + // 获取当前 JQ 对象的第一个元素在同辈元素中的位置 + return this + .eq(0) + .parent() + .children() + .get() + .indexOf(this[0]); + } + + if (isString(elem)) { + // 返回当前 JQ 对象的第一个元素在指定选择器对应的元素中的位置 + return $(elem) + .eq(0) + .parent() + .children() + .get() + .indexOf(this[0]); + } + + // 返回指定元素在当前 JQ 对象中的位置 + return this + .get() + .indexOf(elem); + }, + + /** + * 根据选择器、DOM元素或 JQ 对象来检测匹配元素集合, + * 如果其中至少有一个元素符合这个给定的表达式就返回true + * @param selector {String|Node|NodeList|Array|JQ|Window} + * @returns boolean + */ + is: function is(selector) { + var self = this[0]; + + if (!self || selector === undefined || selector === null) { + return false; + } + + if (isString(selector)) { + if (self === document || self === window) { + return false; + } + + var matchesSelector = self.matches + || self.matchesSelector + || self.webkitMatchesSelector + || self.mozMatchesSelector + || self.oMatchesSelector + || self.msMatchesSelector; + + return matchesSelector.call(self, selector); + } + + if (selector === document || selector === window) { + return self === selector; + } + + if (selector.nodeType || isArrayLike(selector)) { + var $compareWith = selector.nodeType ? [selector] : selector; + + for (var i = 0; i < $compareWith.length; i += 1) { + if ($compareWith[i] === self) { + return true; + } + } + + return false; + } + + return false; + }, + + /** + * 根据 CSS 选择器找到后代节点的集合 + * @param selector {String} + * @returns {JQ} + */ + find: function find(selector) { + var foundElements = []; + + this.each(function (i, _this) { + var nodeType = _this.nodeType; + + if (nodeType !== 1 && nodeType !== 9) { + // 不是 element 和 document 则跳过 + return; + } + + merge(foundElements, _this.querySelectorAll(selector)); + }); + + return new JQ(foundElements); + }, + + /** + * 找到直接子元素的元素集合 + * @param selector {String=} + * @returns {JQ} + */ + children: function children(selector) { + var children = []; + + this.each(function (_, _this) { + each(_this.childNodes, function (__, childNode) { + if (childNode.nodeType !== 1) { + return; + } + + if (!selector || (selector && $(childNode).is(selector))) { + children.push(childNode); + } + }); + }); + + return new JQ(unique(children)); + }, + + /** + * 保留含有指定子元素的元素,去掉不含有指定子元素的元素 + * @param selector {String|Node|JQ|NodeList|Array} + * @return {JQ} + */ + has: function has(selector) { + var $targets = isString(selector) ? this.find(selector) : $(selector); + var length = $targets.length; + + return this.filter(function () { + for (var i = 0; i < length; i += 1) { + if ($.contains(this, $targets[i])) { + return true; + } + } + + return false; + }); + }, + + /** + * 取得同辈元素的集合 + * @param selector {String=} + * @returns {JQ} + */ + siblings: function siblings(selector) { + return this.prevAll(selector).add(this.nextAll(selector)); + }, + + /** + * 返回首先匹配到的父节点,包含父节点 + * @param selector {String} + * @returns {JQ} + */ + closest: function closest(selector) { + var self = this; + + if (!self.is(selector)) { + self = self.parents(selector).eq(0); + } + + return self; + }, + + /** + * 删除所有匹配的元素 + * @returns {JQ} + */ + remove: function remove() { + return this.each(function (i, _this) { + if (_this.parentNode) { + _this.parentNode.removeChild(_this); + } + }); + }, + + /** + * 添加匹配的元素到当前对象中 + * @param selector {String|JQ} + * @returns {JQ} + */ + add: function add(selector) { + return new JQ(unique(merge(this.get(), $(selector)))); + }, + + /** + * 删除子节点 + * @returns {JQ} + */ + empty: function empty() { + return this.each(function () { + this.innerHTML = ''; + }); + }, + + /** + * 通过深度克隆来复制集合中的所有元素。 + * (通过原生 cloneNode 方法深度克隆来复制集合中的所有元素。此方法不会有数据和事件处理程序复制到新的元素。这点和jquery中利用一个参数来确定是否复制数据和事件处理不相同。) + * @returns {JQ} + */ + clone: function clone() { + return this.map(function () { + return this.cloneNode(true); + }); + }, + + /** + * 用新元素替换当前元素 + * @param newContent {String|Node|NodeList|JQ} + * @returns {JQ} + */ + replaceWith: function replaceWith(newContent) { + return this.before(newContent).remove(); + }, + + /** + * 将表单元素的值组合成键值对数组 + * @returns {Array} + */ + serializeArray: function serializeArray() { + var result = []; + var elem = this[0]; + + if (!elem || !elem.elements) { + return result; + } + + $([].slice.call(elem.elements)).each(function () { + var $elem = $(this); + var type = $elem.attr('type'); + if ( + this.nodeName.toLowerCase() !== 'fieldset' + && !this.disabled + && ['submit', 'reset', 'button'].indexOf(type) === -1 + && (['radio', 'checkbox'].indexOf(type) === -1 || this.checked) + ) { + result.push({ + name: $elem.attr('name'), + value: $elem.val(), + }); + } + }); + + return result; + }, + + /** + * 将表单元素或对象序列化 + * @returns {String} + */ + serialize: function serialize() { + var result = []; + + each(this.serializeArray(), function (i, elem) { + result.push(((encodeURIComponent(elem.name)) + "=" + (encodeURIComponent(elem.value)))); + }); + + return result.join('&'); + }, + }); + + /** + * val - 获取或设置元素的值 + * @param value {String=} + * @return {*|JQ} + */ + /** + * html - 获取或设置元素的 HTML + * @param value {String=} + * @return {*|JQ} + */ + /** + * text - 获取或设置元素的内容 + * @param value {String=} + * @return {*|JQ} + */ + each(['val', 'html', 'text'], function (nameIndex, name) { + var props = { + 0: 'value', + 1: 'innerHTML', + 2: 'textContent', + }; + + var defaults = { + 0: undefined, + 1: undefined, + 2: null, + }; + + $.fn[name] = function (value) { + if (value === undefined) { + // 获取值 + return this[0] ? this[0][props[nameIndex]] : defaults[nameIndex]; + } + + // 设置值 + return this.each(function (i, elem) { + elem[props[nameIndex]] = value; + }); + }; + }); + + /** + * attr - 获取或设置元素的属性值 + * @param {name|props|key,value=} + * @return {String|JQ} + */ + /** + * prop - 获取或设置元素的属性值 + * @param {name|props|key,value=} + * @return {String|JQ} + */ + /** + * css - 获取或设置元素的样式 + * @param {name|props|key,value=} + * @return {String|JQ} + */ + each(['attr', 'prop', 'css'], function (nameIndex, name) { + function set(elem, key, value) { + if (nameIndex === 0) { + elem.setAttribute(key, value); + } else if (nameIndex === 1) { + elem[key] = value; + } else { + elem.style[key] = value; + } + } + + function get(elem, key) { + if (!elem) { + return undefined; + } + + if (nameIndex === 0) { + return elem.getAttribute(key); + } + + if (nameIndex === 1) { + return elem[key]; + } + + return window.getComputedStyle(elem, null).getPropertyValue(key); + } + + $.fn[name] = function (key, value) { + var argLength = arguments.length; + + if (argLength === 1 && isString(key)) { + // 获取值 + return get(this[0], key); + } + + // 设置值 + return this.each(function (i, elem) { + if (argLength === 2) { + set(elem, key, value); + } else { + each(key, function (k, v) { + set(elem, k, v); + }); + } + }); + }; + }); + + /** + * addClass - 添加 CSS 类,多个类名用空格分割 + * @param className {String} + * @return {JQ} + */ + /** + * removeClass - 移除 CSS 类,多个类名用空格分割 + * @param className {String} + * @return {JQ} + */ + /** + * toggleClass - 切换 CSS 类名,多个类名用空格分割 + * @param className {String} + * @return {JQ} + */ + each(['add', 'remove', 'toggle'], function (nameIndex, name) { + $.fn[(name + "Class")] = function (className) { + if (!className) { + return this; + } + + var classes = className.split(' '); + + return this.each(function (i, elem) { + each(classes, function (j, cls) { + elem.classList[name](cls); + }); + }); + }; + }); + + /** + * width - 获取元素的宽度 + * @return {Number} + */ + /** + * height - 获取元素的高度 + * @return {Number} + */ + each({ + Width: 'width', + Height: 'height', + }, function (prop, name) { + $.fn[name] = function (val) { + if (val === undefined) { + // 获取 + var elem = this[0]; + + if (isWindow(elem)) { + return elem[("inner" + prop)]; + } + + if (isDocument(elem)) { + return elem.documentElement[("scroll" + prop)]; + } + + var $elem = $(elem); + + // IE10、IE11 在 box-sizing:border-box 时,不会包含 padding 和 border,这里进行修复 + var IEFixValue = 0; + var isWidth = name === 'width'; + if ('ActiveXObject' in window) { // 判断是 IE 浏览器 + if ($elem.css('box-sizing') === 'border-box') { + IEFixValue = parseFloat($elem.css(("padding-" + (isWidth ? 'left' : 'top')))) + + parseFloat($elem.css(("padding-" + ((isWidth ? 'right' : 'bottom'))))) + + parseFloat($elem.css(("border-" + (isWidth ? 'left' : 'top') + "-width"))) + + parseFloat($elem.css(("border-" + (isWidth ? 'right' : 'bottom') + "-width"))); + } + } + + return parseFloat($(elem).css(name)) + IEFixValue; + } + + // 设置 + /* eslint no-restricted-globals: 0 */ + if (!isNaN(Number(val)) && val !== '') { + val += 'px'; + } + + return this.css(name, val); + }; + }); + + /** + * innerWidth - 获取元素的宽度,包含内边距 + * @return {Number} + */ + /** + * innerHeight - 获取元素的高度,包含内边距 + * @return {Number} + */ + each({ + Width: 'width', + Height: 'height', + }, function (prop, name) { + $.fn[("inner" + prop)] = function () { + var value = this[name](); + var $elem = $(this[0]); + + if ($elem.css('box-sizing') !== 'border-box') { + value += parseFloat($elem.css(("padding-" + (name === 'width' ? 'left' : 'top')))); + value += parseFloat($elem.css(("padding-" + (name === 'width' ? 'right' : 'bottom')))); + } + + return value; + }; + }); + + function dir(nodes, selector, nameIndex, node) { + var ret = []; + var elem; + + nodes.each(function (j, _this) { + elem = _this[node]; + while (elem) { + if (nameIndex === 2) { + // prevUntil + if (!selector || (selector && $(elem).is(selector))) { + break; + } + + ret.push(elem); + } else if (nameIndex === 0) { + // prev + if (!selector || (selector && $(elem).is(selector))) { + ret.push(elem); + } + + break; + } else if (!selector || (selector && $(elem).is(selector))) { + // prevAll + ret.push(elem); + } + + elem = elem[node]; + } + }); + + return new JQ(unique(ret)); + } + + /** + * prev - 取得前一个匹配的元素 + * @param selector {String=} + * @return {JQ} + */ + /** + * prevAll - 取得前面所有匹配的元素 + * @param selector {String=} + * @return {JQ} + */ + /** + * prevUntil - 取得前面的所有元素,直到遇到匹配的元素,不包含匹配的元素 + * @param selector {String=} + * @return {JQ} + */ + each(['', 'All', 'Until'], function (nameIndex, name) { + $.fn[("prev" + name)] = function (selector) { + // prevAll、prevUntil 需要把元素的顺序倒序处理,以便和 jQuery 的结果一致 + var $nodes = nameIndex === 0 ? this : $(this.get().reverse()); + + return dir($nodes, selector, nameIndex, 'previousElementSibling'); + }; + }); + + /** + * next - 取得后一个匹配的元素 + * @param selector {String=} + * @return {JQ} + */ + /** + * nextAll - 取得后面所有匹配的元素 + * @param selector {String=} + * @return {JQ} + */ + /** + * nextUntil - 取得后面所有匹配的元素,直到遇到匹配的元素,不包含匹配的元素 + * @param selector {String=} + * @return {JQ} + */ + each(['', 'All', 'Until'], function (nameIndex, name) { + $.fn[("next" + name)] = function (selector) { + return dir(this, selector, nameIndex, 'nextElementSibling'); + }; + }); + + /** + * parent - 取得匹配的直接父元素 + * @param selector {String=} + * @return {JQ} + */ + /** + * parents - 取得所有匹配的父元素 + * @param selector {String=} + * @return {JQ} + */ + /** + * parentUntil - 取得所有的父元素,直到遇到匹配的元素,不包含匹配的元素 + * @param selector {String=} + * @return {JQ} + */ + each(['', 's', 'sUntil'], function (nameIndex, name) { + $.fn[("parent" + name)] = function (selector) { + // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致 + var $nodes = nameIndex === 0 ? this : $(this.get().reverse()); + + return dir($nodes, selector, nameIndex, 'parentNode'); + }; + }); + + /** + * append - 在元素内部追加内容 + * @param newChild {String|Node|NodeList|JQ} + * @return {JQ} + */ + /** + * prepend - 在元素内部前置内容 + * @param newChild {String|Node|NodeList|JQ} + * @return {JQ} + */ + each(['append', 'prepend'], function (nameIndex, name) { + $.fn[name] = function (newChild) { + var newChilds; + var copyByClone = this.length > 1; + + if (isString(newChild) && (newChild[0] !== '<' || newChild[newChild.length - 1] !== '>')) { + var tempDiv = document.createElement('div'); + tempDiv.innerHTML = newChild; + newChilds = [].slice.call(tempDiv.childNodes); + } else { + newChilds = $(newChild).get(); + } + + if (nameIndex === 1) { + // prepend + newChilds.reverse(); + } + + return this.each(function (i, _this) { + each(newChilds, function (j, child) { + // 一个元素要同时追加到多个元素中,需要先复制一份,然后追加 + if (copyByClone && i > 0) { + child = child.cloneNode(true); + } + + if (nameIndex === 0) { + // append + _this.appendChild(child); + } else { + // prepend + _this.insertBefore(child, _this.childNodes[0]); + } + }); + }); + }; + }); + + /** + * insertBefore - 插入到指定元素的前面 + * @param selector {String|Node|NodeList|JQ} + * @return {JQ} + */ + /** + * insertAfter - 插入到指定元素的后面 + * @param selector {String|Node|NodeList|JQ} + * @return {JQ} + */ + each(['insertBefore', 'insertAfter'], function (nameIndex, name) { + $.fn[name] = function (selector) { + var $elem = $(selector); + + return this.each(function (i, _this) { + $elem.each(function (j, elem) { + elem.parentNode.insertBefore( + $elem.length === 1 ? _this : _this.cloneNode(true), + nameIndex === 0 ? elem : elem.nextSibling + ); + }); + }); + }; + }); + + /** + * appendTo - 追加到指定元素内容 + * @param selector {String|Node|NodeList|JQ} + * @return {JQ} + */ + /** + * prependTo - 前置到指定元素内部 + * @param selector {String|Node|NodeList|JQ} + * @return {JQ} + */ + /** + * before - 插入到指定元素前面 + * @param selector {String|Node|NodeList|JQ} + * @return {JQ} + */ + /** + * after - 插入到指定元素后面 + * @param selector {String|Node|NodeList|JQ} + * @return {JQ} + */ + /** + * replaceAll - 替换掉指定元素 + * @param selector {String|Node|NodeList|JQ} + * @return {JQ} + */ + each({ + appendTo: 'append', + prependTo: 'prepend', + before: 'insertBefore', + after: 'insertAfter', + replaceAll: 'replaceWith', + }, function (name, original) { + $.fn[name] = function (selector) { + $(selector)[original](this); + return this; + }; + }); + + var dataNS = 'mduiElementDataStorage'; + + $.extend({ + /** + * 在指定元素上存储数据,或从指定元素上读取数据 + * @param elem 必须, DOM 元素 + * @param key 必须,键名 + * @param value 可选,值 + */ + data: function data(elem, key, value) { + var data = {}; + + if (value !== undefined) { + // 根据 key、value 设置值 + data[key] = value; + } else if (isObjectLike(key)) { + // 根据键值对设置值 + data = key; + } else if (key === undefined) { + // 获取所有值 + var result = {}; + + each(elem.attributes, function (i, attribute) { + var name = attribute.name; + + if (name.indexOf('data-') === 0) { + var prop = name.slice(5).replace(/-./g, function (u) { return u.charAt(1).toUpperCase(); }); + + result[prop] = attribute.value; + } + }); + + if (elem[dataNS]) { + each(elem[dataNS], function (k, v) { + result[k] = v; + }); + } + + return result; + } else if (elem[dataNS] && (key in elem[dataNS])) { + // 获取指定值 + return elem[dataNS][key]; + } else { + // 从 data- 中获取指定值 + var dataKey = elem.getAttribute(("data-" + key)); + + if (dataKey) { + return dataKey; + } + + return undefined; + } + + // 设置值 + if (!elem[dataNS]) { + elem[dataNS] = {}; + } + + each(data, function (k, v) { + elem[dataNS][k] = v; + }); + + return undefined; + }, + + /** + * 移除指定元素上存放的数据 + * @param elem 必须,DOM 元素 + * @param key 必须,键名 + */ + removeData: function removeData(elem, key) { + if (elem[dataNS] && elem[dataNS][key]) { + elem[dataNS][key] = null; + delete elem[dataNS][key]; + } + }, + }); + + $.fn.extend({ + /** + * 在元素上读取或设置数据 + * @param key 必须 + * @param value + * @returns {*} + */ + data: function data(key, value) { + if (value === undefined) { + if (isObjectLike(key)) { + // 同时设置多个值 + return this.each(function (i, elem) { + $.data(elem, key); + }); + } + + if (this[0]) { + // 获取值 + return $.data(this[0], key); + } + + return undefined; + } + + // 设置值 + return this.each(function (i, elem) { + $.data(elem, key, value); + }); + }, + + /** + * 移除元素上存储的数据 + * @param key 必须 + * @returns {*} + */ + removeData: function removeData(key) { + return this.each(function (i, elem) { + $.removeData(elem, key); + }); + }, + }); + + !function(){try{return new e("test")}catch(e){}var e=function(e,t){t=t||{bubbles:!1,cancelable:!1};var n=document.createEvent("MouseEvent");return n.initMouseEvent(e,t.bubbles,t.cancelable,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n};e.prototype=Event.prototype,window.MouseEvent=e;}(); + + !function(){function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}"function"!=typeof window.CustomEvent&&(t.prototype=window.Event.prototype,window.CustomEvent=t);}(); + + // 存储事件 + var handlers = { + // i: { // 元素ID + // j: { // 事件ID + // e: 事件名 + // fn: 事件处理函数 + // i: 事件ID + // proxy: + // sel: 选择器 + // } + // } + }; + + // 元素ID + var mduiElementId = 1; + + function fnFalse() { + return false; + } + + /** + * 为元素赋予一个唯一的ID + * @param element + * @returns {number|*} + */ + function getElementId(element) { + if (!element.mduiElementId) { + mduiElementId += 1; + element.mduiElementId = mduiElementId; + } + + return element.mduiElementId; + } + + /** + * 获取匹配的事件 + * @param element + * @param eventName + * @param func + * @param selector + * @returns {Array} + */ + function getHandlers(element, eventName, func, selector) { + return (handlers[getElementId(element)] || []).filter(function (handler) { return handler + && (!eventName || handler.e === eventName) + && (!func || handler.fn.toString() === func.toString()) + && (!selector || handler.sel === selector); }); + } + + /** + * 添加事件监听 + * @param element + * @param eventName + * @param func + * @param data + * @param selector + */ + function add(element, eventName, func, data, selector) { + var elementId = getElementId(element); + + if (!handlers[elementId]) { + handlers[elementId] = []; + } + + // 传入 data.useCapture 来设置 useCapture: true + var useCapture = false; + if (isObjectLike(data) && data.useCapture) { + useCapture = true; + } + + eventName.split(' ').forEach(function (event) { + var handler = { + e: event, + fn: func, + sel: selector, + i: handlers[elementId].length, + }; + + function callFn(e, elem) { + // 因为鼠标事件模拟事件的 detail 属性是只读的,因此在 e._detail 中存储参数 + /* eslint no-underscore-dangle: 0 */ + var result = func.apply(elem, e._detail === undefined ? [e] : [e].concat(e._detail)); + + if (result === false) { + e.preventDefault(); + e.stopPropagation(); + } + } + + function proxyfn(e) { + e._data = data; + + if (selector) { + // 事件代理 + $(element) + .find(selector) + .get() + .reverse() + .forEach(function (elem) { + if (elem === e.target || $.contains(elem, e.target)) { + callFn(e, elem); + } + }); + } else { + // 不使用事件代理 + callFn(e, element); + } + } + + handler.proxy = proxyfn; + handlers[elementId].push(handler); + element.addEventListener(handler.e, proxyfn, useCapture); + }); + } + + /** + * 移除事件监听 + * @param element + * @param eventName + * @param func + * @param selector + */ + function remove(element, eventName, func, selector) { + (eventName || '').split(' ').forEach(function (event) { + getHandlers(element, event, func, selector).forEach(function (handler) { + delete handlers[getElementId(element)][handler.i]; + element.removeEventListener(handler.e, handler.proxy, false); + }); + }); + } + + $.fn.extend({ + /** + * DOM 加载完毕后调用的函数 + * @param callback + * @returns {ready} + */ + ready: function ready(callback) { + if (/complete|loaded|interactive/.test(document.readyState) && document.body) { + callback($); + } else { + document.addEventListener('DOMContentLoaded', function () { + callback($); + }, false); + } + + return this; + }, + + /** + * 绑定事件 + * + * $().on({eventName: fn}, selector, data); + * $().on({eventName: fn}, selector) + * $().on({eventName: fn}) + * $().on(eventName, selector, data, fn); + * $().on(eventName, selector, fn); + * $().on(eventName, data, fn); + * $().on(eventName, fn); + * $().on(eventName, false); + * + * @param eventName + * @param selector + * @param data + * @param callback + * @param one 是否是 one 方法,只在 JQ 内部使用 + * @returns + */ + on: function on(eventName, selector, data, callback, one) { + var self = this; + + // 默认 + // $().on(event, selector, data, callback) + + // event 使用 事件:函数 键值对 + // event = { + // 'event1': callback1, + // 'event2': callback2 + // } + // + // $().on(event, selector, data) + if (eventName && !isString(eventName)) { + each(eventName, function (type, fn) { + self.on(type, selector, data, fn); + }); + + return self; + } + + // selector 不存在 + // $().on(event, data, callback) + if (!isString(selector) && !isFunction(callback) && callback !== false) { + callback = data; + data = selector; + selector = undefined; + } + + // data 不存在 + // $().on(event, callback) + if (isFunction(data) || data === false) { + callback = data; + data = undefined; + } + + // callback 为 false + // $().on(event, false) + if (callback === false) { + callback = fnFalse; + } + + if (one === 1) { + var origCallback = callback; + callback = function () { + self.off(eventName, selector, callback); + /* eslint prefer-rest-params: 0 */ + return origCallback.apply(this, arguments); + }; + } + + return this.each(function () { + add(this, eventName, callback, data, selector); + }); + }, + + /** + * 绑定事件,只触发一次 + * @param eventName + * @param selector + * @param data + * @param callback + */ + one: function one(eventName, selector, data, callback) { + var self = this; + + if (!isString(eventName)) { + each(eventName, function (type, fn) { + type.split(' ').forEach(function (eName) { + self.on(eName, selector, data, fn, 1); + }); + }); + } else { + eventName.split(' ').forEach(function (eName) { + self.on(eName, selector, data, callback, 1); + }); + } + + return this; + }, + + /** + * 取消绑定事件 + * + * $().off(eventName, selector); + * $().off(eventName, callback); + * $().off(eventName, false); + * + */ + off: function off(eventName, selector, callback) { + var self = this; + + // event 使用 事件:函数 键值对 + // event = { + // 'event1': callback1, + // 'event2': callback2 + // } + // + // $().off(event, selector) + if (eventName && !isString(eventName)) { + each(eventName, function (type, fn) { + self.off(type, selector, fn); + }); + + return self; + } + + // selector 不存在 + // $().off(event, callback) + if (!isString(selector) && !isFunction(callback) && callback !== false) { + callback = selector; + selector = undefined; + } + + // callback 为 false + // $().off(event, false) + if (callback === false) { + callback = fnFalse; + } + + return self.each(function () { + remove(this, eventName, callback, selector); + }); + }, + + /** + * 触发一个事件 + * @param eventName + * @param data + * @returns {*|JQ} + */ + trigger: function trigger(eventName, data) { + var isMouseEvent = ['click', 'mousedown', 'mouseup', 'mousemove'].indexOf(eventName) > -1; + var evt; + + if (isMouseEvent) { + // Note: MouseEvent 无法传入 detail 参数 + evt = new MouseEvent(eventName, { + bubbles: true, + cancelable: true, + }); + } else { + evt = new CustomEvent(eventName, { + detail: data, + bubbles: true, + cancelable: true, + }); + } + + evt._detail = data; + + return this.each(function () { + this.dispatchEvent(evt); + }); + }, + }); + + var globalOptions = {}; + var jsonpID = 0; + + // 全局事件名 + var ajaxEvent = { + ajaxStart: 'start.mdui.ajax', + ajaxSuccess: 'success.mdui.ajax', + ajaxError: 'error.mdui.ajax', + ajaxComplete: 'complete.mdui.ajax', + }; + + /** + * 判断此请求方法是否通过查询字符串提交参数 + * @param method 请求方法,大写 + * @returns {boolean} + */ + function isQueryStringData(method) { + return ['GET', 'HEAD'].indexOf(method) >= 0; + } + + /** + * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ? + * @param url + * @param query 参数 key=value + * @returns {string} + */ + function appendQuery(url, query) { + return ((url + "&" + query)).replace(/[&?]{1,2}/, '?'); + } + + $.extend({ + + /** + * 为 ajax 请求设置全局配置参数 + * @param options + */ + ajaxSetup: function ajaxSetup(options) { + $.extend(globalOptions, options || {}); + }, + + /** + * 发送 ajax 请求 + * @param options + */ + ajax: function ajax(options) { + // 配置参数 + var defaults = { + // 请求方式 + method: 'GET', + // 请求的数据,查询字符串或对象 + data: false, + // 是否把数据转换为查询字符串发送,为 false 时不进行自动转换。 + processData: true, + // 是否为异步请求 + async: true, + // 是否从缓存中读取,只对 GET/HEAD 请求有效,dataType 为 jsonp 时为 false + cache: true, + // HTTP 访问认证的用户名 + username: '', + // HTTP 访问认证的密码 + password: '', + // 一个键值对,随着请求一起发送 + headers: {}, + // 设置 XHR 对象 + xhrFields: {}, + // 一个 HTTP 代码和函数的对象 + statusCode: {}, + // 预期服务器返回的数据类型 text、json、jsonp + dataType: 'text', + // jsonp 请求的回调函数名称 + jsonp: 'callback', + // (string 或 Function)使用指定的回调函数名代替自动生成的回调函数名 + jsonpCallback: function () { + jsonpID += 1; + + return ("mduijsonp_" + (Date.now()) + "_" + jsonpID); + }, + // 发送信息至服务器时内容编码类型 + contentType: 'application/x-www-form-urlencoded', + // 设置请求超时时间(毫秒) + timeout: 0, + // 是否在 document 上触发全局 ajax 事件 + global: true, + // beforeSend: function (XMLHttpRequest) 请求发送前执行,返回 false 可取消本次 ajax 请求 + // success: function (data, textStatus, XMLHttpRequest) 请求成功时调用 + // error: function (XMLHttpRequest, textStatus) 请求失败时调用 + // statusCode: {404: function ()} + // 200-299之间的状态码表示成功,参数和 success 回调一样;其他状态码表示失败,参数和 error 回调一样 + // complete: function (XMLHttpRequest, textStatus) 请求完成后回调函数 (请求成功或失败之后均调用) + }; + + // 回调函数 + var callbacks = [ + 'beforeSend', + 'success', + 'error', + 'statusCode', + 'complete' ]; + + // 是否已取消请求 + var isCanceled = false; + + // 保存全局配置 + var globals = globalOptions; + + // 事件参数 + var eventParams = {}; + + // 合并全局参数到默认参数,全局回调函数不覆盖 + each(globals, function (key, value) { + if (callbacks.indexOf(key) < 0) { + defaults[key] = value; + } + }); + + // 参数合并 + options = $.extend({}, defaults, options); + + /** + * 触发全局事件 + * @param event string 事件名 + * @param xhr XMLHttpRequest 事件参数 + */ + function triggerEvent(event, xhr) { + if (options.global) { + $(document).trigger(event, xhr); + } + } + + /** + * 触发 XHR 回调和事件 + * @param callback string 回调函数名称 + * @param args + */ + function triggerCallback(callback) { + var args = [], len = arguments.length - 1; + while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ]; + + var result1; + var result2; + + if (callback) { + // 全局回调 + if (callback in globals) { + result1 = globals[callback].apply(globals, args); + } + + // 自定义回调 + if (options[callback]) { + result2 = options[callback].apply(options, args); + } + + // beforeSend 回调返回 false 时取消 ajax 请求 + if (callback === 'beforeSend' && (result1 === false || result2 === false)) { + isCanceled = true; + } + } + } + + // 请求方式转为大写 + var method = options.method.toUpperCase(); + + // 默认使用当前页面 URL + if (!options.url) { + options.url = window.location.toString(); + } + + // 需要发送的数据 + // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换 + var sendData; + if ( + (isQueryStringData(method) || options.processData) + && options.data + && [ArrayBuffer, Blob, Document, FormData].indexOf(options.data.constructor) < 0 + ) { + sendData = isString(options.data) ? options.data : $.param(options.data); + } else { + sendData = options.data; + } + + // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中 + if (isQueryStringData(method) && sendData) { + // 查询字符串拼接到 URL 中 + options.url = appendQuery(options.url, sendData); + sendData = null; + } + + // JSONP + if (options.dataType === 'jsonp') { + // URL 中添加自动生成的回调函数名 + var callbackName = isFunction(options.jsonpCallback) + ? options.jsonpCallback() + : options.jsonpCallback; + var requestUrl = appendQuery(options.url, ((options.jsonp) + "=" + callbackName)); + + eventParams.options = options; + + triggerEvent(ajaxEvent.ajaxStart, eventParams); + triggerCallback('beforeSend', null); + + if (isCanceled) { + return undefined; + } + + var abortTimeout; + + // 创建 script + var script = document.createElement('script'); + script.type = 'text/javascript'; + + // 创建 script 失败 + script.onerror = function () { + if (abortTimeout) { + clearTimeout(abortTimeout); + } + + triggerEvent(ajaxEvent.ajaxError, eventParams); + triggerCallback('error', null, 'scripterror'); + + triggerEvent(ajaxEvent.ajaxComplete, eventParams); + triggerCallback('complete', null, 'scripterror'); + }; + + script.src = requestUrl; + + // 处理 + window[callbackName] = function (data) { + if (abortTimeout) { + clearTimeout(abortTimeout); + } + + eventParams.data = data; + + triggerEvent(ajaxEvent.ajaxSuccess, eventParams); + triggerCallback('success', data, 'success', null); + + $(script).remove(); + script = null; + delete window[callbackName]; + }; + + $('head').append(script); + + if (options.timeout > 0) { + abortTimeout = setTimeout(function () { + $(script).remove(); + script = null; + + triggerEvent(ajaxEvent.ajaxError, eventParams); + triggerCallback('error', null, 'timeout'); + }, options.timeout); + } + + return undefined; + } + + // GET/HEAD 请求的缓存处理 + if (isQueryStringData(method) && !options.cache) { + options.url = appendQuery(options.url, ("_=" + (Date.now()))); + } + + // 创建 XHR + var xhr = new XMLHttpRequest(); + + xhr.open(method, options.url, options.async, options.username, options.password); + + if ( + options.contentType + || ( + sendData + && !isQueryStringData(method) + && options.contentType !== false + ) + ) { + xhr.setRequestHeader('Content-Type', options.contentType); + } + + // 设置 Accept + if (options.dataType === 'json') { + xhr.setRequestHeader('Accept', 'application/json, text/javascript'); + } + + // 添加 headers + if (options.headers) { + each(options.headers, function (key, value) { + xhr.setRequestHeader(key, value); + }); + } + + // 检查是否是跨域请求 + if (options.crossDomain === undefined) { + options.crossDomain = /^([\w-]+:)?\/\/([^/]+)/.test(options.url) + && RegExp.$2 !== window.location.host; + } + + if (!options.crossDomain) { + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + } + + if (options.xhrFields) { + each(options.xhrFields, function (key, value) { + xhr[key] = value; + }); + } + + eventParams.xhr = xhr; + eventParams.options = options; + + var xhrTimeout; + + xhr.onload = function () { + if (xhrTimeout) { + clearTimeout(xhrTimeout); + } + + // 包含成功或错误代码的字符串 + var textStatus; + + // AJAX 返回的 HTTP 响应码是否表示成功 + var isHttpStatusSuccess = (xhr.status >= 200 && xhr.status < 300) || xhr.status === 0; + + var responseData; + + if (isHttpStatusSuccess) { + if (xhr.status === 204 || method === 'HEAD') { + textStatus = 'nocontent'; + } else if (xhr.status === 304) { + textStatus = 'notmodified'; + } else { + textStatus = 'success'; + } + + if (options.dataType === 'json') { + try { + responseData = JSON.parse(xhr.responseText); + eventParams.data = responseData; + } catch (err) { + textStatus = 'parsererror'; + + triggerEvent(ajaxEvent.ajaxError, eventParams); + triggerCallback('error', xhr, textStatus); + } + + if (textStatus !== 'parsererror') { + triggerEvent(ajaxEvent.ajaxSuccess, eventParams); + triggerCallback('success', responseData, textStatus, xhr); + } + } else { + responseData = xhr.responseType === 'text' || xhr.responseType === '' + ? xhr.responseText + : xhr.response; + eventParams.data = responseData; + + triggerEvent(ajaxEvent.ajaxSuccess, eventParams); + triggerCallback('success', responseData, textStatus, xhr); + } + } else { + textStatus = 'error'; + + triggerEvent(ajaxEvent.ajaxError, eventParams); + triggerCallback('error', xhr, textStatus); + } + + // statusCode + each([globals.statusCode, options.statusCode], function (i, func) { + if (func && func[xhr.status]) { + if (isHttpStatusSuccess) { + func[xhr.status](responseData, textStatus, xhr); + } else { + func[xhr.status](xhr, textStatus); + } + } + }); + + triggerEvent(ajaxEvent.ajaxComplete, eventParams); + triggerCallback('complete', xhr, textStatus); + }; + + xhr.onerror = function () { + if (xhrTimeout) { + clearTimeout(xhrTimeout); + } + + triggerEvent(ajaxEvent.ajaxError, eventParams); + triggerCallback('error', xhr, xhr.statusText); + + triggerEvent(ajaxEvent.ajaxComplete, eventParams); + triggerCallback('complete', xhr, 'error'); + }; + + xhr.onabort = function () { + var textStatus = 'abort'; + + if (xhrTimeout) { + textStatus = 'timeout'; + clearTimeout(xhrTimeout); + } + + triggerEvent(ajaxEvent.ajaxError, eventParams); + triggerCallback('error', xhr, textStatus); + + triggerEvent(ajaxEvent.ajaxComplete, eventParams); + triggerCallback('complete', xhr, textStatus); + }; + + // ajax start 回调 + triggerEvent(ajaxEvent.ajaxStart, eventParams); + triggerCallback('beforeSend', xhr); + + if (isCanceled) { + return xhr; + } + + // Timeout + if (options.timeout > 0) { + xhrTimeout = setTimeout(function () { + xhr.abort(); + }, options.timeout); + } + + // 发送 XHR + xhr.send(sendData); + + return xhr; + }, + }); + + // 监听全局事件 + // + // 通过 $(document).on('success.mdui.ajax', function (event, params) {}) 调用时,包含两个参数 + // event: 事件对象 + // params: { + // xhr: XMLHttpRequest 对象 + // options: ajax 请求的配置参数 + // data: ajax 请求返回的数据 + // } + + // 全局 Ajax 事件快捷方法 + // $(document).ajaxStart(function (event, xhr, options) {}) + // $(document).ajaxSuccess(function (event, xhr, options, data) {}) + // $(document).ajaxError(function (event, xhr, options) {}) + // $(document).ajaxComplete(function (event, xhr, options) {}) + each(ajaxEvent, function (name, eventName) { + $.fn[name] = function (fn) { + return this.on(eventName, function (e, params) { + fn(e, params.xhr, params.options, params.data); + }); + }; + }); + + return $; + + }()); + + + /** + * ============================================================================= + * ************ 定义全局变量 ************ + * ============================================================================= + */ + + var $document = $(document); + var $window = $(window); + + /** + * 队列 -- 当前队列的 api 和 jquery 不一样,所以不打包进 mdui.JQ 里 + */ + var queue = {}; + (function () { + var queueData = []; + + /** + * 写入队列 + * @param queueName 对列名 + * @param func 函数名,该参数为空时,返回所有队列 + */ + queue.queue = function (queueName, func) { + if (queueData[queueName] === undefined) { + queueData[queueName] = []; + } + + if (func === undefined) { + return queueData[queueName]; + } + + queueData[queueName].push(func); + }; + + /** + * 从队列中移除第一个函数,并执行该函数 + * @param queueName + */ + queue.dequeue = function (queueName) { + if (queueData[queueName] !== undefined && queueData[queueName].length) { + (queueData[queueName].shift())(); + } + }; + + })(); + + /** + * touch 事件后的 500ms 内禁用 mousedown 事件 + * + * 不支持触控的屏幕上事件顺序为 mousedown -> mouseup -> click + * 支持触控的屏幕上事件顺序为 touchstart -> touchend -> mousedown -> mouseup -> click + */ + var TouchHandler = { + touches: 0, + + /** + * 该事件是否被允许 + * 在执行事件前调用该方法判断事件是否可以执行 + * @param e + * @returns {boolean} + */ + isAllow: function (e) { + var allow = true; + + if ( + TouchHandler.touches && + [ + 'mousedown', + 'mouseup', + 'mousemove', + 'click', + 'mouseover', + 'mouseout', + 'mouseenter', + 'mouseleave', + ].indexOf(e.type) > -1 + ) { + // 触发了 touch 事件后阻止鼠标事件 + allow = false; + } + + return allow; + }, + + /** + * 在 touchstart 和 touchmove、touchend、touchcancel 事件中调用该方法注册事件 + * @param e + */ + register: function (e) { + if (e.type === 'touchstart') { + // 触发了 touch 事件 + TouchHandler.touches += 1; + } else if (['touchmove', 'touchend', 'touchcancel'].indexOf(e.type) > -1) { + // touch 事件结束 500ms 后解除对鼠标事件的阻止 + setTimeout(function () { + if (TouchHandler.touches) { + TouchHandler.touches -= 1; + } + }, 500); + } + }, + + start: 'touchstart mousedown', + move: 'touchmove mousemove', + end: 'touchend mouseup', + cancel: 'touchcancel mouseleave', + unlock: 'touchend touchmove touchcancel', + }; + + // 测试事件 + // 在每一个事件中都使用 TouchHandler.isAllow(e) 判断事件是否可执行 + // 在 touchstart 和 touchmove、touchend、touchcancel + // (function () { + // + // $document + // .on(TouchHandler.start, function (e) { + // if (!TouchHandler.isAllow(e)) { + // return; + // } + // TouchHandler.register(e); + // console.log(e.type); + // }) + // .on(TouchHandler.move, function (e) { + // if (!TouchHandler.isAllow(e)) { + // return; + // } + // console.log(e.type); + // }) + // .on(TouchHandler.end, function (e) { + // if (!TouchHandler.isAllow(e)) { + // return; + // } + // console.log(e.type); + // }) + // .on(TouchHandler.unlock, TouchHandler.register); + // })(); + + $(function () { + // 避免页面加载完后直接执行css动画 + // https://css-tricks.com/transitions-only-after-page-load/ + + setTimeout(function () { + $('body').addClass('mdui-loaded'); + }, 0); + }); + + + /** + * ============================================================================= + * ************ MDUI 内部使用的函数 ************ + * ============================================================================= + */ + + /** + * 解析 DATA API 的参数 + * @param str + * @returns {*} + */ + var parseOptions = function (str) { + var options = {}; + + if (str === null || !str) { + return options; + } + + if (typeof str === 'object') { + return str; + } + + /* jshint ignore:start */ + var start = str.indexOf('{'); + try { + options = (new Function('', + 'var json = ' + str.substr(start) + + '; return JSON.parse(JSON.stringify(json));'))(); + } catch (e) { + } + /* jshint ignore:end */ + + return options; + }; + + /** + * 绑定组件的事件 + * @param eventName 事件名 + * @param pluginName 插件名 + * @param inst 插件实例 + * @param trigger 在该元素上触发 + * @param obj 事件参数 + */ + var componentEvent = function (eventName, pluginName, inst, trigger, obj) { + if (!obj) { + obj = {}; + } + + obj.inst = inst; + + var fullEventName = eventName + '.mdui.' + pluginName; + + // jQuery 事件 + if (typeof jQuery !== 'undefined') { + jQuery(trigger).trigger(fullEventName, obj); + } + + // JQ 事件 + $(trigger).trigger(fullEventName, obj); + }; + + + /** + * ============================================================================= + * ************ 开放的常用方法 ************ + * ============================================================================= + */ + + $.fn.extend({ + + /** + * 执行强制重绘 + */ + reflow: function () { + return this.each(function () { + return this.clientLeft; + }); + }, + + /** + * 设置 transition 时间 + * @param duration + */ + transition: function (duration) { + if (typeof duration !== 'string') { + duration = duration + 'ms'; + } + + return this.each(function () { + this.style.webkitTransitionDuration = duration; + this.style.transitionDuration = duration; + }); + }, + + /** + * transition 动画结束回调 + * @param callback + * @returns {transitionEnd} + */ + transitionEnd: function (callback) { + var events = [ + 'webkitTransitionEnd', + 'transitionend', + ]; + var i; + var _this = this; + + function fireCallBack(e) { + if (e.target !== this) { + return; + } + + callback.call(this, e); + + for (i = 0; i < events.length; i++) { + _this.off(events[i], fireCallBack); + } + } + + if (callback) { + for (i = 0; i < events.length; i++) { + _this.on(events[i], fireCallBack); + } + } + + return this; + }, + + /** + * 设置 transform-origin 属性 + * @param transformOrigin + */ + transformOrigin: function (transformOrigin) { + return this.each(function () { + this.style.webkitTransformOrigin = transformOrigin; + this.style.transformOrigin = transformOrigin; + }); + }, + + /** + * 设置 transform 属性 + * @param transform + */ + transform: function (transform) { + return this.each(function () { + this.style.webkitTransform = transform; + this.style.transform = transform; + }); + }, + + }); + + $.extend({ + /** + * 创建并显示遮罩 + * @param zIndex 遮罩层的 z-index + */ + showOverlay: function (zIndex) { + var $overlay = $('.mdui-overlay'); + + if ($overlay.length) { + $overlay.data('isDeleted', 0); + + if (zIndex !== undefined) { + $overlay.css('z-index', zIndex); + } + } else { + if (zIndex === undefined) { + zIndex = 2000; + } + + $overlay = $('
') + .appendTo(document.body) + .reflow() + .css('z-index', zIndex); + } + + var level = $overlay.data('overlay-level') || 0; + return $overlay + .data('overlay-level', ++level) + .addClass('mdui-overlay-show'); + }, + + /** + * 隐藏遮罩层 + * @param force 是否强制隐藏遮罩 + */ + hideOverlay: function (force) { + var $overlay = $('.mdui-overlay'); + + if (!$overlay.length) { + return; + } + + var level = force ? 1 : $overlay.data('overlay-level'); + if (level > 1) { + $overlay.data('overlay-level', --level); + return; + } + + $overlay + .data('overlay-level', 0) + .removeClass('mdui-overlay-show') + .data('isDeleted', 1) + .transitionEnd(function () { + if ($overlay.data('isDeleted')) { + $overlay.remove(); + } + }); + }, + + /** + * 锁定屏幕 + */ + lockScreen: function () { + var $body = $('body'); + + // 不直接把 body 设为 box-sizing: border-box,避免污染全局样式 + var newBodyWidth = $body.width(); + + $body + .addClass('mdui-locked') + .width(newBodyWidth); + + var level = $body.data('lockscreen-level') || 0; + $body.data('lockscreen-level', ++level); + }, + + /** + * 解除屏幕锁定 + * @param force 是否强制解锁屏幕 + */ + unlockScreen: function (force) { + var $body = $('body'); + + var level = force ? 1 : $body.data('lockscreen-level'); + if (level > 1) { + $body.data('lockscreen-level', --level); + return; + } + + $body + .data('lockscreen-level', 0) + .removeClass('mdui-locked') + .width(''); + }, + + /** + * 函数节流 + * @param fn + * @param delay + * @returns {Function} + */ + throttle: function (fn, delay) { + var timer = null; + if (!delay || delay < 16) { + delay = 16; + } + + return function () { + var _this = this; + var args = arguments; + + if (timer === null) { + timer = setTimeout(function () { + fn.apply(_this, args); + timer = null; + }, delay); + } + }; + }, + }); + + /** + * 生成唯一 id + * @param string name id的名称,若该名称对于的guid不存在,则生成新的guid并返回;若已存在,则返回原有guid + * @returns {string} + */ + (function () { + var GUID = {}; + + $.extend({ + guid: function (name) { + if (typeof name !== 'undefined' && typeof GUID[name] !== 'undefined') { + return GUID[name]; + } + + function s4() { + return Math.floor((1 + Math.random()) * 0x10000) + .toString(16) + .substring(1); + } + + var guid = s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); + + if (typeof name !== 'undefined') { + GUID[name] = guid; + } + + return guid; + }, + }); + })(); + + + /** + * ============================================================================= + * ************ Mutation ************ + * ============================================================================= + */ + + (function () { + /** + * API 初始化代理, 当 DOM 突变再次执行代理的初始化函数. 使用方法: + * + * 1. 代理组件 API 执行初始化函数, selector 必须为字符串. + * mdui.mutation(selector, apiInit); + * mutation 会执行 $(selector).each(apiInit) + * + * 2. 突变时, 再次执行代理的初始化函数 + * mdui.mutation() 等价 $(document).mutation() + * $(selector).mutation() 在 selector 节点内进行 API 初始化 + * + * 原理: + * + * mutation 执行了 $().data('mdui.mutation', [selector]). + * 当元素被重构时, 该数据会丢失, 由此判断是否突变. + * + * 提示: + * + * 类似 Drawer 可以使用委托事件完成. + * 类似 Collapse 需要知道 DOM 发生突变, 并再次进行初始化. + */ + var entries = { }; + + function mutation(selector, apiInit, that, i, item) { + var $this = $(that); + var m = $this.data('mdui.mutation'); + + if (!m) { + m = []; + $this.data('mdui.mutation', m); + } + + if (m.indexOf(selector) === -1) { + m.push(selector); + apiInit.call(that, i, item); + } + } + + $.fn.extend({ + mutation: function () { + return this.each(function (i, item) { + var $this = $(this); + $.each(entries, function (selector, apiInit) { + if ($this.is(selector)) { + mutation(selector, apiInit, $this[0], i, item); + } + + $this.find(selector).each(function (i, item) { + mutation(selector, apiInit, this, i, item); + }); + }); + }); + }, + }); + + mdui.mutation = function (selector, apiInit) { + if (typeof selector !== 'string' || typeof apiInit !== 'function') { + $(document).mutation(); + return; + } + + entries[selector] = apiInit; + $(selector).each(function (i, item) { + mutation(selector, apiInit, this, i, item); + }); + }; + + })(); + + + /** + * ============================================================================= + * ************ Headroom.js ************ + * ============================================================================= + */ + + mdui.Headroom = (function () { + + /** + * 默认参数 + * @type {{}} + */ + var DEFAULT = { + tolerance: 5, // 滚动条滚动多少距离开始隐藏或显示元素,{down: num, up: num},或数字 + offset: 0, // 在页面顶部多少距离内滚动不会隐藏元素 + initialClass: 'mdui-headroom', // 初始化时添加的类 + pinnedClass: 'mdui-headroom-pinned-top', // 元素固定时添加的类 + unpinnedClass: 'mdui-headroom-unpinned-top', // 元素隐藏时添加的类 + }; + + /** + * Headroom + * @param selector + * @param opts + * @constructor + */ + function Headroom(selector, opts) { + var _this = this; + + _this.$headroom = $(selector).eq(0); + if (!_this.$headroom.length) { + return; + } + + // 已通过自定义属性实例化过,不再重复实例化 + var oldInst = _this.$headroom.data('mdui.headroom'); + if (oldInst) { + return oldInst; + } + + _this.options = $.extend({}, DEFAULT, (opts || {})); + + // 数值转为 {down: bum, up: num} + var tolerance = _this.options.tolerance; + if (tolerance !== Object(tolerance)) { + _this.options.tolerance = { + down: tolerance, + up: tolerance, + }; + } + + _this._init(); + } + + /** + * 初始化 + * @private + */ + Headroom.prototype._init = function () { + var _this = this; + + _this.state = 'pinned'; + _this.$headroom + .addClass(_this.options.initialClass) + .removeClass(_this.options.pinnedClass + ' ' + _this.options.unpinnedClass); + + _this.inited = false; + _this.lastScrollY = 0; + + _this._attachEvent(); + }; + + /** + * 监听滚动事件 + * @private + */ + Headroom.prototype._attachEvent = function () { + var _this = this; + + if (!_this.inited) { + _this.lastScrollY = window.pageYOffset; + _this.inited = true; + + $window.on('scroll', function () { + _this._scroll(); + }); + } + }; + + /** + * 滚动时的处理 + * @private + */ + Headroom.prototype._scroll = function () { + var _this = this; + _this.rafId = window.requestAnimationFrame(function () { + var currentScrollY = window.pageYOffset; + var direction = currentScrollY > _this.lastScrollY ? 'down' : 'up'; + var toleranceExceeded = + Math.abs(currentScrollY - _this.lastScrollY) >= + _this.options.tolerance[direction]; + + if ( + currentScrollY > _this.lastScrollY && + currentScrollY >= _this.options.offset && + toleranceExceeded) { + _this.unpin(); + } else if ( + (currentScrollY < _this.lastScrollY && toleranceExceeded) || + currentScrollY <= _this.options.offset + ) { + _this.pin(); + } + + _this.lastScrollY = currentScrollY; + }); + }; + + /** + * 动画结束回调 + * @param inst + */ + var transitionEnd = function (inst) { + if (inst.state === 'pinning') { + inst.state = 'pinned'; + componentEvent('pinned', 'headroom', inst, inst.$headroom); + } + + if (inst.state === 'unpinning') { + inst.state = 'unpinned'; + componentEvent('unpinned', 'headroom', inst, inst.$headroom); + } + }; + + /** + * 固定住 + */ + Headroom.prototype.pin = function () { + var _this = this; + + if ( + _this.state === 'pinning' || + _this.state === 'pinned' || + !_this.$headroom.hasClass(_this.options.initialClass) + ) { + return; + } + + componentEvent('pin', 'headroom', _this, _this.$headroom); + + _this.state = 'pinning'; + + _this.$headroom + .removeClass(_this.options.unpinnedClass) + .addClass(_this.options.pinnedClass) + .transitionEnd(function () { + transitionEnd(_this); + }); + }; + + /** + * 不固定住 + */ + Headroom.prototype.unpin = function () { + var _this = this; + + if ( + _this.state === 'unpinning' || + _this.state === 'unpinned' || + !_this.$headroom.hasClass(_this.options.initialClass) + ) { + return; + } + + componentEvent('unpin', 'headroom', _this, _this.$headroom); + + _this.state = 'unpinning'; + + _this.$headroom + .removeClass(_this.options.pinnedClass) + .addClass(_this.options.unpinnedClass) + .transitionEnd(function () { + transitionEnd(_this); + }); + }; + + /** + * 启用 + */ + Headroom.prototype.enable = function () { + var _this = this; + + if (!_this.inited) { + _this._init(); + } + }; + + /** + * 禁用 + */ + Headroom.prototype.disable = function () { + var _this = this; + + if (_this.inited) { + _this.inited = false; + _this.$headroom + .removeClass([ + _this.options.initialClass, + _this.options.pinnedClass, + _this.options.unpinnedClass, + ].join(' ')); + + $window.off('scroll', function () { + _this._scroll(); + }); + + window.cancelAnimationFrame(_this.rafId); + } + }; + + /** + * 获取当前状态 pinning | pinned | unpinning | unpinned + */ + Headroom.prototype.getState = function () { + return this.state; + }; + + return Headroom; + + })(); + + + /** + * ============================================================================= + * ************ Headroom 自定义属性 API ************ + * ============================================================================= + */ + + $(function () { + mdui.mutation('[mdui-headroom]', function () { + var $this = $(this); + var options = parseOptions($this.attr('mdui-headroom')); + + var inst = $this.data('mdui.headroom'); + if (!inst) { + inst = new mdui.Headroom($this, options); + $this.data('mdui.headroom', inst); + } + }); + }); + + + /** + * ============================================================================= + * ************ 供 Collapse、 Panel 调用的折叠内容块插件 ************ + * ============================================================================= + */ + var CollapsePrivate = (function () { + + /** + * 默认参数 + */ + var DEFAULT = { + accordion: false, // 是否使用手风琴效果 + }; + + /** + * 折叠内容块 + * @param selector + * @param opts + * @param namespace + * @constructor + */ + function Collapse(selector, opts, namespace) { + var _this = this; + + // 命名空间 + _this.ns = namespace; + + // 类名 + var classpPefix = 'mdui-' + _this.ns + '-item'; + _this.class_item = classpPefix; + _this.class_item_open = classpPefix + '-open'; + _this.class_header = classpPefix + '-header'; + _this.class_body = classpPefix + '-body'; + + // 折叠面板元素 + _this.$collapse = $(selector).eq(0); + if (!_this.$collapse.length) { + return; + } + + // 已通过自定义属性实例化过,不再重复实例化 + var oldInst = _this.$collapse.data('mdui.' + _this.ns); + if (oldInst) { + return oldInst; + } + + _this.options = $.extend({}, DEFAULT, (opts || {})); + + _this.$collapse.on('click', '.' + _this.class_header, function () { + var $item = $(this).parent('.' + _this.class_item); + if (_this.$collapse.children($item).length) { + _this.toggle($item); + } + }); + + // 绑定关闭按钮 + _this.$collapse.on('click', '[mdui-' + _this.ns + '-item-close]', function () { + var $item = $(this).parents('.' + _this.class_item).eq(0); + if (_this._isOpen($item)) { + _this.close($item); + } + }); + } + + /** + * 指定 item 是否处于打开状态 + * @param $item + * @returns {boolean} + * @private + */ + Collapse.prototype._isOpen = function ($item) { + return $item.hasClass(this.class_item_open); + }; + + /** + * 获取指定 item + * @param item + * @returns {*} + * @private + */ + Collapse.prototype._getItem = function (item) { + var _this = this; + + if (parseInt(item) === item) { + // item 是索引号 + return _this.$collapse.children('.' + _this.class_item).eq(item); + } + + return $(item).eq(0); + }; + + /** + * 动画结束回调 + * @param inst + * @param $content + * @param $item + */ + var transitionEnd = function (inst, $content, $item) { + if (inst._isOpen($item)) { + $content + .transition(0) + .height('auto') + .reflow() + .transition(''); + + componentEvent('opened', inst.ns, inst, $item[0]); + } else { + $content.height(''); + + componentEvent('closed', inst.ns, inst, $item[0]); + } + }; + + /** + * 打开指定面板项 + * @param item 面板项的索引号或 DOM 元素或 CSS 选择器 + */ + Collapse.prototype.open = function (item) { + var _this = this; + var $item = _this._getItem(item); + + if (_this._isOpen($item)) { + return; + } + + // 关闭其他项 + if (_this.options.accordion) { + _this.$collapse.children('.' + _this.class_item_open).each(function () { + var $tmpItem = $(this); + + if ($tmpItem !== $item) { + _this.close($tmpItem); + } + }); + } + + var $content = $item.children('.' + _this.class_body); + + $content + .height($content[0].scrollHeight) + .transitionEnd(function () { + transitionEnd(_this, $content, $item); + }); + + componentEvent('open', _this.ns, _this, $item[0]); + + $item.addClass(_this.class_item_open); + }; + + /** + * 关闭指定项 + * @param item 面板项的索引号或 DOM 元素或 CSS 选择器 + */ + Collapse.prototype.close = function (item) { + var _this = this; + var $item = _this._getItem(item); + + if (!_this._isOpen($item)) { + return; + } + + var $content = $item.children('.' + _this.class_body); + + componentEvent('close', _this.ns, _this, $item[0]); + + $item.removeClass(_this.class_item_open); + + $content + .transition(0) + .height($content[0].scrollHeight) + .reflow() + .transition('') + .height('') + .transitionEnd(function () { + transitionEnd(_this, $content, $item); + }); + }; + + /** + * 切换指定项的状态 + * @param item 面板项的索引号或 DOM 元素或 CSS 选择器或 JQ 对象 + */ + Collapse.prototype.toggle = function (item) { + var _this = this; + var $item = _this._getItem(item); + + if (_this._isOpen($item)) { + _this.close($item); + } else { + _this.open($item); + } + }; + + /** + * 打开所有项 + */ + Collapse.prototype.openAll = function () { + var _this = this; + + _this.$collapse.children('.' + _this.class_item).each(function () { + var $tmpItem = $(this); + + if (!_this._isOpen($tmpItem)) { + _this.open($tmpItem); + } + }); + }; + + /** + * 关闭所有项 + */ + Collapse.prototype.closeAll = function () { + var _this = this; + + _this.$collapse.children('.' + _this.class_item).each(function () { + var $tmpItem = $(this); + + if (_this._isOpen($tmpItem)) { + _this.close($tmpItem); + } + }); + }; + + return Collapse; + })(); + + /** + * ============================================================================= + * ************ Collapse 折叠内容块插件 ************ + * ============================================================================= + */ + mdui.Collapse = (function () { + + function Collapse(selector, opts) { + return new CollapsePrivate(selector, opts, 'collapse'); + } + + return Collapse; + })(); + + + /** + * ============================================================================= + * ************ Collapse 自定义属性 ************ + * ============================================================================= + */ + + $(function () { + mdui.mutation('[mdui-collapse]', function () { + var $target = $(this); + + var inst = $target.data('mdui.collapse'); + if (!inst) { + var options = parseOptions($target.attr('mdui-collapse')); + inst = new mdui.Collapse($target, options); + $target.data('mdui.collapse', inst); + } + }); + }); + + + /** + * ============================================================================= + * ************ Table 表格 ************ + * ============================================================================= + */ + + (function () { + + /** + * 生成 checkbox 的 HTML 结构 + * @param tag + * @returns {string} + */ + var checkboxHTML = function (tag) { + return '<' + tag + ' class="mdui-table-cell-checkbox">' + + '' + + ''; + }; + + /** + * Table 表格 + * @param selector + * @constructor + */ + function Table(selector) { + var _this = this; + + _this.$table = $(selector).eq(0); + + if (!_this.$table.length) { + return; + } + + _this.init(); + } + + /** + * 初始化 + */ + Table.prototype.init = function () { + var _this = this; + + _this.$thRow = _this.$table.find('thead tr'); + _this.$tdRows = _this.$table.find('tbody tr'); + _this.$tdCheckboxs = $(); + _this.selectable = _this.$table.hasClass('mdui-table-selectable'); + _this.selectedRow = 0; + + _this._updateThCheckbox(); + _this._updateTdCheckbox(); + _this._updateNumericCol(); + }; + + /** + * 更新表头 checkbox 的状态 + */ + Table.prototype._updateThCheckboxStatus = function () { + var _this = this; + var checkbox = _this.$thCheckbox[0]; + + checkbox.checked = _this.selectedRow === _this.$tdRows.length; + checkbox.indeterminate = _this.selectedRow && _this.selectedRow !== _this.$tdRows.length; + }; + + /** + * 更新表格行的 checkbox + */ + Table.prototype._updateTdCheckbox = function () { + var _this = this; + + _this.$tdRows.each(function () { + var $tdRow = $(this); + + // 移除旧的 checkbox + $tdRow.find('.mdui-table-cell-checkbox').remove(); + + if (!_this.selectable) { + return; + } + + // 创建 DOM + var $checkbox = $(checkboxHTML('td')) + .prependTo($tdRow) + .find('input[type="checkbox"]'); + + // 默认选中的行 + if ($tdRow.hasClass('mdui-table-row-selected')) { + $checkbox[0].checked = true; + _this.selectedRow++; + } + + _this._updateThCheckboxStatus(); + + // 绑定事件 + $checkbox.on('change', function () { + if ($checkbox[0].checked) { + $tdRow.addClass('mdui-table-row-selected'); + _this.selectedRow++; + } else { + $tdRow.removeClass('mdui-table-row-selected'); + _this.selectedRow--; + } + + _this._updateThCheckboxStatus(); + }); + + _this.$tdCheckboxs = _this.$tdCheckboxs.add($checkbox); + }); + }; + + /** + * 更新表头的 checkbox + */ + Table.prototype._updateThCheckbox = function () { + var _this = this; + + // 移除旧的 checkbox + _this.$thRow.find('.mdui-table-cell-checkbox').remove(); + + if (!_this.selectable) { + return; + } + + _this.$thCheckbox = $(checkboxHTML('th')) + .prependTo(_this.$thRow) + .find('input[type="checkbox"]') + .on('change', function () { + + var isCheckedAll = _this.$thCheckbox[0].checked; + _this.selectedRow = isCheckedAll ? _this.$tdRows.length : 0; + + _this.$tdCheckboxs.each(function (i, checkbox) { + checkbox.checked = isCheckedAll; + }); + + _this.$tdRows.each(function (i, row) { + $(row)[isCheckedAll ? 'addClass' : 'removeClass']('mdui-table-row-selected'); + }); + }); + }; + + /** + * 更新数值列 + */ + Table.prototype._updateNumericCol = function () { + var _this = this; + var $th; + var $tdRow; + + _this.$thRow.find('th').each(function (i, th) { + $th = $(th); + + _this.$tdRows.each(function () { + $tdRow = $(this); + var method = $th.hasClass('mdui-table-col-numeric') ? 'addClass' : 'removeClass'; + $tdRow.find('td').eq(i)[method]('mdui-table-col-numeric'); + }); + }); + }; + + /** + * 初始化表格 + */ + mdui.mutation('.mdui-table', function () { + var $table = $(this); + if (!$table.data('mdui.table')) { + $table.data('mdui.table', new Table($table)); + } + }); + + /** + * 更新表格 + */ + mdui.updateTables = function () { + $(arguments.length ? arguments[0] : '.mdui-table').each(function () { + var $table = $(this); + var inst = $table.data('mdui.table'); + + if (inst) { + inst.init(); + } else { + $table.data('mdui.table', new Table($table)); + } + }); + }; + + })(); + + + /** + * ============================================================================= + * ************ 涟漪 ************ + * ============================================================================= + * + * Inspired by https://github.com/nolimits4web/Framework7/blob/master/src/js/fast-clicks.js + * https://github.com/nolimits4web/Framework7/blob/master/LICENSE + * + * Inspired by https://github.com/fians/Waves + */ + + (function () { + + var Ripple = { + + /** + * 延时,避免手指滑动时也触发涟漪(单位:毫秒) + */ + delay: 200, + + /** + * 显示涟漪动画 + * @param e + * @param $ripple + */ + show: function (e, $ripple) { + + // 鼠标右键不产生涟漪 + if (e.button === 2) { + return; + } + + // 点击位置坐标 + var tmp; + if ('touches' in e && e.touches.length) { + tmp = e.touches[0]; + } else { + tmp = e; + } + + var touchStartX = tmp.pageX; + var touchStartY = tmp.pageY; + + // 涟漪位置 + var offset = $ripple.offset(); + var center = { + x: touchStartX - offset.left, + y: touchStartY - offset.top, + }; + + var height = $ripple.innerHeight(); + var width = $ripple.innerWidth(); + var diameter = Math.max( + Math.pow((Math.pow(height, 2) + Math.pow(width, 2)), 0.5), 48 + ); + + // 涟漪扩散动画 + var translate = + 'translate3d(' + (-center.x + width / 2) + 'px, ' + (-center.y + height / 2) + 'px, 0) ' + + 'scale(1)'; + + // 涟漪的 DOM 结构 + $('
' + + '
') + + // 缓存动画效果 + .data('translate', translate) + + .prependTo($ripple) + .reflow() + .transform(translate); + }, + + /** + * 隐藏涟漪动画 + */ + hide: function (e, element) { + var $ripple = $(element || this); + + $ripple.children('.mdui-ripple-wave').each(function () { + removeRipple($(this)); + }); + + $ripple.off('touchmove touchend touchcancel mousemove mouseup mouseleave', Ripple.hide); + }, + }; + + /** + * 隐藏并移除涟漪 + * @param $wave + */ + function removeRipple($wave) { + if (!$wave.length || $wave.data('isRemoved')) { + return; + } + + $wave.data('isRemoved', true); + + var removeTimeout = setTimeout(function () { + $wave.remove(); + }, 400); + + var translate = $wave.data('translate'); + + $wave + .addClass('mdui-ripple-wave-fill') + .transform(translate.replace('scale(1)', 'scale(1.01)')) + .transitionEnd(function () { + clearTimeout(removeTimeout); + + $wave + .addClass('mdui-ripple-wave-out') + .transform(translate.replace('scale(1)', 'scale(1.01)')); + + removeTimeout = setTimeout(function () { + $wave.remove(); + }, 700); + + setTimeout(function () { + $wave.transitionEnd(function () { + clearTimeout(removeTimeout); + $wave.remove(); + }); + }, 0); + }); + } + + /** + * 显示涟漪,并绑定 touchend 等事件 + * @param e + */ + function showRipple(e) { + if (!TouchHandler.isAllow(e)) { + return; + } + + TouchHandler.register(e); + + // Chrome 59 点击滚动条时,会在 document 上触发事件 + if (e.target === document) { + return; + } + + var $ripple; + var $target = $(e.target); + + // 获取含 .mdui-ripple 类的元素 + if ($target.hasClass('mdui-ripple')) { + $ripple = $target; + } else { + $ripple = $target.parents('.mdui-ripple').eq(0); + } + + if ($ripple.length) { + + // 禁用状态的元素上不产生涟漪效果 + if ($ripple[0].disabled || $ripple.attr('disabled') !== null) { + return; + } + + if (e.type === 'touchstart') { + var hidden = false; + + // toucstart 触发指定时间后开始涟漪动画 + var timer = setTimeout(function () { + timer = null; + Ripple.show(e, $ripple); + }, Ripple.delay); + + var hideRipple = function (hideEvent) { + // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画 + if (timer) { + clearTimeout(timer); + timer = null; + Ripple.show(e, $ripple); + } + + if (!hidden) { + hidden = true; + Ripple.hide(hideEvent, $ripple); + } + }; + + // 手指移动后,移除涟漪动画 + var touchMove = function (moveEvent) { + if (timer) { + clearTimeout(timer); + timer = null; + } + + hideRipple(moveEvent); + }; + + $ripple + .on('touchmove', touchMove) + .on('touchend touchcancel', hideRipple); + + } else { + Ripple.show(e, $ripple); + $ripple.on('touchmove touchend touchcancel mousemove mouseup mouseleave', Ripple.hide); + } + } + } + + // 初始化绑定的事件 + $document + .on(TouchHandler.start, showRipple) + .on(TouchHandler.unlock, TouchHandler.register); + })(); + + + /** + * ============================================================================= + * ************ Text Field 文本框 ************ + * ============================================================================= + */ + + (function () { + + var getProp = function (obj, prop) { + return ( + typeof obj === 'object' && + obj !== null && + obj[prop] !== undefined && + obj[prop] + ) ? obj[prop] : false; + }; + + /** + * 输入框事件 + * @param e + */ + var inputEvent = function (e) { + var input = e.target; + var $input = $(input); + var event = e.type; + var value = $input.val(); + + // reInit 为 true 时,需要重新初始化文本框 + var reInit = getProp(e.detail, 'reInit'); + + // domLoadedEvent 为 true 时,为 DOM 加载完毕后自动触发的事件 + var domLoadedEvent = getProp(e.detail, 'domLoadedEvent'); + + // 文本框类型 + var type = $input.attr('type') || ''; + if (['checkbox', 'button', 'submit', 'range', 'radio', 'image'].indexOf(type) >= 0) { + return; + } + + var $textField = $input.parent('.mdui-textfield'); + + // 输入框是否聚焦 + if (event === 'focus') { + $textField.addClass('mdui-textfield-focus'); + } + + if (event === 'blur') { + $textField.removeClass('mdui-textfield-focus'); + } + + // 输入框是否为空 + if (event === 'blur' || event === 'input') { + $textField[(value && value !== '') ? 'addClass' : 'removeClass']('mdui-textfield-not-empty'); + } + + // 输入框是否禁用 + $textField[input.disabled ? 'addClass' : 'removeClass']('mdui-textfield-disabled'); + + // 表单验证 + if ((event === 'input' || event === 'blur') && !domLoadedEvent) { + if (input.validity) { + var method = input.validity.valid ? 'removeClass' : 'addClass'; + $textField[method]('mdui-textfield-invalid-html5'); + } + } + + // textarea 高度自动调整 + if (e.target.nodeName.toLowerCase() === 'textarea') { + + // IE bug:textarea 的值仅为多个换行,不含其他内容时,textarea 的高度不准确 + // 此时,在计算高度前,在值的开头加入一个空格,计算完后,移除空格 + var inputValue = $input.val(); + var hasExtraSpace = false; + if (inputValue.replace(/[\r\n]/g, '') === '') { + $input.val(' ' + inputValue); + hasExtraSpace = true; + } + + // 设置 textarea 高度 + $input.height(''); + var height = $input.height(); + var scrollHeight = input.scrollHeight; + + if (scrollHeight > height) { + $input.height(scrollHeight); + } + + // 计算完,还原 textarea 的值 + if (hasExtraSpace) { + $input.val(inputValue); + } + } + + // 实时字数统计 + if (reInit) { + $textField + .find('.mdui-textfield-counter') + .remove(); + } + + var maxlength = $input.attr('maxlength'); + if (maxlength) { + if (reInit || domLoadedEvent) { + $('
' + + ' / ' + maxlength + + '
').appendTo($textField); + } + + $textField.find('.mdui-textfield-counter-inputed').text(value.length.toString()); + } + + // 含 帮助文本、错误提示、字数统计 时,增加文本框底部内边距 + if ( + $textField.find('.mdui-textfield-helper').length || + $textField.find('.mdui-textfield-error').length || + maxlength + ) { + $textField.addClass('mdui-textfield-has-bottom'); + } + }; + + // 绑定事件 + $document.on('input focus blur', '.mdui-textfield-input', { useCapture: true }, inputEvent); + + // 可展开文本框展开 + $document.on('click', '.mdui-textfield-expandable .mdui-textfield-icon', function () { + $(this) + + // 展开文本框 + .parents('.mdui-textfield') + .addClass('mdui-textfield-expanded') + + // 聚焦到输入框 + .find('.mdui-textfield-input')[0].focus(); + }); + + // 可展开文本框关闭 + $document.on('click', '.mdui-textfield-expanded .mdui-textfield-close', function () { + $(this) + + // 关闭文本框 + .parents('.mdui-textfield') + .removeClass('mdui-textfield-expanded') + + // 清空输入框 + .find('.mdui-textfield-input') + .val(''); + }); + + /** + * 通过 JS 更新了表单内容,需要重新进行表单处理 + * @param- 如果传入了 .mdui-textfield 所在的 DOM 元素,则更新该文本框;否则,更新所有文本框 + */ + mdui.updateTextFields = function () { + $(arguments.length ? arguments[0] : '.mdui-textfield').each(function () { + $(this) + .find('.mdui-textfield-input') + .trigger('input', { + reInit: true, + }); + }); + }; + })(); + + $(function () { + /** + * 初始化文本框 + */ + mdui.mutation('.mdui-textfield', function () { + $(this) + .find('.mdui-textfield-input') + .trigger('input', { + domLoadedEvent: true, + }); + }); + }); + + + /** + * ============================================================================= + * ************ Slider 滑块 ************ + * ============================================================================= + */ + + (function () { + + /** + * 滑块的值变更后修改滑块样式 + * @param $slider + */ + var updateValueStyle = function ($slider) { + var data = $slider.data(); + + var $track = data.$track; + var $fill = data.$fill; + var $thumb = data.$thumb; + var $input = data.$input; + var min = data.min; + var max = data.max; + var isDisabled = data.disabled; + var isDiscrete = data.discrete; + var $thumbText = data.$thumbText; + var value = $input.val(); + var percent = (value - min) / (max - min) * 100; + + $fill.width(percent + '%'); + $track.width((100 - percent) + '%'); + + if (isDisabled) { + $fill.css('padding-right', '6px'); + $track.css('padding-left', '6px'); + } + + $thumb.css('left', percent + '%'); + + if (isDiscrete) { + $thumbText.text(value); + } + + $slider[parseFloat(percent) === 0 ? 'addClass' : 'removeClass']('mdui-slider-zero'); + }; + + /** + * 重新初始化 + * @param $slider + */ + var reInit = function ($slider) { + var $track = $('
'); + var $fill = $('
'); + var $thumb = $('
'); + var $input = $slider.find('input[type="range"]'); + + // 禁用状态 + var isDisabled = $input[0].disabled; + $slider[isDisabled ? 'addClass' : 'removeClass']('mdui-slider-disabled'); + + // 重新填充 HTML + $slider.find('.mdui-slider-track').remove(); + $slider.find('.mdui-slider-fill').remove(); + $slider.find('.mdui-slider-thumb').remove(); + $slider.append($track).append($fill).append($thumb); + + // 间续型滑块 + var isDiscrete = $slider.hasClass('mdui-slider-discrete'); + + var $thumbText; + if (isDiscrete) { + $thumbText = $(''); + $thumb.empty().append($thumbText); + } + + $slider.data({ + $track: $track, + $fill: $fill, + $thumb: $thumb, + $input: $input, + min: $input.attr('min'), // 滑块最小值 + max: $input.attr('max'), // 滑块最大值 + disabled: isDisabled, // 是否禁用状态 + discrete: isDiscrete, // 是否是间续型滑块 + $thumbText: $thumbText, // 间续型滑块的数值 + }); + + // 设置默认值 + updateValueStyle($slider); + }; + + var rangeSelector = '.mdui-slider input[type="range"]'; + + $document + + // 滑动滑块事件 + .on('input change', rangeSelector, function () { + var $slider = $(this).parent(); + updateValueStyle($slider); + }) + + // 开始触摸滑块事件 + .on(TouchHandler.start, rangeSelector, function (e) { + if (!TouchHandler.isAllow(e)) { + return; + } + + TouchHandler.register(e); + + if (!this.disabled) { + var $slider = $(this).parent(); + $slider.addClass('mdui-slider-focus'); + } + }) + + // 结束触摸滑块事件 + .on(TouchHandler.end, rangeSelector, function (e) { + if (!TouchHandler.isAllow(e)) { + return; + } + + if (!this.disabled) { + var $slider = $(this).parent(); + $slider.removeClass('mdui-slider-focus'); + } + }) + + .on(TouchHandler.unlock, rangeSelector, TouchHandler.register); + + /** + * 重新初始化滑块(强制重新初始化) + */ + mdui.updateSliders = function () { + $(arguments.length ? arguments[0] : '.mdui-slider').each(function () { + reInit($(this)); + }); + }; + + $(function () { + /** + * 页面加载完后自动初始化(未初始化时,可以调用该方法初始化) + */ + mdui.mutation('.mdui-slider', function () { + reInit($(this)); + }); + }); + })(); + + + /** + * ============================================================================= + * ************ Fab 浮动操作按钮 ************ + * ============================================================================= + */ + + mdui.Fab = (function () { + + /** + * 默认参数 + * @type {{}} + */ + var DEFAULT = { + trigger: 'hover', // 触发方式 ['hover', 'click'] + }; + + /** + * 浮动操作按钮实例 + * @param selector 选择器或 HTML 字符串或 DOM 元素或 JQ 对象 + * @param opts + * @constructor + */ + function Fab(selector, opts) { + var _this = this; + + _this.$fab = $(selector).eq(0); + if (!_this.$fab.length) { + return; + } + + // 已通过 data 属性实例化过,不再重复实例化 + var oldInst = _this.$fab.data('mdui.fab'); + if (oldInst) { + return oldInst; + } + + _this.options = $.extend({}, DEFAULT, (opts || {})); + _this.state = 'closed'; + + _this.$btn = _this.$fab.find('.mdui-fab'); + _this.$dial = _this.$fab.find('.mdui-fab-dial'); + _this.$dialBtns = _this.$dial.find('.mdui-fab'); + + if (_this.options.trigger === 'hover') { + _this.$btn + .on('touchstart mouseenter', function () { + _this.open(); + }); + + _this.$fab + .on('mouseleave', function () { + _this.close(); + }); + } + + if (_this.options.trigger === 'click') { + _this.$btn + .on(TouchHandler.start, function () { + _this.open(); + }); + } + + // 触摸屏幕其他地方关闭快速拨号 + $document.on(TouchHandler.start, function (e) { + if (!$(e.target).parents('.mdui-fab-wrapper').length) { + _this.close(); + } + }); + } + + /** + * 打开菜单 + */ + Fab.prototype.open = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + return; + } + + // 为菜单中的按钮添加不同的 transition-delay + _this.$dialBtns.each(function (index, btn) { + btn.style['transition-delay'] = btn.style['-webkit-transition-delay'] = + 15 * (_this.$dialBtns.length - index) + 'ms'; + }); + + _this.$dial + .css('height', 'auto') + .addClass('mdui-fab-dial-show'); + + // 如果按钮中存在 .mdui-fab-opened 的图标,则进行图标切换 + if (_this.$btn.find('.mdui-fab-opened').length) { + _this.$btn.addClass('mdui-fab-opened'); + } + + _this.state = 'opening'; + componentEvent('open', 'fab', _this, _this.$fab); + + // 打开顺序为从下到上逐个打开,最上面的打开后才表示动画完成 + _this.$dialBtns.eq(0).transitionEnd(function () { + if (_this.$btn.hasClass('mdui-fab-opened')) { + _this.state = 'opened'; + componentEvent('opened', 'fab', _this, _this.$fab); + } + }); + }; + + /** + * 关闭菜单 + */ + Fab.prototype.close = function () { + var _this = this; + + if (_this.state === 'closing' || _this.state === 'closed') { + return; + } + + // 为菜单中的按钮添加不同的 transition-delay + _this.$dialBtns.each(function (index, btn) { + btn.style['transition-delay'] = btn.style['-webkit-transition-delay'] = 15 * index + 'ms'; + }); + + _this.$dial.removeClass('mdui-fab-dial-show'); + _this.$btn.removeClass('mdui-fab-opened'); + _this.state = 'closing'; + componentEvent('close', 'fab', _this, _this.$fab); + + // 从上往下依次关闭,最后一个关闭后才表示动画完成 + _this.$dialBtns.eq(-1).transitionEnd(function () { + if (!_this.$btn.hasClass('mdui-fab-opened')) { + _this.state = 'closed'; + componentEvent('closed', 'fab', _this, _this.$fab); + _this.$dial.css('height', 0); + } + }); + }; + + /** + * 切换菜单的打开状态 + */ + Fab.prototype.toggle = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + _this.close(); + } else if (_this.state === 'closing' || _this.state === 'closed') { + _this.open(); + } + }; + + /** + * 获取当前菜单状态 + * @returns {'opening'|'opened'|'closing'|'closed'} + */ + Fab.prototype.getState = function () { + return this.state; + }; + + /** + * 以动画的形式显示浮动操作按钮 + */ + Fab.prototype.show = function () { + this.$fab.removeClass('mdui-fab-hide'); + }; + + /** + * 以动画的形式隐藏浮动操作按钮 + */ + Fab.prototype.hide = function () { + this.$fab.addClass('mdui-fab-hide'); + }; + + return Fab; + })(); + + + /** + * ============================================================================= + * ************ Fab DATA API ************ + * ============================================================================= + */ + + $(function () { + // mouseenter 不冒泡,无法进行事件委托,这里用 mouseover 代替。 + // 不管是 click 、 mouseover 还是 touchstart ,都先初始化。 + + $document.on('touchstart mousedown mouseover', '[mdui-fab]', function (e) { + var $this = $(this); + + var inst = $this.data('mdui.fab'); + if (!inst) { + var options = parseOptions($this.attr('mdui-fab')); + inst = new mdui.Fab($this, options); + $this.data('mdui.fab', inst); + } + }); + }); + + + /** + * ============================================================================= + * ************ Select 下拉选择 ************ + * ============================================================================= + */ + + mdui.Select = (function () { + + /** + * 默认参数 + */ + var DEFAULT = { + position: 'auto', // 下拉框位置,auto、bottom、top + gutter: 16, // 菜单与窗口上下边框至少保持多少间距 + }; + + /** + * 调整菜单位置 + * @param _this Select 实例 + */ + var readjustMenu = function (_this) { + // 窗口高度 + var windowHeight = $window.height(); + + // 配置参数 + var gutter = _this.options.gutter; + var position = _this.options.position; + + // mdui-select 高度 + var selectHeight = parseInt(_this.$select.height()); + + // 菜单项高度 + var $menuItemFirst = _this.$items.eq(0); + var menuItemHeight = parseInt($menuItemFirst.height()); + var menuItemMargin = parseInt($menuItemFirst.css('margin-top')); + + // 菜单高度 + var menuWidth = parseFloat(_this.$select.width() + 0.01); // 必须比真实宽度多一点,不然会出现省略号 + var menuHeight = menuItemHeight * _this.size + menuItemMargin * 2; + + // var menuRealHeight = menuItemHeight * _this.$items.length + menuItemMargin * 2; + + // 菜单是否出现了滚动条 + //var isMenuScrollable = menuRealHeight > menuHeight; + + // select 在窗口中的位置 + var selectTop = _this.$select[0].getBoundingClientRect().top; + + var transformOriginY; + var menuMarginTop; + + // position 为 auto 时 + if (position === 'auto') { + + // 菜单高度不能超过窗口高度 + var heightTemp = windowHeight - gutter * 2; + if (menuHeight > heightTemp) { + menuHeight = heightTemp; + } + + // 菜单的 margin-top + menuMarginTop = -( + menuItemMargin + _this.selectedIndex * menuItemHeight + + (menuItemHeight - selectHeight) / 2 + ); + var menuMarginTopMax = -( + menuItemMargin + (_this.size - 1) * menuItemHeight + + (menuItemHeight - selectHeight) / 2 + ); + if (menuMarginTop < menuMarginTopMax) { + menuMarginTop = menuMarginTopMax; + } + + // 菜单不能超出窗口 + var menuTop = selectTop + menuMarginTop; + + if (menuTop < gutter) { + // 不能超出窗口上方 + menuMarginTop = -(selectTop - gutter); + } else if (menuTop + menuHeight + gutter > windowHeight) { + // 不能超出窗口下方 + menuMarginTop = -(selectTop + menuHeight + gutter - windowHeight); + } + + // transform 的 Y 轴坐标 + transformOriginY = (_this.selectedIndex * menuItemHeight + menuItemHeight / 2 + menuItemMargin) + 'px'; + } else if (position === 'bottom') { + menuMarginTop = selectHeight; + transformOriginY = '0px'; + } else if (position === 'top') { + menuMarginTop = -menuHeight - 1; + transformOriginY = '100%'; + } + + // 设置样式 + _this.$select.width(menuWidth); + _this.$menu + .width(menuWidth) + .height(menuHeight) + .css({ + 'margin-top': menuMarginTop + 'px', + 'transform-origin': + 'center ' + transformOriginY + ' 0', + }); + }; + + /** + * 下拉选择 + * @param selector + * @param opts + * @constructor + */ + function Select(selector, opts) { + var _this = this; + + var $selectNative = _this.$selectNative = $(selector).eq(0); + if (!$selectNative.length) { + return; + } + + // 已通过自定义属性实例化过,不再重复实例化 + var oldInst = $selectNative.data('mdui.select'); + if (oldInst) { + return oldInst; + } + + $selectNative.hide(); + + _this.options = $.extend({}, DEFAULT, (opts || {})); + + // 为当前 select 生成唯一 ID + _this.uniqueID = $.guid(); + + _this.state = 'closed'; + + // 生成 select + _this.handleUpdate(); + + // 点击 select 外面区域关闭 + $document.on('click touchstart', function (e) { + var $target = $(e.target); + if ( + (_this.state === 'opening' || _this.state === 'opened') && + !$target.is(_this.$select) && + !$.contains(_this.$select[0], $target[0]) + ) { + _this.close(); + } + }); + } + + /** + * 对原生 select 组件进行了修改后,需要调用该方法 + */ + Select.prototype.handleUpdate = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + _this.close(); + } + + var $selectNative = _this.$selectNative; + + // 当前的值和文本 + _this.value = $selectNative.val(); + _this.text = ''; + + // 生成 HTML + // 菜单项 + _this.$items = $(); + $selectNative.find('option').each(function (index, option) { + var data = { + value: option.value, + text: option.textContent, + disabled: option.disabled, + selected: _this.value === option.value, + index: index, + }; + + if (_this.value === data.value) { + _this.text = data.text; + _this.selectedIndex = index; + } + + _this.$items = _this.$items.add( + $('
' + data.text + '
') + .data(data) + ); + }); + + // selected + _this.$selected = $('' + _this.text + ''); + + // select + _this.$select = + $( + '
' + ) + .show() + .append(_this.$selected); + + // menu + _this.$menu = + $('
') + .appendTo(_this.$select) + .append(_this.$items); + + $('#' + _this.uniqueID).remove(); + $selectNative.after(_this.$select); + + // 根据 select 的 size 属性设置高度,默认为 6 + _this.size = parseInt(_this.$selectNative.attr('size')); + + if (!_this.size || _this.size < 0) { + _this.size = _this.$items.length; + if (_this.size > 8) { + _this.size = 8; + } + } + + // 点击选项时关闭下拉菜单 + _this.$items.on('click', function () { + if (_this.state === 'closing') { + return; + } + + var $item = $(this); + + if ($item.data('disabled')) { + return; + } + + var itemData = $item.data(); + + _this.$selected.text(itemData.text); + $selectNative.val(itemData.value); + _this.$items.removeAttr('selected'); + $item.attr('selected', ''); + _this.selectedIndex = itemData.index; + _this.value = itemData.value; + _this.text = itemData.text; + $selectNative.trigger('change'); + + _this.close(); + }); + + // 点击 select 时打开下拉菜单 + _this.$select.on('click', function (e) { + var $target = $(e.target); + + // 在菜单上点击时不打开 + if ($target.is('.mdui-select-menu') || $target.is('.mdui-select-menu-item')) { + return; + } + + _this.toggle(); + }); + }; + + /** + * 动画结束回调 + * @param inst + */ + var transitionEnd = function (inst) { + inst.$select.removeClass('mdui-select-closing'); + + if (inst.state === 'opening') { + inst.state = 'opened'; + componentEvent('opened', 'select', inst, inst.$selectNative); + + inst.$menu.css('overflow-y', 'auto'); + } + + if (inst.state === 'closing') { + inst.state = 'closed'; + componentEvent('closed', 'select', inst, inst.$selectNative); + + // 恢复样式 + inst.$select.width(''); + inst.$menu.css({ + 'margin-top': '', + height: '', + width: '', + }); + } + }; + + /** + * 打开 Select + */ + Select.prototype.open = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + return; + } + + _this.state = 'opening'; + componentEvent('open', 'select', _this, _this.$selectNative); + + readjustMenu(_this); + + _this.$select.addClass('mdui-select-open'); + + _this.$menu.transitionEnd(function () { + transitionEnd(_this); + }); + }; + + /** + * 关闭 Select + */ + Select.prototype.close = function () { + var _this = this; + + if (_this.state === 'closing' || _this.state === 'closed') { + return; + } + + _this.state = 'closing'; + componentEvent('close', 'select', _this, _this.$selectNative); + + _this.$menu.css('overflow-y', ''); + + _this.$select + .removeClass('mdui-select-open') + .addClass('mdui-select-closing'); + _this.$menu.transitionEnd(function () { + transitionEnd(_this); + }); + }; + + /** + * 切换 Select 显示状态 + */ + Select.prototype.toggle = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + _this.close(); + } else if (_this.state === 'closing' || _this.state === 'closed') { + _this.open(); + } + }; + + return Select; + })(); + + + /** + * ============================================================================= + * ************ Select 下拉选择 ************ + * ============================================================================= + */ + + $(function () { + mdui.mutation('[mdui-select]', function () { + var $this = $(this); + var inst = $this.data('mdui.select'); + if (!inst) { + inst = new mdui.Select($this, parseOptions($this.attr('mdui-select'))); + $this.data('mdui.select', inst); + } + }); + }); + + + /** + * ============================================================================= + * ************ Appbar ************ + * ============================================================================= + * 滚动时自动隐藏应用栏 + * mdui-appbar-scroll-hide + * mdui-appbar-scroll-toolbar-hide + */ + + $(function () { + // 滚动时隐藏应用栏 + mdui.mutation('.mdui-appbar-scroll-hide', function () { + var $this = $(this); + $this.data('mdui.headroom', new mdui.Headroom($this)); + }); + + // 滚动时只隐藏应用栏中的工具栏 + mdui.mutation('.mdui-appbar-scroll-toolbar-hide', function () { + var $this = $(this); + var inst = new mdui.Headroom($this, { + pinnedClass: 'mdui-headroom-pinned-toolbar', + unpinnedClass: 'mdui-headroom-unpinned-toolbar', + }); + $this.data('mdui.headroom', inst); + }); + }); + + + /** + * ============================================================================= + * ************ Tab ************ + * ============================================================================= + */ + + mdui.Tab = (function () { + + var DEFAULT = { + trigger: 'click', // 触发方式 click: 鼠标点击切换 hover: 鼠标悬浮切换 + //animation: false, // 切换时是否显示动画 + loop: false, // 为true时,在最后一个选项卡时调用 next() 方法会回到第一个选项卡 + }; + + // 元素是否已禁用 + var isDisabled = function ($ele) { + return $ele[0].disabled || $ele.attr('disabled') !== null; + }; + + /** + * 选项卡 + * @param selector + * @param opts + * @returns {*} + * @constructor + */ + function Tab(selector, opts) { + var _this = this; + + _this.$tab = $(selector).eq(0); + if (!_this.$tab.length) { + return; + } + + // 已通过自定义属性实例化过,不再重复实例化 + var oldInst = _this.$tab.data('mdui.tab'); + if (oldInst) { + return oldInst; + } + + _this.options = $.extend({}, DEFAULT, (opts || {})); + _this.$tabs = _this.$tab.children('a'); + _this.$indicator = $('
').appendTo(_this.$tab); + _this.activeIndex = false; // 为 false 时表示没有激活的选项卡,或不存在选项卡 + + // 根据 url hash 获取默认激活的选项卡 + var hash = location.hash; + if (hash) { + _this.$tabs.each(function (i, tab) { + if ($(tab).attr('href') === hash) { + _this.activeIndex = i; + return false; + } + }); + } + + // 含 mdui-tab-active 的元素默认激活 + if (_this.activeIndex === false) { + _this.$tabs.each(function (i, tab) { + if ($(tab).hasClass('mdui-tab-active')) { + _this.activeIndex = i; + return false; + } + }); + } + + // 存在选项卡时,默认激活第一个选项卡 + if (_this.$tabs.length && _this.activeIndex === false) { + _this.activeIndex = 0; + } + + // 设置激活状态选项卡 + _this._setActive(); + + // 监听窗口大小变化事件,调整指示器位置 + $window.on('resize', $.throttle(function () { + _this._setIndicatorPosition(); + }, 100)); + + // 监听点击选项卡事件 + _this.$tabs.each(function (i, tab) { + _this._bindTabEvent(tab); + }); + } + + /** + * 绑定在 Tab 上点击或悬浮的事件 + * @private + */ + Tab.prototype._bindTabEvent = function (tab) { + var _this = this; + var $tab = $(tab); + + // 点击或鼠标移入触发的事件 + var clickEvent = function (e) { + // 禁用状态的选项无法选中 + if (isDisabled($tab)) { + e.preventDefault(); + return; + } + + _this.activeIndex = _this.$tabs.index(tab); + _this._setActive(); + }; + + // 无论 trigger 是 click 还是 hover,都会响应 click 事件 + $tab.on('click', clickEvent); + + // trigger 为 hover 时,额外响应 mouseenter 事件 + if (_this.options.trigger === 'hover') { + $tab.on('mouseenter', clickEvent); + } + + $tab.on('click', function (e) { + // 阻止链接的默认点击动作 + if ($tab.attr('href').indexOf('#') === 0) { + e.preventDefault(); + } + }); + }; + + /** + * 设置激活状态的选项卡 + * @private + */ + Tab.prototype._setActive = function () { + var _this = this; + + _this.$tabs.each(function (i, tab) { + var $tab = $(tab); + var targetId = $tab.attr('href'); + + // 设置选项卡激活状态 + if (i === _this.activeIndex && !isDisabled($tab)) { + if (!$tab.hasClass('mdui-tab-active')) { + componentEvent('change', 'tab', _this, _this.$tab, { + index: _this.activeIndex, + id: targetId.substr(1), + }); + componentEvent('show', 'tab', _this, $tab); + + $tab.addClass('mdui-tab-active'); + } + + $(targetId).show(); + _this._setIndicatorPosition(); + } else { + $tab.removeClass('mdui-tab-active'); + $(targetId).hide(); + } + }); + }; + + /** + * 设置选项卡指示器的位置 + */ + Tab.prototype._setIndicatorPosition = function () { + var _this = this; + var $activeTab; + var activeTabOffset; + + // 选项卡数量为 0 时,不显示指示器 + if (_this.activeIndex === false) { + _this.$indicator.css({ + left: 0, + width: 0, + }); + + return; + } + + $activeTab = _this.$tabs.eq(_this.activeIndex); + if (isDisabled($activeTab)) { + return; + } + + activeTabOffset = $activeTab.offset(); + _this.$indicator.css({ + left: activeTabOffset.left + _this.$tab[0].scrollLeft - + _this.$tab[0].getBoundingClientRect().left + 'px', + width: $activeTab.width() + 'px', + }); + }; + + /** + * 切换到下一个选项卡 + */ + Tab.prototype.next = function () { + var _this = this; + + if (_this.activeIndex === false) { + return; + } + + if (_this.$tabs.length > _this.activeIndex + 1) { + _this.activeIndex++; + } else if (_this.options.loop) { + _this.activeIndex = 0; + } + + _this._setActive(); + }; + + /** + * 切换到上一个选项卡 + */ + Tab.prototype.prev = function () { + var _this = this; + + if (_this.activeIndex === false) { + return; + } + + if (_this.activeIndex > 0) { + _this.activeIndex--; + } else if (_this.options.loop) { + _this.activeIndex = _this.$tabs.length - 1; + } + + _this._setActive(); + }; + + /** + * 显示指定序号或指定id的选项卡 + * @param index 从0开始的序号,或以#开头的id + */ + Tab.prototype.show = function (index) { + var _this = this; + + if (_this.activeIndex === false) { + return; + } + + if (parseInt(index) === index) { + _this.activeIndex = index; + } else { + _this.$tabs.each(function (i, tab) { + if (tab.id === index) { + _this.activeIndex = i; + return false; + } + }); + } + + _this._setActive(); + }; + + /** + * 在父元素的宽度变化时,需要调用该方法重新调整指示器位置 + * 在添加或删除选项卡时,需要调用该方法 + */ + Tab.prototype.handleUpdate = function () { + var _this = this; + + var $oldTabs = _this.$tabs; // 旧的 tabs JQ对象 + var $newTabs = _this.$tab.children('a'); // 新的 tabs JQ对象 + var oldTabsEle = $oldTabs.get(); // 旧 tabs 的元素数组 + var newTabsEle = $newTabs.get(); // 新的 tabs 元素数组 + + if (!$newTabs.length) { + _this.activeIndex = false; + _this.$tabs = $newTabs; + _this._setIndicatorPosition(); + + return; + } + + // 重新遍历选项卡,找出新增的选项卡 + $newTabs.each(function (i, tab) { + // 有新增的选项卡 + if (oldTabsEle.indexOf(tab) < 0) { + _this._bindTabEvent(tab); + + if (_this.activeIndex === false) { + _this.activeIndex = 0; + } else if (i <= _this.activeIndex) { + _this.activeIndex++; + } + } + }); + + // 找出被移除的选项卡 + $oldTabs.each(function (i, tab) { + // 有被移除的选项卡 + if (newTabsEle.indexOf(tab) < 0) { + + if (i < _this.activeIndex) { + _this.activeIndex--; + } else if (i === _this.activeIndex) { + _this.activeIndex = 0; + } + } + }); + + _this.$tabs = $newTabs; + + _this._setActive(); + }; + + return Tab; + })(); + + + /** + * ============================================================================= + * ************ Tab 自定义属性 API ************ + * ============================================================================= + */ + + $(function () { + mdui.mutation('[mdui-tab]', function () { + var $this = $(this); + var inst = $this.data('mdui.tab'); + if (!inst) { + inst = new mdui.Tab($this, parseOptions($this.attr('mdui-tab'))); + $this.data('mdui.tab', inst); + } + }); + }); + + + /** + * ============================================================================= + * ************ Drawer 抽屉栏 ************ + * ============================================================================= + * + * 在桌面设备上默认显示抽屉栏,不显示遮罩层 + * 在手机和平板设备上默认不显示抽屉栏,始终显示遮罩层,且覆盖导航栏 + */ + + mdui.Drawer = (function () { + + /** + * 默认参数 + * @type {{}} + */ + var DEFAULT = { + // 在桌面设备上是否显示遮罩层。手机和平板不受这个参数影响,始终会显示遮罩层 + overlay: false, + + // 是否开启手势 + swipe: false, + }; + + var isDesktop = function () { + return $window.width() >= 1024; + }; + + /** + * 抽屉栏实例 + * @param selector 选择器或 HTML 字符串或 DOM 元素 + * @param opts + * @constructor + */ + function Drawer(selector, opts) { + var _this = this; + + _this.$drawer = $(selector).eq(0); + if (!_this.$drawer.length) { + return; + } + + var oldInst = _this.$drawer.data('mdui.drawer'); + if (oldInst) { + return oldInst; + } + + _this.options = $.extend({}, DEFAULT, (opts || {})); + + _this.overlay = false; // 是否显示着遮罩层 + _this.position = _this.$drawer.hasClass('mdui-drawer-right') ? 'right' : 'left'; + + if (_this.$drawer.hasClass('mdui-drawer-close')) { + _this.state = 'closed'; + } else if (_this.$drawer.hasClass('mdui-drawer-open')) { + _this.state = 'opened'; + } else if (isDesktop()) { + _this.state = 'opened'; + } else { + _this.state = 'closed'; + } + + // 浏览器窗口大小调整时 + $window.on('resize', $.throttle(function () { + // 由手机平板切换到桌面时 + if (isDesktop()) { + // 如果显示着遮罩,则隐藏遮罩 + if (_this.overlay && !_this.options.overlay) { + $.hideOverlay(); + _this.overlay = false; + $.unlockScreen(); + } + + // 没有强制关闭,则状态为打开状态 + if (!_this.$drawer.hasClass('mdui-drawer-close')) { + _this.state = 'opened'; + } + } + + // 由桌面切换到手机平板时。如果抽屉栏是打开着的且没有遮罩层,则关闭抽屉栏 + else { + if (!_this.overlay && _this.state === 'opened') { + // 抽屉栏处于强制打开状态,添加遮罩 + if (_this.$drawer.hasClass('mdui-drawer-open')) { + $.showOverlay(); + _this.overlay = true; + $.lockScreen(); + + $('.mdui-overlay').one('click', function () { + _this.close(); + }); + } else { + _this.state = 'closed'; + } + } + } + }, 100)); + + // 绑定关闭按钮事件 + _this.$drawer.find('[mdui-drawer-close]').each(function () { + $(this).on('click', function () { + _this.close(); + }); + }); + + swipeSupport(_this); + } + + /** + * 滑动手势支持 + * @param _this + */ + var swipeSupport = function (_this) { + // 抽屉栏滑动手势控制 + var openNavEventHandler; + var touchStartX; + var touchStartY; + var swipeStartX; + var swiping = false; + var maybeSwiping = false; + var $body = $('body'); + + // 手势触发的范围 + var swipeAreaWidth = 24; + + function enableSwipeHandling() { + if (!openNavEventHandler) { + $body.on('touchstart', onBodyTouchStart); + openNavEventHandler = onBodyTouchStart; + } + } + + function setPosition(translateX, closeTransform) { + var rtlTranslateMultiplier = _this.position === 'right' ? -1 : 1; + var transformCSS = 'translate(' + (-1 * rtlTranslateMultiplier * translateX) + 'px, 0) !important;'; + _this.$drawer.css( + 'cssText', + 'transform:' + transformCSS + (closeTransform ? 'transition: initial !important;' : '') + ); + } + + function cleanPosition() { + _this.$drawer.css({ + transform: '', + transition: '', + }); + } + + function getMaxTranslateX() { + return _this.$drawer.width() + 10; + } + + function getTranslateX(currentX) { + return Math.min( + Math.max( + swiping === 'closing' ? (swipeStartX - currentX) : (getMaxTranslateX() + swipeStartX - currentX), + 0 + ), + getMaxTranslateX() + ); + } + + function onBodyTouchStart(event) { + touchStartX = event.touches[0].pageX; + if (_this.position === 'right') { + touchStartX = $body.width() - touchStartX; + } + + touchStartY = event.touches[0].pageY; + + if (_this.state !== 'opened') { + if (touchStartX > swipeAreaWidth || openNavEventHandler !== onBodyTouchStart) { + return; + } + } + + maybeSwiping = true; + + $body.on({ + touchmove: onBodyTouchMove, + touchend: onBodyTouchEnd, + touchcancel: onBodyTouchMove, + }); + } + + function onBodyTouchMove(event) { + var touchX = event.touches[0].pageX; + if (_this.position === 'right') { + touchX = $body.width() - touchX; + } + + var touchY = event.touches[0].pageY; + + if (swiping) { + setPosition(getTranslateX(touchX), true); + } else if (maybeSwiping) { + var dXAbs = Math.abs(touchX - touchStartX); + var dYAbs = Math.abs(touchY - touchStartY); + var threshold = 8; + + if (dXAbs > threshold && dYAbs <= threshold) { + swipeStartX = touchX; + swiping = _this.state === 'opened' ? 'closing' : 'opening'; + $.lockScreen(); + setPosition(getTranslateX(touchX), true); + } else if (dXAbs <= threshold && dYAbs > threshold) { + onBodyTouchEnd(); + } + } + } + + function onBodyTouchEnd(event) { + if (swiping) { + var touchX = event.changedTouches[0].pageX; + if (_this.position === 'right') { + touchX = $body.width() - touchX; + } + + var translateRatio = getTranslateX(touchX) / getMaxTranslateX(); + + maybeSwiping = false; + var swipingState = swiping; + swiping = null; + + if (swipingState === 'opening') { + if (translateRatio < 0.92) { + cleanPosition(); + _this.open(); + } else { + cleanPosition(); + } + } else { + if (translateRatio > 0.08) { + cleanPosition(); + _this.close(); + } else { + cleanPosition(); + } + } + + $.unlockScreen(); + } else { + maybeSwiping = false; + } + + $body.off({ + touchmove: onBodyTouchMove, + touchend: onBodyTouchEnd, + touchcancel: onBodyTouchMove, + }); + } + + if (_this.options.swipe) { + enableSwipeHandling(); + } + }; + + /** + * 动画结束回调 + * @param inst + */ + var transitionEnd = function (inst) { + if (inst.$drawer.hasClass('mdui-drawer-open')) { + inst.state = 'opened'; + componentEvent('opened', 'drawer', inst, inst.$drawer); + } else { + inst.state = 'closed'; + componentEvent('closed', 'drawer', inst, inst.$drawer); + } + }; + + /** + * 打开抽屉栏 + */ + Drawer.prototype.open = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + return; + } + + _this.state = 'opening'; + componentEvent('open', 'drawer', _this, _this.$drawer); + + if (!_this.options.overlay) { + $('body').addClass('mdui-drawer-body-' + _this.position); + } + + _this.$drawer + .removeClass('mdui-drawer-close') + .addClass('mdui-drawer-open') + .transitionEnd(function () { + transitionEnd(_this); + }); + + if (!isDesktop() || _this.options.overlay) { + _this.overlay = true; + $.showOverlay().one('click', function () { + _this.close(); + }); + + $.lockScreen(); + } + }; + + /** + * 关闭抽屉栏 + */ + Drawer.prototype.close = function () { + var _this = this; + + if (_this.state === 'closing' || _this.state === 'closed') { + return; + } + + _this.state = 'closing'; + componentEvent('close', 'drawer', _this, _this.$drawer); + + if (!_this.options.overlay) { + $('body').removeClass('mdui-drawer-body-' + _this.position); + } + + _this.$drawer + .addClass('mdui-drawer-close') + .removeClass('mdui-drawer-open') + .transitionEnd(function () { + transitionEnd(_this); + }); + + if (_this.overlay) { + $.hideOverlay(); + _this.overlay = false; + $.unlockScreen(); + } + }; + + /** + * 切换抽屉栏打开/关闭状态 + */ + Drawer.prototype.toggle = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + _this.close(); + } else if (_this.state === 'closing' || _this.state === 'closed') { + _this.open(); + } + }; + + /** + * 获取抽屉栏状态 + * @returns {'opening'|'opened'|'closing'|'closed'} + */ + Drawer.prototype.getState = function () { + return this.state; + }; + + return Drawer; + + })(); + + + /** + * ============================================================================= + * ************ Drawer 自定义属性 API ************ + * ============================================================================= + */ + + $(function () { + mdui.mutation('[mdui-drawer]', function () { + var $this = $(this); + var options = parseOptions($this.attr('mdui-drawer')); + var selector = options.target; + delete options.target; + + var $drawer = $(selector).eq(0); + + var inst = $drawer.data('mdui.drawer'); + if (!inst) { + inst = new mdui.Drawer($drawer, options); + $drawer.data('mdui.drawer', inst); + } + + $this.on('click', function () { + inst.toggle(); + }); + + }); + }); + + + /** + * ============================================================================= + * ************ Dialog 对话框 ************ + * ============================================================================= + */ + + mdui.Dialog = (function () { + + /** + * 默认参数 + */ + var DEFAULT = { + history: true, // 监听 hashchange 事件 + overlay: true, // 打开对话框时是否显示遮罩 + modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭 + closeOnEsc: true, // 按下 esc 关闭对话框 + closeOnCancel: true, // 按下取消按钮时关闭对话框 + closeOnConfirm: true, // 按下确认按钮时关闭对话框 + destroyOnClosed: false, // 关闭后销毁 + }; + + /** + * 遮罩层元素 + */ + var $overlay; + + /** + * 窗口是否已锁定 + */ + var isLockScreen; + + /** + * 当前对话框实例 + */ + var currentInst; + + /** + * 队列名 + */ + var queueName = '__md_dialog'; + + /** + * 窗口宽度变化,或对话框内容变化时,调整对话框位置和对话框内的滚动条 + */ + var readjust = function () { + if (!currentInst) { + return; + } + + var $dialog = currentInst.$dialog; + + var $dialogTitle = $dialog.children('.mdui-dialog-title'); + var $dialogContent = $dialog.children('.mdui-dialog-content'); + var $dialogActions = $dialog.children('.mdui-dialog-actions'); + + // 调整 dialog 的 top 和 height 值 + $dialog.height(''); + $dialogContent.height(''); + + var dialogHeight = $dialog.height(); + $dialog.css({ + top: (($window.height() - dialogHeight) / 2) + 'px', + height: dialogHeight + 'px', + }); + + // 调整 mdui-dialog-content 的高度 + $dialogContent.height(dialogHeight - ($dialogTitle.height() || 0) - ($dialogActions.height() || 0)); + }; + + /** + * hashchange 事件触发时关闭对话框 + */ + var hashchangeEvent = function () { + if (location.hash.substring(1).indexOf('mdui-dialog') < 0) { + currentInst.close(true); + } + }; + + /** + * 点击遮罩层关闭对话框 + * @param e + */ + var overlayClick = function (e) { + if ($(e.target).hasClass('mdui-overlay') && currentInst) { + currentInst.close(); + } + }; + + /** + * 对话框实例 + * @param selector 选择器或 HTML 字符串或 DOM 元素 + * @param opts + * @constructor + */ + function Dialog(selector, opts) { + var _this = this; + + // 对话框元素 + _this.$dialog = $(selector).eq(0); + if (!_this.$dialog.length) { + return; + } + + // 已通过 data 属性实例化过,不再重复实例化 + var oldInst = _this.$dialog.data('mdui.dialog'); + if (oldInst) { + return oldInst; + } + + // 如果对话框元素没有在当前文档中,则需要添加 + if (!$.contains(document.body, _this.$dialog[0])) { + _this.append = true; + $('body').append(_this.$dialog); + } + + _this.options = $.extend({}, DEFAULT, (opts || {})); + _this.state = 'closed'; + + // 绑定取消按钮事件 + _this.$dialog.find('[mdui-dialog-cancel]').each(function () { + $(this).on('click', function () { + componentEvent('cancel', 'dialog', _this, _this.$dialog); + if (_this.options.closeOnCancel) { + _this.close(); + } + }); + }); + + // 绑定确认按钮事件 + _this.$dialog.find('[mdui-dialog-confirm]').each(function () { + $(this).on('click', function () { + componentEvent('confirm', 'dialog', _this, _this.$dialog); + if (_this.options.closeOnConfirm) { + _this.close(); + } + }); + }); + + // 绑定关闭按钮事件 + _this.$dialog.find('[mdui-dialog-close]').each(function () { + $(this).on('click', function () { + _this.close(); + }); + }); + } + + /** + * 动画结束回调 + * @param inst + */ + var transitionEnd = function (inst) { + if (inst.$dialog.hasClass('mdui-dialog-open')) { + inst.state = 'opened'; + componentEvent('opened', 'dialog', inst, inst.$dialog); + } else { + inst.state = 'closed'; + componentEvent('closed', 'dialog', inst, inst.$dialog); + + inst.$dialog.hide(); + + // 所有对话框都关闭,且当前没有打开的对话框时,解锁屏幕 + if (queue.queue(queueName).length === 0 && !currentInst && isLockScreen) { + $.unlockScreen(); + isLockScreen = false; + } + + $window.off('resize', $.throttle(function () { + readjust(); + }, 100)); + + if (inst.options.destroyOnClosed) { + inst.destroy(); + } + } + }; + + /** + * 打开指定对话框 + * @private + */ + Dialog.prototype._doOpen = function () { + var _this = this; + + currentInst = _this; + + if (!isLockScreen) { + $.lockScreen(); + isLockScreen = true; + } + + _this.$dialog.show(); + + readjust(); + $window.on('resize', $.throttle(function () { + readjust(); + }, 100)); + + // 打开消息框 + _this.state = 'opening'; + componentEvent('open', 'dialog', _this, _this.$dialog); + + _this.$dialog + .addClass('mdui-dialog-open') + .transitionEnd(function () { + transitionEnd(_this); + }); + + // 不存在遮罩层元素时,添加遮罩层 + if (!$overlay) { + $overlay = $.showOverlay(5100); + } + + $overlay + + // 点击遮罩层时是否关闭对话框 + [_this.options.modal ? 'off' : 'on']('click', overlayClick) + + // 是否显示遮罩层,不显示时,把遮罩层背景透明 + .css('opacity', _this.options.overlay ? '' : 0); + + if (_this.options.history) { + // 如果 hash 中原来就有 mdui-dialog,先删除,避免后退历史纪录后仍然有 mdui-dialog 导致无法关闭 + // 包括 mdui-dialog 和 &mdui-dialog 和 ?mdui-dialog + var hash = location.hash.substring(1); + if (hash.indexOf('mdui-dialog') > -1) { + hash = hash.replace(/[&?]?mdui-dialog/g, ''); + } + + // 后退按钮关闭对话框 + if (hash) { + location.hash = hash + (hash.indexOf('?') > -1 ? '&' : '?') + 'mdui-dialog'; + } else { + location.hash = 'mdui-dialog'; + } + + $window.on('hashchange', hashchangeEvent); + } + }; + + /** + * 打开对话框 + */ + Dialog.prototype.open = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + return; + } + + // 如果当前有正在打开或已经打开的对话框,或队列不为空,则先加入队列,等旧对话框开始关闭时再打开 + if ( + (currentInst && (currentInst.state === 'opening' || currentInst.state === 'opened')) || + queue.queue(queueName).length + ) { + queue.queue(queueName, function () { + _this._doOpen(); + }); + + return; + } + + _this._doOpen(); + }; + + /** + * 关闭对话框 + */ + Dialog.prototype.close = function () { + var _this = this; + var _arguments = arguments; + + // setTimeout 的作用是: + // 当同时关闭一个对话框,并打开另一个对话框时,使打开对话框的操作先执行,以使需要打开的对话框先加入队列 + setTimeout(function () { + if (_this.state === 'closing' || _this.state === 'closed') { + return; + } + + currentInst = null; + + _this.state = 'closing'; + componentEvent('close', 'dialog', _this, _this.$dialog); + + // 所有对话框都关闭,且当前没有打开的对话框时,隐藏遮罩 + if (queue.queue(queueName).length === 0 && $overlay) { + $.hideOverlay(); + $overlay = null; + } + + _this.$dialog + .removeClass('mdui-dialog-open') + .transitionEnd(function () { + transitionEnd(_this); + }); + + if (_this.options.history && queue.queue(queueName).length === 0) { + // 是否需要后退历史纪录,默认为 false。 + // 为 false 时是通过 js 关闭,需要后退一个历史记录 + // 为 true 时是通过后退按钮关闭,不需要后退历史记录 + if (!_arguments[0]) { + window.history.back(); + } + + $window.off('hashchange', hashchangeEvent); + } + + // 关闭旧对话框,打开新对话框。 + // 加一点延迟,仅仅为了视觉效果更好。不加延时也不影响功能 + setTimeout(function () { + queue.dequeue(queueName); + }, 100); + }, 0); + }; + + /** + * 切换对话框打开/关闭状态 + */ + Dialog.prototype.toggle = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + _this.close(); + } else if (_this.state === 'closing' || _this.state === 'closed') { + _this.open(); + } + }; + + /** + * 获取对话框状态 + * @returns {'opening'|'opened'|'closing'|'closed'} + */ + Dialog.prototype.getState = function () { + return this.state; + }; + + /** + * 销毁对话框 + */ + Dialog.prototype.destroy = function () { + var _this = this; + + if (_this.append) { + _this.$dialog.remove(); + } + + _this.$dialog.removeData('mdui.dialog'); + + if (queue.queue(queueName).length === 0 && !currentInst) { + if ($overlay) { + $.hideOverlay(); + $overlay = null; + } + + if (isLockScreen) { + $.unlockScreen(); + isLockScreen = false; + } + } + }; + + /** + * 对话框内容变化时,需要调用该方法来调整对话框位置和滚动条高度 + */ + Dialog.prototype.handleUpdate = function () { + readjust(); + }; + + // esc 按下时关闭对话框 + $document.on('keydown', function (e) { + if ( + currentInst && + currentInst.options.closeOnEsc && + currentInst.state === 'opened' && + e.keyCode === 27 + ) { + currentInst.close(); + } + }); + + return Dialog; + + })(); + + + /** + * ============================================================================= + * ************ Dialog DATA API ************ + * ============================================================================= + */ + + $(function () { + $document.on('click', '[mdui-dialog]', function () { + var $this = $(this); + var options = parseOptions($this.attr('mdui-dialog')); + var selector = options.target; + delete options.target; + + var $dialog = $(selector).eq(0); + + var inst = $dialog.data('mdui.dialog'); + if (!inst) { + inst = new mdui.Dialog($dialog, options); + $dialog.data('mdui.dialog', inst); + } + + inst.open(); + }); + }); + + + /** + * ============================================================================= + * ************ mdui.dialog(options) ************ + * ============================================================================= + */ + + mdui.dialog = function (options) { + + /** + * 默认参数 + */ + var DEFAULT = { + title: '', // 标题 + content: '', // 文本 + buttons: [], // 按钮 + stackedButtons: false, // 垂直排列按钮 + cssClass: '', // 在 Dialog 上添加的 CSS 类 + history: true, // 监听 hashchange 事件 + overlay: true, // 是否显示遮罩 + modal: false, // 是否模态化对话框 + closeOnEsc: true, // 按下 esc 时关闭对话框 + destroyOnClosed: true, // 关闭后销毁 + onOpen: function () { // 打开动画开始时的回调 + }, + + onOpened: function () { // 打开动画结束后的回调 + }, + + onClose: function () { // 关闭动画开始时的回调 + }, + + onClosed: function () { // 关闭动画结束时的回调 + }, + }; + + /** + * 按钮的默认参数 + */ + var DEFAULT_BUTTON = { + text: '', // 按钮文本 + bold: false, // 按钮文本是否加粗 + close: true, // 点击按钮后关闭对话框 + onClick: function (inst) { // 点击按钮的回调 + }, + }; + + // 合并参数 + options = $.extend({}, DEFAULT, (options || {})); + $.each(options.buttons, function (i, button) { + options.buttons[i] = $.extend({}, DEFAULT_BUTTON, button); + }); + + // 按钮的 HTML + var buttonsHTML = ''; + if (options.buttons.length) { + buttonsHTML = + '
'; + $.each(options.buttons, function (i, button) { + buttonsHTML += + '' + + button.text + + ''; + }); + + buttonsHTML += '
'; + } + + // Dialog 的 HTML + var HTML = + '
' + + (options.title ? '
' + options.title + '
' : '') + + (options.content ? '
' + options.content + '
' : '') + + buttonsHTML + + '
'; + + // 实例化 Dialog + var inst = new mdui.Dialog(HTML, { + history: options.history, + overlay: options.overlay, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + destroyOnClosed: options.destroyOnClosed, + }); + + // 绑定按钮事件 + if (options.buttons.length) { + inst.$dialog.find('.mdui-dialog-actions .mdui-btn').each(function (i, button) { + $(button).on('click', function () { + if (typeof options.buttons[i].onClick === 'function') { + options.buttons[i].onClick(inst); + } + + if (options.buttons[i].close) { + inst.close(); + } + }); + }); + } + + // 绑定打开关闭事件 + if (typeof options.onOpen === 'function') { + inst.$dialog + .on('open.mdui.dialog', function () { + options.onOpen(inst); + }) + .on('opened.mdui.dialog', function () { + options.onOpened(inst); + }) + .on('close.mdui.dialog', function () { + options.onClose(inst); + }) + .on('closed.mdui.dialog', function () { + options.onClosed(inst); + }); + } + + inst.open(); + + return inst; + }; + + + /** + * ============================================================================= + * ************ mdui.alert(text, title, onConfirm, options) ************ + * ************ mdui.alert(text, onConfirm, options) ************ + * ============================================================================= + */ + + mdui.alert = function (text, title, onConfirm, options) { + + // title 参数可选 + if (typeof title === 'function') { + title = ''; + onConfirm = arguments[1]; + options = arguments[2]; + } + + if (onConfirm === undefined) { + onConfirm = function () {}; + } + + if (options === undefined) { + options = {}; + } + + /** + * 默认参数 + */ + var DEFAULT = { + confirmText: 'ok', // 按钮上的文本 + history: true, // 监听 hashchange 事件 + modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭 + closeOnEsc: true, // 按下 esc 关闭对话框 + }; + + options = $.extend({}, DEFAULT, options); + + return mdui.dialog({ + title: title, + content: text, + buttons: [ + { + text: options.confirmText, + bold: false, + close: true, + onClick: onConfirm, + }, + ], + cssClass: 'mdui-dialog-alert', + history: options.history, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + }); + }; + + + /** + * ============================================================================= + * ************ mdui.confirm(text, title, onConfirm, onCancel, options) ************ + * ************ mdui.confirm(text, onConfirm, onCancel, options) ************ + * ============================================================================= + */ + + mdui.confirm = function (text, title, onConfirm, onCancel, options) { + + // title 参数可选 + if (typeof title === 'function') { + title = ''; + onConfirm = arguments[1]; + onCancel = arguments[2]; + options = arguments[3]; + } + + if (onConfirm === undefined) { + onConfirm = function () {}; + } + + if (onCancel === undefined) { + onCancel = function () {}; + } + + if (options === undefined) { + options = {}; + } + + /** + * 默认参数 + */ + var DEFAULT = { + confirmText: 'ok', // 确认按钮的文本 + cancelText: 'cancel', // 取消按钮的文本 + history: true, // 监听 hashchange 事件 + modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭 + closeOnEsc: true, // 按下 esc 关闭对话框 + }; + + options = $.extend({}, DEFAULT, options); + + return mdui.dialog({ + title: title, + content: text, + buttons: [ + { + text: options.cancelText, + bold: false, + close: true, + onClick: onCancel, + }, + { + text: options.confirmText, + bold: false, + close: true, + onClick: onConfirm, + }, + ], + cssClass: 'mdui-dialog-confirm', + history: options.history, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + }); + }; + + + /** + * ============================================================================= + * ************ mdui.prompt(label, title, onConfirm, onCancel, options) ************ + * ************ mdui.prompt(label, onConfirm, onCancel, options) ************ + * ============================================================================= + */ + + mdui.prompt = function (label, title, onConfirm, onCancel, options) { + + // title 参数可选 + if (typeof title === 'function') { + title = ''; + onConfirm = arguments[1]; + onCancel = arguments[2]; + options = arguments[3]; + } + + if (onConfirm === undefined) { + onConfirm = function () {}; + } + + if (onCancel === undefined) { + onCancel = function () {}; + } + + if (options === undefined) { + options = {}; + } + + /** + * 默认参数 + */ + var DEFAULT = { + confirmText: 'ok', // 确认按钮的文本 + cancelText: 'cancel', // 取消按钮的文本 + history: true, // 监听 hashchange 事件 + modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭 + closeOnEsc: true, // 按下 esc 关闭对话框 + type: 'text', // 输入框类型,text: 单行文本框 textarea: 多行文本框 + maxlength: '', // 最大输入字符数 + defaultValue: '', // 输入框中的默认文本 + confirmOnEnter: false, // 按下 enter 确认输入内容 + }; + + options = $.extend({}, DEFAULT, options); + + var content = + '
' + + (label ? '' : '') + + (options.type === 'text' ? + '' : + '') + + (options.type === 'textarea' ? + '' : + '') + + '
'; + + var onCancelClick = onCancel; + if (typeof onCancel === 'function') { + onCancelClick = function (inst) { + var value = inst.$dialog.find('.mdui-textfield-input').val(); + onCancel(value, inst); + } + } + + var onConfirmClick = onConfirm; + if (typeof onConfirm === 'function') { + onConfirmClick = function (inst) { + var value = inst.$dialog.find('.mdui-textfield-input').val(); + onConfirm(value, inst); + } + } + + return mdui.dialog({ + title: title, + content: content, + buttons: [ + { + text: options.cancelText, + bold: false, + close: true, + onClick: onCancelClick, + }, + { + text: options.confirmText, + bold: false, + close: true, + onClick: onConfirmClick, + }, + ], + cssClass: 'mdui-dialog-prompt', + history: options.history, + modal: options.modal, + closeOnEsc: options.closeOnEsc, + onOpen: function (inst) { + + // 初始化输入框 + var $input = inst.$dialog.find('.mdui-textfield-input'); + mdui.updateTextFields($input); + + // 聚焦到输入框 + $input[0].focus(); + + // 捕捉文本框回车键,在单行文本框的情况下触发回调 + if (options.type === 'text' && options.confirmOnEnter === true) { + $input.on('keydown', function (event) { + if (event.keyCode === 13) { + var value = inst.$dialog.find('.mdui-textfield-input').val(); + onConfirm(value, inst); + inst.close(); + } + }); + } + + // 如果是多行输入框,监听输入框的 input 事件,更新对话框高度 + if (options.type === 'textarea') { + $input.on('input', function () { + inst.handleUpdate(); + }); + } + + // 有字符数限制时,加载完文本框后 DOM 会变化,需要更新对话框高度 + if (options.maxlength) { + inst.handleUpdate(); + } + }, + }); + + }; + + + /** + * ============================================================================= + * ************ ToolTip 工具提示 ************ + * ============================================================================= + */ + + mdui.Tooltip = (function () { + + /** + * 默认参数 + */ + var DEFAULT = { + position: 'auto', // 提示所在位置 + delay: 0, // 延迟,单位毫秒 + content: '', // 提示文本,允许包含 HTML + }; + + /** + * 是否是桌面设备 + * @returns {boolean} + */ + var isDesktop = function () { + return $window.width() > 1024; + }; + + /** + * 设置 Tooltip 的位置 + * @param inst + */ + function setPosition(inst) { + var marginLeft; + var marginTop; + var position; + + // 触发的元素 + var targetProps = inst.$target[0].getBoundingClientRect(); + + // 触发的元素和 Tooltip 之间的距离 + var targetMargin = (isDesktop() ? 14 : 24); + + // Tooltip 的宽度和高度 + var tooltipWidth = inst.$tooltip[0].offsetWidth; + var tooltipHeight = inst.$tooltip[0].offsetHeight; + + // Tooltip 的方向 + position = inst.options.position; + + // 自动判断位置,加 2px,使 Tooltip 距离窗口边框至少有 2px 的间距 + if (['bottom', 'top', 'left', 'right'].indexOf(position) === -1) { + if ( + targetProps.top + targetProps.height + targetMargin + tooltipHeight + 2 < + $window.height() + ) { + position = 'bottom'; + } else if (targetMargin + tooltipHeight + 2 < targetProps.top) { + position = 'top'; + } else if (targetMargin + tooltipWidth + 2 < targetProps.left) { + position = 'left'; + } else if ( + targetProps.width + targetMargin + tooltipWidth + 2 < + $window.width() - targetProps.left + ) { + position = 'right'; + } else { + position = 'bottom'; + } + } + + // 设置位置 + switch (position) { + case 'bottom': + marginLeft = -1 * (tooltipWidth / 2); + marginTop = (targetProps.height / 2) + targetMargin; + inst.$tooltip.transformOrigin('top center'); + break; + case 'top': + marginLeft = -1 * (tooltipWidth / 2); + marginTop = -1 * (tooltipHeight + (targetProps.height / 2) + targetMargin); + inst.$tooltip.transformOrigin('bottom center'); + break; + case 'left': + marginLeft = -1 * (tooltipWidth + (targetProps.width / 2) + targetMargin); + marginTop = -1 * (tooltipHeight / 2); + inst.$tooltip.transformOrigin('center right'); + break; + case 'right': + marginLeft = (targetProps.width / 2) + targetMargin; + marginTop = -1 * (tooltipHeight / 2); + inst.$tooltip.transformOrigin('center left'); + break; + } + + var targetOffset = inst.$target.offset(); + inst.$tooltip.css({ + top: targetOffset.top + (targetProps.height / 2) + 'px', + left: targetOffset.left + (targetProps.width / 2) + 'px', + 'margin-left': marginLeft + 'px', + 'margin-top': marginTop + 'px', + }); + } + + /** + * Tooltip 实例 + * @param selector + * @param opts + * @constructor + */ + function Tooltip(selector, opts) { + var _this = this; + + _this.$target = $(selector).eq(0); + if (!_this.$target.length) { + return; + } + + // 已通过 data 属性实例化过,不再重复实例化 + var oldInst = _this.$target.data('mdui.tooltip'); + if (oldInst) { + return oldInst; + } + + _this.options = $.extend({}, DEFAULT, (opts || {})); + _this.state = 'closed'; + + // 创建 Tooltip HTML + _this.$tooltip = $( + '
' + + _this.options.content + + '
' + ).appendTo(document.body); + + // 绑定事件。元素处于 disabled 状态时无法触发鼠标事件,为了统一,把 touch 事件也禁用 + _this.$target + .on('touchstart mouseenter', function (e) { + if (this.disabled) { + return; + } + + if (!TouchHandler.isAllow(e)) { + return; + } + + TouchHandler.register(e); + + _this.open(); + }) + .on('touchend mouseleave', function (e) { + if (this.disabled) { + return; + } + + if (!TouchHandler.isAllow(e)) { + return; + } + + _this.close(); + }) + .on(TouchHandler.unlock, function (e) { + if (this.disabled) { + return; + } + + TouchHandler.register(e); + }); + } + + /** + * 动画结束回调 + * @private + */ + var transitionEnd = function (inst) { + if (inst.$tooltip.hasClass('mdui-tooltip-open')) { + inst.state = 'opened'; + componentEvent('opened', 'tooltip', inst, inst.$target); + } else { + inst.state = 'closed'; + componentEvent('closed', 'tooltip', inst, inst.$target); + } + }; + + /** + * 执行打开 Tooltip + * @private + */ + Tooltip.prototype._doOpen = function () { + var _this = this; + + _this.state = 'opening'; + componentEvent('open', 'tooltip', _this, _this.$target); + + _this.$tooltip + .addClass('mdui-tooltip-open') + .transitionEnd(function () { + transitionEnd(_this); + }); + }; + + /** + * 打开 Tooltip + * @param opts 允许每次打开时设置不同的参数 + */ + Tooltip.prototype.open = function (opts) { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + return; + } + + var oldOpts = $.extend({}, _this.options); + + // 合并 data 属性参数 + $.extend(_this.options, parseOptions(_this.$target.attr('mdui-tooltip'))); + if (opts) { + $.extend(_this.options, opts); + } + + // tooltip 的内容有更新 + if (oldOpts.content !== _this.options.content) { + _this.$tooltip.html(_this.options.content); + } + + setPosition(_this); + + if (_this.options.delay) { + _this.timeoutId = setTimeout(function () { + _this._doOpen(); + }, _this.options.delay); + } else { + _this.timeoutId = false; + _this._doOpen(); + } + }; + + /** + * 关闭 Tooltip + */ + Tooltip.prototype.close = function () { + var _this = this; + + if (_this.timeoutId) { + clearTimeout(_this.timeoutId); + _this.timeoutId = false; + } + + if (_this.state === 'closing' || _this.state === 'closed') { + return; + } + + _this.state = 'closing'; + componentEvent('close', 'tooltip', _this, _this.$target); + + _this.$tooltip + .removeClass('mdui-tooltip-open') + .transitionEnd(function () { + transitionEnd(_this); + }); + }; + + /** + * 切换 Tooltip 状态 + */ + Tooltip.prototype.toggle = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + _this.close(); + } else if (_this.state === 'closing' || _this.state === 'closed') { + _this.open(); + } + }; + + /** + * 获取 Tooltip 状态 + * @returns {'opening'|'opened'|'closing'|'closed'} + */ + Tooltip.prototype.getState = function () { + return this.state; + }; + + /** + * 销毁 Tooltip + */ + /*Tooltip.prototype.destroy = function () { + var _this = this; + clearTimeout(_this.timeoutId); + $.data(_this.target, 'mdui.tooltip', null); + $.remove(_this.tooltip); + };*/ + + return Tooltip; + + })(); + + + /** + * ============================================================================= + * ************ Tooltip DATA API ************ + * ============================================================================= + */ + + $(function () { + // mouseenter 不能冒泡,所以这里用 mouseover 代替 + $document.on('touchstart mouseover', '[mdui-tooltip]', function () { + var $this = $(this); + + var inst = $this.data('mdui.tooltip'); + if (!inst) { + var options = parseOptions($this.attr('mdui-tooltip')); + inst = new mdui.Tooltip($this, options); + $this.data('mdui.tooltip', inst); + } + }); + }); + + + /** + * ============================================================================= + * ************ Snackbar ************ + * ============================================================================= + */ + + (function () { + + /** + * 当前打开着的 Snackbar + */ + var currentInst; + + /** + * 对列名 + * @type {string} + */ + var queueName = '__md_snackbar'; + + var DEFAULT = { + timeout: 4000, // 在用户没有操作时多长时间自动隐藏 + buttonText: '', // 按钮的文本 + buttonColor: '', // 按钮的颜色,支持 blue #90caf9 rgba(...) + position: 'bottom', // 位置 bottom、top、left-top、left-bottom、right-top、right-bottom + closeOnButtonClick: true, // 点击按钮时关闭 + closeOnOutsideClick: true, // 触摸或点击屏幕其他地方时关闭 + onClick: function () { // 在 Snackbar 上点击的回调 + }, + + onButtonClick: function () { // 点击按钮的回调 + }, + + onOpen: function () { // 打开动画开始时的回调 + }, + + onOpened: function () { // 打开动画结束时的回调 + }, + + onClose: function () { // 关闭动画开始时的回调 + }, + + onClosed: function () { // 打开动画结束时的回调 + }, + }; + + /** + * 点击 Snackbar 外面的区域关闭 + * @param e + */ + var closeOnOutsideClick = function (e) { + var $target = $(e.target); + if (!$target.hasClass('mdui-snackbar') && !$target.parents('.mdui-snackbar').length) { + currentInst.close(); + } + }; + + /** + * Snackbar 实例 + * @param message + * @param opts + * @constructor + */ + function Snackbar(message, opts) { + var _this = this; + + _this.message = message; + _this.options = $.extend({}, DEFAULT, (opts || {})); + + // message 参数必须 + if (!_this.message) { + return; + } + + _this.state = 'closed'; + + _this.timeoutId = false; + + // 按钮颜色 + var buttonColorStyle = ''; + var buttonColorClass = ''; + + if ( + _this.options.buttonColor.indexOf('#') === 0 || + _this.options.buttonColor.indexOf('rgb') === 0 + ) { + buttonColorStyle = 'style="color:' + _this.options.buttonColor + '"'; + } else if (_this.options.buttonColor !== '') { + buttonColorClass = 'mdui-text-color-' + _this.options.buttonColor; + } + + // 添加 HTML + _this.$snackbar = $( + '
' + + '
' + + _this.message + + '
' + + (_this.options.buttonText ? + ('' + + _this.options.buttonText + + '') : + '' + ) + + '
') + .appendTo(document.body); + + // 设置位置 + _this._setPosition('close'); + + _this.$snackbar + .reflow() + .addClass('mdui-snackbar-' + _this.options.position); + } + + /** + * 设置 Snackbar 的位置 + * @param state + * @private + */ + Snackbar.prototype._setPosition = function (state) { + var _this = this; + + var snackbarHeight = _this.$snackbar[0].clientHeight; + var position = _this.options.position; + + var translateX; + var translateY; + + // translateX + if (position === 'bottom' || position === 'top') { + translateX = '-50%'; + } else { + translateX = '0'; + } + + // translateY + if (state === 'open') { + translateY = '0'; + } else { + if (position === 'bottom') { + translateY = snackbarHeight; + } + + if (position === 'top') { + translateY = -snackbarHeight; + } + + if (position === 'left-top' || position === 'right-top') { + translateY = -snackbarHeight - 24; + } + + if (position === 'left-bottom' || position === 'right-bottom') { + translateY = snackbarHeight + 24; + } + } + + _this.$snackbar.transform('translate(' + translateX + ',' + translateY + 'px)'); + }; + + /** + * 打开 Snackbar + */ + Snackbar.prototype.open = function () { + var _this = this; + + if (!_this.message) { + return; + } + + if (_this.state === 'opening' || _this.state === 'opened') { + return; + } + + // 如果当前有正在显示的 Snackbar,则先加入队列,等旧 Snackbar 关闭后再打开 + if (currentInst) { + queue.queue(queueName, function () { + _this.open(); + }); + + return; + } + + currentInst = _this; + + // 开始打开 + _this.state = 'opening'; + _this.options.onOpen(); + + _this._setPosition('open'); + + _this.$snackbar + .transitionEnd(function () { + if (_this.state !== 'opening') { + return; + } + + _this.state = 'opened'; + _this.options.onOpened(); + + // 有按钮时绑定事件 + if (_this.options.buttonText) { + _this.$snackbar + .find('.mdui-snackbar-action') + .on('click', function () { + _this.options.onButtonClick(); + if (_this.options.closeOnButtonClick) { + _this.close(); + } + }); + } + + // 点击 snackbar 的事件 + _this.$snackbar.on('click', function (e) { + if (!$(e.target).hasClass('mdui-snackbar-action')) { + _this.options.onClick(); + } + }); + + // 点击 Snackbar 外面的区域关闭 + if (_this.options.closeOnOutsideClick) { + $document.on(TouchHandler.start, closeOnOutsideClick); + } + + // 超时后自动关闭 + if (_this.options.timeout) { + _this.timeoutId = setTimeout(function () { + _this.close(); + }, _this.options.timeout); + } + }); + }; + + /** + * 关闭 Snackbar + */ + Snackbar.prototype.close = function () { + var _this = this; + + if (!_this.message) { + return; + } + + if (_this.state === 'closing' || _this.state === 'closed') { + return; + } + + if (_this.timeoutId) { + clearTimeout(_this.timeoutId); + } + + if (_this.options.closeOnOutsideClick) { + $document.off(TouchHandler.start, closeOnOutsideClick); + } + + _this.state = 'closing'; + _this.options.onClose(); + + _this._setPosition('close'); + + _this.$snackbar + .transitionEnd(function () { + if (_this.state !== 'closing') { + return; + } + + currentInst = null; + _this.state = 'closed'; + _this.options.onClosed(); + _this.$snackbar.remove(); + queue.dequeue(queueName); + }); + }; + + /** + * 打开 Snackbar + * @param message + * @param opts + */ + mdui.snackbar = function (message, opts) { + if (typeof message !== 'string') { + opts = message; + message = opts.message; + } + + var inst = new Snackbar(message, opts); + + inst.open(); + return inst; + }; + + })(); + + + /** + * ============================================================================= + * ************ Bottom navigation 底部导航栏 ************ + * ============================================================================= + */ + + (function () { + + // 切换导航项 + $document.on('click', '.mdui-bottom-nav>a', function () { + var $this = $(this); + var $bottomNav = $this.parent(); + var isThis; + $bottomNav.children('a').each(function (i, item) { + isThis = $this.is(item); + if (isThis) { + componentEvent('change', 'bottomNav', null, $bottomNav, { + index: i, + }); + } + + $(item)[isThis ? 'addClass' : 'removeClass']('mdui-bottom-nav-active'); + }); + }); + + // 滚动时隐藏 mdui-bottom-nav-scroll-hide + mdui.mutation('.mdui-bottom-nav-scroll-hide', function () { + var $this = $(this); + var inst = new mdui.Headroom($this, { + pinnedClass: 'mdui-headroom-pinned-down', + unpinnedClass: 'mdui-headroom-unpinned-down', + }); + $this.data('mdui.headroom', inst); + }); + + })(); + + + /** + * ============================================================================= + * ************ Spinner 圆形进度条 ************ + * ============================================================================= + */ + + (function () { + /** + * layer 的 HTML 结构 + */ + var layerHTML = function () { + var i = arguments.length ? arguments[0] : false; + + return '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
'; + }; + + /** + * 填充 HTML + * @param spinner + */ + var fillHTML = function (spinner) { + var $spinner = $(spinner); + var layer; + if ($spinner.hasClass('mdui-spinner-colorful')) { + layer = layerHTML('1') + layerHTML('2') + layerHTML('3') + layerHTML('4'); + } else { + layer = layerHTML(); + } + + $spinner.html(layer); + }; + + /** + * 页面加载完后自动填充 HTML 结构 + */ + $(function () { + mdui.mutation('.mdui-spinner', function () { + fillHTML(this); + }); + }); + + /** + * 更新圆形进度条 + */ + mdui.updateSpinners = function () { + $(arguments.length ? arguments[0] : '.mdui-spinner').each(function () { + fillHTML(this); + }); + }; + + })(); + + + /** + * ============================================================================= + * ************ Expansion panel 可扩展面板 ************ + * ============================================================================= + */ + + mdui.Panel = (function () { + + function Panel(selector, opts) { + return new CollapsePrivate(selector, opts, 'panel'); + } + + return Panel; + + })(); + + + /** + * ============================================================================= + * ************ Expansion panel 自定义属性 ************ + * ============================================================================= + */ + + $(function () { + mdui.mutation('[mdui-panel]', function () { + var $target = $(this); + + var inst = $target.data('mdui.panel'); + if (!inst) { + var options = parseOptions($target.attr('mdui-panel')); + inst = new mdui.Panel($target, options); + $target.data('mdui.panel', inst); + } + }); + }); + + + /** + * ============================================================================= + * ************ Menu 菜单 ************ + * ============================================================================= + */ + + mdui.Menu = (function () { + + /** + * 默认参数 + */ + var DEFAULT = { + position: 'auto', // 菜单位置 top、bottom、center、auto + align: 'auto', // 菜单和触发它的元素的对齐方式 left、right、center、auto + gutter: 16, // 菜单距离窗口边缘的最小距离,单位 px + fixed: false, // 是否使菜单固定在窗口,不随滚动条滚动 + covered: 'auto', // 菜单是否覆盖在触发它的元素上,true、false。auto 时简单菜单覆盖,级联菜单不覆盖 + subMenuTrigger: 'hover', // 子菜单的触发方式 hover、click + subMenuDelay: 200, // 子菜单的触发延时,仅在 submenuTrigger 为 hover 有效 + }; + + /** + * 调整主菜单位置 + * @param _this 实例 + */ + var readjust = function (_this) { + var menuLeft; + var menuTop; + + // 菜单位置和方向 + var position; + var align; + + // window 窗口的宽度和高度 + var windowHeight = $window.height(); + var windowWidth = $window.width(); + + // 配置参数 + var gutter = _this.options.gutter; + var isCovered = _this.isCovered; + var isFixed = _this.options.fixed; + + // 动画方向参数 + var transformOriginX; + var transformOriginY; + + // 菜单的原始宽度和高度 + var menuWidth = _this.$menu.width(); + var menuHeight = _this.$menu.height(); + + var $anchor = _this.$anchor; + + // 触发菜单的元素在窗口中的位置 + var anchorTmp = $anchor[0].getBoundingClientRect(); + var anchorTop = anchorTmp.top; + var anchorLeft = anchorTmp.left; + var anchorHeight = anchorTmp.height; + var anchorWidth = anchorTmp.width; + var anchorBottom = windowHeight - anchorTop - anchorHeight; + var anchorRight = windowWidth - anchorLeft - anchorWidth; + + // 触发元素相对其拥有定位属性的父元素的位置 + var anchorOffsetTop = $anchor[0].offsetTop; + var anchorOffsetLeft = $anchor[0].offsetLeft; + + // =============================== + // ================= 自动判断菜单位置 + // =============================== + if (_this.options.position === 'auto') { + + // 判断下方是否放得下菜单 + if (anchorBottom + (isCovered ? anchorHeight : 0) > menuHeight + gutter) { + position = 'bottom'; + } + + // 判断上方是否放得下菜单 + else if (anchorTop + (isCovered ? anchorHeight : 0) > menuHeight + gutter) { + position = 'top'; + } + + // 上下都放不下,居中显示 + else { + position = 'center'; + } + } else { + position = _this.options.position; + } + + // =============================== + // ============== 自动判断菜单对齐方式 + // =============================== + if (_this.options.align === 'auto') { + + // 判断右侧是否放得下菜单 + if (anchorRight + anchorWidth > menuWidth + gutter) { + align = 'left'; + } + + // 判断左侧是否放得下菜单 + else if (anchorLeft + anchorWidth > menuWidth + gutter) { + align = 'right'; + } + + // 左右都放不下,居中显示 + else { + align = 'center'; + } + } else { + align = _this.options.align; + } + + // =============================== + // ==================== 设置菜单位置 + // =============================== + if (position === 'bottom') { + transformOriginY = '0'; + + menuTop = + (isCovered ? 0 : anchorHeight) + + (isFixed ? anchorTop : anchorOffsetTop); + + } else if (position === 'top') { + transformOriginY = '100%'; + + menuTop = + (isCovered ? anchorHeight : 0) + + (isFixed ? (anchorTop - menuHeight) : (anchorOffsetTop - menuHeight)); + + } else { + transformOriginY = '50%'; + + // =====================在窗口中居中 + // 显示的菜单的高度,简单菜单高度不超过窗口高度,若超过了则在菜单内部显示滚动条 + // 级联菜单内部不允许出现滚动条 + var menuHeightTemp = menuHeight; + + // 简单菜单比窗口高时,限制菜单高度 + if (!_this.isCascade) { + if (menuHeight + gutter * 2 > windowHeight) { + menuHeightTemp = windowHeight - gutter * 2; + _this.$menu.height(menuHeightTemp); + } + } + + menuTop = + (windowHeight - menuHeightTemp) / 2 + + (isFixed ? 0 : (anchorOffsetTop - anchorTop)); + } + + _this.$menu.css('top', menuTop + 'px'); + + // =============================== + // ================= 设置菜单对齐方式 + // =============================== + if (align === 'left') { + transformOriginX = '0'; + + menuLeft = isFixed ? anchorLeft : anchorOffsetLeft; + + } else if (align === 'right') { + transformOriginX = '100%'; + + menuLeft = isFixed ? + (anchorLeft + anchorWidth - menuWidth) : + (anchorOffsetLeft + anchorWidth - menuWidth); + } else { + transformOriginX = '50%'; + + //=======================在窗口中居中 + // 显示的菜单的宽度,菜单宽度不能超过窗口宽度 + var menuWidthTemp = menuWidth; + + // 菜单比窗口宽,限制菜单宽度 + if (menuWidth + gutter * 2 > windowWidth) { + menuWidthTemp = windowWidth - gutter * 2; + _this.$menu.width(menuWidthTemp); + } + + menuLeft = + (windowWidth - menuWidthTemp) / 2 + + (isFixed ? 0 : anchorOffsetLeft - anchorLeft); + } + + _this.$menu.css('left', menuLeft + 'px'); + + // 设置菜单动画方向 + _this.$menu.transformOrigin(transformOriginX + ' ' + transformOriginY); + }; + + /** + * 调整子菜单的位置 + * @param $submenu + */ + var readjustSubmenu = function ($submenu) { + var $item = $submenu.parent('.mdui-menu-item'); + + var submenuTop; + var submenuLeft; + + // 子菜单位置和方向 + var position; // top、bottom + var align; // left、right + + // window 窗口的宽度和高度 + var windowHeight = $window.height(); + var windowWidth = $window.width(); + + // 动画方向参数 + var transformOriginX; + var transformOriginY; + + // 子菜单的原始宽度和高度 + var submenuWidth = $submenu.width(); + var submenuHeight = $submenu.height(); + + // 触发子菜单的菜单项的宽度高度 + var itemTmp = $item[0].getBoundingClientRect(); + var itemWidth = itemTmp.width; + var itemHeight = itemTmp.height; + var itemLeft = itemTmp.left; + var itemTop = itemTmp.top; + + // =================================== + // ===================== 判断菜单上下位置 + // =================================== + + // 判断下方是否放得下菜单 + if (windowHeight - itemTop > submenuHeight) { + position = 'bottom'; + } + + // 判断上方是否放得下菜单 + else if (itemTop + itemHeight > submenuHeight) { + position = 'top'; + } + + // 默认放在下方 + else { + position = 'bottom'; + } + + // ==================================== + // ====================== 判断菜单左右位置 + // ==================================== + + // 判断右侧是否放得下菜单 + if (windowWidth - itemLeft - itemWidth > submenuWidth) { + align = 'left'; + } + + // 判断左侧是否放得下菜单 + else if (itemLeft > submenuWidth) { + align = 'right'; + } + + // 默认放在右侧 + else { + align = 'left'; + } + + // =================================== + // ======================== 设置菜单位置 + // =================================== + if (position === 'bottom') { + transformOriginY = '0'; + submenuTop = '0'; + } else if (position === 'top') { + transformOriginY = '100%'; + submenuTop = -submenuHeight + itemHeight; + } + + $submenu.css('top', submenuTop + 'px'); + + // =================================== + // ===================== 设置菜单对齐方式 + // =================================== + if (align === 'left') { + transformOriginX = '0'; + submenuLeft = itemWidth; + } else if (align === 'right') { + transformOriginX = '100%'; + submenuLeft = -submenuWidth; + } + + $submenu.css('left', submenuLeft + 'px'); + + // 设置菜单动画方向 + $submenu.transformOrigin(transformOriginX + ' ' + transformOriginY); + }; + + /** + * 打开子菜单 + * @param $submenu + */ + var openSubMenu = function ($submenu) { + readjustSubmenu($submenu); + + $submenu + .addClass('mdui-menu-open') + .parent('.mdui-menu-item') + .addClass('mdui-menu-item-active'); + }; + + /** + * 关闭子菜单,及其嵌套的子菜单 + * @param $submenu + */ + var closeSubMenu = function ($submenu) { + // 关闭子菜单 + $submenu + .removeClass('mdui-menu-open') + .addClass('mdui-menu-closing') + .transitionEnd(function () { + $submenu.removeClass('mdui-menu-closing'); + }) + + // 移除激活状态的样式 + .parent('.mdui-menu-item') + .removeClass('mdui-menu-item-active'); + + // 循环关闭嵌套的子菜单 + $submenu.find('.mdui-menu').each(function () { + var $subSubmenu = $(this); + $subSubmenu + .removeClass('mdui-menu-open') + .addClass('mdui-menu-closing') + .transitionEnd(function () { + $subSubmenu.removeClass('mdui-menu-closing'); + }) + .parent('.mdui-menu-item') + .removeClass('mdui-menu-item-active'); + }); + }; + + /** + * 切换子菜单状态 + * @param $submenu + */ + var toggleSubMenu = function ($submenu) { + if ($submenu.hasClass('mdui-menu-open')) { + closeSubMenu($submenu); + } else { + openSubMenu($submenu); + } + }; + + /** + * 绑定子菜单事件 + * @param inst 实例 + */ + var bindSubMenuEvent = function (inst) { + // 点击打开子菜单 + inst.$menu.on('click', '.mdui-menu-item', function (e) { + var $this = $(this); + var $target = $(e.target); + + // 禁用状态菜单不操作 + if ($this.attr('disabled') !== null) { + return; + } + + // 没有点击在子菜单的菜单项上时,不操作(点在了子菜单的空白区域、或分隔线上) + if ($target.is('.mdui-menu') || $target.is('.mdui-divider')) { + return; + } + + // 阻止冒泡,点击菜单项时只在最后一级的 mdui-menu-item 上生效,不向上冒泡 + if (!$target.parents('.mdui-menu-item').eq(0).is($this)) { + return; + } + + // 当前菜单的子菜单 + var $submenu = $this.children('.mdui-menu'); + + // 先关闭除当前子菜单外的所有同级子菜单 + $this.parent('.mdui-menu').children('.mdui-menu-item').each(function () { + var $tmpSubmenu = $(this).children('.mdui-menu'); + if ( + $tmpSubmenu.length && + (!$submenu.length || !$tmpSubmenu.is($submenu)) + ) { + closeSubMenu($tmpSubmenu); + } + }); + + // 切换当前子菜单 + if ($submenu.length) { + toggleSubMenu($submenu); + } + }); + + if (inst.options.subMenuTrigger === 'hover') { + // 临时存储 setTimeout 对象 + var timeout; + + var timeoutOpen; + var timeoutClose; + + inst.$menu.on('mouseover mouseout', '.mdui-menu-item', function (e) { + var $this = $(this); + var eventType = e.type; + var $relatedTarget = $(e.relatedTarget); + + // 禁用状态的菜单不操作 + if ($this.attr('disabled') !== null) { + return; + } + + // 用 mouseover 模拟 mouseenter + if (eventType === 'mouseover') { + if (!$this.is($relatedTarget) && $.contains($this[0], $relatedTarget[0])) { + return; + } + } + + // 用 mouseout 模拟 mouseleave + else if (eventType === 'mouseout') { + if ($this.is($relatedTarget) || $.contains($this[0], $relatedTarget[0])) { + return; + } + } + + // 当前菜单项下的子菜单,未必存在 + var $submenu = $this.children('.mdui-menu'); + + // 鼠标移入菜单项时,显示菜单项下的子菜单 + if (eventType === 'mouseover') { + if ($submenu.length) { + + // 当前子菜单准备打开时,如果当前子菜单正准备着关闭,不用再关闭了 + var tmpClose = $submenu.data('timeoutClose.mdui.menu'); + if (tmpClose) { + clearTimeout(tmpClose); + } + + // 如果当前子菜单已经打开,不操作 + if ($submenu.hasClass('mdui-menu-open')) { + return; + } + + // 当前子菜单准备打开时,其他准备打开的子菜单不用再打开了 + clearTimeout(timeoutOpen); + + // 准备打开当前子菜单 + timeout = timeoutOpen = setTimeout(function () { + openSubMenu($submenu); + }, inst.options.subMenuDelay); + + $submenu.data('timeoutOpen.mdui.menu', timeout); + } + } + + // 鼠标移出菜单项时,关闭菜单项下的子菜单 + else if (eventType === 'mouseout') { + if ($submenu.length) { + + // 鼠标移出菜单项时,如果当前菜单项下的子菜单正准备打开,不用再打开了 + var tmpOpen = $submenu.data('timeoutOpen.mdui.menu'); + if (tmpOpen) { + clearTimeout(tmpOpen); + } + + // 准备关闭当前子菜单 + timeout = timeoutClose = setTimeout(function () { + closeSubMenu($submenu); + }, inst.options.subMenuDelay); + + $submenu.data('timeoutClose.mdui.menu', timeout); + } + } + }); + } + }; + + /** + * 菜单 + * @param anchorSelector 点击该元素触发菜单 + * @param menuSelector 菜单 + * @param opts 配置项 + * @constructor + */ + function Menu(anchorSelector, menuSelector, opts) { + var _this = this; + + // 触发菜单的元素 + _this.$anchor = $(anchorSelector).eq(0); + if (!_this.$anchor.length) { + return; + } + + // 已通过自定义属性实例化过,不再重复实例化 + var oldInst = _this.$anchor.data('mdui.menu'); + if (oldInst) { + return oldInst; + } + + _this.$menu = $(menuSelector).eq(0); + + // 触发菜单的元素 和 菜单必须是同级的元素,否则菜单可能不能定位 + if (!_this.$anchor.siblings(_this.$menu).length) { + return; + } + + _this.options = $.extend({}, DEFAULT, (opts || {})); + _this.state = 'closed'; + + // 是否是级联菜单 + _this.isCascade = _this.$menu.hasClass('mdui-menu-cascade'); + + // covered 参数处理 + if (_this.options.covered === 'auto') { + _this.isCovered = !_this.isCascade; + } else { + _this.isCovered = _this.options.covered; + } + + // 点击触发菜单切换 + _this.$anchor.on('click', function () { + _this.toggle(); + }); + + // 点击菜单外面区域关闭菜单 + $document.on('click touchstart', function (e) { + var $target = $(e.target); + if ( + (_this.state === 'opening' || _this.state === 'opened') && + !$target.is(_this.$menu) && + !$.contains(_this.$menu[0], $target[0]) && + !$target.is(_this.$anchor) && + !$.contains(_this.$anchor[0], $target[0]) + ) { + _this.close(); + } + }); + + // 点击不含子菜单的菜单条目关闭菜单 + $document.on('click', '.mdui-menu-item', function (e) { + var $this = $(this); + if (!$this.find('.mdui-menu').length && $this.attr('disabled') === null) { + _this.close(); + } + }); + + // 绑定点击或鼠标移入含子菜单的条目的事件 + bindSubMenuEvent(_this); + + // 窗口大小变化时,重新调整菜单位置 + $window.on('resize', $.throttle(function () { + readjust(_this); + }, 100)); + } + + /** + * 切换菜单状态 + */ + Menu.prototype.toggle = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + _this.close(); + } else if (_this.state === 'closing' || _this.state === 'closed') { + _this.open(); + } + }; + + /** + * 动画结束回调 + * @param inst + */ + var transitionEnd = function (inst) { + inst.$menu.removeClass('mdui-menu-closing'); + + if (inst.state === 'opening') { + inst.state = 'opened'; + componentEvent('opened', 'menu', inst, inst.$menu); + } + + if (inst.state === 'closing') { + inst.state = 'closed'; + componentEvent('closed', 'menu', inst, inst.$menu); + + // 关闭后,恢复菜单样式到默认状态,并恢复 fixed 定位 + inst.$menu.css({ + top: '', + left: '', + width: '', + position: 'fixed', + }); + } + }; + + /** + * 打开菜单 + */ + Menu.prototype.open = function () { + var _this = this; + + if (_this.state === 'opening' || _this.state === 'opened') { + return; + } + + _this.state = 'opening'; + componentEvent('open', 'menu', _this, _this.$menu); + + // 调整菜单位置 + readjust(_this); + + _this.$menu + + // 菜单隐藏状态使用使用 fixed 定位。 + .css('position', _this.options.fixed ? 'fixed' : 'absolute') + + // 打开菜单 + .addClass('mdui-menu-open') + + // 打开动画完成后 + .transitionEnd(function () { + transitionEnd(_this); + }); + }; + + /** + * 关闭菜单 + */ + Menu.prototype.close = function () { + var _this = this; + if (_this.state === 'closing' || _this.state === 'closed') { + return; + } + + _this.state = 'closing'; + componentEvent('close', 'menu', _this, _this.$menu); + + // 菜单开始关闭时,关闭所有子菜单 + _this.$menu.find('.mdui-menu').each(function () { + closeSubMenu($(this)); + }); + + _this.$menu + .removeClass('mdui-menu-open') + .addClass('mdui-menu-closing') + .transitionEnd(function () { + transitionEnd(_this); + }); + }; + + return Menu; + })(); + + + /** + * ============================================================================= + * ************ Menu 自定义属性 API ************ + * ============================================================================= + */ + + $(function () { + $document.on('click', '[mdui-menu]', function () { + var $this = $(this); + + var inst = $this.data('mdui.menu'); + if (!inst) { + var options = parseOptions($this.attr('mdui-menu')); + var menuSelector = options.target; + delete options.target; + + inst = new mdui.Menu($this, menuSelector, options); + $this.data('mdui.menu', inst); + + inst.toggle(); + } + }); + }); + + + /* jshint ignore:start */ + mdui.JQ = $; + return mdui; +}))); +/* jshint ignore:end */ diff --git a/libs/mdui/js/mdui.min.js b/libs/mdui/js/mdui.min.js new file mode 100644 index 0000000..30949e3 --- /dev/null +++ b/libs/mdui/js/mdui.min.js @@ -0,0 +1,7 @@ +/*! + * mdui v0.4.3 (https://mdui.org) + * Copyright 2016-2019 zdhxiong + * Licensed under MIT + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.mdui=e()}(this,function(){"use strict";var a,d={};a=0,window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame,window.cancelAnimationFrame=window.webkitCancelAnimationFrame),window.requestAnimationFrame||(window.requestAnimationFrame=function(t,e){var n=(new Date).getTime(),i=Math.max(0,16.7-(n-a)),o=window.setTimeout(function(){t(n+i)},i);return a=n+i,o}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)});var n,g=function(){var c=function(t){for(var e=0;e"===n[n.length-1]){var i="div";0===n.indexOf(":~]/)?document.querySelectorAll(t):[document.getElementById(t.slice(1))],r=0;r"===t[t.length-1])e=v(t).get();else{var n=document.createElement("div");n.innerHTML=t,e=[].slice.call(n.childNodes)}return 1===a&&e.reverse(),this.each(function(n,i){x(e,function(t,e){o&&0').appendTo(document.body).reflow().css("z-index",t));var n=e.data("overlay-level")||0;return e.data("overlay-level",++n).addClass("mdui-overlay-show")},hideOverlay:function(t){var e=g(".mdui-overlay");if(e.length){var n=t?1:e.data("overlay-level");1i.lastScrollY?"down":"up",n=Math.abs(t-i.lastScrollY)>=i.options.tolerance[e];t>i.lastScrollY&&t>=i.options.offset&&n?i.unpin():(t"};function n(t){this.$table=g(t).eq(0),this.$table.length&&this.init()}n.prototype.init=function(){var t=this;t.$thRow=t.$table.find("thead tr"),t.$tdRows=t.$table.find("tbody tr"),t.$tdCheckboxs=g(),t.selectable=t.$table.hasClass("mdui-table-selectable"),t.selectedRow=0,t._updateThCheckbox(),t._updateTdCheckbox(),t._updateNumericCol()},n.prototype._updateThCheckboxStatus=function(){var t=this,e=t.$thCheckbox[0];e.checked=t.selectedRow===t.$tdRows.length,e.indeterminate=t.selectedRow&&t.selectedRow!==t.$tdRows.length},n.prototype._updateTdCheckbox=function(){var n=this;n.$tdRows.each(function(){var t=g(this);if(t.find(".mdui-table-cell-checkbox").remove(),n.selectable){var e=g(i("td")).prependTo(t).find('input[type="checkbox"]');t.hasClass("mdui-table-row-selected")&&(e[0].checked=!0,n.selectedRow++),n._updateThCheckboxStatus(),e.on("change",function(){e[0].checked?(t.addClass("mdui-table-row-selected"),n.selectedRow++):(t.removeClass("mdui-table-row-selected"),n.selectedRow--),n._updateThCheckboxStatus()}),n.$tdCheckboxs=n.$tdCheckboxs.add(e)}})},n.prototype._updateThCheckbox=function(){var t=this;t.$thRow.find(".mdui-table-cell-checkbox").remove(),t.selectable&&(t.$thCheckbox=g(i("th")).prependTo(t.$thRow).find('input[type="checkbox"]').on("change",function(){var n=t.$thCheckbox[0].checked;t.selectedRow=n?t.$tdRows.length:0,t.$tdCheckboxs.each(function(t,e){e.checked=n}),t.$tdRows.each(function(t,e){g(e)[n?"addClass":"removeClass"]("mdui-table-row-selected")})}))},n.prototype._updateNumericCol=function(){var n,i,o=this;o.$thRow.find("th").each(function(e,t){n=g(t),o.$tdRows.each(function(){i=g(this);var t=n.hasClass("mdui-table-col-numeric")?"addClass":"removeClass";i.find("td").eq(e)[t]("mdui-table-col-numeric")})})},d.mutation(".mdui-table",function(){var t=g(this);t.data("mdui.table")||t.data("mdui.table",new n(t))}),d.updateTables=function(){g(arguments.length?arguments[0]:".mdui-table").each(function(){var t=g(this),e=t.data("mdui.table");e?e.init():t.data("mdui.table",new n(t))})}}(),c={delay:200,show:function(t,e){if(2!==t.button){var n,i=(n="touches"in t&&t.touches.length?t.touches[0]:t).pageX,o=n.pageY,a=e.offset(),s=i-a.left,r=o-a.top,d=e.innerHeight(),c=e.innerWidth(),u=Math.max(Math.pow(Math.pow(d,2)+Math.pow(c,2),.5),48),l="translate3d("+(c/2-s)+"px, "+(d/2-r)+"px, 0) scale(1)";g('
').data("translate",l).prependTo(e).reflow().transform(l)}},hide:function(t,e){var n=g(e||this);n.children(".mdui-ripple-wave").each(function(){!function(t){if(!t.length||t.data("isRemoved"))return;t.data("isRemoved",!0);var e=setTimeout(function(){t.remove()},400),n=t.data("translate");t.addClass("mdui-ripple-wave-fill").transform(n.replace("scale(1)","scale(1.01)")).transitionEnd(function(){clearTimeout(e),t.addClass("mdui-ripple-wave-out").transform(n.replace("scale(1)","scale(1.01)")),e=setTimeout(function(){t.remove()},700),setTimeout(function(){t.transitionEnd(function(){clearTimeout(e),t.remove()})},0)})}(g(this))}),n.off("touchmove touchend touchcancel mousemove mouseup mouseleave",c.hide)}},f.on(r.start,function(e){if(r.isAllow(e)&&(r.register(e),e.target!==document)){var n,t=g(e.target);if((n=t.hasClass("mdui-ripple")?t:t.parents(".mdui-ripple").eq(0)).length){if(n[0].disabled||null!==n.attr("disabled"))return;if("touchstart"===e.type){var i=!1,o=setTimeout(function(){o=null,c.show(e,n)},c.delay),a=function(t){o&&(clearTimeout(o),o=null,c.show(e,n)),i||(i=!0,c.hide(t,n))};n.on("touchmove",function(t){o&&(clearTimeout(o),o=null),a(t)}).on("touchend touchcancel",a)}else c.show(e,n),n.on("touchmove touchend touchcancel mousemove mouseup mouseleave",c.hide)}}}).on(r.unlock,r.register),h=function(t,e){return!("object"!=typeof t||null===t||void 0===t[e]||!t[e])&&t[e]},f.on("input focus blur",".mdui-textfield-input",{useCapture:!0},function(t){var e=t.target,n=g(e),i=t.type,o=n.val(),a=h(t.detail,"reInit"),s=h(t.detail,"domLoadedEvent"),r=n.attr("type")||"";if(!(0<=["checkbox","button","submit","range","radio","image"].indexOf(r))){var d=n.parent(".mdui-textfield");if("focus"===i&&d.addClass("mdui-textfield-focus"),"blur"===i&&d.removeClass("mdui-textfield-focus"),"blur"!==i&&"input"!==i||d[o&&""!==o?"addClass":"removeClass"]("mdui-textfield-not-empty"),d[e.disabled?"addClass":"removeClass"]("mdui-textfield-disabled"),"input"!==i&&"blur"!==i||s||e.validity&&d[e.validity.valid?"removeClass":"addClass"]("mdui-textfield-invalid-html5"),"textarea"===t.target.nodeName.toLowerCase()){var c=n.val(),u=!1;""===c.replace(/[\r\n]/g,"")&&(n.val(" "+c),u=!0),n.height("");var l=n.height(),f=e.scrollHeight;l / '+p+"
").appendTo(d),d.find(".mdui-textfield-counter-inputed").text(o.length.toString())),(d.find(".mdui-textfield-helper").length||d.find(".mdui-textfield-error").length||p)&&d.addClass("mdui-textfield-has-bottom")}}),f.on("click",".mdui-textfield-expandable .mdui-textfield-icon",function(){g(this).parents(".mdui-textfield").addClass("mdui-textfield-expanded").find(".mdui-textfield-input")[0].focus()}),f.on("click",".mdui-textfield-expanded .mdui-textfield-close",function(){g(this).parents(".mdui-textfield").removeClass("mdui-textfield-expanded").find(".mdui-textfield-input").val("")}),d.updateTextFields=function(){g(arguments.length?arguments[0]:".mdui-textfield").each(function(){g(this).find(".mdui-textfield-input").trigger("input",{reInit:!0})})},g(function(){d.mutation(".mdui-textfield",function(){g(this).find(".mdui-textfield-input").trigger("input",{domLoadedEvent:!0})})}),u=function(t){var e=t.data(),n=e.$track,i=e.$fill,o=e.$thumb,a=e.$input,s=e.min,r=e.max,d=e.disabled,c=e.discrete,u=e.$thumbText,l=a.val(),f=(l-s)/(r-s)*100;i.width(f+"%"),n.width(100-f+"%"),d&&(i.css("padding-right","6px"),n.css("padding-left","6px")),o.css("left",f+"%"),c&&u.text(l),t[0===parseFloat(f)?"addClass":"removeClass"]("mdui-slider-zero")},t=function(t){var e=g('
'),n=g('
'),i=g('
'),o=t.find('input[type="range"]'),a=o[0].disabled;t[a?"addClass":"removeClass"]("mdui-slider-disabled"),t.find(".mdui-slider-track").remove(),t.find(".mdui-slider-fill").remove(),t.find(".mdui-slider-thumb").remove(),t.append(e).append(n).append(i);var s,r=t.hasClass("mdui-slider-discrete");r&&(s=g(""),i.empty().append(s)),t.data({$track:e,$fill:n,$thumb:i,$input:o,min:o.attr("min"),max:o.attr("max"),disabled:a,discrete:r,$thumbText:s}),u(t)},e='.mdui-slider input[type="range"]',f.on("input change",e,function(){var t=g(this).parent();u(t)}).on(r.start,e,function(t){r.isAllow(t)&&(r.register(t),this.disabled||g(this).parent().addClass("mdui-slider-focus"))}).on(r.end,e,function(t){r.isAllow(t)&&(this.disabled||g(this).parent().removeClass("mdui-slider-focus"))}).on(r.unlock,e,r.register),d.updateSliders=function(){g(arguments.length?arguments[0]:".mdui-slider").each(function(){t(g(this))})},g(function(){d.mutation(".mdui-slider",function(){t(g(this))})}),d.Fab=function(){var o={trigger:"hover"};function t(t,e){var n=this;if(n.$fab=g(t).eq(0),n.$fab.length){var i=n.$fab.data("mdui.fab");if(i)return i;n.options=g.extend({},o,e||{}),n.state="closed",n.$btn=n.$fab.find(".mdui-fab"),n.$dial=n.$fab.find(".mdui-fab-dial"),n.$dialBtns=n.$dial.find(".mdui-fab"),"hover"===n.options.trigger&&(n.$btn.on("touchstart mouseenter",function(){n.open()}),n.$fab.on("mouseleave",function(){n.close()})),"click"===n.options.trigger&&n.$btn.on(r.start,function(){n.open()}),f.on(r.start,function(t){g(t.target).parents(".mdui-fab-wrapper").length||n.close()})}}return t.prototype.open=function(){var n=this;"opening"!==n.state&&"opened"!==n.state&&(n.$dialBtns.each(function(t,e){e.style["transition-delay"]=e.style["-webkit-transition-delay"]=15*(n.$dialBtns.length-t)+"ms"}),n.$dial.css("height","auto").addClass("mdui-fab-dial-show"),n.$btn.find(".mdui-fab-opened").length&&n.$btn.addClass("mdui-fab-opened"),n.state="opening",p("open","fab",n,n.$fab),n.$dialBtns.eq(0).transitionEnd(function(){n.$btn.hasClass("mdui-fab-opened")&&(n.state="opened",p("opened","fab",n,n.$fab))}))},t.prototype.close=function(){var t=this;"closing"!==t.state&&"closed"!==t.state&&(t.$dialBtns.each(function(t,e){e.style["transition-delay"]=e.style["-webkit-transition-delay"]=15*t+"ms"}),t.$dial.removeClass("mdui-fab-dial-show"),t.$btn.removeClass("mdui-fab-opened"),t.state="closing",p("close","fab",t,t.$fab),t.$dialBtns.eq(-1).transitionEnd(function(){t.$btn.hasClass("mdui-fab-opened")||(t.state="closed",p("closed","fab",t,t.$fab),t.$dial.css("height",0))}))},t.prototype.toggle=function(){var t=this;"opening"===t.state||"opened"===t.state?t.close():"closing"!==t.state&&"closed"!==t.state||t.open()},t.prototype.getState=function(){return this.state},t.prototype.show=function(){this.$fab.removeClass("mdui-fab-hide")},t.prototype.hide=function(){this.$fab.addClass("mdui-fab-hide")},t}(),g(function(){f.on("touchstart mousedown mouseover","[mdui-fab]",function(t){var e=g(this),n=e.data("mdui.fab");if(!n){var i=s(e.attr("mdui-fab"));n=new d.Fab(e,i),e.data("mdui.fab",n)}})}),d.Select=function(){var a={position:"auto",gutter:16};function t(t,e){var n=this,i=n.$selectNative=g(t).eq(0);if(i.length){var o=i.data("mdui.select");if(o)return o;i.hide(),n.options=g.extend({},a,e||{}),n.uniqueID=g.guid(),n.state="closed",n.handleUpdate(),f.on("click touchstart",function(t){var e=g(t.target);"opening"!==n.state&&"opened"!==n.state||e.is(n.$select)||g.contains(n.$select[0],e[0])||n.close()})}}t.prototype.handleUpdate=function(){var i=this;"opening"!==i.state&&"opened"!==i.state||i.close();var n=i.$selectNative;i.value=n.val(),i.text="",i.$items=g(),n.find("option").each(function(t,e){var n={value:e.value,text:e.textContent,disabled:e.disabled,selected:i.value===e.value,index:t};i.value===n.value&&(i.text=n.text,i.selectedIndex=t),i.$items=i.$items.add(g('
"+n.text+"
").data(n))}),i.$selected=g(''+i.text+""),i.$select=g('
').show().append(i.$selected),i.$menu=g('
').appendTo(i.$select).append(i.$items),g("#"+i.uniqueID).remove(),n.after(i.$select),i.size=parseInt(i.$selectNative.attr("size")),(!i.size||i.size<0)&&(i.size=i.$items.length,8').appendTo(n.$tab),n.activeIndex=!1;var o=location.hash;o&&n.$tabs.each(function(t,e){if(g(e).attr("href")===o)return n.activeIndex=t,!1}),!1===n.activeIndex&&n.$tabs.each(function(t,e){if(g(e).hasClass("mdui-tab-active"))return n.activeIndex=t,!1}),n.$tabs.length&&!1===n.activeIndex&&(n.activeIndex=0),n._setActive(),T.on("resize",g.throttle(function(){n._setIndicatorPosition()},100)),n.$tabs.each(function(t,e){n._bindTabEvent(e)})}}return t.prototype._bindTabEvent=function(e){var n=this,i=g(e),t=function(t){s(i)?t.preventDefault():(n.activeIndex=n.$tabs.index(e),n._setActive())};i.on("click",t),"hover"===n.options.trigger&&i.on("mouseenter",t),i.on("click",function(t){0===i.attr("href").indexOf("#")&&t.preventDefault()})},t.prototype._setActive=function(){var o=this;o.$tabs.each(function(t,e){var n=g(e),i=n.attr("href");t!==o.activeIndex||s(n)?(n.removeClass("mdui-tab-active"),g(i).hide()):(n.hasClass("mdui-tab-active")||(p("change","tab",o,o.$tab,{index:o.activeIndex,id:i.substr(1)}),p("show","tab",o,n),n.addClass("mdui-tab-active")),g(i).show(),o._setIndicatorPosition())})},t.prototype._setIndicatorPosition=function(){var t,e,n=this;!1!==n.activeIndex?(t=n.$tabs.eq(n.activeIndex),s(t)||(e=t.offset(),n.$indicator.css({left:e.left+n.$tab[0].scrollLeft-n.$tab[0].getBoundingClientRect().left+"px",width:t.width()+"px"}))):n.$indicator.css({left:0,width:0})},t.prototype.next=function(){var t=this;!1!==t.activeIndex&&(t.$tabs.length>t.activeIndex+1?t.activeIndex++:t.options.loop&&(t.activeIndex=0),t._setActive())},t.prototype.prev=function(){var t=this;!1!==t.activeIndex&&(0',g.each(n.buttons,function(t,e){o+=''+e.text+""}),o+="");var t='
'+(n.title?'
'+n.title+"
":"")+(n.content?'
'+n.content+"
":"")+o+"
",a=new d.Dialog(t,{history:n.history,overlay:n.overlay,modal:n.modal,closeOnEsc:n.closeOnEsc,destroyOnClosed:n.destroyOnClosed});return n.buttons.length&&a.$dialog.find(".mdui-dialog-actions .mdui-btn").each(function(t,e){g(e).on("click",function(){"function"==typeof n.buttons[t].onClick&&n.buttons[t].onClick(a),n.buttons[t].close&&a.close()})}),"function"==typeof n.onOpen&&a.$dialog.on("open.mdui.dialog",function(){n.onOpen(a)}).on("opened.mdui.dialog",function(){n.onOpened(a)}).on("close.mdui.dialog",function(){n.onClose(a)}).on("closed.mdui.dialog",function(){n.onClosed(a)}),a.open(),a},d.alert=function(t,e,n,i){"function"==typeof e&&(e="",n=arguments[1],i=arguments[2]),void 0===n&&(n=function(){}),void 0===i&&(i={});return i=g.extend({},{confirmText:"ok",history:!0,modal:!1,closeOnEsc:!0},i),d.dialog({title:e,content:t,buttons:[{text:i.confirmText,bold:!1,close:!0,onClick:n}],cssClass:"mdui-dialog-alert",history:i.history,modal:i.modal,closeOnEsc:i.closeOnEsc})},d.confirm=function(t,e,n,i,o){"function"==typeof e&&(e="",n=arguments[1],i=arguments[2],o=arguments[3]),void 0===n&&(n=function(){}),void 0===i&&(i=function(){}),void 0===o&&(o={});return o=g.extend({},{confirmText:"ok",cancelText:"cancel",history:!0,modal:!1,closeOnEsc:!0},o),d.dialog({title:e,content:t,buttons:[{text:o.cancelText,bold:!1,close:!0,onClick:i},{text:o.confirmText,bold:!1,close:!0,onClick:n}],cssClass:"mdui-dialog-confirm",history:o.history,modal:o.modal,closeOnEsc:o.closeOnEsc})},d.prompt=function(t,e,i,n,o){"function"==typeof e&&(e="",i=arguments[1],n=arguments[2],o=arguments[3]),void 0===i&&(i=function(){}),void 0===n&&(n=function(){}),void 0===o&&(o={});var a='
'+(t?'":"")+("text"===(o=g.extend({},{confirmText:"ok",cancelText:"cancel",history:!0,modal:!1,closeOnEsc:!0,type:"text",maxlength:"",defaultValue:"",confirmOnEnter:!1},o)).type?'":"")+("textarea"===o.type?'":"")+"
",s=n;"function"==typeof n&&(s=function(t){var e=t.$dialog.find(".mdui-textfield-input").val();n(e,t)});var r=i;return"function"==typeof i&&(r=function(t){var e=t.$dialog.find(".mdui-textfield-input").val();i(e,t)}),d.dialog({title:e,content:a,buttons:[{text:o.cancelText,bold:!1,close:!0,onClick:s},{text:o.confirmText,bold:!1,close:!0,onClick:r}],cssClass:"mdui-dialog-prompt",history:o.history,modal:o.modal,closeOnEsc:o.closeOnEsc,onOpen:function(n){var t=n.$dialog.find(".mdui-textfield-input");d.updateTextFields(t),t[0].focus(),"text"===o.type&&!0===o.confirmOnEnter&&t.on("keydown",function(t){if(13===t.keyCode){var e=n.$dialog.find(".mdui-textfield-input").val();i(e,n),n.close()}}),"textarea"===o.type&&t.on("input",function(){n.handleUpdate()}),o.maxlength&&n.handleUpdate()}})},d.Tooltip=function(){var o={position:"auto",delay:0,content:""};function i(t){var e,n,i,o=t.$target[0].getBoundingClientRect(),a=1024'+n.options.content+"").appendTo(document.body),n.$target.on("touchstart mouseenter",function(t){this.disabled||r.isAllow(t)&&(r.register(t),n.open())}).on("touchend mouseleave",function(t){this.disabled||r.isAllow(t)&&n.close()}).on(r.unlock,function(t){this.disabled||r.register(t)})}}var e=function(t){t.$tooltip.hasClass("mdui-tooltip-open")?(t.state="opened",p("opened","tooltip",t,t.$target)):(t.state="closed",p("closed","tooltip",t,t.$target))};return t.prototype._doOpen=function(){var t=this;t.state="opening",p("open","tooltip",t,t.$target),t.$tooltip.addClass("mdui-tooltip-open").transitionEnd(function(){e(t)})},t.prototype.open=function(t){var e=this;if("opening"!==e.state&&"opened"!==e.state){var n=g.extend({},e.options);g.extend(e.options,s(e.$target.attr("mdui-tooltip"))),t&&g.extend(e.options,t),n.content!==e.options.content&&e.$tooltip.html(e.options.content),i(e),e.options.delay?e.timeoutId=setTimeout(function(){e._doOpen()},e.options.delay):(e.timeoutId=!1,e._doOpen())}},t.prototype.close=function(){var t=this;t.timeoutId&&(clearTimeout(t.timeoutId),t.timeoutId=!1),"closing"!==t.state&&"closed"!==t.state&&(t.state="closing",p("close","tooltip",t,t.$target),t.$tooltip.removeClass("mdui-tooltip-open").transitionEnd(function(){e(t)}))},t.prototype.toggle=function(){var t=this;"opening"===t.state||"opened"===t.state?t.close():"closing"!==t.state&&"closed"!==t.state||t.open()},t.prototype.getState=function(){return this.state},t}(),g(function(){f.on("touchstart mouseover","[mdui-tooltip]",function(){var t=g(this),e=t.data("mdui.tooltip");if(!e){var n=s(t.attr("mdui-tooltip"));e=new d.Tooltip(t,n),t.data("mdui.tooltip",e)}})}),function(){var n,i="__md_snackbar",a={timeout:4e3,buttonText:"",buttonColor:"",position:"bottom",closeOnButtonClick:!0,closeOnOutsideClick:!0,onClick:function(){},onButtonClick:function(){},onOpen:function(){},onOpened:function(){},onClose:function(){},onClosed:function(){}},o=function(t){var e=g(t.target);e.hasClass("mdui-snackbar")||e.parents(".mdui-snackbar").length||n.close()};function s(t,e){var n=this;if(n.message=t,n.options=g.extend({},a,e||{}),n.message){n.state="closed",n.timeoutId=!1;var i="",o="";0===n.options.buttonColor.indexOf("#")||0===n.options.buttonColor.indexOf("rgb")?i='style="color:'+n.options.buttonColor+'"':""!==n.options.buttonColor&&(o="mdui-text-color-"+n.options.buttonColor),n.$snackbar=g('
'+n.message+"
"+(n.options.buttonText?'"+n.options.buttonText+"":"")+"
").appendTo(document.body),n._setPosition("close"),n.$snackbar.reflow().addClass("mdui-snackbar-"+n.options.position)}}s.prototype._setPosition=function(t){var e,n,i=this.$snackbar[0].clientHeight,o=this.options.position;e="bottom"===o||"top"===o?"-50%":"0","open"===t?n="0":("bottom"===o&&(n=i),"top"===o&&(n=-i),"left-top"!==o&&"right-top"!==o||(n=-i-24),"left-bottom"!==o&&"right-bottom"!==o||(n=i+24)),this.$snackbar.transform("translate("+e+","+n+"px)")},s.prototype.open=function(){var e=this;e.message&&"opening"!==e.state&&"opened"!==e.state&&(n?l.queue(i,function(){e.open()}):((n=e).state="opening",e.options.onOpen(),e._setPosition("open"),e.$snackbar.transitionEnd(function(){"opening"===e.state&&(e.state="opened",e.options.onOpened(),e.options.buttonText&&e.$snackbar.find(".mdui-snackbar-action").on("click",function(){e.options.onButtonClick(),e.options.closeOnButtonClick&&e.close()}),e.$snackbar.on("click",function(t){g(t.target).hasClass("mdui-snackbar-action")||e.options.onClick()}),e.options.closeOnOutsideClick&&f.on(r.start,o),e.options.timeout&&(e.timeoutId=setTimeout(function(){e.close()},e.options.timeout)))})))},s.prototype.close=function(){var t=this;t.message&&"closing"!==t.state&&"closed"!==t.state&&(t.timeoutId&&clearTimeout(t.timeoutId),t.options.closeOnOutsideClick&&f.off(r.start,o),t.state="closing",t.options.onClose(),t._setPosition("close"),t.$snackbar.transitionEnd(function(){"closing"===t.state&&(n=null,t.state="closed",t.options.onClosed(),t.$snackbar.remove(),l.dequeue(i))}))},d.snackbar=function(t,e){"string"!=typeof t&&(t=(e=t).message);var n=new s(t,e);return n.open(),n}}(),f.on("click",".mdui-bottom-nav>a",function(){var n,i=g(this),o=i.parent();o.children("a").each(function(t,e){(n=i.is(e))&&p("change","bottomNav",null,o,{index:t}),g(e)[n?"addClass":"removeClass"]("mdui-bottom-nav-active")})}),d.mutation(".mdui-bottom-nav-scroll-hide",function(){var t=g(this),e=new d.Headroom(t,{pinnedClass:"mdui-headroom-pinned-down",unpinnedClass:"mdui-headroom-unpinned-down"});t.data("mdui.headroom",e)}),o=function(){var t=!!arguments.length&&arguments[0];return'
'},m=function(t){var e,n=g(t);e=n.hasClass("mdui-spinner-colorful")?o("1")+o("2")+o("3")+o("4"):o(),n.html(e)},g(function(){d.mutation(".mdui-spinner",function(){m(this)})}),d.updateSpinners=function(){g(arguments.length?arguments[0]:".mdui-spinner").each(function(){m(this)})},d.Panel=function(t,e){return new v(t,e,"panel")},g(function(){d.mutation("[mdui-panel]",function(){var t=g(this),e=t.data("mdui.panel");if(!e){var n=s(t.attr("mdui-panel"));e=new d.Panel(t,n),t.data("mdui.panel",e)}})}),d.Menu=function(){var a={position:"auto",align:"auto",gutter:16,fixed:!1,covered:"auto",subMenuTrigger:"hover",subMenuDelay:200},s=function(t){var e,n,i,o,a,s,r=T.height(),d=T.width(),c=t.options.gutter,u=t.isCovered,l=t.options.fixed,f=t.$menu.width(),p=t.$menu.height(),h=t.$anchor,m=h[0].getBoundingClientRect(),v=m.top,g=m.left,b=m.height,x=m.width,y=r-v-b,w=d-g-x,$=h[0].offsetTop,C=h[0].offsetLeft;if(i="auto"===t.options.position?p+c') {\n // 创建 HTML 字符串\n var toCreate = 'div';\n\n if (html.indexOf(':~]/)\n ? [document.getElementById(selector.slice(1))]\n : document.querySelectorAll(selector);\n\n for (var i$1 = 0; i$1 < elems.length; i$1 += 1) {\n if (elems[i$1]) {\n arr.push(elems[i$1]);\n }\n }\n }\n } else if (typeof selector === 'function') {\n // function\n return $(document).ready(selector);\n } else if (selector.nodeType || selector === window || selector === document) {\n // Node\n arr.push(selector);\n } else if (selector.length > 0 && selector[0].nodeType) {\n // NodeList\n for (var i$2 = 0; i$2 < selector.length; i$2 += 1) {\n arr.push(selector[i$2]);\n }\n }\n\n return new JQ(arr);\n }\n\n $.fn = JQ.prototype;\n\n function extend() {\n var this$1 = this;\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (!args.length) {\n return this;\n }\n\n // $.extend(obj)\n if (args.length === 1) {\n Object.keys(args[0]).forEach(function (prop) {\n this$1[prop] = args[0][prop];\n });\n\n return this;\n }\n\n // $.extend({}, defaults[, obj])\n var target = args.shift();\n\n var loop = function ( i ) {\n Object.keys(args[i]).forEach(function (prop) {\n target[prop] = args[i][prop];\n });\n };\n\n for (var i = 0; i < args.length; i += 1) loop( i );\n\n return target;\n }\n\n $.fn.extend = extend;\n $.extend = extend;\n\n /**\n * 判断一个节点名\n * @param ele\n * @param name\n * @returns {boolean}\n */\n function isNodeName(ele, name) {\n return ele.nodeName && ele.nodeName.toLowerCase() === name.toLowerCase();\n }\n\n /**\n * 除去 null 后的 object 类型\n * @param obj\n * @returns {*|boolean}\n */\n function isObjectLike(obj) {\n return typeof obj === 'object' && obj !== null;\n }\n\n function isFunction(fn) {\n return typeof fn === 'function';\n }\n\n function isString(obj) {\n return typeof obj === 'string';\n }\n\n function isWindow(win) {\n return win && win === win.window;\n }\n\n function isDocument(doc) {\n return doc && doc.nodeType === doc.DOCUMENT_NODE;\n }\n\n function isArrayLike(obj) {\n return typeof obj.length === 'number';\n }\n\n /**\n * 循环数组或对象\n * @param obj\n * @param callback\n * @returns {*}\n */\n function each(obj, callback) {\n if (isArrayLike(obj)) {\n for (var i = 0; i < obj.length; i += 1) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n return obj;\n }\n }\n } else {\n var keys = Object.keys(obj);\n for (var i$1 = 0; i$1 < keys.length; i$1 += 1) {\n if (callback.call(obj[keys[i$1]], keys[i$1], obj[keys[i$1]]) === false) {\n return obj;\n }\n }\n }\n\n return obj;\n }\n\n /**\n * 遍历数组或对象,通过函数返回一个新的数组或对象,null 和 undefined 将被过滤掉。\n * @param elems\n * @param callback\n * @returns {Array}\n */\n function map(elems, callback) {\n var ref;\n\n var value;\n var ret = [];\n\n each(elems, function (i, elem) {\n value = callback(elem, i);\n\n if (value !== null && value !== undefined) {\n ret.push(value);\n }\n });\n\n return (ref = []).concat.apply(ref, ret);\n }\n\n /**\n * 把对象合并到第一个参数中,并返回第一个参数\n * @param first\n * @param second\n * @returns {*}\n */\n function merge(first, second) {\n each(second, function (i, val) {\n first.push(val);\n });\n\n return first;\n }\n\n /**\n * 删除数组中重复元素\n * @param arr {Array}\n * @returns {Array}\n */\n function unique(arr) {\n var result = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (result.indexOf(arr[i]) === -1) {\n result.push(arr[i]);\n }\n }\n\n return result;\n }\n\n var elementDisplay = {};\n\n /**\n * 获取元素的默认 display 样式值,用于 .show() 方法\n * @param nodeName\n * @returns {*}\n */\n function defaultDisplay(nodeName) {\n var element;\n var display;\n\n if (!elementDisplay[nodeName]) {\n element = document.createElement(nodeName);\n document.body.appendChild(element);\n display = getComputedStyle(element, '').getPropertyValue('display');\n element.parentNode.removeChild(element);\n if (display === 'none') {\n display = 'block';\n }\n\n elementDisplay[nodeName] = display;\n }\n\n return elementDisplay[nodeName];\n }\n\n $.extend({\n each: each,\n merge: merge,\n unique: unique,\n map: map,\n\n /**\n * 一个 DOM 节点是否包含另一个 DOM 节点\n * @param parent {Node} 父节点\n * @param node {Node} 子节点\n * @returns {Boolean}\n */\n contains: function contains(parent, node) {\n if (parent && !node) {\n return document.documentElement.contains(parent);\n }\n\n return parent !== node && parent.contains(node);\n },\n\n /**\n * 将数组或对象序列化\n * @param obj\n * @returns {String}\n */\n param: function param(obj) {\n if (!isObjectLike(obj)) {\n return '';\n }\n\n var args = [];\n\n function destructure(key, value) {\n var keyTmp;\n\n if (isObjectLike(value)) {\n each(value, function (i, v) {\n if (Array.isArray(value) && !isObjectLike(v)) {\n keyTmp = '';\n } else {\n keyTmp = i;\n }\n\n destructure((key + \"[\" + keyTmp + \"]\"), v);\n });\n } else {\n if (value !== null && value !== '') {\n keyTmp = \"=\" + (encodeURIComponent(value));\n } else {\n keyTmp = '';\n }\n\n args.push(encodeURIComponent(key) + keyTmp);\n }\n }\n\n each(obj, function (key, value) {\n destructure(key, value);\n });\n\n return args.join('&');\n },\n });\n\n $.fn.extend({\n /**\n * 遍历对象\n * @param callback {Function}\n * @return {JQ}\n */\n each: function each$1(callback) {\n return each(this, callback);\n },\n\n /**\n * 通过遍历集合中的节点对象,通过函数返回一个新的对象,null 或 undefined 将被过滤掉。\n * @param callback {Function}\n * @returns {JQ}\n */\n map: function map$1(callback) {\n return new JQ(map(this, function (el, i) { return callback.call(el, i, el); }));\n },\n\n /**\n * 获取指定 DOM 元素,没有 index 参数时,获取所有 DOM 的数组\n * @param index {Number=}\n * @returns {Node|Array}\n */\n get: function get(index) {\n return index === undefined\n ? [].slice.call(this)\n : this[index >= 0 ? index : index + this.length];\n },\n\n /**\n * array中提取的方法。从start开始,如果end 指出。提取不包含end位置的元素。\n * @param args {start, end}\n * @returns {JQ}\n */\n slice: function slice() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new JQ([].slice.apply(this, args));\n },\n\n /**\n * 筛选元素集合\n * @param selector {String|JQ|Node|Function}\n * @returns {JQ}\n */\n filter: function filter(selector) {\n if (isFunction(selector)) {\n return this.map(function (index, ele) { return (selector.call(ele, index, ele) ? ele : undefined); });\n }\n\n var $selector = $(selector);\n\n return this.map(function (index, ele) { return ($selector.index(ele) > -1 ? ele : undefined); });\n },\n\n /**\n * 从元素集合中删除指定的元素\n * @param selector {String|Node|JQ|Function}\n * @return {JQ}\n */\n not: function not(selector) {\n var $excludes = this.filter(selector);\n\n return this.map(function (index, ele) { return ($excludes.index(ele) > -1 ? undefined : ele); });\n },\n\n /**\n * 获取元素相对于 document 的偏移\n * @returns {Object}\n */\n offset: function offset() {\n if (this[0]) {\n var offset = this[0].getBoundingClientRect();\n\n return {\n left: offset.left + window.pageXOffset,\n top: offset.top + window.pageYOffset,\n width: offset.width,\n height: offset.height,\n };\n }\n\n return null;\n },\n\n /**\n * 返回最近的用于定位的父元素\n * @returns {*|JQ}\n */\n offsetParent: function offsetParent() {\n return this.map(function () {\n var parent = this.offsetParent;\n\n while (parent && $(parent).css('position') === 'static') {\n parent = parent.offsetParent;\n }\n\n return parent || document.documentElement;\n });\n },\n\n /**\n * 获取元素相对于父元素的偏移\n * @return {Object}\n */\n position: function position() {\n var self = this;\n\n if (!self[0]) {\n return null;\n }\n\n var offsetParent;\n var offset;\n var parentOffset = {\n top: 0,\n left: 0,\n };\n\n if (self.css('position') === 'fixed') {\n offset = self[0].getBoundingClientRect();\n } else {\n offsetParent = self.offsetParent();\n offset = self.offset();\n if (!isNodeName(offsetParent[0], 'html')) {\n parentOffset = offsetParent.offset();\n }\n\n parentOffset = {\n top: parentOffset.top + offsetParent.css('borderTopWidth'),\n left: parentOffset.left + offsetParent.css('borderLeftWidth'),\n };\n }\n\n return {\n top: offset.top - parentOffset.top - self.css('marginTop'),\n left: offset.left - parentOffset.left - self.css('marginLeft'),\n width: offset.width,\n height: offset.height,\n };\n },\n\n /**\n * 显示指定元素\n * @returns {JQ}\n */\n show: function show() {\n return this.each(function () {\n if (this.style.display === 'none') {\n this.style.display = '';\n }\n\n if (window.getComputedStyle(this, '').getPropertyValue('display') === 'none') {\n this.style.display = defaultDisplay(this.nodeName);\n }\n });\n },\n\n /**\n * 隐藏指定元素\n * @returns {JQ}\n */\n hide: function hide() {\n return this.each(function () {\n this.style.display = 'none';\n });\n },\n\n /**\n * 切换元素的显示状态\n * @returns {JQ}\n */\n toggle: function toggle() {\n return this.each(function () {\n this.style.display = this.style.display === 'none' ? '' : 'none';\n });\n },\n\n /**\n * 是否含有指定的 CSS 类\n * @param className {String}\n * @returns {boolean}\n */\n hasClass: function hasClass(className) {\n if (!this[0] || !className) {\n return false;\n }\n\n return this[0].classList.contains(className);\n },\n\n /**\n * 移除指定属性\n * @param attr {String}\n * @returns {JQ}\n */\n removeAttr: function removeAttr(attr) {\n return this.each(function () {\n this.removeAttribute(attr);\n });\n },\n\n /**\n * 删除属性值\n * @param name {String}\n * @returns {JQ}\n */\n removeProp: function removeProp(name) {\n return this.each(function () {\n try {\n delete this[name];\n } catch (e) {\n // empty\n }\n });\n },\n\n /**\n * 获取当前对象中第n个元素\n * @param index {Number}\n * @returns {JQ}\n */\n eq: function eq(index) {\n var ret = index === -1\n ? this.slice(index)\n : this.slice(index, +index + 1);\n\n return new JQ(ret);\n },\n\n /**\n * 获取对象中第一个元素\n * @returns {JQ}\n */\n first: function first() {\n return this.eq(0);\n },\n\n /**\n * 获取对象中最后一个元素\n * @returns {JQ}\n */\n last: function last() {\n return this.eq(-1);\n },\n\n /**\n * 获取一个元素的位置。\n * 当 elem 参数没有给出时,返回当前元素在兄弟节点中的位置。\n * 有给出了 elem 参数时,返回 elem 元素在当前对象中的位置\n * @param elem {Selector|Node=}\n * @returns {Number}\n */\n index: function index(elem) {\n if (!elem) {\n // 获取当前 JQ 对象的第一个元素在同辈元素中的位置\n return this\n .eq(0)\n .parent()\n .children()\n .get()\n .indexOf(this[0]);\n }\n\n if (isString(elem)) {\n // 返回当前 JQ 对象的第一个元素在指定选择器对应的元素中的位置\n return $(elem)\n .eq(0)\n .parent()\n .children()\n .get()\n .indexOf(this[0]);\n }\n\n // 返回指定元素在当前 JQ 对象中的位置\n return this\n .get()\n .indexOf(elem);\n },\n\n /**\n * 根据选择器、DOM元素或 JQ 对象来检测匹配元素集合,\n * 如果其中至少有一个元素符合这个给定的表达式就返回true\n * @param selector {String|Node|NodeList|Array|JQ|Window}\n * @returns boolean\n */\n is: function is(selector) {\n var self = this[0];\n\n if (!self || selector === undefined || selector === null) {\n return false;\n }\n\n if (isString(selector)) {\n if (self === document || self === window) {\n return false;\n }\n\n var matchesSelector = self.matches\n || self.matchesSelector\n || self.webkitMatchesSelector\n || self.mozMatchesSelector\n || self.oMatchesSelector\n || self.msMatchesSelector;\n\n return matchesSelector.call(self, selector);\n }\n\n if (selector === document || selector === window) {\n return self === selector;\n }\n\n if (selector.nodeType || isArrayLike(selector)) {\n var $compareWith = selector.nodeType ? [selector] : selector;\n\n for (var i = 0; i < $compareWith.length; i += 1) {\n if ($compareWith[i] === self) {\n return true;\n }\n }\n\n return false;\n }\n\n return false;\n },\n\n /**\n * 根据 CSS 选择器找到后代节点的集合\n * @param selector {String}\n * @returns {JQ}\n */\n find: function find(selector) {\n var foundElements = [];\n\n this.each(function (i, _this) {\n var nodeType = _this.nodeType;\n\n if (nodeType !== 1 && nodeType !== 9) {\n // 不是 element 和 document 则跳过\n return;\n }\n\n merge(foundElements, _this.querySelectorAll(selector));\n });\n\n return new JQ(foundElements);\n },\n\n /**\n * 找到直接子元素的元素集合\n * @param selector {String=}\n * @returns {JQ}\n */\n children: function children(selector) {\n var children = [];\n\n this.each(function (_, _this) {\n each(_this.childNodes, function (__, childNode) {\n if (childNode.nodeType !== 1) {\n return;\n }\n\n if (!selector || (selector && $(childNode).is(selector))) {\n children.push(childNode);\n }\n });\n });\n\n return new JQ(unique(children));\n },\n\n /**\n * 保留含有指定子元素的元素,去掉不含有指定子元素的元素\n * @param selector {String|Node|JQ|NodeList|Array}\n * @return {JQ}\n */\n has: function has(selector) {\n var $targets = isString(selector) ? this.find(selector) : $(selector);\n var length = $targets.length;\n\n return this.filter(function () {\n for (var i = 0; i < length; i += 1) {\n if ($.contains(this, $targets[i])) {\n return true;\n }\n }\n\n return false;\n });\n },\n\n /**\n * 取得同辈元素的集合\n * @param selector {String=}\n * @returns {JQ}\n */\n siblings: function siblings(selector) {\n return this.prevAll(selector).add(this.nextAll(selector));\n },\n\n /**\n * 返回首先匹配到的父节点,包含父节点\n * @param selector {String}\n * @returns {JQ}\n */\n closest: function closest(selector) {\n var self = this;\n\n if (!self.is(selector)) {\n self = self.parents(selector).eq(0);\n }\n\n return self;\n },\n\n /**\n * 删除所有匹配的元素\n * @returns {JQ}\n */\n remove: function remove() {\n return this.each(function (i, _this) {\n if (_this.parentNode) {\n _this.parentNode.removeChild(_this);\n }\n });\n },\n\n /**\n * 添加匹配的元素到当前对象中\n * @param selector {String|JQ}\n * @returns {JQ}\n */\n add: function add(selector) {\n return new JQ(unique(merge(this.get(), $(selector))));\n },\n\n /**\n * 删除子节点\n * @returns {JQ}\n */\n empty: function empty() {\n return this.each(function () {\n this.innerHTML = '';\n });\n },\n\n /**\n * 通过深度克隆来复制集合中的所有元素。\n * (通过原生 cloneNode 方法深度克隆来复制集合中的所有元素。此方法不会有数据和事件处理程序复制到新的元素。这点和jquery中利用一个参数来确定是否复制数据和事件处理不相同。)\n * @returns {JQ}\n */\n clone: function clone() {\n return this.map(function () {\n return this.cloneNode(true);\n });\n },\n\n /**\n * 用新元素替换当前元素\n * @param newContent {String|Node|NodeList|JQ}\n * @returns {JQ}\n */\n replaceWith: function replaceWith(newContent) {\n return this.before(newContent).remove();\n },\n\n /**\n * 将表单元素的值组合成键值对数组\n * @returns {Array}\n */\n serializeArray: function serializeArray() {\n var result = [];\n var elem = this[0];\n\n if (!elem || !elem.elements) {\n return result;\n }\n\n $([].slice.call(elem.elements)).each(function () {\n var $elem = $(this);\n var type = $elem.attr('type');\n if (\n this.nodeName.toLowerCase() !== 'fieldset'\n && !this.disabled\n && ['submit', 'reset', 'button'].indexOf(type) === -1\n && (['radio', 'checkbox'].indexOf(type) === -1 || this.checked)\n ) {\n result.push({\n name: $elem.attr('name'),\n value: $elem.val(),\n });\n }\n });\n\n return result;\n },\n\n /**\n * 将表单元素或对象序列化\n * @returns {String}\n */\n serialize: function serialize() {\n var result = [];\n\n each(this.serializeArray(), function (i, elem) {\n result.push(((encodeURIComponent(elem.name)) + \"=\" + (encodeURIComponent(elem.value))));\n });\n\n return result.join('&');\n },\n });\n\n /**\n * val - 获取或设置元素的值\n * @param value {String=}\n * @return {*|JQ}\n */\n /**\n * html - 获取或设置元素的 HTML\n * @param value {String=}\n * @return {*|JQ}\n */\n /**\n * text - 获取或设置元素的内容\n * @param value {String=}\n * @return {*|JQ}\n */\n each(['val', 'html', 'text'], function (nameIndex, name) {\n var props = {\n 0: 'value',\n 1: 'innerHTML',\n 2: 'textContent',\n };\n\n var defaults = {\n 0: undefined,\n 1: undefined,\n 2: null,\n };\n\n $.fn[name] = function (value) {\n if (value === undefined) {\n // 获取值\n return this[0] ? this[0][props[nameIndex]] : defaults[nameIndex];\n }\n\n // 设置值\n return this.each(function (i, elem) {\n elem[props[nameIndex]] = value;\n });\n };\n });\n\n /**\n * attr - 获取或设置元素的属性值\n * @param {name|props|key,value=}\n * @return {String|JQ}\n */\n /**\n * prop - 获取或设置元素的属性值\n * @param {name|props|key,value=}\n * @return {String|JQ}\n */\n /**\n * css - 获取或设置元素的样式\n * @param {name|props|key,value=}\n * @return {String|JQ}\n */\n each(['attr', 'prop', 'css'], function (nameIndex, name) {\n function set(elem, key, value) {\n if (nameIndex === 0) {\n elem.setAttribute(key, value);\n } else if (nameIndex === 1) {\n elem[key] = value;\n } else {\n elem.style[key] = value;\n }\n }\n\n function get(elem, key) {\n if (!elem) {\n return undefined;\n }\n\n if (nameIndex === 0) {\n return elem.getAttribute(key);\n }\n\n if (nameIndex === 1) {\n return elem[key];\n }\n\n return window.getComputedStyle(elem, null).getPropertyValue(key);\n }\n\n $.fn[name] = function (key, value) {\n var argLength = arguments.length;\n\n if (argLength === 1 && isString(key)) {\n // 获取值\n return get(this[0], key);\n }\n\n // 设置值\n return this.each(function (i, elem) {\n if (argLength === 2) {\n set(elem, key, value);\n } else {\n each(key, function (k, v) {\n set(elem, k, v);\n });\n }\n });\n };\n });\n\n /**\n * addClass - 添加 CSS 类,多个类名用空格分割\n * @param className {String}\n * @return {JQ}\n */\n /**\n * removeClass - 移除 CSS 类,多个类名用空格分割\n * @param className {String}\n * @return {JQ}\n */\n /**\n * toggleClass - 切换 CSS 类名,多个类名用空格分割\n * @param className {String}\n * @return {JQ}\n */\n each(['add', 'remove', 'toggle'], function (nameIndex, name) {\n $.fn[(name + \"Class\")] = function (className) {\n if (!className) {\n return this;\n }\n\n var classes = className.split(' ');\n\n return this.each(function (i, elem) {\n each(classes, function (j, cls) {\n elem.classList[name](cls);\n });\n });\n };\n });\n\n /**\n * width - 获取元素的宽度\n * @return {Number}\n */\n /**\n * height - 获取元素的高度\n * @return {Number}\n */\n each({\n Width: 'width',\n Height: 'height',\n }, function (prop, name) {\n $.fn[name] = function (val) {\n if (val === undefined) {\n // 获取\n var elem = this[0];\n\n if (isWindow(elem)) {\n return elem[(\"inner\" + prop)];\n }\n\n if (isDocument(elem)) {\n return elem.documentElement[(\"scroll\" + prop)];\n }\n\n var $elem = $(elem);\n\n // IE10、IE11 在 box-sizing:border-box 时,不会包含 padding 和 border,这里进行修复\n var IEFixValue = 0;\n var isWidth = name === 'width';\n if ('ActiveXObject' in window) { // 判断是 IE 浏览器\n if ($elem.css('box-sizing') === 'border-box') {\n IEFixValue = parseFloat($elem.css((\"padding-\" + (isWidth ? 'left' : 'top'))))\n + parseFloat($elem.css((\"padding-\" + ((isWidth ? 'right' : 'bottom')))))\n + parseFloat($elem.css((\"border-\" + (isWidth ? 'left' : 'top') + \"-width\")))\n + parseFloat($elem.css((\"border-\" + (isWidth ? 'right' : 'bottom') + \"-width\")));\n }\n }\n\n return parseFloat($(elem).css(name)) + IEFixValue;\n }\n\n // 设置\n /* eslint no-restricted-globals: 0 */\n if (!isNaN(Number(val)) && val !== '') {\n val += 'px';\n }\n\n return this.css(name, val);\n };\n });\n\n /**\n * innerWidth - 获取元素的宽度,包含内边距\n * @return {Number}\n */\n /**\n * innerHeight - 获取元素的高度,包含内边距\n * @return {Number}\n */\n each({\n Width: 'width',\n Height: 'height',\n }, function (prop, name) {\n $.fn[(\"inner\" + prop)] = function () {\n var value = this[name]();\n var $elem = $(this[0]);\n\n if ($elem.css('box-sizing') !== 'border-box') {\n value += parseFloat($elem.css((\"padding-\" + (name === 'width' ? 'left' : 'top'))));\n value += parseFloat($elem.css((\"padding-\" + (name === 'width' ? 'right' : 'bottom'))));\n }\n\n return value;\n };\n });\n\n function dir(nodes, selector, nameIndex, node) {\n var ret = [];\n var elem;\n\n nodes.each(function (j, _this) {\n elem = _this[node];\n while (elem) {\n if (nameIndex === 2) {\n // prevUntil\n if (!selector || (selector && $(elem).is(selector))) {\n break;\n }\n\n ret.push(elem);\n } else if (nameIndex === 0) {\n // prev\n if (!selector || (selector && $(elem).is(selector))) {\n ret.push(elem);\n }\n\n break;\n } else if (!selector || (selector && $(elem).is(selector))) {\n // prevAll\n ret.push(elem);\n }\n\n elem = elem[node];\n }\n });\n\n return new JQ(unique(ret));\n }\n\n /**\n * prev - 取得前一个匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * prevAll - 取得前面所有匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * prevUntil - 取得前面的所有元素,直到遇到匹配的元素,不包含匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n each(['', 'All', 'Until'], function (nameIndex, name) {\n $.fn[(\"prev\" + name)] = function (selector) {\n // prevAll、prevUntil 需要把元素的顺序倒序处理,以便和 jQuery 的结果一致\n var $nodes = nameIndex === 0 ? this : $(this.get().reverse());\n\n return dir($nodes, selector, nameIndex, 'previousElementSibling');\n };\n });\n\n /**\n * next - 取得后一个匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * nextAll - 取得后面所有匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * nextUntil - 取得后面所有匹配的元素,直到遇到匹配的元素,不包含匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n each(['', 'All', 'Until'], function (nameIndex, name) {\n $.fn[(\"next\" + name)] = function (selector) {\n return dir(this, selector, nameIndex, 'nextElementSibling');\n };\n });\n\n /**\n * parent - 取得匹配的直接父元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * parents - 取得所有匹配的父元素\n * @param selector {String=}\n * @return {JQ}\n */\n /**\n * parentUntil - 取得所有的父元素,直到遇到匹配的元素,不包含匹配的元素\n * @param selector {String=}\n * @return {JQ}\n */\n each(['', 's', 'sUntil'], function (nameIndex, name) {\n $.fn[(\"parent\" + name)] = function (selector) {\n // parents、parentsUntil 需要把元素的顺序反向处理,以便和 jQuery 的结果一致\n var $nodes = nameIndex === 0 ? this : $(this.get().reverse());\n\n return dir($nodes, selector, nameIndex, 'parentNode');\n };\n });\n\n /**\n * append - 在元素内部追加内容\n * @param newChild {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * prepend - 在元素内部前置内容\n * @param newChild {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n each(['append', 'prepend'], function (nameIndex, name) {\n $.fn[name] = function (newChild) {\n var newChilds;\n var copyByClone = this.length > 1;\n\n if (isString(newChild) && (newChild[0] !== '<' || newChild[newChild.length - 1] !== '>')) {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n newChilds = [].slice.call(tempDiv.childNodes);\n } else {\n newChilds = $(newChild).get();\n }\n\n if (nameIndex === 1) {\n // prepend\n newChilds.reverse();\n }\n\n return this.each(function (i, _this) {\n each(newChilds, function (j, child) {\n // 一个元素要同时追加到多个元素中,需要先复制一份,然后追加\n if (copyByClone && i > 0) {\n child = child.cloneNode(true);\n }\n\n if (nameIndex === 0) {\n // append\n _this.appendChild(child);\n } else {\n // prepend\n _this.insertBefore(child, _this.childNodes[0]);\n }\n });\n });\n };\n });\n\n /**\n * insertBefore - 插入到指定元素的前面\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * insertAfter - 插入到指定元素的后面\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n each(['insertBefore', 'insertAfter'], function (nameIndex, name) {\n $.fn[name] = function (selector) {\n var $elem = $(selector);\n\n return this.each(function (i, _this) {\n $elem.each(function (j, elem) {\n elem.parentNode.insertBefore(\n $elem.length === 1 ? _this : _this.cloneNode(true),\n nameIndex === 0 ? elem : elem.nextSibling\n );\n });\n });\n };\n });\n\n /**\n * appendTo - 追加到指定元素内容\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * prependTo - 前置到指定元素内部\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * before - 插入到指定元素前面\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * after - 插入到指定元素后面\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n /**\n * replaceAll - 替换掉指定元素\n * @param selector {String|Node|NodeList|JQ}\n * @return {JQ}\n */\n each({\n appendTo: 'append',\n prependTo: 'prepend',\n before: 'insertBefore',\n after: 'insertAfter',\n replaceAll: 'replaceWith',\n }, function (name, original) {\n $.fn[name] = function (selector) {\n $(selector)[original](this);\n return this;\n };\n });\n\n var dataNS = 'mduiElementDataStorage';\n\n $.extend({\n /**\n * 在指定元素上存储数据,或从指定元素上读取数据\n * @param elem 必须, DOM 元素\n * @param key 必须,键名\n * @param value 可选,值\n */\n data: function data(elem, key, value) {\n var data = {};\n\n if (value !== undefined) {\n // 根据 key、value 设置值\n data[key] = value;\n } else if (isObjectLike(key)) {\n // 根据键值对设置值\n data = key;\n } else if (key === undefined) {\n // 获取所有值\n var result = {};\n\n each(elem.attributes, function (i, attribute) {\n var name = attribute.name;\n\n if (name.indexOf('data-') === 0) {\n var prop = name.slice(5).replace(/-./g, function (u) { return u.charAt(1).toUpperCase(); });\n\n result[prop] = attribute.value;\n }\n });\n\n if (elem[dataNS]) {\n each(elem[dataNS], function (k, v) {\n result[k] = v;\n });\n }\n\n return result;\n } else if (elem[dataNS] && (key in elem[dataNS])) {\n // 获取指定值\n return elem[dataNS][key];\n } else {\n // 从 data- 中获取指定值\n var dataKey = elem.getAttribute((\"data-\" + key));\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n }\n\n // 设置值\n if (!elem[dataNS]) {\n elem[dataNS] = {};\n }\n\n each(data, function (k, v) {\n elem[dataNS][k] = v;\n });\n\n return undefined;\n },\n\n /**\n * 移除指定元素上存放的数据\n * @param elem 必须,DOM 元素\n * @param key 必须,键名\n */\n removeData: function removeData(elem, key) {\n if (elem[dataNS] && elem[dataNS][key]) {\n elem[dataNS][key] = null;\n delete elem[dataNS][key];\n }\n },\n });\n\n $.fn.extend({\n /**\n * 在元素上读取或设置数据\n * @param key 必须\n * @param value\n * @returns {*}\n */\n data: function data(key, value) {\n if (value === undefined) {\n if (isObjectLike(key)) {\n // 同时设置多个值\n return this.each(function (i, elem) {\n $.data(elem, key);\n });\n }\n\n if (this[0]) {\n // 获取值\n return $.data(this[0], key);\n }\n\n return undefined;\n }\n\n // 设置值\n return this.each(function (i, elem) {\n $.data(elem, key, value);\n });\n },\n\n /**\n * 移除元素上存储的数据\n * @param key 必须\n * @returns {*}\n */\n removeData: function removeData(key) {\n return this.each(function (i, elem) {\n $.removeData(elem, key);\n });\n },\n });\n\n !function(){try{return new e(\"test\")}catch(e){}var e=function(e,t){t=t||{bubbles:!1,cancelable:!1};var n=document.createEvent(\"MouseEvent\");return n.initMouseEvent(e,t.bubbles,t.cancelable,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n};e.prototype=Event.prototype,window.MouseEvent=e;}();\n\n !function(){function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}\"function\"!=typeof window.CustomEvent&&(t.prototype=window.Event.prototype,window.CustomEvent=t);}();\n\n // 存储事件\n var handlers = {\n // i: { // 元素ID\n // j: { // 事件ID\n // e: 事件名\n // fn: 事件处理函数\n // i: 事件ID\n // proxy:\n // sel: 选择器\n // }\n // }\n };\n\n // 元素ID\n var mduiElementId = 1;\n\n function fnFalse() {\n return false;\n }\n\n /**\n * 为元素赋予一个唯一的ID\n * @param element\n * @returns {number|*}\n */\n function getElementId(element) {\n if (!element.mduiElementId) {\n mduiElementId += 1;\n element.mduiElementId = mduiElementId;\n }\n\n return element.mduiElementId;\n }\n\n /**\n * 获取匹配的事件\n * @param element\n * @param eventName\n * @param func\n * @param selector\n * @returns {Array}\n */\n function getHandlers(element, eventName, func, selector) {\n return (handlers[getElementId(element)] || []).filter(function (handler) { return handler\n && (!eventName || handler.e === eventName)\n && (!func || handler.fn.toString() === func.toString())\n && (!selector || handler.sel === selector); });\n }\n\n /**\n * 添加事件监听\n * @param element\n * @param eventName\n * @param func\n * @param data\n * @param selector\n */\n function add(element, eventName, func, data, selector) {\n var elementId = getElementId(element);\n\n if (!handlers[elementId]) {\n handlers[elementId] = [];\n }\n\n // 传入 data.useCapture 来设置 useCapture: true\n var useCapture = false;\n if (isObjectLike(data) && data.useCapture) {\n useCapture = true;\n }\n\n eventName.split(' ').forEach(function (event) {\n var handler = {\n e: event,\n fn: func,\n sel: selector,\n i: handlers[elementId].length,\n };\n\n function callFn(e, elem) {\n // 因为鼠标事件模拟事件的 detail 属性是只读的,因此在 e._detail 中存储参数\n /* eslint no-underscore-dangle: 0 */\n var result = func.apply(elem, e._detail === undefined ? [e] : [e].concat(e._detail));\n\n if (result === false) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n function proxyfn(e) {\n e._data = data;\n\n if (selector) {\n // 事件代理\n $(element)\n .find(selector)\n .get()\n .reverse()\n .forEach(function (elem) {\n if (elem === e.target || $.contains(elem, e.target)) {\n callFn(e, elem);\n }\n });\n } else {\n // 不使用事件代理\n callFn(e, element);\n }\n }\n\n handler.proxy = proxyfn;\n handlers[elementId].push(handler);\n element.addEventListener(handler.e, proxyfn, useCapture);\n });\n }\n\n /**\n * 移除事件监听\n * @param element\n * @param eventName\n * @param func\n * @param selector\n */\n function remove(element, eventName, func, selector) {\n (eventName || '').split(' ').forEach(function (event) {\n getHandlers(element, event, func, selector).forEach(function (handler) {\n delete handlers[getElementId(element)][handler.i];\n element.removeEventListener(handler.e, handler.proxy, false);\n });\n });\n }\n\n $.fn.extend({\n /**\n * DOM 加载完毕后调用的函数\n * @param callback\n * @returns {ready}\n */\n ready: function ready(callback) {\n if (/complete|loaded|interactive/.test(document.readyState) && document.body) {\n callback($);\n } else {\n document.addEventListener('DOMContentLoaded', function () {\n callback($);\n }, false);\n }\n\n return this;\n },\n\n /**\n * 绑定事件\n *\n * $().on({eventName: fn}, selector, data);\n * $().on({eventName: fn}, selector)\n * $().on({eventName: fn})\n * $().on(eventName, selector, data, fn);\n * $().on(eventName, selector, fn);\n * $().on(eventName, data, fn);\n * $().on(eventName, fn);\n * $().on(eventName, false);\n *\n * @param eventName\n * @param selector\n * @param data\n * @param callback\n * @param one 是否是 one 方法,只在 JQ 内部使用\n * @returns\n */\n on: function on(eventName, selector, data, callback, one) {\n var self = this;\n\n // 默认\n // $().on(event, selector, data, callback)\n\n // event 使用 事件:函数 键值对\n // event = {\n // 'event1': callback1,\n // 'event2': callback2\n // }\n //\n // $().on(event, selector, data)\n if (eventName && !isString(eventName)) {\n each(eventName, function (type, fn) {\n self.on(type, selector, data, fn);\n });\n\n return self;\n }\n\n // selector 不存在\n // $().on(event, data, callback)\n if (!isString(selector) && !isFunction(callback) && callback !== false) {\n callback = data;\n data = selector;\n selector = undefined;\n }\n\n // data 不存在\n // $().on(event, callback)\n if (isFunction(data) || data === false) {\n callback = data;\n data = undefined;\n }\n\n // callback 为 false\n // $().on(event, false)\n if (callback === false) {\n callback = fnFalse;\n }\n\n if (one === 1) {\n var origCallback = callback;\n callback = function () {\n self.off(eventName, selector, callback);\n /* eslint prefer-rest-params: 0 */\n return origCallback.apply(this, arguments);\n };\n }\n\n return this.each(function () {\n add(this, eventName, callback, data, selector);\n });\n },\n\n /**\n * 绑定事件,只触发一次\n * @param eventName\n * @param selector\n * @param data\n * @param callback\n */\n one: function one(eventName, selector, data, callback) {\n var self = this;\n\n if (!isString(eventName)) {\n each(eventName, function (type, fn) {\n type.split(' ').forEach(function (eName) {\n self.on(eName, selector, data, fn, 1);\n });\n });\n } else {\n eventName.split(' ').forEach(function (eName) {\n self.on(eName, selector, data, callback, 1);\n });\n }\n\n return this;\n },\n\n /**\n * 取消绑定事件\n *\n * $().off(eventName, selector);\n * $().off(eventName, callback);\n * $().off(eventName, false);\n *\n */\n off: function off(eventName, selector, callback) {\n var self = this;\n\n // event 使用 事件:函数 键值对\n // event = {\n // 'event1': callback1,\n // 'event2': callback2\n // }\n //\n // $().off(event, selector)\n if (eventName && !isString(eventName)) {\n each(eventName, function (type, fn) {\n self.off(type, selector, fn);\n });\n\n return self;\n }\n\n // selector 不存在\n // $().off(event, callback)\n if (!isString(selector) && !isFunction(callback) && callback !== false) {\n callback = selector;\n selector = undefined;\n }\n\n // callback 为 false\n // $().off(event, false)\n if (callback === false) {\n callback = fnFalse;\n }\n\n return self.each(function () {\n remove(this, eventName, callback, selector);\n });\n },\n\n /**\n * 触发一个事件\n * @param eventName\n * @param data\n * @returns {*|JQ}\n */\n trigger: function trigger(eventName, data) {\n var isMouseEvent = ['click', 'mousedown', 'mouseup', 'mousemove'].indexOf(eventName) > -1;\n var evt;\n\n if (isMouseEvent) {\n // Note: MouseEvent 无法传入 detail 参数\n evt = new MouseEvent(eventName, {\n bubbles: true,\n cancelable: true,\n });\n } else {\n evt = new CustomEvent(eventName, {\n detail: data,\n bubbles: true,\n cancelable: true,\n });\n }\n\n evt._detail = data;\n\n return this.each(function () {\n this.dispatchEvent(evt);\n });\n },\n });\n\n var globalOptions = {};\n var jsonpID = 0;\n\n // 全局事件名\n var ajaxEvent = {\n ajaxStart: 'start.mdui.ajax',\n ajaxSuccess: 'success.mdui.ajax',\n ajaxError: 'error.mdui.ajax',\n ajaxComplete: 'complete.mdui.ajax',\n };\n\n /**\n * 判断此请求方法是否通过查询字符串提交参数\n * @param method 请求方法,大写\n * @returns {boolean}\n */\n function isQueryStringData(method) {\n return ['GET', 'HEAD'].indexOf(method) >= 0;\n }\n\n /**\n * 添加参数到 URL 上,且 URL 中不存在 ? 时,自动把第一个 & 替换为 ?\n * @param url\n * @param query 参数 key=value\n * @returns {string}\n */\n function appendQuery(url, query) {\n return ((url + \"&\" + query)).replace(/[&?]{1,2}/, '?');\n }\n\n $.extend({\n\n /**\n * 为 ajax 请求设置全局配置参数\n * @param options\n */\n ajaxSetup: function ajaxSetup(options) {\n $.extend(globalOptions, options || {});\n },\n\n /**\n * 发送 ajax 请求\n * @param options\n */\n ajax: function ajax(options) {\n // 配置参数\n var defaults = {\n // 请求方式\n method: 'GET',\n // 请求的数据,查询字符串或对象\n data: false,\n // 是否把数据转换为查询字符串发送,为 false 时不进行自动转换。\n processData: true,\n // 是否为异步请求\n async: true,\n // 是否从缓存中读取,只对 GET/HEAD 请求有效,dataType 为 jsonp 时为 false\n cache: true,\n // HTTP 访问认证的用户名\n username: '',\n // HTTP 访问认证的密码\n password: '',\n // 一个键值对,随着请求一起发送\n headers: {},\n // 设置 XHR 对象\n xhrFields: {},\n // 一个 HTTP 代码和函数的对象\n statusCode: {},\n // 预期服务器返回的数据类型 text、json、jsonp\n dataType: 'text',\n // jsonp 请求的回调函数名称\n jsonp: 'callback',\n // (string 或 Function)使用指定的回调函数名代替自动生成的回调函数名\n jsonpCallback: function () {\n jsonpID += 1;\n\n return (\"mduijsonp_\" + (Date.now()) + \"_\" + jsonpID);\n },\n // 发送信息至服务器时内容编码类型\n contentType: 'application/x-www-form-urlencoded',\n // 设置请求超时时间(毫秒)\n timeout: 0,\n // 是否在 document 上触发全局 ajax 事件\n global: true,\n // beforeSend: function (XMLHttpRequest) 请求发送前执行,返回 false 可取消本次 ajax 请求\n // success: function (data, textStatus, XMLHttpRequest) 请求成功时调用\n // error: function (XMLHttpRequest, textStatus) 请求失败时调用\n // statusCode: {404: function ()}\n // 200-299之间的状态码表示成功,参数和 success 回调一样;其他状态码表示失败,参数和 error 回调一样\n // complete: function (XMLHttpRequest, textStatus) 请求完成后回调函数 (请求成功或失败之后均调用)\n };\n\n // 回调函数\n var callbacks = [\n 'beforeSend',\n 'success',\n 'error',\n 'statusCode',\n 'complete' ];\n\n // 是否已取消请求\n var isCanceled = false;\n\n // 保存全局配置\n var globals = globalOptions;\n\n // 事件参数\n var eventParams = {};\n\n // 合并全局参数到默认参数,全局回调函数不覆盖\n each(globals, function (key, value) {\n if (callbacks.indexOf(key) < 0) {\n defaults[key] = value;\n }\n });\n\n // 参数合并\n options = $.extend({}, defaults, options);\n\n /**\n * 触发全局事件\n * @param event string 事件名\n * @param xhr XMLHttpRequest 事件参数\n */\n function triggerEvent(event, xhr) {\n if (options.global) {\n $(document).trigger(event, xhr);\n }\n }\n\n /**\n * 触发 XHR 回调和事件\n * @param callback string 回调函数名称\n * @param args\n */\n function triggerCallback(callback) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var result1;\n var result2;\n\n if (callback) {\n // 全局回调\n if (callback in globals) {\n result1 = globals[callback].apply(globals, args);\n }\n\n // 自定义回调\n if (options[callback]) {\n result2 = options[callback].apply(options, args);\n }\n\n // beforeSend 回调返回 false 时取消 ajax 请求\n if (callback === 'beforeSend' && (result1 === false || result2 === false)) {\n isCanceled = true;\n }\n }\n }\n\n // 请求方式转为大写\n var method = options.method.toUpperCase();\n\n // 默认使用当前页面 URL\n if (!options.url) {\n options.url = window.location.toString();\n }\n\n // 需要发送的数据\n // GET/HEAD 请求和 processData 为 true 时,转换为查询字符串格式,特殊格式不转换\n var sendData;\n if (\n (isQueryStringData(method) || options.processData)\n && options.data\n && [ArrayBuffer, Blob, Document, FormData].indexOf(options.data.constructor) < 0\n ) {\n sendData = isString(options.data) ? options.data : $.param(options.data);\n } else {\n sendData = options.data;\n }\n\n // 对于 GET、HEAD 类型的请求,把 data 数据添加到 URL 中\n if (isQueryStringData(method) && sendData) {\n // 查询字符串拼接到 URL 中\n options.url = appendQuery(options.url, sendData);\n sendData = null;\n }\n\n // JSONP\n if (options.dataType === 'jsonp') {\n // URL 中添加自动生成的回调函数名\n var callbackName = isFunction(options.jsonpCallback)\n ? options.jsonpCallback()\n : options.jsonpCallback;\n var requestUrl = appendQuery(options.url, ((options.jsonp) + \"=\" + callbackName));\n\n eventParams.options = options;\n\n triggerEvent(ajaxEvent.ajaxStart, eventParams);\n triggerCallback('beforeSend', null);\n\n if (isCanceled) {\n return undefined;\n }\n\n var abortTimeout;\n\n // 创建 script\n var script = document.createElement('script');\n script.type = 'text/javascript';\n\n // 创建 script 失败\n script.onerror = function () {\n if (abortTimeout) {\n clearTimeout(abortTimeout);\n }\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', null, 'scripterror');\n\n triggerEvent(ajaxEvent.ajaxComplete, eventParams);\n triggerCallback('complete', null, 'scripterror');\n };\n\n script.src = requestUrl;\n\n // 处理\n window[callbackName] = function (data) {\n if (abortTimeout) {\n clearTimeout(abortTimeout);\n }\n\n eventParams.data = data;\n\n triggerEvent(ajaxEvent.ajaxSuccess, eventParams);\n triggerCallback('success', data, 'success', null);\n\n $(script).remove();\n script = null;\n delete window[callbackName];\n };\n\n $('head').append(script);\n\n if (options.timeout > 0) {\n abortTimeout = setTimeout(function () {\n $(script).remove();\n script = null;\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', null, 'timeout');\n }, options.timeout);\n }\n\n return undefined;\n }\n\n // GET/HEAD 请求的缓存处理\n if (isQueryStringData(method) && !options.cache) {\n options.url = appendQuery(options.url, (\"_=\" + (Date.now())));\n }\n\n // 创建 XHR\n var xhr = new XMLHttpRequest();\n\n xhr.open(method, options.url, options.async, options.username, options.password);\n\n if (\n options.contentType\n || (\n sendData\n && !isQueryStringData(method)\n && options.contentType !== false\n )\n ) {\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n\n // 设置 Accept\n if (options.dataType === 'json') {\n xhr.setRequestHeader('Accept', 'application/json, text/javascript');\n }\n\n // 添加 headers\n if (options.headers) {\n each(options.headers, function (key, value) {\n xhr.setRequestHeader(key, value);\n });\n }\n\n // 检查是否是跨域请求\n if (options.crossDomain === undefined) {\n options.crossDomain = /^([\\w-]+:)?\\/\\/([^/]+)/.test(options.url)\n && RegExp.$2 !== window.location.host;\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n if (options.xhrFields) {\n each(options.xhrFields, function (key, value) {\n xhr[key] = value;\n });\n }\n\n eventParams.xhr = xhr;\n eventParams.options = options;\n\n var xhrTimeout;\n\n xhr.onload = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n\n // 包含成功或错误代码的字符串\n var textStatus;\n\n // AJAX 返回的 HTTP 响应码是否表示成功\n var isHttpStatusSuccess = (xhr.status >= 200 && xhr.status < 300) || xhr.status === 0;\n\n var responseData;\n\n if (isHttpStatusSuccess) {\n if (xhr.status === 204 || method === 'HEAD') {\n textStatus = 'nocontent';\n } else if (xhr.status === 304) {\n textStatus = 'notmodified';\n } else {\n textStatus = 'success';\n }\n\n if (options.dataType === 'json') {\n try {\n responseData = JSON.parse(xhr.responseText);\n eventParams.data = responseData;\n } catch (err) {\n textStatus = 'parsererror';\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', xhr, textStatus);\n }\n\n if (textStatus !== 'parsererror') {\n triggerEvent(ajaxEvent.ajaxSuccess, eventParams);\n triggerCallback('success', responseData, textStatus, xhr);\n }\n } else {\n responseData = xhr.responseType === 'text' || xhr.responseType === ''\n ? xhr.responseText\n : xhr.response;\n eventParams.data = responseData;\n\n triggerEvent(ajaxEvent.ajaxSuccess, eventParams);\n triggerCallback('success', responseData, textStatus, xhr);\n }\n } else {\n textStatus = 'error';\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', xhr, textStatus);\n }\n\n // statusCode\n each([globals.statusCode, options.statusCode], function (i, func) {\n if (func && func[xhr.status]) {\n if (isHttpStatusSuccess) {\n func[xhr.status](responseData, textStatus, xhr);\n } else {\n func[xhr.status](xhr, textStatus);\n }\n }\n });\n\n triggerEvent(ajaxEvent.ajaxComplete, eventParams);\n triggerCallback('complete', xhr, textStatus);\n };\n\n xhr.onerror = function () {\n if (xhrTimeout) {\n clearTimeout(xhrTimeout);\n }\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', xhr, xhr.statusText);\n\n triggerEvent(ajaxEvent.ajaxComplete, eventParams);\n triggerCallback('complete', xhr, 'error');\n };\n\n xhr.onabort = function () {\n var textStatus = 'abort';\n\n if (xhrTimeout) {\n textStatus = 'timeout';\n clearTimeout(xhrTimeout);\n }\n\n triggerEvent(ajaxEvent.ajaxError, eventParams);\n triggerCallback('error', xhr, textStatus);\n\n triggerEvent(ajaxEvent.ajaxComplete, eventParams);\n triggerCallback('complete', xhr, textStatus);\n };\n\n // ajax start 回调\n triggerEvent(ajaxEvent.ajaxStart, eventParams);\n triggerCallback('beforeSend', xhr);\n\n if (isCanceled) {\n return xhr;\n }\n\n // Timeout\n if (options.timeout > 0) {\n xhrTimeout = setTimeout(function () {\n xhr.abort();\n }, options.timeout);\n }\n\n // 发送 XHR\n xhr.send(sendData);\n\n return xhr;\n },\n });\n\n // 监听全局事件\n //\n // 通过 $(document).on('success.mdui.ajax', function (event, params) {}) 调用时,包含两个参数\n // event: 事件对象\n // params: {\n // xhr: XMLHttpRequest 对象\n // options: ajax 请求的配置参数\n // data: ajax 请求返回的数据\n // }\n\n // 全局 Ajax 事件快捷方法\n // $(document).ajaxStart(function (event, xhr, options) {})\n // $(document).ajaxSuccess(function (event, xhr, options, data) {})\n // $(document).ajaxError(function (event, xhr, options) {})\n // $(document).ajaxComplete(function (event, xhr, options) {})\n each(ajaxEvent, function (name, eventName) {\n $.fn[name] = function (fn) {\n return this.on(eventName, function (e, params) {\n fn(e, params.xhr, params.options, params.data);\n });\n };\n });\n\n return $;\n\n}());\n","/**\n * =============================================================================\n * ************ 定义全局变量 ************\n * =============================================================================\n */\n\nvar $document = $(document);\nvar $window = $(window);\n\n/**\n * 队列 -- 当前队列的 api 和 jquery 不一样,所以不打包进 mdui.JQ 里\n */\nvar queue = {};\n(function () {\n var queueData = [];\n\n /**\n * 写入队列\n * @param queueName 对列名\n * @param func 函数名,该参数为空时,返回所有队列\n */\n queue.queue = function (queueName, func) {\n if (queueData[queueName] === undefined) {\n queueData[queueName] = [];\n }\n\n if (func === undefined) {\n return queueData[queueName];\n }\n\n queueData[queueName].push(func);\n };\n\n /**\n * 从队列中移除第一个函数,并执行该函数\n * @param queueName\n */\n queue.dequeue = function (queueName) {\n if (queueData[queueName] !== undefined && queueData[queueName].length) {\n (queueData[queueName].shift())();\n }\n };\n\n})();\n\n/**\n * touch 事件后的 500ms 内禁用 mousedown 事件\n *\n * 不支持触控的屏幕上事件顺序为 mousedown -> mouseup -> click\n * 支持触控的屏幕上事件顺序为 touchstart -> touchend -> mousedown -> mouseup -> click\n */\nvar TouchHandler = {\n touches: 0,\n\n /**\n * 该事件是否被允许\n * 在执行事件前调用该方法判断事件是否可以执行\n * @param e\n * @returns {boolean}\n */\n isAllow: function (e) {\n var allow = true;\n\n if (\n TouchHandler.touches &&\n [\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'click',\n 'mouseover',\n 'mouseout',\n 'mouseenter',\n 'mouseleave',\n ].indexOf(e.type) > -1\n ) {\n // 触发了 touch 事件后阻止鼠标事件\n allow = false;\n }\n\n return allow;\n },\n\n /**\n * 在 touchstart 和 touchmove、touchend、touchcancel 事件中调用该方法注册事件\n * @param e\n */\n register: function (e) {\n if (e.type === 'touchstart') {\n // 触发了 touch 事件\n TouchHandler.touches += 1;\n } else if (['touchmove', 'touchend', 'touchcancel'].indexOf(e.type) > -1) {\n // touch 事件结束 500ms 后解除对鼠标事件的阻止\n setTimeout(function () {\n if (TouchHandler.touches) {\n TouchHandler.touches -= 1;\n }\n }, 500);\n }\n },\n\n start: 'touchstart mousedown',\n move: 'touchmove mousemove',\n end: 'touchend mouseup',\n cancel: 'touchcancel mouseleave',\n unlock: 'touchend touchmove touchcancel',\n};\n\n// 测试事件\n// 在每一个事件中都使用 TouchHandler.isAllow(e) 判断事件是否可执行\n// 在 touchstart 和 touchmove、touchend、touchcancel\n// (function () {\n//\n// $document\n// .on(TouchHandler.start, function (e) {\n// if (!TouchHandler.isAllow(e)) {\n// return;\n// }\n// TouchHandler.register(e);\n// console.log(e.type);\n// })\n// .on(TouchHandler.move, function (e) {\n// if (!TouchHandler.isAllow(e)) {\n// return;\n// }\n// console.log(e.type);\n// })\n// .on(TouchHandler.end, function (e) {\n// if (!TouchHandler.isAllow(e)) {\n// return;\n// }\n// console.log(e.type);\n// })\n// .on(TouchHandler.unlock, TouchHandler.register);\n// })();\n\n$(function () {\n // 避免页面加载完后直接执行css动画\n // https://css-tricks.com/transitions-only-after-page-load/\n\n setTimeout(function () {\n $('body').addClass('mdui-loaded');\n }, 0);\n});\n","/**\n * =============================================================================\n * ************ MDUI 内部使用的函数 ************\n * =============================================================================\n */\n\n/**\n * 解析 DATA API 的参数\n * @param str\n * @returns {*}\n */\nvar parseOptions = function (str) {\n var options = {};\n\n if (str === null || !str) {\n return options;\n }\n\n if (typeof str === 'object') {\n return str;\n }\n\n /* jshint ignore:start */\n var start = str.indexOf('{');\n try {\n options = (new Function('',\n 'var json = ' + str.substr(start) +\n '; return JSON.parse(JSON.stringify(json));'))();\n } catch (e) {\n }\n /* jshint ignore:end */\n\n return options;\n};\n\n/**\n * 绑定组件的事件\n * @param eventName 事件名\n * @param pluginName 插件名\n * @param inst 插件实例\n * @param trigger 在该元素上触发\n * @param obj 事件参数\n */\nvar componentEvent = function (eventName, pluginName, inst, trigger, obj) {\n if (!obj) {\n obj = {};\n }\n\n obj.inst = inst;\n\n var fullEventName = eventName + '.mdui.' + pluginName;\n\n // jQuery 事件\n if (typeof jQuery !== 'undefined') {\n jQuery(trigger).trigger(fullEventName, obj);\n }\n\n // JQ 事件\n $(trigger).trigger(fullEventName, obj);\n};\n","/**\n * =============================================================================\n * ************ 开放的常用方法 ************\n * =============================================================================\n */\n\n$.fn.extend({\n\n /**\n * 执行强制重绘\n */\n reflow: function () {\n return this.each(function () {\n return this.clientLeft;\n });\n },\n\n /**\n * 设置 transition 时间\n * @param duration\n */\n transition: function (duration) {\n if (typeof duration !== 'string') {\n duration = duration + 'ms';\n }\n\n return this.each(function () {\n this.style.webkitTransitionDuration = duration;\n this.style.transitionDuration = duration;\n });\n },\n\n /**\n * transition 动画结束回调\n * @param callback\n * @returns {transitionEnd}\n */\n transitionEnd: function (callback) {\n var events = [\n 'webkitTransitionEnd',\n 'transitionend',\n ];\n var i;\n var _this = this;\n\n function fireCallBack(e) {\n if (e.target !== this) {\n return;\n }\n\n callback.call(this, e);\n\n for (i = 0; i < events.length; i++) {\n _this.off(events[i], fireCallBack);\n }\n }\n\n if (callback) {\n for (i = 0; i < events.length; i++) {\n _this.on(events[i], fireCallBack);\n }\n }\n\n return this;\n },\n\n /**\n * 设置 transform-origin 属性\n * @param transformOrigin\n */\n transformOrigin: function (transformOrigin) {\n return this.each(function () {\n this.style.webkitTransformOrigin = transformOrigin;\n this.style.transformOrigin = transformOrigin;\n });\n },\n\n /**\n * 设置 transform 属性\n * @param transform\n */\n transform: function (transform) {\n return this.each(function () {\n this.style.webkitTransform = transform;\n this.style.transform = transform;\n });\n },\n\n});\n\n$.extend({\n /**\n * 创建并显示遮罩\n * @param zIndex 遮罩层的 z-index\n */\n showOverlay: function (zIndex) {\n var $overlay = $('.mdui-overlay');\n\n if ($overlay.length) {\n $overlay.data('isDeleted', 0);\n\n if (zIndex !== undefined) {\n $overlay.css('z-index', zIndex);\n }\n } else {\n if (zIndex === undefined) {\n zIndex = 2000;\n }\n\n $overlay = $('
')\n .appendTo(document.body)\n .reflow()\n .css('z-index', zIndex);\n }\n\n var level = $overlay.data('overlay-level') || 0;\n return $overlay\n .data('overlay-level', ++level)\n .addClass('mdui-overlay-show');\n },\n\n /**\n * 隐藏遮罩层\n * @param force 是否强制隐藏遮罩\n */\n hideOverlay: function (force) {\n var $overlay = $('.mdui-overlay');\n\n if (!$overlay.length) {\n return;\n }\n\n var level = force ? 1 : $overlay.data('overlay-level');\n if (level > 1) {\n $overlay.data('overlay-level', --level);\n return;\n }\n\n $overlay\n .data('overlay-level', 0)\n .removeClass('mdui-overlay-show')\n .data('isDeleted', 1)\n .transitionEnd(function () {\n if ($overlay.data('isDeleted')) {\n $overlay.remove();\n }\n });\n },\n\n /**\n * 锁定屏幕\n */\n lockScreen: function () {\n var $body = $('body');\n\n // 不直接把 body 设为 box-sizing: border-box,避免污染全局样式\n var newBodyWidth = $body.width();\n\n $body\n .addClass('mdui-locked')\n .width(newBodyWidth);\n\n var level = $body.data('lockscreen-level') || 0;\n $body.data('lockscreen-level', ++level);\n },\n\n /**\n * 解除屏幕锁定\n * @param force 是否强制解锁屏幕\n */\n unlockScreen: function (force) {\n var $body = $('body');\n\n var level = force ? 1 : $body.data('lockscreen-level');\n if (level > 1) {\n $body.data('lockscreen-level', --level);\n return;\n }\n\n $body\n .data('lockscreen-level', 0)\n .removeClass('mdui-locked')\n .width('');\n },\n\n /**\n * 函数节流\n * @param fn\n * @param delay\n * @returns {Function}\n */\n throttle: function (fn, delay) {\n var timer = null;\n if (!delay || delay < 16) {\n delay = 16;\n }\n\n return function () {\n var _this = this;\n var args = arguments;\n\n if (timer === null) {\n timer = setTimeout(function () {\n fn.apply(_this, args);\n timer = null;\n }, delay);\n }\n };\n },\n});\n\n/**\n * 生成唯一 id\n * @param string name id的名称,若该名称对于的guid不存在,则生成新的guid并返回;若已存在,则返回原有guid\n * @returns {string}\n */\n(function () {\n var GUID = {};\n\n $.extend({\n guid: function (name) {\n if (typeof name !== 'undefined' && typeof GUID[name] !== 'undefined') {\n return GUID[name];\n }\n\n function s4() {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n\n var guid = s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n\n if (typeof name !== 'undefined') {\n GUID[name] = guid;\n }\n\n return guid;\n },\n });\n})();\n","/**\n * =============================================================================\n * ************ Mutation ************\n * =============================================================================\n */\n\n(function () {\n /**\n * API 初始化代理, 当 DOM 突变再次执行代理的初始化函数. 使用方法:\n *\n * 1. 代理组件 API 执行初始化函数, selector 必须为字符串.\n * mdui.mutation(selector, apiInit);\n * mutation 会执行 $(selector).each(apiInit)\n *\n * 2. 突变时, 再次执行代理的初始化函数\n * mdui.mutation() 等价 $(document).mutation()\n * $(selector).mutation() 在 selector 节点内进行 API 初始化\n *\n * 原理:\n *\n * mutation 执行了 $().data('mdui.mutation', [selector]).\n * 当元素被重构时, 该数据会丢失, 由此判断是否突变.\n *\n * 提示:\n *\n * 类似 Drawer 可以使用委托事件完成.\n * 类似 Collapse 需要知道 DOM 发生突变, 并再次进行初始化.\n */\n var entries = { };\n\n function mutation(selector, apiInit, that, i, item) {\n var $this = $(that);\n var m = $this.data('mdui.mutation');\n\n if (!m) {\n m = [];\n $this.data('mdui.mutation', m);\n }\n\n if (m.indexOf(selector) === -1) {\n m.push(selector);\n apiInit.call(that, i, item);\n }\n }\n\n $.fn.extend({\n mutation: function () {\n return this.each(function (i, item) {\n var $this = $(this);\n $.each(entries, function (selector, apiInit) {\n if ($this.is(selector)) {\n mutation(selector, apiInit, $this[0], i, item);\n }\n\n $this.find(selector).each(function (i, item) {\n mutation(selector, apiInit, this, i, item);\n });\n });\n });\n },\n });\n\n mdui.mutation = function (selector, apiInit) {\n if (typeof selector !== 'string' || typeof apiInit !== 'function') {\n $(document).mutation();\n return;\n }\n\n entries[selector] = apiInit;\n $(selector).each(function (i, item) {\n mutation(selector, apiInit, this, i, item);\n });\n };\n\n})();\n","/**\n * =============================================================================\n * ************ Headroom.js ************\n * =============================================================================\n */\n\nmdui.Headroom = (function () {\n\n /**\n * 默认参数\n * @type {{}}\n */\n var DEFAULT = {\n tolerance: 5, // 滚动条滚动多少距离开始隐藏或显示元素,{down: num, up: num},或数字\n offset: 0, // 在页面顶部多少距离内滚动不会隐藏元素\n initialClass: 'mdui-headroom', // 初始化时添加的类\n pinnedClass: 'mdui-headroom-pinned-top', // 元素固定时添加的类\n unpinnedClass: 'mdui-headroom-unpinned-top', // 元素隐藏时添加的类\n };\n\n /**\n * Headroom\n * @param selector\n * @param opts\n * @constructor\n */\n function Headroom(selector, opts) {\n var _this = this;\n\n _this.$headroom = $(selector).eq(0);\n if (!_this.$headroom.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = _this.$headroom.data('mdui.headroom');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n // 数值转为 {down: bum, up: num}\n var tolerance = _this.options.tolerance;\n if (tolerance !== Object(tolerance)) {\n _this.options.tolerance = {\n down: tolerance,\n up: tolerance,\n };\n }\n\n _this._init();\n }\n\n /**\n * 初始化\n * @private\n */\n Headroom.prototype._init = function () {\n var _this = this;\n\n _this.state = 'pinned';\n _this.$headroom\n .addClass(_this.options.initialClass)\n .removeClass(_this.options.pinnedClass + ' ' + _this.options.unpinnedClass);\n\n _this.inited = false;\n _this.lastScrollY = 0;\n\n _this._attachEvent();\n };\n\n /**\n * 监听滚动事件\n * @private\n */\n Headroom.prototype._attachEvent = function () {\n var _this = this;\n\n if (!_this.inited) {\n _this.lastScrollY = window.pageYOffset;\n _this.inited = true;\n\n $window.on('scroll', function () {\n _this._scroll();\n });\n }\n };\n\n /**\n * 滚动时的处理\n * @private\n */\n Headroom.prototype._scroll = function () {\n var _this = this;\n _this.rafId = window.requestAnimationFrame(function () {\n var currentScrollY = window.pageYOffset;\n var direction = currentScrollY > _this.lastScrollY ? 'down' : 'up';\n var toleranceExceeded =\n Math.abs(currentScrollY - _this.lastScrollY) >=\n _this.options.tolerance[direction];\n\n if (\n currentScrollY > _this.lastScrollY &&\n currentScrollY >= _this.options.offset &&\n toleranceExceeded) {\n _this.unpin();\n } else if (\n (currentScrollY < _this.lastScrollY && toleranceExceeded) ||\n currentScrollY <= _this.options.offset\n ) {\n _this.pin();\n }\n\n _this.lastScrollY = currentScrollY;\n });\n };\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n if (inst.state === 'pinning') {\n inst.state = 'pinned';\n componentEvent('pinned', 'headroom', inst, inst.$headroom);\n }\n\n if (inst.state === 'unpinning') {\n inst.state = 'unpinned';\n componentEvent('unpinned', 'headroom', inst, inst.$headroom);\n }\n };\n\n /**\n * 固定住\n */\n Headroom.prototype.pin = function () {\n var _this = this;\n\n if (\n _this.state === 'pinning' ||\n _this.state === 'pinned' ||\n !_this.$headroom.hasClass(_this.options.initialClass)\n ) {\n return;\n }\n\n componentEvent('pin', 'headroom', _this, _this.$headroom);\n\n _this.state = 'pinning';\n\n _this.$headroom\n .removeClass(_this.options.unpinnedClass)\n .addClass(_this.options.pinnedClass)\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 不固定住\n */\n Headroom.prototype.unpin = function () {\n var _this = this;\n\n if (\n _this.state === 'unpinning' ||\n _this.state === 'unpinned' ||\n !_this.$headroom.hasClass(_this.options.initialClass)\n ) {\n return;\n }\n\n componentEvent('unpin', 'headroom', _this, _this.$headroom);\n\n _this.state = 'unpinning';\n\n _this.$headroom\n .removeClass(_this.options.pinnedClass)\n .addClass(_this.options.unpinnedClass)\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 启用\n */\n Headroom.prototype.enable = function () {\n var _this = this;\n\n if (!_this.inited) {\n _this._init();\n }\n };\n\n /**\n * 禁用\n */\n Headroom.prototype.disable = function () {\n var _this = this;\n\n if (_this.inited) {\n _this.inited = false;\n _this.$headroom\n .removeClass([\n _this.options.initialClass,\n _this.options.pinnedClass,\n _this.options.unpinnedClass,\n ].join(' '));\n\n $window.off('scroll', function () {\n _this._scroll();\n });\n\n window.cancelAnimationFrame(_this.rafId);\n }\n };\n\n /**\n * 获取当前状态 pinning | pinned | unpinning | unpinned\n */\n Headroom.prototype.getState = function () {\n return this.state;\n };\n\n return Headroom;\n\n})();\n","/**\n * =============================================================================\n * ************ Headroom 自定义属性 API ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-headroom]', function () {\n var $this = $(this);\n var options = parseOptions($this.attr('mdui-headroom'));\n\n var inst = $this.data('mdui.headroom');\n if (!inst) {\n inst = new mdui.Headroom($this, options);\n $this.data('mdui.headroom', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ 供 Collapse、 Panel 调用的折叠内容块插件 ************\n * =============================================================================\n */\nvar CollapsePrivate = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n accordion: false, // 是否使用手风琴效果\n };\n\n /**\n * 折叠内容块\n * @param selector\n * @param opts\n * @param namespace\n * @constructor\n */\n function Collapse(selector, opts, namespace) {\n var _this = this;\n\n // 命名空间\n _this.ns = namespace;\n\n // 类名\n var classpPefix = 'mdui-' + _this.ns + '-item';\n _this.class_item = classpPefix;\n _this.class_item_open = classpPefix + '-open';\n _this.class_header = classpPefix + '-header';\n _this.class_body = classpPefix + '-body';\n\n // 折叠面板元素\n _this.$collapse = $(selector).eq(0);\n if (!_this.$collapse.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = _this.$collapse.data('mdui.' + _this.ns);\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n _this.$collapse.on('click', '.' + _this.class_header, function () {\n var $item = $(this).parent('.' + _this.class_item);\n if (_this.$collapse.children($item).length) {\n _this.toggle($item);\n }\n });\n\n // 绑定关闭按钮\n _this.$collapse.on('click', '[mdui-' + _this.ns + '-item-close]', function () {\n var $item = $(this).parents('.' + _this.class_item).eq(0);\n if (_this._isOpen($item)) {\n _this.close($item);\n }\n });\n }\n\n /**\n * 指定 item 是否处于打开状态\n * @param $item\n * @returns {boolean}\n * @private\n */\n Collapse.prototype._isOpen = function ($item) {\n return $item.hasClass(this.class_item_open);\n };\n\n /**\n * 获取指定 item\n * @param item\n * @returns {*}\n * @private\n */\n Collapse.prototype._getItem = function (item) {\n var _this = this;\n\n if (parseInt(item) === item) {\n // item 是索引号\n return _this.$collapse.children('.' + _this.class_item).eq(item);\n }\n\n return $(item).eq(0);\n };\n\n /**\n * 动画结束回调\n * @param inst\n * @param $content\n * @param $item\n */\n var transitionEnd = function (inst, $content, $item) {\n if (inst._isOpen($item)) {\n $content\n .transition(0)\n .height('auto')\n .reflow()\n .transition('');\n\n componentEvent('opened', inst.ns, inst, $item[0]);\n } else {\n $content.height('');\n\n componentEvent('closed', inst.ns, inst, $item[0]);\n }\n };\n\n /**\n * 打开指定面板项\n * @param item 面板项的索引号或 DOM 元素或 CSS 选择器\n */\n Collapse.prototype.open = function (item) {\n var _this = this;\n var $item = _this._getItem(item);\n\n if (_this._isOpen($item)) {\n return;\n }\n\n // 关闭其他项\n if (_this.options.accordion) {\n _this.$collapse.children('.' + _this.class_item_open).each(function () {\n var $tmpItem = $(this);\n\n if ($tmpItem !== $item) {\n _this.close($tmpItem);\n }\n });\n }\n\n var $content = $item.children('.' + _this.class_body);\n\n $content\n .height($content[0].scrollHeight)\n .transitionEnd(function () {\n transitionEnd(_this, $content, $item);\n });\n\n componentEvent('open', _this.ns, _this, $item[0]);\n\n $item.addClass(_this.class_item_open);\n };\n\n /**\n * 关闭指定项\n * @param item 面板项的索引号或 DOM 元素或 CSS 选择器\n */\n Collapse.prototype.close = function (item) {\n var _this = this;\n var $item = _this._getItem(item);\n\n if (!_this._isOpen($item)) {\n return;\n }\n\n var $content = $item.children('.' + _this.class_body);\n\n componentEvent('close', _this.ns, _this, $item[0]);\n\n $item.removeClass(_this.class_item_open);\n\n $content\n .transition(0)\n .height($content[0].scrollHeight)\n .reflow()\n .transition('')\n .height('')\n .transitionEnd(function () {\n transitionEnd(_this, $content, $item);\n });\n };\n\n /**\n * 切换指定项的状态\n * @param item 面板项的索引号或 DOM 元素或 CSS 选择器或 JQ 对象\n */\n Collapse.prototype.toggle = function (item) {\n var _this = this;\n var $item = _this._getItem(item);\n\n if (_this._isOpen($item)) {\n _this.close($item);\n } else {\n _this.open($item);\n }\n };\n\n /**\n * 打开所有项\n */\n Collapse.prototype.openAll = function () {\n var _this = this;\n\n _this.$collapse.children('.' + _this.class_item).each(function () {\n var $tmpItem = $(this);\n\n if (!_this._isOpen($tmpItem)) {\n _this.open($tmpItem);\n }\n });\n };\n\n /**\n * 关闭所有项\n */\n Collapse.prototype.closeAll = function () {\n var _this = this;\n\n _this.$collapse.children('.' + _this.class_item).each(function () {\n var $tmpItem = $(this);\n\n if (_this._isOpen($tmpItem)) {\n _this.close($tmpItem);\n }\n });\n };\n\n return Collapse;\n})();\n\n/**\n * =============================================================================\n * ************ Collapse 折叠内容块插件 ************\n * =============================================================================\n */\nmdui.Collapse = (function () {\n\n function Collapse(selector, opts) {\n return new CollapsePrivate(selector, opts, 'collapse');\n }\n\n return Collapse;\n})();\n","/**\n * =============================================================================\n * ************ 涟漪 ************\n * =============================================================================\n *\n * Inspired by https://github.com/nolimits4web/Framework7/blob/master/src/js/fast-clicks.js\n * https://github.com/nolimits4web/Framework7/blob/master/LICENSE\n *\n * Inspired by https://github.com/fians/Waves\n */\n\n(function () {\n\n var Ripple = {\n\n /**\n * 延时,避免手指滑动时也触发涟漪(单位:毫秒)\n */\n delay: 200,\n\n /**\n * 显示涟漪动画\n * @param e\n * @param $ripple\n */\n show: function (e, $ripple) {\n\n // 鼠标右键不产生涟漪\n if (e.button === 2) {\n return;\n }\n\n // 点击位置坐标\n var tmp;\n if ('touches' in e && e.touches.length) {\n tmp = e.touches[0];\n } else {\n tmp = e;\n }\n\n var touchStartX = tmp.pageX;\n var touchStartY = tmp.pageY;\n\n // 涟漪位置\n var offset = $ripple.offset();\n var center = {\n x: touchStartX - offset.left,\n y: touchStartY - offset.top,\n };\n\n var height = $ripple.innerHeight();\n var width = $ripple.innerWidth();\n var diameter = Math.max(\n Math.pow((Math.pow(height, 2) + Math.pow(width, 2)), 0.5), 48\n );\n\n // 涟漪扩散动画\n var translate =\n 'translate3d(' + (-center.x + width / 2) + 'px, ' + (-center.y + height / 2) + 'px, 0) ' +\n 'scale(1)';\n\n // 涟漪的 DOM 结构\n $('
' +\n '
')\n\n // 缓存动画效果\n .data('translate', translate)\n\n .prependTo($ripple)\n .reflow()\n .transform(translate);\n },\n\n /**\n * 隐藏涟漪动画\n */\n hide: function (e, element) {\n var $ripple = $(element || this);\n\n $ripple.children('.mdui-ripple-wave').each(function () {\n removeRipple($(this));\n });\n\n $ripple.off('touchmove touchend touchcancel mousemove mouseup mouseleave', Ripple.hide);\n },\n };\n\n /**\n * 隐藏并移除涟漪\n * @param $wave\n */\n function removeRipple($wave) {\n if (!$wave.length || $wave.data('isRemoved')) {\n return;\n }\n\n $wave.data('isRemoved', true);\n\n var removeTimeout = setTimeout(function () {\n $wave.remove();\n }, 400);\n\n var translate = $wave.data('translate');\n\n $wave\n .addClass('mdui-ripple-wave-fill')\n .transform(translate.replace('scale(1)', 'scale(1.01)'))\n .transitionEnd(function () {\n clearTimeout(removeTimeout);\n\n $wave\n .addClass('mdui-ripple-wave-out')\n .transform(translate.replace('scale(1)', 'scale(1.01)'));\n\n removeTimeout = setTimeout(function () {\n $wave.remove();\n }, 700);\n\n setTimeout(function () {\n $wave.transitionEnd(function () {\n clearTimeout(removeTimeout);\n $wave.remove();\n });\n }, 0);\n });\n }\n\n /**\n * 显示涟漪,并绑定 touchend 等事件\n * @param e\n */\n function showRipple(e) {\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n TouchHandler.register(e);\n\n // Chrome 59 点击滚动条时,会在 document 上触发事件\n if (e.target === document) {\n return;\n }\n\n var $ripple;\n var $target = $(e.target);\n\n // 获取含 .mdui-ripple 类的元素\n if ($target.hasClass('mdui-ripple')) {\n $ripple = $target;\n } else {\n $ripple = $target.parents('.mdui-ripple').eq(0);\n }\n\n if ($ripple.length) {\n\n // 禁用状态的元素上不产生涟漪效果\n if ($ripple[0].disabled || $ripple.attr('disabled') !== null) {\n return;\n }\n\n if (e.type === 'touchstart') {\n var hidden = false;\n\n // toucstart 触发指定时间后开始涟漪动画\n var timer = setTimeout(function () {\n timer = null;\n Ripple.show(e, $ripple);\n }, Ripple.delay);\n\n var hideRipple = function (hideEvent) {\n // 如果手指没有移动,且涟漪动画还没有开始,则开始涟漪动画\n if (timer) {\n clearTimeout(timer);\n timer = null;\n Ripple.show(e, $ripple);\n }\n\n if (!hidden) {\n hidden = true;\n Ripple.hide(hideEvent, $ripple);\n }\n };\n\n // 手指移动后,移除涟漪动画\n var touchMove = function (moveEvent) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n\n hideRipple(moveEvent);\n };\n\n $ripple\n .on('touchmove', touchMove)\n .on('touchend touchcancel', hideRipple);\n\n } else {\n Ripple.show(e, $ripple);\n $ripple.on('touchmove touchend touchcancel mousemove mouseup mouseleave', Ripple.hide);\n }\n }\n }\n\n // 初始化绑定的事件\n $document\n .on(TouchHandler.start, showRipple)\n .on(TouchHandler.unlock, TouchHandler.register);\n})();\n","/**\n * =============================================================================\n * ************ Text Field 文本框 ************\n * =============================================================================\n */\n\n(function () {\n\n var getProp = function (obj, prop) {\n return (\n typeof obj === 'object' &&\n obj !== null &&\n obj[prop] !== undefined &&\n obj[prop]\n ) ? obj[prop] : false;\n };\n\n /**\n * 输入框事件\n * @param e\n */\n var inputEvent = function (e) {\n var input = e.target;\n var $input = $(input);\n var event = e.type;\n var value = $input.val();\n\n // reInit 为 true 时,需要重新初始化文本框\n var reInit = getProp(e.detail, 'reInit');\n\n // domLoadedEvent 为 true 时,为 DOM 加载完毕后自动触发的事件\n var domLoadedEvent = getProp(e.detail, 'domLoadedEvent');\n\n // 文本框类型\n var type = $input.attr('type') || '';\n if (['checkbox', 'button', 'submit', 'range', 'radio', 'image'].indexOf(type) >= 0) {\n return;\n }\n\n var $textField = $input.parent('.mdui-textfield');\n\n // 输入框是否聚焦\n if (event === 'focus') {\n $textField.addClass('mdui-textfield-focus');\n }\n\n if (event === 'blur') {\n $textField.removeClass('mdui-textfield-focus');\n }\n\n // 输入框是否为空\n if (event === 'blur' || event === 'input') {\n $textField[(value && value !== '') ? 'addClass' : 'removeClass']('mdui-textfield-not-empty');\n }\n\n // 输入框是否禁用\n $textField[input.disabled ? 'addClass' : 'removeClass']('mdui-textfield-disabled');\n\n // 表单验证\n if ((event === 'input' || event === 'blur') && !domLoadedEvent) {\n if (input.validity) {\n var method = input.validity.valid ? 'removeClass' : 'addClass';\n $textField[method]('mdui-textfield-invalid-html5');\n }\n }\n\n // textarea 高度自动调整\n if (e.target.nodeName.toLowerCase() === 'textarea') {\n\n // IE bug:textarea 的值仅为多个换行,不含其他内容时,textarea 的高度不准确\n // 此时,在计算高度前,在值的开头加入一个空格,计算完后,移除空格\n var inputValue = $input.val();\n var hasExtraSpace = false;\n if (inputValue.replace(/[\\r\\n]/g, '') === '') {\n $input.val(' ' + inputValue);\n hasExtraSpace = true;\n }\n\n // 设置 textarea 高度\n $input.height('');\n var height = $input.height();\n var scrollHeight = input.scrollHeight;\n\n if (scrollHeight > height) {\n $input.height(scrollHeight);\n }\n\n // 计算完,还原 textarea 的值\n if (hasExtraSpace) {\n $input.val(inputValue);\n }\n }\n\n // 实时字数统计\n if (reInit) {\n $textField\n .find('.mdui-textfield-counter')\n .remove();\n }\n\n var maxlength = $input.attr('maxlength');\n if (maxlength) {\n if (reInit || domLoadedEvent) {\n $('
' +\n ' / ' + maxlength +\n '
').appendTo($textField);\n }\n\n $textField.find('.mdui-textfield-counter-inputed').text(value.length.toString());\n }\n\n // 含 帮助文本、错误提示、字数统计 时,增加文本框底部内边距\n if (\n $textField.find('.mdui-textfield-helper').length ||\n $textField.find('.mdui-textfield-error').length ||\n maxlength\n ) {\n $textField.addClass('mdui-textfield-has-bottom');\n }\n };\n\n // 绑定事件\n $document.on('input focus blur', '.mdui-textfield-input', { useCapture: true }, inputEvent);\n\n // 可展开文本框展开\n $document.on('click', '.mdui-textfield-expandable .mdui-textfield-icon', function () {\n $(this)\n\n // 展开文本框\n .parents('.mdui-textfield')\n .addClass('mdui-textfield-expanded')\n\n // 聚焦到输入框\n .find('.mdui-textfield-input')[0].focus();\n });\n\n // 可展开文本框关闭\n $document.on('click', '.mdui-textfield-expanded .mdui-textfield-close', function () {\n $(this)\n\n // 关闭文本框\n .parents('.mdui-textfield')\n .removeClass('mdui-textfield-expanded')\n\n // 清空输入框\n .find('.mdui-textfield-input')\n .val('');\n });\n\n /**\n * 通过 JS 更新了表单内容,需要重新进行表单处理\n * @param- 如果传入了 .mdui-textfield 所在的 DOM 元素,则更新该文本框;否则,更新所有文本框\n */\n mdui.updateTextFields = function () {\n $(arguments.length ? arguments[0] : '.mdui-textfield').each(function () {\n $(this)\n .find('.mdui-textfield-input')\n .trigger('input', {\n reInit: true,\n });\n });\n };\n})();\n\n$(function () {\n /**\n * 初始化文本框\n */\n mdui.mutation('.mdui-textfield', function () {\n $(this)\n .find('.mdui-textfield-input')\n .trigger('input', {\n domLoadedEvent: true,\n });\n });\n});\n","/**\n * =============================================================================\n * ************ Slider 滑块 ************\n * =============================================================================\n */\n\n(function () {\n\n /**\n * 滑块的值变更后修改滑块样式\n * @param $slider\n */\n var updateValueStyle = function ($slider) {\n var data = $slider.data();\n\n var $track = data.$track;\n var $fill = data.$fill;\n var $thumb = data.$thumb;\n var $input = data.$input;\n var min = data.min;\n var max = data.max;\n var isDisabled = data.disabled;\n var isDiscrete = data.discrete;\n var $thumbText = data.$thumbText;\n var value = $input.val();\n var percent = (value - min) / (max - min) * 100;\n\n $fill.width(percent + '%');\n $track.width((100 - percent) + '%');\n\n if (isDisabled) {\n $fill.css('padding-right', '6px');\n $track.css('padding-left', '6px');\n }\n\n $thumb.css('left', percent + '%');\n\n if (isDiscrete) {\n $thumbText.text(value);\n }\n\n $slider[parseFloat(percent) === 0 ? 'addClass' : 'removeClass']('mdui-slider-zero');\n };\n\n /**\n * 重新初始化\n * @param $slider\n */\n var reInit = function ($slider) {\n var $track = $('
');\n var $fill = $('
');\n var $thumb = $('
');\n var $input = $slider.find('input[type=\"range\"]');\n\n // 禁用状态\n var isDisabled = $input[0].disabled;\n $slider[isDisabled ? 'addClass' : 'removeClass']('mdui-slider-disabled');\n\n // 重新填充 HTML\n $slider.find('.mdui-slider-track').remove();\n $slider.find('.mdui-slider-fill').remove();\n $slider.find('.mdui-slider-thumb').remove();\n $slider.append($track).append($fill).append($thumb);\n\n // 间续型滑块\n var isDiscrete = $slider.hasClass('mdui-slider-discrete');\n\n var $thumbText;\n if (isDiscrete) {\n $thumbText = $('');\n $thumb.empty().append($thumbText);\n }\n\n $slider.data({\n $track: $track,\n $fill: $fill,\n $thumb: $thumb,\n $input: $input,\n min: $input.attr('min'), // 滑块最小值\n max: $input.attr('max'), // 滑块最大值\n disabled: isDisabled, // 是否禁用状态\n discrete: isDiscrete, // 是否是间续型滑块\n $thumbText: $thumbText, // 间续型滑块的数值\n });\n\n // 设置默认值\n updateValueStyle($slider);\n };\n\n var rangeSelector = '.mdui-slider input[type=\"range\"]';\n\n $document\n\n // 滑动滑块事件\n .on('input change', rangeSelector, function () {\n var $slider = $(this).parent();\n updateValueStyle($slider);\n })\n\n // 开始触摸滑块事件\n .on(TouchHandler.start, rangeSelector, function (e) {\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n TouchHandler.register(e);\n\n if (!this.disabled) {\n var $slider = $(this).parent();\n $slider.addClass('mdui-slider-focus');\n }\n })\n\n // 结束触摸滑块事件\n .on(TouchHandler.end, rangeSelector, function (e) {\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n if (!this.disabled) {\n var $slider = $(this).parent();\n $slider.removeClass('mdui-slider-focus');\n }\n })\n\n .on(TouchHandler.unlock, rangeSelector, TouchHandler.register);\n\n /**\n * 重新初始化滑块(强制重新初始化)\n */\n mdui.updateSliders = function () {\n $(arguments.length ? arguments[0] : '.mdui-slider').each(function () {\n reInit($(this));\n });\n };\n\n $(function () {\n /**\n * 页面加载完后自动初始化(未初始化时,可以调用该方法初始化)\n */\n mdui.mutation('.mdui-slider', function () {\n reInit($(this));\n });\n });\n})();\n","/**\n * =============================================================================\n * ************ Spinner 圆形进度条 ************\n * =============================================================================\n */\n\n(function () {\n /**\n * layer 的 HTML 结构\n */\n var layerHTML = function () {\n var i = arguments.length ? arguments[0] : false;\n\n return '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
';\n };\n\n /**\n * 填充 HTML\n * @param spinner\n */\n var fillHTML = function (spinner) {\n var $spinner = $(spinner);\n var layer;\n if ($spinner.hasClass('mdui-spinner-colorful')) {\n layer = layerHTML('1') + layerHTML('2') + layerHTML('3') + layerHTML('4');\n } else {\n layer = layerHTML();\n }\n\n $spinner.html(layer);\n };\n\n /**\n * 页面加载完后自动填充 HTML 结构\n */\n $(function () {\n mdui.mutation('.mdui-spinner', function () {\n fillHTML(this);\n });\n });\n\n /**\n * 更新圆形进度条\n */\n mdui.updateSpinners = function () {\n $(arguments.length ? arguments[0] : '.mdui-spinner').each(function () {\n fillHTML(this);\n });\n };\n\n})();\n"," /* jshint ignore:start */\n mdui.JQ = $;\n return mdui;\n})));\n/* jshint ignore:end */\n","/**\n * =============================================================================\n * ************ Collapse 自定义属性 ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-collapse]', function () {\n var $target = $(this);\n\n var inst = $target.data('mdui.collapse');\n if (!inst) {\n var options = parseOptions($target.attr('mdui-collapse'));\n inst = new mdui.Collapse($target, options);\n $target.data('mdui.collapse', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Table 表格 ************\n * =============================================================================\n */\n\n(function () {\n\n /**\n * 生成 checkbox 的 HTML 结构\n * @param tag\n * @returns {string}\n */\n var checkboxHTML = function (tag) {\n return '<' + tag + ' class=\"mdui-table-cell-checkbox\">' +\n '' +\n '';\n };\n\n /**\n * Table 表格\n * @param selector\n * @constructor\n */\n function Table(selector) {\n var _this = this;\n\n _this.$table = $(selector).eq(0);\n\n if (!_this.$table.length) {\n return;\n }\n\n _this.init();\n }\n\n /**\n * 初始化\n */\n Table.prototype.init = function () {\n var _this = this;\n\n _this.$thRow = _this.$table.find('thead tr');\n _this.$tdRows = _this.$table.find('tbody tr');\n _this.$tdCheckboxs = $();\n _this.selectable = _this.$table.hasClass('mdui-table-selectable');\n _this.selectedRow = 0;\n\n _this._updateThCheckbox();\n _this._updateTdCheckbox();\n _this._updateNumericCol();\n };\n\n /**\n * 更新表头 checkbox 的状态\n */\n Table.prototype._updateThCheckboxStatus = function () {\n var _this = this;\n var checkbox = _this.$thCheckbox[0];\n\n checkbox.checked = _this.selectedRow === _this.$tdRows.length;\n checkbox.indeterminate = _this.selectedRow && _this.selectedRow !== _this.$tdRows.length;\n };\n\n /**\n * 更新表格行的 checkbox\n */\n Table.prototype._updateTdCheckbox = function () {\n var _this = this;\n\n _this.$tdRows.each(function () {\n var $tdRow = $(this);\n\n // 移除旧的 checkbox\n $tdRow.find('.mdui-table-cell-checkbox').remove();\n\n if (!_this.selectable) {\n return;\n }\n\n // 创建 DOM\n var $checkbox = $(checkboxHTML('td'))\n .prependTo($tdRow)\n .find('input[type=\"checkbox\"]');\n\n // 默认选中的行\n if ($tdRow.hasClass('mdui-table-row-selected')) {\n $checkbox[0].checked = true;\n _this.selectedRow++;\n }\n\n _this._updateThCheckboxStatus();\n\n // 绑定事件\n $checkbox.on('change', function () {\n if ($checkbox[0].checked) {\n $tdRow.addClass('mdui-table-row-selected');\n _this.selectedRow++;\n } else {\n $tdRow.removeClass('mdui-table-row-selected');\n _this.selectedRow--;\n }\n\n _this._updateThCheckboxStatus();\n });\n\n _this.$tdCheckboxs = _this.$tdCheckboxs.add($checkbox);\n });\n };\n\n /**\n * 更新表头的 checkbox\n */\n Table.prototype._updateThCheckbox = function () {\n var _this = this;\n\n // 移除旧的 checkbox\n _this.$thRow.find('.mdui-table-cell-checkbox').remove();\n\n if (!_this.selectable) {\n return;\n }\n\n _this.$thCheckbox = $(checkboxHTML('th'))\n .prependTo(_this.$thRow)\n .find('input[type=\"checkbox\"]')\n .on('change', function () {\n\n var isCheckedAll = _this.$thCheckbox[0].checked;\n _this.selectedRow = isCheckedAll ? _this.$tdRows.length : 0;\n\n _this.$tdCheckboxs.each(function (i, checkbox) {\n checkbox.checked = isCheckedAll;\n });\n\n _this.$tdRows.each(function (i, row) {\n $(row)[isCheckedAll ? 'addClass' : 'removeClass']('mdui-table-row-selected');\n });\n });\n };\n\n /**\n * 更新数值列\n */\n Table.prototype._updateNumericCol = function () {\n var _this = this;\n var $th;\n var $tdRow;\n\n _this.$thRow.find('th').each(function (i, th) {\n $th = $(th);\n\n _this.$tdRows.each(function () {\n $tdRow = $(this);\n var method = $th.hasClass('mdui-table-col-numeric') ? 'addClass' : 'removeClass';\n $tdRow.find('td').eq(i)[method]('mdui-table-col-numeric');\n });\n });\n };\n\n /**\n * 初始化表格\n */\n mdui.mutation('.mdui-table', function () {\n var $table = $(this);\n if (!$table.data('mdui.table')) {\n $table.data('mdui.table', new Table($table));\n }\n });\n\n /**\n * 更新表格\n */\n mdui.updateTables = function () {\n $(arguments.length ? arguments[0] : '.mdui-table').each(function () {\n var $table = $(this);\n var inst = $table.data('mdui.table');\n\n if (inst) {\n inst.init();\n } else {\n $table.data('mdui.table', new Table($table));\n }\n });\n };\n\n})();\n","/**\n * =============================================================================\n * ************ Fab 浮动操作按钮 ************\n * =============================================================================\n */\n\nmdui.Fab = (function () {\n\n /**\n * 默认参数\n * @type {{}}\n */\n var DEFAULT = {\n trigger: 'hover', // 触发方式 ['hover', 'click']\n };\n\n /**\n * 浮动操作按钮实例\n * @param selector 选择器或 HTML 字符串或 DOM 元素或 JQ 对象\n * @param opts\n * @constructor\n */\n function Fab(selector, opts) {\n var _this = this;\n\n _this.$fab = $(selector).eq(0);\n if (!_this.$fab.length) {\n return;\n }\n\n // 已通过 data 属性实例化过,不再重复实例化\n var oldInst = _this.$fab.data('mdui.fab');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.state = 'closed';\n\n _this.$btn = _this.$fab.find('.mdui-fab');\n _this.$dial = _this.$fab.find('.mdui-fab-dial');\n _this.$dialBtns = _this.$dial.find('.mdui-fab');\n\n if (_this.options.trigger === 'hover') {\n _this.$btn\n .on('touchstart mouseenter', function () {\n _this.open();\n });\n\n _this.$fab\n .on('mouseleave', function () {\n _this.close();\n });\n }\n\n if (_this.options.trigger === 'click') {\n _this.$btn\n .on(TouchHandler.start, function () {\n _this.open();\n });\n }\n\n // 触摸屏幕其他地方关闭快速拨号\n $document.on(TouchHandler.start, function (e) {\n if (!$(e.target).parents('.mdui-fab-wrapper').length) {\n _this.close();\n }\n });\n }\n\n /**\n * 打开菜单\n */\n Fab.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n _this.$dialBtns.each(function (index, btn) {\n btn.style['transition-delay'] = btn.style['-webkit-transition-delay'] =\n 15 * (_this.$dialBtns.length - index) + 'ms';\n });\n\n _this.$dial\n .css('height', 'auto')\n .addClass('mdui-fab-dial-show');\n\n // 如果按钮中存在 .mdui-fab-opened 的图标,则进行图标切换\n if (_this.$btn.find('.mdui-fab-opened').length) {\n _this.$btn.addClass('mdui-fab-opened');\n }\n\n _this.state = 'opening';\n componentEvent('open', 'fab', _this, _this.$fab);\n\n // 打开顺序为从下到上逐个打开,最上面的打开后才表示动画完成\n _this.$dialBtns.eq(0).transitionEnd(function () {\n if (_this.$btn.hasClass('mdui-fab-opened')) {\n _this.state = 'opened';\n componentEvent('opened', 'fab', _this, _this.$fab);\n }\n });\n };\n\n /**\n * 关闭菜单\n */\n Fab.prototype.close = function () {\n var _this = this;\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n // 为菜单中的按钮添加不同的 transition-delay\n _this.$dialBtns.each(function (index, btn) {\n btn.style['transition-delay'] = btn.style['-webkit-transition-delay'] = 15 * index + 'ms';\n });\n\n _this.$dial.removeClass('mdui-fab-dial-show');\n _this.$btn.removeClass('mdui-fab-opened');\n _this.state = 'closing';\n componentEvent('close', 'fab', _this, _this.$fab);\n\n // 从上往下依次关闭,最后一个关闭后才表示动画完成\n _this.$dialBtns.eq(-1).transitionEnd(function () {\n if (!_this.$btn.hasClass('mdui-fab-opened')) {\n _this.state = 'closed';\n componentEvent('closed', 'fab', _this, _this.$fab);\n _this.$dial.css('height', 0);\n }\n });\n };\n\n /**\n * 切换菜单的打开状态\n */\n Fab.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 获取当前菜单状态\n * @returns {'opening'|'opened'|'closing'|'closed'}\n */\n Fab.prototype.getState = function () {\n return this.state;\n };\n\n /**\n * 以动画的形式显示浮动操作按钮\n */\n Fab.prototype.show = function () {\n this.$fab.removeClass('mdui-fab-hide');\n };\n\n /**\n * 以动画的形式隐藏浮动操作按钮\n */\n Fab.prototype.hide = function () {\n this.$fab.addClass('mdui-fab-hide');\n };\n\n return Fab;\n})();\n","/**\n * =============================================================================\n * ************ Fab DATA API ************\n * =============================================================================\n */\n\n$(function () {\n // mouseenter 不冒泡,无法进行事件委托,这里用 mouseover 代替。\n // 不管是 click 、 mouseover 还是 touchstart ,都先初始化。\n\n $document.on('touchstart mousedown mouseover', '[mdui-fab]', function (e) {\n var $this = $(this);\n\n var inst = $this.data('mdui.fab');\n if (!inst) {\n var options = parseOptions($this.attr('mdui-fab'));\n inst = new mdui.Fab($this, options);\n $this.data('mdui.fab', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n\nmdui.Select = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n position: 'auto', // 下拉框位置,auto、bottom、top\n gutter: 16, // 菜单与窗口上下边框至少保持多少间距\n };\n\n /**\n * 调整菜单位置\n * @param _this Select 实例\n */\n var readjustMenu = function (_this) {\n // 窗口高度\n var windowHeight = $window.height();\n\n // 配置参数\n var gutter = _this.options.gutter;\n var position = _this.options.position;\n\n // mdui-select 高度\n var selectHeight = parseInt(_this.$select.height());\n\n // 菜单项高度\n var $menuItemFirst = _this.$items.eq(0);\n var menuItemHeight = parseInt($menuItemFirst.height());\n var menuItemMargin = parseInt($menuItemFirst.css('margin-top'));\n\n // 菜单高度\n var menuWidth = parseFloat(_this.$select.width() + 0.01); // 必须比真实宽度多一点,不然会出现省略号\n var menuHeight = menuItemHeight * _this.size + menuItemMargin * 2;\n\n // var menuRealHeight = menuItemHeight * _this.$items.length + menuItemMargin * 2;\n\n // 菜单是否出现了滚动条\n //var isMenuScrollable = menuRealHeight > menuHeight;\n\n // select 在窗口中的位置\n var selectTop = _this.$select[0].getBoundingClientRect().top;\n\n var transformOriginY;\n var menuMarginTop;\n\n // position 为 auto 时\n if (position === 'auto') {\n\n // 菜单高度不能超过窗口高度\n var heightTemp = windowHeight - gutter * 2;\n if (menuHeight > heightTemp) {\n menuHeight = heightTemp;\n }\n\n // 菜单的 margin-top\n menuMarginTop = -(\n menuItemMargin + _this.selectedIndex * menuItemHeight +\n (menuItemHeight - selectHeight) / 2\n );\n var menuMarginTopMax = -(\n menuItemMargin + (_this.size - 1) * menuItemHeight +\n (menuItemHeight - selectHeight) / 2\n );\n if (menuMarginTop < menuMarginTopMax) {\n menuMarginTop = menuMarginTopMax;\n }\n\n // 菜单不能超出窗口\n var menuTop = selectTop + menuMarginTop;\n\n if (menuTop < gutter) {\n // 不能超出窗口上方\n menuMarginTop = -(selectTop - gutter);\n } else if (menuTop + menuHeight + gutter > windowHeight) {\n // 不能超出窗口下方\n menuMarginTop = -(selectTop + menuHeight + gutter - windowHeight);\n }\n\n // transform 的 Y 轴坐标\n transformOriginY = (_this.selectedIndex * menuItemHeight + menuItemHeight / 2 + menuItemMargin) + 'px';\n } else if (position === 'bottom') {\n menuMarginTop = selectHeight;\n transformOriginY = '0px';\n } else if (position === 'top') {\n menuMarginTop = -menuHeight - 1;\n transformOriginY = '100%';\n }\n\n // 设置样式\n _this.$select.width(menuWidth);\n _this.$menu\n .width(menuWidth)\n .height(menuHeight)\n .css({\n 'margin-top': menuMarginTop + 'px',\n 'transform-origin':\n 'center ' + transformOriginY + ' 0',\n });\n };\n\n /**\n * 下拉选择\n * @param selector\n * @param opts\n * @constructor\n */\n function Select(selector, opts) {\n var _this = this;\n\n var $selectNative = _this.$selectNative = $(selector).eq(0);\n if (!$selectNative.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = $selectNative.data('mdui.select');\n if (oldInst) {\n return oldInst;\n }\n\n $selectNative.hide();\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n // 为当前 select 生成唯一 ID\n _this.uniqueID = $.guid();\n\n _this.state = 'closed';\n\n // 生成 select\n _this.handleUpdate();\n\n // 点击 select 外面区域关闭\n $document.on('click touchstart', function (e) {\n var $target = $(e.target);\n if (\n (_this.state === 'opening' || _this.state === 'opened') &&\n !$target.is(_this.$select) &&\n !$.contains(_this.$select[0], $target[0])\n ) {\n _this.close();\n }\n });\n }\n\n /**\n * 对原生 select 组件进行了修改后,需要调用该方法\n */\n Select.prototype.handleUpdate = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n }\n\n var $selectNative = _this.$selectNative;\n\n // 当前的值和文本\n _this.value = $selectNative.val();\n _this.text = '';\n\n // 生成 HTML\n // 菜单项\n _this.$items = $();\n $selectNative.find('option').each(function (index, option) {\n var data = {\n value: option.value,\n text: option.textContent,\n disabled: option.disabled,\n selected: _this.value === option.value,\n index: index,\n };\n\n if (_this.value === data.value) {\n _this.text = data.text;\n _this.selectedIndex = index;\n }\n\n _this.$items = _this.$items.add(\n $('
' + data.text + '
')\n .data(data)\n );\n });\n\n // selected\n _this.$selected = $('' + _this.text + '');\n\n // select\n _this.$select =\n $(\n '
'\n )\n .show()\n .append(_this.$selected);\n\n // menu\n _this.$menu =\n $('
')\n .appendTo(_this.$select)\n .append(_this.$items);\n\n $('#' + _this.uniqueID).remove();\n $selectNative.after(_this.$select);\n\n // 根据 select 的 size 属性设置高度,默认为 6\n _this.size = parseInt(_this.$selectNative.attr('size'));\n\n if (!_this.size || _this.size < 0) {\n _this.size = _this.$items.length;\n if (_this.size > 8) {\n _this.size = 8;\n }\n }\n\n // 点击选项时关闭下拉菜单\n _this.$items.on('click', function () {\n if (_this.state === 'closing') {\n return;\n }\n\n var $item = $(this);\n\n if ($item.data('disabled')) {\n return;\n }\n\n var itemData = $item.data();\n\n _this.$selected.text(itemData.text);\n $selectNative.val(itemData.value);\n _this.$items.removeAttr('selected');\n $item.attr('selected', '');\n _this.selectedIndex = itemData.index;\n _this.value = itemData.value;\n _this.text = itemData.text;\n $selectNative.trigger('change');\n\n _this.close();\n });\n\n // 点击 select 时打开下拉菜单\n _this.$select.on('click', function (e) {\n var $target = $(e.target);\n\n // 在菜单上点击时不打开\n if ($target.is('.mdui-select-menu') || $target.is('.mdui-select-menu-item')) {\n return;\n }\n\n _this.toggle();\n });\n };\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n inst.$select.removeClass('mdui-select-closing');\n\n if (inst.state === 'opening') {\n inst.state = 'opened';\n componentEvent('opened', 'select', inst, inst.$selectNative);\n\n inst.$menu.css('overflow-y', 'auto');\n }\n\n if (inst.state === 'closing') {\n inst.state = 'closed';\n componentEvent('closed', 'select', inst, inst.$selectNative);\n\n // 恢复样式\n inst.$select.width('');\n inst.$menu.css({\n 'margin-top': '',\n height: '',\n width: '',\n });\n }\n };\n\n /**\n * 打开 Select\n */\n Select.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n _this.state = 'opening';\n componentEvent('open', 'select', _this, _this.$selectNative);\n\n readjustMenu(_this);\n\n _this.$select.addClass('mdui-select-open');\n\n _this.$menu.transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 关闭 Select\n */\n Select.prototype.close = function () {\n var _this = this;\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n _this.state = 'closing';\n componentEvent('close', 'select', _this, _this.$selectNative);\n\n _this.$menu.css('overflow-y', '');\n\n _this.$select\n .removeClass('mdui-select-open')\n .addClass('mdui-select-closing');\n _this.$menu.transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 切换 Select 显示状态\n */\n Select.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n return Select;\n})();\n","/**\n * =============================================================================\n * ************ Select 下拉选择 ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-select]', function () {\n var $this = $(this);\n var inst = $this.data('mdui.select');\n if (!inst) {\n inst = new mdui.Select($this, parseOptions($this.attr('mdui-select')));\n $this.data('mdui.select', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Appbar ************\n * =============================================================================\n * 滚动时自动隐藏应用栏\n * mdui-appbar-scroll-hide\n * mdui-appbar-scroll-toolbar-hide\n */\n\n$(function () {\n // 滚动时隐藏应用栏\n mdui.mutation('.mdui-appbar-scroll-hide', function () {\n var $this = $(this);\n $this.data('mdui.headroom', new mdui.Headroom($this));\n });\n\n // 滚动时只隐藏应用栏中的工具栏\n mdui.mutation('.mdui-appbar-scroll-toolbar-hide', function () {\n var $this = $(this);\n var inst = new mdui.Headroom($this, {\n pinnedClass: 'mdui-headroom-pinned-toolbar',\n unpinnedClass: 'mdui-headroom-unpinned-toolbar',\n });\n $this.data('mdui.headroom', inst);\n });\n});\n","/**\n * =============================================================================\n * ************ Tab ************\n * =============================================================================\n */\n\nmdui.Tab = (function () {\n\n var DEFAULT = {\n trigger: 'click', // 触发方式 click: 鼠标点击切换 hover: 鼠标悬浮切换\n //animation: false, // 切换时是否显示动画\n loop: false, // 为true时,在最后一个选项卡时调用 next() 方法会回到第一个选项卡\n };\n\n // 元素是否已禁用\n var isDisabled = function ($ele) {\n return $ele[0].disabled || $ele.attr('disabled') !== null;\n };\n\n /**\n * 选项卡\n * @param selector\n * @param opts\n * @returns {*}\n * @constructor\n */\n function Tab(selector, opts) {\n var _this = this;\n\n _this.$tab = $(selector).eq(0);\n if (!_this.$tab.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = _this.$tab.data('mdui.tab');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.$tabs = _this.$tab.children('a');\n _this.$indicator = $('
').appendTo(_this.$tab);\n _this.activeIndex = false; // 为 false 时表示没有激活的选项卡,或不存在选项卡\n\n // 根据 url hash 获取默认激活的选项卡\n var hash = location.hash;\n if (hash) {\n _this.$tabs.each(function (i, tab) {\n if ($(tab).attr('href') === hash) {\n _this.activeIndex = i;\n return false;\n }\n });\n }\n\n // 含 mdui-tab-active 的元素默认激活\n if (_this.activeIndex === false) {\n _this.$tabs.each(function (i, tab) {\n if ($(tab).hasClass('mdui-tab-active')) {\n _this.activeIndex = i;\n return false;\n }\n });\n }\n\n // 存在选项卡时,默认激活第一个选项卡\n if (_this.$tabs.length && _this.activeIndex === false) {\n _this.activeIndex = 0;\n }\n\n // 设置激活状态选项卡\n _this._setActive();\n\n // 监听窗口大小变化事件,调整指示器位置\n $window.on('resize', $.throttle(function () {\n _this._setIndicatorPosition();\n }, 100));\n\n // 监听点击选项卡事件\n _this.$tabs.each(function (i, tab) {\n _this._bindTabEvent(tab);\n });\n }\n\n /**\n * 绑定在 Tab 上点击或悬浮的事件\n * @private\n */\n Tab.prototype._bindTabEvent = function (tab) {\n var _this = this;\n var $tab = $(tab);\n\n // 点击或鼠标移入触发的事件\n var clickEvent = function (e) {\n // 禁用状态的选项无法选中\n if (isDisabled($tab)) {\n e.preventDefault();\n return;\n }\n\n _this.activeIndex = _this.$tabs.index(tab);\n _this._setActive();\n };\n\n // 无论 trigger 是 click 还是 hover,都会响应 click 事件\n $tab.on('click', clickEvent);\n\n // trigger 为 hover 时,额外响应 mouseenter 事件\n if (_this.options.trigger === 'hover') {\n $tab.on('mouseenter', clickEvent);\n }\n\n $tab.on('click', function (e) {\n // 阻止链接的默认点击动作\n if ($tab.attr('href').indexOf('#') === 0) {\n e.preventDefault();\n }\n });\n };\n\n /**\n * 设置激活状态的选项卡\n * @private\n */\n Tab.prototype._setActive = function () {\n var _this = this;\n\n _this.$tabs.each(function (i, tab) {\n var $tab = $(tab);\n var targetId = $tab.attr('href');\n\n // 设置选项卡激活状态\n if (i === _this.activeIndex && !isDisabled($tab)) {\n if (!$tab.hasClass('mdui-tab-active')) {\n componentEvent('change', 'tab', _this, _this.$tab, {\n index: _this.activeIndex,\n id: targetId.substr(1),\n });\n componentEvent('show', 'tab', _this, $tab);\n\n $tab.addClass('mdui-tab-active');\n }\n\n $(targetId).show();\n _this._setIndicatorPosition();\n } else {\n $tab.removeClass('mdui-tab-active');\n $(targetId).hide();\n }\n });\n };\n\n /**\n * 设置选项卡指示器的位置\n */\n Tab.prototype._setIndicatorPosition = function () {\n var _this = this;\n var $activeTab;\n var activeTabOffset;\n\n // 选项卡数量为 0 时,不显示指示器\n if (_this.activeIndex === false) {\n _this.$indicator.css({\n left: 0,\n width: 0,\n });\n\n return;\n }\n\n $activeTab = _this.$tabs.eq(_this.activeIndex);\n if (isDisabled($activeTab)) {\n return;\n }\n\n activeTabOffset = $activeTab.offset();\n _this.$indicator.css({\n left: activeTabOffset.left + _this.$tab[0].scrollLeft -\n _this.$tab[0].getBoundingClientRect().left + 'px',\n width: $activeTab.width() + 'px',\n });\n };\n\n /**\n * 切换到下一个选项卡\n */\n Tab.prototype.next = function () {\n var _this = this;\n\n if (_this.activeIndex === false) {\n return;\n }\n\n if (_this.$tabs.length > _this.activeIndex + 1) {\n _this.activeIndex++;\n } else if (_this.options.loop) {\n _this.activeIndex = 0;\n }\n\n _this._setActive();\n };\n\n /**\n * 切换到上一个选项卡\n */\n Tab.prototype.prev = function () {\n var _this = this;\n\n if (_this.activeIndex === false) {\n return;\n }\n\n if (_this.activeIndex > 0) {\n _this.activeIndex--;\n } else if (_this.options.loop) {\n _this.activeIndex = _this.$tabs.length - 1;\n }\n\n _this._setActive();\n };\n\n /**\n * 显示指定序号或指定id的选项卡\n * @param index 从0开始的序号,或以#开头的id\n */\n Tab.prototype.show = function (index) {\n var _this = this;\n\n if (_this.activeIndex === false) {\n return;\n }\n\n if (parseInt(index) === index) {\n _this.activeIndex = index;\n } else {\n _this.$tabs.each(function (i, tab) {\n if (tab.id === index) {\n _this.activeIndex = i;\n return false;\n }\n });\n }\n\n _this._setActive();\n };\n\n /**\n * 在父元素的宽度变化时,需要调用该方法重新调整指示器位置\n * 在添加或删除选项卡时,需要调用该方法\n */\n Tab.prototype.handleUpdate = function () {\n var _this = this;\n\n var $oldTabs = _this.$tabs; // 旧的 tabs JQ对象\n var $newTabs = _this.$tab.children('a'); // 新的 tabs JQ对象\n var oldTabsEle = $oldTabs.get(); // 旧 tabs 的元素数组\n var newTabsEle = $newTabs.get(); // 新的 tabs 元素数组\n\n if (!$newTabs.length) {\n _this.activeIndex = false;\n _this.$tabs = $newTabs;\n _this._setIndicatorPosition();\n\n return;\n }\n\n // 重新遍历选项卡,找出新增的选项卡\n $newTabs.each(function (i, tab) {\n // 有新增的选项卡\n if (oldTabsEle.indexOf(tab) < 0) {\n _this._bindTabEvent(tab);\n\n if (_this.activeIndex === false) {\n _this.activeIndex = 0;\n } else if (i <= _this.activeIndex) {\n _this.activeIndex++;\n }\n }\n });\n\n // 找出被移除的选项卡\n $oldTabs.each(function (i, tab) {\n // 有被移除的选项卡\n if (newTabsEle.indexOf(tab) < 0) {\n\n if (i < _this.activeIndex) {\n _this.activeIndex--;\n } else if (i === _this.activeIndex) {\n _this.activeIndex = 0;\n }\n }\n });\n\n _this.$tabs = $newTabs;\n\n _this._setActive();\n };\n\n return Tab;\n})();\n","/**\n * =============================================================================\n * ************ Tab 自定义属性 API ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-tab]', function () {\n var $this = $(this);\n var inst = $this.data('mdui.tab');\n if (!inst) {\n inst = new mdui.Tab($this, parseOptions($this.attr('mdui-tab')));\n $this.data('mdui.tab', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Drawer 抽屉栏 ************\n * =============================================================================\n *\n * 在桌面设备上默认显示抽屉栏,不显示遮罩层\n * 在手机和平板设备上默认不显示抽屉栏,始终显示遮罩层,且覆盖导航栏\n */\n\nmdui.Drawer = (function () {\n\n /**\n * 默认参数\n * @type {{}}\n */\n var DEFAULT = {\n // 在桌面设备上是否显示遮罩层。手机和平板不受这个参数影响,始终会显示遮罩层\n overlay: false,\n\n // 是否开启手势\n swipe: false,\n };\n\n var isDesktop = function () {\n return $window.width() >= 1024;\n };\n\n /**\n * 抽屉栏实例\n * @param selector 选择器或 HTML 字符串或 DOM 元素\n * @param opts\n * @constructor\n */\n function Drawer(selector, opts) {\n var _this = this;\n\n _this.$drawer = $(selector).eq(0);\n if (!_this.$drawer.length) {\n return;\n }\n\n var oldInst = _this.$drawer.data('mdui.drawer');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n _this.overlay = false; // 是否显示着遮罩层\n _this.position = _this.$drawer.hasClass('mdui-drawer-right') ? 'right' : 'left';\n\n if (_this.$drawer.hasClass('mdui-drawer-close')) {\n _this.state = 'closed';\n } else if (_this.$drawer.hasClass('mdui-drawer-open')) {\n _this.state = 'opened';\n } else if (isDesktop()) {\n _this.state = 'opened';\n } else {\n _this.state = 'closed';\n }\n\n // 浏览器窗口大小调整时\n $window.on('resize', $.throttle(function () {\n // 由手机平板切换到桌面时\n if (isDesktop()) {\n // 如果显示着遮罩,则隐藏遮罩\n if (_this.overlay && !_this.options.overlay) {\n $.hideOverlay();\n _this.overlay = false;\n $.unlockScreen();\n }\n\n // 没有强制关闭,则状态为打开状态\n if (!_this.$drawer.hasClass('mdui-drawer-close')) {\n _this.state = 'opened';\n }\n }\n\n // 由桌面切换到手机平板时。如果抽屉栏是打开着的且没有遮罩层,则关闭抽屉栏\n else {\n if (!_this.overlay && _this.state === 'opened') {\n // 抽屉栏处于强制打开状态,添加遮罩\n if (_this.$drawer.hasClass('mdui-drawer-open')) {\n $.showOverlay();\n _this.overlay = true;\n $.lockScreen();\n\n $('.mdui-overlay').one('click', function () {\n _this.close();\n });\n } else {\n _this.state = 'closed';\n }\n }\n }\n }, 100));\n\n // 绑定关闭按钮事件\n _this.$drawer.find('[mdui-drawer-close]').each(function () {\n $(this).on('click', function () {\n _this.close();\n });\n });\n\n swipeSupport(_this);\n }\n\n /**\n * 滑动手势支持\n * @param _this\n */\n var swipeSupport = function (_this) {\n // 抽屉栏滑动手势控制\n var openNavEventHandler;\n var touchStartX;\n var touchStartY;\n var swipeStartX;\n var swiping = false;\n var maybeSwiping = false;\n var $body = $('body');\n\n // 手势触发的范围\n var swipeAreaWidth = 24;\n\n function enableSwipeHandling() {\n if (!openNavEventHandler) {\n $body.on('touchstart', onBodyTouchStart);\n openNavEventHandler = onBodyTouchStart;\n }\n }\n\n function setPosition(translateX, closeTransform) {\n var rtlTranslateMultiplier = _this.position === 'right' ? -1 : 1;\n var transformCSS = 'translate(' + (-1 * rtlTranslateMultiplier * translateX) + 'px, 0) !important;';\n _this.$drawer.css(\n 'cssText',\n 'transform:' + transformCSS + (closeTransform ? 'transition: initial !important;' : '')\n );\n }\n\n function cleanPosition() {\n _this.$drawer.css({\n transform: '',\n transition: '',\n });\n }\n\n function getMaxTranslateX() {\n return _this.$drawer.width() + 10;\n }\n\n function getTranslateX(currentX) {\n return Math.min(\n Math.max(\n swiping === 'closing' ? (swipeStartX - currentX) : (getMaxTranslateX() + swipeStartX - currentX),\n 0\n ),\n getMaxTranslateX()\n );\n }\n\n function onBodyTouchStart(event) {\n touchStartX = event.touches[0].pageX;\n if (_this.position === 'right') {\n touchStartX = $body.width() - touchStartX;\n }\n\n touchStartY = event.touches[0].pageY;\n\n if (_this.state !== 'opened') {\n if (touchStartX > swipeAreaWidth || openNavEventHandler !== onBodyTouchStart) {\n return;\n }\n }\n\n maybeSwiping = true;\n\n $body.on({\n touchmove: onBodyTouchMove,\n touchend: onBodyTouchEnd,\n touchcancel: onBodyTouchMove,\n });\n }\n\n function onBodyTouchMove(event) {\n var touchX = event.touches[0].pageX;\n if (_this.position === 'right') {\n touchX = $body.width() - touchX;\n }\n\n var touchY = event.touches[0].pageY;\n\n if (swiping) {\n setPosition(getTranslateX(touchX), true);\n } else if (maybeSwiping) {\n var dXAbs = Math.abs(touchX - touchStartX);\n var dYAbs = Math.abs(touchY - touchStartY);\n var threshold = 8;\n\n if (dXAbs > threshold && dYAbs <= threshold) {\n swipeStartX = touchX;\n swiping = _this.state === 'opened' ? 'closing' : 'opening';\n $.lockScreen();\n setPosition(getTranslateX(touchX), true);\n } else if (dXAbs <= threshold && dYAbs > threshold) {\n onBodyTouchEnd();\n }\n }\n }\n\n function onBodyTouchEnd(event) {\n if (swiping) {\n var touchX = event.changedTouches[0].pageX;\n if (_this.position === 'right') {\n touchX = $body.width() - touchX;\n }\n\n var translateRatio = getTranslateX(touchX) / getMaxTranslateX();\n\n maybeSwiping = false;\n var swipingState = swiping;\n swiping = null;\n\n if (swipingState === 'opening') {\n if (translateRatio < 0.92) {\n cleanPosition();\n _this.open();\n } else {\n cleanPosition();\n }\n } else {\n if (translateRatio > 0.08) {\n cleanPosition();\n _this.close();\n } else {\n cleanPosition();\n }\n }\n\n $.unlockScreen();\n } else {\n maybeSwiping = false;\n }\n\n $body.off({\n touchmove: onBodyTouchMove,\n touchend: onBodyTouchEnd,\n touchcancel: onBodyTouchMove,\n });\n }\n\n if (_this.options.swipe) {\n enableSwipeHandling();\n }\n };\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n if (inst.$drawer.hasClass('mdui-drawer-open')) {\n inst.state = 'opened';\n componentEvent('opened', 'drawer', inst, inst.$drawer);\n } else {\n inst.state = 'closed';\n componentEvent('closed', 'drawer', inst, inst.$drawer);\n }\n };\n\n /**\n * 打开抽屉栏\n */\n Drawer.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n _this.state = 'opening';\n componentEvent('open', 'drawer', _this, _this.$drawer);\n\n if (!_this.options.overlay) {\n $('body').addClass('mdui-drawer-body-' + _this.position);\n }\n\n _this.$drawer\n .removeClass('mdui-drawer-close')\n .addClass('mdui-drawer-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n\n if (!isDesktop() || _this.options.overlay) {\n _this.overlay = true;\n $.showOverlay().one('click', function () {\n _this.close();\n });\n\n $.lockScreen();\n }\n };\n\n /**\n * 关闭抽屉栏\n */\n Drawer.prototype.close = function () {\n var _this = this;\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n _this.state = 'closing';\n componentEvent('close', 'drawer', _this, _this.$drawer);\n\n if (!_this.options.overlay) {\n $('body').removeClass('mdui-drawer-body-' + _this.position);\n }\n\n _this.$drawer\n .addClass('mdui-drawer-close')\n .removeClass('mdui-drawer-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n\n if (_this.overlay) {\n $.hideOverlay();\n _this.overlay = false;\n $.unlockScreen();\n }\n };\n\n /**\n * 切换抽屉栏打开/关闭状态\n */\n Drawer.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 获取抽屉栏状态\n * @returns {'opening'|'opened'|'closing'|'closed'}\n */\n Drawer.prototype.getState = function () {\n return this.state;\n };\n\n return Drawer;\n\n})();\n","/**\n * =============================================================================\n * ************ Drawer 自定义属性 API ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-drawer]', function () {\n var $this = $(this);\n var options = parseOptions($this.attr('mdui-drawer'));\n var selector = options.target;\n delete options.target;\n\n var $drawer = $(selector).eq(0);\n\n var inst = $drawer.data('mdui.drawer');\n if (!inst) {\n inst = new mdui.Drawer($drawer, options);\n $drawer.data('mdui.drawer', inst);\n }\n\n $this.on('click', function () {\n inst.toggle();\n });\n\n });\n});\n","/**\n * =============================================================================\n * ************ Dialog 对话框 ************\n * =============================================================================\n */\n\nmdui.Dialog = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n history: true, // 监听 hashchange 事件\n overlay: true, // 打开对话框时是否显示遮罩\n modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭\n closeOnEsc: true, // 按下 esc 关闭对话框\n closeOnCancel: true, // 按下取消按钮时关闭对话框\n closeOnConfirm: true, // 按下确认按钮时关闭对话框\n destroyOnClosed: false, // 关闭后销毁\n };\n\n /**\n * 遮罩层元素\n */\n var $overlay;\n\n /**\n * 窗口是否已锁定\n */\n var isLockScreen;\n\n /**\n * 当前对话框实例\n */\n var currentInst;\n\n /**\n * 队列名\n */\n var queueName = '__md_dialog';\n\n /**\n * 窗口宽度变化,或对话框内容变化时,调整对话框位置和对话框内的滚动条\n */\n var readjust = function () {\n if (!currentInst) {\n return;\n }\n\n var $dialog = currentInst.$dialog;\n\n var $dialogTitle = $dialog.children('.mdui-dialog-title');\n var $dialogContent = $dialog.children('.mdui-dialog-content');\n var $dialogActions = $dialog.children('.mdui-dialog-actions');\n\n // 调整 dialog 的 top 和 height 值\n $dialog.height('');\n $dialogContent.height('');\n\n var dialogHeight = $dialog.height();\n $dialog.css({\n top: (($window.height() - dialogHeight) / 2) + 'px',\n height: dialogHeight + 'px',\n });\n\n // 调整 mdui-dialog-content 的高度\n $dialogContent.height(dialogHeight - ($dialogTitle.height() || 0) - ($dialogActions.height() || 0));\n };\n\n /**\n * hashchange 事件触发时关闭对话框\n */\n var hashchangeEvent = function () {\n if (location.hash.substring(1).indexOf('mdui-dialog') < 0) {\n currentInst.close(true);\n }\n };\n\n /**\n * 点击遮罩层关闭对话框\n * @param e\n */\n var overlayClick = function (e) {\n if ($(e.target).hasClass('mdui-overlay') && currentInst) {\n currentInst.close();\n }\n };\n\n /**\n * 对话框实例\n * @param selector 选择器或 HTML 字符串或 DOM 元素\n * @param opts\n * @constructor\n */\n function Dialog(selector, opts) {\n var _this = this;\n\n // 对话框元素\n _this.$dialog = $(selector).eq(0);\n if (!_this.$dialog.length) {\n return;\n }\n\n // 已通过 data 属性实例化过,不再重复实例化\n var oldInst = _this.$dialog.data('mdui.dialog');\n if (oldInst) {\n return oldInst;\n }\n\n // 如果对话框元素没有在当前文档中,则需要添加\n if (!$.contains(document.body, _this.$dialog[0])) {\n _this.append = true;\n $('body').append(_this.$dialog);\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.state = 'closed';\n\n // 绑定取消按钮事件\n _this.$dialog.find('[mdui-dialog-cancel]').each(function () {\n $(this).on('click', function () {\n componentEvent('cancel', 'dialog', _this, _this.$dialog);\n if (_this.options.closeOnCancel) {\n _this.close();\n }\n });\n });\n\n // 绑定确认按钮事件\n _this.$dialog.find('[mdui-dialog-confirm]').each(function () {\n $(this).on('click', function () {\n componentEvent('confirm', 'dialog', _this, _this.$dialog);\n if (_this.options.closeOnConfirm) {\n _this.close();\n }\n });\n });\n\n // 绑定关闭按钮事件\n _this.$dialog.find('[mdui-dialog-close]').each(function () {\n $(this).on('click', function () {\n _this.close();\n });\n });\n }\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n if (inst.$dialog.hasClass('mdui-dialog-open')) {\n inst.state = 'opened';\n componentEvent('opened', 'dialog', inst, inst.$dialog);\n } else {\n inst.state = 'closed';\n componentEvent('closed', 'dialog', inst, inst.$dialog);\n\n inst.$dialog.hide();\n\n // 所有对话框都关闭,且当前没有打开的对话框时,解锁屏幕\n if (queue.queue(queueName).length === 0 && !currentInst && isLockScreen) {\n $.unlockScreen();\n isLockScreen = false;\n }\n\n $window.off('resize', $.throttle(function () {\n readjust();\n }, 100));\n\n if (inst.options.destroyOnClosed) {\n inst.destroy();\n }\n }\n };\n\n /**\n * 打开指定对话框\n * @private\n */\n Dialog.prototype._doOpen = function () {\n var _this = this;\n\n currentInst = _this;\n\n if (!isLockScreen) {\n $.lockScreen();\n isLockScreen = true;\n }\n\n _this.$dialog.show();\n\n readjust();\n $window.on('resize', $.throttle(function () {\n readjust();\n }, 100));\n\n // 打开消息框\n _this.state = 'opening';\n componentEvent('open', 'dialog', _this, _this.$dialog);\n\n _this.$dialog\n .addClass('mdui-dialog-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n\n // 不存在遮罩层元素时,添加遮罩层\n if (!$overlay) {\n $overlay = $.showOverlay(5100);\n }\n\n $overlay\n\n // 点击遮罩层时是否关闭对话框\n [_this.options.modal ? 'off' : 'on']('click', overlayClick)\n\n // 是否显示遮罩层,不显示时,把遮罩层背景透明\n .css('opacity', _this.options.overlay ? '' : 0);\n\n if (_this.options.history) {\n // 如果 hash 中原来就有 mdui-dialog,先删除,避免后退历史纪录后仍然有 mdui-dialog 导致无法关闭\n // 包括 mdui-dialog 和 &mdui-dialog 和 ?mdui-dialog\n var hash = location.hash.substring(1);\n if (hash.indexOf('mdui-dialog') > -1) {\n hash = hash.replace(/[&?]?mdui-dialog/g, '');\n }\n\n // 后退按钮关闭对话框\n if (hash) {\n location.hash = hash + (hash.indexOf('?') > -1 ? '&' : '?') + 'mdui-dialog';\n } else {\n location.hash = 'mdui-dialog';\n }\n\n $window.on('hashchange', hashchangeEvent);\n }\n };\n\n /**\n * 打开对话框\n */\n Dialog.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n // 如果当前有正在打开或已经打开的对话框,或队列不为空,则先加入队列,等旧对话框开始关闭时再打开\n if (\n (currentInst && (currentInst.state === 'opening' || currentInst.state === 'opened')) ||\n queue.queue(queueName).length\n ) {\n queue.queue(queueName, function () {\n _this._doOpen();\n });\n\n return;\n }\n\n _this._doOpen();\n };\n\n /**\n * 关闭对话框\n */\n Dialog.prototype.close = function () {\n var _this = this;\n var _arguments = arguments;\n\n // setTimeout 的作用是:\n // 当同时关闭一个对话框,并打开另一个对话框时,使打开对话框的操作先执行,以使需要打开的对话框先加入队列\n setTimeout(function () {\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n currentInst = null;\n\n _this.state = 'closing';\n componentEvent('close', 'dialog', _this, _this.$dialog);\n\n // 所有对话框都关闭,且当前没有打开的对话框时,隐藏遮罩\n if (queue.queue(queueName).length === 0 && $overlay) {\n $.hideOverlay();\n $overlay = null;\n }\n\n _this.$dialog\n .removeClass('mdui-dialog-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n\n if (_this.options.history && queue.queue(queueName).length === 0) {\n // 是否需要后退历史纪录,默认为 false。\n // 为 false 时是通过 js 关闭,需要后退一个历史记录\n // 为 true 时是通过后退按钮关闭,不需要后退历史记录\n if (!_arguments[0]) {\n window.history.back();\n }\n\n $window.off('hashchange', hashchangeEvent);\n }\n\n // 关闭旧对话框,打开新对话框。\n // 加一点延迟,仅仅为了视觉效果更好。不加延时也不影响功能\n setTimeout(function () {\n queue.dequeue(queueName);\n }, 100);\n }, 0);\n };\n\n /**\n * 切换对话框打开/关闭状态\n */\n Dialog.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 获取对话框状态\n * @returns {'opening'|'opened'|'closing'|'closed'}\n */\n Dialog.prototype.getState = function () {\n return this.state;\n };\n\n /**\n * 销毁对话框\n */\n Dialog.prototype.destroy = function () {\n var _this = this;\n\n if (_this.append) {\n _this.$dialog.remove();\n }\n\n _this.$dialog.removeData('mdui.dialog');\n\n if (queue.queue(queueName).length === 0 && !currentInst) {\n if ($overlay) {\n $.hideOverlay();\n $overlay = null;\n }\n\n if (isLockScreen) {\n $.unlockScreen();\n isLockScreen = false;\n }\n }\n };\n\n /**\n * 对话框内容变化时,需要调用该方法来调整对话框位置和滚动条高度\n */\n Dialog.prototype.handleUpdate = function () {\n readjust();\n };\n\n // esc 按下时关闭对话框\n $document.on('keydown', function (e) {\n if (\n currentInst &&\n currentInst.options.closeOnEsc &&\n currentInst.state === 'opened' &&\n e.keyCode === 27\n ) {\n currentInst.close();\n }\n });\n\n return Dialog;\n\n})();\n","/**\n * =============================================================================\n * ************ Dialog DATA API ************\n * =============================================================================\n */\n\n$(function () {\n $document.on('click', '[mdui-dialog]', function () {\n var $this = $(this);\n var options = parseOptions($this.attr('mdui-dialog'));\n var selector = options.target;\n delete options.target;\n\n var $dialog = $(selector).eq(0);\n\n var inst = $dialog.data('mdui.dialog');\n if (!inst) {\n inst = new mdui.Dialog($dialog, options);\n $dialog.data('mdui.dialog', inst);\n }\n\n inst.open();\n });\n});\n","/**\n * =============================================================================\n * ************ mdui.dialog(options) ************\n * =============================================================================\n */\n\nmdui.dialog = function (options) {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n title: '', // 标题\n content: '', // 文本\n buttons: [], // 按钮\n stackedButtons: false, // 垂直排列按钮\n cssClass: '', // 在 Dialog 上添加的 CSS 类\n history: true, // 监听 hashchange 事件\n overlay: true, // 是否显示遮罩\n modal: false, // 是否模态化对话框\n closeOnEsc: true, // 按下 esc 时关闭对话框\n destroyOnClosed: true, // 关闭后销毁\n onOpen: function () { // 打开动画开始时的回调\n },\n\n onOpened: function () { // 打开动画结束后的回调\n },\n\n onClose: function () { // 关闭动画开始时的回调\n },\n\n onClosed: function () { // 关闭动画结束时的回调\n },\n };\n\n /**\n * 按钮的默认参数\n */\n var DEFAULT_BUTTON = {\n text: '', // 按钮文本\n bold: false, // 按钮文本是否加粗\n close: true, // 点击按钮后关闭对话框\n onClick: function (inst) { // 点击按钮的回调\n },\n };\n\n // 合并参数\n options = $.extend({}, DEFAULT, (options || {}));\n $.each(options.buttons, function (i, button) {\n options.buttons[i] = $.extend({}, DEFAULT_BUTTON, button);\n });\n\n // 按钮的 HTML\n var buttonsHTML = '';\n if (options.buttons.length) {\n buttonsHTML =\n '
';\n $.each(options.buttons, function (i, button) {\n buttonsHTML +=\n '' +\n button.text +\n '';\n });\n\n buttonsHTML += '
';\n }\n\n // Dialog 的 HTML\n var HTML =\n '
' +\n (options.title ? '
' + options.title + '
' : '') +\n (options.content ? '
' + options.content + '
' : '') +\n buttonsHTML +\n '
';\n\n // 实例化 Dialog\n var inst = new mdui.Dialog(HTML, {\n history: options.history,\n overlay: options.overlay,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n destroyOnClosed: options.destroyOnClosed,\n });\n\n // 绑定按钮事件\n if (options.buttons.length) {\n inst.$dialog.find('.mdui-dialog-actions .mdui-btn').each(function (i, button) {\n $(button).on('click', function () {\n if (typeof options.buttons[i].onClick === 'function') {\n options.buttons[i].onClick(inst);\n }\n\n if (options.buttons[i].close) {\n inst.close();\n }\n });\n });\n }\n\n // 绑定打开关闭事件\n if (typeof options.onOpen === 'function') {\n inst.$dialog\n .on('open.mdui.dialog', function () {\n options.onOpen(inst);\n })\n .on('opened.mdui.dialog', function () {\n options.onOpened(inst);\n })\n .on('close.mdui.dialog', function () {\n options.onClose(inst);\n })\n .on('closed.mdui.dialog', function () {\n options.onClosed(inst);\n });\n }\n\n inst.open();\n\n return inst;\n};\n","/**\n * =============================================================================\n * ************ mdui.alert(text, title, onConfirm, options) ************\n * ************ mdui.alert(text, onConfirm, options) ************\n * =============================================================================\n */\n\nmdui.alert = function (text, title, onConfirm, options) {\n\n // title 参数可选\n if (typeof title === 'function') {\n title = '';\n onConfirm = arguments[1];\n options = arguments[2];\n }\n\n if (onConfirm === undefined) {\n onConfirm = function () {};\n }\n\n if (options === undefined) {\n options = {};\n }\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n confirmText: 'ok', // 按钮上的文本\n history: true, // 监听 hashchange 事件\n modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭\n closeOnEsc: true, // 按下 esc 关闭对话框\n };\n\n options = $.extend({}, DEFAULT, options);\n\n return mdui.dialog({\n title: title,\n content: text,\n buttons: [\n {\n text: options.confirmText,\n bold: false,\n close: true,\n onClick: onConfirm,\n },\n ],\n cssClass: 'mdui-dialog-alert',\n history: options.history,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n });\n};\n","/**\n * =============================================================================\n * ************ mdui.confirm(text, title, onConfirm, onCancel, options) ************\n * ************ mdui.confirm(text, onConfirm, onCancel, options) ************\n * =============================================================================\n */\n\nmdui.confirm = function (text, title, onConfirm, onCancel, options) {\n\n // title 参数可选\n if (typeof title === 'function') {\n title = '';\n onConfirm = arguments[1];\n onCancel = arguments[2];\n options = arguments[3];\n }\n\n if (onConfirm === undefined) {\n onConfirm = function () {};\n }\n\n if (onCancel === undefined) {\n onCancel = function () {};\n }\n\n if (options === undefined) {\n options = {};\n }\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n confirmText: 'ok', // 确认按钮的文本\n cancelText: 'cancel', // 取消按钮的文本\n history: true, // 监听 hashchange 事件\n modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭\n closeOnEsc: true, // 按下 esc 关闭对话框\n };\n\n options = $.extend({}, DEFAULT, options);\n\n return mdui.dialog({\n title: title,\n content: text,\n buttons: [\n {\n text: options.cancelText,\n bold: false,\n close: true,\n onClick: onCancel,\n },\n {\n text: options.confirmText,\n bold: false,\n close: true,\n onClick: onConfirm,\n },\n ],\n cssClass: 'mdui-dialog-confirm',\n history: options.history,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n });\n};\n","/**\n * =============================================================================\n * ************ mdui.prompt(label, title, onConfirm, onCancel, options) ************\n * ************ mdui.prompt(label, onConfirm, onCancel, options) ************\n * =============================================================================\n */\n\nmdui.prompt = function (label, title, onConfirm, onCancel, options) {\n\n // title 参数可选\n if (typeof title === 'function') {\n title = '';\n onConfirm = arguments[1];\n onCancel = arguments[2];\n options = arguments[3];\n }\n\n if (onConfirm === undefined) {\n onConfirm = function () {};\n }\n\n if (onCancel === undefined) {\n onCancel = function () {};\n }\n\n if (options === undefined) {\n options = {};\n }\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n confirmText: 'ok', // 确认按钮的文本\n cancelText: 'cancel', // 取消按钮的文本\n history: true, // 监听 hashchange 事件\n modal: false, // 是否模态化对话框,为 false 时点击对话框外面区域关闭对话框,为 true 时不关闭\n closeOnEsc: true, // 按下 esc 关闭对话框\n type: 'text', // 输入框类型,text: 单行文本框 textarea: 多行文本框\n maxlength: '', // 最大输入字符数\n defaultValue: '', // 输入框中的默认文本\n confirmOnEnter: false, // 按下 enter 确认输入内容\n };\n\n options = $.extend({}, DEFAULT, options);\n\n var content =\n '
' +\n (label ? '' : '') +\n (options.type === 'text' ?\n '' :\n '') +\n (options.type === 'textarea' ?\n '' :\n '') +\n '
';\n\n var onCancelClick = onCancel;\n if (typeof onCancel === 'function') {\n onCancelClick = function (inst) {\n var value = inst.$dialog.find('.mdui-textfield-input').val();\n onCancel(value, inst);\n }\n }\n\n var onConfirmClick = onConfirm;\n if (typeof onConfirm === 'function') {\n onConfirmClick = function (inst) {\n var value = inst.$dialog.find('.mdui-textfield-input').val();\n onConfirm(value, inst);\n }\n }\n\n return mdui.dialog({\n title: title,\n content: content,\n buttons: [\n {\n text: options.cancelText,\n bold: false,\n close: true,\n onClick: onCancelClick,\n },\n {\n text: options.confirmText,\n bold: false,\n close: true,\n onClick: onConfirmClick,\n },\n ],\n cssClass: 'mdui-dialog-prompt',\n history: options.history,\n modal: options.modal,\n closeOnEsc: options.closeOnEsc,\n onOpen: function (inst) {\n\n // 初始化输入框\n var $input = inst.$dialog.find('.mdui-textfield-input');\n mdui.updateTextFields($input);\n\n // 聚焦到输入框\n $input[0].focus();\n\n // 捕捉文本框回车键,在单行文本框的情况下触发回调\n if (options.type === 'text' && options.confirmOnEnter === true) {\n $input.on('keydown', function (event) {\n if (event.keyCode === 13) {\n var value = inst.$dialog.find('.mdui-textfield-input').val();\n onConfirm(value, inst);\n inst.close();\n }\n });\n }\n\n // 如果是多行输入框,监听输入框的 input 事件,更新对话框高度\n if (options.type === 'textarea') {\n $input.on('input', function () {\n inst.handleUpdate();\n });\n }\n\n // 有字符数限制时,加载完文本框后 DOM 会变化,需要更新对话框高度\n if (options.maxlength) {\n inst.handleUpdate();\n }\n },\n });\n\n};\n","/**\n * =============================================================================\n * ************ ToolTip 工具提示 ************\n * =============================================================================\n */\n\nmdui.Tooltip = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n position: 'auto', // 提示所在位置\n delay: 0, // 延迟,单位毫秒\n content: '', // 提示文本,允许包含 HTML\n };\n\n /**\n * 是否是桌面设备\n * @returns {boolean}\n */\n var isDesktop = function () {\n return $window.width() > 1024;\n };\n\n /**\n * 设置 Tooltip 的位置\n * @param inst\n */\n function setPosition(inst) {\n var marginLeft;\n var marginTop;\n var position;\n\n // 触发的元素\n var targetProps = inst.$target[0].getBoundingClientRect();\n\n // 触发的元素和 Tooltip 之间的距离\n var targetMargin = (isDesktop() ? 14 : 24);\n\n // Tooltip 的宽度和高度\n var tooltipWidth = inst.$tooltip[0].offsetWidth;\n var tooltipHeight = inst.$tooltip[0].offsetHeight;\n\n // Tooltip 的方向\n position = inst.options.position;\n\n // 自动判断位置,加 2px,使 Tooltip 距离窗口边框至少有 2px 的间距\n if (['bottom', 'top', 'left', 'right'].indexOf(position) === -1) {\n if (\n targetProps.top + targetProps.height + targetMargin + tooltipHeight + 2 <\n $window.height()\n ) {\n position = 'bottom';\n } else if (targetMargin + tooltipHeight + 2 < targetProps.top) {\n position = 'top';\n } else if (targetMargin + tooltipWidth + 2 < targetProps.left) {\n position = 'left';\n } else if (\n targetProps.width + targetMargin + tooltipWidth + 2 <\n $window.width() - targetProps.left\n ) {\n position = 'right';\n } else {\n position = 'bottom';\n }\n }\n\n // 设置位置\n switch (position) {\n case 'bottom':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop = (targetProps.height / 2) + targetMargin;\n inst.$tooltip.transformOrigin('top center');\n break;\n case 'top':\n marginLeft = -1 * (tooltipWidth / 2);\n marginTop = -1 * (tooltipHeight + (targetProps.height / 2) + targetMargin);\n inst.$tooltip.transformOrigin('bottom center');\n break;\n case 'left':\n marginLeft = -1 * (tooltipWidth + (targetProps.width / 2) + targetMargin);\n marginTop = -1 * (tooltipHeight / 2);\n inst.$tooltip.transformOrigin('center right');\n break;\n case 'right':\n marginLeft = (targetProps.width / 2) + targetMargin;\n marginTop = -1 * (tooltipHeight / 2);\n inst.$tooltip.transformOrigin('center left');\n break;\n }\n\n var targetOffset = inst.$target.offset();\n inst.$tooltip.css({\n top: targetOffset.top + (targetProps.height / 2) + 'px',\n left: targetOffset.left + (targetProps.width / 2) + 'px',\n 'margin-left': marginLeft + 'px',\n 'margin-top': marginTop + 'px',\n });\n }\n\n /**\n * Tooltip 实例\n * @param selector\n * @param opts\n * @constructor\n */\n function Tooltip(selector, opts) {\n var _this = this;\n\n _this.$target = $(selector).eq(0);\n if (!_this.$target.length) {\n return;\n }\n\n // 已通过 data 属性实例化过,不再重复实例化\n var oldInst = _this.$target.data('mdui.tooltip');\n if (oldInst) {\n return oldInst;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.state = 'closed';\n\n // 创建 Tooltip HTML\n _this.$tooltip = $(\n '
' +\n _this.options.content +\n '
'\n ).appendTo(document.body);\n\n // 绑定事件。元素处于 disabled 状态时无法触发鼠标事件,为了统一,把 touch 事件也禁用\n _this.$target\n .on('touchstart mouseenter', function (e) {\n if (this.disabled) {\n return;\n }\n\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n TouchHandler.register(e);\n\n _this.open();\n })\n .on('touchend mouseleave', function (e) {\n if (this.disabled) {\n return;\n }\n\n if (!TouchHandler.isAllow(e)) {\n return;\n }\n\n _this.close();\n })\n .on(TouchHandler.unlock, function (e) {\n if (this.disabled) {\n return;\n }\n\n TouchHandler.register(e);\n });\n }\n\n /**\n * 动画结束回调\n * @private\n */\n var transitionEnd = function (inst) {\n if (inst.$tooltip.hasClass('mdui-tooltip-open')) {\n inst.state = 'opened';\n componentEvent('opened', 'tooltip', inst, inst.$target);\n } else {\n inst.state = 'closed';\n componentEvent('closed', 'tooltip', inst, inst.$target);\n }\n };\n\n /**\n * 执行打开 Tooltip\n * @private\n */\n Tooltip.prototype._doOpen = function () {\n var _this = this;\n\n _this.state = 'opening';\n componentEvent('open', 'tooltip', _this, _this.$target);\n\n _this.$tooltip\n .addClass('mdui-tooltip-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 打开 Tooltip\n * @param opts 允许每次打开时设置不同的参数\n */\n Tooltip.prototype.open = function (opts) {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n var oldOpts = $.extend({}, _this.options);\n\n // 合并 data 属性参数\n $.extend(_this.options, parseOptions(_this.$target.attr('mdui-tooltip')));\n if (opts) {\n $.extend(_this.options, opts);\n }\n\n // tooltip 的内容有更新\n if (oldOpts.content !== _this.options.content) {\n _this.$tooltip.html(_this.options.content);\n }\n\n setPosition(_this);\n\n if (_this.options.delay) {\n _this.timeoutId = setTimeout(function () {\n _this._doOpen();\n }, _this.options.delay);\n } else {\n _this.timeoutId = false;\n _this._doOpen();\n }\n };\n\n /**\n * 关闭 Tooltip\n */\n Tooltip.prototype.close = function () {\n var _this = this;\n\n if (_this.timeoutId) {\n clearTimeout(_this.timeoutId);\n _this.timeoutId = false;\n }\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n _this.state = 'closing';\n componentEvent('close', 'tooltip', _this, _this.$target);\n\n _this.$tooltip\n .removeClass('mdui-tooltip-open')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 切换 Tooltip 状态\n */\n Tooltip.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 获取 Tooltip 状态\n * @returns {'opening'|'opened'|'closing'|'closed'}\n */\n Tooltip.prototype.getState = function () {\n return this.state;\n };\n\n /**\n * 销毁 Tooltip\n */\n /*Tooltip.prototype.destroy = function () {\n var _this = this;\n clearTimeout(_this.timeoutId);\n $.data(_this.target, 'mdui.tooltip', null);\n $.remove(_this.tooltip);\n };*/\n\n return Tooltip;\n\n})();\n","/**\n * =============================================================================\n * ************ Tooltip DATA API ************\n * =============================================================================\n */\n\n$(function () {\n // mouseenter 不能冒泡,所以这里用 mouseover 代替\n $document.on('touchstart mouseover', '[mdui-tooltip]', function () {\n var $this = $(this);\n\n var inst = $this.data('mdui.tooltip');\n if (!inst) {\n var options = parseOptions($this.attr('mdui-tooltip'));\n inst = new mdui.Tooltip($this, options);\n $this.data('mdui.tooltip', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Snackbar ************\n * =============================================================================\n */\n\n(function () {\n\n /**\n * 当前打开着的 Snackbar\n */\n var currentInst;\n\n /**\n * 对列名\n * @type {string}\n */\n var queueName = '__md_snackbar';\n\n var DEFAULT = {\n timeout: 4000, // 在用户没有操作时多长时间自动隐藏\n buttonText: '', // 按钮的文本\n buttonColor: '', // 按钮的颜色,支持 blue #90caf9 rgba(...)\n position: 'bottom', // 位置 bottom、top、left-top、left-bottom、right-top、right-bottom\n closeOnButtonClick: true, // 点击按钮时关闭\n closeOnOutsideClick: true, // 触摸或点击屏幕其他地方时关闭\n onClick: function () { // 在 Snackbar 上点击的回调\n },\n\n onButtonClick: function () { // 点击按钮的回调\n },\n\n onOpen: function () { // 打开动画开始时的回调\n },\n\n onOpened: function () { // 打开动画结束时的回调\n },\n\n onClose: function () { // 关闭动画开始时的回调\n },\n\n onClosed: function () { // 打开动画结束时的回调\n },\n };\n\n /**\n * 点击 Snackbar 外面的区域关闭\n * @param e\n */\n var closeOnOutsideClick = function (e) {\n var $target = $(e.target);\n if (!$target.hasClass('mdui-snackbar') && !$target.parents('.mdui-snackbar').length) {\n currentInst.close();\n }\n };\n\n /**\n * Snackbar 实例\n * @param message\n * @param opts\n * @constructor\n */\n function Snackbar(message, opts) {\n var _this = this;\n\n _this.message = message;\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n\n // message 参数必须\n if (!_this.message) {\n return;\n }\n\n _this.state = 'closed';\n\n _this.timeoutId = false;\n\n // 按钮颜色\n var buttonColorStyle = '';\n var buttonColorClass = '';\n\n if (\n _this.options.buttonColor.indexOf('#') === 0 ||\n _this.options.buttonColor.indexOf('rgb') === 0\n ) {\n buttonColorStyle = 'style=\"color:' + _this.options.buttonColor + '\"';\n } else if (_this.options.buttonColor !== '') {\n buttonColorClass = 'mdui-text-color-' + _this.options.buttonColor;\n }\n\n // 添加 HTML\n _this.$snackbar = $(\n '
' +\n '
' +\n _this.message +\n '
' +\n (_this.options.buttonText ?\n ('' +\n _this.options.buttonText +\n '') :\n ''\n ) +\n '
')\n .appendTo(document.body);\n\n // 设置位置\n _this._setPosition('close');\n\n _this.$snackbar\n .reflow()\n .addClass('mdui-snackbar-' + _this.options.position);\n }\n\n /**\n * 设置 Snackbar 的位置\n * @param state\n * @private\n */\n Snackbar.prototype._setPosition = function (state) {\n var _this = this;\n\n var snackbarHeight = _this.$snackbar[0].clientHeight;\n var position = _this.options.position;\n\n var translateX;\n var translateY;\n\n // translateX\n if (position === 'bottom' || position === 'top') {\n translateX = '-50%';\n } else {\n translateX = '0';\n }\n\n // translateY\n if (state === 'open') {\n translateY = '0';\n } else {\n if (position === 'bottom') {\n translateY = snackbarHeight;\n }\n\n if (position === 'top') {\n translateY = -snackbarHeight;\n }\n\n if (position === 'left-top' || position === 'right-top') {\n translateY = -snackbarHeight - 24;\n }\n\n if (position === 'left-bottom' || position === 'right-bottom') {\n translateY = snackbarHeight + 24;\n }\n }\n\n _this.$snackbar.transform('translate(' + translateX + ',' + translateY + 'px)');\n };\n\n /**\n * 打开 Snackbar\n */\n Snackbar.prototype.open = function () {\n var _this = this;\n\n if (!_this.message) {\n return;\n }\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n // 如果当前有正在显示的 Snackbar,则先加入队列,等旧 Snackbar 关闭后再打开\n if (currentInst) {\n queue.queue(queueName, function () {\n _this.open();\n });\n\n return;\n }\n\n currentInst = _this;\n\n // 开始打开\n _this.state = 'opening';\n _this.options.onOpen();\n\n _this._setPosition('open');\n\n _this.$snackbar\n .transitionEnd(function () {\n if (_this.state !== 'opening') {\n return;\n }\n\n _this.state = 'opened';\n _this.options.onOpened();\n\n // 有按钮时绑定事件\n if (_this.options.buttonText) {\n _this.$snackbar\n .find('.mdui-snackbar-action')\n .on('click', function () {\n _this.options.onButtonClick();\n if (_this.options.closeOnButtonClick) {\n _this.close();\n }\n });\n }\n\n // 点击 snackbar 的事件\n _this.$snackbar.on('click', function (e) {\n if (!$(e.target).hasClass('mdui-snackbar-action')) {\n _this.options.onClick();\n }\n });\n\n // 点击 Snackbar 外面的区域关闭\n if (_this.options.closeOnOutsideClick) {\n $document.on(TouchHandler.start, closeOnOutsideClick);\n }\n\n // 超时后自动关闭\n if (_this.options.timeout) {\n _this.timeoutId = setTimeout(function () {\n _this.close();\n }, _this.options.timeout);\n }\n });\n };\n\n /**\n * 关闭 Snackbar\n */\n Snackbar.prototype.close = function () {\n var _this = this;\n\n if (!_this.message) {\n return;\n }\n\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n if (_this.timeoutId) {\n clearTimeout(_this.timeoutId);\n }\n\n if (_this.options.closeOnOutsideClick) {\n $document.off(TouchHandler.start, closeOnOutsideClick);\n }\n\n _this.state = 'closing';\n _this.options.onClose();\n\n _this._setPosition('close');\n\n _this.$snackbar\n .transitionEnd(function () {\n if (_this.state !== 'closing') {\n return;\n }\n\n currentInst = null;\n _this.state = 'closed';\n _this.options.onClosed();\n _this.$snackbar.remove();\n queue.dequeue(queueName);\n });\n };\n\n /**\n * 打开 Snackbar\n * @param message\n * @param opts\n */\n mdui.snackbar = function (message, opts) {\n if (typeof message !== 'string') {\n opts = message;\n message = opts.message;\n }\n\n var inst = new Snackbar(message, opts);\n\n inst.open();\n return inst;\n };\n\n})();\n","/**\n * =============================================================================\n * ************ Bottom navigation 底部导航栏 ************\n * =============================================================================\n */\n\n(function () {\n\n // 切换导航项\n $document.on('click', '.mdui-bottom-nav>a', function () {\n var $this = $(this);\n var $bottomNav = $this.parent();\n var isThis;\n $bottomNav.children('a').each(function (i, item) {\n isThis = $this.is(item);\n if (isThis) {\n componentEvent('change', 'bottomNav', null, $bottomNav, {\n index: i,\n });\n }\n\n $(item)[isThis ? 'addClass' : 'removeClass']('mdui-bottom-nav-active');\n });\n });\n\n // 滚动时隐藏 mdui-bottom-nav-scroll-hide\n mdui.mutation('.mdui-bottom-nav-scroll-hide', function () {\n var $this = $(this);\n var inst = new mdui.Headroom($this, {\n pinnedClass: 'mdui-headroom-pinned-down',\n unpinnedClass: 'mdui-headroom-unpinned-down',\n });\n $this.data('mdui.headroom', inst);\n });\n\n})();\n","/**\n * =============================================================================\n * ************ Expansion panel 可扩展面板 ************\n * =============================================================================\n */\n\nmdui.Panel = (function () {\n\n function Panel(selector, opts) {\n return new CollapsePrivate(selector, opts, 'panel');\n }\n\n return Panel;\n\n})();\n","/**\n * =============================================================================\n * ************ Expansion panel 自定义属性 ************\n * =============================================================================\n */\n\n$(function () {\n mdui.mutation('[mdui-panel]', function () {\n var $target = $(this);\n\n var inst = $target.data('mdui.panel');\n if (!inst) {\n var options = parseOptions($target.attr('mdui-panel'));\n inst = new mdui.Panel($target, options);\n $target.data('mdui.panel', inst);\n }\n });\n});\n","/**\n * =============================================================================\n * ************ Menu 菜单 ************\n * =============================================================================\n */\n\nmdui.Menu = (function () {\n\n /**\n * 默认参数\n */\n var DEFAULT = {\n position: 'auto', // 菜单位置 top、bottom、center、auto\n align: 'auto', // 菜单和触发它的元素的对齐方式 left、right、center、auto\n gutter: 16, // 菜单距离窗口边缘的最小距离,单位 px\n fixed: false, // 是否使菜单固定在窗口,不随滚动条滚动\n covered: 'auto', // 菜单是否覆盖在触发它的元素上,true、false。auto 时简单菜单覆盖,级联菜单不覆盖\n subMenuTrigger: 'hover', // 子菜单的触发方式 hover、click\n subMenuDelay: 200, // 子菜单的触发延时,仅在 submenuTrigger 为 hover 有效\n };\n\n /**\n * 调整主菜单位置\n * @param _this 实例\n */\n var readjust = function (_this) {\n var menuLeft;\n var menuTop;\n\n // 菜单位置和方向\n var position;\n var align;\n\n // window 窗口的宽度和高度\n var windowHeight = $window.height();\n var windowWidth = $window.width();\n\n // 配置参数\n var gutter = _this.options.gutter;\n var isCovered = _this.isCovered;\n var isFixed = _this.options.fixed;\n\n // 动画方向参数\n var transformOriginX;\n var transformOriginY;\n\n // 菜单的原始宽度和高度\n var menuWidth = _this.$menu.width();\n var menuHeight = _this.$menu.height();\n\n var $anchor = _this.$anchor;\n\n // 触发菜单的元素在窗口中的位置\n var anchorTmp = $anchor[0].getBoundingClientRect();\n var anchorTop = anchorTmp.top;\n var anchorLeft = anchorTmp.left;\n var anchorHeight = anchorTmp.height;\n var anchorWidth = anchorTmp.width;\n var anchorBottom = windowHeight - anchorTop - anchorHeight;\n var anchorRight = windowWidth - anchorLeft - anchorWidth;\n\n // 触发元素相对其拥有定位属性的父元素的位置\n var anchorOffsetTop = $anchor[0].offsetTop;\n var anchorOffsetLeft = $anchor[0].offsetLeft;\n\n // ===============================\n // ================= 自动判断菜单位置\n // ===============================\n if (_this.options.position === 'auto') {\n\n // 判断下方是否放得下菜单\n if (anchorBottom + (isCovered ? anchorHeight : 0) > menuHeight + gutter) {\n position = 'bottom';\n }\n\n // 判断上方是否放得下菜单\n else if (anchorTop + (isCovered ? anchorHeight : 0) > menuHeight + gutter) {\n position = 'top';\n }\n\n // 上下都放不下,居中显示\n else {\n position = 'center';\n }\n } else {\n position = _this.options.position;\n }\n\n // ===============================\n // ============== 自动判断菜单对齐方式\n // ===============================\n if (_this.options.align === 'auto') {\n\n // 判断右侧是否放得下菜单\n if (anchorRight + anchorWidth > menuWidth + gutter) {\n align = 'left';\n }\n\n // 判断左侧是否放得下菜单\n else if (anchorLeft + anchorWidth > menuWidth + gutter) {\n align = 'right';\n }\n\n // 左右都放不下,居中显示\n else {\n align = 'center';\n }\n } else {\n align = _this.options.align;\n }\n\n // ===============================\n // ==================== 设置菜单位置\n // ===============================\n if (position === 'bottom') {\n transformOriginY = '0';\n\n menuTop =\n (isCovered ? 0 : anchorHeight) +\n (isFixed ? anchorTop : anchorOffsetTop);\n\n } else if (position === 'top') {\n transformOriginY = '100%';\n\n menuTop =\n (isCovered ? anchorHeight : 0) +\n (isFixed ? (anchorTop - menuHeight) : (anchorOffsetTop - menuHeight));\n\n } else {\n transformOriginY = '50%';\n\n // =====================在窗口中居中\n // 显示的菜单的高度,简单菜单高度不超过窗口高度,若超过了则在菜单内部显示滚动条\n // 级联菜单内部不允许出现滚动条\n var menuHeightTemp = menuHeight;\n\n // 简单菜单比窗口高时,限制菜单高度\n if (!_this.isCascade) {\n if (menuHeight + gutter * 2 > windowHeight) {\n menuHeightTemp = windowHeight - gutter * 2;\n _this.$menu.height(menuHeightTemp);\n }\n }\n\n menuTop =\n (windowHeight - menuHeightTemp) / 2 +\n (isFixed ? 0 : (anchorOffsetTop - anchorTop));\n }\n\n _this.$menu.css('top', menuTop + 'px');\n\n // ===============================\n // ================= 设置菜单对齐方式\n // ===============================\n if (align === 'left') {\n transformOriginX = '0';\n\n menuLeft = isFixed ? anchorLeft : anchorOffsetLeft;\n\n } else if (align === 'right') {\n transformOriginX = '100%';\n\n menuLeft = isFixed ?\n (anchorLeft + anchorWidth - menuWidth) :\n (anchorOffsetLeft + anchorWidth - menuWidth);\n } else {\n transformOriginX = '50%';\n\n //=======================在窗口中居中\n // 显示的菜单的宽度,菜单宽度不能超过窗口宽度\n var menuWidthTemp = menuWidth;\n\n // 菜单比窗口宽,限制菜单宽度\n if (menuWidth + gutter * 2 > windowWidth) {\n menuWidthTemp = windowWidth - gutter * 2;\n _this.$menu.width(menuWidthTemp);\n }\n\n menuLeft =\n (windowWidth - menuWidthTemp) / 2 +\n (isFixed ? 0 : anchorOffsetLeft - anchorLeft);\n }\n\n _this.$menu.css('left', menuLeft + 'px');\n\n // 设置菜单动画方向\n _this.$menu.transformOrigin(transformOriginX + ' ' + transformOriginY);\n };\n\n /**\n * 调整子菜单的位置\n * @param $submenu\n */\n var readjustSubmenu = function ($submenu) {\n var $item = $submenu.parent('.mdui-menu-item');\n\n var submenuTop;\n var submenuLeft;\n\n // 子菜单位置和方向\n var position; // top、bottom\n var align; // left、right\n\n // window 窗口的宽度和高度\n var windowHeight = $window.height();\n var windowWidth = $window.width();\n\n // 动画方向参数\n var transformOriginX;\n var transformOriginY;\n\n // 子菜单的原始宽度和高度\n var submenuWidth = $submenu.width();\n var submenuHeight = $submenu.height();\n\n // 触发子菜单的菜单项的宽度高度\n var itemTmp = $item[0].getBoundingClientRect();\n var itemWidth = itemTmp.width;\n var itemHeight = itemTmp.height;\n var itemLeft = itemTmp.left;\n var itemTop = itemTmp.top;\n\n // ===================================\n // ===================== 判断菜单上下位置\n // ===================================\n\n // 判断下方是否放得下菜单\n if (windowHeight - itemTop > submenuHeight) {\n position = 'bottom';\n }\n\n // 判断上方是否放得下菜单\n else if (itemTop + itemHeight > submenuHeight) {\n position = 'top';\n }\n\n // 默认放在下方\n else {\n position = 'bottom';\n }\n\n // ====================================\n // ====================== 判断菜单左右位置\n // ====================================\n\n // 判断右侧是否放得下菜单\n if (windowWidth - itemLeft - itemWidth > submenuWidth) {\n align = 'left';\n }\n\n // 判断左侧是否放得下菜单\n else if (itemLeft > submenuWidth) {\n align = 'right';\n }\n\n // 默认放在右侧\n else {\n align = 'left';\n }\n\n // ===================================\n // ======================== 设置菜单位置\n // ===================================\n if (position === 'bottom') {\n transformOriginY = '0';\n submenuTop = '0';\n } else if (position === 'top') {\n transformOriginY = '100%';\n submenuTop = -submenuHeight + itemHeight;\n }\n\n $submenu.css('top', submenuTop + 'px');\n\n // ===================================\n // ===================== 设置菜单对齐方式\n // ===================================\n if (align === 'left') {\n transformOriginX = '0';\n submenuLeft = itemWidth;\n } else if (align === 'right') {\n transformOriginX = '100%';\n submenuLeft = -submenuWidth;\n }\n\n $submenu.css('left', submenuLeft + 'px');\n\n // 设置菜单动画方向\n $submenu.transformOrigin(transformOriginX + ' ' + transformOriginY);\n };\n\n /**\n * 打开子菜单\n * @param $submenu\n */\n var openSubMenu = function ($submenu) {\n readjustSubmenu($submenu);\n\n $submenu\n .addClass('mdui-menu-open')\n .parent('.mdui-menu-item')\n .addClass('mdui-menu-item-active');\n };\n\n /**\n * 关闭子菜单,及其嵌套的子菜单\n * @param $submenu\n */\n var closeSubMenu = function ($submenu) {\n // 关闭子菜单\n $submenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(function () {\n $submenu.removeClass('mdui-menu-closing');\n })\n\n // 移除激活状态的样式\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n\n // 循环关闭嵌套的子菜单\n $submenu.find('.mdui-menu').each(function () {\n var $subSubmenu = $(this);\n $subSubmenu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(function () {\n $subSubmenu.removeClass('mdui-menu-closing');\n })\n .parent('.mdui-menu-item')\n .removeClass('mdui-menu-item-active');\n });\n };\n\n /**\n * 切换子菜单状态\n * @param $submenu\n */\n var toggleSubMenu = function ($submenu) {\n if ($submenu.hasClass('mdui-menu-open')) {\n closeSubMenu($submenu);\n } else {\n openSubMenu($submenu);\n }\n };\n\n /**\n * 绑定子菜单事件\n * @param inst 实例\n */\n var bindSubMenuEvent = function (inst) {\n // 点击打开子菜单\n inst.$menu.on('click', '.mdui-menu-item', function (e) {\n var $this = $(this);\n var $target = $(e.target);\n\n // 禁用状态菜单不操作\n if ($this.attr('disabled') !== null) {\n return;\n }\n\n // 没有点击在子菜单的菜单项上时,不操作(点在了子菜单的空白区域、或分隔线上)\n if ($target.is('.mdui-menu') || $target.is('.mdui-divider')) {\n return;\n }\n\n // 阻止冒泡,点击菜单项时只在最后一级的 mdui-menu-item 上生效,不向上冒泡\n if (!$target.parents('.mdui-menu-item').eq(0).is($this)) {\n return;\n }\n\n // 当前菜单的子菜单\n var $submenu = $this.children('.mdui-menu');\n\n // 先关闭除当前子菜单外的所有同级子菜单\n $this.parent('.mdui-menu').children('.mdui-menu-item').each(function () {\n var $tmpSubmenu = $(this).children('.mdui-menu');\n if (\n $tmpSubmenu.length &&\n (!$submenu.length || !$tmpSubmenu.is($submenu))\n ) {\n closeSubMenu($tmpSubmenu);\n }\n });\n\n // 切换当前子菜单\n if ($submenu.length) {\n toggleSubMenu($submenu);\n }\n });\n\n if (inst.options.subMenuTrigger === 'hover') {\n // 临时存储 setTimeout 对象\n var timeout;\n\n var timeoutOpen;\n var timeoutClose;\n\n inst.$menu.on('mouseover mouseout', '.mdui-menu-item', function (e) {\n var $this = $(this);\n var eventType = e.type;\n var $relatedTarget = $(e.relatedTarget);\n\n // 禁用状态的菜单不操作\n if ($this.attr('disabled') !== null) {\n return;\n }\n\n // 用 mouseover 模拟 mouseenter\n if (eventType === 'mouseover') {\n if (!$this.is($relatedTarget) && $.contains($this[0], $relatedTarget[0])) {\n return;\n }\n }\n\n // 用 mouseout 模拟 mouseleave\n else if (eventType === 'mouseout') {\n if ($this.is($relatedTarget) || $.contains($this[0], $relatedTarget[0])) {\n return;\n }\n }\n\n // 当前菜单项下的子菜单,未必存在\n var $submenu = $this.children('.mdui-menu');\n\n // 鼠标移入菜单项时,显示菜单项下的子菜单\n if (eventType === 'mouseover') {\n if ($submenu.length) {\n\n // 当前子菜单准备打开时,如果当前子菜单正准备着关闭,不用再关闭了\n var tmpClose = $submenu.data('timeoutClose.mdui.menu');\n if (tmpClose) {\n clearTimeout(tmpClose);\n }\n\n // 如果当前子菜单已经打开,不操作\n if ($submenu.hasClass('mdui-menu-open')) {\n return;\n }\n\n // 当前子菜单准备打开时,其他准备打开的子菜单不用再打开了\n clearTimeout(timeoutOpen);\n\n // 准备打开当前子菜单\n timeout = timeoutOpen = setTimeout(function () {\n openSubMenu($submenu);\n }, inst.options.subMenuDelay);\n\n $submenu.data('timeoutOpen.mdui.menu', timeout);\n }\n }\n\n // 鼠标移出菜单项时,关闭菜单项下的子菜单\n else if (eventType === 'mouseout') {\n if ($submenu.length) {\n\n // 鼠标移出菜单项时,如果当前菜单项下的子菜单正准备打开,不用再打开了\n var tmpOpen = $submenu.data('timeoutOpen.mdui.menu');\n if (tmpOpen) {\n clearTimeout(tmpOpen);\n }\n\n // 准备关闭当前子菜单\n timeout = timeoutClose = setTimeout(function () {\n closeSubMenu($submenu);\n }, inst.options.subMenuDelay);\n\n $submenu.data('timeoutClose.mdui.menu', timeout);\n }\n }\n });\n }\n };\n\n /**\n * 菜单\n * @param anchorSelector 点击该元素触发菜单\n * @param menuSelector 菜单\n * @param opts 配置项\n * @constructor\n */\n function Menu(anchorSelector, menuSelector, opts) {\n var _this = this;\n\n // 触发菜单的元素\n _this.$anchor = $(anchorSelector).eq(0);\n if (!_this.$anchor.length) {\n return;\n }\n\n // 已通过自定义属性实例化过,不再重复实例化\n var oldInst = _this.$anchor.data('mdui.menu');\n if (oldInst) {\n return oldInst;\n }\n\n _this.$menu = $(menuSelector).eq(0);\n\n // 触发菜单的元素 和 菜单必须是同级的元素,否则菜单可能不能定位\n if (!_this.$anchor.siblings(_this.$menu).length) {\n return;\n }\n\n _this.options = $.extend({}, DEFAULT, (opts || {}));\n _this.state = 'closed';\n\n // 是否是级联菜单\n _this.isCascade = _this.$menu.hasClass('mdui-menu-cascade');\n\n // covered 参数处理\n if (_this.options.covered === 'auto') {\n _this.isCovered = !_this.isCascade;\n } else {\n _this.isCovered = _this.options.covered;\n }\n\n // 点击触发菜单切换\n _this.$anchor.on('click', function () {\n _this.toggle();\n });\n\n // 点击菜单外面区域关闭菜单\n $document.on('click touchstart', function (e) {\n var $target = $(e.target);\n if (\n (_this.state === 'opening' || _this.state === 'opened') &&\n !$target.is(_this.$menu) &&\n !$.contains(_this.$menu[0], $target[0]) &&\n !$target.is(_this.$anchor) &&\n !$.contains(_this.$anchor[0], $target[0])\n ) {\n _this.close();\n }\n });\n\n // 点击不含子菜单的菜单条目关闭菜单\n $document.on('click', '.mdui-menu-item', function (e) {\n var $this = $(this);\n if (!$this.find('.mdui-menu').length && $this.attr('disabled') === null) {\n _this.close();\n }\n });\n\n // 绑定点击或鼠标移入含子菜单的条目的事件\n bindSubMenuEvent(_this);\n\n // 窗口大小变化时,重新调整菜单位置\n $window.on('resize', $.throttle(function () {\n readjust(_this);\n }, 100));\n }\n\n /**\n * 切换菜单状态\n */\n Menu.prototype.toggle = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n _this.close();\n } else if (_this.state === 'closing' || _this.state === 'closed') {\n _this.open();\n }\n };\n\n /**\n * 动画结束回调\n * @param inst\n */\n var transitionEnd = function (inst) {\n inst.$menu.removeClass('mdui-menu-closing');\n\n if (inst.state === 'opening') {\n inst.state = 'opened';\n componentEvent('opened', 'menu', inst, inst.$menu);\n }\n\n if (inst.state === 'closing') {\n inst.state = 'closed';\n componentEvent('closed', 'menu', inst, inst.$menu);\n\n // 关闭后,恢复菜单样式到默认状态,并恢复 fixed 定位\n inst.$menu.css({\n top: '',\n left: '',\n width: '',\n position: 'fixed',\n });\n }\n };\n\n /**\n * 打开菜单\n */\n Menu.prototype.open = function () {\n var _this = this;\n\n if (_this.state === 'opening' || _this.state === 'opened') {\n return;\n }\n\n _this.state = 'opening';\n componentEvent('open', 'menu', _this, _this.$menu);\n\n // 调整菜单位置\n readjust(_this);\n\n _this.$menu\n\n // 菜单隐藏状态使用使用 fixed 定位。\n .css('position', _this.options.fixed ? 'fixed' : 'absolute')\n\n // 打开菜单\n .addClass('mdui-menu-open')\n\n // 打开动画完成后\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n /**\n * 关闭菜单\n */\n Menu.prototype.close = function () {\n var _this = this;\n if (_this.state === 'closing' || _this.state === 'closed') {\n return;\n }\n\n _this.state = 'closing';\n componentEvent('close', 'menu', _this, _this.$menu);\n\n // 菜单开始关闭时,关闭所有子菜单\n _this.$menu.find('.mdui-menu').each(function () {\n closeSubMenu($(this));\n });\n\n _this.$menu\n .removeClass('mdui-menu-open')\n .addClass('mdui-menu-closing')\n .transitionEnd(function () {\n transitionEnd(_this);\n });\n };\n\n return Menu;\n})();\n","/**\n * =============================================================================\n * ************ Menu 自定义属性 API ************\n * =============================================================================\n */\n\n$(function () {\n $document.on('click', '[mdui-menu]', function () {\n var $this = $(this);\n\n var inst = $this.data('mdui.menu');\n if (!inst) {\n var options = parseOptions($this.attr('mdui-menu'));\n var menuSelector = options.target;\n delete options.target;\n\n inst = new mdui.Menu($this, menuSelector, options);\n $this.data('mdui.menu', inst);\n\n inst.toggle();\n }\n });\n});\n"]} \ No newline at end of file diff --git a/main.html b/main.html new file mode 100644 index 0000000..6bf1d44 --- /dev/null +++ b/main.html @@ -0,0 +1,53 @@ + + + + + + + + + + + BiliBili直播弹幕抽奖 + + +
+
+ BiliBili直播弹幕抽奖 +
+
+
+ + +
+
请输入房间号
+
+ + +
+
+
+
开始记录!
+
已有
+
+ 0 +
+
位观众参与抽奖
+
+
+
开奖啦!
+
+
+ +
+ + + + \ No newline at end of file