diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot index 49b5e21a1c..60b167fc1e 100755 --- a/package/base-files/files/etc/init.d/boot +++ b/package/base-files/files/etc/init.d/boot @@ -2,7 +2,7 @@ # Copyright (C) 2006-2011 OpenWrt.org START=10 -STOP=98 +STOP=90 uci_apply_defaults() { . /lib/functions/system.sh diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile index 381ab6803e..ec31e5184d 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic/Makefile +++ b/package/ctcgfw/luci-app-unblockneteasemusic/Makefile @@ -12,7 +12,7 @@ LUCI_DEPENDS:=+bash +busybox +coreutils-nohup +curl +dnsmasq-full +ipset +libope LUCI_PKGARCH:=all PKG_NAME:=luci-app-unblockneteasemusic PKG_VERSION:=2.8 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_MAINTAINER:=[CTCGFW]Project-OpenWrt diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic index 9386333e07..329dd4d02d 100755 --- a/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic +++ b/package/ctcgfw/luci-app-unblockneteasemusic/root/etc/init.d/unblockneteasemusic @@ -34,7 +34,7 @@ youtube_key="$(uci_get_by_type "unblockneteasemusic" "youtube_key")" replace_music_source="$(uci_get_by_type "unblockneteasemusic" "replace_music_source" "dont_replace")" enable_flac="$(uci_get_by_type "unblockneteasemusic" "enable_flac" "0")" -[ "${enable_flac}" -eq "1" ] && flag_arg="ENABLE_FLAC=true" +[ "${enable_flac}" -eq "1" ] && un_env="ENABLE_FLAC=true" endpoint_url="$(uci_get_by_type "unblockneteasemusic" "endpoint_url" "http://music.163.com")" hijack_ways="$(uci_get_by_type "unblockneteasemusic" "hijack_ways" "use_ipset")" @@ -191,15 +191,8 @@ start() sed -i "/req.headers.cookie.replace(\/\\\s\\*MUSIC_\\\w=[^\\\s;]\\+/a\\\t\\t\\t\\t\\t].filter(line => line).join('; ')" "/usr/share/unblockneteasemusic/core/src/hook.js" sed -i "/].filter(line => line).join('; ')/a\\\t\\t\\t\\t}\\n" "/usr/share/unblockneteasemusic/core/src/hook.js" } - [ -n "${qq_cookie}" ] && { - qq_cookie_line="$(awk "/'cookie':/{print NR}" "/usr/share/unblockneteasemusic/core/src/provider/qq.js")" - sed -i "${qq_cookie_line}d" "/usr/share/unblockneteasemusic/core/src/provider/qq.js" - sed -i -e "${qq_cookie_line}i \\\t'cookie': '${qq_cookie}'" "/usr/share/unblockneteasemusic/core/src/provider/qq.js" -} - [ -n "${youtube_key}" ] && { - sed -i '/const key = /d' "/usr/share/unblockneteasemusic/core/src/provider/youtube.js" - sed -i -e "1i const key = '${youtube_key}'" "/usr/share/unblockneteasemusic/core/src/provider/youtube.js" -} + [ -n "${qq_cookie}" ] && un_env="${un_env} QQ_COOKIE=${qq_cookie}" + [ -n "${youtube_key}" ] && un_env="${un_env} YOUTUBE_KEY=${youtube_key}" quality_check_line="$(awk "/target == 0 \|\| item.id == target/{print NR}" "/usr/share/unblockneteasemusic/core/src/hook.js")" sed -i "${quality_check_line}d" "/usr/share/unblockneteasemusic/core/src/hook.js" @@ -220,9 +213,9 @@ start() [ "${hijack_ways}" = "use_hosts" ] && { http_port="80"; https_port="443"; } if [ "${music_source}" = "default" ]; then - nohup env ${flag_arg} node "/usr/share/unblockneteasemusic/core/app.js" -a "${addr}" -p "${http_port}":"${https_port}" -e "${endpoint_url}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >> "/tmp/unblockneteasemusic.log" 2>&1 & + nohup env ${un_env} node "/usr/share/unblockneteasemusic/core/app.js" -a "${addr}" -p "${http_port}":"${https_port}" -e "${endpoint_url}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >> "/tmp/unblockneteasemusic.log" 2>&1 & else - nohup env ${flag_arg} node "/usr/share/unblockneteasemusic/core/app.js" -a "${addr}" -p "${http_port}":"${https_port}" -o ${music_source} -e "${endpoint_url}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >> "/tmp/unblockneteasemusic.log" 2>&1 & + nohup env ${un_env} node "/usr/share/unblockneteasemusic/core/app.js" -a "${addr}" -p "${http_port}":"${https_port}" -o ${music_source} -e "${endpoint_url}" ${netease_server_ip} ${proxy_server_ip} ${strict_mode} >> "/tmp/unblockneteasemusic.log" 2>&1 & fi set_type="start" diff --git a/package/ctcgfw/luci-theme-argonv3/Makefile b/package/ctcgfw/luci-theme-argonv3/Makefile index f6d5b610d4..f74c92dd5b 100644 --- a/package/ctcgfw/luci-theme-argonv3/Makefile +++ b/package/ctcgfw/luci-theme-argonv3/Makefile @@ -8,9 +8,20 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=Argon Theme LUCI_DEPENDS:= -PKG_VERSION:=1.5.3 -PKG_RELEASE:=01-20200703 +PKG_VERSION:=1.6.1 +PKG_RELEASE:=20200724 include $(TOPDIR)/feeds/luci/luci.mk + +define Package/luci-theme-argon/postinst +#!/bin/sh +sed -i ":a;$!N;s/tmpl.render.*sysauth_template.*return/local scope = { duser = default_user, fuser = user }\nlocal ok, res = luci.util.copcall\(luci.template.render_string, [[<% include\(\"themes\/\" .. theme .. \"\/sysauth\"\) %>]], scope\)\nif ok then\nreturn res\nend\nreturn luci.template.render\(\"sysauth\", scope\)/;ba" /usr/lib/lua/luci/dispatcher.lua +sed -i ":a;$!N;s/t.render.*sysauth_template.*return/local scope = { duser = h, fuser = a }\nlocal ok, res = luci.util.copcall\(luci.template.render_string, [[<% include\(\"themes\/\" .. theme .. \"\/sysauth\"\) %>]], scope\)\nif ok then\nreturn res\nend\nreturn luci.template.render\(\"sysauth\", scope\)/;ba" /usr/lib/lua/luci/dispatcher.lua +[ -f /usr/lib/lua/luci/view/themes/header_login.htm ] && mv -f /usr/lib/lua/luci/view/themes/header_login.htm /usr/lib/lua/luci/view/header_login.htm +rm -Rf /var/luci-modulecache +rm -Rf /var/luci-indexcache +exit 0 +endef + # call BuildPackage - OpenWrt buildroot signature \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/cascade.css b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/cascade.css new file mode 100644 index 0000000000..9c113433d9 --- /dev/null +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/cascade.css @@ -0,0 +1,3218 @@ +/** + * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template + * + * luci-theme-argon + * Copyright 2020 Jerryk + * + * Have a bug? Please create an issue here on GitHub! + * https://github.com/jerrykuku/luci-theme-argon/issues + * + * luci-theme-bootstrap: + * Copyright 2008 Steven Barth + * Copyright 2008 Jo-Philipp Wich + * Copyright 2012 David Menting + * + * MUI: + * https://github.com/muicss/mui + * + * luci-theme-material: + * https://github.com/LuttyYang/luci-theme-material/ + * + * Agron Theme + * https://demos.creative-tim.com/argon-dashboard/index.html + * + * Login background + * https://unsplash.com/ + * + * Licensed to the public under the Apache License 2.0 + */ +/* + * Font generate by Icomoon + */ +/* + * Common Styles + */ +@import url("fonts.css?v=3"); +@import url("pure-min.css?v=1"); +:root { + --blue: #5e72e4; + --indigo: #5603ad; + --purple: #8965e0; + --pink: #f3a4b5; + --red: #f5365c; + --orange: #fb6340; + --yellow: #ffd600; + --green: #2dce89; + --teal: #11cdef; + --cyan: #2bffc6; + --gray: #8898aa; + --gray-dark: #32325d; + --light: #ced4da; + --lighter: #e9ecef; + --primary: #5e72e4; + --secondary: #f7fafc; + --success: #2dce89; + --info: #11cdef; + --warning: #fb6340; + --danger: #f5365c; + --light: #adb5bd; + --dark: #212529; + --default: #172b4d; + --white: #fff; + --neutral: #fff; + --darker: black; + --background-color: #f4f5f7; + --login-form-bg-color: rgba(244, 245, 247, 0.8); + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; + --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; +} +html, +body { + margin: 0px; + padding: 0px; + height: 100%; + font-size: 16px; + font-family: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; + font-family: var(--font-family-sans-serif); +} +html { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + font-size: 0.875rem; + background-color: #f4f5f7; + background-color: var(--background-color); +} +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} +::selection { + background-color: var(--primary); + background-color: #5e72e4; + color: #ffffff; + color: var(--white); +} +a:link, +a:visited, +a:active { + color: #5e72e4; + color: var(--primary); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +li { + list-style-type: none; +} +/*********************** +* +* Login Page +* +***************************/ +.login-page { + height: 100%; + background-image: url(../img/blank.png); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + transition: all 0.5s; +} +.login-page .login-container { + height: 100%; + margin-left: 4.5rem; + position: absolute; + top: 0px; + display: flex; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + align-items: flex-start; + min-height: 100%; + z-index: 2; + width: 420px; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 35px -5px; + margin-left: 5%; + background: transparent; +} +.login-page .login-container .login-form { + display: flex; + flex-direction: column; + -webkit-box-align: center; + align-items: center; + position: absolute; + top: 0px; + width: 100%; + min-height: 100%; + max-width: 420px; + background-color: #ffffff; +} +.login-page .login-container .login-form .brand { + display: flex; + -webkit-box-align: center; + align-items: center; + margin: 50px auto 100px 50px; + color: #525461; +} +.login-page .login-container .login-form .brand .icon { + width: 50px; + height: auto; + margin-right: 25px; +} +.login-page .login-container .login-form .brand .brand-text { + font-size: 1.25rem; + font-weight: 700; + font-family: "TypoGraphica"; +} +.login-page .login-container .login-form .brand:hover { + text-decoration: none; +} +.login-page .login-container .login-form .form-login { + width: 100%; + padding: 20px 50px; + box-sizing: border-box; +} +.login-page .login-container .login-form .form-login .errorbox { + text-align: center; + color: #fb6340; + color: var(--warning); + padding-bottom: 2rem; +} +.login-page .login-container .login-form .form-login .input-group { + margin-bottom: 1.25rem; + position: relative; +} +.login-page .login-container .login-form .form-login .input-group::before { + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + color: #adb5bd; + font-size: 1.5rem; + position: absolute; + z-index: 100; + left: 10px; + top: 10px; +} +.login-page .login-container .login-form .form-login .input-group .border { + position: absolute; + width: 100%; + height: 1px; + bottom: 0; + border-bottom: 1px #5e72e4 solid; + transform: scaleX(0); + transition: transform 0.3s; +} +.login-page .login-container .login-form .form-login .input-group input { + font-size: 1rem; + line-height: 1.5em; + display: block; + width: 100%; + padding: 0.5rem 0.75rem 0.5rem 3rem; + margin: 0.825rem 0; + box-sizing: border-box; + transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); + color: #8898aa; + border: 0; + border-radius: 0; + border-bottom: 1px solid #dee2e6; + background-color: transparent; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, 0.05); + outline: none; +} +.login-page .login-container .login-form .form-login .input-group input:focus + .border { + transform: scaleX(1); +} +.login-page .login-container .login-form .form-login .input-group .cbi-input-password { + margin-bottom: 2rem; + position: relative; +} +.login-page .login-container .login-form .form-login .user-icon::before { + content: "\e971"; +} +.login-page .login-container .login-form .form-login .pass-icon::before { + content: "\e910"; +} +.login-page .login-container .login-form .cbi-button-apply { + width: 100% !important; + box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 50px 0px; + font-weight: 600; + font-size: 15px; + color: #ffffff; + text-align: center; + width: 100%; + cursor: pointer; + min-height: 50px; + background-image: linear-gradient(-135deg, #8692de 0%, #788aef 100%); + border-radius: 6px; + outline: none; + border-width: initial; + border-style: none; + border-color: initial; + border-image: initial; + padding: 10px 0px; + margin: 30px 0px 100px; + transition: all 0.3s; + letter-spacing: 0.8rem; +} +.login-page .login-container .login-form .cbi-button-apply:hover, +.login-page .login-container .login-form .cbi-button-apply :focus { + background-image: linear-gradient(-135deg, #828fe0 0%, #5e72e4 100%); +} +.login-page .login-container footer { + box-sizing: border-box; + width: 100%; + text-align: center; + line-height: 1.6rem; + display: flex; + justify-content: space-evenly; + margin-top: auto; + padding: 0px 0px 30px; + z-index: 10; +} +.login-page .login-container footer .luci-link { + display: block; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +/*********************** +* +* Header +* +***************************/ +header { + width: 100%; + padding: 0 0 0 0; + position: relative; +} +header .container { + margin-top: 0.5rem; + padding: 0.5rem 1rem 0 1rem; +} +header .container .pull-right > * { + position: relative; + top: 0.45rem; + cursor: pointer; +} +header::after { + content: ""; + position: absolute; + height: 2rem; + width: 100%; + background-color: #5e72e4 !important; +} +header.bg-primary { + background-color: #5e72e4 !important; +} +header .fill { + padding: 0.8rem 0; + border-bottom: 0px solid rgba(255, 255, 255, 0.08) !important; +} +header .fill .container { + height: 2rem; + padding: 0 1.25rem; +} +header .fill .container .brand { + font-size: 1.5rem; + color: #fff; + font-family: "TypoGraphica"; + text-decoration: none; + padding-left: 1rem; + cursor: default; + vertical-align: text-bottom; + display: none; +} +/*********************** +* +* Footer +* +***************************/ +footer { + text-align: right; + padding: 1rem; + color: #aaa; + font-size: 0.8rem; +} +footer a { + color: #aaa; + text-decoration: none; +} +/*********************** +* +* Main +* +***************************/ +@keyframes anim-rotate { + 0% { + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.main { + top: 0rem; + bottom: 0rem; + position: relative; + height: 100%; + width: 100%; + height: calc(100% - 4rem); +} +.main .main-left { + float: left; + width: 15%; + width: calc(0% + 15rem); + height: 100%; + background-color: #fff !important; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; + overflow-x: auto; + position: fixed; + z-index: 100; + transition: width 0.3s ease-in-out; +} +.main .main-left::-webkit-scrollbar { + width: 5px; + height: 1px; +} +.main .main-left::-webkit-scrollbar-thumb { + background-color: #f6f9fc; +} +.main .main-left::-webkit-scrollbar-track { + background-color: #fff; +} +.main .main-left .sidenav-header { + padding: 1.5rem; + text-align: center; +} +.main .main-left .sidenav-header .brand { + font-size: 1.8rem; + color: #5e72e4; + font-family: "TypoGraphica", sans-serif; + text-decoration: none; + padding-left: 0; + cursor: default; + vertical-align: text-bottom; + white-space: nowrap; +} +.main .main-left .nav { + margin-top: 0.5rem; +} +.main .main-left .nav li { + padding: 0rem; + cursor: pointer; +} +.main .main-left .nav li a { + color: #525f7f; + display: block; +} +.main .main-left .nav li:nth-last-child(1) { + font-size: 1.2rem; +} +.main .main-left .nav li:nth-last-child(1) .menu:after { + content: ""; +} +.main .main-left .nav li.slide { + padding: 0; +} +.main .main-left .nav li.slide ul { + display: none; +} +.main .main-left .nav li.slide ul li a { + position: relative; + margin: 0.1rem 1rem 0.1rem 3rem; + padding: 0.5rem 0rem 0.5rem 0; + text-decoration: none; + white-space: nowrap; + color: rgba(0, 0, 0, 0.7); + transition: all 0.2s; + font-size: 0.875rem; +} +.main .main-left .nav li.slide ul li a::after { + content: ""; + position: absolute; + width: 00%; + height: 2px; + left: 0; + bottom: 0; + background-color: #5e72e4; + transition: all 0.2s; +} +.main .main-left .nav li.slide ul li a:hover::after { + color: #000; + width: 100%; +} +.main .main-left .nav li.slide .menu { + display: block; + margin: 0.1rem 0.5rem 0.1rem 0.5rem; + padding: 0.675rem 0 0.675rem 2.5rem; + border-radius: 0.375rem; + text-decoration: none; + cursor: default; + font-size: 1rem; + transition: all 0.2s; + position: relative; +} +.main .main-left .nav li.slide .menu::before { + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + position: absolute; + left: 0.8rem; +} +.main .main-left .nav li.slide .menu::after { + position: absolute; + right: 0.5rem; + top: 0.8rem; + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -moz-osx-font-smoothing: grayscale; + content: '\e90f'; + transition: all 0.15s ease; + color: #ced4da; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + transition: all 0.3s; +} +.main .main-left .nav li.slide .menu:hover, +.main .main-left .nav li.slide .menu.active { + cursor: pointer; + color: #fff; + background: #5e72e4; +} +.main .main-left .nav li.slide .menu:hover a, +.main .main-left .nav li.slide .menu.active a { + color: #000; +} +.main .main-left .nav li.slide .menu:hover a::after, +.main .main-left .nav li.slide .menu.active a::after { + color: #000; + width: 100%; +} +.main .main-left .nav li.slide .menu:hover::before, +.main .main-left .nav li.slide .menu.active::before { + color: #fff !important; +} +.main .main-left .nav li.slide .menu:hover::after, +.main .main-left .nav li.slide .menu.active::after { + color: #fff; +} +.main .main-left .nav li.slide .menu.active::after { + transform: rotate(90deg); +} +.main .main-left .nav li.slide .menu[data-title=Status]:before { + content: "\e906"; + color: #5e72e4; +} +.main .main-left .nav li.slide .menu[data-title=System]:before { + content: "\e90a"; + color: #fb6340; +} +.main .main-left .nav li.slide .menu[data-title=Services]:before { + content: "\e909"; + color: #11cdef; +} +.main .main-left .nav li.slide .menu[data-title=NAS]:before { + content: "\e90c"; + color: #f3a4b5; +} +.main .main-left .nav li.slide .menu[data-title=VPN]:before { + content: "\e90b"; + color: #172b4d; +} +.main .main-left .nav li.slide .menu[data-title=Network]:before { + content: "\e908"; + color: #8965e0; +} +.main .main-left .nav li.slide .menu[data-title=Bandwidth_Monitor]:before { + content: "\e90d"; + color: #2dce89; +} +.main .main-left .nav li.slide .menu[data-title=Docker]:before { + content: "\e911"; + color: #6699ff; +} +.main .main-left .nav li.slide .menu[data-title=Statistics]:before { + content: "\e913"; + color: #172b4d; +} +.main .main-left .nav li.slide .menu[data-title=Control]:before { + content: "\e912"; + color: #5e72e4; +} +.main .main-left .nav li.slide .menu[data-title=Asterisk]:before { + content: "\e914"; + color: #fb6340; +} +.main .main-left .nav li.slide .menu[data-title=Logout]:before { + content: "\e907"; + color: #32325d; +} +.main .main-left .nav li.slide .slide-menu li a { + position: relative; + margin: 0.1rem 1rem 0.1rem 3rem; + padding: 0.5rem 0rem 0.5rem 0; + text-decoration: none; + white-space: nowrap; + color: rgba(0, 0, 0, 0.6); + transition: all 0.2s; + font-size: 0.875rem; +} +.main .main-left .nav li.slide .slide-menu li a::after { + content: ""; + position: absolute; + width: 00%; + height: 2px; + left: 0; + bottom: 0; + background-color: #5e72e4; + transition: all 0.2s; +} +.main .main-left .nav li.slide .slide-menu li a:hover::after { + color: #000; + width: 100%; +} +.main .main-left .nav li.slide .slide-menu .active a { + color: #000; +} +.main .main-left .nav li.slide .slide-menu .active a::after { + color: #000; + width: 100%; +} +.main .main-right { + width: 85%; + width: calc(100% - 15rem); + float: right; + height: auto; + transition: width 0.3s ease-in-out; +} +.main .main-right #maincontent { + position: relative; + z-index: 50; +} +.main .main-right #maincontent .container { + margin: 0 1.25rem 1rem 1.25rem; +} +.main .main-right #maincontent .container p { + color: #32325d; + line-height: 1.5em; +} +.main .main-right #maincontent .container > div:nth-child(1).alert-message.warning > a { + font: inherit; + overflow: visible; + text-transform: none; + display: inline-block; + margin-bottom: 0; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + min-width: 6rem; + padding: 0.5rem 1rem; + font-size: 0.9rem; + line-height: 1.42857143; + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; + margin-top: 2rem; + text-decoration: inherit; +} +.main .loading { + position: fixed; + width: 100%; + height: 100%; + z-index: 2000; + display: flex; + align-items: center; + justify-content: center; + background-color: #f8f9fe; + top: 0; +} +.main .loading span { + display: block; + text-align: center; + margin-top: 2rem; + color: #5e72e4; + font-size: 2rem; +} +.main .loading span .loading-img { + animation: anim-rotate 2s infinite linear; + margin-right: 0.4rem; + display: inline-block; +} +.main .loading span .loading-img::before { + content: "\e603"; +} +/* button style */ +.cbi-button { + -webkit-appearance: none; + text-transform: uppercase; + height: auto; + color: rgba(0, 0, 0, 0.87); + background-color: #F0F0F0; + transition: all 0.2s ease-in-out; + display: inline-block; + padding: 0.75rem 0.8rem; + border: none; + border-radius: 0.2rem; + cursor: pointer; + -ms-touch-action: manipulation; + touch-action: manipulation; + background-image: none; + text-align: center; + vertical-align: middle; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 0.875rem; + width: auto !important; + line-height: 1em; +} +.cbi-button:hover, +.cbi-button:focus, +.cbi-button:active { + outline: 0; + text-decoration: none; +} +.cbi-button:hover, +.cbi-button:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} +.cbi-button:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} +.cbi-button:disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.6; + box-shadow: none; +} +.cbi-button-check { + margin-top: 0.25rem !important; +} +form.inline + form.inline, +.cbi-button + .cbi-button { + margin-left: 0rem; +} +.cbi-button-reset, +.cbi-input-remove { + color: #fff !important; + background-color: #f0ad4e !important; + border-color: #eea236 !important; +} +.cbi-input-find, +.cbi-input-save, +.cbi-button-add, +.cbi-button-save, +.cbi-button-find, +.cbi-input-reload, +.cbi-button-reload { + color: #fff !important; + background-color: #337ab7 !important; + border-color: #2e6da4 !important; +} +.cbi-value-field .cbi-input-apply, +.cbi-button-apply, +.cbi-button-edit { + color: #fff !important; + background-color: #5e72e4 !important; + border-color: #5e72e4 !important; +} +.cbi-button-add { + margin-left: 1.5rem; +} +.node-services-vssr .ssr-button { + margin-left: 0.3rem; +} +.cbi-section-remove > .cbi-button, +.cbi-button-remove { + color: #fff !important; + background-color: #fb6340 !important; + border-color: #fb6340 !important; +} +.cbi-value-field .cbi-button-add, +.cbi-value-field .cbi-button-remove, +.cbi-value-field .cbi-button-neutral { + min-width: 2.5rem !important; +} +/* input */ +.cbi-value input[type="password"], +.cbi-value input[type="text"] { + min-width: 15rem; +} +/* select */ +.cbi-value-field .cbi-dropdown { + min-width: 15rem; +} +select { + min-width: 20rem; + appearance: none; + -webkit-appearance: none; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTY1MzQ4MDM3OTIyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI1ODMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4qIHsgdGV4dC1zaGFkb3c6IHRyYW5zcGFyZW50IDBweCAwcHggMHB4LCByZ2JhKDAsIDAsIDAsIDAuNSkgMHB4IDBweCAwcHggIWltcG9ydGFudDsgfQo8L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMjAuNDggMjQ1Ljc2aDk4My4wNEw1MTIgNzc4LjI0eiIgcC1pZD0iMjU4NCIgZmlsbD0iIzcwNzA3MCI+PC9wYXRoPjwvc3ZnPg==') !important; + background-position: 96%; + background-size: 8px; + background-repeat: no-repeat; +} +.th[data-type="button"], +.td[data-type="button"], +.th[data-type="fvalue"], +.td[data-type="fvalue"] { + flex: 1 1 2em; + text-align: center; +} +/*textarea*/ +.cbi-input-textarea { + width: 100%; + min-height: 14rem; + padding: 0.8rem; + font-size: 0.8rem; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + color: black; +} +/* change */ +.uci-change-list { + font-family: monospace; +} +.uci-change-list ins, +.uci-change-legend-label ins { + text-decoration: none; + border: 1px solid #00FF00; + background-color: #CCFFCC; + display: block; + padding: 2px; +} +.uci-change-list del, +.uci-change-legend-label del { + text-decoration: none; + border: 1px solid #FF0000; + background-color: #FFCCCC; + display: block; + font-style: normal; + padding: 2px; +} +.uci-change-list var, +.uci-change-legend-label var { + text-decoration: none; + border: 1px solid #CCCCCC; + background-color: #EEEEEE; + display: block; + font-style: normal; + padding: 2px; +} +.uci-change-list var ins, +.uci-change-list var del { + border: none; + white-space: pre; + font-style: normal; + padding: 0px; +} +.uci-change-list ins strong { + display: inline; +} +.uci-change-legend { + padding: 5px; +} +.uci-change-legend-label { + display: flex; + align-items: center; + width: auto; + float: left; + margin-right: 2rem; +} +.uci-change-legend-label > ins, +.uci-change-legend-label > del, +.uci-change-legend-label > var { + float: left; + margin-right: 4px; + width: 10px; + height: 10px; + display: block; +} +.uci-change-legend-label var ins, +.uci-change-legend-label var del { + line-height: 0; + border: none; +} +.uci-change-list var, +.uci-change-list del, +.uci-change-list ins { + padding: 0.5rem; +} +/* other fix */ +input[type="checkbox"] { + appearance: none !important; + -webkit-appearance: none !important; + border: 1px solid #dee2e6; + width: 16px !important; + height: 16px !important; + padding: 0; + cursor: pointer; + transition: all 0.2s; + margin: 0.9rem 0.25rem 0 0.25rem; +} +input[type="checkbox"]:checked { + border: 1px solid #5e72e4; + background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e') !important; + background-color: #5e72e4; + background-size: 70%; + background-repeat: no-repeat; + background-position: center; +} +ul li .cbi-input-checkbox { + margin: 0.5rem 0.25rem !important; +} +.cbi-input-radio { + appearance: none !important; + -webkit-appearance: none !important; + border: 1px solid #dee2e6; + width: 16px !important; + height: 16px !important; + padding: 0; + border-radius: 50%; + cursor: pointer; + transition: all 0.2s; + margin: 0.25rem 0; +} +.cbi-input-radio:checked { + border: 1px solid #5e72e4; + background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'%3e%3ccircle r=\'3\' fill=\'%23fff\'/%3e%3c/svg%3e') !important; + background-color: #5e72e4; + background-size: 70%; + background-repeat: no-repeat; + background-position: center; +} +.toggle { + position: relative; + display: block; + width: 40px; + height: 20px; + cursor: pointer; + -webkit-tap-highlight-color: transparent; + transform: translate3d(0, 0, 0); + margin: 1em 0; +} +.toggle:before { + content: ""; + position: relative; + top: 3px; + left: 3px; + width: 34px; + height: 14px; + display: block; + background: #9A9999; + border-radius: 8px; + transition: background 0.2s ease; +} +.toggle span { + position: absolute; + top: 0; + left: 0; + width: 20px; + height: 20px; + display: block; + background: white; + border-radius: 10px; + box-shadow: 0 3px 8px rgba(154, 153, 153, 0.5); + transition: all 0.2s ease; +} +.toggle span:before { + content: ""; + position: absolute; + display: block; + margin: -18px; + width: 56px; + height: 56px; + background: rgba(79, 46, 220, 0.5); + border-radius: 50%; + transform: scale(0); + opacity: 1; + pointer-events: none; +} +.cbi-input-checkbox:checked + .toggle:before { + background: #947ADA; +} +.cbi-input-checkbox:checked + .toggle span { + background: #4F2EDC; + transform: translateX(20px); + transition: all 0.2s cubic-bezier(0.8, 0.4, 0.3, 1.25), background 0.15s ease; + box-shadow: 0 3px 8px rgba(79, 46, 220, 0.2); +} +.cbi-input-checkbox:checked + .toggle span:before { + transform: scale(1); + opacity: 0; + transition: all 0.4s ease; +} +.cbi-value-field .cbi-input-checkbox, +.cbi-value-field .cbi-input-radio { + margin-top: 0.5rem; + height: 1rem; +} +.td .cbi-input-checkbox, +.td .cbi-input-radio { + margin-top: 0; +} +.cbi-value-field > input + .cbi-value-description { + padding: 0; +} +.cbi-value-field > ul > li { + display: flex; +} +.cbi-value-field > ul > li > label { + margin-top: 0rem; +} +.cbi-value-field > ul > li .ifacebadge { + background-color: #eee; + margin-left: 0.4rem; + margin-top: -0.5rem; +} +.cbi-section-table-row > .cbi-value-field .cbi-dropdown { + min-width: 7rem; +} +.cbi-section-create { + margin: 0; + padding-left: 1rem; + align-items: center; +} +.cbi-section-create > * { + margin: 0.25rem; +} +.cbi-section-remove { + padding: 0.5rem; +} +div.cbi-value var, +td.cbi-value-field var, +.td.cbi-value-field var { + font-style: italic; + color: #0069D6; +} +small { + font-size: 90%; + white-space: normal; + line-height: 1.42857143; +} +.cbi-button-up, +.cbi-button-down { + display: inline-block; + min-width: 0; + padding: 0.2rem 0.6rem; + font-size: 1.2rem; + color: #5e72e4 !important; +} +.cbi-optionals { + padding: 1rem 1rem 0 1rem; + border-top: 1px solid #CCC; +} +.cbi-dropdown-container { + position: relative; +} +.cbi-tooltip-container { + cursor: help; +} +.cbi-tooltip { + position: absolute; + z-index: 1000; + left: -1000px; + opacity: 0; + transition: opacity 0.25s ease-out; + pointer-events: none; + box-shadow: 0 0 2px #444; +} +.cbi-tooltip-container:hover .cbi-tooltip { + left: auto; + opacity: 1; + transition: opacity 0.25s ease-in; +} +.cbi-map-descr + fieldset { + margin-top: 1rem; +} +.cbi-section > legend { + display: none !important; +} +fieldset > fieldset { + margin: 0; + padding: 0; + border: none; + box-shadow: none; +} +.zonebadge .cbi-tooltip { + padding: 0.25rem; + background: inherit; + margin: -1.5rem 0 0 -0.5rem; +} +.zonebadge-empty { + background: repeating-linear-gradient(45deg, rgba(204, 204, 204, 0.5), rgba(204, 204, 204, 0.5) 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px); + color: #404040; +} +.zone-forwards { + display: flex; + min-width: 10rem; +} +.zone-forwards > * { + flex: 1 1 45%; +} +.zone-forwards > span { + flex-basis: 10%; + text-align: center; + padding: 0 0.25rem; +} +.zone-forwards .zone-src, +.zone-forwards .zone-dest { + display: flex; + flex-direction: column; +} +#diag-rc-output > pre { + background-color: #fff; + display: block; + padding: 8.5px; + margin: 0 0 18px; + line-height: 1.5rem; + white-space: pre-wrap; + word-wrap: break-word; + font-size: 1.4rem; + color: #404040; +} +input[name="ping"], +input[name="traceroute"], +input[name="nslookup"] { + width: 80%; +} +/* fix progress bar */ +#swaptotal > div, +#swapfree > div, +#memfree > div, +#membuff > div, +#conns > div, +#memtotal > div { + width: 100% !important; + height: 1.6rem !important; + line-height: 1.6rem; + border-radius: 0.25rem; +} +#swaptotal > div > div, +#swapfree > div > div, +#memfree > div > div, +#membuff > div > div, +#conns > div > div, +#memtotal > div > div { + height: 100% !important; + background-color: #5e72e4 !important; +} +/* fix multiple table */ +table table, +.table .table { + border: none; +} +.cbi-value-field table, +.cbi-value-field .table { + border: none; +} +td > table > tbody > tr > td, +.td > .table > .tbody > .tr > .td { + border: none; +} +.cbi-value-field > table > tbody > tr > td, +.cbi-value-field > .table > .tbody > .tr > .td { + border: none; +} +/* button style */ +.cbi-page-actions .cbi-button-apply, +.cbi-section-actions .cbi-button-edit, +.cbi-button-edit.important, +.cbi-button-apply.important, +.cbi-button-reload.important, +.cbi-button-action.important { + color: #fff; + background-color: #337ab7; +} +.cbi-page-actions .cbi-button-save, +.cbi-button-add.important, +.cbi-button-save.important, +.cbi-button-positive.important { + color: #fff; + background-color: #5bc0de; +} +.cbi-button-remove.important, +.cbi-button-reset.important, +.cbi-button-negative.important { + color: #fff; + background-color: #d9534f; +} +.cbi-button-find, +.cbi-button-link, +.cbi-button-neutral { + color: #fff !important; + border: 1px solid #f0ad4e !important; + background-color: #f0ad4e !important; +} +.cbi-button-edit, +.cbi-button-apply, +.cbi-button-reload, +.cbi-button-action { + color: #2e6da4; + border: 1px solid #2e6da4; + background-color: transparent; +} +.cbi-page-actions .cbi-button-apply + .cbi-button-save, +.cbi-button-add, +.cbi-button-save, +.cbi-button-positive { + color: #46b8da; + border: 1px solid #46b8da; + background-color: transparent; +} +.cbi-section-remove > .cbi-button, +.cbi-button-remove, +.cbi-button-reset, +.cbi-button-negative { + color: #fff !important; + border: 1px solid #d43f3a !important; + background-color: #fb6340 !important; +} +.cbi-page-actions .cbi-button-link:first-child { + float: left; +} +.a-to-btn { + text-decoration: none; +} +/* table */ +.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + width: auto !important; + background-color: #e9ecef; + background-color: var(--lighter); +} +.td.cbi-section-actions { + text-align: right; + vertical-align: middle; +} +.td.cbi-section-actions > * { + display: flex; +} +.td.cbi-section-actions > * > *, +.td.cbi-section-actions > * > form > * { + flex: 1 1 4em; + margin: 0 1px; +} +.td.cbi-section-actions > * > form { + display: inline-flex; + margin: 0; +} +/* desc */ +/* luci */ +.hidden { + display: none; +} +.left, +.left::before { + text-align: left !important; +} +.right, +.right::before { + text-align: right !important; +} +.center, +.center::before { + text-align: center !important; +} +.top { + align-self: flex-start !important; + vertical-align: top !important; +} +.bottom { + align-self: flex-end !important; + vertical-align: bottom !important; +} +.inline { + display: inline; +} +.cbi-page-actions { + border-top: 0px solid #eee; + padding-top: 0rem; + text-align: right; +} +#xhr_poll_status { + cursor: pointer; + display: inline-block; +} +#xhr_poll_status > .label.success { + background-color: #fff !important; + color: #32325d !important; +} +.label { + padding: 0.3rem 0.8rem; + font-size: 0.8rem; + font-weight: bold; + color: #ffffff !important; + text-transform: uppercase; + white-space: nowrap; + background-color: #bfbfbf; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + text-shadow: none; + text-decoration: none; +} +.notice { + background-color: #5BC0DE; +} +.showSide { + display: none; + color: #fff; + font-size: 1.4rem; +} +.darkMask { + width: 100%; + height: 100%; + position: fixed; + background-color: rgba(0, 0, 0, 0.56); + z-index: 99; + left: 0; + top: 0; + display: none; +} +#cbi-firewall-redirect table *, +#cbi-network-switch_vlan table *, +#cbi-firewall-zone table * { + font-size: small; +} +#cbi-firewall-redirect table input[type="text"], +#cbi-network-switch_vlan table input[type="text"], +#cbi-firewall-zone table input[type="text"] { + width: 5rem; +} +#cbi-firewall-redirect table select, +#cbi-network-switch_vlan table select, +#cbi-firewall-zone table select { + min-width: 3.5rem; +} +#cbi-network-switch_vlan .th, +#cbi-network-switch_vlan .td { + flex-basis: 12%; +} +/* language fix */ +body.lang_pl.node-main-login .cbi-value-title { + width: 12rem; +} +/* applyreboot fix */ +#applyreboot-container { + margin: 2rem; +} +#applyreboot-section { + margin: 2rem; + line-height: 300%; +} +.table { + display: table; + position: relative; + color: #525f7f; + border-collapse: collapse; +} +.tr { + display: table-row; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} +.thead { + display: table-header-group; +} +.tbody { + display: table-row-group; +} +.tfoot { + display: table-footer-group; +} +.td, +.th { + vertical-align: middle; + text-align: center; + display: table-cell; + padding: 1rem; + white-space: nowrap; +} +.th { + font-weight: bold; +} +.tr.placeholder { + height: 4em; +} +.tr.placeholder > .td { + position: absolute; + left: 0; + right: 0; + bottom: 0; + text-align: center; + background: inherit; +} +.table[width="33%"], +.th[width="33%"], +.td[width="33%"] { + width: 33%; + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.table[width="100%"], +.th[width="100%"], +.td[width="100%"] { + width: 100%; +} +.table-titles .th { + padding: 0.75rem 1rem; + color: #8898aa; + background-color: #f6f9fc; +} +.col-1 { + flex: 1 1 30px !important; + -webkit-flex: 1 1 30px !important; +} +.col-2 { + flex: 2 2 60px !important; + -webkit-flex: 2 2 60px !important; +} +.col-3 { + flex: 3 3 90px !important; + -webkit-flex: 3 3 90px !important; +} +.col-4 { + flex: 4 4 120px !important; + -webkit-flex: 4 4 120px !important; +} +.col-5 { + flex: 5 5 150px !important; + -webkit-flex: 5 5 150px !important; +} +.col-6 { + flex: 6 6 180px !important; + -webkit-flex: 6 6 180px !important; +} +.col-7 { + flex: 7 7 210px !important; + -webkit-flex: 7 7 210px !important; +} +.col-8 { + flex: 8 8 240px !important; + -webkit-flex: 8 8 240px !important; +} +.col-9 { + flex: 9 9 270px !important; + -webkit-flex: 9 9 270px !important; +} +.col-10 { + flex: 10 10 300px !important; + -webkit-flex: 10 10 300px !important; + white-space: inherit; +} +.cbi-rowstyle-2 .cbi-button-up, +.cbi-rowstyle-2 .cbi-button-down { + background-color: #FFF !important; +} +.cbi-button-up, +.cbi-button-down, +.cbi-value-helpicon, +.showSide, +.main > .loading > span { + font-family: 'argon' !important; + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.cbi-button-up { + transform: rotate(180deg); +} +select { + padding: 0.36rem 0.8rem; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; +} +select, +input { + font-size: 0.875rem; + transition: all 0.15s ease-in-out; + line-height: 1.5; + padding: 0.625rem 0.75rem; + color: #8898aa; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + background-color: #fff; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, 0.05); + outline: none; + transition: box-shadow 0.15s ease; + margin: 0.25rem; +} +select:not([multiple="multiple"]):focus, +input:focus { + border-color: #5e72e4; + outline: 0; + background-color: #fff; + box-shadow: 0 3px 9px rgba(50, 50, 9, 0), 3px 4px 8px rgba(94, 114, 228, 0.1); +} +select[multiple="multiple"] { + height: auto; +} +code { + color: #0099CC; +} +abbr { + color: #005470; + text-decoration: underline; + cursor: help; +} +hr { + margin: 1rem 0; + border-color: #EEE; + opacity: 0.1; +} +.kpi { + font-size: 0.875rem; +} +fieldset[id^="cbi-apply-"] { + position: fixed; + z-index: 200; + width: 20rem; + margin-left: -10rem; + margin-top: -5rem; + height: 10rem; + left: 50%; + top: 50%; + padding: 1rem; + box-sizing: border-box; + font-size: 1.2rem; + text-align: center; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; + transition: all 0.3s; +} +[id^="cbi-apply-"] > .panel-title { + border-bottom: none; +} +[id^="cbi-apply-"] > [id^="cbi-apply-"] { + position: initial; + width: auto; + height: auto; + font-size: 0.875rem; + margin-left: 0rem; + margin-top: 0.8rem; + display: block; +} +.cbi-section > h3:first-child, +.panel-title { + font-size: 1.125rem; + width: 100%; + display: block; + margin: 0; + padding: 0.8755rem 1.5rem; + border-bottom: 1px solid #ddd; + letter-spacing: 0.1rem; + color: #32325d; + font-weight: normal; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +table, +.table { + width: 100%; +} +table > tbody > tr > td, +table > tbody > tr > th, +table > tfoot > tr > td, +table > tfoot > tr > th, +table > thead > tr > td, +table > thead > tr > th, +.table > .tbody > .tr > .td, +.table > .tbody > .tr > .th, +.table > .tfoot > .tr > .td, +.table > .tfoot > .tr > .th, +.table > .thead > .tr > .td, +.table > .thead > .tr > .th { + padding: 0.5rem; + border-top: 1px solid #ddd; +} +.cbi-section-table-cell { + white-space: nowrap; + align-self: flex-end; + flex: 1 1 auto; +} +.cbi-section-table { + font-size: 0.875rem; + border: none; + margin: 0 !important; +} +.status-bar { + font-size: 0.875rem; +} +.cbi-section-table-row:last-child { + margin-bottom: 0; +} +.cbi-section-table-row > .cbi-value-field .cbi-input-select, +.cbi-section-table-row > .cbi-value-field .cbi-input-text, +.cbi-section-table-row > .cbi-value-field .cbi-input-password, +.cbi-section-table-row > .cbi-value-field .cbi-dropdown { + width: 100%; +} +.cbi-section-table-row > .cbi-value-field [data-dynlist] > input, +.cbi-section-table-row > .cbi-value-field input.cbi-input-password { + width: calc(100% - 1.5rem); +} +div > table > tbody > tr:nth-of-type(2n), +div > .table > .tbody > .tr:nth-of-type(2n) { + background-color: #f9f9f9; +} +div > table > tbody > tr:nth-of-type(2n), +div > .table > .tbody > .tr:nth-of-type(2n) { + background-color: #f9f9f9; +} +.danger { + background-color: #f5365c !important; + background-color: var(--danger) !important; + color: #fff !important; +} +.warning { + background-color: #fb6340 !important; + background-color: var(--warning) !important; + color: #fff !important; +} +.notice { + background-color: #5e72e4 !important; + color: #fff !important; +} +.success { + background-color: #2dce89 !important; + background-color: var(--success) !important; + color: #fff !important; +} +.errorbox, +.alert-message { + margin: 2rem 0 0 0; + padding: 2rem; + border: 0; + font-weight: normal; + font-style: normal; + line-height: 1.5em; + font-family: inherit; + min-width: inherit; + overflow: auto; + border-radius: 0.3rem; + background-color: #FFF; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); +} +.errorbox { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.error { + color: red; +} +h1 { + font-size: 2rem; + padding-bottom: 10px; + border-bottom: 1px solid #eee; +} +h2 { + margin: 0 0 1rem 0; + font-size: 1.25rem; + letter-spacing: 0.1rem; + padding: 1rem 1.5rem; + color: #32325d; + border-radius: 0.375rem; + background: #fff; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); +} +#cbi-dropbear h2, +#cbi-dropbear .cbi-map-descr, +#cbi-dropbear .cbi-map-descr abbr, +#cbi-rc h2, +#cbi-rc .cbi-map-descr, +#cbi-distfeedconf h2, +#cbi-distfeedconf .cbi-map-descr, +#cbi-customfeedconf h2, +#cbi-customfeedconf .cbi-map-descr, +#cbi-download h2, +#cbi-filelist h2 { + color: #32325d !important; +} +h3 { + font-size: 1.15rem; + width: 100%; + display: block; + margin: 1rem 0; + color: #32325d; + font-weight: bold; + letter-spacing: 0.1rem; + padding: 1rem 1.5rem; + border-radius: 0.375rem; + background: #fff; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); +} +fieldset { + margin: 1.25rem 0 0 0; + padding: 0; + font-weight: normal; + font-style: normal; + line-height: 1; + font-family: inherit; + min-width: inherit; + overflow-x: auto; + overflow-y: hidden; + border: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 0.375rem; + background-color: #fff; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + -webkit-overflow-scrolling: touch; +} +fieldset > legend { + display: none !important; +} +fieldset > fieldset { + margin: 0; + padding: 0; + border: none; + box-shadow: none; +} +fieldset.cbi-section p { + padding: 1em; +} +.panel-title { + width: 100%; + display: block; + margin-bottom: 0; + padding: 0.8755rem 1.5rem; + background-color: #fff; + border-bottom: 1px solid #ddd; + margin-bottom: 0rem; + letter-spacing: 0.1rem; + color: #32325d; + font-weight: 600; +} +table { + border-spacing: 0; + border-collapse: collapse; + width: 100%; +} +table > tbody > tr > td, +table > tfoot > tr > td, +table > thead > tr > td { + font-size: 0.875rem; + color: #525f7f; + line-height: 1.4em; + vertical-align: middle !important; + padding: 0.8rem 1.5rem; + border-top: 1px solid #ddd; +} +table > tbody > tr > th, +table > tfoot > tr > th, +table > thead > tr > th { + padding-right: 1.5rem; + padding-left: 1.5rem; + color: #8898aa; + background-color: #f6f9fc; + font-size: 0.65rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + letter-spacing: 1px; + text-transform: uppercase; + border-bottom: 1px solid #e9ecef; +} +table > tbody > tr:first-child > td, +table > tfoot > tr:first-child > td, +table > thead > tr:first-child > td { + border-top: 0px; +} +.cbi-section-table-cell { + text-align: center; +} +.cbi-section-table-row { + text-align: center; +} +fieldset > table > tbody > tr:nth-of-type(2n) { + background-color: #f9f9f9; +} +/* fix multiple table */ +table table { + border: none; +} +.cbi-value-field table { + border: none; +} +td > table > tbody > tr > td { + border: none; +} +.cbi-value-field > table > tbody > tr > td { + border: none; +} +/* table */ +.tabs { + margin: 0 0 1rem 0; + padding: 0 1rem; + background-color: #FFFFFF; + border-radius: 0.375rem; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); + white-space: nowrap; + overflow-x: auto; +} +.tabs::-webkit-scrollbar { + width: 1px; + height: 5px; +} +.tabs::-webkit-scrollbar-thumb { + background-color: #f6f9fc; +} +.tabs::-webkit-scrollbar-track { + background-color: #fff; +} +.tabs li[class~="active"], +.tabs li:hover { + cursor: pointer; + border-bottom: 0.18751rem solid #5e72e4; + color: #5e72e4; + background-color: #dce1fe; + margin-bottom: 0; + border-radius: 0; +} +.tabs li[class~="active"] a, +.tabs li:hover a { + color: #5e72e4; +} +.tabs li { + font-size: 0.875rem; + display: inline-block; + padding: 0.875rem 0rem; + border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); +} +.tabs li a { + text-decoration: none; + color: #404040; + padding: 0.5rem 0.8rem; +} +.tabs li:hover { + border-bottom: 0.18751rem solid #5e72e4; +} +.cbi-tabmenu { + color: white; + padding: 0.5rem 1rem 0 1rem; + white-space: nowrap; + overflow-x: auto; + border-bottom: 1px solid #ddd !important; +} +.cbi-tabmenu::-webkit-scrollbar { + width: 1px; + height: 5px; +} +.cbi-tabmenu::-webkit-scrollbar-thumb { + background-color: #f6f9fc; +} +.cbi-tabmenu::-webkit-scrollbar-track { + background-color: #fff; +} +.cbi-tabmenu li { + background: #dce3e9; + display: inline-block; + font-size: 0.875rem; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + padding: 0.5rem 0rem; + border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); +} +.cbi-tabmenu li a { + text-decoration: none; + color: #404040; + padding: 0.5rem 0.8rem; +} +.cbi-tabmenu li:hover { + cursor: pointer; + border-bottom: 0.18751rem solid #5e72e4; + color: #5e72e4; + background-color: #dce1fe; + margin-bottom: 0; +} +.cbi-tabmenu li:hover a { + color: #525f7f; +} +.cbi-tabmenu li[class~="cbi-tab"] { + border-bottom: 0.18751rem solid #5e72e4; + color: #5e72e4; + background-color: #dce1fe; + margin-bottom: 0; +} +.cbi-tabmenu li[class~="cbi-tab"] a { + color: #5e72e4; +} +.cbi-tab-descr { + margin: 1rem 1.5rem; + color: #32325d; + font-size: small; + line-height: 1.5em; +} +.cbi-dropdown { + display: inline-flex; + cursor: pointer; + position: relative; + padding: 0; + height: auto; +} +.cbi-dropdown:focus { + outline: 2px solid #4b6e9b; +} +.cbi-dropdown > ul { + margin: 0 !important; + padding: 0; + list-style: none; + overflow-x: hidden; + overflow-y: auto; + display: flex; + width: 100%; +} +.cbi-dropdown > ul.preview { + display: none; +} +.cbi-dropdown > .open { + border: 0px outset #eee; + flex-basis: 15px; + background: #fff; +} +.cbi-dropdown > .open, +.cbi-dropdown > .more { + flex-grow: 0; + flex-shrink: 0; + display: flex; + flex-direction: column; + justify-content: center; + text-align: center; + line-height: 2em; + padding: 0 0.25em; +} +.cbi-dropdown > .more, +.cbi-dropdown > ul > li[placeholder] { + color: #777; + font-weight: bold; + text-shadow: 1px 1px 0px #fff; + display: none; +} +.cbi-dropdown > ul > li { + display: none; + padding: 0.25em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + flex-shrink: 1; + flex-grow: 1; + align-items: center; + align-self: center; + min-height: 20px; +} +.cbi-dropdown > ul > li .hide-open { + display: initial; +} +.cbi-dropdown > ul > li .hide-close { + display: none; +} +.cbi-dropdown > ul > li[display]:not([display="0"]) { + border-left: 1px solid #ccc; +} +.cbi-dropdown[empty] > ul { + max-width: 1px; +} +.cbi-dropdown > ul > li > form { + display: none; + margin: 0; + padding: 0; + pointer-events: none; +} +.cbi-dropdown > ul > li img { + vertical-align: middle; + margin-right: 0.25em; +} +.cbi-dropdown > ul > li > form > input[type="checkbox"] { + margin: 0; + height: auto; +} +.cbi-dropdown > ul > li input[type="text"] { + height: 20px; +} +.cbi-dropdown[open] { + position: relative; + border-color: #5e72e4; +} +.cbi-dropdown[open] > ul.dropdown { + display: block; + background: #fff; + border-color: #5e72e4; + position: absolute; + z-index: 1000; + max-width: none; + min-width: 100%; + width: auto; + box-shadow: 0 1px 3px rgba(50, 50, 93, 0.15), 0 1px 0 rgba(0, 0, 0, 0.05); +} +.cbi-dropdown > ul > li[display], +.cbi-dropdown[open] > ul.preview, +.cbi-dropdown[open] > ul.dropdown > li, +.cbi-dropdown[multiple] > ul > li > label, +.cbi-dropdown[multiple][open] > ul.dropdown > li, +.cbi-dropdown[multiple][more] > .more, +.cbi-dropdown[multiple][empty] > .more { + flex-grow: 1; + display: flex; + align-items: center; +} +.cbi-dropdown[empty] > ul > li, +.cbi-dropdown[optional][open] > ul.dropdown > li[placeholder], +.cbi-dropdown[multiple][open] > ul.dropdown > li > form { + display: block; +} +.cbi-dropdown[open] > ul.dropdown > li .hide-open { + display: none; +} +.cbi-dropdown[open] > ul.dropdown > li .hide-close { + display: initial; +} +.cbi-dropdown[open] > ul.dropdown > li { + border-bottom: 1px solid #ccc; +} +.cbi-dropdown[open] > ul.dropdown > li[selected] { + background: #b0d0f0; +} +.cbi-dropdown[open] > ul.dropdown > li.focus { + background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%); +} +.cbi-dropdown[open] > ul.dropdown > li:last-child { + margin-bottom: 0; + border-bottom: none; +} +.cbi-dropdown[disabled] { + pointer-events: none; + opacity: 0.6; +} +.cbi-dropdown .zonebadge { + width: 100%; +} +.cbi-dropdown[open] .zonebadge { + width: 100%; +} +.cbi-dropdown { + font-size: 0.875rem; + transition: all 0.15s ease-in-out; + line-height: 1.5; + height: calc(2.75rem + 2px); + padding: 0m; + color: #8898aa; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + background-color: #fff; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, 0.05); + margin: 0.25rem; +} +.cbi-value-field .cbi-dropdown { + min-width: 20rem; +} +.cbi-value-field .cbi-dropdown .zonebadge > .ifacebadge { + padding: 0rem 1rem; + margin: 0rem 0.3rem; + border: 1px solid #6C6C6C; +} +select[multiple="multiple"] { + height: auto; +} +.cbi-dropdown > ul { + margin: 0 !important; + padding: 0; + list-style: none; + overflow-x: hidden; + overflow-y: hidden; + display: flex; + width: 100%; +} +.cbi-section > legend { + display: none !important; +} +.cbi-section-remove:nth-of-type(2n), +.cbi-section-node:nth-of-type(2n) { + background-color: #f9f9f9; +} +.cbi-section-node-tabbed { + padding: 0; + margin-top: 0; +} +.cbi-section-node { + background: #fff; + border: 0; + border-radius: 0.375rem; + margin-bottom: 0px; + box-shadow: 0 0 0rem 0 rgba(136, 152, 170, 0.15); + overflow-x: auto; + overflow-y: hidden; + padding: 0rem 0; +} +#cbi-network-lan.cbi-section-node { + overflow-x: visible; + overflow-y: visible; +} +.cbi-section-node .cbi-value { + padding: 0.3rem 1rem 0.3rem 1rem; +} +.cbi-tabcontainer > .cbi-value:nth-of-type(2n) { + background-color: #f9f9f9; +} +.cbi-value-field, +.cbi-value-description { + display: table-cell; + line-height: 1.6; + font-size: 0.875rem; +} +.cbi-value-helpicon > img { + display: none; +} +.cbi-value-helpicon:before { + content: "\f059"; +} +.cbi-value-description { + font-size: small; + opacity: 0.5; + padding: 0.5rem; +} +.cbi-value-title { + word-wrap: break-word; + font-size: 0.875rem; + line-height: 1.6; + color: #525f7f; + padding: 0.7rem; + padding-left: 0; + width: 23rem; + float: left; + text-align: right; + display: table-cell; +} +.cbi-value { + padding: 0.3rem 1rem; + display: inline-block; + width: 100%; +} +.cbi-section-table-descr > .cbi-section-table-cell, +.cbi-section-table-titles > .cbi-section-table-cell { + border: none; +} +.cbi-rowstyle-1 { + background-color: #fff; +} +.cbi-rowstyle-2 { + background-color: #fefefe; +} +.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + width: auto !important; +} +/* desc */ +.cbi-section-descr { + padding: 1rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + line-height: 1.5em; + color: #525f7f; +} +.cbi-map-descr { + margin: 0rem 1.5rem 1rem 1.5rem; + color: #32325d; + font-size: small; + line-height: 1.5em; +} +/* input */ +.cbi-value input[type="password"], +.cbi-value input[type="text"] { + min-width: 20rem; +} +input[type="checkbox"] { + height: auto; +} +/* select */ +.cbi-value-field .ifacebadge { + display: inline-flex; + border-bottom: 0px solid #CCCCCC; + padding: 0.5rem 1rem; + box-shadow: none; +} +td > .ifacebadge { + background-color: #F0F0F0; + font-size: 0.9rem; +} +.ifacebadge > img { + float: right; + margin: 0 0.3rem; +} +/*textarea*/ +.cbi-input-textarea { + width: 100%; + border: 0; + outline: none; + min-height: 14rem; + padding: 0.8rem; + font-size: 0.8rem; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + color: black; +} +#syslog { + width: 100%; + min-height: 15rem; + padding: 1rem; + line-height: 1.4em; + font-size: small; + color: #fff; + border-radius: 0; + background-color: #1e1e1e; + border: none; + outline: none; +} +.ifacebadge { + display: inline-flex; + border-bottom: 0px solid #CCCCCC; + padding: 0.5rem 1rem; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + background: #fff; +} +td > .ifacebadge, +.td > .ifacebadge { + background-color: #e9ecef; + font-size: 0.9rem; + border-radius: 0.2rem; +} +.ifacebadge > em, +.ifacebadge > img { + display: inline-block; + margin: 0 0.3rem; + align-self: flex-start; +} +.ifacebadge span { + line-height: 1.6em; +} +.network-status-table { + display: flex; + flex-wrap: wrap; +} +.network-status-table .ifacebox { + margin: 1rem; + flex-grow: 1; +} +.network-status-table .ifacebox-body { + display: flex; + flex-direction: column; + height: 100%; +} +.network-status-table .ifacebox-body > span { + flex: 10 10 auto; + height: 100%; + line-height: 1.7em; + padding-left: 2rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.network-status-table .ifacebox-body > div { + display: flex; + flex-wrap: wrap; +} +.network-status-table .ifacebox-body .ifacebadge { + flex: 1 1 auto; + margin: 0; + padding: 0.5em; + min-width: 220px; + background-color: #fff; + align-items: center; +} +.ifacebox { + border: 1px solid #ccc; + border-radius: 0.375rem; + background-color: #f9f9f9; + display: inline-flex; + flex-direction: column; + line-height: 1.2em; + min-width: 100px; + overflow: hidden; +} +.ifacebox-head { + padding: 1rem; + background: #eee; +} +.ifacebox-head.active { + background: #5e72e4; + color: #fff; +} +.ifacebox-body { + padding: 0.5em; +} +.cbi-image-button { + margin-left: 0.5rem; +} +#iwsvg, +#iwsvg2, +#bwsvg { + border: none !important; + border-radius: 0.375rem; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + overflow: hidden; +} +.cbi-image-button { + margin-left: 0.5rem; +} +.zonebadge { + padding: 0.2rem 0.5rem; + display: inline-block; + cursor: pointer; +} +.zonebadge > .ifacebadge { + padding: 0.2rem 1rem; + margin: 0.3rem; + border: 1px solid #6C6C6C; +} +.zonebadge > input[type="text"] { + padding: 0.16rem 1rem; + min-width: 10rem; + margin-top: 0.3rem; +} +.cbi-value-field .cbi-input-checkbox, +.cbi-value-field .cbi-input-radio { + margin: 0.9rem 0.25rem 0 0.25rem; + height: 1rem; + line-height: 1.6; +} +.cbi-input-checkbox { + margin: 0.9rem 0.25rem 0 0.25rem; +} +.cbi-value-field .cbi-input-radio { + margin: 0rem 0.25rem; +} +.cbi-value-field > input + .cbi-value-description { + padding: 0; +} +.cbi-value-field > ul > li { + display: flex; + align-items: center; + font-size: 0.875rem; +} +.cbi-value-field > ul > li .ifacebadge { + font-size: 0.875rem; + background-color: #eee; + display: flex; + align-items: center; + margin-left: 0rem; + margin-top: 0rem; +} +.cbi-section-table-row > .cbi-value-field .cbi-input-select { + min-width: 7rem; +} +.cbi-section-create > .cbi-button-add { + margin: 0.5rem 0.5rem 0.5rem 0.5rem; +} +.cbi-section-remove { + padding: 0.5rem; +} +div.cbi-value var, +td.cbi-value-field var { + font-style: italic; + color: #0069D6; +} +small { + font-size: 90%; + white-space: normal; + line-height: 1.42857143; +} +.cbi-optionals { + padding: 1rem 1rem 0 1rem; + border-top: 1px solid #CCC; +} +input[name="ping"], +input[name="traceroute"], +input[name="nslookup"] { + width: 80%; +} +.label { + padding: 0.3rem 0.8rem; + font-size: 0.8rem; + font-weight: bold; + color: #fff !important; + text-transform: uppercase; + white-space: nowrap; + background-color: #32325d; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + text-shadow: none; + text-decoration: none; +} +/* fix status overview */ +.node-status-overview > .main fieldset:nth-child(4) td:nth-child(2) { + white-space: normal; +} +.node-status-overview > .main #wan4_i, +.node-status-overview > .main #wan6_i { + width: 80px !important; +} +/* fix status processes */ +.node-status-processes > .main table tr td:nth-child(3) { + white-space: normal; +} +/* fix system reboot */ +.node-system-reboot > .main > .main-right p, +.node-system-reboot > .main > .main-right h3 { + padding-left: 2rem; + color: #fff; +} +/* fix Services Network Shares*/ +.node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title { + margin-bottom: 1rem; + width: auto; +} +.node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field { + display: list-item; +} +.node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description { + padding-top: 1rem; +} +/* fix System Software*/ +.node-system-packages > .main table tr td:nth-child(1) { + width: auto !important; +} +.node-system-packages > .main table tr td:nth-last-child(1) { + white-space: normal; + font-size: small; + color: #404040; +} +.node-system-packages > .main .cbi-tabmenu > li > a, +.tabs > li > a { + padding: 0.5rem 0.8rem; +} +.node-system-packages > .main .cbi-value > pre { + background-color: #eee; + padding: 0.5rem; + overflow: auto; +} +.node-system-packages > .main .cbi-page-actions { + padding: 1rem 0; +} +.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last { + line-height: 1.8em; +} +.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] { + border: 1px solid #999999 !important; + width: 100% !important; + background-color: #fff !important; + height: 1.4rem !important; + border-radius: 0.25rem; + margin: 0.5rem 0; + overflow: hidden; +} +.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] div { + border-right: 0 !important; + background-color: #5e72e4 !important; +} +.node-system-leds .cbi-section em { + display: block; +} +.cbi-tabmenu + .cbi-section { + margin-top: 0; +} +.cbi-section { + background: #fff; + border: 0; + border-radius: 0.375rem; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + overflow-x: auto; + overflow-y: hidden; +} +.cbi-section em { + padding: 0.75rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + color: #525f7f; + text-align: center; +} +.cbi-section h4 { + padding: 0.75rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + color: #525f7f; +} +#content_syslog { + border-radius: 0.375rem; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + overflow: hidden; +} +.node-system-packages .cbi-section-node .cbi-value { + padding: 0.5rem 1rem; + font-size: 0.875rem; +} +.node-system-packages br { + display: none; +} +/* fix network firewall*/ +.node-network-firewall > .main .cbi-section-table-row > .cbi-value-field .cbi-input-select { + min-width: 4rem; +} +.node-network-firewall .cbi-section-table { + width: 100% !important; +} +.node-status-iptables fieldset, +.node-system-packages fieldset, +.node-system-flashops fieldset { + margin-top: 0; +} +.node-status-iptables .cbi-tabmenu, +.node-system-packages .cbi-tabmenu, +.node-system-flashops .cbi-tabmenu { + border: none; +} +.node-system-flashops form.inline + form.inline { + margin-left: 0; +} +.Changes .cbi-section { + font-size: 0.875rem; + padding: 1rem; +} +.node-network-diagnostics { + font-size: 0.875rem; +} +.node-network-diagnostics #diag-rc-output { + display: block; + padding: 1rem; +} +.node-network-diagnostics #diag-rc-output pre { + font-size: 0.875rem; +} +.node-network-diagnostics .cbi-section div { + padding: 0 1.5rem; +} +.node-network-diagnostics input { + margin: 0.25rem !important; +} +/* fix nlbw/display*/ +#detail-bubble.in { + z-index: 500; +} +.node-nlbw-display .cbi-section ul { + padding: 0.875rem 1.5rem; +} +.node-nlbw-backup form { + margin-left: 1.5rem; +} +.node-nas-usb_printer em { + display: block; +} +@media screen and (max-width: 1600px) { + .main .main-left { + width: calc(0% + 13rem); + } + .main .main-right { + width: calc(100% - 13rem); + } + .cbi-button { + /*padding: 0.3rem 1.5rem;*/ + font-size: 0.8rem; + } + header > .container > .pull-right > * { + top: 0.35rem; + } + .label { + padding: 0.2rem 0.6rem; + } + .cbi-value-title { + width: 15rem; + padding-right: 0.6rem; + } + fieldset { + padding: 0; + } + .cbi-input-textarea { + font-size: small; + } + .node-status-iptables > .main fieldset li > a { + padding: 0.3rem 0.6rem; + } + select { + min-width: 15rem; + } +} +@media screen and (max-width: 1280px) { + header > .container { + margin-top: 0.25rem; + } + .main .main-left { + width: calc(0% + 13rem); + } + .main .main-right { + width: calc(100% - 13rem); + } + .cbi-tabmenu > li > a, + .tabs > li > a { + padding: 0.2rem 0.5rem; + } + .panel-title { + font-size: 1.1rem; + padding-bottom: 1rem; + } + table { + font-size: 0.7rem !important; + width: 100% !important; + } + .main > .main-left > .nav > li, + .main > .main-left > .nav > li a, + .main > .main-left > .nav > .slide > .menu { + font-size: 0.9rem; + } + .main > .main-left > .nav > .slide > .slide-menu > li > a { + font-size: 0.7rem; + } +} +@media screen and (max-width: 992px) { + .main .main-left { + width: 0; + position: fixed; + z-index: 100; + } + .main .main-right { + width: 100%; + } + .showSide { + padding: 0.1rem; + position: relative; + display: inline-block; + } + .showSide:hover { + text-decoration: none; + } + .showSide:before { + content: "\e20e"; + font-size: 1.7rem; + } + header > .fill > .container > .brand { + display: inline-block; + } + .cbi-value-title { + width: 9rem; + padding-right: 1rem; + } + .node-network-diagnostics > .main .cbi-map fieldset > div * { + width: 100% !important; + } + .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"] { + margin: 3rem 0 0 0 !important; + } + .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"] { + margin: 0 !important; + } + .node-network-diagnostics > .main .cbi-map fieldset > div select, + .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"] { + margin: 1rem 0 0 0 !important; + } + .node-network-diagnostics > .main .cbi-map fieldset > div { + width: 100% !important; + } + #diag-rc-output > pre { + font-size: 1rem; + } +} +@media screen and (max-width: 480px) { + body { + font-size: 0.8rem; + } + .pull-right { + float: right; + margin-top: 0rem !important; + } + .login-page .login-container { + margin-left: 0rem !important; + width: 100%; + } + .login-page .login-container .login-form .form-login .input-group::before { + color: #525461; + } + .login-page .login-container .login-form .form-login .input-group input { + color: #525461; + border-bottom: white 1px solid; + border-bottom: var(--white) 1px solid; + border-radius: 0; + } + @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { + .login-page .login-container .login-form { + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + background-color: rgba(244, 245, 247, 0.7); + } + } + fieldset { + padding: 0; + margin: 1rem 0 0 0; + } + .tabs { + margin: 0.5rem 0rem; + } + .toggle { + margin: 0; + } + h2 { + font-size: 1.125rem; + } + .panel-title { + font-size: 1rem; + padding-bottom: 1rem; + } + #maincontent > .container { + margin: 0 1rem 1.5rem 1rem; + } + .main > .main-left > .nav > .slide > .menu { + font-size: 1rem; + } + .main > .main-left > .nav > .slide > .slide-menu > li > a { + font-size: 0.9rem; + } + .main > .main-left > .nav > .slide > .menu:after { + top: 0.9rem; + } + #ethinfo td { + padding: 0.75rem 0.2rem !important; + } + .cbi-value-title { + width: 100%; + min-width: 0rem !important; + display: block; + margin-top: 0.5rem; + margin-bottom: 0.5rem; + text-align: left; + padding: 0 0.25rem; + } + .cbi-value input[type="password"], + .cbi-value input[type="text"] { + min-width: 15rem; + } + select { + width: 15rem; + min-width: auto; + } + .cbi-value > .cbi-value-field { + display: inline-block; + } + .cbi-value-field .cbi-input-checkbox, + .cbi-value-field .cbi-input-radio { + margin: 0rem 0.25rem 0 0.25rem; + height: 1rem; + line-height: 1.6; + } + .cbi-page-actions > div > input { + display: none; + } + .tabs::-webkit-scrollbar, + .cbi-tabmenu::-webkit-scrollbar { + width: 0px; + height: 0px; + } + .tabs > li > a { + font-size: 0.9rem; + } + select, + input { + font-size: 0.9rem; + } + .mobile-hide { + display: none; + } + .node-status-realtime table > tbody > tr > td, + .node-status-realtime table > tfoot > tr > td, + .node-status-realtime table > thead > tr > td { + font-size: 0.8125rem; + color: #525f7f; + line-height: 1.4em; + vertical-align: middle !important; + padding: 0.8rem 0rem; + border-top: 1px solid #ddd; + width: auto; + text-align: center; + } + .node-system-packages > .main .cbi-value.cbi-value-last > div { + width: 100% !important; + } + .node-system-packages .cbi-section-node .cbi-value { + padding: 0.3rem 1rem; + } + .node-system-packages > .main .cbi-value .cbi-value-field input { + width: 100%; + } + .node-system-leds .cbi-section em { + display: block; + } + .node-status-iptables > .main div > .cbi-map > form { + position: static !important; + margin: 0 0 2rem 0; + padding: 2rem; + border: 0; + font-weight: normal; + font-style: normal; + line-height: 1; + font-family: inherit; + min-width: inherit; + overflow-x: auto; + overflow-y: hidden; + border-radius: 0.375rem; + background-color: #FFF; + box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); + -webkit-overflow-scrolling: touch; + } + .node-status-iptables > .main div > .cbi-map > form input[type="submit"] { + width: 100% !important; + margin: 0; + } + .node-status-iptables > .main div > .cbi-map > form input[type="submit"] + input[type="submit"] { + margin-top: 1rem; + } + .cbi-value input[type="text"]:has(+ img) { + width: 10rem !important; + } + .node-services-vssr .status-info { + font-size: 0.75rem; + } + .node-services-vssr .icon-con { + margin-top: 0.4rem; + } + .node-services-vssr .icon-con img { + width: 2.3rem !important; + height: auto; + } +} +@media (prefers-color-scheme: dark) { + body { + background: #1e1e1e; + color: #cccccc; + } + .login-page .login-container .login-form { + background-color: #1e1e1e; + } + .login-page .login-container .login-form .brand { + color: #adb5bd; + } + .login-page .login-container .login-form .form-login .input-group::before { + color: #adb5bd; + } + .login-page .login-container .login-form .form-login .input-group input { + background-color: transparent !important; + color: #adb5bd; + border-bottom: #adb5bd 1px solid !important; + border-radius: 0; + border-top: none; + border-left: none; + border-right: none; + } + .login-page .login-container .login-form .form-login .cbi-button-apply { + background-image: linear-gradient(-135deg, #6c61ab 0%, #594ca9 100%); + } + .login-page .login-container .login-form .form-login .cbi-button-apply:hover, + .login-page .login-container .login-form .form-login .cbi-button-apply:focus { + background-image: linear-gradient(-135deg, #554c8a 0%, #483d8b 100%); + } + header::after { + background-color: #1e1e1e !important; + } + .main .main-left { + background-color: #333333 !important; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.15); + } + .main .main-left .sidenav-header .brand { + color: #ccc; + } + .main .main-left .nav .slide .slide-menu .active a { + color: #cccccc; + } + .main .main-left .nav .slide .slide-menu .active a::after { + background-color: #cccccc !important; + } + .main .main-left .nav .slide .slide-menu li a { + color: #cccccc; + } + .main .main-left .nav .slide .slide-menu li a:hover { + background: none !important; + } + .main .main-left .nav .slide .menu.active { + background-color: darkslateblue !important; + color: #cccccc !important; + } + .main .main-left .nav .slide .menu.active a::after { + background-color: #cccccc !important; + } + .main .main-left .nav li a { + color: #cccccc !important; + } + .main .main-left .nav li a:hover { + background-color: darkslateblue !important; + color: #cccccc !important; + } + .main .main-left::-webkit-scrollbar-thumb { + background-color: #252526 !important; + } + .main .main-left::-webkit-scrollbar-track { + background-color: #333; + } + .main .main-right { + background-color: #1e1e1e; + } + h2 { + color: #ccc; + background: #333333; + } + h3 { + color: #ccc; + border-bottom: 0; + background: #333333; + } + a:-webkit-any-link { + color: -webkit-link; + cursor: pointer; + color: darkslateblue; + } + input:-webkit-autofill { + background-color: #3c3c3c !important; + } + .cbi-value-field .cbi-input-apply, + .cbi-button-apply, + .cbi-button-edit { + color: #fff !important; + background-color: darkslateblue !important; + border-color: darkslateblue !important; + } + .cbi-section em { + color: darkslateblue; + } + header.bg-primary { + background-color: #1e1e1e !important; + } + .cbi-map-descr { + color: #ccc; + } + .cbi-section { + background: none; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); + } + .panel-title { + color: #ccc; + background-color: #333333; + border-bottom: 0px; + } + table > tbody > tr > td, + table > tfoot > tr > td, + table > thead > tr > td { + color: #ccc; + } + fieldset > table > tbody > tr:nth-of-type(2n) { + background-color: #252526; + } + table > tbody > tr > td, + table > tfoot > tr > td, + table > thead > tr > td { + border-top: 1px solid #252526; + } + #swaptotal > div > div, + #swapfree > div > div, + #memfree > div > div, + #membuff > div > div, + #conns > div > div, + #memtotal > div > div { + background-color: #32325d !important; + } + #swaptotal > div > div > div > small, + #swapfree > div > div > div > small, + #memfree > div > div > div > small, + #membuff > div > div > div > small, + #conns > div > div > div > small, + #memtotal > div > div > div > small { + color: #ccc !important; + } + .node-system-packages > .main .cbi-section-node:first-child .cbi-value-last { + line-height: 1.8em; + } + .node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] { + border: 1px solid #999999 !important; + background-color: transparent !important; + } + .node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] div { + background-color: #32325d !important; + } + table > tbody > tr > th, + table > tfoot > tr > th, + table > thead > tr > th { + background-color: #252526; + border-bottom: black 1px solid !important; + } + .cbi-rowstyle-2 { + background-color: #1e1e1e; + } + .cbi-rowstyle-1 { + background-color: #252526; + } + .cbi-section > h3:first-child, + .panel-title { + color: #ccc; + border-bottom: 0; + } + .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + background-color: #1e1e1f; + } + .cbi-button { + color: #ccc; + background-color: #252526; + } + .cbi-section-node { + background: none; + border-radius: 0 0 0.375rem 0.375rem; + padding: 0rem; + } + abbr { + color: #5e72e4; + } + div > table > tbody > tr:nth-of-type(2n), + div > .table > .tbody > .tr:nth-of-type(2n) { + background-color: #252526; + } + #content_syslog { + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); + } + #syslog { + color: #ccc; + background-color: #1e1e1e; + } + #iwsvg, + #iwsvg2, + #bwsvg { + overflow: hidden; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); + background-color: #1e1e1e !important; + } + .tabs { + background-color: #252526; + } + .tabs > li[class~="active"] > a { + color: #ccc; + } + .tabs > li[class~="active"], + .tabs > li:hover { + border-bottom: 0.18751rem solid darkslateblue; + color: #ccc; + background-color: #181819; + } + .cbi-tabmenu > li > a, + .tabs > li > a { + color: #ccc; + } + .cbi-tabmenu > li > a:hover, + .tabs > li > a:hover { + color: #ccc; + } + .cbi-tabmenu > li { + background: #2d2d2d; + } + .cbi-tabmenu li[class~="cbi-tab"] a { + color: #ccc; + } + .cbi-tabmenu > li:hover { + color: #ccc; + background: #2d2d2d; + } + .cbi-tabmenu > li[class~="cbi-tab"] { + background-color: #181819; + } + .cbi-tabcontainer > .cbi-value:nth-of-type(2n) { + background-color: #252526; + } + .cbi-value-title { + color: #ccc; + } + select, + input { + color: #ccc; + background-color: #3c3c3c !important; + border: 1px solid #252526; + box-shadow: 0 3px 2px rgba(0, 0, 0, 0.05); + } + select:not([multiple="multiple"]):focus, + input:focus { + border-color: darkslateblue; + outline: 0; + } + #cbi-dropbear h2, + #cbi-dropbear .cbi-map-descr, + #cbi-dropbear .cbi-map-descr abbr, + #cbi-rc h2, + #cbi-rc .cbi-map-descr, + #cbi-distfeedconf h2, + #cbi-distfeedconf .cbi-map-descr, + #cbi-customfeedconf h2, + #cbi-customfeedconf .cbi-map-descr, + #cbi-download h2, + #cbi-filelist h2 { + color: #ccc !important; + } + .cbi-value-field > ul > li .ifacebadge { + background-color: #3c3c3c; + } + .cbi-section-descr { + color: #ccc; + } + .cbi-input-textarea { + background-color: #1e1e1e; + color: #ccc; + } + .cbi-section-remove:nth-of-type(2n), + .cbi-section-node:nth-of-type(2n) { + background-color: #1e1e1e; + } + .node-system-packages > .main table tr td:nth-last-child(1) { + color: #ccc; + } + .cbi-section-node .cbi-value { + padding: 1rem 1rem 0.3rem 1rem; + } + .ifacebox { + background-color: none; + border: 1px solid #1e1e1e; + } + .ifacebox-head { + color: #666; + } + .ifacebox-body { + background-color: #333; + } + .zonebadge strong { + color: #333; + } + .zonebadge > .ifacebadge { + background-color: #3c3c3c; + } + div.cbi-value var, + td.cbi-value-field var { + color: #5e72e4; + } + #diag-rc-output > pre { + color: #ccc; + background-color: #1e1e1e; + } + .node-services-vssr .block { + background-color: #3c3c3c !important; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); + } + .node-services-vssr .block h4 { + color: #ccc !important; + } + .node-services-vssr .status-bar { + color: #ccc; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); + background-color: #1e1e1e; + } + .node-services-vssr .cbi-section-table-row { + color: #ccc; + background-color: #3c3c3c !important; + box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.35); + } + .node-services-vssr .cbi-section-table-row.fast { + background: darkslateblue !important; + color: #fff; + } + .node-services-vssr .ssr-button { + color: #ccc; + } + .node-services-vssr .incon:nth-child(2) { + border-right: #1e1e1e 1px solid; + } + #xhr_poll_status > .label.success { + color: #ccc !important; + background-color: darkolivegreen !important; + } + .notice { + background-color: darkslateblue !important; + } + .cbi-input-find, + .cbi-input-save, + .cbi-button-add, + .cbi-button-save, + .cbi-button-find, + .cbi-input-reload, + .cbi-button-reload { + background-color: darkseagreen !important; + border-color: darkseagreen !important; + } + .cbi-button-reset, + .cbi-input-remove { + color: #fff !important; + background-color: darkorange !important; + border-color: darkorange !important; + } + .cbi-page-actions .cbi-button-apply, + .cbi-section-actions .cbi-button-edit, + .cbi-button-edit.important, + .cbi-button-apply.important, + .cbi-button-reload.important, + .cbi-button-action.important { + border: 1px darkslateblue solid !important; + } + fieldset[id^="cbi-apply-"] { + background-color: #333333; + } + #detail-bubble > div { + border: 1px solid #ccc; + border-radius: 2px; + padding: 5px; + background: #252525; + } +} +@media (prefers-color-scheme: dark) and (max-width: 480px) { + .node-status-iptables > .main div > .cbi-map > form { + background-color: #1e1e1e; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); + } + @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { + .login-page .login-container .login-form { + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + background-color: rgba(0, 0, 0, 0.7); + } + } +} diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/fonts.css b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/fonts.css new file mode 100644 index 0000000000..cae622023d --- /dev/null +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/fonts.css @@ -0,0 +1,182 @@ +/** + * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template + * + * luci-theme-argon + * Copyright 2020 Jerryk + * + * Have a bug? Please create an issue here on GitHub! + * https://github.com/jerrykuku/luci-theme-argon/issues + * + * luci-theme-bootstrap: + * Copyright 2008 Steven Barth + * Copyright 2008 Jo-Philipp Wich + * Copyright 2012 David Menting + * + * MUI: + * https://github.com/muicss/mui + * + * luci-theme-material: + * https://github.com/LuttyYang/luci-theme-material/ + * + * Agron Theme + * https://demos.creative-tim.com/argon-dashboard/index.html + * + * Login background + * https://unsplash.com/ + * + * Licensed to the public under the Apache License 2.0 + */ + + +@font-face { + font-family: 'Google Sans'; + src: url('data:application/font-woff2;charset=utf-8;base64,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') format('woff2'), + url('data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAGw8ABIAAAAA2DgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAABsIAAAABwAAAAchAIKSUdERUYAAFhcAAAAiQAAATQq2xtHR1BPUwAAXgAAAA4eAAAueIspnAJHU1VCAABY6AAABRYAABKe0ti5NU9TLzIAAAIQAAAAVQAAAGBo/J16Y21hcAAABWQAAAGYAAACAvsSjndjdnQgAAAQjAAAAIIAAAC8FwsLm2ZwZ20AAAb8AAAICwAAD3VvxKKUZ2FzcAAAWFAAAAAMAAAADAAHABtnbHlmAAATlAAAP2QAAG7Ii71PBmhlYWQAAAGUAAAANgAAADYY+Sd1aGhlYQAAAcwAAAAhAAAAJA8wDDZobXR4AAACaAAAAvsAAAUAjaApAmxvY2EAABEQAAACggAAAoI4BhyQbWF4cAAAAfAAAAAgAAAAIAQ9AhduYW1lAABS+AAAATQAAAJnkYfHqXBvc3QAAFQsAAAEIQAABs0y50E9cHJlcAAADwgAAAGBAAACAM4gBt0AAQAAAAIAxddkoRtfDzz1AB8D6AAAAADVg7ZYAAAAANjaLOj+k/8DDNQDiAAAAAgAAgAAAAAAAHjaY2BkYGA+9u8cAwPPlX+T/wfzXGEAiiADRgcAtmQHfAAAAAABAAABQAC2AAoARAAEAAIAEAAvAJoAAAJBAOoAAwACeNpjYGHiYJzAwMrAwNTFFMHAwOANoRnjGEIYjYCi3KzMzKxMLEwsQDl2BiTg7u/vznCAgVdJlPnIv0cMDMwvGOUUGBjng+QY/zGdAVIKDEIA7CIMcgAAAHjabZPfS1NhGMe/73NWFqhDKye6Zup0Gdv8WW5NnahRVORqpmXpxaK6yAJD8CIrgkJZaJEXXUR1G5QkJPTrosD+gMK6KLwIJTQsRcrIi1zfc84mIg4+fN/z7Hmf9z3P9znSgEYkftNkFpWqHuVyDQ5xwKEFsF264MYIyhkPks3qMVziRQ3mGXtJ1fe4IXIDpaoHHkklNuYcppYTD0kjLnOt5+MPfGoeleJDNTWg/sKtdWGnPIBV2hGSb8x9Q3WRTQhpeo1XCGGBz+nIkosIqX+MR/j8jurj/7Vx3c9YGe+fxbx+BKUbqdow0qjpEmb9KhSqGu7nnakF6gOS1Tig+hHhWXnSyj15cFKdvL9TXYJdjnJdgSAmUIGJ2IRa5HoMQa2DuaWkif83I0Ccqpt9+owsdYH7ShkTJGkbkaSmkCIWbKAWKD9s+Mk7+JEjmShI9J7nOyUFhXIKDbynVc/hXUpUH6r43vnqC4rEiQKpZs/ZeyN2iz2sZ51tjHmxRdUhg+9yzzj7DM95DrsaxD7MwSYa9zrhl3GUaOuJn7VnUWz0fTX3YdXeIsnwwhX3Ig59sOpeYCE2RxXWy034sBrev47neAwvVqJ7Qc8kgEaj72ug3aXmmT6sBJNIInsxGZuiH4tyEN5lH1bDvhiq92Ml9EJa2FeqXsvSz/vO0L+b2K3uIKIGkKse0peo+XnIMdRo1znvX1GcgL54lrmMQ5xRvzoJFwlgKBZWzciWHmxVv+j7KOOj5rejz55e05jhNs7+NMKqk/cX5u9CBl5jh9BHbYwz9AL2dVbYLdOwawMmliFqL/lBnjDniInWST1AhslvBC1FrPmdPOPzI3MeeY4DM5wRN6klTZxVH1XHBRtn0lx3Iod5NubZmGdjXjbjNgMzz1hLlN9tFH3kHGkm9XFtjcfayQllRRnxqhIc55wWJVSuIFPtYX+jaCMtJEzySSReW69xnnSTjni8l1yNP58lueQ0sDRCPgGxVOpT8l7dXhpcIz6Y/BHu/5zu3X4AeNpjYGBgZoBgGQZGBhD4A+QxgvksDA+AtAmDApAlwsDLUMfwn9GQMZjpGNMtpjsKTAqcCtwKIgpSCnIKSgpqClYKLgolCmsUlRQnKk5WElIS/f8fqJsXqHsBUFcQii5hBQkFGbAuS0xd/7/+f/z/0P+J/wv//v/75u/rB8ceHHiw/8GOB1sfbHmw8cG6B3MeTH6Q8kD3/o77Xvc9752+dxLqcpIBIxsDXCsjE5BgQlcADBoWVjZ2Dk4ubh5ePn4BQSFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHV09fQNDI2MTUzNzC0sraxtbO3sHRydnF1c3dw9PL28fXz//gMCg4JDQsPCIyKjomNi4+IREhrb2zu7JM+YtXrRk2dLlK1evWrN2/boNGzdv3bJtx/Y9u/fuYyhKSc28XLGwIPtWWRZDxyyGYgaG9HKw63JqGFbsakzOA7Fza68kNbVOP3zk9JkLF8+e28lwkOH6zavXgDKV5y8xtPQ093b1T5jYN3Uaw5Q5c2cfOnq8kIHhWBVQGgCq95OkeNqNV19v3MYRX1L3/07B2QhcA1TRJbYkAlDKWwvZNRJCpztZUmufpLNCynZDHu9kO01iJ21lp4lb1a1rY/veut9iab+c8hQ/5MPkU6i/2eWdZMENSizJnT87Mzs7M7sbbvznxb//9ewfT//+tyd/PfzLnx9/8/Wfvnr08OCPf/j9l188uP/5Z5/+7pN7d+/sj0fZME0+/u3tWzf34uij3RuDna3+9Wu/+fXmxvrVtd57P2s36otW3mx0RGfcWFpkeaOJbnNp0VKVjqpqpLoecBVuRe7mdtRddVw3doSrQlXyuvSmI5lNCTFEYBTGQsTmjtjc2ot4VyaaCMzgDcjQl2e0oqfsziBSvQDQKXhNwzPw6hny+pQsuGJ9KUc5m/OAD53c0p1y558xZhILNQyEK6IxePMaa7mDpINea9qz+Bok8kmbDfFmH4mJVfT2IsWT/fgquJntKd12JuwX4pHpJ4pnnKuKJ4b9SLrKSoRTwNsRPGaljnSFy+N4cvx6gbiFC1k2W8mF9XwrD63nO3vRUZsx/nwQvbQtu5OsxPnPQYuOOGOhxtqEJSQBnAC2aWFlXto1ze8chYwdampJIzScYRYaV5viLJZNbINrG0W+VhQyG5SSoYRT7hJwNYM7NNzvFdw1UNpE+ZbZFmOaaB54CSsTNsphLayHLXvexloQ6iUw34K3brFXLWvecnLI3NboiXWY10PnSEvaLjgPwUm4wxkOlhPbKUHQZyZ+42QGN/aiVy0G+foLjhV6lha7uX0tECdhvRVh9bq5dS1IENoEznldjrBW4U5EvImDmEd0ry4tUnTxSIwdEefvvisfdCFG5GnFTwJpgoxCS7QvIzDnvPVM9BLiQKKgrQOV7fJEDZMAXd7uyR7FQUrc7EJuz3m5VfKsD9gH8FSlpRpivKKaYmVG+ZB9aCgVolTFirIuGD93RZdfvCczMUTMhf3ojrMfp5CtQpGqklhx8hJbQYZctDCJbs6uBZjNJqLuetC/ibSk6XMpV3kelvw0SwledZHpsiCJ1dX41IgulypMswQc3VgzI/eA7IqUj+BXTBe+2hHo7u3RmMFeJFsjMRLwaRjKFNN2eBY7Ms60jzEeprGlxfJJPSrKkU1Z7mX7+Ew4GyZiaBCUj2dxd84i9sF1Gic2SJ3+W/ovN0R3BA5605GaQ4y5fBSbIGF9XSn+J5N1ioljTbVw2f7VFLIKCACaVHfeBO/OwB69Cbz2vokVVfIp1iJXfeKoT+NgxpKqwyGXvC0uC/rowWv0JqqMzmGWUjmqUOwBsQEEj4aIXgjsJXIacRhW8mea1OfBGyJRRK0BVNseTUcd9nkS8yQBFvniOlyV8ef7KQUXFdq+mU8f1R6/VO5gLKOUcVQVNX8/HQsX9VlRmhrvk40lWMd2IsUcKYVUFkz0emCGeF9V/HX6oT0IRDrGIpI+no712B7M1d4haU5XuDFYbE/7Eo5DfRjSJ5OIRnUb2Vb2zsnzkl+SqFO3UWJLfrabYCPgbd7jeqlTRDI5YZ2gGIIMY90jRozXzVefBfntqneC0e1+YJhrWios245Uf8pS1Q2dLwJl/2QZRJq8tY39pKQXipxX9tbh3hBR5dBoruxBVCyPHr9OQ53pgplhwOhCSxuhO7W3aew1Siu6tXSre6rmYaFVCTYYcpWmcxIE6MNoM2ZOm2smgD5U8YKiJ5IUQMkb6zmZDZBTwcTRIBX0OpPj7/rYgRNBbxyT+ppWRCO0aGkEk7sqRHybKwpNpjWprespnEY3dKtqm4lmplR+0/GF946Ov2PGc27xUMzQLJ8VWVnk3dhRd+NgZEZVigrOUVFRubMtfb64iWwQbhV1DNNHVnG1E2Db0HN7Zry6YaoDRaXVE6yHGCo67AJTTFy16MOQWuKqsgHOeuKlzayaWKZfXSzntlVFtadi1J5vodDLLBmZrRleZsvOFToMVfRC1/XaHlBpGkRlpxTrkPHVw6CIYvM9CGb0h5ST1akna0STM2JZi3toYsMvvgdB7a2jZO3/U1YrVlPVNY2qkV/7cVVzZoE2zHJt2EbyhqkTwPqZlFTa8tvvUIa2/HPAn4dpl2DkpcJK+OYbmNIn1TWN0SDSrUrmmGXzmiC0wfvahHYTxDasee0YLrSj42N2EEy5jRNgd8MzcV6Qi9EmOh8GMXo9ehOw9OgtMqlZZGnrTNUvxJs1rb9JFDNhtNGLmUSCcquFU2/JKUOjz9tw12XtTx+mApaXc6vqFwxlYrC9y1I2p/Wfyv8RjpxMHydZLM8i1GOsB9Z6/u2U2lnsvEYXqzw/+xOySIdGRzU7dH6hvalOAfA+1vfx90XN0ceJU47RKErF09iL5PvqtCTcD6Zjp37b1yldjD2DHUSPgSVPfU87ibLwL/suvQ65TmujGL8fFEfbx7S6T7S4JwHn93DO6lg4bWGjvEdbFSfumq+LnMSB516a6jqkLy4XcZbapvMwzvyiza0r7Iq5/ojiZoE9oORFV5xLMW4Sk+MfFmJTqmxs8ngHkvP2OZAkP4+rhXqq3VvQhMZhF6/4BRfN4CmS0/CR9S1bbu7ACXQHayw7DbrXTa9UL4IfI3MajyqlPhaPXHKF2hVf4bDQEYrzWyiJQK4txFJiO5WC7k67kfkSyVpcoJMBnWIKXmcBt7ITsLVA4ZZOjl8t0AVppu3rqbYvoY06cqpOZW/VRlFm3TSxhqbNz3/JhNFf8gul8pbcw43QVT8lxYUdAN9ZiLUEWPKCLPkvhv5kWgB42lWHy1IaQRhGewCReNdUkIvwNQIy0MQxxnjXGe+jJCpCJzRjdjxGWFrlRsu3YDu4Mq/Wm18p0NLvqzp1jkN/rRauLQ3PIjStNpS1jMYi4c9Xwm+xCCnqqAtCTXRwVSZUyxqXJRcXJcJ5qYNfJRs/zToqZgdnpsapSXCLhJOixnGBcFTQOCy0cLBA2F/g2MtrOHmCnSPsZgk7WRfb84StjMZmhrCRcbHOW1jjhFXexg+4WIHGdxCW04RvKcLSHKEsbBRNG/mcRs5Mxq+zScJ8Yh2ZBIHHCUi3kY4RUrOEuSghuRHf82Lb0X9eomezPfsSd46cKDU/8xk5zafkjJpS43xMDvGQHFMhNckn5CgfkcM8LA2byQk1osKKqU88IoM8ICMqoIKOM2T8Nx5YXVSehumq4kcuPd+49fO1Hp1q0w/f+kw2vUbXMO7Vzd0dS+1X/Ida4zHIXlR1A4GDaqMbCt4rJpgQgg0uBv5K49373eeb9qNvg/oQ77O32DM2WIGEAAAAeNo9jE0OgjAQhT+7ctljuGZtSIixBIEISjHRw3ghj8JhOIHltYJ5mcy8vzETezNhzQe7+2IhzNuEQ5ij/uN4oRc8rRDvjiGxUXPTPSa/EnPkvMmo15znwSt1n/Jarsq6f8tJb6T1lGrHfZd65qLEwFG/Tso00uPPQqlaTrcAQr8lpQAAAAAAHgAeACYALgBUAG4AwgEcAZIB4gHyAhACLgJYAngCmAKqAsYC2AMUAywDZAO8A+YELgR0BJAE/AVEBXIFpgW+BeAF+AY+BrwG+AdQB4gHtAfgCAIIWAiACJQIugjsCQQJMAlWCZIJyAoSClQKtArQCvwLGgtMC3QLkgu0C84L4Av6DBIMIgw0DMoNEg1MDZIN4A4cDoQOtg7sDzIPWA9sD7QP5BAgEGgQsBDaETwRchGiEbwR5hIIEiQSRhKAEpISzBMUExwTQhOEE+AUOBR8FJIVAhVEFdQWOBZEFloWYhbMFuYXHBdEF0wXVBduF3YXnBe2GBAYGBhSGF4Ybhh+GI4Y1BjsGQQZHBk0GU4ZpBniGloachqKGqIavBrUGuwbBBs8G3gbkBuoG8Ab2BvwHAocKhyGHJ4cthzOHOgdAB06HYwdpB28HdQd7B4GHiAexB8kHzwfVB9sH4Yfnh+2H84gHCB0IIwgpCC8INQg7CEGITwhkiGqIcIh2iH0IgwiViJwIoQi5CNSI6QkBCSIJJAkmCSgJLIkxCTmJQYlECUcJSglNiVQJWAldiWKJaAlqCYQJkYmXCZwJoImiiaSJqwm8Cc6J2wnpCf6KAwoRiiwKQgplCoIKngq+CtcK7AsLCyALM4tMC10LaguAi5YLmQuui8UL3Avpi+wL7ovxC/OL9gv4i/sMAQwDjAYMEwwYjCSMNYw/DE6MXgxkDH0MjQyPDJaMmIyajJyMnoygjKKMpIymjKqMswy1DLcMwozEjMaMyIzKjMyMzozQjNKM1IzWjNiM2ozoDOoM7AzuDPiM+o0XjRmNJw0rjTANNw1SjXiNew1/jYINhI2HDdkAAB42q19CXgb1bXwnBlJI2vfd2tfLEuyZK22ZVuK9yV24sQribMvzkBCIiBNCCn71o1XaF8XtrYPWlp4P+URoNDSlle29lHa/0FLKWlLKe2jO5QubBn/994ZybKdkP7/98fyWDNzl3PPOfcs955zQ9HUOoqCv9HPUAzFUrqHgOVoGUcDlUzGYqnWKOh9jN6nh7/x58AXO/n/pp85tZ8+59QXKfQPqLp/ravvaaqw+A71EGpbSukp1Qml3lBBDcfSqVZjLmNmApZwLpvPpC1mkywwNqlYIwuFnE70Cy+++Sb/zoshpyMUcjhDuDmaysCfQSvCqTkhoyXoWTKZ1mdQaxlzoIB+M2NjN4yN0c/87Gc/E+q40WUHfQ/lpDxUfzlioO0ezgx2vVTh5jQyhckOlB3kSgXYFXaF3Oo0VNRyXYWKpWNpQ3t7Mjm/ZX5en8nE0mnhmmotoI7Ib4Ylv2yA/AYK6BfQ5bOXqI6ZjysvaRx1fwz9XqLEd8fdo56PuUeBNn/M/OzARweeQP/Qn2effRZMH/0oGpF78RZ4ndFRAaoZIc5abmhlUpYwE7EwaIgZPflJtQZlrDmQa4FIwQ3WXKQFctluKCBMolsWPUZ/zZTFmtOA2ZDPZcMRM7zOrRsY/IB5rWY4xZyzOT7ZPjAwrRltSEZmt/O3tmYShZ8U0pltO5Qz0/Kt69zpoYZ3IbhlIL4uK52aUa5LeF3Jht+HZkegJWv9bzYX5gfb4qGM9SSFKNq0+Dpjor9BaSkjwm6SKlKZcqMxqWeTRS4X4XK5JOvRch5PkrVzrL6SNCK8xmKG9mRMjy8xYUwGYRSZNILdpIEAA1YgwAf8MrPJkqFWvO+GpXd3rEsk1rW0jJMPPJrj+wIdHbFYsRgDru5VrPpwTxI/TQpX/kH6U8FTHNxdakl2dydbSvza+tfd1ceEj+KLr9Oz9EnKT8Upc1lJS+OcycGZpHhMaChoHCErG5EF/BjafCFSBdpiZQVgrcaCVVZgEGVMbsjQkr5yZmD74OH+3g5wOBCMnRv0w85iKGV/o6f3l8lnY9nUxvTRuVRvb88FA6VDQfC3u+Oj8f5sZF0iFPLyTxxqeiIHWutEIr0+geYdmhvUZWRuyO8j00KYExkyGdD70uIRSDIqSo3eS9XkPZl7BSuGCEF51759w919s7N93dk/X3vtnyfjEy9VKi9NxFFdE6orEeuyQl0roQJmQzRzWROpN4xa2CzWmiRtoLoROAJXIbiMlOp+o47VodpkvhaSULBizrUWrFrEvJEAO7aWPmg9IBuUnm89yIx1jLKj8IW98nBvhP7AB+hIb1i+t3nvXixjuqk8vA6vUUo0TxQKkMo4qZSW40FjtsqgORoKoGkSyGVQ+xl4/cGBB9HnD/jyIK6fWbyReoQ6Smko5f0aFgxUKYNAshYI6QRhpIVM3tCIZZFG07NxI+O1YkGk95h24f7BCMdgTsA1mp94PD6zrxu6+O/A3ACRi0TuoT6UlOJ+qdKAJYqIcVHabRYlnaxexgEiHQXNhI6K+ykG1yOUZAInx386jkRvFpVoRbw4SeadB/GiSuvhWCvHSitaNZlgSGhbVs4ZOpdtgYBf5L43jvf2XrJhwyV9fccn2idbWibb2ycTicl23dZ/27Xr37YK14nhD46Pf3BYuBLYEugSRrJURqkeYCQVqQp3h6BjI4WMPvC/j8S/k5+ic9NrPnJqslb+ZwhOJ4bSaeP0DZxeWnGqqlAW8gXMRhgwGRvppgVwtYBwmXi8kAm6i9F8j2KsITvbWdqeP/B96OXXTz3RWeiON+Z9pZDH29+aPye77+CzEwLuIouvw+9Qfy1UpGx7Sg86PfeuDnQ6TwvLtagrHhvnkQp9Iz6Zj80TPGEezqQFOGKQy6RF0YMAEvGHZK6Ixp+eM6wb041lwz2RSG9TMVcYGcpli+pxw96Jzm2FfFOmp2tfSRcc6/B2lH3FYKDDt66UTXXkI778TGo6lxsxS8wzxc5teUE3IfzQPoRPBeJEZ1mjAbmUk8sbEGobCI70VW725QCJSjNmaj2SjxfxX4Py5tnZScmvbirDi3xh/U2/gjH+foJzhINTqE0fFSpb7GrObjf4WE4mAYlPXTGYOYOEYCA9T+RwHQZqw8aszFrzNd55ZcuQdlS3vq13arInWDZNx2EH/6pTkhsr7u7sOrdXF93Y5e4a3tCzZsrXGIa5iR9AomOhXN7XJYwR8SqFaGKigmiMWlOQU7k4lcqE2NWkrg6yyrH5gtFa3/UKtn3u3GKi+f6+e+hALrurVD63u6mvCX/68UfXs6+jsLsb1Mk3aFvH7u7OfeWJSG+0qReTKtobEXHza8K/+nIDQ3MI0TJhyiBeBF/OZ4YxKPGfh6/xJ6x038TMqZvRGBhS7100hkYqSuWoYjnyjyjIopCMcseS4EjCu0k4moSZJCSTmsYc16iuaAKcpo7V5ucPHYrNz9dGmaufnkvsVa/16r8/x3WWMk2Z3NbO4tZcJpIpdXHlXF9/Ntffn+vauLGra3KyS5efb++YsUts62L52XR6Nh9bZ5PYZzra5/NwW3c6XSym0938/YPthcHBQvvg6WgjCXISiQmTp0obkUdKUFVsSzAzhurUFYnzHyJZSueW+gidhghZBBJ5ajQRqMS/CdMCWQQSCfNBsBUlWK5T2gf1VkNFqtQh4YxFp6FOdNKnEaPVX7iq+p0/vCRZaapt8QvUt0jbDkr3oMOoNghtE9Ff3zizXA3sENvtX1IHdV20L9MMRO5TbfAg/AZZqPL7aJboykIuZJainwJcyv8Uwq93f238Wsm148KYu6hH4V14jNi0zrKOlXAsxXBaYk8xcopKbpmPYRrgWYl/uuCbfA/5fWzgyIAg94qoz0fEPiVin6FcKIc6LUKIfwn1e/k1uMuvdX9NsGXegceQLeOimpC9728yVHQNHNLMMWKXZwWpvFIGaqARlpnr3w23NgW6C+midty8e33n5kwh5nPP6EMC1oFJ97QEM8FUsb3Z1zHXOp0rjEXc+WDzCps+t/i/mBL9H1QHNUAVyn5NmDMNcK4ypzG5XCYNw0py0JHjOpQJkLMJjsWmeWzLfDI2b7Ai6zxJ5q5kGWsG/OEImkz+JQsMmQF6NI2wiKtj2DSyx5YZk7Du/r17T5x33n17xgZDHTrbcEtuLpOdyUR67ZJej7vZN33j7OxN09M3zQ62OQcm48PD2ezISHbDwn379t23gK6bLooGQpHsfLFjS9bXmOLfbYzPFWdvnJpC9W6ccpW8bw13dQ2PdHaOCGPXossNSNezyLJqKwca9qjgKhWMqMCkArkKVLRUjSwbpBWkFMPKKxSNB4/cEswTJSRU5iuIdyEDgYgPuR4MMqEY8GwD3fwQ/72hefjmNpfEtQ3bDE88AWagx8Z4nsiz9ajfPOpXjzggQmXLPokLwi7uw2HYF4ZwmNJHOL28Im9rgAaacnJCv6VDGVGYYcVp9K2QXT6o6VCzcenreoD81rZcIt9X3NnOvwEQLLgbc4GvfivY7vF2hL9OP5OeLWTHzRLDbLFjPguf8uVczpz/Vf6RYLvb3R74m6jT6K8TfkV2hMvCsRqOZSquhqodIakztpcTGAEGbV/Zvv0rC+uvbu2Kbi+NXzE2dsX4FZu6W2+a0e24e9++u3d0thdbW4avnpm5evjczmI/ogvGz40IPwpktaIeFUaOMmAsKOTVHo1VFRWDAtGcMdCv/8mBO2Zn7zjwk59c+slPXnol/cymL+zb94VNEzdeeeWNp36Mx4HahT+hdpVUtOxAM93Dwjz7UZZmWUop55SodUZEtoDpQ3XzHv+sh9v4hyDKvwDD/A76mYk/rv/jRH27DViKYwnCNggtNcjrpHi1JX2g1s4UauRv6/nviTheRDgOU7lyABkEMrfFTTe6ufZGkDSaGml5YyMbtnDhhoqA/SqQWzA/zJ+ZBliYFJBqxSKDlQWg+JVdu76ye92HE50Brmv0qnXrrhod2h5weCX8P2BW2tyy8w7djnsWFu7Z0Zbpak4IZEmEXOtS61y2nuPJc8Xx0hzBowdJTKWUaqC5hgYlGrBSXjUpBN/SmNH70LeAHo96Cg5OTfH/ggbN/xfkTmVhgH+EEtuj7iQ2t+oB1AgjF+3aDK40RYxuUs6B7IBnUTktth+0Uk5BV7QNov1gQc4QETGoOzwf7jpsWx/cVxycKmwv6WbW+Q5v6IW/8/rRcwtUtU/6XNSWhmoq2xRyjbxCX8PAAAOvMoC+MHIp4YQ0mueHKsLCA4InAxlzA5gDDGtGoEmgZz9Cm2vvnw7hQV0LRyX8s/wBCUxd+d9Vvvi5sPZSbpDSmCOkchFejBnEUVPQzlfQCK+eEMozBiIXzGUFq9JLga7oSQW8+IHr4B+EzUKAQT9WhJ5jr0pePTYpkfxu4HcSySRq6AF6FGH2qetO3Uevu45vr431QtSumjKWG+RqGWpWXW0WtwqZCCYSkBYXYK9EMjXLX4+uqL0nPwRfPZWlpz7E56o2C6NEfLrc92GqhFipDVYbkZC7a9u2u/buJdexy0dHLx8Trrpd9+zZc88u4ToxevXU1NWjwpUSZYIXjUGFbBM0yxRWTqFQURaMU9WyWbYkGfSBJUGoX/9G556urj2dt0y92dTl93c13UY/k9/e1bU9z5+Ei8KdPl9nmH9H9AsWnyNjNCLpbC9r6Qin8HAGeUXBVGhxmKin0CqbzMqGC5GCdYVhRo9ObNlbHXNPV7rn1u6ZnuloizDwtZeNOWO77t4rjHz6E9mR2AHPFYnLI+f3COOfvKY2/k5RZ4TKZq2LU+zXglZLqZWYRapaAjEqllyZekxowYg4NrAcHX8p7ulKrEvR39v1nYNTfwytidRQkp7uUDD8SxIIIsxc4O8KY8y8hfnIjWSUBOElRnWUIzGWizVUzI2cmanIgxDcrYEmDXxaAxdoYJ8GejWATBaNnCKKEtnfmfmaa7zk8CRhCYOC3MKWgAeqrs/ucf2EfnN39/TwxsTabW27urs3F5TrlIMdhfGe3uSmPYPntesSM92+8obejvQal845O56Zybb0eP2hzu5kc86q8+2c6t8SF+UHRiTR98ayQkoDR9MVmcA8eHoHkAOCsPSr78Jvnp6ij01MnLpaqFdC4x4nayjmslIjMTZwErpiFDgBzyDsVeirJo4of94+0jO1eXp6fqp0ZEI3eOlG+A7fPrN//ww8xXdtvExYo9AgePYRvaF5kK2pCyJpjNZMAU3MgGbLfciNeHgL/84MmoxvDw7SLJaGgPiAYm5HdU1YVmhMrArVNwn1xVktNIGuePWCGCcB/ZYrVBLt52Y/o5V8dMtjs5/WSfS3zaJ2/9LaSmvQlS6hqS5razv1DoHPgODbXZUbDSvlBjBEHDFGIoxA8uqeE5ITu1/9y67vSB7fBRU4h/8tWPkv8h+DGP8j0h62t/rE8eLG5NXxVptCMgj+svMhyYmdf5qCUbicfx7i/KX8A6huGNXVkLpI6jTIOOw+1hTskv+IZGoYrkB9Ps9/EK7hbXO0f2Lu1M8nBDm4eBXYGRtZZUdqGutoVlxlx2t12MNf/91LLvkuYxt4762B1etBUF0PyiB4T/50/KdENQEVWryK+lO1XYqTMJyk2q4VyVVk/QZCqNnv5hn5wHvnCe2q4LPwBOFF1f0sTVYMRbIFEKkCT/V+fe4KyeVzSK08+/LLeF1/sQlOLh4ga14McksQ1rAxASf54I0D6P0Oeox6s7r+KK6JZayBHfPZUfqZSwW55kf68yStodxoBt9dPiYLwT9CMBSChlA0RMtC3Ldl8B8yWJCBRAZ/lcEXZTAngwEZZGQglYFMZorEQBoDd4xzKyt2RWVaB8M60A2pQaEGk5ozsZUn/RD1g8IPfvaxBtjQsKOBljXAPxqgt+E7DXSwAeT4I6NKWwSpcOiP6E8MWTAZ/Af9Fdx14R322ecPVb12bNrUu0UWM0JtQFAwVcmR+cps6uL5lnXm9V3Nw+aymysvHJ6QWGYLmZG4bSAyMFhu1cXHWic2mdSe9v6QL9WS3b+Ff3Q4lB2Nj8R1po6W5qyAKzznsY1upkJUY9lgDnHqRk7NVqSKioyqmJWiGsD6LhwJEOZhM++j9eTzVsnElERine/oP79cPr8/gFfG44mxZHIsocuFEZWeG4zkBi4ZGz82MJaa7eiYTQlXgV+CCB4pol0j5v9GwQZnK43KVSuOq+w/bISfPNzTc3hk4yHbmHE0lxhPJscT+XHjWscFG3SDx8bGLhkYK3uTra2z7e2zrekWb2mc4AD36VyGA7aR0yoqqGPNchzU9Z6JYH6vEmbZ8hEZd8dmG7IsJiS2zR15Mvg4BieuGzg2juDIRQafO5UdDeeqKJhrb59LibBo0fhtlJfKlH3Xep/y0lIvaLycRsPaDJxNWbmuERoakZvaiDFD3NR5wSqorfxU6cP63LTonhhbaMxRL164puvQ8OiBIs2fx6THmndlhryV9TfR3r5s56QaATc2fHyk9/BalaZjfdPmQNcw9HvL8bESoY0LXRbo55Flkix7rIoKGMwcbZBVrscqcUhDyzWcQiu/VE7LAcE1n0YA4f2tGNE5GQEsq5nwcCNgQRS4eMuW+Egi5jV4Lb7UlVdOwX1jhdRQRLWRbUg2t4zx60T62GgLwomXSlFryi0ymUUWljFeGbeRgQcZuIABC7OHoRmvtuKUVSxNnAURLsU1I72MaUcUciyN5xhZiw2LerkLAqfx32WBlStOT1xkGtety6+bkdg3dfTsL5f393Rssksmrju/ZTSRGG1pWZtIrG15bbLoixc2T7ZHWvsuHh871tfaNMxbjl0OsZbpYud0Al2LMwlBz6LL24jfLMjq0qgsrI4QkqpYFAKniRuNwjzD01+PxQGCRh8ooall3pSf3zE10NbUG0GW63MDkez+c/iHoaO/J7U2yr8qzGs8vf8X/WPku2ipdNmvUVTUsspDUviiFKR/VcI9SrheCQeVoFUmkaHBKFnRgCHyaflKFYv4fDYYtDsCAUcz8lM2C1/twS08jftafGXRLfblQF5+wKHn1A5txSKrSCVK+LoSPqOEy3BPHmVJuVUpkePOBLmIXP30it7oSE6wmvSEGNWOLzbLbQqPa2q0Z6n/9/6TnZDKImF64NQjY2NUDbd/J7rcivQnq2ZkGLNqhWjECL5aASEX2YoR5N2Upl4/7+ln99wxiz2b7r9Kvsc/L/nb7K3VtqhPVP01qsIolvy1Ur2/hsoxKcSfIcpXNuqdIZWZU8k8HCWryNhKSCRqptq7WSCrdTVx68iMhXlr20aDc644OzfZ0R7uDkx1tOEr8KORbD6RyJ+7GRN9sBwfifEvQ/tQOTEa419ZwoEGyTPEX0qzTCuCYl7OX6djrwmJeXN28/apvmJ0TRD3Fc5V+2kZjfK/rMlLPN7lvhFb0Sr/yX2hXxzp7T0yOkquyYnW1olkckNr64akbuiS0dFLhoTrWHK2WJxNClfSb3GxiU6TcRE5rQlxskYOT3FhdJolOV0dndi9H6kuqzlArZjYxYklNdWB9JZkCsJ12gr4tVVFlQsP/AzMy7UVxkMT0hs1eKREdxoR2ysrSIOa6uAJFU4jagL0CnjgSQlWF/01/TExdaROdUgHwrmq9lh7qrkGj6A6RLrvotXIZkZ0l1MypUh3/WnobjXX0Vw7nQzYvU2h7hAi+YbmgmKzrnkwyv9KXIv4OhpjEzVczrI+q6/g2+uT/NgHBd8HfA/5mCYf+NR3q+Ejasir4SE1/Ksa1E0yrklZwfvWrMj8xM7RZ0Q7J3w6z6i2g73kF91+wLrWOJpI9eU7urvGc7OZ3n2WEf9McykeHxldm9/cphvr9LekI0FvRKPTDrXHe4MdWX9fxO0KKI3G0XxyMEz01uJbMEx/jLIjKuksdiPHypQaTimrNNiVwrZ6OoN31hFc4Zxe3M5F6slkRZ5OwYwAeTVnaJqbmzp+XGcMeuxaj01u0od7ITb2L/8yxv+u2WTRb2Rlwho5wtdfgBfmnoYxy7EhgYRQ1YogflS46kZ1E4dKsCJu2T7V0xbrDU2ROag7bzus4Z8Z7msZiYKXp0fCWdI+iy7vovZZ5FtIEXlZxZIvRTwgdtNt9OfmfjgNPL8HPoskNKnD0KiOBvtQSo20AdXTKJb5UJlqdSUE2NmjcPnM5XB0+s7pq5BO5vn9cBN/AG7kafgUv0+QeWp0+SlqU0nWWpRSkFWUiqW1lkjGWsiwyMZnA499dduVl+66/8GdV125E5h3H330Xf7U44/jNuTI1n8PtSEnfpKsIteIYykIfhIEXnpu8+foz27mn5j1ws/5q+HYqWbsh6DK/4nq1ftIiJiK1T5SCBLIuf8I/xzk+J3DsDA2zH96jMBvRT6SA/kyAeTLBJBxpec0AdGXsYS7AEnEHLYQsvkimIm9IqxBo78W/OTh2ajPF50dtZjDKT/6lwqbLZfMjdwbjQ/Eo/eOzA1k4/cm21QSVSF1bzwr+ljrF6+jbkV9Loud0AfWj40xtvcOCmU8CC5/FS6KM+g5Q6DmYwkQ4W09DCHZRbZgiDJmAcIYeMzhVp/f72tF8IxWYcwjYFIFBExbEgNTB6bQZ4j6A7wJl1BOvDMSk4JaCh6pVO00ck6JGtp3qaFVDQ+o4Q41fBLNbgp7LpUK3h0RFmZTrcFwRNhdD4hTWTDJM3gSw6725lBCb22ke/0Ft70tHoyTm0De8wejQaf1WSKd3tqX08d2NVEPIRmkRJJNeb9O2FBLrthOQwxjru3SNTesUUzCx2r7Zx8FM//7N4nMJroRx2n5Mee6GY9WUmFUNc4VI5/o+oCncESPbqxBi1WPJCb8Yr53oHt7Pr+9e6D3HOuYZyhU0I3yV4zm86N3jcqnphoGD/T2nj+IvslHCt61Ov7T8lTQm9mhhgX1jn7Bx0f23zeoNBUom5gWLhxVKDmFgjG7OLNUBCYmhJgI62++HNYUESSZwpEV/g+Wl1b8g7ft8docxju83Xwh/1+tGXr7AK11ODPznet3GMdVxVRhjc0uUTTIPnTY55Y8HI4ozz9/2LIhJdcNSuzx3lh2U36qzYuUXou/PcpqdepBZfOEh2l0CzZlHzVPe+gW5AfEqUjZ6DKrWXucs9vNrCKI4DezZjE0hoRdCSvjJUBEwquFiFDWgpVFxGKtLNk4i7ArzIK+znC4M11sGx5qK6aLoRC6OHsCQ+3FX5ZCoVIojK/hGzqKa3o6iun2WKw93dHR29PRkW43W+PtMxG8yyt+auswCURrO9VVDphYGoDmrKBTSmWcEflU0CAFOSB7WG5TVbRyCYnGI8F4JBaPCEfkxeBIPKQS0C+T8UCmBOgvwjUJk/j73Xff/cFHtn/EL/Fdv/2hY1/60pcmvzwwNQD+19rbX+N/jr5+Ga9p4nlP/5XsvaKZL6vNfLMw+8fG6L/yV03yu1DZ1KIN/kKfpDJUD9IgqjZpyS1Vce4w55YSMSDG51XNmpoejQg7/uHlq4xCzJWwahvEXEL2IZOA2fgv5T2F8cus6/RjbW3jY7Nz04nobGq+lJvOK8aVa5KBgruzZ+FQyMP/uWNNrMniHJtjQ4mW2eJ0Yucm5Dl3tWRKTtfMmuiwLbepeX0m0evzBjsdMWsoZfHNT8dGLB9NmdUGbd6e7XLRyg6RhzrpeVhLf5fsvbeXQ/o7pPAZKSD98a4UrpHCMSn8XgovSqEoHZXSUUQcqVVJJTOZpLhWUqlUVmykp+t36b1eNFy39QYf+uvxWOl5nxn/tXirf/G+ZAB08Gdxbb9AXVpeM5CGbBoCaTCnQZIGeSHNtcch7pUrh0Jxbq4AYwXoKEC0ANMh6AtBLgThEBRChRCb90x7aM/XFl8um1FpZApr261zVtqK62KrGO92z+NfIcpT/IfuY8QDml8dl7hiUtTWhGrTXdhR/i+uu7v6SU+l0acVX1tb+vrSriajR2k3ueNxd8jmC3aArruudAsqhT6tpMaagdZ0v8noUqsSXm/C68BrEFGEn/sQfjxUguotJ56I/ChCRyOgiIAswoVlP5bRDFkmkyXCCVruSXCep9XgEJbGKLwMkUSDE7dwayNcta7lhvqFLVoc2xfWJvavj/Qae1KRrH7IONefn8uOS0yjrS2lCFjz7q6utjDoQr2x/nGjUpfucLoDkUJsYwf/Tk8gMeAvhkCnbW0KhKnFRaTX8vA/8JrOT/2Ip3QM9SPqSTF2Yh/8Bj5ISSnVCbw6LsEzK9WKrQZ9AL7AfxLu7YO2Af73qA0xBk9HUzpUV7KMd5JUG9Vaboy1ccoCeAtczBvzshIPYC5QWkEu0l8II8DkR1Q/K72ZakQIcljwglt139d8JoKv3doYbzTTnek2R3yT2mTQpN6H3BBtdluDMnqKnpo6rlOrDEWEjy66AhvoE2hm2MtaFk1M+jMUllvnM8AgZZ/BNruRxIQgLUqf6MHz2AOPQIDEBjrxLoPWybFmHHyrpYRYCcP7RNNe2hUIoE8Rf1zhsMvV1OSCR/B9p9/fiZ8Wo42NUfwrxOsgov2W6H8tjl/TqjhZA9nVkGjJQjVSNulMdZUpI0hmFsH7xweFiEz4D34cYgO33jpw69AAoqkZtoCGfl5HQwOP+cQC0+Ah94pFzB8302MQJ36/s6x7iQI7FaUexlEyICdLzlsIVxszbOAH84Mj9DOXojaQb4rtfsQn74n2ZRNtQ23oKN2DOmWDhmtQYi4jGwo1RxCxG/6BYLxrbxf6gHd8bgyaMttKpW2Z9zYzG9/7d+K/gIS6Ga5C45ffJ1WSNe96AbimGgojqdo7qM7QohGUCBIHtbXc95oKPqT6rIo+qoIFFai8Cs2QScXNmhBpwGTS/UYG18o+JXtBxuyRHZbRkzLolUFOBkEZGGXgkHEOHcFzrCq+hLkdE+RXvTcX8OMYTbYK2TUZZVpq1ZlsNpNZEw/kLAZpONcR+2O40aI12w1Gh94038rko01tFKaDFbZQ99HPIDrICd3RXIZfiHNN95C4zKAVreGzTKPv7G5v310qkWuwHImUgyF8RU127luzZl+ncB1pGkwkBpuEK4GhHcmMd4nM+DGRGT/GMgM9Ty2+Td9BP6fzg9xO6QLUC6Cn0HsAOK/2/pll7xvwe2oRHq2+ZwDxmB8U4vvtYv3vkrEmkd5/nPB4lNI+GPVzUdHMXbk8JsbidyMXICPESxGVIKx/vyzav12bM96Qy+eZDqUjJHZKs860Z/2SQXzqQ63TufCaZoc7H2wvpXsToXQ1ggrBSuKFmKsQDpC1rGegSKMnlKWsoTU6tpGeofUUQPs0FctCLHua8p20Syyv17LBs5fvos1ieauB9aLyRlS+tLL8dbXy3bRFLG/2kvIBVL68svzltfIdqEE0E8o6htb5cQWGtqMaw7gGrpJFsxrX+RiziTJQblQrV/YxQY5ioP/bDLQw8EMGbmDgZSQPGanKzamAxDekk0L4zCHsDCE6+YQAqbq4PjYsKGwyN4xkc5L+2PwQ/19D80AZLJ2xWJfZOOFw6A0Oh+GDWxslrq1PPEF/QRuzxTo7Y7Zm7XGHAb8yOE79rRpYRRN//loSH2KiEmUHjunRqk0cK+HUrJqltPKKvhbhI1q02HAkKm4pyieHYdXjWK6H4IdL8T78W4d3wSuSxq+JgT8kpmtPmn9G8BUTi0YSI5Wn1pcLh6Vglu6W0jYpd6cNrrLBnA2KtlEb/a4N7Daw6Ww2ZTDGBZnKBwxgMoDSwBWVSCwl8Y4XcXHaahtg2PXSQpXN/SuFiuCRnSb0iv7wDVNaQa54l4kb95ZPTp4mICvfDz4icuqE0DrF3i9sXxmiRZF5S2KeCK82CXMBfiHwHqg0Sic9A9rlvL2yfCf8QSyvVStDZy/fBb8Wy5t1SsSqoF8+F4Tyl9fKd8CvBN6mQePFFWiwLuNtYT5Qd5I+4uIYOsQ+JDJGhvpgV8FE/aaufCcMiuVZKdOxqvzinxFMsrryXVAWy6vlDB5DQ90Y0FzDuwZ/Ya4gPoCTspaVVqdeaqMrUqecqBkxX+cMNj7ejvB7Bfv+fNHe3z81xViERxZv9e/IKXGP04cu95IYKCf2uDVOjgaHlXM4NBILDnHQyJd73NiO0K+OvCOGxf61a5fF3131zDPQMwB9dUF4bw68UeMd+kIit1pFuRWt0tar9rIzEJAuk1sk5ojgMS3K3c2inPP6mUYlknMsQPTM5TvpfWL5gI8JnL18F71DLB8NMl5UPoTKJ1eWv65WvpveKZaPpEn5HCqfWln+8lr5DnpbVe76s7gCQ8dYkXMEuQvIy+2Hl+FFxAuaE8oGKdMgpKGRYPACXjCwshG25/bbk5/7nPC58Oabk7fckiRXEjN/klHRbyBO8lExRF2zha40GRo5s4HBcZQOWQwZi4IgFPciKYvgPEewVBFtCNwRZbGCsCZOCUlHYMnQj41u+/LeTWtDHaHe0W137d00Fu4I8ZJcEtLFnrHL1sKey0ezLfz3i2voTTefs/fuXZFiqJi9edOee3Y1dYU7+Y9f1AR/cI1eM8m/NHr11MCFTbzZJfAGibUhtGgTaS0TecNkYVzaGbCql83JleU7iU7D5a1mJnj28l20SizfaGO8qLxdvUyuCOUvr5XvoBVVuWJpwhVo8EhWyxW6j/TRKcqJv1fnvRIZjzN4IbEGU11sm4ayI0oZVXZOpdJQtA1Z8uiPOA311fUjYa+iNguxJ7QU1jV1y+owt2NCnNuX31mKcgNq3eJbtBHpK7xiZQV7XMKp1KjbuNvE2RUVN1TiylqMqbA6L4nkqjHc9Xk6ZJ+strFeDUcGg93l7JyI9kcizs7+wUyxdzq9radza24u19exsEYuXS8Z7wh1B8fX5Fq7h7tPvUdLune0pWcKXEJiPmdN9842hEchXuVlhMc+gsccfEecZ/EWxmWboZMmgI1LtFpZPg8/FMsnE0z47OULxObE5XMpxofKt6LysyvL/6pWvh2+J5bPdJHyZVT+nJXlT9bKZ+Gp6rxvKeMKDF1ANXbW8w6pwzhrddrgmVqd7FKd7nobDdVhLkCskkI82k9dUp6KhbhY6usyQA7MizK4SwaDMsCxATQO42FLe0vQVwK6BG+UIFvqK9ElSRv42jhFDhw5btAHPofPYUr1cyllRaEGuRDaQyIqYoLZhAyT2LyweaX7oxivQwypM4TqWE8TeYFMGRkyCkn4hQxx8KoYnrWd0W7DkHXvmv6ddu+2rlpwRmxnZthXWT98sHHoGrqAQzS6Nqq/PxK3DDatCPCJ+IOZ7lwqmeupRW50D/UXL8PBG7G1pXfiI3GtuRrzg2NsjCTGpkB5ygZkkyHzTTTU2IpSW9OFsf83kwx5IvD7gxOnt8m6t+VOF6BTGl9tlE0oRir9q0J2sOwUYmQwPw+J8+WkyJ++AONCeinILuP/leXz8FuxfNDPhM5evgCviOWbQ0Tvhdll80Uof7JWPgsvV3k5kBP0Xpxdwf/IhqduIX38pziG9GqbbOdSH9gC+3ld+TyUlmyy4qryi/+D3vJ15QvQtmST+USbbKFmky2+jd7+FslJwSbrLbcorUHrpPUT1setkhNWuMYKB60wY4UBKyD6mqxgdSoqNllFr5SCVAz3ITE24hx5f/vNLtptNfttcpI+JHy1eKt/LyDhJUhvtCD8uumfkvgfZ1nrTXFsE8eyXhNUvMqVuX0CRyLNjvU7DpbHuv30awSvVHp6zy8lB41SfSpwmWOuvejaNbjb0dfXVzo0nBiJxYbjidFYbCSuG7iof/CCNX4L09ztbOuOeNRDjelEt7v81YWJ4wMT8fXp9LoEvq6PE91O9piw/JwQ5WfVB2iMmP2KGWiWLZOfQjwFptUGkRd+t2T3uUQ7buOZy+fhH0t2X/Ds5Qvw+mq7b3Zl+V/VyrfDG1W7r5WUz7Kngf9krXwW/nQ6u29nvSwvUCb4LbIxyJoeZXhIq+K0WqfUKe4grYhAQu5qfUrY38Rljhfxyt43qxl5H8bZXngpbG7gJ3XJXwyC72UEn4fYiM2Ur2wyG2TNHDISLbKKQlExsBVZLcYPc+6ZLESJxWoULEQL2Y9jLBlYbO09MtqdcxRcCfytnHXmXfydLvtTwXByQ+svJ1qzT/qa4J4DpdFLhuxRTzy8fw365oh5E4tDDijpk7PF/0S/0wX+MR1F1hFfh78QWs2KvPBjkXcsNtop2m11cmFl+TzxB3F5u5UOnb18oSo7weOgsV3oVC/JhVr5k7XyWfhp1S60NdPELvQxABfUyzayr0/62CzC9IOqz6yAELILVdIlmPCe0GITnSHxcGEcR6MNc6yb0yorYlTc8rge9p8I7OmcWhFIQyJ7cAyNENlDP/PjvqXQnr5fgFkIoqmG9tTGcLI2hiw8WR23shG8MjRuZJ7UjRvpVSyjbwFeiBeTLYsXG5zCcRR0Ne/idckkkrUOxI2lcjPSsQYtFzfAVgPIDGAwsI5mztFQsRg5i7yCI1XoCuuvJUPVkn1JNGNdPlSufnHnjAkpcx9Pwu38g9DM/xhG+O3Jj8+JySmXrV172ZhOSNEYXnMxWfw5Wh6uZqhcM0kyNIT59DrzFLIfglQWWf6xssNt49zBLGfq5EymIBvn1O2cGhEvqBQdL2JNZJZL6NNbSqvBDgmWkxAyNlTxec7tW2khDRz0eitD9YFkdG81olWIJestFnt762yjns7OnmXxZW8JUa5AddAbYYLE3x8rzwyxR9ifsIyVBfZ3AA8DHAMYAXgJ4LsAmwEGALkIRaDRyxcAvg7wWfgK0NcDXAowhtwr/BoaARSIU6CBoRal8G2kLnEARSYj7mnOL4WB483NSobsLRQyZPuHDXTsGd2zIS/PbaBnL7xQWiph/tlBt0MrwxJdfUF5g9UKMisorZyyQW/X0w1SPXdCCmUpSKTQ+aoUHpXCJ6RwrhQm8XIdfvoLKVwoPSF9XMqsk4JTCr+WAqrRJQWHFLQigCJMFeEf3vIQNrLml4vm+n2d2zrxgmZXzOhymowul5Fu74zFi+hZZ8FlMjldRmMjsT999CTsp39ImanHyh//jP5hPa0vW51DCj1YGiRRCV1qk8xK6C8pgVValRHlXqVEouSOSGBB8rSEZiXQIJHoZdqwli4VtDPaL2n/oZWw2oj2Wi1j1nIFZPo/aQZzQg8v6d/V01/Ww6x+QU8X9fCsHr6Me7tFj4ikh0v1sF+PRPA6PY0KO/XQoAe9Hpsywr+tVRQkD2XQXDtE9jS3kHl3CN0gJ6GCcRHB1rAQ90LixTIIK38O2BuVPmbAm7Z7Wt0N6FtvlJ7UagyhcMbu1ocKxbOfabT6vhuMtON054Gc5IPV80BQGWbgNGUY+XtvVcskkYzC+7saSnVCxuorGuGkJELWEgjWkiwwGVJrSk2tBlfIAXzIqXObNzlGGY8VK9X6NuT3sRohomF5RnsyZ27EKhi1QttGJW4rVs64FSJfk4s3U/dRR3Us9SxFnbqVPEsAD7NE5n6f7L18n/rSiufPkufPVp8v3gyzqI0I9ewif+pW0taXTgmxu+PUc5CEB2p7Zgi+fB3bfry3t6Wlp6flud6WZA/62kv2fhbfoa9G7fkpPY33aPTUa2QPB3GOcO4HlQcfvEZJUZt4kpAxkxWqp9Of/3watC+23H13SzVXPo90t1CWEcqSFS22+LnPpZ9+ehcq+OKLFCxuXHwbzqGfQ6TSPAi0rkJSbzA1ImCFf4f/zvEtLvqh4KkRBJ8TtkA72R9Tkj4akd21lf4GlaDGyulQQf6CnGblXBPra9P8RENrNZxbiyw15KzEtEUtzWpZLW1yciZphY5xtLq67CGEJZBQFzHeRcj4I+FGuSwOfsFHplQDENiMOYCPGUJ/yAI8vXVw8+gV8+ZtG2h6wzbzlitGIuOeJlfGPXbc9eqbDPPmq64PjvV02KPFAyMDbq3WPTByoGgx9WnVG8cHzDabeWB8o1fQi3L4HbxEcoXsyDPVmOwyNa2RyUkGGw6aiaXFA6oywhot3udFgjKDD+TK4WOxiDEw1n9/T/wTnWW63NlM033uPppupu9oanrklTvueOXi+Be/GL+YnOHyYbiFaaVk+PwEkZaBgjWgD3zzU498/dMD9AceeeSUqXrey/morFkoK0TvFAgcbORTA5/+epT+wynTI+S8oD/A68iPWzU/8f5zeoDwrJhnpaNx1tnKOS6u7/8cvfdTSWR3sNRR6s+UCUcCgVwjbZLMgF5KUw+DjaqaT6iNONLHo0yQCuDd8YCJczg5hyPAqjiWhA6KvnzNUiBxtkveer4+bXr+24cOffv8fzu8buqiiWvHx6+dGNoZbFXxf4WjspbMga/qzv/G+ehzaN369ddPTFy/viXYuvmgu2nwI5kLEBwbF19grmDISmzZcbUDMg6wOzi7HZnv3A0+8LFq7gakSpF2iSXnaxkrkuUBwEuABQhYeJHtim8dPPitQxs+0vaBNVt6D/X0HOo954jmZbiO3fXA4Sh6c+hbB9uyR7r7LujtvbBv88jnI8nDX1tYygeYpFWUjoqW7XjvRabk5J+QPS+jUzIwyeCHstdlmKZY0mdiiKbJFTHSMiFE2jCdNWv1jWsmkB03kUgzM5Lpfv7XAt860TykEWFNlIvSPWTScKyNY03VaNLa8DwgtdSycYiBY33hSF9vpW/TQauKvz06sz59jvvA+jlF3u/paQbdwNHhsSO9XLf7xvXDnYkhqNg9wQEcn2NZZGjEQMQf9pR1LotXxmlSnEbjxbkv3hrNhVjj/8tsl0ePOHbr+lp7RiXm4UTPhYODF61JDJslBz56ILkmFFoTaeptQp9TW7qbw23rR8MO/8DRoeGjg357jA9/6HqYig4nWoabm0cSieEown8zwtBtjHxlzGvzhRdijSTgz4Lw14TGc9p9/rOkErxw8eDgxUND5NrUF43iY2DwVdd/dGT0aF/f0dGRo/0L0eGWluGocBX6dKE5cy+yQSLIEy2WgwZkZhuVsoonyXnYitKj9NgiBU6qU1QiNpbT2tCEI5lEyaUNVbydUMuKW0ppIvHjJGz4/fLk6MvnbZKJm8LJK6+c2rJly9rXJBLrlo6+g+XywT5/nadCMuauTJBcKLhvLDUy+9O+pey5ZU4Lyc+i76Sfp2JUoewJgSHK+XF6ls3NGWwGmzwWdggZWlDNz8okM+Jg0mkh9f80eVqny9vSr8zdei02moj6TR6LD4/otRWJXMJXuTwpjkPM60I0kPwewVukRpEGS1k0EQOHDD5ZJdPLZdhKnOUimXg8E2Eai6NcUVlpDHAebSMyqCs6qQk7VwhqvOwUq53RUh3HaahSpczKwZ2NUsyjOBHjE5hSk69NLRvzltHf1vmZqxIda2QjpKtDxwoqrsqBRHSU/DvCSyfVX47mwdDBZTAd3RHOzVasSc7gtlrdBkbe2Zbwr6BoErkVq7BhPMvAV2QhvR+Zt4y+tjwB7SYRMatG+MLKvLR6fIhzEDmT56BxJqh25AcHMu3tMfBHOAPtJ0zrt/lt8kQ0eBquXca2wgkcZ+dcn77GCFSdKXgGPk5B19RraGD0hwIBkm92RpbmaYHE/Dp6Omi3B3FqmsjfbjK+NqqPGig3dff1GTQZBRcwZmSVaJLLRDNRe5uUg7aY3cM5tXawQ0Wlw8cEisOMrRqmpJYd975MvWLcWMzXxxDdaZXbFR7naysZun7wI73D4sBfEbLs4O3T8XIdHnASHtNWw4DAx19B488gCetLgKGVa3ZgRraGOYPVYJVnkkHP6fi3OuizcG99Gt/ZmLaa5HdGduU7arl/KxiVjIMZQuOIYrkaAEOE85JhuIRhREP21aP4Z+QqHsNZIT8zyKdSyyAleU7MUwjOHnwCbUHLepVcNqXzhuOcV1bxhr1hS6mnk+tpUDdZXJxNawHL0oxKxjK1QCFyAK0gRfGJD/88p61OnGJ25Awm0/sw2mtTl1yiMwYbkWeIk6qM6SDEzsJnq3KuMH0OIV3eROXKHgiEOTogq2isnIatBDQBDdvUaGA9nBabnoISr5FH0OHGFSr7jPLwYlFVW5AA3D450BatCsApQTefUebV5B3tJnmyIWQh29TuAKdxy3CenNvkNoW8Fm1tLyWZEfkHw1cvraSrqVCNIn1aTJXlP1OPayzG6nJ2765HqiC5qrJKhC1F5cseR8zCOWOyii/CxXwxnzSl59Qpq80QWAKxVC+gVoJJL5dTudPKpBrEYnLvciaBrtPl+gpSqH4QS7m/mA8OID7wYOyCo5FT0g5ZxeFgPSYta1nJAEkyOeuofwZ5IhD9jfOe/v7uO+aWkfs0MqMKB60i61uRsgV0Ro7WySo6HWtuQD5ZPRQEiOUwrO55WZdLc16Y7/SHif7MlBv9CqeM8yidsorTqW9ORLiE3soZtXrQQ0WOo/KRWIrVhi3M7nDujBN75USmwzlD04pZvDofciVtyFSNGatTFZ83gS6/JGcINCFp6sVHCNiIcRPg0FQwuA1ueZNllTitTVeCLTjDaQKw0m+DN7duJfCaPGZ/8oorpvi1yzy5Kqw1y7TOtRP28SQWHLNL/YqsA/0WDolnZrxFP07ySZupZNmJk0kdLHIevCFOqfTiBFMkb+0NzdhExWATrIuwS86YY7oKenrryqzTU4/Vg3+6HFRatsw5FXjkc4RHkGx0y5R+zolBVSoJj3gVlTo2EZAdW8Yly3Jiz+AKrMqTrZPvWHWtTppd5RAsl+cI5isRflNUa9mRauYMMmUIzRsEdkqZUjYkHI1WrlHTQBGtJfIGATe2Et6VOPZXNdoqkH8zefy43hh027VumydvMBl/sxrqekQjVZUJIIZfAhyqOQAkz1ivpAxSzqCsqBQ4P91e3cQST4tbmfwrbmQVp3oLQgqwdabgLhjxxhXP/2BkoGU0Ch6eHolk7KbOhxFvuhffggk4rEPSZHGR/wJZW8JR0V+FA+iZvP4ZaEm5hqVnqK6HPFPUnjlQuTZSV7mi3H70TIWefb72zAsfRM/UQjmS6/AG6uMAPq/5BMnFFfJpCmSNjgl//qtv3auDQLFAjsET2/CR/rV1fb2O2sXPdGK7OMdkGjYg3sU7xLqHxBSTM8b/121EXNcfDPanUgPB4EAqFo/HmuPxZpjOz7a2zuaFa3FDOr0B/xL4hbwDsr4nrtWKZ00fzIZ2tK2hj8RS6/gbKbEs6BBMNgSRzYxMDE5jq56ttOI8U/F8b3PAfq3Z6rXZArJOxUA8PRx0bP/8P+Bfr7X4TSaXx22PZ4opT96xvSi0Pw1e1H4Ir+WFZJxaw6nVIaeZc4bq1vIMdbE4dUFqtX5ZooT3j6g65VG7IxJyRoN2j8cSN7SruxK53paOsTxMp1utXo/Pbmtsc1nMjoQ1FC+2tLi92VwZr2kJa83kzGhrWVE7M7qh7vRzRN+CmG7TBQH2qXu+2tXaukayA+6Kv/WHtpErrr+eEnE2Azjuz43H5JZxVhWHHFikF3XuM4xJyCMxB1hxPIi+54+qu2QRJ84XarK32X/wGZXCb8gOBbsCMJNosToamxob0Rx6tG1aoexvC3b4BH2D8ekjZ9x5cKSx0cPZlZzdbmSN4kCqrER2PvKnZaej3UGr5bzMTIPe3+YLdQZcobDLFQ41wrS/w99YcP9r4HxZoN2LbopNLmdTk9PVJI57Hfl/JFbMCycI8+LWe966Fw7UJgZDYPUT3goi2ddeDhWC8EIQgkFoDnK5Zog0v9BMNzergimwpThbsxtwLgLW7STBDB/kSc5XEMZTvxsjbunUD8pSd/Dzse6wy2GwDbe2DtkMDtf6nMXrsdo8Xqs92mxzRJucMO3K+B0tOmXUnOrsTJmiKl2LI9P9istkanSZzc4v+WxWn9dm94o4H0c4f57gHFGc8XD348wJpVFp55QI3CQ5Fh1PmJVHC2qhHsSpWaUOY7wrEOzCFGgNhVyN4XAjHKriW8T/4xjlGPWCfMmR/0PhGzqaMkowHa5DQDUK558/wCooTqogmwlkFZ/M84zZd8NtR+Pfyd/CVybgVXyy/J0TQlvnorpO0pa5G99Po7bt5N6SxPe96H2BvgfdWy3V92Fyb4vi+3PQfYKUtydIe+g+QN47SHtb0H2cvHeS9f9N6L6F3LtaMOzpxduoX1IX16+fFjJs4Piu3SMXnySxUbdRPyPnTWvxTpewE7csMR6VvlzMEPPvXBisO1X67yeFMc4tvkO9SB1Ffer9+D6K2vwJdbGOBuc/MD3x+5+I52WrT+itYmZS5synZX8wVA3AEVPTTntadq0vWoL6cr2L722ow80EP7J3Trc/Mo/eJ8n7Xe34foaap9N0C7rfY8T3GxdvoUOMDt2zOXwfQPjcTfD5ogzf70D1c+R+dyfhFXS/kbS3NyzQO083wmvoXkPotZ/6A+2BNLr/GaH3B6h+2gwvovvP5PCcPY8yIb/pfeKYqPeJY4Lmfz6QicD+KO2Fx1DfXnJ/LdVGy+A36N63Ft9fSrUBT+49Q5hu5xF/s5o3qV7Km9RKtCJ8JG8SVuRNgv90iZMCvfZS+2gL0v80dSCF/28WH8Ivt+z/ZkmW7Wf6v1mSVXH//+v/ZbmaHAkQ6g6hz1Z4NMv3DcVibk887gGd8IqcHOBpbvaQh/fgoqVgsIQr8AeF/5flTzjzGf/yDfWvi9XHZNy7F210hD6Jxr0Pswx/gj60+LgYL+krm/RHpRCT4qT130sltmVp64cyy5mgPhaSf35lwvqqKEgK+B/R2xf30C/X7ytCxhrgf4QPPXwZH3oIixpU5vblZfDM/yZOUCVFUDv30nsWn0RlGijNiQYGEPXwchturRZuwt9bizc596KLpOUyHusP6bWLtzNOMtYbygvXWp+y0oetsNcKYSuYrUAL0SfX6Z/Wv6VnjuphQQ9RPTj0oNYju0HPKaXQ/lcpPCuFOzGajklpkxQel8KHcRwKFKVwN0Lbu1LmWilsxQVAgU8jx2fSLwtD2VJNmp+vpqKmWukzxKL8VYxFIWEnOBZlbVcsRp61CbEoJhfByU30wuIv6F9RJup35btYmczUJoEnJfCwBO6UwJwERiXwlgT+RwLflYBC4pA0Sxi5RKKQaKA4pYE+DfxaA1/UPKihr9XAYQ2YNSENjV7KTRpOaYKiSf8NHSR15+tu0DG8Dn6rg5M6+JbuBzr6Zh3oyirdUKcOtDqPjpbr9JQCijsVMK2AtAK8CrhfAXcqIKWAFxXwhAKuUsBWBcQVoFiKzxHQUhJOxxbOn00uoelQLWalGmCkJ2Kbrgat5OtiVm4XY1Z6omLISk8zvYBDVgodOGKlg8x//gRjXnycuVzHUhx/hPoaweGPGOniHuaqGu8l6/iTuepSXG9Rg8rczlyF6h3mL8D1UFv3MsrFJ8mzJ/iLxGc3MarFXzDXoWdP8RXSvoKKLzKq58n+Nt6tG6QWqOPU1dQnqTupBxA/ToQDQXZhnAuYuEBggT3+Ae748QW28EmuUFhgB+/kBgcX2OkHuOnpBdbp4JzOBTb5US6ZXGBLt3Kl0gK75d+5LVsW2IOXcwcPLuBN84VlUuqfvYjS7J/aZUeexcrTo70r7iVn27cNvt++smTFpq73LPdn2/eXX3ThhW+/WbfVCu/U37x8xj1j+v732eF+u69uw5bm6m/21u01v0/QAWN7761lO7313/94hj3qP55+Y/2u+k3i5de6HW3q/wDKYGr9eNqVkMFKw0AQhv9t04qIHhQEe9qDeGtMW3rqqebQS04p9CgGuqSBJVs2baE3H8GnEE+efASPPpR/krUS6cUsZL/Zmf+fYQBc4B0C9XePJ8cCZ3hz3MIJPh23cSPg2MOVeHDcwbmwjru4FK+sFN4po8dKVbLANV4ct9j3w3EbQ3w59nAneo476ImF4y5uxTNCGKyxh0WGFCtsIKkNMMCYNGPW8F1DMYp4QvikKV807/igKqpI8Vb02vG/ZCVCs97bLF1t5DAYjOXMmFQrGUWhL6day7hMFTJWhbI7taSg2XGOBDk94YTzJGdQ9kmxZU3CXohVutWJbWonjejHp/9XW/tO6qt07x91+51EHneoJpMH7aLaQsHtGKrKjfrcaYARU8oWmcnl0A+CEf4zZWO8b66qbSp42m1TV2wjVRQ9J8WOkzhle++9eB0n2SRbUzdbstma7bvesT22JxnPeMfjZLOUBdGrQEj8gWg/gOhViPIBiN5ER4IPvujwAXwi3nvjtbHESPeee95t58nPqID6/vkeh/E/H7ulQwUqUYVq+OBHDQKoRR3qEUQDGtGEZkzBVEzDdMzATMzCbMzBXMzDfCzAQizCYizBUizDcqzASqzCaqzBWqzDeoSwAWG0IIJWtKEdG9GBTnRhEzZjC7ZiG7ajGz3oRR/6MYAdGMRO7MJu7MEQ9mIY+7AfB3AQh4T+ERzBURzDcZzASZzCaZxBFGehsQIP4lpch1dwN37A9bgdt+AePIyHWImb8Q2uwV2sYjVuow834nV8Rz/uxSP4C3/ibzyAx/AO3sLjiCGOO5DAe9DxNt7FR3gfH+BD/IgkPsXH+ARPIIU/cCe+wGf4HGn8jF9xE0ZhYAwZmLBwH2ycQxYOcsjDxTgm8BPO4wImcRmuwOV4EffjIq7EVbgav+A3vIQv8SSewlf4Fl+zhgHW4mk8g+fxAt7As3gOb+IGPIpX8RpeZh3rcSuDbMDvbGQTmzmFUzmN0zmDMzmLszmHczmP87mAC7mIi7mES7mMy7mCK7mKq7mGa7mO6xniBobZwghb2cZ2bmQHO9nFTdzMLdzKbdzObvawl33s5wB3cJA7uYu7uYdD3Mth7uN+HuBBHuJhjvAIj/IYj/MET/IUT/MMozxLjTHGmaDOJFNM0+Aox2gyQ4s2s/68ZYTDPeEC9nvYGylgawHbC9glMRIORwp4ifd62NFWNZB3bL/mOPZEPhtQmLAnLJWOtLRXDY8MDVUNJWzXNxgy7ZTtHwzl8lndqXZCmun6dHXoS3lgemArqExGY8KS1cKiMeXTyhvKjyo/prypvCuq08IMYaPCxoSZlfLcEVOERZMicitdgW7UVTds7e1ruqA7diihW3bGsDTXdhptSy/j7kRZvtlNO3pZRVPSzjvlB8Z4+Yyccb5sRk4f162yE91Ipd2yIZZRLqRBKbXyGd2RNCh1lphUWWSNnsYib1AK/0OlvlKvVFfq9bSVuKes1Kx0FalfqXKTPilHgNThJms8AW7SrzZLlCtFXu4SeW+JCLzpokCNdZOBuJ3JaPJ1BHN6xojbpm1JFhCvxrATssWrUIFMusn6UqWbDAppMd3JGSk1P5fV4kpIXLfknrp43nF0Kz4pdyVs09SUPPmOZTbn6o5pWCkpdVIp9GfNfE5OEj+DCuoyedM1sqY3wRg3Erq6yLm8ZoqgNuXompgiW009Jzvq5YhL7UHxuo24Zlq2lFMrrlVQVpvT466h7uA9znBnIOVo47q4byygxfOuigq5SAF7Aq5hJlSmrtAVimvZYLFTsWK3ZIW6iMoUu1Vm0LZTpvev/BeWnuwcAAAAAAEAAgAHAAr//wAPeNpjYGRgYOABYhMgZmJgY2BkeADEDxkeAXmPgZCR4QnDbyD7D6MdAyOjPaM9kP2NQYRBB6jDhsGLIYIhjaGEoYlhAsM8hmUM6xi2MexjOMZwjuEawz2GZwzvgPpZgPqc4TTIDi6ICFM9TXjoNhJH50PpIihdCqUjobQL0BZGhhfAsGAAAPKGIUgAAAB42sVYW0ycRRT+zl5/FliW7XahK12WFWvFSpE2pjEN1kpJ2VIgCLUhhkih3NxuG7o21hjS8GBMY3w0aowPpumjDz4YTUwffDDqgw8+iDWxsUZbL6j1Xi8tfjP/D/x7I9y2ZpM585+Z+c4358ycmVkIAB9elhhcrW0dvYgMnZ5MYufo5NHH0ZkcTKcwBhf7YG4OBoXAASc1Hnj5vZoWH+ShB3tjiBVoV1qBGyVDg8k0dg2njh9Dy8jk4BBak+OjgziSTD1xDGPJ40NJpFidRPqE0jyVVuUZjRfSZYBluYXtttBLaL8UZdT7dZ8NuqzUJXRZoUvRZRDVaMb92ItTmMIzeB4v4FWcx+t4ExfwHj7CJ7iEK/gRf+CmeMQvYdpRI2dNBPHp7yrpl1nHlNPlPOtyuaZcs+5+9zueqCft+dAb8g54X/F+ZpQZLcawcdY4Z1wwMYy3LPmxJa+bsqTBkmOWfMOUPsOSE5b81JSlPZac//7X5FYWt2SDJZstOa2jJ+VmFKXCZcqA32wPRC25m54F/RtChJqY1m7Uvtuuy9NW3YH9qKOnQ2wNo4o+3cQRt6GGfq/AZkTJy4lhjDBCF3EUo4zN53gJbxOzDrU4iRQjN04ch1RKhKY3yw7G0clIbmV8dqMN3egnQgpPYhrP0WrciqaKoUPHuUZzLVbNtOTUtXhBXv8HIx+2oIlruBWdOIwjSHItn9HxuhUesvslVoDLrWNRgno0Yhf3cwcO4TFMIM2WaBE9YZ9/NK/9Yls2uB634T7sQQK9GGA+F92+vnbt86zJY7M41rxcUw3YiRZmmB48Sm1knWZmn08kx856WvBwXSxmC2F2XMsM7Lyrs7DXjurm1/wOFubylTO18wtn4K0WycX4mLvKPPeXh2PnEbJhrGy0kz5WK119LW3Zbi+4MG45Ixz0U8y6zeT2t+MGrL6Fe6m5ir75zOvs4/0LNyd7i+jTXY2r1yd8eAnO8/NTOcDsm8lhZsHjDr0ys/uwJl4JZPUOU5r7r3D//COrGdn5TLScsflRIlyni3l7ZTj5EWu4M+0n4Wox86NHma8y7x9rx89vKcZMb8+LIzixrrbyW43zHM08XSbxdJHs5mdQz5tM9jk+hWeLziGXjbnTgtb7pSrDtoM9Zli7IR5qc3dylUZxFth/HvyWsXs9+C6jZ3Hu9BpX4lInd0iz3CVR6islKBskJBslLFVSLZskIrUSk+1yjzTK7XKn1MtW2SH3SpPcLdtki6gXTZ0+W9Wbz09GlXm5Kp61mtEwOY6Q5Th5ndQ8L5KvyDWOD/P2/iLtTctr8q5c0neqRiTkAfq9h78Eusi6S9d6KDsoW/EI93Uf9Zf51izQRoRSG8LehX7CvPVV4XGcT4w7vIkrcA+/uqkd4AwmuPtOcSdM4xo5trP3T1p28X2qZCd+0PIgX6dKduB7LQ8wskruw+/0f5eOeyd+ZXkQv7DswM8sD/CN6yDmtyzb8Q3LfSv0xNer9MSVJTyh2q8u0a4YBhjB63qG7fhLz+FPPQcH10cZ/tGav7VGdD7bz1pCI/axRUT1CzLHdeMc3/3v63HRgowvszU7knaNi6s8zpzZtgSCkaFvyNEk6EtPjpeyNVczNIp1DF9yxofxMFH6NPJie2ZLIgPLo71i+uSQdcIb2sYXxF1859dwRjPMIIaUiE9KpUzKxS8VEtCZI2hlDtXrA9zATcxxIP0rTnGJm1nKof+tUTlWZRn5D/8+UWEAAHjazVp5jCRVGf+quqqP6mump6en59pjFnaXhV0u5Vx31w0iKIoHKqIQ5ZIIAiEYQ5TVJSauJGJc+cPgRNGYDYjAiJKQkbConWiitMgiaTFrtEJEsVEGsVH7j/L3fq+quvqcnhlCqF+qu45X7/i+733Xe2KIiCMXyZVinXPuBRfJ1BW33HSdbP7ETVddK6dc9/Gbr5ddYqGMeJ6ossNcG9deddP1ksSVqe7wG5cCfpMSk81G0byE10780fhfSnvnnjz+iydcs/2k7Z/cfuf2GkpXWVdONstJaHuXnCNXy+fkLvmePCA/xvmY/BLfFz1XSl4DNY6j/2Wck2Lj6yKeJfn7Ba9hJLy6kcGZxZnDfR7/I14dJYv4nfGek30o+XldWhKsdbf3rHrqf9vAtw1800CbE3g7ie9Mfj2OZwa/UPdVfIc3huHVjBieGfgOvxhHToroY0km0MtJmZGNskl2y1HDMnIov4GjvUP+hNZToGBdug7PRUvtT2od94v8rbeeB1foQ/CkErxBuXpXjVVyKwvK2OiRA1iSB0wZAQwZBUxwsYD3NwCG7Afi8iv5Na6fAGLyJBCTpwFT/gjY+Hf4TVzGANAXMEGLEspNAAZoUga/Jsk9VYvFWix+H2e7NupIoycjuC5AHi5D6/vZ7hMo+TTKmdbFiormI+bLKDtHSgSoySoPUiS4nvcWvAZQAxreQXBkEf91xRlcVQPa9qilEVC6F2d7le7kjH7e/65fTbKGI+xzo11SOvoxzIjqUSooaQzrrnZSe5j6erZRW80I9ciC+TGYXn7vh5SnoWlvYsareaFnRIozwuaMsDgjkjIFGDINxKA5ZiRu5KA1EvjibLxNyiznaI6zM8eZNsIaRznTpqB3xvGtqnec9RZZ7wTrnWS9BTkGMKBtN+P9NqAs24GknAKU5U1AWU4HTDkD2ChnAjE5C7DQi7PR451AHHr6HIzhXDlPMvIOIC3vAzLyfiALC3MRrj8I5OVmYIN8GlgvnwGy8llgRm6TL6EnB4CEfBkoy53yDfzeBZTlm/IttP5tIC7flXvQ1r1yP+p8CBiDZXgE14tARn4OlKUCZKhT1lGnrKNmykkNcOQoUKKWGTGSRlJmjJSRkg2GYziy3kgbaZQxyJ9Ac0+BWjOgvgENY5F7SrMb8hBkNwbtX5O93oLshxQri7df7hYzv0eVzNyYvQA17KUEHfY1xn3QKEdxPe8tQXvb0CsVPHXx7Hn817wjeFf1Dvnaui6v4UG5V5rmD+3aJmhFv+fpaLvhNcM5s4SzueYevNRh35Z06xFt6bKluvf73tpGz992rLgXLjnS0DqAI16K1sazGY7eDbWZS664ndow/HZofnWMSWukeofO0SOt96XDUqetaf2vRNe36CpOa6whrdv78Lz2KGgFK74/YftypcseUjqddAJ9+9vHaI3awoYjbwa1BaNucTlSquHb+QgdWlYnoGlvL6qnjl/qrKHTOkclrcuLWlr7zHxd+rBueHmIaoSgBX9+NLttau8aorIzjOfQ8lr5reKcE0pCI/Rij6iZGPgPnXX26kW3x9DtCUdG+TCluwYtvEi/b9F7hdqwAt2t/rWO9vvgzbM2t7+HMEj+elNE6yZ6mbX2Wd6lozrnBTwV2JKafo+yzRa//HlRb48Llu81uWJzph7tP7KWlwR6HcT1ocjo7EBCvX04F0hXaAdFu+E1ZosCnbpT2Sv/ztUlIyVe7ScPQ2vrgO5uoAE7dRhkZqlT1v1v6mvzyLvnBeWignmxoCjZkmxQ8zDoWvF5UPOt22Hy4SDuH/ZeVP4G5VhJcs076Ft5pa8XdV1ajhnxtEnfyi3K8G8j+r2+IjrU4YEVOQI3UtdRn19uQAfec3yY0XWtMXiqd08pX0xTknSphnRwI3IXiZ079IvLPvyirQ+UQu0XBPf8P8K+LnKORvugatcWteLfV9v0qtvlpR1t6wHntG9Jg7Zc9gK907XoFgfIdz3SQjSfUO/Hu3bZUD4rZHI+yEn4tH8Yz6vheGq+bN7HcvO4v4+RdZVx9SLuqt4BnxcLpEaFfaswSlwKZbrR2eNOm9XhndUDbq5k1g8fzwUapys7s6w0K1nsPcc0z3pFzD3jyWPkWEBHc6ZsAWKyFbDkOMBmfBeX4+UERFgqykvJDsCRE4G0nCQn47mK+zJyKpBl9JeRNwM5OQ3IMxIcYSQ4ykiwwEhwjJFgkZHguLwFKDGOsxjHmXK7fAXXdwAJ+ap8DdHlQSAmXwcSjPIyjPIyjPJGGeWNI4K6G7GXiuYsjMmWV/HmdIzzDDwd5YjLOHeg/R2IDHciGhbZg1EI2hfZjYjyrYA+VP/XMRupD/1/Qkg7wz/PRG9jaM9GhBrH6AWRnzpOxbkJ9EwTSVBuC6i9nTRWFE6DWmnQeBsoMsaM3xxocPwAbiUw2pPxfxauokcW5y5eZUBTfZyIvrewPhyFgDNC/ugxBFDXMR9x3G1B36NIhzgWkqJkZppjCCA4x3yU8HUJbw0+bx2K7yord4r/OwUunBz22LfE4Ev3kRyIrUSBGWMLNFa8vA0SMgX5uBstKHk4Q8zM1Sq2Tu1xfgA+bwu8HEJ7yE2VHV59/q9NlzR9y75EPVLx2wnwqG/hm0NlxOiJRf2x6Nz2Y83I71C9bMKiN3Wt4ZFfo7Oh4jmVDbYjUXFzWR20jIYEnvf+HPWGfE+s2B67Uts3aKOLeLcYWLf+9GwbvRPqeae79DDaPZIB7fI1+3vvg/jfm+9rlM7+dW5dQ52DZKm4Gvvo03Cp02ca3uZ2z+MW33VU0YvbKx97iMZrx6Mg+oLk1zmHXu625YG/1tdDcLX32R7ld+mlYJZqXVjTXt9y8hZKb1BnPcxjRXUdNSrnYbNb1/XufUSW7B6ytGl1OoSRlorvHHgBaqWq1MYtu31dTHmVvD5E77HWU15tnnaHTq609EowH1agk1XOoum9oH5Rs8rT29RLdqQ9e6DMN4ajZx/PsTF0P0VLET2FZdfEgkyL8uj78r1bZ2YGrd4Eubmof963n0ur1iFuz6xjazU016nF2/IHi5QI189sKI+9MuTYddsO+e1QR61aT608h9Q3VtgpbwMMORcw5e1ATM4DLDkfsLmGE5d3Ajm5AEjKuwBH3g2k5UIgI++R9+KtWufJc51nhOs8o/IBoMDVnjH5EFCUi4Fx+TBQkkuACfkIUJaPApNyKTDFtaBx+Q6QkHsAS+4FTPm+3I/rB4CkPCg/hO+t1nym5UdAjis/ea785OUn8hhqOAxMyuOAIT8FJuVnQJYrQpb8FTDkb4AtLwCG/B3ISR1IyouAI/8A0vJPICMvAUVZAnLyMpCUfwGOvAKk5d9ARhpAEfHJf1Dnf4Gi/A+wpQmoFe/z0ecU/PYMME1dMMs1u1n6uRNcm9vIVbnjEDfM4RsVZ21ihHUMPe1jGVttRlSzG3XsAaZlLzDJdTeDvBzl6pvmn0n+xci/UfIvS/6NgHsX4oniXIGcs8i5MXLOIudK5JxNzsXJuTI5lyDnkuRcipxzyLm0fAyYlk8Bc+TimNwKbOUegQ2M5jaTr6NcuTO4cqc5mgNHHwQ9FsDXHPk6Rb4WyFeLfLXI1zL56pCvo+SrQ74WfL6qlb5xqQJb5DeAXvUbl98CW+QpQK8AzsrvgDl5BtgqzwIzXAecgFyoXR6vgn8FcK+JsZtc17wU80WNagojeATjXESrp7LVnfimiQjFTF6uopF4Mf4cqLdJe7TyBjq6s5Kr9N9rgzJIr+N46u3WYrD/NIAqLnPQlUh+zV1ZTczacUWglYUN7Zr2oKrD1hhd/3stcsWRKKu6wi9rXN2rdVr/IH9H37LeyvEtU2NF51X9uwPd1rFv/sttq6Ua9ALlD/jrtzrT7/r9qtJX1li2xmiWcmXZd7W2wexklX0/EK4Mu+F7l1nchs52qj1C3TzAu30Rb2N+cF+7vTGdwe/hTdXbo4Uh5rTO97tvBE01OMO8nKTR0z+Ic96XikqQcWYGutLOBz6r+e9rkXXvK0ndhXbq+lJYZzbbXcYLM7lPxGIu0Yb1jXMXnPL/svQDDPxn6QvkYVnVLrsYfYIEfYIc7NQ61jEHW6us/gitvkGrP06La8gVQIF2V+/Ki8ktQJLWN07rW+ROuRitY5rWMUPr6NA6pmkdM7SOjhwBRmkjE7SRNm1knNYxh77s5q6iEncMJZhjzjOjnI/sGMozZ6zzxDbzxCP0YuL0YmLME6foy1jME8/Rf9lAz8Wh52LQc5mgzzJFn8WktzJLb8Wht1Kmt+LQW1lHb2WS3soovZX19FYK9FbG6K1k6K1k6a1spC0vc7dRglnqHLPUeeah88xD55mHHqHnYtFn2UCfxaHPMk2fZYY+yzR9ljR9lln6LA59Foc+y3r6LFl6K1l6K7PMX+bpPTjkxzj5USQnxsmJIj0Rg57ILD2RUdxtoSTFuRsyQ8nROyKVnMzJLnBnDyTjMsjFFZCHGyAHt4b7JKto4UnU/xQ4/DQ4+4zaNYlftY/pGtmH/zQ1wcIAXaNXaiN7S3wt2wg0cp9IROXTk9z7q3xgg/lnk7un9M4zJTsm5cWipNiUlDglxaGkJMjPJHmYiuwSi5E/CdI4RRqnuE6gsvOb5Fq5EfU+zjFug2Sq+ab37lT0On3gzVBTBvl/E5LX2hFnUb4t9jFG+bYo3xZXQ2z2Ok4pT7DvSfY9Fel7mjKdifTapLRZlDaL0mZR2hIcTdpf71ASkOFOsphcjt8dHEcJfYqF2X+TOwhbNDXCdQwrQgG9W63AnYRGZKWjdQZtnMaSZbZltPFPtWKylRg95mhNdtjWs8O39n+9JfMNAAAAAAABAAAAANWkJwgAAAAA1YO2WAAAAADY2izo') format('woff'); + font-weight: normal; + font-style: normal; +} + +/* Logo Font */ +@font-face { + font-family: 'TypoGraphica'; + src: url('../fonts/TypoGraphica.eot?#iefix') format('embedded-opentype'), url('../fonts/TypoGraphica.woff') format('woff'), url('../fonts/TypoGraphica.ttf') format('truetype'), url('../fonts/TypoGraphica.svg#TypoGraphica') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* ICON Font */ + +@font-face { + font-family: 'argon'; + src: url('../fonts/argon.eot?sv3bol'); + src: url('../fonts/argon.eot?sv3bol#iefix') format('embedded-opentype'), + url('../fonts/argon.ttf?sv3bol') format('truetype'), + url('../fonts/argon.woff?sv3bol') format('woff'), + url('../fonts/argon.svg?sv3bol#argon') format('svg'); + font-weight: normal; + font-style: normal; + font-display: block; +} + +[class^="icon-"], +[class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-expand_more:before { + content: "\e20b"; +} + +.icon-menu:before { + content: "\e20e"; +} + +.icon-favorite:before { + content: "\e291"; +} + +.icon-spinner:before { + content: "\e603"; +} + +.icon-delete:before { + content: "\e900"; +} + +.icon-edit:before { + content: "\e901"; +} + +.icon-use:before { + content: "\e902"; +} + +.icon-loading:before { + content: "\e903"; +} + +.icon-switch:before { + content: "\e904"; +} + +.icon-error:before { + content: "\e905"; +} + +.icon-dashboard:before { + content: "\e906"; +} + +.icon-logout:before { + content: "\e907"; +} + +.icon-Network:before { + content: "\e908"; +} + +.icon-services:before { + content: "\e909"; +} + +.icon-system:before { + content: "\e90a"; +} + +.icon-vpn:before { + content: "\e90b"; +} + +.icon-storage:before { + content: "\e90c"; +} + +.icon-statistics:before { + content: "\e90d"; +} + +.icon-hello-world:before { + content: "\e90e"; +} + +.icon-angle-right:before { + content: "\e90f"; +} + +.icon-password:before { + content: "\e910"; +} + +.icon-user:before { + content: "\e971"; +} + +.icon-question:before { + content: "\f059"; +} + +.icon-docker:before { + content: "\e911"; +} + +.icon-control:before { + content: "\e912"; +} + +.icon-statistics1:before { + content: "\e913"; +} + +.icon-asterisk:before { + content: "\e914"; +} \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/pure-min.css b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/pure-min.css new file mode 100644 index 0000000000..81dbb15098 --- /dev/null +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/pure-min.css @@ -0,0 +1,11 @@ +/*! +Pure v2.0.3 +Copyright 2013 Yahoo! +Licensed under the BSD License. +https://github.com/pure-css/pure/blob/master/LICENSE.md +*/ +/*! +normalize.css v | MIT License | git.io/normalize +Copyright (c) Nicolas Gallagher and Jonathan Neal +*/ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:sans-serif}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto}.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:rgba(0,0,0,.8);border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:-webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 3px #ddd;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129fea;outline:1px auto #129fea}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0 0}.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{-webkit-box-sizing:border-box;box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;padding:.5em 0}.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-disabled,.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected>.pure-menu-link,.pure-menu-selected>.pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0} \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/purecss.css b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/purecss.css deleted file mode 100644 index 0b2bf6426e..0000000000 --- a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/purecss.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! -Pure v1.0.1 -Copyright 2013 Yahoo! -Licensed under the BSD License. -https://github.com/pure-css/pure/blob/master/LICENSE.md -*/ -.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u,.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%} \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/favicon.ico b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/favicon.ico index e69a88eb1d..4611336803 100644 Binary files a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/favicon.ico and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/favicon.ico differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.eot b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.eot index a47195ab24..892d0536ae 100644 Binary files a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.eot and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.eot differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.svg b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.svg index 7e0e6b9572..388f05a42f 100644 --- a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.svg +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.svg @@ -17,18 +17,21 @@ - - - - + + + + - + - + + + + + - \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.ttf b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.ttf index f52d85cf44..b55ef5a428 100644 Binary files a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.ttf and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.ttf differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.woff b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.woff index f06c838ae6..4d1417a3a8 100644 Binary files a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.woff and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/fonts/argon.woff differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/head-icon.jpg b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/head-icon.jpg deleted file mode 100644 index dbb2abd430..0000000000 Binary files a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/head-icon.jpg and /dev/null differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/android-icon-192x192.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/android-icon-192x192.png new file mode 100644 index 0000000000..7c17009d3d Binary files /dev/null and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/android-icon-192x192.png differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/apple-icon-144x144.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/apple-icon-144x144.png new file mode 100644 index 0000000000..5308d66b77 Binary files /dev/null and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/apple-icon-144x144.png differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/apple-icon-60x60.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/apple-icon-60x60.png new file mode 100644 index 0000000000..f18dfa49cd Binary files /dev/null and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/apple-icon-60x60.png differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/apple-icon-72x72.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/apple-icon-72x72.png new file mode 100644 index 0000000000..bb3e242333 Binary files /dev/null and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/apple-icon-72x72.png differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/browserconfig.xml b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/browserconfig.xml new file mode 100644 index 0000000000..c554148223 --- /dev/null +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/favicon-16x16.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/favicon-16x16.png new file mode 100644 index 0000000000..308843a092 Binary files /dev/null and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/favicon-16x16.png differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/favicon-32x32.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/favicon-32x32.png new file mode 100644 index 0000000000..bfcd09707a Binary files /dev/null and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/favicon-32x32.png differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/favicon-96x96.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/favicon-96x96.png new file mode 100644 index 0000000000..d0fe1ed097 Binary files /dev/null and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/favicon-96x96.png differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/manifest.json b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/manifest.json new file mode 100644 index 0000000000..2817bc8139 --- /dev/null +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "Openwrt", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/ms-icon-144x144.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/ms-icon-144x144.png new file mode 100644 index 0000000000..5308d66b77 Binary files /dev/null and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/icon/ms-icon-144x144.png differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/argon.svg b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/argon.svg new file mode 100644 index 0000000000..654e2fe243 --- /dev/null +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/argon.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/blank.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/blank.png new file mode 100644 index 0000000000..9f4100e6e2 Binary files /dev/null and b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/blank.png differ diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/style.css b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/cascade.less similarity index 61% rename from package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/style.css rename to package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/cascade.less index d89001131f..f8cbeba6ac 100644 --- a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/style.css +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/cascade.less @@ -24,13 +24,20 @@ * Login background * https://unsplash.com/ * - * Licensed to the public under the Apache License 2.0 + * Licensed to the public under the Apache License 2.0 */ /* * Font generate by Icomoon */ +/* + * Common Styles + */ + +@import url("fonts.css?v=3"); +@import url("pure-min.css?v=1"); + :root { --blue: #5e72e4; --indigo: #5603ad; @@ -59,181 +66,16 @@ --white: #fff; --neutral: #fff; --darker: black; + --background-color: #f4f5f7; + --login-form-bg-color: rgba(244, 245, 247, 0.8); --breakpoint-xs: 0; --breakpoint-sm: 576px; --breakpoint-md: 768px; --breakpoint-lg: 992px; --breakpoint-xl: 1200px; - --font-family-sans-serif: Open Sans, sans-serif; + --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; -} - -::selection { - background-color: var(--primary); - color: #ffffff; -} - -@font-face { - font-family: 'argon'; - src: url('../fonts/argon.eot?vncylf'); - src: url('../fonts/argon.eot?vncylf#iefix') format('embedded-opentype'), url('../fonts/argon.ttf?vncylf') format('truetype'), url('../fonts/argon.woff?vncylf') format('woff'), url('../fonts/argon.svg?vncylf#argon') format('svg'); - font-weight: normal; - font-style: normal; - font-display: block; -} - -@font-face { - font-family: 'TypoGraphica'; - src: url('../fonts/TypoGraphica.eot?#iefix') format('embedded-opentype'), url('../fonts/TypoGraphica.woff') format('woff'), url('../fonts/TypoGraphica.ttf') format('truetype'), url('../fonts/TypoGraphica.svg#TypoGraphica') format('svg'); - font-weight: normal; - font-style: normal; -} - - -[class^="icon-"], -[class*=" icon-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'argon' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-hello-world:before { - content: "\e90e"; -} - -.icon-expand_more:before { - content: "\e20b"; -} - -.icon-menu:before { - content: "\e20e"; -} - -.icon-favorite:before { - content: "\e291"; -} - -.icon-spinner:before { - content: "\e603"; -} - -.icon-delete:before { - content: "\e900"; -} - -.icon-edit:before { - content: "\e901"; -} - -.icon-use:before { - content: "\e902"; -} - -.icon-loading:before { - content: "\e903"; -} - -.icon-switch:before { - content: "\e904"; -} - -.icon-error:before { - content: "\e905"; -} - -.icon-dashboard:before { - content: "\e906"; -} - -.icon-logout:before { - content: "\e907"; -} - -.icon-Network:before { - content: "\e908"; -} - -.icon-services:before { - content: "\e909"; -} - -.icon-system:before { - content: "\e90a"; -} - -.icon-vpn:before { - content: "\e90b"; -} - -.icon-storage:before { - content: "\e90c"; -} - -.icon-statistics:before { - content: "\e90d"; -} - -.icon-angle-right:before { - content: "\e90f"; -} - -.icon-password:before { - content: "\e910"; -} - -.icon-user:before { - content: "\e971"; -} - -.icon-question:before { - content: "\f059"; -} - -.icon-docker:before { - content: "\e911"; -} - -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -.h1, -.h2, -.h3, -.h4, -.h5, -.h6, -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: inherit; - font-weight: 400; - line-height: 1.1; - color: inherit; -} - -html { - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} - -body { - font-size: 0.8rem; - background-color: #f8f9fe; + --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; } html, @@ -242,214 +84,350 @@ body { padding: 0px; height: 100%; font-size: 16px; - font-family: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; + font-family: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; + font-family: var(--font-family-sans-serif); } -/*** Main Loading ***/ - -.cbi-button-up, -.cbi-button-down, -.main>.loading { - - background: linear-gradient(87deg, #5e72e4 0, #5e72e4 100%) !important; +html { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; } -.sk-folding-cube { - margin: 20px auto; - width: 40px; - height: 40px; - position: relative; - -webkit-transform: rotateZ(45deg); - transform: rotateZ(45deg); +body { + font-size: 0.875rem; + background-color: #f4f5f7; + background-color: var(--background-color); + } -.sk-folding-cube .sk-cube { - float: left; - width: 50%; - height: 50%; - position: relative; - -webkit-transform: scale(1.1); - -ms-transform: scale(1.1); - transform: scale(1.1); +* { + margin: 0; + padding: 0; + box-sizing: border-box; } -.sk-folding-cube .sk-cube:before { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: #fff; - -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both; - animation: sk-foldCubeAngle 2.4s infinite linear both; - -webkit-transform-origin: 100% 100%; - -ms-transform-origin: 100% 100%; - transform-origin: 100% 100%; +::selection { + background-color: var(--primary); + background-color: #5e72e4; + color: #ffffff; + color: var(--white); } -.sk-folding-cube .sk-cube2 { - -webkit-transform: scale(1.1) rotateZ(90deg); - transform: scale(1.1) rotateZ(90deg); -} - -.sk-folding-cube .sk-cube3 { - -webkit-transform: scale(1.1) rotateZ(180deg); - transform: scale(1.1) rotateZ(180deg); -} - -.sk-folding-cube .sk-cube4 { - -webkit-transform: scale(1.1) rotateZ(270deg); - transform: scale(1.1) rotateZ(270deg); -} - -.sk-folding-cube .sk-cube2:before { - -webkit-animation-delay: 0.3s; - animation-delay: 0.3s; -} - -.sk-folding-cube .sk-cube3:before { - -webkit-animation-delay: 0.6s; - animation-delay: 0.6s; -} - -.sk-folding-cube .sk-cube4:before { - -webkit-animation-delay: 0.9s; - animation-delay: 0.9s; -} - -@-webkit-keyframes sk-foldCubeAngle { - - 0%, - 10% { - -webkit-transform: perspective(140px) rotateX(-180deg); - transform: perspective(140px) rotateX(-180deg); - opacity: 0; - } - - 25%, - 75% { - -webkit-transform: perspective(140px) rotateX(0deg); - transform: perspective(140px) rotateX(0deg); - opacity: 1; - } - - 90%, - 100% { - -webkit-transform: perspective(140px) rotateY(180deg); - transform: perspective(140px) rotateY(180deg); - opacity: 0; - } -} - -@keyframes sk-foldCubeAngle { - - 0%, - 10% { - -webkit-transform: perspective(140px) rotateX(-180deg); - transform: perspective(140px) rotateX(-180deg); - opacity: 0; - } - - 25%, - 75% { - -webkit-transform: perspective(140px) rotateX(0deg); - transform: perspective(140px) rotateX(0deg); - opacity: 1; - } - - 90%, - 100% { - -webkit-transform: perspective(140px) rotateY(180deg); - transform: perspective(140px) rotateY(180deg); - opacity: 0; - } -} - - -.cbi-button-up, -.cbi-button-down, -.cbi-value-helpicon, -.showSide, -.main>.loading>span { - font-family: 'argon' !important; - speak: none; - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.cbi-button-up{ - transform: rotate(180deg); -} - - -select[multiple="multiple"] { - height: auto; -} - -code { - color: #0099CC; -} - -abbr { - color: #005470; - text-decoration: underline; - cursor: help; -} - -hr { - margin: 1rem 0; - border-color: #EEE; - opacity: 0.1; -} - - - -footer>a { - color: #aaa; +a:link, +a:visited, +a:active { + color: #5e72e4; + color: var(--primary); text-decoration: none; } -.main { - top: 4rem; - bottom: 0rem; - position: relative; - height: 100%; - height: calc(100% - 4rem); +a:hover { + text-decoration: underline; } -.main>.loading { - position: fixed; +li { + list-style-type: none; +} + + + + + +/*********************** +* +* Login Page +* +***************************/ + +.login-page { + height: 100%; + background-image: url(../img/blank.png); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + transition: all 0.5s; + + .login-container { + height: 100%; + margin-left: 4.5rem; + position: absolute; + top: 0px; + display: flex; + flex-direction: column; + -webkit-box-pack: center; + justify-content: center; + align-items: flex-start; + min-height: 100%; + z-index: 2; + width: 420px; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 35px -5px; + margin-left: 5%; + background: transparent; + + .login-form { + display: flex; + flex-direction: column; + -webkit-box-align: center; + align-items: center; + position: absolute; + top: 0px; + width: 100%; + min-height: 100%; + max-width: 420px; + background-color: rgb(255, 255, 255); + + .brand { + display: flex; + -webkit-box-align: center; + align-items: center; + margin: 50px auto 100px 50px; + color: #525461; + + .icon { + width: 50px; + height: auto; + margin-right: 25px; + } + + .brand-text { + font-size: 1.25rem; + font-weight: 700; + font-family: "TypoGraphica"; + + } + + &:hover { + text-decoration: none; + } + } + + .form-login { + width: 100%; + padding: 20px 50px; + box-sizing: border-box; + + .errorbox { + text-align: center; + color: #fb6340; + color: var(--warning); + padding-bottom: 2rem; + } + + .input-group { + margin-bottom: 1.25rem; + position: relative; + + &::before { + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + color: #adb5bd; + font-size: 1.5rem; + position: absolute; + z-index: 100; + left: 10px; + top: 10px; + } + + .border { + position: absolute; + width: 100%; + height: 1px; + bottom: 0; + border-bottom: 1px #5e72e4 solid; + transform: scaleX(0); + transition: transform 0.3s; + } + + input { + font-size: 1rem; + line-height: 1.5em; + display: block; + width: 100%; + padding: .5rem .75rem 0.5rem 3rem; + margin: 0.825rem 0; + box-sizing: border-box; + transition: all .3s cubic-bezier(.68, -.55, .265, 1.55); + color: #8898aa; + border: 0; + border-radius: 0; + border-bottom: 1px solid #dee2e6; + background-color: transparent; + background-clip: padding-box; + box-shadow: 0 3px 2px rgba(233, 236, 239, .05); + outline: none; + + &:focus+.border { + transform: scaleX(1); + } + } + + .cbi-input-password { + margin-bottom: 2rem; + position: relative; + } + } + + .user-icon::before { + content: "\e971"; + } + + .pass-icon::before { + content: "\e910"; + + } + } + + .cbi-button-apply { + width: 100% !important; + box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 50px 0px; + font-weight: 600; + font-size: 15px; + color: rgb(255, 255, 255); + text-align: center; + width: 100%; + cursor: pointer; + min-height: 50px; + background-image: linear-gradient(-135deg, rgb(134, 146, 222) 0%, rgb(120, 138, 239) 100%); + border-radius: 6px; + outline: none; + border-width: initial; + border-style: none; + border-color: initial; + border-image: initial; + padding: 10px 0px; + margin: 30px 0px 100px; + transition: all 0.3s; + letter-spacing: 0.8rem; + + &:hover, + :focus { + background-image: linear-gradient(-135deg, rgb(130, 143, 224) 0%, rgb(94, 114, 228) 100%); + } + } + + + } + + footer { + box-sizing: border-box; + width: 100%; + text-align: center; + line-height: 1.6rem; + display: flex; + justify-content: space-evenly; + margin-top: auto; + padding: 0px 0px 30px; + z-index: 10; + + .luci-link { + display: block; + } + } + } +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + + + +/*********************** +* +* Header +* +***************************/ + + +header { width: 100%; - height: 100%; - z-index: 1000; - display: block; - background-color: rgb(240, 240, 240); - top: 0; + padding: 0 0 0 0; + position: relative; + + .container { + margin-top: 0.5rem; + padding: 0.5rem 1rem 0 1rem; + + .pull-right>* { + position: relative; + top: 0.45rem; + cursor: pointer; + } + } + + &::after { + content: ""; + position: absolute; + height: 2rem; + width: 100%; + background-color: #5e72e4 !important; + } + + &.bg-primary { + background-color: #5e72e4 !important; + } + + .fill { + padding: 0.8rem 0; + border-bottom: 0px solid rgba(255, 255, 255, .08) !important; + + .container { + height: 2rem; + padding: 0 1.25rem; + + .brand { + font-size: 1.5rem; + color: #fff; + font-family: "TypoGraphica"; + text-decoration: none; + padding-left: 1rem; + cursor: default; + vertical-align: text-bottom; + display: none; + } + } + } } -.main>.loading>span { - display: block; - text-align: center; - margin-top: 2rem; - color: #888; - font-size: 1.2rem; + + + + +/*********************** +* +* Footer +* +***************************/ + +footer { + text-align: right; + padding: 1rem; + color: #aaa; + font-size: 0.8rem; + + a { + color: #aaa; + text-decoration: none; + } } -.main>.loading>span>.loading-img:before { - content: "\e603"; -} -.main>.loading>span>.loading-img { - animation: anim-rotate 2s infinite linear; - margin-right: 0.2rem; - display: inline-block; -} + +/*********************** +* +* Main +* +***************************/ @keyframes anim-rotate { 0% { @@ -465,277 +443,504 @@ footer>a { } } +.main { + top: 0rem; + bottom: 0rem; + position: relative; + height: 100%; + width: 100%; + height: calc(100% - 4rem); + + .main-left { + float: left; + width: 15%; + width: calc(0% + 15rem); + height: 100%; + background-color: #fff !important; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; + overflow-x: auto; + position: fixed; + z-index: 100; + transition: width 0.3s ease-in-out; + + &::-webkit-scrollbar { + width: 5px; + height: 1px; + } + + &::-webkit-scrollbar-thumb { + background-color: #f6f9fc + } + + &::-webkit-scrollbar-track { + background-color: #fff; + } + + .sidenav-header { + padding: 1.5rem; + text-align: center; + + .brand { + font-size: 1.8rem; + color: #5e72e4; + font-family: "TypoGraphica", sans-serif; + text-decoration: none; + padding-left: 0; + cursor: default; + vertical-align: text-bottom; + white-space: nowrap; + } + } + + .nav { + margin-top: 0.5rem; + + li { + padding: 0rem; + cursor: pointer; + + a { + color: #525f7f; + display: block; + } + + &:nth-last-child(1) { + font-size: 1.2rem; + + .menu:after { + content: ""; + } + } + + &.slide { + padding: 0; + + ul { + display: none; + + li { + a { + position: relative; + + margin: 0.1rem 1rem 0.1rem 3rem; + padding: 0.5rem 0rem 0.5rem 0; + text-decoration: none; + white-space: nowrap; + color: rgba(0, 0, 0, .7); + transition: all 0.2s; + font-size: 0.875rem; + + &::after { + content: ""; + position: absolute; + width: 00%; + height: 2px; + left: 0; + bottom: 0; + background-color: #5e72e4; + transition: all 0.2s; + } + + &:hover { + &::after { + color: #000; + width: 100%; + } + } + } + } + } + + .menu { + display: block; + margin: 0.1rem .5rem 0.1rem .5rem; + padding: .675rem 0 .675rem 2.5rem; + border-radius: .375rem; + text-decoration: none; + cursor: default; + font-size: 1rem; + transition: all 0.2s; + position: relative; + + &::before { + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + position: absolute; + left: 0.8rem; + } + + &::after { + position: absolute; + right: 0.5rem; + top: 0.8rem; + font-family: 'argon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: '\e90f'; + transition: all .15s ease; + color: #ced4da; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + transition: all 0.3s; + } + + &:hover, + &.active { + cursor: pointer; + color: #fff; + background: #5e72e4; + + a { + color: #000; + + &::after { + color: #000; + width: 100%; + } + } + + &::before { + color: #fff !important; + } + + &::after { + color: #fff; + + } + } + + &.active { + &::after { + + transform: rotate(90deg); + } + } + + } + + .menu[data-title=Status]:before { + content: "\e906"; + color: #5e72e4; + } + + .menu[data-title=System]:before { + content: "\e90a"; + color: #fb6340; + } + + .menu[data-title=Services]:before { + content: "\e909"; + color: #11cdef; + } + + .menu[data-title=NAS]:before { + content: "\e90c"; + color: #f3a4b5; + } + + .menu[data-title=VPN]:before { + content: "\e90b"; + color: #172b4d; + } + + .menu[data-title=Network]:before { + content: "\e908"; + color: #8965e0; + } + + .menu[data-title=Bandwidth_Monitor]:before { + content: "\e90d"; + color: #2dce89; + } + + .menu[data-title=Docker]:before { + content: "\e911"; + color: #6699ff; + } + + .menu[data-title=Statistics]:before { + content: "\e913"; + color: #172b4d; + } + + .menu[data-title=Control]:before { + content: "\e912"; + color: #5e72e4; + } + + .menu[data-title=Asterisk]:before { + content: "\e914"; + color: #fb6340; + } + + .menu[data-title=Logout]:before { + content: "\e907"; + color: #32325d; + } + + .slide-menu { + li { + a { + position: relative; + + margin: 0.1rem 1rem 0.1rem 3rem; + padding: 0.5rem 0rem 0.5rem 0; + text-decoration: none; + white-space: nowrap; + color: rgba(0, 0, 0, .6); + transition: all 0.2s; + font-size: 0.875rem; + + &::after { + content: ""; + position: absolute; + width: 00%; + height: 2px; + left: 0; + bottom: 0; + background-color: #5e72e4; + transition: all 0.2s; + } + + &:hover::after { + color: #000; + width: 100%; + } + } + } + + .active { + a { + color: #000; + + &::after { + color: #000; + width: 100%; + } + } + } + } + } + } -.pull-right { - float: right; - margin-top: 0.5rem; -} + } + } -.pull-left { - float: left; + .main-right { + width: 85%; + width: calc(100% - 15rem); + float: right; + height: auto; + transition: width 0.3s ease-in-out; + + #maincontent { + + position: relative; + z-index: 50; + + .container { + margin: 0 1.25rem 1rem 1.25rem; + + p { + color: #32325d; + line-height: 1.5em; + } + } + + .container>div:nth-child(1).alert-message.warning>a { + font: inherit; + overflow: visible; + text-transform: none; + display: inline-block; + margin-bottom: 0; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + min-width: 6rem; + padding: 0.5rem 1rem; + font-size: 0.9rem; + line-height: 1.42857143; + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; + margin-top: 2rem; + text-decoration: inherit; + } + } + } + + .loading { + position: fixed; + width: 100%; + height: 100%; + z-index: 2000; + display: flex; + align-items: center; + justify-content: center; + background-color: #f8f9fe; + top: 0; + + span { + display: block; + text-align: center; + margin-top: 2rem; + color: #5e72e4; + font-size: 2rem; + + .loading-img { + animation: anim-rotate 2s infinite linear; + margin-right: 0.4rem; + display: inline-block; + + &::before { + content: "\e603"; + } + } + + } + } } +/* button style */ - - - -#maincontent>.container>div:nth-child(1).alert-message.warning>a { - font: inherit; - overflow: visible; - text-transform: none; +.cbi-button { + -webkit-appearance: none; + text-transform: uppercase; + height: auto; + font-size: 0.875rem; + color: rgba(0, 0, 0, 0.87); + background-color: #F0F0F0; + transition: all 0.2s ease-in-out; display: inline-block; - margin-bottom: 0; - font-weight: 400; - text-align: center; - white-space: nowrap; - vertical-align: middle; - touch-action: manipulation; + padding: 0.75rem 0.8rem; + border: none; + border-radius: 0.2rem; cursor: pointer; + -ms-touch-action: manipulation; + touch-action: manipulation; + background-image: none; + text-align: center; + vertical-align: middle; + white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; - background-image: none; - min-width: 6rem; - padding: 0.5rem 1rem; - font-size: 0.9rem; - line-height: 1.42857143; - color: #fff; - background-color: #5bc0de; - border-color: #46b8da; - margin-top: 2rem; - text-decoration: inherit; + font-size: .875rem; + width: auto !important; + line-height: 1em; } -#maincontent>.container>p { - color: #32325d; -} - -li { - list-style-type: none; -} - - - -.cbi-map-descr+fieldset { - margin-top: 1rem; -} - -.cbi-section>legend { - display: none !important; -} - -fieldset>fieldset { - margin: 0; - padding: 0; - border: none; - box-shadow: none; -} - - - - -/* fix progress bar */ -#swaptotal>div, -#swapfree>div, -#memfree>div, -#membuff>div, -#conns>div, -#memtotal>div { - width: 100% !important; - height: 1.6rem !important; - line-height: 1.6rem; - border-radius: .25rem; -} - -#swaptotal>div>div, -#swapfree>div>div, -#memfree>div>div, -#membuff>div>div, -#conns>div>div, -#memtotal>div>div { - height: 100% !important; - background-color: #5e72e4 !important; -} - -/* fix multiple table */ - -table table, -.table .table { - border: none; -} - -.cbi-value-field table, -.cbi-value-field .table { - border: none; -} - -td>table>tbody>tr>td, -.td>.table>.tbody>.tr>.td { - border: none; -} - -.cbi-value-field>table>tbody>tr>td, -.cbi-value-field>.table>.tbody>.tr>.td { - border: none; -} - -/* button style */ - - - -.cbi-page-actions .cbi-button-apply, -.cbi-section-actions .cbi-button-edit, -.cbi-button-edit.important, -.cbi-button-apply.important, -.cbi-button-reload.important, -.cbi-button-action.important { - color: #fff; - background-color: #337ab7; -} - -.cbi-page-actions .cbi-button-save, -.cbi-button-add.important, -.cbi-button-save.important, -.cbi-button-positive.important { - color: #fff; - background-color: #5bc0de; -} - -.cbi-button-remove.important, -.cbi-button-reset.important, -.cbi-button-negative.important { - color: #fff; - background-color: #d9534f; -} - - - -.cbi-button-find, -.cbi-button-link, -.cbi-button-neutral { - color: #fff !important; - border: 1px solid #f0ad4e !important; - background-color: #f0ad4e !important; -} - -.cbi-button-edit, -.cbi-button-apply, -.cbi-button-reload, -.cbi-button-action { - color: #2e6da4; - border: 1px solid #2e6da4; - background-color: transparent; -} - -.cbi-page-actions .cbi-button-apply+.cbi-button-save, -.cbi-button-add, -.cbi-button-save, -.cbi-button-positive { - color: #46b8da; - border: 1px solid #46b8da; - background-color: transparent; -} - -.cbi-section-remove>.cbi-button, -.cbi-button-remove, -.cbi-button-reset, -.cbi-button-negative { - color: #fff !important; - border: 1px solid #d43f3a !important; - background-color: #fb6340 !important; -} - -.cbi-page-actions .cbi-button-link:first-child { - float: left; -} - -.a-to-btn { +.cbi-button:hover, +.cbi-button:focus, +.cbi-button:active { + outline: 0; text-decoration: none; } -/* table */ - - - - - - - -.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { - width: auto !important; +.cbi-button:hover, +.cbi-button:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } -.td.cbi-section-actions { - text-align: right; - vertical-align: middle; +.cbi-button:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } -.td.cbi-section-actions>* { - display: flex; +.cbi-button:disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.60; + box-shadow: none; } -.td.cbi-section-actions>*>*, -.td.cbi-section-actions>*>form>* { - flex: 1 1 4em; - margin: 0 1px; +.cbi-button-check { + margin-top: 0.25rem !important; } -.td.cbi-section-actions>*>form { - display: inline-flex; - margin: 0; +form.inline+form.inline, +.cbi-button+.cbi-button { + margin-left: 0rem; } -/* desc */ +.cbi-button-reset, +.cbi-input-remove { - - - - - -/* luci */ - -.hidden { - display: none + color: #fff !important; + background-color: #f0ad4e !important; + border-color: #eea236 !important; } -.left, -.left::before { - text-align: left !important; +.cbi-input-find, +.cbi-input-save, +.cbi-button-add, +.cbi-button-save, +.cbi-button-find, +.cbi-input-reload, +.cbi-button-reload { + + color: #fff !important; + background-color: #337ab7 !important; + border-color: #2e6da4 !important; } -.right, -.right::before { - text-align: right !important; +.cbi-value-field .cbi-input-apply, +.cbi-button-apply, +.cbi-button-edit { + + color: #fff !important; + background-color: #5e72e4 !important; + border-color: #5e72e4 !important; } -.center, -.center::before { - text-align: center !important; +.cbi-button-add { + margin-left: 1.5rem; } -.top { - align-self: flex-start !important; - vertical-align: top !important; +.node-services-vssr .ssr-button { + margin-left: 0.3rem; + } -.bottom { - align-self: flex-end !important; - vertical-align: bottom !important; +.cbi-section-remove>.cbi-button, +.cbi-button-remove { + color: #fff !important; + background-color: #fb6340 !important; + border-color: #fb6340 !important; } -.inline { - display: inline; +.cbi-value-field .cbi-button-add, +.cbi-value-field .cbi-button-remove, +.cbi-value-field .cbi-button-neutral { + + min-width: 2.5rem !important; } -.cbi-page-actions { - border-top: 1px solid #eee; - padding-top: 1rem; - text-align: right; -} /* input */ .cbi-value input[type="password"], @@ -826,6 +1031,10 @@ select { padding: 0px; } +.uci-change-list ins strong { + display: inline; +} + .uci-change-legend { padding: 5px; } @@ -1016,13 +1225,13 @@ ul li .cbi-input-checkbox { .cbi-section-create { margin: 0; - display: inline-flex; + padding-left: 1rem; align-items: center; - + } .cbi-section-create>* { - margin: 0.5rem; + margin: 0.25rem; } .cbi-section-remove { @@ -1048,7 +1257,7 @@ small { min-width: 0; padding: 0.2rem 0.6rem; font-size: 1.2rem; - color: #FFF !important; + color: #5e72e4 !important; } .cbi-optionals { @@ -1080,6 +1289,22 @@ small { transition: opacity .25s ease-in; } +.cbi-map-descr+fieldset { + margin-top: 1rem; +} + +.cbi-section>legend { + display: none !important; +} + +fieldset>fieldset { + margin: 0; + padding: 0; + border: none; + box-shadow: none; +} + + .zonebadge .cbi-tooltip { padding: .25rem; background: inherit; @@ -1118,7 +1343,6 @@ small { padding: 8.5px; margin: 0 0 18px; line-height: 1.5rem; - -moz-border-radius: 3px; white-space: pre-wrap; word-wrap: break-word; font-size: 1.4rem; @@ -1132,6 +1356,206 @@ input[name="nslookup"] { } +/* fix progress bar */ +#swaptotal>div, +#swapfree>div, +#memfree>div, +#membuff>div, +#conns>div, +#memtotal>div { + width: 100% !important; + height: 1.6rem !important; + line-height: 1.6rem; + border-radius: .25rem; +} + +#swaptotal>div>div, +#swapfree>div>div, +#memfree>div>div, +#membuff>div>div, +#conns>div>div, +#memtotal>div>div { + height: 100% !important; + background-color: #5e72e4 !important; +} + +/* fix multiple table */ + +table table, +.table .table { + border: none; +} + +.cbi-value-field table, +.cbi-value-field .table { + border: none; +} + +td>table>tbody>tr>td, +.td>.table>.tbody>.tr>.td { + border: none; +} + +.cbi-value-field>table>tbody>tr>td, +.cbi-value-field>.table>.tbody>.tr>.td { + border: none; +} + +/* button style */ + + + +.cbi-page-actions .cbi-button-apply, +.cbi-section-actions .cbi-button-edit, +.cbi-button-edit.important, +.cbi-button-apply.important, +.cbi-button-reload.important, +.cbi-button-action.important { + color: #fff; + background-color: #337ab7; +} + +.cbi-page-actions .cbi-button-save, +.cbi-button-add.important, +.cbi-button-save.important, +.cbi-button-positive.important { + color: #fff; + background-color: #5bc0de; +} + +.cbi-button-remove.important, +.cbi-button-reset.important, +.cbi-button-negative.important { + color: #fff; + background-color: #d9534f; +} + + + +.cbi-button-find, +.cbi-button-link, +.cbi-button-neutral { + color: #fff !important; + border: 1px solid #f0ad4e !important; + background-color: #f0ad4e !important; +} + +.cbi-button-edit, +.cbi-button-apply, +.cbi-button-reload, +.cbi-button-action { + color: #2e6da4; + border: 1px solid #2e6da4; + background-color: transparent; +} + +.cbi-page-actions .cbi-button-apply+.cbi-button-save, +.cbi-button-add, +.cbi-button-save, +.cbi-button-positive { + color: #46b8da; + border: 1px solid #46b8da; + background-color: transparent; +} + +.cbi-section-remove>.cbi-button, +.cbi-button-remove, +.cbi-button-reset, +.cbi-button-negative { + color: #fff !important; + border: 1px solid #d43f3a !important; + background-color: #fb6340 !important; +} + +.cbi-page-actions .cbi-button-link:first-child { + float: left; +} + +.a-to-btn { + text-decoration: none; +} + +/* table */ + + +.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + width: auto !important; + background-color: #e9ecef; + background-color: var(--lighter); +} + +.td.cbi-section-actions { + text-align: right; + vertical-align: middle; +} + +.td.cbi-section-actions>* { + display: flex; +} + +.td.cbi-section-actions>*>*, +.td.cbi-section-actions>*>form>* { + flex: 1 1 4em; + margin: 0 1px; +} + +.td.cbi-section-actions>*>form { + display: inline-flex; + margin: 0; +} + +/* desc */ + + + + + + +/* luci */ + +.hidden { + display: none +} + +.left, +.left::before { + text-align: left !important; +} + +.right, +.right::before { + text-align: right !important; +} + +.center, +.center::before { + text-align: center !important; +} + +.top { + align-self: flex-start !important; + vertical-align: top !important; +} + +.bottom { + align-self: flex-end !important; + vertical-align: bottom !important; +} + +.inline { + display: inline; +} + +.cbi-page-actions { + border-top: 0px solid #eee; + padding-top: 0rem; + text-align: right; +} + + + + + #xhr_poll_status { cursor: pointer; display: inline-block; @@ -1164,6 +1588,8 @@ input[name="nslookup"] { .showSide { display: none; + color: #fff; + font-size: 1.4rem; } .darkMask { @@ -1171,86 +1597,13 @@ input[name="nslookup"] { height: 100%; position: fixed; background-color: rgba(0, 0, 0, 0.56); - content: ""; z-index: 99; + left: 0; + top: 0; display: none; } -/* fix status overview */ - -.node-status-overview>.main fieldset:nth-child(4) .td:nth-child(2) { - white-space: normal; -} - -/* fix status processes */ - -.node-status-processes>.main .table .tr .td:nth-child(3) { - white-space: normal; -} - -.node-status-iptables>.main div>.cbi-map>form { - margin: 0.1rem 1.5rem 0 0 -} - -/* fix system reboot */ - -.node-system-reboot>.main>.main-right p, -.node-system-reboot>.main>.main-right h3 { - padding-left: 2rem; -} - -/* fix Services Network Shares*/ -.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-title { - margin-bottom: 1rem; - width: auto; -} - -.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-field { - display: list-item; -} - -.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-description { - padding-top: 1rem; -} - -/* fix System Software*/ -.node-system-packages>.main table tr td:nth-child(1) { - width: auto !important; -} - -.node-system-packages>.main table tr td:nth-last-child(1) { - white-space: normal; - font-size: small; - color: #404040; -} - -.node-system-packages>.main .cbi-tabmenu>li>a, -.tabs>li>a { - padding: 0.5rem 0.8rem; -} - -.node-system-packages>.main .cbi-value>pre { - background-color: #eee; - padding: 0.5rem; - overflow: auto; -} - -.cbi-tabmenu+.cbi-section { - margin-top: 0; -} - -.node-status-iptables fieldset, -.node-system-packages fieldset, -.node-system-flashops fieldset { - margin-top: 0; -} - - -.node-system-flashops form.inline+form.inline { - margin-left: 0; -} - #cbi-firewall-redirect table *, #cbi-network-switch_vlan table *, #cbi-firewall-zone table * { @@ -1292,9 +1645,6 @@ body.lang_pl.node-main-login .cbi-value-title { - - - .table { display: table; position: relative; @@ -1328,7 +1678,7 @@ body.lang_pl.node-main-login .cbi-value-title { white-space: nowrap; } -.cbi-section-table-row .td {} + .th { font-weight: bold; @@ -1423,9 +1773,27 @@ body.lang_pl.node-main-login .cbi-value-title { .cbi-rowstyle-2 .cbi-button-up, .cbi-rowstyle-2 .cbi-button-down { background-color: #FFF !important; + } +.cbi-button-up, +.cbi-button-down, +.cbi-value-helpicon, +.showSide, +.main>.loading>span { + font-family: 'argon' !important; + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.cbi-button-up { + transform: rotate(180deg); +} select { @@ -1462,6 +1830,8 @@ input:focus { box-shadow: 0 3px 9px rgba(50, 50, 9, 0), 3px 4px 8px rgba(94, 114, 228, .1); } + + select[multiple="multiple"] { height: auto; } @@ -1483,100 +1853,14 @@ hr { opacity: 0.1; } -.bg-primary { - background-color: #5e72e4 !important; -} -header, -.main { - width: 100%; -} -header { - padding: 0 0 0 0; - position: relative; -} -header::after { - content: ""; - position: absolute; - height: 2.4rem; - width: 100%; - background-color: #5e72e4 !important; -} .kpi { font-size: 0.875rem; } -footer { - text-align: right; - padding: 1rem; - color: #aaa; - font-size: 0.8rem; - text-shadow: 0px 0px 2px #BBB; -} - -footer>a { - color: #aaa; - text-decoration: none; -} - -.main { - top: 0rem; - bottom: 0rem; - position: relative; - height: 100%; - height: calc(100% - 4rem); -} - -.main>.loading { - position: fixed; - width: 100%; - height: 100%; - z-index: 2000; - display: flex; - align-items: center; - justify-content: center; - background-color: #f8f9fe; - top: 0; -} - -.main>.loading>span { - display: block; - text-align: center; - margin-top: 2rem; - color: #5e72e4; - font-size: 2rem; -} - -.main>.loading>span>.loading-img:before { - content: "\e603"; -} - -.main>.loading>span>.loading-img { - animation: anim-rotate 2s infinite linear; - margin-right: 0.4rem; - display: inline-block; -} - -.main>.main-right>.login-bg { - display: none; -} - -@keyframes anim-rotate { - 0% { - -webkit-transform: rotate(0); - -ms-transform: rotate(0); - transform: rotate(0); - } - - 100% { - -webkit-transform: rotate(360deg); - -ms-transform: rotate(360deg); - transform: rotate(360deg) - } -} fieldset[id^="cbi-apply-"] { position: fixed; @@ -1591,87 +1875,38 @@ fieldset[id^="cbi-apply-"] { box-sizing: border-box; font-size: 1.2rem; text-align: center; + box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; + transition: all 0.3s; } [id^="cbi-apply-"]>.panel-title { border-bottom: none; + } [id^="cbi-apply-"]>[id^="cbi-apply-"] { position: initial; width: auto; height: auto; - font-size: 1rem; + font-size: 0.875rem; margin-left: 0rem; margin-top: .8rem; display: block; } -.main-left { - float: left; - width: 15%; - width: calc(0% + 15rem); - height: 100%; - background-color: #fff !important; - box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15); - overflow-x: auto; - position: fixed; - z-index: 100; -} - -.main-left::-webkit-scrollbar { - width: 5px; - height: 1px; -} - -.main-left::-webkit-scrollbar-thumb { - background-color: #f6f9fc -} - -.main-left::-webkit-scrollbar-track { - background-color: #fff; -} - - -.main-right { - width: 85%; - width: calc(100% - 15rem); - float: right; - height: auto; - background-color: #f8f9fe; -} - -.node-main-login .main-right { - height: 100%; -} - -.main-right>#maincontent { - - position: relative; - z-index: 50; - -} - - - - -header>.container { - margin-top: 0.5rem; - padding: 0.5rem 1rem 0 1rem; -} - .cbi-section>h3:first-child, .panel-title { font-size: 1.125rem; width: 100%; display: block; - margin-bottom: 0; + margin: 0; padding: 0.8755rem 1.5rem; border-bottom: 1px solid #ddd; - margin-bottom: 0rem; letter-spacing: 0.1rem; color: #32325d; - font-weight: bold; + font-weight: normal; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } table { @@ -1698,7 +1933,7 @@ table>thead>tr>th, .table>.thead>.tr>.th { padding: .5rem; border-top: 1px solid #ddd; - white-space: nowrap; + } .cbi-section-table-cell { @@ -1745,12 +1980,14 @@ div>.table>.tbody>.tr:nth-of-type(2n) { .danger { background-color: #f5365c !important; - color: #fff; + background-color: var(--danger) !important; + color: #fff !important; } .warning { - background-color: #8965e0 !important; - color: #fff; + background-color: #fb6340 !important; + background-color: var(--warning) !important; + color: #fff !important; } .notice { @@ -1759,8 +1996,9 @@ div>.table>.tbody>.tr:nth-of-type(2n) { } .success { - background-color: #ffffff !important; - color: #525f7f; + background-color: #2dce89 !important; + background-color: var(--success) !important; + color: #fff !important; } .errorbox, @@ -1789,240 +2027,7 @@ div>.table>.tbody>.tr:nth-of-type(2n) { color: red; } -.main>.main-left>.sidenav-header { - padding: 1.5rem; - text-align: center; -} -.main>.main-left>.sidenav-header>.brand { - font-size: 1.8rem; - color: #5e72e4; - font-family: "TypoGraphica", sans-serif; - text-decoration: none; - padding-left: 0; - cursor: default; - vertical-align: text-bottom; - white-space: nowrap; -} - -.main>.main-left>.nav { - margin-top: 0.5rem; -} - -.main>.main-left>.nav>li a { - color: #8699ad; - display: block; -} - -.main>.main-left>.nav>li:nth-last-child(1) { - margin-top: 2rem; - font-size: 1.2rem; -} - -.main>.main-left>.nav>li:nth-last-child(1)>.menu:after { - content: ""; -} - -.main>.main-left>.nav>li { - padding: 0.5rem 1rem; - cursor: pointer; -} - -.main>.main-left>.nav>.slide { - padding: 0; -} - -.main>.main-left>.nav>.slide>ul { - display: none; -} - -.main>.main-left>.nav>.slide>.menu { - display: block; - margin: 0.1rem .5rem 0.1rem .5rem; - padding: .675rem 0 .675rem 2.5rem; - border-radius: .375rem; - text-decoration: none; - cursor: default; - font-size: 1rem; - transition: all 0.2s; - position: relative; -} - -.main>.main-left>.nav>li:hover, -.main>.main-left>.nav>.slide>.menu:hover { - cursor: pointer; - color: #000; -} - -.main>.main-left>.nav>.slide:hover { - background: none; - -} - -.main>.main-left>.nav>.slide>.menu:before { - font-family: 'argon' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - left: 0.8rem; - padding-top: 3px; -} - -.main>.main-left>.nav>.slide>.menu[data-title=Status]:before { - content: "\e906"; - color: #5e72e4 !important; -} - -.main>.main-left>.nav>.slide>.menu[data-title=System]:before { - content: "\e90a"; - color: #fb6340 !important; -} - -.main>.main-left>.nav>.slide>.menu[data-title=Services]:before { - content: "\e909"; - color: #11cdef !important; -} - -.main>.main-left>.nav>.slide>.menu[data-title=NAS]:before { - content: "\e90c"; - color: #f3a4b5 !important; -} - -.main>.main-left>.nav>.slide>.menu[data-title=VPN]:before { - content: "\e90b"; - color: #172b4d !important; -} - -.main>.main-left>.nav>.slide>.menu[data-title=Network]:before { - content: "\e908"; - color: #8965e0 !important; -} - -.main>.main-left>.nav>.slide>.menu[data-title=Bandwidth_Monitor]:before { - content: "\e90d"; - color: #2dce89 !important; -} - -.main>.main-left>.nav>.slide>.menu[data-title=Docker]:before { - content: "\e911"; - color: #6699ff !important; -} - -.main>.main-left>.nav>.slide>.menu[data-title=Logout]:before { - content: "\e907"; - color: #32325d !important; -} - -.main>.main-left>.nav>.slide>.menu:after { - position: absolute; - right: 0.5rem; - top: 0.8rem; - font-family: 'argon' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - content: '\e90f'; - transition: all .15s ease; - color: #ced4da; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - transition: all 0.3s; -} - -header>.fill { - padding: 0.8rem 0; - border-bottom: 0px solid rgba(255, 255, 255, .08) !important; - -} - -header>.fill>.container { - height: 2rem; - padding: 0 1rem; - -} - -header>.fill>.container>.brand { - font-size: 1.5rem; - color: #fff; - font-family: "TypoGraphica"; - text-decoration: none; - padding-left: 1rem; - cursor: default; - vertical-align: text-bottom; - display: none; -} - -.main>.main-left>.nav>.slide>.menu.active { - color: #fff; - background: #5e72e4; -} - -.main>.main-left>.nav>.slide>.menu.active::before { - color: #fff !important; -} - -.main>.main-left>.nav>.slide>.menu.active:after { - color: #fff; - transform: rotate(90deg); -} - -.main>.main-left>.nav>.slide>.slide-menu>li>a { - position: relative; - - margin: 0.1rem 1rem 0.1rem 3rem; - padding: 0.5rem 0rem 0.5rem 0; - text-decoration: none; - white-space: nowrap; - color: rgba(0, 0, 0, .6); - transition: all 0.2s; - font-size: 0.875rem; - -} - -.main>.main-left>.nav>.slide>.slide-menu>li>a::after { - content: ""; - position: absolute; - width: 00%; - height: 2px; - left: 0; - bottom: 0; - background-color: #5e72e4; - transition: all 0.2s; -} - -.main>.main-left>.nav>.slide>.slide-menu>.active>a { - color: #000; -} - -.main>.main-left>.nav>.slide>.slide-menu>.active>a::after, -.main>.main-left>.nav>.slide>.slide-menu>li>a:hover::after { - color: #000; - width: 100%; -} - - -li { - list-style-type: none; -} - -#maincontent>.container { - margin: 0 2rem 1rem 2rem; -} h1 { font-size: 2rem; @@ -2034,16 +2039,16 @@ h1 { h2 { margin: 0 0 1rem 0; - font-size: 1.5rem; - font-weight:bold; + font-size: 1.25rem; letter-spacing: 0.1rem; padding: 1rem 1.5rem; color: #32325d; border-radius: .375rem; background: #fff; - box-shadow: 0 4px 8px rgba(0,0,0,.03); + box-shadow: 0 4px 8px rgba(0, 0, 0, .03); } + #cbi-dropbear h2, #cbi-dropbear .cbi-map-descr, #cbi-dropbear .cbi-map-descr abbr, @@ -2060,19 +2065,21 @@ h2 { h3 { - font-size: 1.4rem; + font-size: 1.15rem; width: 100%; display: block; - margin-bottom: 0; - padding: 0.8755rem 1.5rem; - border-bottom: 1px solid #ddd; - margin-bottom: 0rem; + margin: 1rem 0; letter-spacing: 0.1rem; color: #32325d; font-weight: bold; + letter-spacing: 0.1rem; + padding: 1rem 1.5rem; + border-radius: 0.375rem; + background: #fff; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.03); } -h4 {} + fieldset { margin: 1.25rem 0 0 0; @@ -2121,7 +2128,7 @@ fieldset.cbi-section p { margin-bottom: 0rem; letter-spacing: 0.1rem; color: #32325d; - font-weight: bold; + font-weight: 600; } table { @@ -2133,14 +2140,13 @@ table { table>tbody>tr>td, table>tfoot>tr>td, table>thead>tr>td { - font-size: .8125rem; - white-space: nowrap; + font-size: .875rem; color: #525f7f; - padding: 0.75rem; - padding-right: 1.5rem; - padding-left: 1.5rem; + line-height: 1.4em; + vertical-align: middle !important; + padding: 0.8rem 1.5rem; border-top: 1px solid #ddd; - white-space: nowrap; + } table>tbody>tr>th, @@ -2201,151 +2207,130 @@ td>table>tbody>tr>td { -/* button style */ -.cbi-button { - -webkit-appearance: none; - text-transform: uppercase; - height: auto; - font-size: 0.875rem; - color: rgba(0, 0, 0, 0.87); - background-color: #F0F0F0; - transition: all 0.2s ease-in-out; - display: inline-block; - padding: 0.75rem 0.8rem; - border: none; - border-radius: 0.2rem; - cursor: pointer; - -ms-touch-action: manipulation; - touch-action: manipulation; - background-image: none; - text-align: center; - vertical-align: middle; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - font-size: .8125rem; - width: auto !important; - line-height: 1em; -} - -.cbi-button:hover, -.cbi-button:focus, -.cbi-button:active { - outline: 0; - text-decoration: none; -} - -.cbi-button:hover, -.cbi-button:focus { - box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); -} - -.cbi-button:active { - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); -} - -.cbi-button:disabled { - cursor: not-allowed; - pointer-events: none; - opacity: 0.60; - box-shadow: none; -} - -.cbi-button-check { - margin-top: 0.25rem !important; -} - -form.inline+form.inline, -.cbi-button+.cbi-button { - margin-left: 0rem; -} - -.cbi-button-reset, -.cbi-input-remove { - - color: #fff !important; - background-color: #f0ad4e !important; - border-color: #eea236 !important; -} - -.cbi-input-find, -.cbi-input-save, -.cbi-button-add, -.cbi-button-save, -.cbi-button-find, -.cbi-input-reload, -.cbi-button-reload { - - color: #fff !important; - background-color: #337ab7 !important; - border-color: #2e6da4 !important; -} - -.cbi-value-field .cbi-input-apply, -.cbi-button-apply, -.cbi-button-edit { - - color: #fff !important; - background-color: #5e72e4 !important; - border-color: #5e72e4 !important; -} - -.node-services-vssr .ssr-button{ - margin-left: 0.3rem; - -} - -.cbi-section-remove>.cbi-button, -.cbi-button-remove { - color: #fff !important; - background-color: #fb6340 !important; - border-color: #fb6340 !important; -} - -.cbi-value-field .cbi-button-add, -.cbi-value-field .cbi-button-remove, -.cbi-value-field .cbi-button-neutral { - - min-width: 2.5rem !important; -} /* table */ .tabs { - margin: 0.5rem 0rem; - padding-left: 1rem; + margin: 0 0 1rem 0; + padding: 0 1rem; background-color: #FFFFFF; border-radius: 0.375rem; - box-shadow: 0 4px 8px rgba(0,0,0,.03); + box-shadow: 0 4px 8px rgba(0, 0, 0, .03); + white-space: nowrap; + overflow-x: auto; + + &::-webkit-scrollbar { + width: 1px; + height: 5px; + } + + &::-webkit-scrollbar-thumb { + background-color: #f6f9fc + } + + &::-webkit-scrollbar-track { + background-color: #fff; + } + + li[class~="active"], + li:hover { + cursor: pointer; + border-bottom: 0.18751rem solid #5e72e4; + color: #5e72e4; + background-color: #dce1fe; + margin-bottom: 0; + border-radius: 0; + + a { + color: #5e72e4; + } + } + + li { + font-size: 0.875rem; + display: inline-block; + padding: 0.875rem 0rem; + border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); + + a { + text-decoration: none; + color: #404040; + padding: 0.5rem 0.8rem; + } + + &:hover { + border-bottom: 0.18751rem solid #5e72e4; + } + } } -.cbi-tabmenu>li, -.tabs>li { - font-size: 0.875rem; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; - display: inline-block; - padding: 0.5rem 0rem; - border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); +.cbi-tabmenu { + color: white; + padding: 0.5rem 1rem 0 1rem; + white-space: nowrap; + overflow-x: auto; + border-bottom: 1px solid #ddd !important; + + &::-webkit-scrollbar { + width: 1px; + height: 5px; + } + + &::-webkit-scrollbar-thumb { + background-color: #f6f9fc + } + + &::-webkit-scrollbar-track { + background-color: #fff; + } + + li { + background: #dce3e9; + display: inline-block; + font-size: 0.875rem; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + padding: 0.5rem 0rem; + border-bottom: 0.18751rem solid rgba(0, 0, 0, 0); + + a { + text-decoration: none; + color: #404040; + padding: 0.5rem 0.8rem; + } + + &:hover { + cursor: pointer; + border-bottom: 0.18751rem solid #5e72e4; + color: #5e72e4; + background-color: #dce1fe; + margin-bottom: 0; + + a { + color: #525f7f; + } + } + } + + li[class~="cbi-tab"] { + border-bottom: 0.18751rem solid #5e72e4; + color: #5e72e4; + background-color: #dce1fe; + margin-bottom: 0; + + a { + color: #5e72e4; + } + } } -.cbi-tabmenu>li { - background: #adb5bd; -} - -.cbi-tabmenu>li>a, -.tabs>li>a { - text-decoration: none; - color: #404040; - padding: 0.5rem 0.8rem; -} - -.cbi-tabmenu>li>a { - color: #fff; +.cbi-tab-descr { + margin: 1rem 1.5rem; + color: #32325d; + font-size: small; + line-height: 1.5em; } .cbi-dropdown { @@ -2570,44 +2555,7 @@ select[multiple="multiple"] { display: none !important; } -.tabs>li[class~="active"], -.tabs>li:hover { - cursor: pointer; - border-bottom: 0.18751rem solid #5e72e4; - color: #5e72e4; - margin-bottom: 0; -} - -.tabs>li[class~="active"]>a { - color: #5e72e4; -} - -.tabs>li:hover { - border-bottom: 0.18751rem solid #5e72e4; -} - -.cbi-tabmenu { - color: white; - padding: 0.5rem 1rem 0 1rem; -} - -.cbi-tabmenu>li:hover { - background-color: #F1F1F1; -} - -.cbi-tabmenu>li:hover>a { - color: #525f7f; -} - -.cbi-tabmenu>li[class~="cbi-tab"] { - - background-color: #fb6340; -} - -.cbi-tabmenu>li[class~="cbi-tab"]>a { - color: #fff; -} @@ -2638,11 +2586,10 @@ select[multiple="multiple"] { overflow-y: visible; } -#cbi-network .cbi-section, -#cbi-network .cbi-section .cbi-section-node {} + .cbi-section-node .cbi-value { - padding: 0.3rem 0rem 0.3rem 1rem; + padding: 0.3rem 1rem 0.3rem 1rem; } @@ -2714,35 +2661,21 @@ select[multiple="multiple"] { /* desc */ .cbi-section-descr { - padding: 1rem 0 1rem 2rem; + padding: 1rem 1.5rem; font-size: 0.7rem; font-weight: 600; + line-height: 1.5em; color: #525f7f; } .cbi-map-descr { - margin: 0rem 0 1rem 1.5rem; + margin: 0rem 1.5rem 1rem 1.5rem; color: #32325d; font-size: small; + line-height: 1.5em; } -/* luci */ -.hidden { - display: none -} - -.left { - text-align: left !important; -} - -.right { - text-align: right !important; -} - -.inline { - display: inline; -} /* input */ @@ -2793,43 +2726,22 @@ td>.ifacebadge { width: 100%; min-height: 15rem; padding: 1rem; + line-height: 1.4em; font-size: small; - color: #5F5F5F; + color: #fff; border-radius: 0; - background-color: #FFF; + background-color: #1e1e1e; border: none; outline: none; } -/* change */ - -.uci-change-list { - - font-family: monospace; -} - -.uci-change-list ins strong { - display: inline; -} - - - -. .uci-change-legend { - padding: 5px 2rem; -} -.uci-change-list var, -.uci-change-list del, -.uci-change-list ins { - padding: 0.5rem; -} -/* other fix */ .ifacebadge { @@ -2854,9 +2766,7 @@ td>.ifacebadge, align-self: flex-start; } -.ifacebadge>img+img { - /*margin: 0 .2rem 0 0;*/ -} + .ifacebadge span { line-height: 1.6em; @@ -3006,7 +2916,7 @@ td>.ifacebadge, } .cbi-section-create>.cbi-button-add { - margin: 0.5rem; + margin: 0.5rem 0.5rem 0.5rem 0.5rem; } .cbi-section-remove { @@ -3038,11 +2948,6 @@ input[name="nslookup"] { width: 80%; } -header>.container>.pull-right>* { - position: relative; - top: 0.45rem; - cursor: pointer; -} .label { @@ -3062,292 +2967,9 @@ header>.container>.pull-right>* { -.showSide { - display: none; - color: #fff; - font-size: 1.4rem; -} - -.darkMask { - width: 100%; - height: 100%; - position: fixed; - background-color: rgba(0, 0, 0, 0.56); - z-index: 99; - left: 0; - top: 0; - display: none; -} - -/* fix Main Login*/ -.node-main-login>.main>.main-right>header { - background: none !important; - box-shadow: none !important; - display: none; -} - -.node-main-login>.main>.main-right>header>.fill>.container { - margin: 2rem auto; - max-width: 1140px; -} - -.node-main-login>.main>.main-right>header>.fill>.container>.brand { - font-size: 2rem; - color: #5e72e4; - display: none; - -} - -.node-main-login>.main { - top: 0; - height: 100% !important; -} - -.node-main-login>.main>.main-left { - display: none; -} - -.node-main-login>.main>.main-right { - width: 100%; -} - -.node-main-login>.main>.main-right>.login-bg { - display: block; - position: fixed; - width: 100%; - height: 100%; - left: 0px; - top: 0px; - background-size: cover; - background-color: #000; - background-position: top center; - transition: all 0.5s; -} - -.node-main-login>.main>.main-right>.login-bg.blur { - transform: scale(1.05); - -webkit-filter: blur(5px); - /* Chrome, Safari, Opera */ - filter: blur(5px); -} - -.node-main-login>.main>.main-right>#maincontent { - padding-top: 23vh; - height: 100%; - background-color: transparent !important; - margin-top: 0rem; -} - -.node-main-login>.main fieldset { - padding: 0.5rem; - margin: 0rem; - display: inline; - background: none; - border: none; - box-shadow: none; - overflow: hidden; -} - -.node-main-login>.main .cbi-value-title { - font-size: 1rem; - line-height: 1.5; - color: #525f7f; - padding: .625rem; -} - -.node-main-login>.main #maincontent { - - text-align: center; -} - -.node-main-login>.main .container { - display: inline-block; - padding: 2rem 2rem; - position: relative; - margin-top: 2rem !important; - background-color: #f7fafc !important; - border-radius: .375rem; - box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15); - text-align: left; -} - -.node-main-login>.main .container h2 { - width: 120px; - height: 120px; - color: #fff; - text-align: center; - letter-spacing: 4px; - display: block; - margin: -100px auto 15px auto; - padding: 0; - text-indent: -500px; - overflow: hidden; - border-radius: 60px; - border: #fff 3px solid; - - background-image: url(../head-icon.jpg); - background-size: cover; - box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(156, 39, 176, 0.4); - -} - -.node-main-login>.main .container .cbi-map-descr { - text-align: center; - padding: 1rem; - color: #8898aa; -} - -.node-main-login>.main .container .cbi-section-node { - padding: 0; -} -.node-main-login>.main .container .cbi-value-field input { - font-size: 1rem; - line-height: 1.5; - display: block; - width: 100%; - height: calc(2.75rem + 2px); - padding: .625rem .75rem; - transition: all .15s cubic-bezier(.68, -.55, .265, 1.55); - color: #8898aa; - border: 0px solid #dee2e6; - border-radius: .25rem; - background-color: #fff; - background-clip: padding-box; - box-shadow: 0 3px 2px rgba(233, 236, 239, .05); -} -.node-main-login>.main .container .cbi-value-field input:focus { - color: #8898aa; - - outline: 0; - background-color: #fff; - box-shadow: 0 3px 9px rgba(50, 50, 9, 0), 3px 4px 8px rgba(94, 114, 228, .1) -} - -.node-main-login>.main .container input.cbi-button { - font-size: 1rem; - height: auto; - position: relative; - transition: all .15s ease; - letter-spacing: .2em; - text-transform: none; - padding: .625rem 1.25rem; - will-change: transform; - line-height: 1.5em; -} - -.node-main-login>.main form>div:nth-last-child(1) { - text-align: center; - border-top: 0; - padding-top: 2rem; -} - -.node-main-login>.main .cbi-value { - display: block; - padding: 0; -} - - -.node-main-login>.main .cbi-value>* { - display: inline-block !important; -} - -.node-main-login>.main .cbi-value:first-child, -.node-main-login>.main .cbi-button-reset { - display: none !important; -} - - -.node-main-login>.main .cbi-value.cbi-value-last .cbi-value-title { - display: none !important; -} - -.node-main-login>.main .cbi-value.cbi-value-last .cbi-input-text { - box-shadow: 0 1px 3px rgba(50, 50, 93, .15), 0 1px 0 rgba(0, 0, 0, .02); - transition: box-shadow .15s ease; - border-radius: .375rem; - box-sizing: border-box; - padding-left: 3em; - margin: 0; -} - -.node-main-login>.main .cbi-value.cbi-value-last .cbi-input-password { - box-shadow: 0 1px 3px rgba(50, 50, 93, .15), 0 1px 0 rgba(0, 0, 0, .02); - transition: box-shadow .15s ease; - border-radius: .375rem; - box-sizing: border-box; - padding-left: 3em; - margin: 0; -} - -.node-main-login>.main .cbi-value.cbi-value-last .cbi-value-field { - position: relative; - width: 20rem; -} - -.node-main-login>.main .cbi-value.cbi-value-last .cbi-value-field:before { - font-family: 'argon' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - content: "\e910"; - color: #adb5bd; - font-size: 1.5rem; - position: absolute; - z-index: 100; - left: 10px; - top: 10px; -} - -.node-main-login>.main .cbi-input-user, -.node-main-login>.main .cbi-input-password { - min-width: 15rem; -} - -.node-main-login .alert-message.warning { - position: absolute; - color: #fff; - width: calc(100% - 4rem); - background-color: #f0ad4e; - border-color: #eea236; - box-sizing: border-box; - margin-top: 8rem; - border-radius: 5px; - padding: 1rem 2rem; - text-align: center; -} - -.node-main-login .errorbox { - position: absolute; - color: #fff; - width: calc(100% - 4rem); - border-color: #eea236; - box-sizing: border-box; - margin-top: 8rem; - border-radius: 5px; - padding: 1rem 2rem; - text-align: center; - background-color: #8965e0 !important; - -} - -.node-main-login footer { - bottom: 0; - position: absolute; - width: 100%; - color: #fff; -} - -.node-main-login footer>a { - color: #fff; -} /* fix status overview */ @@ -3355,6 +2977,10 @@ header>.container>.pull-right>* { white-space: normal; } +.node-status-overview>.main #wan4_i , .node-status-overview>.main #wan6_i { + width: 80px !important; +} + /* fix status processes */ .node-status-processes>.main table tr td:nth-child(3) { @@ -3406,6 +3032,34 @@ header>.container>.pull-right>* { overflow: auto; } +.node-system-packages>.main .cbi-page-actions { + padding: 1rem 0; +} + +.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last { + line-height: 1.8em; + + div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] { + border: 1px solid #999999 !important; + width: 100% !important; + background-color: #fff !important; + height: 1.4rem !important; + border-radius: 0.25rem; + margin: 0.5rem 0; + overflow: hidden; + + div { + border-right: 0 !important; + background-color: #5e72e4 !important; + } + } + +} + +.node-system-leds .cbi-section em { + display: block; +} + .cbi-tabmenu+.cbi-section { margin-top: 0; } @@ -3417,32 +3071,28 @@ header>.container>.pull-right>* { box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15); overflow-x: auto; overflow-y: hidden; -} -.cbi-section em { + em { + padding: 0.75rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + color: #525f7f; + text-align: center; + } + + h4 { + padding: 0.75rem 1.5rem; + font-size: 0.7rem; + font-weight: 600; + color: #525f7f; + } + - padding: 0rem 1.5rem; - font-size: 0.7rem; - font-weight: 600; - color: #525f7f; } -#cbi-system-led em { - padding: 0.75rem 1.5rem; -} -.cbi-section h4 { - padding: 0.75rem 1.5rem; - font-size: 0.7rem; - font-weight: 600; - color: #525f7f; -} -.node-main-login .cbi-section { - margin-bottom: 0px; - padding-bottom: 0px; -} #content_syslog { border-radius: .375rem; @@ -3464,6 +3114,10 @@ header>.container>.pull-right>* { min-width: 4rem; } +.node-network-firewall .cbi-section-table { + width: 100% !important; +} + .node-status-iptables fieldset, .node-system-packages fieldset, .node-system-flashops fieldset { @@ -3474,7 +3128,6 @@ header>.container>.pull-right>* { .node-system-packages .cbi-tabmenu, .node-system-flashops .cbi-tabmenu { border: none; - padding-left: 2rem; } .node-system-flashops form.inline+form.inline { @@ -3488,38 +3141,61 @@ header>.container>.pull-right>* { .node-network-diagnostics { font-size: 0.875rem; + + #diag-rc-output { + display: block; + padding: 1rem; + + pre { + font-size: 0.875rem; + } + + } + + .cbi-section div { + padding: 0 1.5rem; + } + } -.node-network-diagnostics .cbi-section div{ - padding:0 1.5rem; -} -.node-network-diagnostics #diag-rc-output pre{ - padding:1rem; - font-size: 0.875rem; +.node-network-diagnostics input { + margin: 0.25rem !important; } /* fix nlbw/display*/ -#detail-bubble.in{ +#detail-bubble.in { z-index: 500; } -.node-nlbw-display .cbi-section ul{ - padding:0.875rem 1.5rem; +.node-nlbw-display .cbi-section ul { + padding: 0.875rem 1.5rem; +} + +.node-nlbw-backup form { + margin-left: 1.5rem; +} + +.node-nas-usb_printer em{ + display: block; } @media screen and (max-width: 1600px) { - .main-left { - width: calc(0% + 13rem); + + .main { + .main-left { + width: calc(0% + 13rem); + } + + .main-right { + width: calc(100% - 13rem); + } } - .main-right { - width: calc(100% - 13rem); - } .cbi-button { /*padding: 0.3rem 1.5rem;*/ @@ -3550,22 +3226,30 @@ header>.container>.pull-right>* { .node-status-iptables>.main fieldset li>a { padding: 0.3rem 0.6rem; } + + select { + min-width: 15rem; + } } + @media screen and (max-width: 1280px) { header>.container { margin-top: 0.25rem; } + .main { + .main-left { + width: calc(0% + 13rem); + } - .main-left { - width: calc(0% + 13rem); + .main-right { + width: calc(100% - 13rem); + } } - .main-right { - width: calc(100% - 13rem); - } + .cbi-tabmenu>li>a, .tabs>li>a { @@ -3594,21 +3278,26 @@ header>.container>.pull-right>* { } @media screen and (max-width: 992px) { - .main-left { - width: 0; - position: fixed; - z-index: 100; - } + .main { + .main-left { + width: 0; + position: fixed; + z-index: 100; + } - .main-right { - width: 100%; + .main-right { + width: 100%; + } } .showSide { padding: 0.1rem; position: relative; - z-index: 999; display: inline-block; + + &:hover { + text-decoration: none; + } } .showSide:before { @@ -3616,9 +3305,7 @@ header>.container>.pull-right>* { font-size: 1.7rem; } - .node-main-login .showSide { - display: none !important; - } + header>.fill>.container>.brand { display: inline-block; @@ -3643,7 +3330,7 @@ header>.container>.pull-right>* { .node-network-diagnostics>.main .cbi-map fieldset>div select, .node-network-diagnostics>.main .cbi-map fieldset>div input[type="button"] { - margin: 1rem 0 0 0; + margin: 1rem 0 0 0 !important; } .node-network-diagnostics>.main .cbi-map fieldset>div { @@ -3654,9 +3341,7 @@ header>.container>.pull-right>* { font-size: 1rem; } - .node-main-login>.main .cbi-value-title { - text-align: left; - } + } @media screen and (max-width: 480px) { @@ -3664,6 +3349,44 @@ header>.container>.pull-right>* { font-size: 0.8rem; } + .pull-right { + float: right; + margin-top: 0rem !important; + } + + .login-page .login-container { + margin-left: 0rem !important; + width: 100%; + + .login-form { + .form-login { + .input-group { + &::before { + color: #525461; + } + + input { + color: #525461; + border-bottom: white 1px solid; + border-bottom: var(--white) 1px solid; + border-radius: 0; + } + + } + } + } + + } + + @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { + .login-page .login-container .login-form { + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + background-color: rgba(244, 245, 247, 0.7); + + } + } + fieldset { padding: 0; margin: 1rem 0 0 0; @@ -3677,6 +3400,15 @@ header>.container>.pull-right>* { margin: 0; } + h2 { + font-size: 1.125rem; + } + + .panel-title { + font-size: 1rem; + padding-bottom: 1rem; + } + #maincontent>.container { margin: 0 1rem 1.5rem 1rem; } @@ -3689,24 +3421,24 @@ header>.container>.pull-right>* { font-size: 0.9rem; } - .main>.main-left>.nav>.slide>.menu:before { - padding-top: 5px; - } .main>.main-left>.nav>.slide>.menu:after { top: 0.9rem; } + #ethinfo td { + padding: 0.75rem 0.2rem !important; + + } + .cbi-value-title { width: 100%; min-width: 0rem !important; display: block; - margin-top: 1rem; + margin-top: 0.5rem; margin-bottom: 0.5rem; - padding-bottom: 0; - padding-top: 0; text-align: left; - padding-left: 1rem; + padding: 0 0.25rem; } .cbi-value input[type="password"], @@ -3721,13 +3453,9 @@ header>.container>.pull-right>* { .cbi-value>.cbi-value-field { display: inline-block; - padding-left: 1rem; + } - .node-main-login .cbi-value>.cbi-value-field { - width: 18rem; - padding-left: 0rem; - } .cbi-value-field .cbi-input-checkbox, @@ -3742,48 +3470,15 @@ header>.container>.pull-right>* { } - - .node-main-login>.main .container { - padding: 0.5rem 1rem 2rem 1rem; - } - - - - .node-main-login>.main form>div:nth-last-child(1) { - margin-top: 0rem; - } - - .node-main-login>.main .cbi-value-title { - width: 100% !important; - margin-top: 0rem; - font-size: 1rem; - margin-bottom: 0; - padding: 0 0.5rem; - } - - .node-main-login>.main fieldset { - margin: 0; - padding: 0.5rem; - } - - .node-main-login .alert-message.warning { - width: calc(100% - 2rem); - padding: 1rem 1rem; - font-size: 12px; - } - - - h2 { - font-size: 1.5rem; + .tabs, + .cbi-tabmenu { + &::-webkit-scrollbar { + width: 0px; + height: 0px; + } } - .node-main-login>.main .container h2 { - - margin: -70px auto 15px auto; - - - } .tabs>li>a { font-size: 0.9rem; @@ -3798,11 +3493,25 @@ header>.container>.pull-right>* { display: none; } - .panel-title { - font-size: 1.4rem; - padding-bottom: 1rem; + + + .node-status-realtime { + + table>tbody>tr>td, + table>tfoot>tr>td, + table>thead>tr>td { + font-size: .8125rem; + color: #525f7f; + line-height: 1.4em; + vertical-align: middle !important; + padding: 0.8rem 0rem; + border-top: 1px solid #ddd; + width: auto; + text-align: center; + } } + .node-system-packages>.main .cbi-value.cbi-value-last>div { width: 100% !important; } @@ -3815,6 +3524,10 @@ header>.container>.pull-right>* { width: 100%; } + .node-system-leds .cbi-section em { + display: block; + } + .node-status-iptables>.main div>.cbi-map>form { position: static !important; margin: 0 0 2rem 0; @@ -3841,6 +3554,25 @@ header>.container>.pull-right>* { .node-status-iptables>.main div>.cbi-map>form input[type="submit"]+input[type="submit"] { margin-top: 1rem; } + + .cbi-value input[type="text"]:has(+ img) { + width: 10rem !important; + } + + .node-services-vssr { + .status-info { + font-size: 0.75rem; + } + + .icon-con { + margin-top: 0.4rem; + + img { + width: 2.3rem !important; + height: auto; + } + } + } } @@ -3851,31 +3583,142 @@ header>.container>.pull-right>* { color: #cccccc; } - .main-left::-webkit-scrollbar-thumb { - background-color: #252526 !important - } - - .main-left::-webkit-scrollbar-track { - background-color: #333; + .login-page .login-container { + + .login-form { + background-color: #1e1e1e; + + .brand { + color: #adb5bd; + } + + .form-login { + .input-group { + &::before { + color: #adb5bd; + } + + input { + background-color: transparent !important; + color: #adb5bd; + border-bottom: #adb5bd 1px solid !important; + border-radius: 0; + border-top: none; + border-left: none; + border-right: none; + } + + } + + .cbi-button-apply { + background-image: linear-gradient(-135deg, #6c61ab 0%, #594ca9 100%); + + &:hover, + &:focus { + background-image: linear-gradient(-135deg, rgb(85, 76, 138) 0%, rgb(72, 61, 139) 100%); + } + } + } + } + } - .node-main-login>.main .container { + header::after { background-color: #1e1e1e !important; } - .node-main-login>.main .container h2 { - border: #292a2d 3px solid; - box-shadow: none; + + .main { + .main-left { + + background-color: #333333 !important; + box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .15); + + .sidenav-header .brand { + color: #ccc; + } + + .nav { + .slide { + .slide-menu { + .active { + a { + color: #cccccc; + + &::after { + background-color: #cccccc !important; + } + } + } + + li { + a { + color: #cccccc; + } + + a:hover { + background: none !important; + } + } + } + + .menu.active { + background-color: darkslateblue !important; + color: #cccccc !important; + + a::after { + background-color: #cccccc !important; + } + } + } + + li { + a { + color: #cccccc !important; + } + + a:hover { + background-color: darkslateblue !important; + color: #cccccc !important; + + + } + } + } + + + &::-webkit-scrollbar-thumb { + background-color: #252526 !important; + } + + &::-webkit-scrollbar-track { + background-color: #333; + } + } + + .main-right { + background-color: #1e1e1e; + } } - .node-main-login>.main .container .cbi-value-field input { - background-color: #3c3c3c !important; + h2 { + color: #ccc; + background: #333333; } - .node-main-login .errorbox { - background-color: #3d0303 !important; + h3 { + color: #ccc; + border-bottom: 0; + background: #333333; } + a:-webkit-any-link { + color: -webkit-link; + cursor: pointer; + color: darkslateblue; + } + + input:-webkit-autofill { background-color: #3c3c3c !important; } @@ -3888,64 +3731,19 @@ header>.container>.pull-right>* { border-color: darkslateblue !important; } - .main-left { - - background-color: #333333 !important; - box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .15) - } - - .main>.main-left>.sidenav-header>.brand { - color: #ccc; - } .cbi-section em { color: darkslateblue; } - .main>.main-left>.nav>.slide>.slide-menu>.active>a { - color: #cccccc; - } - .main>.main-left>.nav>.slide>.slide-menu>li>a { - color: #cccccc; - } - .main>.main-left>.nav>.slide>.menu.active, - .main>.main-left>.nav>li a:hover { - background-color: darkslateblue !important; - color: #cccccc !important; - - } - - .main>.main-left>.nav>li a { - color: #cccccc; - } - - .main>.main-left>.nav>.slide>.slide-menu>li>a:hover { - background: none !important; - } - - .main>.main-left>.nav>.slide>.slide-menu>.active>a::after, - .main>.main-left>.nav>.slide>.slide-menu>li>a:hover::after { - background-color: #cccccc !important; - } - - .bg-primary { + header.bg-primary { background-color: #1e1e1e !important; } - header::after { - background-color: #1e1e1e !important; - } - .main-right { - background-color: #1e1e1e; - } - h2 { - color: #ccc; - background: #333333; - } .cbi-map-descr { color: #ccc; } @@ -3996,13 +3794,21 @@ header>.container>.pull-right>* { color: #ccc !important; } - a:-webkit-any-link { - color: -webkit-link; - cursor: pointer; - text-decoration: underline; - color: #ccc; + .node-system-packages>.main .cbi-section-node:first-child .cbi-value-last { + line-height: 1.8em; + + div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] { + border: 1px solid #999999 !important; + background-color: transparent !important; + + div { + background-color: #32325d !important; + } + } + } + table>tbody>tr>th, table>tfoot>tr>th, table>thead>tr>th { @@ -4025,9 +3831,13 @@ header>.container>.pull-right>* { border-bottom: 0; } + .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell { + background-color: #1e1e1f; + } + .cbi-button { color: #ccc; - background-color: #3c3c3c; + background-color: #252526; } .cbi-section-node { @@ -4055,10 +3865,6 @@ header>.container>.pull-right>* { background-color: #1e1e1e; } - .cbi-page-actions { - border-top: 1px solid #000; - } - #iwsvg, #iwsvg2, #bwsvg { @@ -4071,21 +3877,41 @@ header>.container>.pull-right>* { background-color: #252526; } + .tabs>li[class~="active"]>a { + color: #ccc; + } + + .tabs>li[class~="active"], + .tabs>li:hover { + border-bottom: 0.18751rem solid darkslateblue; + color: #ccc; + background-color: #181819; + } + .cbi-tabmenu>li>a, .tabs>li>a { color: #ccc; + + &:hover { + color: #ccc; + } } .cbi-tabmenu>li { background: #2d2d2d; } + .cbi-tabmenu li[class~="cbi-tab"] a { + color: #ccc; + } + .cbi-tabmenu>li:hover { + color: #ccc; background: #2d2d2d; } .cbi-tabmenu>li[class~="cbi-tab"] { - background-color: darkorange; + background-color: #181819; } .cbi-tabcontainer>.cbi-value:nth-of-type(2n) { @@ -4125,59 +3951,67 @@ header>.container>.pull-right>* { color: #ccc !important; } - .cbi-value-field>ul>li .ifacebadge{ + .cbi-value-field>ul>li .ifacebadge { background-color: #3c3c3c; } - .cbi-section-descr{ + .cbi-section-descr { color: #ccc; } - .cbi-input-textarea{ + .cbi-input-textarea { background-color: #1e1e1e; color: #ccc; } - h3{ - color: #ccc; - border-bottom: 0; - } - .cbi-section-remove:nth-of-type(2n), .cbi-section-node:nth-of-type(2n){ + + + .cbi-section-remove:nth-of-type(2n), + .cbi-section-node:nth-of-type(2n) { background-color: #1e1e1e; } - .node-system-packages>.main table tr td:nth-last-child(1){ + + .node-system-packages>.main table tr td:nth-last-child(1) { color: #ccc; - + } - .cbi-section-node .cbi-value{ + + .cbi-section-node .cbi-value { padding: 1rem 1rem 0.3rem 1rem; } - .ifacebox{ - background-color:none; + + .ifacebox { + background-color: none; border: 1px solid #1e1e1e; } - .ifacebox-head{ + + .ifacebox-head { color: #666; } - .ifacebox-body{ + + .ifacebox-body { background-color: #333; } - .zonebadge strong{ + + .zonebadge strong { color: #333; } - .zonebadge>.ifacebadge{ + + .zonebadge>.ifacebadge { background-color: #3c3c3c; } - div.cbi-value var, td.cbi-value-field var{ + + div.cbi-value var, + td.cbi-value-field var { color: #5e72e4; } - #diag-rc-output>pre{ + #diag-rc-output>pre { color: #ccc; background-color: #1e1e1e; } - .node-services-vssr .block{ + .node-services-vssr .block { background-color: #3c3c3c !important; box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); } @@ -4186,13 +4020,13 @@ header>.container>.pull-right>* { color: #ccc !important; } - .node-services-vssr .status-bar{ + .node-services-vssr .status-bar { color: #ccc; box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); background-color: #1e1e1e; } - .node-services-vssr .cbi-section-table-row{ + .node-services-vssr .cbi-section-table-row { color: #ccc; background-color: #3c3c3c !important; box-shadow: 0 0 5px 0 rgba(0, 0, 0, .35) @@ -4203,61 +4037,79 @@ header>.container>.pull-right>* { color: #fff; } - .node-services-vssr .ssr-button{ + .node-services-vssr .ssr-button { color: #ccc; - + } - .node-services-vssr .incon:nth-child(2){ + .node-services-vssr .incon:nth-child(2) { border-right: #1e1e1e 1px solid; } - #xhr_poll_status>.label.success{ - color: #ccc!important; - - background-color: darkolivegreen !important; + #xhr_poll_status>.label.success { + color: #ccc !important; + + background-color: darkolivegreen !important; } - .notice{ + + .notice { background-color: darkslateblue !important; } - .cbi-input-find, .cbi-input-save, .cbi-button-add, .cbi-button-save, .cbi-button-find, .cbi-input-reload, .cbi-button-reload{ + + .cbi-input-find, + .cbi-input-save, + .cbi-button-add, + .cbi-button-save, + .cbi-button-find, + .cbi-input-reload, + .cbi-button-reload { background-color: darkseagreen !important; border-color: darkseagreen !important; } - .cbi-button-reset, .cbi-input-remove { + .cbi-button-reset, + .cbi-input-remove { color: #fff !important; background-color: darkorange !important; border-color: darkorange !important; } - .cbi-page-actions .cbi-button-apply, .cbi-section-actions .cbi-button-edit, .cbi-button-edit.important, .cbi-button-apply.important, .cbi-button-reload.important, .cbi-button-action.important{ + + .cbi-page-actions .cbi-button-apply, + .cbi-section-actions .cbi-button-edit, + .cbi-button-edit.important, + .cbi-button-apply.important, + .cbi-button-reload.important, + .cbi-button-action.important { border: 1px darkslateblue solid !important; } - .tabs>li[class~="active"]>a { - color: darkslateblue; - } - .tabs>li[class~="active"], .tabs>li:hover{ - border-bottom: 0.18751rem solid darkslateblue; - color: darkslateblue; - } + fieldset[id^="cbi-apply-"] { background-color: #333333; } - #detail-bubble > div { + #detail-bubble>div { border: 1px solid #ccc; border-radius: 2px; padding: 5px; background: #252525; } - + } -@media (prefers-color-scheme: dark) and (max-width: 480px){ +@media (prefers-color-scheme: dark) and (max-width: 480px) { .node-status-iptables>.main div>.cbi-map>form { background-color: #1e1e1e; box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); } + + @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { + .login-page .login-container .login-form { + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + background-color: rgba(0, 0, 0, 0.7); + + } + } } \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/logo.png b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/logo.png deleted file mode 100644 index 558fccd617..0000000000 Binary files a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/logo.png and /dev/null differ diff --git a/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/footer.htm b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/footer.htm index e63f26873d..7708343079 100644 --- a/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/footer.htm +++ b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/footer.htm @@ -40,15 +40,18 @@ %> diff --git a/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header.htm b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header.htm index e200f7b638..660f1d9b65 100644 --- a/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header.htm +++ b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header.htm @@ -194,8 +194,6 @@ end math.randomseed(os.time()) - local bgTable = glob("/www/luci-static/argon/img/*") - local bgcount = table.getn(bgTable) -%> @@ -213,17 +211,23 @@ - - LuCI"> - LuCI"> - - - - - + + + + + + + + + + + + <% if node and node.css then %> @@ -244,17 +248,6 @@
<% render_topmenu() %>
@@ -279,9 +272,6 @@
- - -
<%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> diff --git a/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header_login.htm b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header_login.htm new file mode 100644 index 0000000000..593cec059d --- /dev/null +++ b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header_login.htm @@ -0,0 +1,247 @@ +<%# + Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI and Argon Template + + luci-theme-argon + Copyright 2020 Jerryk + + Have a bug? Please create an issue here on GitHub! + https://github.com/jerrykuku/luci-theme-argon/issues + + luci-theme-bootstrap: + Copyright 2008 Steven Barth + Copyright 2008-2016 Jo-Philipp Wich + Copyright 2012 David Menting + + MUI: + https://github.com/muicss/mui + + Agron Theme + https://demos.creative-tim.com/argon-dashboard/index.html + + Licensed to the public under the Apache License 2.0 +-%> + +<% + local sys = require "luci.sys" + local util = require "luci.util" + local http = require "luci.http" + local disp = require "luci.dispatcher" + local fs = require "nixio.fs" + local nutil = require "nixio.util" + + local boardinfo = util.ubus("system", "board") + + local request = disp.context.path + local request2 = disp.context.request + + local category = request[1] + local cattree = category and disp.node(category) + + local leaf = request2[#request2] + + local tree = disp.node() + local node = disp.context.dispatched + + local categories = disp.node_childs(tree) + + local c = tree + local i, r + + function glob(...) + local iter, code, msg = fs.glob(...) + if iter then + return nutil.consume(iter) + else + return nil, code, msg + end + end + + -- tag all nodes leading to this page + for i, r in ipairs(request) do + if c.nodes and c.nodes[r] then + c = c.nodes[r] + c._menu_selected = true + end + end + + -- send as HTML5 + http.prepare_content("text/html") + + local function nodeurl(prefix, name, query) + local u = url(prefix, name) + if query then + u = u .. http.build_querystring(query) + end + return pcdata(u) + end + + local function render_tabmenu(prefix, node, level) + if not level then + level = 1 + end + + local childs = disp.node_childs(node) + if #childs > 0 then + if level > 2 then + write('
    ') + end + + local selected_node + local selected_name + local i, v + + for i, v in ipairs(childs) do + local nnode = node.nodes[v] + if nnode._menu_selected then + selected_node = nnode + selected_name = v + end + + if level > 2 then + write('
  • %s
  • ' %{ + v, (nnode._menu_selected or (node.leaf and v == leaf)) and 'active' or '', + nodeurl(prefix, v, nnode.query), + striptags(translate(nnode.title)) + }) + end + end + + if level > 2 then + write('
') + end + + if selected_node then + render_tabmenu(prefix .. "/" .. selected_name, selected_node, level + 1) + end + end + end + + local function render_submenu(prefix, node) + local childs = disp.node_childs(node) + if #childs > 0 then + write('
    ') + + for i, r in ipairs(childs) do + local nnode = node.nodes[r] + local title = pcdata(striptags(translate(nnode.title))) + + write('
  • %s
  • ' %{ + title, + nodeurl(prefix, r, nnode.query), + title + }) + end + + write('
') + end + end + + local function render_topmenu() + local childs = disp.node_childs(cattree) + if #childs > 0 then + write('') + end + end + + local function render_changes() + -- calculate the number of unsaved changes + if tree.nodes[category] and tree.nodes[category].ucidata then + local ucichanges = 0 + for i, j in pairs(require("luci.model.uci").cursor():changes()) do + for k, l in pairs(j) do + for m, n in pairs(l) do + ucichanges = ucichanges + 1; + end + end + end + + if ucichanges > 0 then + write('%s: %d' %{ + url(category, 'uci/changes'), + http.urlencode(http.formvalue('redir') or table.concat(disp.context.request, "/")), + translate('Unsaved Changes'), + ucichanges + }) + end + end + end + math.randomseed(os.time()) + + +-%> + + + + + + <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> + - LuCI + + + + + + + + + + + + - LuCI"> + - LuCI"> + + + + + + + + + + + + + + + <% if node and node.css then %> + + <% end -%> + <% if css then %> + + <% end -%> + + + + + + +