├── Makefile
├── README.md
├── htdocs
└── luci-static
│ ├── argon_mc1
│ ├── css
│ │ ├── purecss.css
│ │ └── style.css
│ ├── favicon.ico
│ ├── fonts
│ │ ├── TypoGraphica.eot
│ │ ├── TypoGraphica.svg
│ │ ├── TypoGraphica.ttf
│ │ ├── TypoGraphica.woff
│ │ ├── font.eot
│ │ ├── font.svg
│ │ ├── font.ttf
│ │ ├── font.woff
│ │ ├── icomoon.eot
│ │ ├── icomoon.svg
│ │ ├── icomoon.ttf
│ │ ├── icomoon.woff
│ │ ├── ssr.eot
│ │ ├── ssr.svg
│ │ ├── ssr.ttf
│ │ └── ssr.woff
│ ├── img
│ │ ├── bg1.jpg
│ │ ├── bg2.jpg
│ │ └── bg3.jpg
│ ├── js
│ │ ├── jquery.min.js
│ │ └── script.js
│ └── logo.png
│ └── argon_mc2
│ ├── css
│ └── style.css
│ ├── favicon.ico
│ ├── fonts
│ ├── font.eot
│ ├── font.svg
│ ├── font.ttf
│ ├── font.woff
│ ├── ssr.eot
│ ├── ssr.svg
│ ├── ssr.ttf
│ └── ssr.woff
│ ├── js
│ ├── jquery.min.js
│ └── script.js
│ └── logo.png
├── luasrc
└── view
│ └── themes
│ ├── argon_mc1
│ ├── footer.htm
│ └── header.htm
│ └── argon_mc2
│ ├── footer.htm
│ └── header.htm
├── root
└── etc
│ └── uci-defaults
│ └── 30_luci-theme-argon-mc
└── screenshot
└── 201912.png
/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2008-2019 Jerrykuku
2 | # Copyright (C) 2019 Lienol
3 | #
4 | # This is free software, licensed under the Apache License, Version 2.0 .
5 | #
6 |
7 | include $(TOPDIR)/rules.mk
8 |
9 | LUCI_TITLE:=Argon Magic Change Theme
10 | LUCI_DEPENDS:=
11 | PKG_VERSION:=1.3
12 | PKG_RELEASE:=05-20191216
13 |
14 | include $(TOPDIR)/feeds/luci/luci.mk
15 |
16 | # call BuildPackage - OpenWrt buildroot signature
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # luci-theme-argon
2 | A new Luci theme for LEDE/OpenWRT
3 | # Screenshot
4 | 
5 |
6 |
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/css/purecss.css:
--------------------------------------------------------------------------------
1 | /*!
2 | Pure v1.0.1
3 | Copyright 2013 Yahoo!
4 | Licensed under the BSD License.
5 | https://github.com/pure-css/pure/blob/master/LICENSE.md
6 | */
7 | .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%}
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/favicon.ico
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/TypoGraphica.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/TypoGraphica.eot
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/TypoGraphica.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/TypoGraphica.ttf
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/TypoGraphica.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/TypoGraphica.woff
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/font.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/font.eot
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/font.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/font.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/font.ttf
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/font.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/font.woff
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/icomoon.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/icomoon.eot
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/icomoon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/icomoon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/icomoon.ttf
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/icomoon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/icomoon.woff
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/ssr.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/ssr.eot
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/ssr.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/ssr.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/ssr.ttf
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/fonts/ssr.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/fonts/ssr.woff
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/img/bg1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/img/bg1.jpg
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/img/bg2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/img/bg2.jpg
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/img/bg3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/img/bg3.jpg
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/js/script.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template
3 | *
4 | * luci-theme-argon
5 | * Copyright 2019 Jerrykuku
6 | *
7 | * Have a bug? Please create an issue here on GitHub!
8 | * https://github.com/jerrykuku/luci-theme-argon/issues
9 | *
10 | * luci-theme-bootstrap:
11 | * Copyright 2008 Steven Barth
12 | * Copyright 2008 Jo-Philipp Wich
13 | * Copyright 2012 David Menting
14 | *
15 | * MUI:
16 | * https://github.com/muicss/mui
17 | *
18 | * luci-theme-material:
19 | * https://github.com/LuttyYang/luci-theme-material/
20 | *
21 | * Agron Theme
22 | * https://demos.creative-tim.com/argon-dashboard/index.html
23 | *
24 | * Login background
25 | * https://unsplash.com/
26 | *
27 | * Licensed to the public under the Apache License 2.0
28 | */
29 |
30 | /*
31 | * Font generate by Icomoon
32 | */
33 | (function ($) {
34 | $(".main > .loading").hide();
35 | $(".main > .loading").fadeOut();
36 |
37 | /**
38 | * trim text, Remove spaces, wrap
39 | * @param text
40 | * @returns {string}
41 | */
42 | function trimText(text) {
43 | return text.replace(/[ \t\n\r]+/g, " ");
44 | }
45 |
46 |
47 | var lastNode = undefined;
48 | var mainNodeName = undefined;
49 |
50 | var nodeUrl = "";
51 | (function (node) {
52 | if (node[0] == "admin") {
53 | luciLocation = [node[1], node[2]];
54 | } else {
55 | luciLocation = node;
56 | }
57 |
58 | for (var i in luciLocation) {
59 | nodeUrl += luciLocation[i];
60 | if (i != luciLocation.length - 1) {
61 | nodeUrl += "/";
62 | }
63 | }
64 | })(luciLocation);
65 |
66 | /**
67 | * get the current node by Burl (primary)
68 | * @returns {boolean} success?
69 | */
70 | function getCurrentNodeByUrl() {
71 | var ret = false;
72 | if (!$('body').hasClass('logged-in')) {
73 | luciLocation = ["Main", "Login"];
74 | return true;
75 | }
76 | $(".main > .main-left > .nav > .slide > .active").next(".slide-menu").stop(true).slideUp("fast");
77 | $(".main > .main-left > .nav > .slide > .menu").removeClass("active");
78 | $(".main > .main-left > .nav > .slide > .menu").each(function () {
79 | var ulNode = $(this);
80 |
81 | ulNode.next().find("a").each(function () {
82 | var that = $(this);
83 | var href = that.attr("href");
84 |
85 | if (href.indexOf(nodeUrl) != -1) {
86 | ulNode.click();
87 | ulNode.next(".slide-menu").stop(true, true);
88 | lastNode = that.parent();
89 | lastNode.addClass("active");
90 | ret = true;
91 | return true;
92 | }
93 | });
94 | });
95 | return ret;
96 | }
97 |
98 | /**
99 | * menu click
100 | */
101 | $(".main > .main-left > .nav > .slide > .menu").click(function () {
102 | var ul = $(this).next(".slide-menu");
103 | var menu = $(this);
104 | if (!menu.hasClass("exit")) {
105 | $(".main > .main-left > .nav > .slide > .active").next(".slide-menu").stop(true).slideUp("fast");
106 | $(".main > .main-left > .nav > .slide > .menu").removeClass("active");
107 | if (!ul.is(":visible")) {
108 | menu.addClass("active");
109 | ul.addClass("active");
110 | ul.stop(true).slideDown("fast");
111 | } else {
112 | ul.stop(true).slideUp("fast", function () {
113 | menu.removeClass("active");
114 | ul.removeClass("active");
115 | });
116 | }
117 |
118 | return false;
119 | }
120 |
121 | });
122 |
123 |
124 |
125 |
126 | // define what element should be observed by the observer
127 | // and what types of mutations trigger the callback
128 | if ($("#cbi-dhcp-lan-ignore").length > 0) {
129 | observer.observe(document.getElementById("cbi-dhcp-lan-ignore"), {
130 | subtree: true,
131 | attributes: true
132 | });
133 | }
134 |
135 | /**
136 | * hook menu click and add the hash
137 | */
138 | $(".main > .main-left > .nav > .slide > .slide-menu > li > a").click(function () {
139 | if (lastNode != undefined)
140 | lastNode.removeClass("active");
141 | $(this).parent().addClass("active");
142 | $(".main > .loading").fadeIn("fast");
143 | return true;
144 | });
145 |
146 | /**
147 | * fix menu click
148 | */
149 | $(".main > .main-left > .nav > .slide > .slide-menu > li").click(function () {
150 | if (lastNode != undefined)
151 | lastNode.removeClass("active");
152 | $(this).addClass("active");
153 | $(".main > .loading").fadeIn("fast");
154 | window.location = $($(this).find("a")[0]).attr("href");
155 | return false;
156 | });
157 |
158 | /**
159 | * fix submenu click
160 | */
161 | $("#maincontent > .container > .tabs > li").click(function () {
162 | $(".main > .loading").fadeIn("fast");
163 | window.location = $($(this).find("a")[0]).attr("href");
164 | return false;
165 | });
166 |
167 | /**
168 | * get current node and open it
169 | */
170 | if (getCurrentNodeByUrl()) {
171 | mainNodeName = "node-" + luciLocation[0] + "-" + luciLocation[1];
172 | mainNodeName = mainNodeName.replace(/[ \t\n\r\/]+/g, "_").toLowerCase();
173 | $("body").addClass(mainNodeName);
174 | }
175 | $(".cbi-button-up").val("");
176 | $(".cbi-button-down").val("");
177 |
178 |
179 | /**
180 | * hook other "A Label" and add hash to it.
181 | */
182 | $("#maincontent > .container").find("a").each(function () {
183 | var that = $(this);
184 | var onclick = that.attr("onclick");
185 | if (onclick == undefined || onclick == "") {
186 | that.click(function () {
187 | var href = that.attr("href");
188 | if (href.indexOf("#") == -1) {
189 | $(".main > .loading").fadeIn("fast");
190 | return true;
191 | }
192 | });
193 | }
194 | });
195 |
196 | /**
197 | * Sidebar expand
198 | */
199 | var showSide = false;
200 | $(".showSide").click(function () {
201 | if (showSide) {
202 | $(".darkMask").stop(true).fadeOut("fast");
203 | $(".main-left").stop(true).animate({
204 | width: "0"
205 | }, "fast");
206 | $(".main-right").css("overflow-y", "auto");
207 | showSide = false;
208 | } else {
209 | $(".darkMask").stop(true).fadeIn("fast");
210 | $(".main-left").stop(true).animate({
211 | width: "15rem"
212 | }, "fast");
213 | $(".main-right").css("overflow-y", "hidden");
214 | showSide = true;
215 | }
216 | });
217 |
218 |
219 | $(".darkMask").click(function () {
220 | if (showSide) {
221 | showSide = false;
222 | $(".darkMask").stop(true).fadeOut("fast");
223 | $(".main-left").stop(true).animate({
224 | width: "0"
225 | }, "fast");
226 | $(".main-right").css("overflow-y", "auto");
227 | }
228 | });
229 |
230 | $(window).resize(function () {
231 | if ($(window).width() > 921) {
232 | $(".main-left").css("width", "");
233 | $(".darkMask").stop(true);
234 | $(".darkMask").css("display", "none");
235 | showSide = false;
236 | }
237 | });
238 |
239 | /**
240 | * fix legend position
241 | */
242 | $("legend").each(function () {
243 | var that = $(this);
244 | that.after("" + that.text() + "");
245 | });
246 |
247 | $(".cbi-section-table-titles, .cbi-section-table-descr, .cbi-section-descr").each(function () {
248 | var that = $(this);
249 | if (that.text().trim() == "") {
250 | that.css("display", "none");
251 | }
252 | });
253 |
254 | $(".node-main-login > .main .cbi-value.cbi-value-last .cbi-input-text").focus(function () {
255 | //$(".node-main-login > .main > .main-right > .login-bg").addClass("blur");
256 | });
257 | $(".node-main-login > .main .cbi-value.cbi-value-last .cbi-input-text").blur(function () {
258 | //$(".node-main-login > .main > .main-right > .login-bg").removeClass("blur");
259 | });
260 |
261 |
262 | $(".main-right").focus();
263 | $(".main-right").blur();
264 | $("input").attr("size", "0");
265 |
266 | if (mainNodeName != undefined) {
267 | console.log(mainNodeName);
268 | switch (mainNodeName) {
269 | case "node-status-system_log":
270 | case "node-status-kernel_log":
271 | $("#syslog").focus(function () {
272 | $("#syslog").blur();
273 | $(".main-right").focus();
274 | $(".main-right").blur();
275 | });
276 | break;
277 | case "node-status-firewall":
278 | var button = $(".node-status-firewall > .main fieldset li > a");
279 | button.addClass("cbi-button cbi-button-reset a-to-btn");
280 | break;
281 | case "node-system-reboot":
282 | var button = $(".node-system-reboot > .main > .main-right p > a");
283 | button.addClass("cbi-button cbi-input-reset a-to-btn");
284 | break;
285 | }
286 | }
287 |
288 | })(jQuery);
289 |
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc1/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc1/logo.png
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/css/style.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Netgear is a clean HTML5 theme for LuCI. It is based on luci-theme-material
3 | *
4 | * luci-theme-material
5 | * Copyright 2015 Lutty Yang
6 | *
7 | * Licensed to the public under the Apache License 2.0
8 | */
9 |
10 |
11 | /*
12 | * Font generate by Icomoon
13 | * Mod again by Mask
14 | */
15 |
16 | .pure-g {
17 | letter-spacing: -.31em;
18 | text-rendering: optimizespeed;
19 | font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif;
20 | display: -webkit-box;
21 | display: -webkit-flex;
22 | display: -ms-flexbox;
23 | display: flex;
24 | -webkit-flex-flow: row wrap;
25 | -ms-flex-flow: row wrap;
26 | flex-flow: row wrap;
27 | -webkit-align-content: flex-start;
28 | -ms-flex-line-pack: start;
29 | align-content: flex-start
30 | }
31 |
32 | @media all and (-ms-high-contrast:none),
33 | (-ms-high-contrast:active) {
34 | table .pure-g {
35 | display: block
36 | }
37 | }
38 |
39 | .opera-only :-o-prefocus,
40 | .pure-g {
41 | word-spacing: -.43em
42 | }
43 |
44 | .pure-u,
45 | .pure-u-1,
46 | .pure-u-1-1,
47 | .pure-u-1-12,
48 | .pure-u-1-2,
49 | .pure-u-1-24,
50 | .pure-u-1-3,
51 | .pure-u-1-4,
52 | .pure-u-1-5,
53 | .pure-u-1-6,
54 | .pure-u-1-8,
55 | .pure-u-10-24,
56 | .pure-u-11-12,
57 | .pure-u-11-24,
58 | .pure-u-12-24,
59 | .pure-u-13-24,
60 | .pure-u-14-24,
61 | .pure-u-15-24,
62 | .pure-u-16-24,
63 | .pure-u-17-24,
64 | .pure-u-18-24,
65 | .pure-u-19-24,
66 | .pure-u-2-24,
67 | .pure-u-2-3,
68 | .pure-u-2-5,
69 | .pure-u-20-24,
70 | .pure-u-21-24,
71 | .pure-u-22-24,
72 | .pure-u-23-24,
73 | .pure-u-24-24,
74 | .pure-u-3-24,
75 | .pure-u-3-4,
76 | .pure-u-3-5,
77 | .pure-u-3-8,
78 | .pure-u-4-24,
79 | .pure-u-4-5,
80 | .pure-u-5-12,
81 | .pure-u-5-24,
82 | .pure-u-5-5,
83 | .pure-u-5-6,
84 | .pure-u-5-8,
85 | .pure-u-6-24,
86 | .pure-u-7-12,
87 | .pure-u-7-24,
88 | .pure-u-7-8,
89 | .pure-u-8-24,
90 | .pure-u-9-24 {
91 | display: inline-block;
92 | zoom: 1;
93 | letter-spacing: normal;
94 | word-spacing: normal;
95 | vertical-align: top;
96 | text-rendering: auto
97 | }
98 |
99 | .pure-g [class*=pure-u] {
100 | font-family: sans-serif
101 | }
102 |
103 | .pure-u-1-24 {
104 | width: 4.1667%
105 | }
106 |
107 | .pure-u-1-12,
108 | .pure-u-2-24 {
109 | width: 8.3333%
110 | }
111 |
112 | .pure-u-1-8,
113 | .pure-u-3-24 {
114 | width: 12.5%
115 | }
116 |
117 | .pure-u-1-6,
118 | .pure-u-4-24 {
119 | width: 16.6667%
120 | }
121 |
122 | .pure-u-1-5 {
123 | width: 20%
124 | }
125 |
126 | .pure-u-5-24 {
127 | width: 20.8333%
128 | }
129 |
130 | .pure-u-1-4,
131 | .pure-u-6-24 {
132 | width: 25%
133 | }
134 |
135 | .pure-u-7-24 {
136 | width: 29.1667%
137 | }
138 |
139 | .pure-u-1-3,
140 | .pure-u-8-24 {
141 | width: 33.3333%
142 | }
143 |
144 | .pure-u-3-8,
145 | .pure-u-9-24 {
146 | width: 37.5%
147 | }
148 |
149 | .pure-u-2-5 {
150 | width: 40%
151 | }
152 |
153 | .pure-u-10-24,
154 | .pure-u-5-12 {
155 | width: 41.6667%
156 | }
157 |
158 | .pure-u-11-24 {
159 | width: 45.8333%
160 | }
161 |
162 | .pure-u-1-2,
163 | .pure-u-12-24 {
164 | width: 50%
165 | }
166 |
167 | .pure-u-13-24 {
168 | width: 54.1667%
169 | }
170 |
171 | .pure-u-14-24,
172 | .pure-u-7-12 {
173 | width: 58.3333%
174 | }
175 |
176 | .pure-u-3-5 {
177 | width: 60%
178 | }
179 |
180 | .pure-u-15-24,
181 | .pure-u-5-8 {
182 | width: 62.5%
183 | }
184 |
185 | .pure-u-16-24,
186 | .pure-u-2-3 {
187 | width: 66.6667%
188 | }
189 |
190 | .pure-u-17-24 {
191 | width: 70.8333%
192 | }
193 |
194 | .pure-u-18-24,
195 | .pure-u-3-4 {
196 | width: 75%
197 | }
198 |
199 | .pure-u-19-24 {
200 | width: 79.1667%
201 | }
202 |
203 | .pure-u-4-5 {
204 | width: 80%
205 | }
206 |
207 | .pure-u-20-24,
208 | .pure-u-5-6 {
209 | width: 83.3333%
210 | }
211 |
212 | .pure-u-21-24,
213 | .pure-u-7-8 {
214 | width: 87.5%
215 | }
216 |
217 | .pure-u-11-12,
218 | .pure-u-22-24 {
219 | width: 91.6667%
220 | }
221 |
222 | .pure-u-23-24 {
223 | width: 95.8333%
224 | }
225 |
226 | .pure-u-1,
227 | .pure-u-1-1,
228 | .pure-u-24-24,
229 | .pure-u-5-5 {
230 | width: 100%
231 | }
232 |
233 | @font-face {
234 | font-family: 'icomoon';
235 | src: url('../fonts/font.eot');
236 | src: url('../fonts/font.eot') format('embedded-opentype'), url('../fonts/font.ttf') format('truetype'), url('../fonts/font.woff') format('woff'), url('../fonts/font.svg') format('svg');
237 | font-weight: normal;
238 | font-style: normal;
239 | }
240 |
241 | @font-face {
242 | font-family: 'ssr';
243 | src: url('../fonts/ssr.eot?5zoxsi');
244 | src: url('../fonts/ssr.eot?5zoxsi#iefix') format('embedded-opentype'), url('../fonts/ssr.ttf?5zoxsi') format('truetype'), url('../fonts/ssr.woff?5zoxsi') format('woff'), url('../fonts/ssr.svg?5zoxsi#ssr') format('svg');
245 | font-weight: normal;
246 | font-style: normal;
247 | }
248 |
249 | [class^="icon-"],
250 | [class*=" icon-"] {
251 | /* use !important to prevent issues with browser extensions that change fonts */
252 | font-family: 'ssr' !important;
253 | speak: none;
254 | font-style: normal;
255 | font-weight: normal;
256 | font-variant: normal;
257 | text-transform: none;
258 | line-height: 1;
259 | /* Better Font Rendering =========== */
260 | -webkit-font-smoothing: antialiased;
261 | -moz-osx-font-smoothing: grayscale;
262 | }
263 |
264 | .icon-dashboard:before {
265 | content: "\e906";
266 | }
267 |
268 | .icon-logout:before {
269 | content: "\e907";
270 | }
271 |
272 | .icon-Network:before {
273 | content: "\e908";
274 | }
275 |
276 | .icon-services:before {
277 | content: "\e909";
278 | }
279 |
280 | .icon-system:before {
281 | content: "\e90a";
282 | }
283 |
284 | .icon-vpn:before {
285 | content: "\e90b";
286 | }
287 |
288 | .icon-storage:before {
289 | content: "\e90c";
290 | }
291 |
292 | .icon-statistics:before {
293 | content: "\e90d";
294 | }
295 |
296 | .icon-delete:before {
297 | content: "\e900";
298 | }
299 |
300 | .icon-edit:before {
301 | content: "\e901";
302 | }
303 |
304 | .icon-ok:before {
305 | content: "\e902";
306 | }
307 |
308 | .icon-loading:before {
309 | content: "\e903";
310 | }
311 |
312 | .icon-switch:before {
313 | content: "\e904";
314 | }
315 |
316 | .icon-error:before {
317 | content: "\e905";
318 | }
319 |
320 | input[type=checkbox],
321 | input[type=radio] {
322 | width: auto;
323 | margin: 0;
324 | vertical-align: middle;
325 | cursor: pointer;
326 | }
327 |
328 | .cbi-button-up,
329 | .cbi-button-down,
330 | .cbi-value-helpicon,
331 | .showSide,
332 | .main>.loading>span {
333 | font-family: 'icomoon' !important;
334 | speak: none;
335 | font-style: normal !important;
336 | font-weight: normal !important;
337 | font-variant: normal !important;
338 | text-transform: none !important;
339 | line-height: 1;
340 | -webkit-font-smoothing: antialiased;
341 | -moz-osx-font-smoothing: grayscale;
342 | }
343 |
344 | * {
345 | margin: 0;
346 | padding: 0;
347 | box-sizing: border-box;
348 | }
349 |
350 | .left {
351 | text-align: left !important;
352 | }
353 |
354 | .right {
355 | text-align: right !important;
356 | }
357 |
358 | .center {
359 | text-align: center !important;
360 | }
361 |
362 | .top {
363 | vertical-align: top !important;
364 | }
365 |
366 | .middle {
367 | vertical-align: middle !important;
368 | }
369 |
370 | .bottom {
371 | vertical-align: bottom !important;
372 | }
373 |
374 | .pull-left {
375 | float: left !important;
376 | }
377 |
378 | .pull-right {
379 | float: right !important;
380 | }
381 |
382 | .inline {
383 | display: inline;
384 | }
385 |
386 | .hidden {
387 | display: none;
388 | }
389 |
390 | a {
391 | text-decoration: none;
392 | }
393 |
394 | .h1,
395 | .h2,
396 | .h3,
397 | .h4,
398 | .h5,
399 | .h6,
400 | h1,
401 | h2,
402 | h3,
403 | h4,
404 | h5,
405 | h6 {
406 | font-family: inherit;
407 | font-weight: 400;
408 | line-height: 1.1;
409 | color: inherit;
410 | }
411 |
412 | html {
413 | -webkit-text-size-adjust: 100%;
414 | -ms-text-size-adjust: 100%;
415 | }
416 |
417 | body {
418 | font-size: 0.8rem;
419 | background-color: #f9f9f9;
420 | }
421 |
422 | html,
423 | body {
424 | margin: 0px;
425 | padding: 0px;
426 | height: 100%;
427 | font-family: Microsoft Yahei, WenQuanYi Micro Hei, sans-serif, "Helvetica Neue", Helvetica, Hiragino Sans GB;
428 | }
429 |
430 | body div {
431 | line-height: 150%;
432 | }
433 |
434 | select {
435 | padding: 0.36rem 0.8rem;
436 | color: #555;
437 | background-color: #fff;
438 | background-image: none;
439 | border: 1px solid #ccc;
440 | }
441 |
442 | select,
443 | input {
444 | /* font-size: .875rem;
445 | transition: all .15s ease-in-out;
446 | line-height: 1.5;
447 | height: calc(2.75rem + 2px);
448 | padding: .625rem .75rem;
449 | transition: all .15s cubic-bezier(.68,-.55,.265,1.55);
450 | color: #8898aa;
451 | border: 1px solid #dee2e6;
452 | border-radius: .25rem;
453 | background-color: #fff;
454 | background-clip: padding-box;
455 | box-shadow: 0 3px 2px rgba(233,236,239,.05);
456 | margin:0.25rem;
457 | color: #76838f; */
458 | padding: 6px 10px;
459 | margin: 0;
460 | height: 34px;
461 | line-height: normal;
462 | font-size: 10pt;
463 | font-family: "Roboto", sans-serif, Helvetica, Arial, sans-serif;
464 | border: 1px solid #e4eaec;
465 | background-color: #fff;
466 | transition: color 150ms ease, border-color 150ms ease, opacity 150ms ease;
467 | -webkit-transition: color 150ms ease, border-color 150ms ease, opacity 150ms ease;
468 | outline-style: none;
469 | vertical-align: baseline;
470 | border-radius: 3px;
471 | }
472 |
473 | select:not([multiple="multiple"]):focus,
474 | input:focus {
475 | border-color: #0099CC;
476 | }
477 |
478 | select[multiple="multiple"] {
479 | height: auto;
480 | }
481 |
482 | code {
483 | color: #0099CC;
484 | }
485 |
486 | abbr {
487 | color: #005470;
488 | text-decoration: underline;
489 | cursor: help;
490 | }
491 |
492 | hr {
493 | margin: 1rem 0;
494 | border-color: #EEE;
495 | opacity: 0.1;
496 | }
497 |
498 | header,
499 | .main {
500 | width: 100%;
501 | position: absolute;
502 | }
503 |
504 | header {
505 | height: 4rem;
506 | box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.09), 0px 3px 13px 0px #423b7852;
507 | transition: box-shadow .2s;
508 | float: left;
509 | position: fixed;
510 | z-index: 101;
511 | }
512 |
513 | footer {
514 | text-align: right;
515 | padding: 1rem;
516 | color: #aaa;
517 | font-size: 0.8rem;
518 | text-shadow: 0px 0px 2px #BBB;
519 | }
520 |
521 | footer>a {
522 | color: #aaa;
523 | text-decoration: none;
524 | }
525 |
526 | .main {
527 | top: 4rem;
528 | bottom: 0rem;
529 | position: relative;
530 | height: 100%;
531 | height: calc(100% - 4rem);
532 | }
533 |
534 | .main>.loading {
535 | position: fixed;
536 | width: 100%;
537 | height: 100%;
538 | z-index: 2000;
539 | display: flex;
540 | align-items: center;
541 | justify-content: center;
542 | background-color: #f8f9fe;
543 | top: 0;
544 | }
545 |
546 | .main>.loading>span {
547 | display: block;
548 | text-align: center;
549 | margin-top: 2rem;
550 | color: #525f7f;
551 | font-size: 2rem;
552 | }
553 |
554 | .main>.loading>span>.loading-img:before {
555 | content: "\e603";
556 | }
557 |
558 | .main>.loading>span>.loading-img {
559 | animation: anim-rotate 2s infinite linear;
560 | margin-right: 0.4rem;
561 | display: inline-block;
562 | }
563 |
564 | @keyframes anim-rotate {
565 | 0% {
566 | -webkit-transform: rotate(0);
567 | -ms-transform: rotate(0);
568 | transform: rotate(0);
569 | }
570 | 100% {
571 | -webkit-transform: rotate(360deg);
572 | -ms-transform: rotate(360deg);
573 | transform: rotate(360deg)
574 | }
575 | }
576 |
577 | [id^="cbi-apply-"] {
578 | position: absolute;
579 | z-index: 200;
580 | left: 50%;
581 | top: 50%;
582 | font-size: 1.2rem;
583 | border-color: #525f7f;
584 | text-align: center;
585 | width: 300px;
586 | height: 180px;
587 | transform: translate(-50%, -50%);
588 | }
589 |
590 | [id^="cbi-apply-"]>.panel-title {
591 | border-bottom: none;
592 | }
593 |
594 | [id^="cbi-apply-"]>img {
595 | margin-top: 1rem;
596 | }
597 |
598 | [id^="cbi-apply-"]>[id^="cbi-apply-"] {
599 | height: auto;
600 | font-size: 1rem;
601 | display: block;
602 | top: 80%;
603 | }
604 |
605 | .main-left {
606 | float: left;
607 | top: 4rem;
608 | width: 15%;
609 | width: calc(0% + 15rem);
610 | height: 100%;
611 | height: calc(100% - 4rem);
612 | background-color: #161a33!important;
613 | box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15);
614 | overflow-x: auto;
615 | position: fixed;
616 | }
617 |
618 | .main-right {
619 | width: 85%;
620 | width: calc(100% - 15rem);
621 | float: right;
622 | height: 100%;
623 | background-color: #ffffff;
624 | }
625 |
626 | .main-right>#maincontent {
627 | background-color: #ffffff;
628 | }
629 |
630 | header {
631 | background: linear-gradient(87deg, #32325d 0, #825ee4 100%)!important;
632 | color: white;
633 | }
634 |
635 | header>.container {
636 | margin-top: 0.5rem;
637 | padding: 0.5rem 1rem 0 1rem;
638 | }
639 |
640 | header>.container>.brand {
641 | font-size: 1.5rem;
642 | color: white;
643 | text-decoration: none;
644 | cursor: default;
645 | /* vertical-align: text-bottom; */
646 | }
647 |
648 | .danger {
649 | background-color: #f5365c !important;
650 | color: black;
651 | }
652 |
653 | .warning {
654 | background-color: #fb6340 !important;
655 | color: black;
656 | }
657 |
658 | .success {
659 | background-color: #2dce89 !important;
660 | color: black;
661 | }
662 |
663 | .errorbox,
664 | .alert-message {
665 | margin: 2rem 0 0 0;
666 | padding: 2rem;
667 | border: 0;
668 | font-weight: normal;
669 | font-style: normal;
670 | line-height: 1;
671 | font-family: inherit;
672 | min-width: inherit;
673 | overflow: auto;
674 | border-radius: 0;
675 | background-color: #FFF;
676 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
677 | }
678 |
679 | .errorbox {
680 | color: #fff;
681 | background-color: #f0ad4e;
682 | border-color: #eea236;
683 | }
684 |
685 | .error {
686 | color: red;
687 | }
688 |
689 | #maincontent>.container>div:nth-child(1).alert-message.warning>a {
690 | font: inherit;
691 | overflow: visible;
692 | text-transform: none;
693 | display: inline-block;
694 | margin-bottom: 0;
695 | font-weight: 400;
696 | text-align: center;
697 | white-space: nowrap;
698 | vertical-align: middle;
699 | touch-action: manipulation;
700 | cursor: pointer;
701 | -webkit-user-select: none;
702 | -moz-user-select: none;
703 | -ms-user-select: none;
704 | user-select: none;
705 | background-image: none;
706 | min-width: 6rem;
707 | padding: 0.5rem 1rem;
708 | font-size: 0.9rem;
709 | line-height: 1.42857143;
710 | color: #fff;
711 | background-color: #5bc0de;
712 | border-color: #46b8da;
713 | margin-top: 2rem;
714 | text-decoration: inherit;
715 | }
716 |
717 | .main>.main-left>.nav {
718 | margin-top: 0.5rem;
719 | }
720 |
721 | .main>.main-left>.nav>li a {
722 | color: #8898aa;
723 | display: block;
724 | }
725 |
726 | .main>.main-left>.nav>li:nth-last-child(1) {
727 | margin-top: 2rem;
728 | font-size: 1.2rem;
729 | }
730 |
731 | .main>.main-left>.nav>li {
732 | padding: 0.5rem 1rem;
733 | cursor: pointer;
734 | }
735 |
736 | .main>.main-left>.nav>.slide {
737 | padding: 0;
738 | }
739 |
740 | .main>.main-left>.nav>.slide>ul {
741 | display: none;
742 | }
743 |
744 | .main>.main-left>.nav>.slide>.menu {
745 | display: block;
746 | margin: 0.1rem .5rem;
747 | padding: .675rem 0 .675rem 3rem;
748 | border-radius: .375rem;
749 | text-decoration: none;
750 | cursor: default;
751 | font-size: 1rem;
752 | transition: all 0.2s;
753 | border-left: transparent 3px solid;
754 | }
755 |
756 | .main>.main-left>.nav>li:hover,
757 | .main>.main-left>.nav>.slide>.menu:hover {
758 | color: #e8c6c6;
759 | background: #525f7f;
760 | }
761 |
762 | .main>.main-left>.nav>.slide:hover {
763 | background: none;
764 | }
765 |
766 | .main>.main-left>.nav>.slide>.menu:hover {
767 | /* border-left: #ffffff 3px solid; */
768 | }
769 |
770 | .main>.main-left>.nav>.slide>.menu:before {
771 | font-family: 'ssr' !important;
772 | speak: none;
773 | font-style: normal;
774 | font-weight: normal;
775 | font-variant: normal;
776 | text-transform: none;
777 | line-height: 1;
778 | /* Better Font Rendering =========== */
779 | -webkit-font-smoothing: antialiased;
780 | -moz-osx-font-smoothing: grayscale;
781 | position: absolute;
782 | left: 1rem;
783 | padding-top: 3px;
784 | }
785 |
786 | .main > .main-left > .nav > .slide > .menu[data-title= Status ]:before{
787 | content: "\e906";
788 | color: #5e72e4!important;
789 | }
790 | .main > .main-left > .nav > .slide > .menu[data-title= System ]:before{
791 | content: "\e90a";
792 | color: #fb6340!important;
793 | }
794 | .main > .main-left > .nav > .slide > .menu[data-title= Services ]:before{
795 | content: "\e909";
796 | color: #11cdef!important;
797 | }
798 | .main > .main-left > .nav > .slide > .menu[data-title= NAS ]:before{
799 | content: "\e90c";
800 | color: #f3a4b5!important;
801 | }
802 | .main > .main-left > .nav > .slide > .menu[data-title= Control ]:before{
803 | content: "\e90e";
804 | color: #f3a4b5!important;
805 | }
806 | .main > .main-left > .nav > .slide > .menu[data-title= VPN ]:before{
807 | content: "\e90b";
808 | color: #6de9ea!important;
809 | }
810 | .main > .main-left > .nav > .slide > .menu[data-title= Network ]:before{
811 | content: "\e908";
812 | color: #8965e0!important;
813 | }
814 | .main > .main-left > .nav > .slide > .menu[data-title= Bandwidth_Monitor ]:before{
815 | content: "\e90d";
816 | color: #2dce89!important;
817 | }
818 | .main > .main-left > .nav > .slide > .menu[data-title= Logout ]:before{
819 | content: "\e907";
820 | color: #32325d!important;
821 | }
822 |
823 | header>.container>.brand:before {
824 | font-family: 'ssr' !important;
825 | speak: none;
826 | font-style: normal;
827 | font-weight: normal;
828 | font-variant: normal;
829 | text-transform: none;
830 | line-height: 1;
831 | /* Better Font Rendering =========== */
832 | -webkit-font-smoothing: antialiased;
833 | -moz-osx-font-smoothing: grayscale;
834 | content: "\e90e";
835 | margin-right: 0.5rem;
836 | }
837 |
838 | .main>.main-left>.nav>.slide>.menu.active {
839 | color: #e8c6c6;
840 | background: #7764e43b;
841 | }
842 |
843 | .main>.main-left>.nav>.slide>.slide-menu>li {}
844 |
845 | .main>.main-left>.nav>.slide>.slide-menu>.active {}
846 |
847 | .main>.main-left>.nav>.slide>.slide-menu>li>a {
848 | margin: 0.1rem .5rem;
849 | padding: 0.5rem 1.5rem 0.5rem 2.5rem;
850 | text-decoration: none;
851 | border-radius: .375rem;
852 | white-space: nowrap;
853 | color: #be9e9e;
854 | border-left: transparent 12px solid;
855 | transition: all 0.2s;
856 | }
857 |
858 | .main>.main-left>.nav>.slide>.slide-menu>.active>a {
859 | /* border-left: #ffffff 15px solid; */
860 | color: #FF9800;
861 | background-color: #607d8b54;
862 | }
863 |
864 | .main>.main-left>.nav>.slide>.slide-menu>li>a:hover {
865 | /* border-left: #ffffff 3px solid; */
866 | color: white;
867 | background: #525f7f;
868 | }
869 |
870 | .main>.main-left>.nav>.slide>.slide-menu>.active>a:hover {
871 | /* border-left: #ffffff 3px solid; */
872 | color: white;
873 | background-color: #525f7f;
874 | cursor: hand;
875 | }
876 |
877 | li {
878 | list-style-type: none;
879 | }
880 |
881 | #maincontent>.container {
882 | margin: 0 2rem 1rem 2rem;
883 | }
884 |
885 | h1 {
886 | font-size: 2rem;
887 | padding: 0.5rem;
888 | border-bottom: 1px solid #eee;
889 | }
890 |
891 | h2 {
892 | margin: 1rem 0 0 0;
893 | font-size: 1.5rem;
894 | padding: 0.5rem;
895 | /* border-bottom: 1px solid #eee; */
896 | }
897 |
898 | h3 {
899 | font-size: 1.4rem;
900 | width: 100%;
901 | display: block;
902 | margin-bottom: 0;
903 | padding: 0.5rem;
904 | border-bottom: 1px solid rgba(0, 0, 0, .05);
905 | background-color: #fff;
906 | line-height: 1.5;
907 | margin-bottom: 0rem;
908 | letter-spacing: 0.1rem;
909 | color: #32325d;
910 | font-weight: bold;
911 | }
912 |
913 | h4 {}
914 |
915 |
916 | /*
917 | div.cbi-section,
918 | fieldset {
919 | margin: 2rem 0 0 0;
920 | padding: 0;
921 | font-weight: normal;
922 | font-style: normal;
923 | line-height: 1;
924 | font-family: inherit;
925 |
926 | min-width: inherit;
927 | overflow-x: auto;
928 | overflow-y: hidden;
929 |
930 | border: 1px solid rgba(0,0,0,.05);
931 | border-radius: .375rem;
932 | background-color: #fff;
933 | box-shadow: 0 0 2rem 0 rgba(136,152,170,.15);
934 |
935 | -webkit-overflow-scrolling: touch;
936 | } */
937 |
938 | div.cbi-section,
939 | fieldset {
940 | margin: 20px 0;
941 | padding: 1rem;
942 | border: 1px;
943 | font-weight: normal;
944 | font-style: normal;
945 | line-height: 1;
946 | font-family: inherit;
947 | min-width: inherit;
948 | overflow-x: hidden;
949 | overflow-y: hidden;
950 | border-radius: 4px;
951 | background-color: #FFF;
952 | box-shadow: 0px 0px 0px 0px #eee, 0px 0px 10px 0px #eee, 0px 0px 5px rgba(0,0,0,0);
953 | }
954 |
955 | .cbi-map-descr+div.cbi-section,
956 | .cbi-map-descr+fieldset {
957 | margin-top: 1rem;
958 | }
959 |
960 | div.cbi-section>legend,
961 | fieldset>legend {
962 | display: none !important;
963 | }
964 |
965 | div.cbi-section>div.cbi-section,
966 | fieldset>fieldset {
967 | margin: 0;
968 | padding: 0;
969 | border: none;
970 | box-shadow: none;
971 | }
972 |
973 | .panel-title {
974 | width: 100%;
975 | display: block;
976 | margin-bottom: 0;
977 | padding: 5px;
978 | border-bottom: 0px solid rgba(0, 0, 0, .05);
979 | background-color: #fff;
980 | line-height: 1.5;
981 | margin-bottom: 0rem;
982 | letter-spacing: 0.1rem;
983 | color: #32325d;
984 | font-weight: bold;
985 | }
986 |
987 | table,
988 | .table {
989 | border-spacing: 0;
990 | border-collapse: collapse;
991 | width: 100%;
992 | border: 0px solid #eee;
993 | display: table;
994 | margin: 0 0 10px !important;
995 | position: relative;
996 | }
997 |
998 | .table[width="33%"],
999 | .th[width="33%"],
1000 | .td[width="33%"] {
1001 | width: 33%;
1002 | }
1003 |
1004 | .table[width="100%"],
1005 | .th[width="100%"],
1006 | .td[width="100%"] {
1007 | width: 100%;
1008 | }
1009 |
1010 |
1011 | /* table>tbody>tr>td,
1012 | table>tfoot>tr>td,
1013 | table>tfoot>tr>th,
1014 | table>thead>tr>td,
1015 | table>thead>tr>th {
1016 | table>thead>tr>th,
1017 | .table>.tr>.td,
1018 | .table>.tr>.th,
1019 | .table>.tr>.td,
1020 | .table>.tr>.th,
1021 | .table>.tr>.td,
1022 | .table>.tr>.th {
1023 | padding: 6px;
1024 | line-height: 1.5;
1025 | border-top: 0px dashed #EEE;
1026 | white-space: nowrap;
1027 | } */
1028 |
1029 | table>tbody>tr>td,
1030 | table>tfoot>tr>td,
1031 | table>thead>tr>td,
1032 | .table>.tr>.td,
1033 | .table>.tr>.td,
1034 | .table>.tr>.td {
1035 | font-size: .8125rem;
1036 | white-space: nowrap;
1037 | color: #32325d;
1038 | padding: 6px;
1039 | line-height: 1.5;
1040 | border-top: 0px solid #ddd;
1041 | white-space: nowrap;
1042 | }
1043 |
1044 | table>tbody>tr>th,
1045 | table>tfoot>tr>th,
1046 | table>thead>tr>th,
1047 | .table>.tr>.th,
1048 | .table>.tr>.th,
1049 | .table>.tr>.th {
1050 | padding-right: 1.5rem;
1051 | padding-left: 1.5rem;
1052 | color: #8898aa;
1053 | background-color: #f6f9fc;
1054 | font-size: .65rem;
1055 | padding-top: .75rem;
1056 | padding-bottom: .75rem;
1057 | letter-spacing: 1px;
1058 | text-transform: uppercase;
1059 | padding: 6px;
1060 | line-height: 1.5;
1061 | white-space: nowrap;
1062 | }
1063 |
1064 | .table .th,
1065 | .table .td {
1066 | display: table-cell;
1067 | vertical-align: middle;
1068 | }
1069 |
1070 | .table .tr.placeholder {
1071 | height: calc(3em + 20px);
1072 | }
1073 |
1074 | .table .tr.placeholder>.td {
1075 | position: absolute;
1076 | left: 0;
1077 | right: 0;
1078 | bottom: 0;
1079 | text-align: center;
1080 | line-height: 3em;
1081 | }
1082 |
1083 | .td.cbi-section-actions>* {
1084 | display: flex;
1085 | }
1086 |
1087 | .td.cbi-section-actions>*>*,
1088 | .td.cbi-section-actions>*>form>* {
1089 | flex: 1 1 4em;
1090 | margin: 0 1px;
1091 | }
1092 |
1093 | .td.cbi-section-actions>*>.cbi-button-up,
1094 | .cbi-input-up {
1095 | background: unset;
1096 | }
1097 |
1098 | .td.cbi-section-actions>*>.cbi-button-down,
1099 | .cbi-input-down {
1100 | background: unset;
1101 | }
1102 |
1103 | tr,
1104 | .tr {
1105 | display: table-row;
1106 | }
1107 |
1108 | .cbi-section-table-cell {
1109 | text-align: center;
1110 | }
1111 |
1112 | .cbi-section-table-row {
1113 | text-align: center;
1114 | }
1115 |
1116 | div.cbi-section>.table>.tr:nth-of-type(2n),
1117 | fieldset>table>tbody>tr:nth-of-type(2n) {
1118 | background-color: #fbfbfb;
1119 | }
1120 |
1121 |
1122 | /* fix progress bar */
1123 |
1124 | #swaptotal>div,
1125 | #swapfree>div,
1126 | #swapcache>div,
1127 | #memfree>div,
1128 | #membuff>div,
1129 | #conns>div,
1130 | #memcache>div,
1131 | #memtotal>div,
1132 | #cpu_free>div {
1133 | width: 100% !important;
1134 | height: 1.6rem !important;
1135 | line-height: 1.6rem;
1136 | border-radius: .25rem;
1137 | }
1138 |
1139 | #swaptotal>div>div,
1140 | #swapfree>div>div,
1141 | #swapcache>div>div,
1142 | #memfree>div>div,
1143 | #membuff>div>div,
1144 | #conns>div>div,
1145 | #memcache>div>div,
1146 | #memtotal>div>div,
1147 | #cpu_free>div>div {
1148 | height: 100% !important;
1149 | background-color: #825ee4 !important;
1150 | }
1151 |
1152 |
1153 | /* fix multiple table */
1154 |
1155 | table table {
1156 | border: none;
1157 | }
1158 |
1159 | .cbi-value-field table {
1160 | border: none;
1161 | }
1162 |
1163 | .td>.table>.tr>.td,
1164 | td>table>tbody>tr>td {
1165 | border: none;
1166 | }
1167 |
1168 | .cbi-value-field>.table>.tr.td,
1169 | .cbi-value-field>table>tbody>tr>td {
1170 | border: none;
1171 | }
1172 |
1173 |
1174 | /* button style */
1175 |
1176 | .cbi-button {
1177 | -webkit-appearance: none;
1178 | text-transform: uppercase;
1179 | color: rgba(0, 0, 0, 0.87);
1180 | background-color: #F0F0F0;
1181 | transition: all 0.2s ease-in-out;
1182 | display: inline-block;
1183 | padding: 0 0.8rem;
1184 | border: none;
1185 | border-radius: 0.2rem;
1186 | cursor: pointer;
1187 | -ms-touch-action: manipulation;
1188 | touch-action: manipulation;
1189 | background-image: none;
1190 | text-align: center;
1191 | vertical-align: middle;
1192 | white-space: nowrap;
1193 | -webkit-user-select: none;
1194 | -moz-user-select: none;
1195 | -ms-user-select: none;
1196 | user-select: none;
1197 | font-size: 0.8rem;
1198 | width: auto !important;
1199 | }
1200 |
1201 | .cbi-button:hover,
1202 | .cbi-button:focus,
1203 | .cbi-button:active {
1204 | color: rgba(0, 0, 0, 0.87);
1205 | outline: 0;
1206 | text-decoration: none;
1207 | color: rgba(0, 0, 0, 0.87);
1208 | }
1209 |
1210 | .cbi-button:hover,
1211 | .cbi-button:focus {
1212 | box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
1213 | }
1214 |
1215 | .cbi-button:active {
1216 | box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
1217 | }
1218 |
1219 | .cbi-button:disabled {
1220 | cursor: not-allowed;
1221 | pointer-events: none;
1222 | opacity: 0.60;
1223 | box-shadow: none;
1224 | }
1225 |
1226 | form.inline+form.inline,
1227 | .cbi-button+.cbi-button {
1228 | margin-left: 0.6rem;
1229 | }
1230 |
1231 | .cbi-button-reset,
1232 | .cbi-input-remove {
1233 | color: #fff !important;
1234 | background-color: #2dce89 !important;
1235 | border-color: #2dce89 !important;
1236 | }
1237 |
1238 | .cbi-input-find,
1239 | .cbi-input-save,
1240 | .cbi-button-add,
1241 | .cbi-button-save,
1242 | .cbi-button-find,
1243 | .cbi-input-reload,
1244 | .cbi-button-reload {
1245 | color: #fff !important;
1246 | background-color: #825ee4 !important;
1247 | border-color: #825ee4 !important;
1248 | }
1249 |
1250 | .cbi-input-apply,
1251 | .cbi-button-apply,
1252 | .cbi-button-edit {
1253 | color: #fff !important;
1254 | background-color: #4d418b !important;
1255 | border-color: #525f7f !important;
1256 | }
1257 |
1258 | .cbi-input-reset,
1259 | .cbi-section-remove>.cbi-button,
1260 | .cbi-button-remove {
1261 | color: #fff !important;
1262 | background-color: #fb6340 !important;
1263 | border-color: #fb6340 !important;
1264 | }
1265 |
1266 | .a-to-btn {
1267 | text-decoration: none;
1268 | }
1269 |
1270 |
1271 | /* table */
1272 |
1273 | .tabs {
1274 | /* margin: 0 -2rem; */
1275 | margin-top: 1rem;
1276 | /* padding-left: 0.5rem; */
1277 | background-color: #FFFFFF;
1278 | }
1279 |
1280 | .cbi-tabmenu>li,
1281 | .tabs>li {
1282 | font-size: 1rem;
1283 | border-top-left-radius: 0.25rem;
1284 | border-top-right-radius: 0.25rem;
1285 | border-bottom-left-radius: 0.25rem;
1286 | border-bottom-right-radius: 0.25rem;
1287 | display: inline-block;
1288 | padding: 0.6rem;
1289 | }
1290 |
1291 | .cbi-tabmenu>li>a,
1292 | .tabs>li>a {
1293 | text-decoration: none;
1294 | color: #8898aa;
1295 | padding: 0.5rem 0.8rem;
1296 | }
1297 |
1298 | .cbi-tabmenu>li>a {
1299 | color: #525f7f;
1300 | }
1301 |
1302 | .tabs>li[class~="active"],
1303 | .tabs>li:hover {
1304 | background-color: #413a76;
1305 | border-bottom: 0.1rem solid #fb6340;
1306 | }
1307 |
1308 | .tabs>li[class~="active"]>a {
1309 | color: #e8c6c6;
1310 | }
1311 |
1312 | .tabs>li:hover {
1313 | border-bottom: 0.1rem solid #fb6340;
1314 | }
1315 |
1316 | .cbi-tabmenu {
1317 | color: white;
1318 | }
1319 |
1320 | .cbi-tabmenu>li:hover {
1321 | background-color: #F1F1F1;
1322 | }
1323 |
1324 | .cbi-tabmenu>li:hover>a {
1325 | color: #525f7f;
1326 | }
1327 |
1328 | .cbi-tabmenu>li[class~="cbi-tab"] {
1329 | background-color: #413a76;
1330 | }
1331 |
1332 | .cbi-tabmenu>li[class~="cbi-tab"]>a {
1333 | color: #be9e9e;
1334 | }
1335 |
1336 | .cbi-tabmenu {
1337 | background-color: #f9f9f9;
1338 | }
1339 |
1340 | .cbi-section-remove:nth-of-type(2n),
1341 | .cbi-section-node:nth-of-type(2n) {
1342 | /* background-color: #f9f9f9; */
1343 | }
1344 |
1345 | .cbi-section-node-tabbed {
1346 | padding: 0;
1347 | margin-top: 0;
1348 | }
1349 |
1350 | .cbi-tabcontainer>.cbi-value:nth-of-type(2n) {
1351 | background-color: #f9f9f9;
1352 | }
1353 |
1354 | .cbi-value-field {
1355 | display: table-cell;
1356 | padding-top: 0.5em;
1357 | }
1358 |
1359 | .cbi-value-helpicon>img {
1360 | display: none;
1361 | }
1362 |
1363 | .cbi-value-helpicon:before {
1364 | content: "\f059";
1365 | }
1366 |
1367 | .cbi-value-description {
1368 | font-size: small;
1369 | opacity: 0.5;
1370 | display: unset;
1371 | }
1372 |
1373 | .cbi-value-description img {
1374 | vertical-align: sub;
1375 | }
1376 |
1377 | .cbi-value-title {
1378 | display: table-cell;
1379 | text-align: right;
1380 | width: 23rem;
1381 | line-height: unset;
1382 | padding-top: 0.5em;
1383 | margin-right: 1.5em;
1384 | float: left;
1385 | color: #404040;
1386 | /* white-space: nowrap;
1387 | overflow: hidden;
1388 | text-overflow: clip; */
1389 | }
1390 |
1391 | .cbi-value {
1392 | padding: 0.3rem 1rem;
1393 | width: 100%;
1394 | clear: both;
1395 | }
1396 |
1397 | .cbi-section-table-descr>.cbi-section-table-cell,
1398 | .cbi-section-table-titles>.cbi-section-table-cell {
1399 | border: none;
1400 | }
1401 |
1402 | .cbi-rowstyle-2 {
1403 | background-color: #f9f9f9;
1404 | }
1405 |
1406 | .cbi-rowstyle-2 .cbi-button-up,
1407 | .cbi-rowstyle-2 .cbi-button-down {
1408 | background-color: #FFF !important;
1409 | }
1410 |
1411 | .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
1412 | width: auto !important;
1413 | }
1414 |
1415 |
1416 | /* desc */
1417 |
1418 | .cbi-section-descr,
1419 | .cbi-map-descr {
1420 | padding: 0.5rem;
1421 | color: #999;
1422 | font-size: small;
1423 | }
1424 |
1425 | .cbi-page-actions {
1426 | border-top: 1px solid #eee;
1427 | padding-top: 1rem;
1428 | text-align: right;
1429 | }
1430 |
1431 |
1432 | /* input */
1433 |
1434 | .cbi-value input[type="password"],
1435 | .cbi-value input[type="text"] {
1436 | min-width: unset;
1437 | }
1438 |
1439 |
1440 | /* select */
1441 |
1442 | .cbi-value-field .cbi-input-select {
1443 | min-width: 15rem;
1444 | }
1445 |
1446 | .ifacebadge {
1447 | display: inline-flex;
1448 | border-bottom: 1px solid #CCCCCC;
1449 | padding: 0.5rem 1rem;
1450 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1451 | -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1452 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1453 | }
1454 |
1455 | td>.ifacebadge {
1456 | background-color: #F0F0F0;
1457 | font-size: 0.9rem;
1458 | }
1459 |
1460 | .ifacebadge>img {
1461 | float: right;
1462 | margin: 0 0.3rem;
1463 | }
1464 |
1465 | .ifacebox {
1466 | text-align: center;
1467 | margin-right: 60px;
1468 | }
1469 |
1470 | .ifacebox .ifacebox-head {
1471 | border-bottom: 1px solid #ccc;
1472 | padding: 2px;
1473 | background: #eee;
1474 | }
1475 |
1476 | .ifacebox .ifacebox-head.active {
1477 | background: #5e72e4;
1478 | }
1479 |
1480 | .ifacebox .ifacebox-body {
1481 | border: 2px solid #f2f2f2;
1482 | border-top: 0;
1483 | border-radius: 0 0 4px 4px;
1484 | padding: 2px 10px;
1485 | }
1486 |
1487 | .network-status-table .ifacebox-body {
1488 | display: flex;
1489 | flex-direction: column;
1490 | height: 100%;
1491 | text-align: left;
1492 | }
1493 |
1494 | .network-status-table .ifacebox {
1495 | margin: .5em;
1496 | flex-grow: 1;
1497 | }
1498 |
1499 | .ifacebox .ifacebox-body {
1500 | padding: .25em;
1501 | }
1502 |
1503 | .ifacebox {
1504 | background-color: #fff;
1505 | border: 1px solid #ccc;
1506 | margin: 0 10px;
1507 | text-align: center;
1508 | white-space: nowrap;
1509 | background-image: linear-gradient(#fff, #fff 25%, #f9f9f9);
1510 | text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
1511 | border-radius: 4px;
1512 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1513 | display: inline-flex;
1514 | flex-direction: column;
1515 | line-height: 1.2em;
1516 | min-width: 100px;
1517 | }
1518 |
1519 | .ifacebadge {
1520 | display: inline-block;
1521 | flex-direction: row;
1522 | white-space: nowrap;
1523 | background-color: #fff;
1524 | border: 1px solid #ccc;
1525 | padding: 2px;
1526 | background-image: linear-gradient(#fff, #fff 25%, #f9f9f9);
1527 | text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
1528 | border-radius: 4px;
1529 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1530 | cursor: default;
1531 | line-height: 1.2em;
1532 | }
1533 |
1534 | .ifacebadge.large,
1535 | .network-status-table .ifacebox-body .ifacebadge {
1536 | display: inline-flex;
1537 | flex: 1;
1538 | padding: .25em;
1539 | min-width: 220px;
1540 | margin: .125em;
1541 | float: left;
1542 | }
1543 |
1544 | .ifacebadge img {
1545 | width: 16px;
1546 | height: 16px;
1547 | vertical-align: middle;
1548 | }
1549 |
1550 | .ifacebadge>*,
1551 | .ifacebadge.large>* {
1552 | margin: 0 .125em;
1553 | }
1554 |
1555 | .ifacebadge>*,
1556 | .ifacebadge.large>* {
1557 | margin: 0 .125em;
1558 | }
1559 |
1560 | .network-status-table {
1561 | display: flex;
1562 | flex-wrap: wrap;
1563 | }
1564 |
1565 | .cbi-tooltip {
1566 | position: absolute;
1567 | z-index: 1000;
1568 | left: -1000px;
1569 | opacity: 0;
1570 | transition: opacity .25s ease-out;
1571 | }
1572 |
1573 | .cbi-tooltip-container {
1574 | /* cursor: help; */
1575 | }
1576 |
1577 |
1578 | /*textarea*/
1579 |
1580 | .cbi-input-textarea {
1581 | width: 100%;
1582 | resize: none;
1583 | border-radius: 0.25rem;
1584 | /* min-height: 14rem; */
1585 | padding: 0.8rem;
1586 | font-size: 0.8rem;
1587 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
1588 | color: black;
1589 | }
1590 |
1591 | #syslog {
1592 | width: 100%;
1593 | min-height: 15rem;
1594 | padding: 1rem;
1595 | font-size: small;
1596 | color: #5F5F5F;
1597 | margin-bottom: 20px;
1598 | border-radius: 0;
1599 | background-color: #FFF;
1600 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1601 | border: none;
1602 | }
1603 |
1604 |
1605 | /* change */
1606 |
1607 | .uci-change-list {
1608 | font-family: monospace;
1609 | }
1610 |
1611 | .uci-change-list ins,
1612 | .uci-change-legend-label ins {
1613 | text-decoration: none;
1614 | border: 1px solid #00FF00;
1615 | background-color: #CCFFCC;
1616 | display: block;
1617 | padding: 2px;
1618 | }
1619 |
1620 | .uci-change-list del,
1621 | .uci-change-legend-label del {
1622 | text-decoration: none;
1623 | border: 1px solid #FF0000;
1624 | background-color: #FFCCCC;
1625 | display: block;
1626 | font-style: normal;
1627 | padding: 2px;
1628 | }
1629 |
1630 | .uci-change-list var,
1631 | .uci-change-legend-label var {
1632 | text-decoration: none;
1633 | border: 1px solid #CCCCCC;
1634 | background-color: #EEEEEE;
1635 | display: block;
1636 | font-style: normal;
1637 | padding: 2px;
1638 | }
1639 |
1640 | .uci-change-list var ins,
1641 | .uci-change-list var del {
1642 | border: none;
1643 | white-space: pre;
1644 | font-style: normal;
1645 | padding: 0px;
1646 | }
1647 |
1648 | .uci-change-legend {
1649 | padding: 5px;
1650 | }
1651 |
1652 | .uci-change-legend-label {
1653 | width: 150px;
1654 | float: left;
1655 | }
1656 |
1657 | .uci-change-legend-label>ins,
1658 | .uci-change-legend-label>del,
1659 | .uci-change-legend-label>var {
1660 | float: left;
1661 | margin-right: 4px;
1662 | width: 10px;
1663 | height: 10px;
1664 | display: block;
1665 | }
1666 |
1667 | .uci-change-legend-label var ins,
1668 | .uci-change-legend-label var del {
1669 | line-height: 6px;
1670 | border: none;
1671 | }
1672 |
1673 | .uci-change-list var,
1674 | .uci-change-list del,
1675 | .uci-change-list ins {
1676 | padding: 0.5rem;
1677 | }
1678 |
1679 |
1680 | /* other fix */
1681 |
1682 | #iwsvg,
1683 | #iwsvg2,
1684 | #bwsvg {
1685 | border: 1px solid #D4D4D4 !important;
1686 | border-top: none !important;
1687 | }
1688 |
1689 | .ifacebox {
1690 | /* border: 1px solid #999; */
1691 | background-color: #f9f9f9;
1692 | }
1693 |
1694 | .cbi-image-button {
1695 | margin-left: 0.5rem;
1696 | }
1697 |
1698 | .zonebadge {
1699 | padding: 0.2rem 0.5rem;
1700 | display: inline-block;
1701 | cursor: pointer;
1702 | }
1703 |
1704 | .zonebadge-empty {
1705 | border: 2px dashed #ddd;
1706 | color: #ddd;
1707 | font-style: italic;
1708 | }
1709 |
1710 | .zone-forwards {
1711 | display: flex;
1712 | flex-wrap: wrap;
1713 | }
1714 |
1715 | .zone-forwards .zone-src,
1716 | .zone-forwards .zone-dest {
1717 | display: flex;
1718 | flex-direction: column;
1719 | }
1720 |
1721 | .zone-forwards>span {
1722 | flex-basis: 10%;
1723 | text-align: center;
1724 | }
1725 |
1726 | .zone-forwards>* {
1727 | flex: 1 1 40%;
1728 | padding: 1px;
1729 | }
1730 |
1731 | .zonebadge>.ifacebadge {
1732 | padding: 0.2rem 1rem;
1733 | margin: 0.3rem;
1734 | border: 1px solid #6C6C6C;
1735 | }
1736 |
1737 | .zonebadge>input[type="text"] {
1738 | padding: 0.16rem 1rem;
1739 | min-width: 10rem;
1740 | margin-top: 0.3rem;
1741 | }
1742 |
1743 | .cbi-value-field .cbi-input-checkbox,
1744 | .cbi-value-field .cbi-input-radio {
1745 | height: 1rem;
1746 | }
1747 |
1748 | .cbi-value-field>input+.cbi-value-description {
1749 | padding: 0;
1750 | }
1751 |
1752 | .cbi-value-field>ul>li {
1753 | display: flex;
1754 | }
1755 |
1756 | .cbi-value-field>ul>li>label {
1757 | margin-top: 0rem;
1758 | }
1759 |
1760 | .cbi-value-field>ul>li .ifacebadge {
1761 | background-color: #eee;
1762 | margin-left: 0.4rem;
1763 | margin-top: -0.5rem;
1764 | }
1765 |
1766 | .cbi-section-table-row>.cbi-value-field .cbi-input-select {
1767 | min-width: 7rem;
1768 | }
1769 |
1770 | .cbi-section-create>.cbi-button-add {
1771 | margin: 0.5rem;
1772 | }
1773 |
1774 | .cbi-section-remove {
1775 | padding: 0.5rem;
1776 | }
1777 |
1778 | div.cbi-value var,
1779 | td.cbi-value-field var {
1780 | font-style: italic;
1781 | color: #0069D6;
1782 | }
1783 |
1784 | small {
1785 | font-size: 90%;
1786 | white-space: normal;
1787 | line-height: 1.42857143;
1788 | }
1789 |
1790 | .cbi-button-up,
1791 | .cbi-button-down {
1792 | display: inline-block;
1793 | min-width: 0;
1794 | padding: 0.2rem 0.3rem;
1795 | font-size: 1.2rem;
1796 | }
1797 |
1798 | .cbi-optionals {
1799 | padding: 1rem 1rem 0 1rem;
1800 | border-top: 1px solid #CCC;
1801 | }
1802 |
1803 | #diag-rc-output>pre {
1804 | background-color: #f5f5f5;
1805 | display: block;
1806 | padding: 8.5px;
1807 | margin: 0 0 18px;
1808 | line-height: 1.5rem;
1809 | -moz-border-radius: 3px;
1810 | white-space: pre-wrap;
1811 | word-wrap: break-word;
1812 | font-size: 1.4rem;
1813 | color: #404040;
1814 | }
1815 |
1816 | input[name="ping"],
1817 | input[name="traceroute"],
1818 | input[name="nslookup"] {
1819 | width: 80%;
1820 | }
1821 |
1822 | header>.container>.pull-right>* {
1823 | position: relative;
1824 | top: 0.45rem;
1825 | cursor: pointer;
1826 | }
1827 |
1828 | #xhr_poll_status>.label.success {
1829 | background-color: #2dce89;
1830 | }
1831 |
1832 | .label {
1833 | padding: 0.3rem 0.8rem;
1834 | font-size: 0.8rem;
1835 | font-weight: bold;
1836 | color: #ffffff !important;
1837 | text-transform: uppercase;
1838 | white-space: nowrap;
1839 | background-color: #bfbfbf;
1840 | -webkit-border-radius: 3px;
1841 | -moz-border-radius: 3px;
1842 | border-radius: 3px;
1843 | text-shadow: none;
1844 | text-decoration: none;
1845 | }
1846 |
1847 | .notice {
1848 | background-color: #11cdef;
1849 | }
1850 |
1851 | .showSide {
1852 | display: none;
1853 | }
1854 |
1855 | .darkMask {
1856 | width: 100%;
1857 | height: 100%;
1858 | position: fixed;
1859 | background-color: rgba(0, 0, 0, 0.56);
1860 | content: "";
1861 | z-index: 99;
1862 | display: none;
1863 | }
1864 |
1865 |
1866 | /* fix Main Login*/
1867 |
1868 | .node-main-login>.main>.main-left {
1869 | display: none;
1870 | }
1871 |
1872 | .node-main-login>.main>.main-right {
1873 | width: 100%;
1874 | background-color: #eee!important;
1875 | }
1876 |
1877 | .node-main-login>.main>.main-right>#maincontent {
1878 | margin-top: 5rem;
1879 | background-color: #eee!important;
1880 | }
1881 |
1882 | .node-main-login>.main div.cbi-section,
1883 | .node-main-login>.main fieldset {
1884 | padding: 0.5rem;
1885 | margin-bottom: 1rem;
1886 | display: inline;
1887 | background: none;
1888 | border: none;
1889 | box-shadow: none;
1890 | overflow: hidden;
1891 | }
1892 |
1893 | .node-main-login>.main .cbi-value-title {
1894 | width: 7rem;
1895 | font-size: 1rem;
1896 | line-height: 1.5;
1897 | color: #525f7f;
1898 | padding: .625rem;
1899 | }
1900 |
1901 | .node-main-login>.main #maincontent {
1902 | text-align: center;
1903 | }
1904 |
1905 | .node-main-login>.main .container {
1906 | display: inline-block;
1907 | padding: 2rem 2rem;
1908 | margin-top: 2rem !important;
1909 | background-color: #f7fafc!important;
1910 | border-radius: .375rem;
1911 | box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15);
1912 | text-align: left;
1913 | }
1914 |
1915 | .node-main-login>.main .container h2 {
1916 | color: #525f7f;
1917 | text-align: center;
1918 | letter-spacing: 4px;
1919 | }
1920 |
1921 | .node-main-login>.main .container .cbi-map-descr {
1922 | text-align: center;
1923 | }
1924 |
1925 | .node-main-login>.main .container .cbi-value-field input {
1926 | font-size: 1rem;
1927 | line-height: 1.5;
1928 | display: block;
1929 | width: 100%;
1930 | height: calc(2.75rem + 2px);
1931 | padding: .625rem .75rem;
1932 | transition: all .15s cubic-bezier(.68, -.55, .265, 1.55);
1933 | color: #8898aa;
1934 | border: 1px solid #dee2e6;
1935 | border-radius: .25rem;
1936 | background-color: #fff;
1937 | background-clip: padding-box;
1938 | box-shadow: 0 3px 2px rgba(233, 236, 239, .05);
1939 | }
1940 |
1941 | .node-main-login>.main .container .cbi-value-field input:focus {
1942 | color: #8898aa;
1943 | border-color: #525f7f;
1944 | outline: 0;
1945 | background-color: #fff;
1946 | box-shadow: 0 3px 9px rgba(50, 50, 9, 0), 3px 4px 8px rgba(94, 114, 228, .1)
1947 | }
1948 |
1949 | .node-main-login>.main .container input.cbi-button {
1950 | font-size: 1rem;
1951 | height: auto;
1952 | position: relative;
1953 | transition: all .15s ease;
1954 | letter-spacing: .2em;
1955 | text-transform: none;
1956 | padding: .625rem 1.25rem;
1957 | will-change: transform;
1958 | }
1959 |
1960 | .node-main-login>.main form>div:nth-last-child(1) {
1961 | text-align: center;
1962 | }
1963 |
1964 | .node-main-login>.main .cbi-value {
1965 | display: block;
1966 | }
1967 |
1968 | .node-main-login>.main .cbi-value>* {
1969 | display: inline-block !important;
1970 | }
1971 |
1972 | .node-main-login>.main .cbi-input-user,
1973 | .node-main-login>.main .cbi-input-password {
1974 | min-width: 15rem;
1975 | }
1976 |
1977 | .node-main-login footer {
1978 | bottom: 0;
1979 | position: absolute;
1980 | width: 100%;
1981 | }
1982 |
1983 |
1984 | /* fix status overview */
1985 |
1986 | .node-status-overview>.main div.cbi-section:nth-child(4) td:nth-child(2),
1987 | .node-status-overview>.main fieldset:nth-child(4) td:nth-child(2) {
1988 | white-space: normal;
1989 | }
1990 |
1991 |
1992 | /* fix status processes */
1993 |
1994 | .node-status-processes>.main .table .tr .td:nth-child(3),
1995 | .node-status-processes>.main table tr td:nth-child(3) {
1996 | white-space: normal;
1997 | }
1998 |
1999 | .node-status-iptables>.main div>.cbi-map>form {
2000 | margin: 1rem 2rem 0 0;
2001 | }
2002 |
2003 |
2004 | /* fix system reboot */
2005 |
2006 | .node-system-reboot>.main>.main-right p,
2007 | .node-system-reboot>.main>.main-right h3 {
2008 | padding-left: 2rem;
2009 | }
2010 |
2011 |
2012 | /* fix Services Network Shares*/
2013 |
2014 | .node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
2015 | margin-bottom: 1rem;
2016 | width: auto;
2017 | }
2018 |
2019 | .node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
2020 | display: list-item;
2021 | }
2022 |
2023 | .node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
2024 | padding-top: 1rem;
2025 | }
2026 |
2027 |
2028 | /* fix System Software*/
2029 |
2030 | .node-system-packages>.main .table .tr .td:nth-child(1),
2031 | .node-system-packages>.main table tr td:nth-child(1) {
2032 | width: auto !important;
2033 | }
2034 |
2035 | .node-system-packages>.main .table .tr .td:nth-last-child(1),
2036 | .node-system-packages>.main table tr td:nth-last-child(1) {
2037 | white-space: normal;
2038 | font-size: small;
2039 | color: #404040;
2040 | }
2041 |
2042 | .node-system-packages>.main .cbi-tabmenu>li>a,
2043 | .tabs>li>a {
2044 | padding: 0.5rem 0.8rem;
2045 | }
2046 |
2047 | .node-system-packages>.main .cbi-value>pre {
2048 | background-color: #eee;
2049 | padding: 0.5rem;
2050 | overflow: auto;
2051 | }
2052 |
2053 | .cbi-tabmenu+.cbi-section {
2054 | margin-top: 0;
2055 | }
2056 |
2057 |
2058 | /* fix network firewall*/
2059 |
2060 | .node-network-firewall>.main .cbi-section-table-row>.cbi-value-field .cbi-input-select {
2061 | min-width: 4rem;
2062 | }
2063 |
2064 | .node-status-iptables div.cbi-section,
2065 | .node-system-packages div.cbi-section,
2066 | .node-system-flashops div.cbi-section,
2067 | .node-status-iptables fieldset,
2068 | .node-system-packages fieldset,
2069 | .node-system-flashops fieldset {
2070 | margin-top: 0;
2071 | }
2072 |
2073 | .node-status-iptables .cbi-tabmenu,
2074 | .node-system-packages .cbi-tabmenu,
2075 | .node-system-flashops .cbi-tabmenu {
2076 | border: none;
2077 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
2078 | }
2079 |
2080 | .node-system-flashops form.inline+form.inline {
2081 | margin-left: 0;
2082 | }
2083 |
2084 | #cbi-firewall-redirect table *,
2085 | #cbi-network-switch_vlan table *,
2086 | #cbi-firewall-zone table * {
2087 | font-size: small;
2088 | }
2089 |
2090 | #cbi-firewall-redirect table input[type="text"],
2091 | #cbi-network-switch_vlan table input[type="text"],
2092 | #cbi-firewall-zone table input[type="text"] {
2093 | width: 5rem;
2094 | }
2095 |
2096 | #cbi-firewall-redirect table select,
2097 | #cbi-network-switch_vlan table select,
2098 | #cbi-firewall-zone table select {
2099 | min-width: 3.5rem;
2100 | }
2101 |
2102 |
2103 | /* language fix */
2104 |
2105 | body.lang_pl.node-main-login .cbi-value-title {
2106 | width: 12rem;
2107 | }
2108 |
2109 | .cbi-dropdown {
2110 | display: inline-block;
2111 | width: 210px;
2112 | height: 30px;
2113 | padding: 4px;
2114 | font-size: 13px;
2115 | line-height: 18px;
2116 | color: #808080;
2117 | border: 1px solid #ccc;
2118 | border-radius: 3px;
2119 | box-sizing: border-box;
2120 | }
2121 |
2122 | .cbi-dropdown {
2123 | border: 1px solid #ccc;
2124 | border-radius: 3px;
2125 | display: inline-flex;
2126 | padding: 0;
2127 | cursor: pointer;
2128 | height: auto;
2129 | background: linear-gradient(#fff 0%, #e9e8e6 100%);
2130 | position: relative;
2131 | color: #404040;
2132 | }
2133 |
2134 | .cbi-dropdown {
2135 | min-width: 210px;
2136 | max-width: 400px;
2137 | width: auto;
2138 | }
2139 |
2140 | .cbi-dropdown:focus {
2141 | outline: 2px solid #4b6e9b;
2142 | }
2143 |
2144 | .cbi-dropdown>ul {
2145 | margin: 0 !important;
2146 | padding: 0;
2147 | list-style: none;
2148 | overflow-x: hidden;
2149 | overflow-y: auto;
2150 | display: flex;
2151 | width: 100%;
2152 | }
2153 |
2154 | .cbi-dropdown>ul.preview {
2155 | display: none;
2156 | }
2157 |
2158 | .cbi-dropdown>.open,
2159 | .cbi-dropdown>.more {
2160 | flex-grow: 0;
2161 | flex-shrink: 0;
2162 | display: flex;
2163 | flex-direction: column;
2164 | justify-content: center;
2165 | text-align: center;
2166 | line-height: 2em;
2167 | padding: 0 .25em;
2168 | }
2169 |
2170 | .cbi-dropdown>.more,
2171 | .cbi-dropdown>ul>li[placeholder] {
2172 | color: #777;
2173 | font-weight: bold;
2174 | text-shadow: 1px 1px 0px #fff;
2175 | display: none;
2176 | }
2177 |
2178 | .cbi-dropdown>ul>li {
2179 | display: none;
2180 | padding: .25em;
2181 | white-space: nowrap;
2182 | overflow: hidden;
2183 | text-overflow: ellipsis;
2184 | flex-shrink: 1;
2185 | flex-grow: 1;
2186 | align-items: center;
2187 | align-self: center;
2188 | color: #404040;
2189 | min-height: 20px;
2190 | }
2191 |
2192 | .cbi-dropdown>ul>li .hide-open {
2193 | display: block;
2194 | display: initial;
2195 | }
2196 |
2197 | .cbi-dropdown>ul>li .hide-close {
2198 | display: none;
2199 | }
2200 |
2201 | .cbi-dropdown>ul>li[display]:not([display="0"]) {
2202 | border-left: 1px solid #ccc;
2203 | }
2204 |
2205 | .cbi-dropdown[empty]>ul {
2206 | max-width: 1px;
2207 | }
2208 |
2209 | .cbi-dropdown>ul>li>form {
2210 | display: none;
2211 | margin: 0;
2212 | padding: 0;
2213 | pointer-events: none;
2214 | }
2215 |
2216 | .cbi-dropdown>ul>li img {
2217 | vertical-align: middle;
2218 | margin-right: .25em;
2219 | }
2220 |
2221 | .cbi-dropdown>ul>li>form>input[type="checkbox"] {
2222 | margin: 0;
2223 | }
2224 |
2225 | .cbi-dropdown>ul>li input[type="text"] {
2226 | height: 20px;
2227 | }
2228 |
2229 | .cbi-dropdown[open] {
2230 | position: relative;
2231 | }
2232 |
2233 | .cbi-dropdown[open]>ul.dropdown {
2234 | display: block;
2235 | background: #f6f6f5;
2236 | border: 1px solid #918e8c;
2237 | box-shadow: 0 0 4px #918e8c;
2238 | position: absolute;
2239 | z-index: 1000;
2240 | max-width: none;
2241 | min-width: 100%;
2242 | width: auto;
2243 | }
2244 |
2245 | .cbi-dropdown>ul>li[display],
2246 | .cbi-dropdown[open]>ul.preview,
2247 | .cbi-dropdown[open]>ul.dropdown>li,
2248 | .cbi-dropdown[multiple]>ul>li>label,
2249 | .cbi-dropdown[multiple][open]>ul.dropdown>li,
2250 | .cbi-dropdown[multiple][more]>.more,
2251 | .cbi-dropdown[multiple][empty]>.more {
2252 | flex-grow: 1;
2253 | display: flex;
2254 | }
2255 |
2256 | .cbi-dropdown[empty]>ul>li,
2257 | .cbi-dropdown[optional][open]>ul.dropdown>li[placeholder],
2258 | .cbi-dropdown[multiple][open]>ul.dropdown>li>form {
2259 | display: block;
2260 | }
2261 |
2262 | .cbi-dropdown[open]>ul.dropdown>li .hide-open {
2263 | display: none;
2264 | }
2265 |
2266 | .cbi-dropdown[open]>ul.dropdown>li .hide-close {
2267 | display: block;
2268 | display: initial;
2269 | }
2270 |
2271 | .cbi-dropdown[open]>ul.dropdown>li {
2272 | border-bottom: 1px solid #ccc;
2273 | }
2274 |
2275 | .cbi-dropdown[open]>ul.dropdown>li[selected] {
2276 | background: #b0d0f0;
2277 | }
2278 |
2279 | .cbi-dropdown[open]>ul.dropdown>li.focus {
2280 | background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%);
2281 | }
2282 |
2283 | .cbi-dropdown[open]>ul.dropdown>li:last-child {
2284 | margin-bottom: 0;
2285 | border-bottom: none;
2286 | }
2287 |
2288 | .cbi-dropdown[disabled] {
2289 | pointer-events: none;
2290 | opacity: .6;
2291 | }
2292 |
2293 | @media screen and (max-width: 1600px) {
2294 | .main-left {
2295 | width: calc(0% + 13rem);
2296 | }
2297 | .main-right {
2298 | width: calc(100% - 13rem);
2299 | }
2300 | .cbi-button {
2301 | padding: 0.3rem 1.5rem;
2302 | font-size: 0.8rem;
2303 | }
2304 | header>.container>.pull-right>* {
2305 | top: 0.35rem;
2306 | }
2307 | .label {
2308 | padding: 0.2rem 0.6rem;
2309 | }
2310 | .cbi-value-title {
2311 | width: 15rem;
2312 | }
2313 | div.cbi-section,fieldset {
2314 | padding: 0;
2315 | margin: 1rem 0 0 0;
2316 | overflow-x: auto;
2317 | }
2318 | .cbi-input-textarea {
2319 | font-size: small;
2320 | }
2321 | .node-status-iptables>.main div.cbi-section li>a,
2322 | .node-status-iptables>.main fieldset li>a {
2323 | padding: 0.3rem 0.6rem;
2324 | }
2325 | }
2326 |
2327 | @media screen and (max-width: 1280px) {
2328 | header {
2329 | height: 3.5rem;
2330 | }
2331 | header>.container {
2332 | margin-top: 0.25rem;
2333 | }
2334 | .main {
2335 | top: 3.5rem;
2336 | height: calc(100% - 3.5rem);
2337 | }
2338 | .main-left {
2339 | width: calc(0% + 13rem);
2340 | top: 3.5rem;
2341 | height: calc(100% - 3.5rem);
2342 | }
2343 | .main-right {
2344 | width: calc(100% - 13rem);
2345 | }
2346 | .cbi-tabmenu>li>a,
2347 | .tabs>li>a {
2348 | padding: 0.2rem 0.5rem;
2349 | }
2350 | .panel-title {
2351 | /* font-size: 1.1rem;
2352 | padding-bottom: 1rem; */
2353 | }
2354 | table {
2355 | font-size: 0.7rem !important;
2356 | width: 100% !important;
2357 | }
2358 | .main>.main-left>.nav>li,
2359 | .main>.main-left>.nav>li a,
2360 | .main>.main-left>.nav>.slide>.menu {
2361 | font-size: 0.9rem;
2362 | }
2363 | .main>.main-left>.nav>.slide>.slide-menu>li>a {
2364 | font-size: 0.7rem;
2365 | }
2366 | }
2367 |
2368 | @media screen and (max-width: 992px) {
2369 | .main-left {
2370 | width: 0;
2371 | position: fixed;
2372 | z-index: 100;
2373 | }
2374 | .main-right {
2375 | width: 100%;
2376 | }
2377 | .showSide {
2378 | padding: 0.1rem;
2379 | margin-right: 0.5rem;
2380 | display: inline-block;
2381 | }
2382 | .showSide:before {
2383 | content: "\e20e";
2384 | font-size: 1.7rem;
2385 | }
2386 | .node-main-login .showSide {
2387 | display: none !important;
2388 | }
2389 | .cbi-value-title {
2390 | /* width: 9rem; */
2391 | }
2392 | .node-network-diagnostics>.main .cbi-map div.cbi-section>div *,
2393 | .node-network-diagnostics>.main .cbi-map fieldset>div * {
2394 | width: 100% !important;
2395 | }
2396 | .node-network-diagnostics>.main .cbi-map div.cbi-section>div input[type="text"],
2397 | .node-network-diagnostics>.main .cbi-map fieldset>div input[type="text"] {
2398 | margin: 3rem 0 0 0 !important;
2399 | }
2400 | .node-network-diagnostics>.main .cbi-map div.cbi-section>div:nth-child(4) input[type="text"],
2401 | .node-network-diagnostics>.main .cbi-map fieldset>div:nth-child(4) input[type="text"] {
2402 | margin: 0 !important;
2403 | }
2404 | .node-network-diagnostics>.main .cbi-map div.cbi-section>div select,
2405 | .node-network-diagnostics>.main .cbi-map fieldset>div select,
2406 | .node-network-diagnostics>.main .cbi-map div.cbi-section>div input[type="button"],
2407 | .node-network-diagnostics>.main .cbi-map fieldset>div input[type="button"] {
2408 | margin: 1rem 0 0 0;
2409 | }
2410 | .node-network-diagnostics>.main .cbi-map div.cbi-section>div,
2411 | .node-network-diagnostics>.main .cbi-map fieldset>div {
2412 | width: 100% !important;
2413 | }
2414 | #diag-rc-output>pre {
2415 | font-size: 1rem;
2416 | }
2417 | .node-main-login>.main .cbi-value-title {
2418 | text-align: left;
2419 | }
2420 | }
2421 |
2422 | @media screen and (max-width: 480px) {
2423 | div.cbi-section,fieldset {
2424 | padding: 0;
2425 | margin: 1rem 0 0 0;
2426 | overflow-x: auto;
2427 | }
2428 | .tabs {
2429 | margin: 0 -1rem;
2430 | }
2431 | #maincontent>.container {
2432 | margin: 0 1rem 1.5rem 1rem;
2433 | }
2434 | .main>.main-left>.nav>.slide>.menu {
2435 | font-size: 1rem;
2436 | }
2437 | .main>.main-left>.nav>.slide>.slide-menu>li>a {
2438 | font-size: 0.9rem;
2439 | }
2440 | .cbi-value {
2441 | padding: 0.6em 0em;
2442 | }
2443 | .cbi-value-title {
2444 | width: 40%;
2445 | min-width: 0rem !important;
2446 | text-align: left;
2447 | padding-left: 1em;
2448 | }
2449 | .cbi-value-field,
2450 | .cbi-value-description {
2451 | width: 100%;
2452 | }
2453 | .cbi-value-field .cbi-input-select {
2454 | width: 95%;
2455 | min-width: unset;
2456 | }
2457 | .cbi-value-field .cbi-input-textarea {
2458 | width: 95% !important;
2459 | min-width: unset;
2460 | }
2461 | .cbi-value>.cbi-value-field {
2462 | display: table-cell;
2463 | width: 20em;
2464 | }
2465 | .cbi-tabmenu>li,
2466 | .tabs>li {
2467 | padding: 0.6rem 0rem;
2468 | }
2469 | .cbi-tabmenu>li>a,
2470 | .tabs>li>a {
2471 | padding: 0.2rem 0.3rem;
2472 | font-size: 0.9rem;
2473 | }
2474 | .cbi-page-actions>div>input {
2475 | display: none;
2476 | }
2477 | .node-main-login>.main .container {
2478 | padding: 0.5rem 1rem 2rem 1rem;
2479 | }
2480 | .node-main-login>.main .cbi-value {
2481 | padding: 0;
2482 | }
2483 | .node-main-login>.main .cbi-value>* {
2484 | width: 100%;
2485 | }
2486 | .node-main-login>.main form>div:nth-last-child(1) {
2487 | margin-top: 2rem;
2488 | }
2489 | .node-main-login>.main .cbi-value-title {
2490 | width: 100% !important;
2491 | font-size: 1.2rem;
2492 | }
2493 | .node-main-login>.main div.cbi-section,
2494 | .node-main-login>.main fieldset {
2495 | margin: 0;
2496 | padding: 0.5rem;
2497 | }
2498 | h2 {
2499 | font-size: 1.5rem;
2500 | }
2501 | .tabs>li>a {
2502 | font-size: 0.9rem;
2503 | }
2504 | select,
2505 | input {
2506 | font-size: 0.9rem;
2507 | }
2508 | .mobile-hide {
2509 | display: none;
2510 | }
2511 | .panel-title {
2512 | /*font-size: 1.4rem;
2513 | padding-bottom: 1rem; */
2514 | }
2515 | .node-system-packages>.main .cbi-value.cbi-value-last>div {
2516 | width: 100% !important;
2517 | }
2518 | .node-system-packages>.main .cbi-value .cbi-value-field input {
2519 | width: 100%;
2520 | }
2521 | .node-status-iptables>.main div>.cbi-map>form {
2522 | position: static !important;
2523 | margin: 0 0 2rem 0;
2524 | padding: 2rem;
2525 | border: 0;
2526 | font-weight: normal;
2527 | font-style: normal;
2528 | line-height: 1;
2529 | font-family: inherit;
2530 | min-width: inherit;
2531 | overflow-x: auto;
2532 | overflow-y: hidden;
2533 | border-radius: 0;
2534 | background-color: #FFF;
2535 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
2536 | -webkit-overflow-scrolling: touch;
2537 | }
2538 | .node-status-iptables>.main div>.cbi-map>form input[type="submit"] {
2539 | width: 100% !important;
2540 | margin: 0;
2541 | }
2542 | .node-status-iptables>.main div>.cbi-map>form input[type="submit"]+input[type="submit"] {
2543 | margin-top: 1rem;
2544 | }
2545 | }
2546 |
2547 | @media screen and (min-width: 992px) {
2548 | .cbi-value input[type="password"],
2549 | .cbi-value input[type="text"] {
2550 | min-width: 20rem;
2551 | }
2552 | .cbi-value-field .cbi-input-select {
2553 | min-width: 20rem;
2554 | }
2555 | }
2556 |
2557 | @media screen and (min-width: 1280px) {
2558 | .cbi-value input[type="password"],
2559 | .cbi-value input[type="text"] {
2560 | min-width: 22rem;
2561 | }
2562 | .cbi-value-field .cbi-input-select {
2563 | min-width: 22rem;
2564 | }
2565 | }
2566 |
2567 | @media screen and (min-width: 1600px) {
2568 | .cbi-value input[type="password"],
2569 | .cbi-value input[type="text"] {
2570 | min-width: 25rem;
2571 | }
2572 | .cbi-value-field .cbi-input-select {
2573 | min-width: 25rem;
2574 | }
2575 | }
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc2/favicon.ico
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/fonts/font.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc2/fonts/font.eot
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/fonts/font.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/fonts/font.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc2/fonts/font.ttf
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/fonts/font.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc2/fonts/font.woff
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/fonts/ssr.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc2/fonts/ssr.eot
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/fonts/ssr.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/fonts/ssr.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc2/fonts/ssr.ttf
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/fonts/ssr.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc2/fonts/ssr.woff
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/js/script.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI
3 | *
4 | * luci-theme-material
5 | * Copyright 2015 Lutty Yang
6 | *
7 | * Have a bug? Please create an issue here on GitHub!
8 | * https://github.com/LuttyYang/luci-theme-material/issues
9 | *
10 | * luci-theme-bootstrap:
11 | * Copyright 2008 Steven Barth
12 | * Copyright 2008 Jo-Philipp Wich
13 | * Copyright 2012 David Menting
14 | *
15 | * MUI:
16 | * https://github.com/muicss/mui
17 | *
18 | * Licensed to the public under the Apache License 2.0
19 | */
20 |
21 |
22 | (function ($) {
23 | $(".main > .loading").fadeOut();
24 |
25 | /**
26 | * trim text, Remove spaces, wrap
27 | * @param text
28 | * @returns {string}
29 | */
30 | function trimText(text) {
31 | return text.replace(/[ \t\n\r]+/g, " ");
32 | }
33 |
34 |
35 | var lastNode = undefined;
36 | var mainNodeName = undefined;
37 |
38 | var nodeUrl = "";
39 | (function(node){
40 | if (node[0] == "admin"){
41 | luciLocation = [node[1], node[2]];
42 | }else{
43 | luciLocation = node;
44 | }
45 |
46 | for(var i in luciLocation){
47 | nodeUrl += luciLocation[i];
48 | if (i != luciLocation.length - 1){
49 | nodeUrl += "/";
50 | }
51 | }
52 | })(luciLocation);
53 |
54 | /**
55 | * get the current node by Burl (primary)
56 | * @returns {boolean} success?
57 | */
58 | function getCurrentNodeByUrl() {
59 | var ret = false;
60 | if (!$('body').hasClass('logged-in')) {
61 | luciLocation = ["Main", "Login"];
62 | return true;
63 | }
64 |
65 | $(".main > .main-left > .nav > .slide > .menu").each(function () {
66 | var ulNode = $(this);
67 | ulNode.next().find("a").each(function () {
68 | var that = $(this);
69 | var href = that.attr("href");
70 |
71 | if (href.indexOf(nodeUrl) != -1) {
72 | ulNode.click();
73 | ulNode.next(".slide-menu").stop(true, true);
74 | lastNode = that.parent();
75 | lastNode.addClass("active");
76 | ret = true;
77 | return true;
78 | }
79 | });
80 | });
81 | return ret;
82 | }
83 |
84 | /**
85 | * menu click
86 | */
87 | $(".main > .main-left > .nav > .slide > .menu").click(function () {
88 | var ul = $(this).next(".slide-menu");
89 | var menu = $(this);
90 | if (!ul.is(":visible")) {
91 | menu.addClass("active");
92 | ul.addClass("active");
93 | ul.stop(true).slideDown("fast");
94 | } else {
95 | ul.stop(true).slideUp("fast", function () {
96 | menu.removeClass("active");
97 | ul.removeClass("active");
98 | });
99 | }
100 | return false;
101 | });
102 |
103 | /**
104 | * hook menu click and add the hash
105 | */
106 | $(".main > .main-left > .nav > .slide > .slide-menu > li > a").click(function () {
107 | if (lastNode != undefined) lastNode.removeClass("active");
108 | $(this).parent().addClass("active");
109 | $(".main > .loading").fadeIn("fast");
110 | return true;
111 | });
112 |
113 | /**
114 | * fix menu click
115 | */
116 | $(".main > .main-left > .nav > .slide > .slide-menu > li").click(function () {
117 | if (lastNode != undefined) lastNode.removeClass("active");
118 | $(this).addClass("active");
119 | $(".main > .loading").fadeIn("fast");
120 | window.location = $($(this).find("a")[0]).attr("href");
121 | return false;
122 | });
123 |
124 | /**
125 | * fix submenu click
126 | */
127 | $("#maincontent > .container > .tabs > li").click(function () {
128 | console.log("sub");
129 | $(".main > .loading").fadeIn("fast");
130 | window.location = $($(this).find("a")[0]).attr("href");
131 | return false;
132 | });
133 | /**
134 | * get current node and open it
135 | */
136 | if (getCurrentNodeByUrl()) {
137 | mainNodeName = "node-" + luciLocation[0] + "-" + luciLocation[1];
138 | mainNodeName = mainNodeName.replace(/[ \t\n\r\/]+/g, "_").toLowerCase();
139 | $("body").addClass(mainNodeName);
140 | }
141 | $(".cbi-button-up").val("");
142 | $(".cbi-button-down").val("");
143 |
144 |
145 | /**
146 | * hook other "A Label" and add hash to it.
147 | */
148 | $("#maincontent > .container").find("a").each(function () {
149 | var that = $(this);
150 | var href = that.attr("href");
151 | if (href != undefined && href.indexOf("javascript") != -1) {
152 | return true;
153 | }
154 | var onclick = that.attr("onclick");
155 | if (onclick == undefined || onclick == "") {
156 | that.click(function () {
157 | var href = that.attr("href");
158 | if (href.indexOf("#") == -1) {
159 | $(".main > .loading").fadeIn("fast");
160 | return true;
161 | }
162 | });
163 | }
164 | });
165 |
166 | /**
167 | * Sidebar expand
168 | */
169 | var showSide = false;
170 | $(".showSide").click(function () {
171 | if (showSide) {
172 | $(".darkMask").stop(true).fadeOut("fast");
173 | $(".main-left").stop(true).animate({
174 | width: "0"
175 | }, "fast");
176 | $(".main-right").css("overflow-y", "auto");
177 | showSide = false;
178 | } else {
179 | $(".darkMask").stop(true).fadeIn("fast");
180 | $(".main-left").stop(true).animate({
181 | width: "15rem"
182 | }, "fast");
183 | $(".main-right").css("overflow-y", "hidden");
184 | showSide = true;
185 | }
186 | });
187 |
188 |
189 | $(".darkMask").click(function () {
190 | if (showSide) {
191 | showSide = false;
192 | $(".darkMask").stop(true).fadeOut("fast");
193 | $(".main-left").stop(true).animate({
194 | width: "0"
195 | }, "fast");
196 | $(".main-right").css("overflow-y", "auto");
197 | }
198 | });
199 |
200 | $(window).resize(function () {
201 | if ($(window).width() > 921) {
202 | $(".main-left").css("width", "");
203 | $(".darkMask").stop(true);
204 | $(".darkMask").css("display", "none");
205 | showSide = false;
206 | }
207 | });
208 |
209 | /**
210 | * fix legend position
211 | */
212 | $("legend").each(function () {
213 | var that = $(this);
214 | that.after("" + that.text() + "");
215 | });
216 |
217 | /* $(".cbi-section-table-titles, .cbi-section-table-descr, .cbi-section-descr").each(function () {
218 | var that = $(this);
219 | if (that.text().trim() == ""){
220 | that.css("display", "none");
221 | }
222 | }); */
223 |
224 |
225 | $(".main-right").focus();
226 | $(".main-right").blur();
227 | $("input").attr("size", "0");
228 |
229 | if (mainNodeName != undefined) {
230 | console.log(mainNodeName);
231 | switch (mainNodeName) {
232 | case "node-status-system_log":
233 | case "node-status-kernel_log":
234 | $("#syslog").focus(function () {
235 | $("#syslog").blur();
236 | $(".main-right").focus();
237 | $(".main-right").blur();
238 | });
239 | break;
240 | case "node-status-firewall":
241 | var button = $(".node-status-firewall > .main fieldset li > a");
242 | button.addClass("cbi-button cbi-button-reset a-to-btn");
243 | break;
244 | case "node-system-reboot":
245 | var button = $(".node-system-reboot > .main > .main-right p > a");
246 | button.addClass("cbi-button cbi-input-reset a-to-btn");
247 | break;
248 | }
249 | }
250 |
251 | })(jQuery);
252 |
--------------------------------------------------------------------------------
/htdocs/luci-static/argon_mc2/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sypopo/luci-theme-argon-mc/6d2a31a7fcfeff66648dce30ad6e5f77d55cc656/htdocs/luci-static/argon_mc2/logo.png
--------------------------------------------------------------------------------
/luasrc/view/themes/argon_mc1/footer.htm:
--------------------------------------------------------------------------------
1 | <%#
2 | Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template
3 |
4 | luci-theme-argon
5 | Copyright 2019 Jerrykuku
6 |
7 | Have a bug? Please create an issue here on GitHub!
8 | https://github.com/jerrykuku/luci-theme-argon/issues
9 |
10 | luci-theme-bootstrap:
11 | Copyright 2008 Steven Barth
12 | Copyright 2008-2016 Jo-Philipp Wich
13 | Copyright 2012 David Menting
14 |
15 | MUI:
16 | https://github.com/muicss/mui
17 |
18 | luci-theme-material:
19 | https://github.com/LuttyYang/luci-theme-material/
20 |
21 | Agron Theme
22 | https://demos.creative-tim.com/argon-dashboard/index.html
23 |
24 | Login background
25 | https://unsplash.com/
26 |
27 | Font generate by Icomoon
28 | https://icomoon.io/
29 |
30 | Licensed to the public under the Apache License 2.0
31 | -%>
32 |
33 | <%
34 | local ver = require "luci.version"
35 | local disp = require "luci.dispatcher"
36 | local request = disp.context.path
37 | local category = request[1]
38 | local tree = disp.node()
39 | local categories = disp.node_childs(tree)
40 | %>
41 |
42 |
53 |
54 |
55 |
56 |
60 |
61 |
62 |