luci-theme-material: correct main menu color variable
[oweals/luci.git] / themes / luci-theme-material / htdocs / luci-static / material / cascade.css
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 <lutty@wcan.in>
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 <steven@midlink.org>
12  *              Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
13  *              Copyright 2012 David Menting <david@nut-bolt.nl>
14  *
15  *      MUI:
16  *              https://github.com/muicss/mui
17  *
18  *      Pure CSS ripple effect:
19  *              https://github.com/mladenplavsic/css-ripple-effect
20  *
21  *      Licensed to the public under the Apache License 2.0
22  */
23
24 /*
25  *      Include custom css
26  */
27 @import url("custom.css");
28
29 /*
30  *      Font generate by Icomoon<icomoon.io>
31  */
32 @font-face {
33         font-family: "icomoon";
34         font-weight: normal;
35         font-style: normal;
36         src: url("fonts/font.eot");
37         src: url("fonts/font.eot") format("embedded-opentype"),
38         url("fonts/font.ttf") format("truetype"),
39         url("fonts/font.woff") format("woff"),
40         url("fonts/font.svg") format("svg");
41 }
42
43 .table {
44         position: relative;
45         display: table;
46 }
47
48 .tr {
49         display: table-row;
50 }
51 .thead {
52         display: table-header-group;
53 }
54
55 .tbody {
56         display: table-row-group;
57 }
58
59 .tfoot {
60         display: table-footer-group;
61 }
62
63 .td,
64 .th {
65         line-height: normal;
66         display: table-cell;
67         padding: .5em;
68         text-align: center;
69         vertical-align: middle;
70 }
71
72 .th {
73         font-weight: bold;
74 }
75
76 .tr.placeholder {
77         height: 4em;
78 }
79
80 .tr.placeholder > .td {
81         line-height: 3;
82         position: absolute;
83         right: 0;
84         bottom: 0;
85         left: 0;
86         text-align: center !important;
87         background: inherit;
88 }
89
90 .td[width="33%"] {
91         padding: 1.1em;
92 }
93
94 .table[width="33%"],
95 .th[width="33%"],
96 .td[width="33%"] {
97         width: 33%;
98 }
99
100 .table[width="100%"],
101 .th[width="100%"],
102 .td[width="100%"] {
103         width: 100%;
104 }
105
106 .col-1 {
107         flex: 1 1 30px !important;
108 }
109
110 .col-2 {
111         flex: 2 2 60px !important;
112 }
113
114 .col-3 {
115         flex: 3 3 90px !important;
116 }
117
118 .col-4 {
119         flex: 4 4 120px !important;
120 }
121
122 .col-5 {
123         flex: 5 5 150px !important;
124 }
125
126 .col-6 {
127         flex: 6 6 180px !important;
128 }
129
130 .col-7 {
131         flex: 7 7 210px !important;
132 }
133
134 .col-8 {
135         flex: 8 8 240px !important;
136 }
137
138 .col-9 {
139         flex: 9 9 270px !important;
140 }
141
142 .col-10 {
143         flex: 10 10 300px !important;
144 }
145
146 .cbi-button-up,
147 .cbi-button-down,
148 .cbi-value-helpicon,
149 .showSide {
150         font-family: "icomoon" !important;
151         font-weight: normal;
152         font-style: normal;
153         font-variant: normal;
154         line-height: 1;
155         text-transform: none;
156         -webkit-font-smoothing: antialiased;
157         speak: none;
158 }
159
160 * {
161         box-sizing: border-box;
162         margin: 0;
163         padding: 0;
164 }
165
166 .h1,
167 .h2,
168 .h3,
169 .h4,
170 .h5,
171 .h6,
172 h1,
173 h2,
174 h3,
175 h4,
176 h5,
177 h6 {
178         font-family: inherit;
179         font-weight: normal;
180         line-height: 1.1 !important;
181         color: inherit;
182 }
183
184 html {
185         overflow-y: hidden;
186         -webkit-text-size-adjust: 100%;
187         -ms-text-size-adjust: 100%;
188 }
189
190 body {
191         font-size: .8rem;
192         background-color: #eee;
193 }
194
195 html,
196 body {
197         font-family: "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB";
198         font-family: var(--font-body);
199         height: 100%;
200         margin: 0;
201         padding: 0;
202 }
203
204 select {
205         padding: .36rem .8rem;
206         color: #555;
207         border: thin solid #ccc;
208         background-color: #fff;
209         background-image: none;
210 }
211
212 .btn,
213 button,
214 select,
215 input,
216 .cbi-dropdown {
217         height: 1.8rem;
218         padding: 0;
219         color: rgba(0, 0, 0, .87);
220         border: 0;
221         border-bottom: 2px solid rgba(0, 0, 0, .26);
222         border-radius: 0;
223         outline: 0;
224         background-color: transparent;
225         background-image: none;
226         box-shadow: none;
227 }
228
229 select,
230 .cbi-dropdown {
231         width: inherit;
232 }
233
234 select:not([multiple="multiple"]):focus,
235 input:not(.cbi-button):focus,
236 .cbi-dropdown:focus,
237 .cbi-dynlist > .item:focus {
238         border-color: #09c;
239         border-color: var(--main-color);
240 }
241
242 select[multiple="multiple"] {
243         height: auto;
244 }
245
246 pre {
247         overflow: auto;
248 }
249
250 code {
251         font-size: 1rem;
252         font-size-adjust: .35;
253         padding: 1px 3px;
254         color: #101010;
255         border-radius: 2px;
256         background: #ddd;
257 }
258
259 abbr {
260         cursor: help;
261         text-decoration: underline;
262         color: #005470;
263 }
264
265 hr {
266         margin: 1rem 0;
267         opacity: .1;
268         border-color: #eee;
269 }
270
271 header,
272 .main {
273         position: absolute;
274         width: 100%;
275 }
276
277 header {
278         position: fixed;
279         z-index: 2000;
280         float: left;
281         height: 4rem;
282         transition: box-shadow .2s;
283         box-shadow: 0 2px 5px rgba(0, 0, 0, .26);
284 }
285
286 footer {
287         font-size: .8rem;
288         overflow: hidden;
289         padding: 1rem;
290         text-align: right;
291         white-space: nowrap;
292         color: #aaa;
293         text-shadow: 0 0 2px #bbb;
294 }
295
296 footer > a {
297         text-decoration: none;
298         color: #aaa;
299 }
300
301 .main {
302         position: relative;
303         top: 4rem;
304         bottom: 0;
305         overflow-y: auto;
306         height: 100%;
307         height: calc(100% - 4rem);
308 }
309
310 .main > .loading {
311         position: fixed;
312         z-index: 1000;
313         top: 0;
314         display: block;
315         width: 100%;
316         height: 100%;
317         pointer-events: none;
318         background-color: rgb(240, 240, 240);
319 }
320
321 .main > .loading > span {
322         font-family: monospace;
323         font-size: 2.0rem;
324         font-size-adjust: .35;
325         position: relative;
326         top: 12.5%;
327         display: block;
328         text-align: center;
329         color: #888;
330 }
331
332 .main > .loading > span > .loading-img:before {
333         content: "\e603";
334 }
335
336 .main > .loading > span > .loading-img {
337         font-family: "icomoon" !important;
338         font-size: 1.0rem;
339         font-size-adjust: .6;
340         display: inline-block;
341         margin-right: 1rem;
342         animation: anim-rotate 2s infinite linear;
343 }
344
345 @keyframes anim-rotate {
346         0% {
347                 -webkit-transform: rotate(0);
348                 -ms-transform: rotate(0);
349                 transform: rotate(0);
350         }
351         100% {
352                 -webkit-transform: rotate(360deg);
353                 -ms-transform: rotate(360deg);
354                 transform: rotate(360deg);
355         }
356 }
357
358 .main-left {
359         position: fixed;
360         top: 4rem;
361         float: left;
362         overflow-x: auto;
363         width: 15%;
364         width: calc(0% + 15rem);
365         height: 100%;
366         height: calc(100% - 4rem);
367         background-color: #fff;
368         background-color: var(--menu-bg-color);
369 }
370
371 .main-right {
372         float: right;
373         width: 85%;
374         width: calc(100% - 15rem);
375         height: 100%;
376         background-color: #eee;
377 }
378
379 .main-right > #maincontent {
380         background-color: #eee;
381 }
382
383 .pull-right {
384         float: right;
385 }
386
387 .pull-left {
388         float: left;
389 }
390
391 .nowrap:not(.td) {
392         white-space: nowrap;
393 }
394
395 [disabled="disabled"] {
396         pointer-events: none;
397 }
398
399 header {
400         color: #fff;
401         color: var(--header-color);
402         background: #09c;
403         background: var(--header-bg);
404 }
405
406 header > .fill > .container {
407         margin-top: .5rem;
408         padding: .5rem 1rem 0 1rem;
409         user-select: none;
410 }
411
412 header > .fill > .container > #logo {
413         margin: 0 3.5rem 0 1.5rem;
414 }
415
416 header > .fill > .container > #logo > img {
417         width: calc(0% + 10rem);
418         margin-top: -.1rem;
419 }
420
421 body:not(.logged-in) > header > .fill > .container > #logo {
422         display: none;
423 }
424
425 header > .fill > .container > .brand {
426         font-size: 1.4rem;
427         position: absolute;
428         cursor: default;
429         vertical-align: text-bottom;
430         text-decoration: none;
431         color: #fff;
432         color: var(--header-color);
433 }
434
435 header > .fill > .container > .status {
436         position: absolute;
437         top: 25%;
438         right: 1em;
439         float: right;
440 }
441
442 header > .fill > .container > .status > * {
443         position: relative;
444         top: .2rem;
445         float: left;
446         margin-left: .3rem;
447         cursor: pointer;
448 }
449
450 #xhr_poll_status {
451         display: flex;
452 }
453
454 .danger {
455         background-color: #ff7d60 !important;
456 }
457
458 .warning {
459         background-color: #f0e68c !important;
460 }
461
462 .success {
463         background-color: #5cb85c !important;
464 }
465
466 .notice {
467         background-color: #5bc0de !important;
468 }
469
470 .error {
471         color: #f00;
472 }
473
474 .alert,
475 .alert-message {
476         font-weight: bold;
477         margin-bottom: 1em;
478         padding: 1rem;
479         border: 0;
480         border-radius: 0 !important;
481         background-color: #fff;
482         box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
483         text-shadow: 1px 1px rgba(0, 0, 0, .1);
484 }
485
486 .alert-message > h4 {
487         font-size: 110%;
488         font-weight: bold;
489 }
490
491 .alert-message > * {
492         margin: .5rem 0;
493 }
494
495 .alert-message .btn {
496         padding: .3rem .6rem;
497 }
498
499 .container .alert,
500 .container .alert-message {
501         margin-top: 1rem;
502 }
503
504 .main > .main-left > .nav {
505         margin-top: .5rem;
506 }
507
508 .main > .main-left > .nav > li {
509         padding: .5rem 1rem;
510         cursor: pointer;
511 }
512
513 .main > .main-left > .nav > li:nth-last-child(1) {
514         font-size: 1.2rem;
515         margin-top: 1rem;
516         margin-bottom: 1rem;
517 }
518
519 .main > .main-left > .nav > li a {
520         display: block;
521         color: #5f6368;
522         color: var(--menu-color);
523 }
524
525 .main > .main-left > .nav > .slide {
526         padding: 0;
527 }
528
529 .main > .main-left > .nav > .slide > ul {
530         display: none;
531 }
532
533 .main > .main-left > .nav > .slide > .menu::before {
534         position: absolute;
535         top: 30%;
536         right: 17px;
537         width: 1rem;
538         height: 1rem;
539         content: "";
540         background-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik01MDAsNjI1LjJMNzUuMywyNTVMMTAsMzE0LjlMNTAwLDc0NWw0OTAtNDMwLjFMOTI0LjcsMjU1TDUwMCw2MjUuMnoiLz48L2c+PC9zdmc+);
541         background-repeat: no-repeat;
542 }
543
544 .main > .main-left > .nav > .slide > .menu.active::before {
545         transform: rotate(-180deg);
546 }
547
548 body[class*="node-"] > .main > .main-left > .nav > .slide > .menu::before {
549         transition: transform .1s ease-in-out;
550 }
551
552 body[class*="node-"] > .main > .main-left > .nav > .slide > .menu.active::before {
553         transition: transform .2s ease-in-out;
554 }
555
556 .main > .main-left[style*="overflow: hidden"] > .nav > .slide > .menu::before {
557         display: none;
558 }
559
560 .main > .main-left > .nav > .slide > .menu {
561         font-size: 1.15rem;
562         font-weight: 500;
563         display: block;
564         padding: .5rem 1rem;
565         text-decoration: none;
566         color: #202124;
567         color: var(--main-menu-color);
568 }
569
570 .main > .main-left > .nav > li:hover,
571 .main > .main-left > .nav > .slide > .menu:hover {
572         background: #d4d4d4;
573         background: var(--submenu-bg-hover);
574 }
575
576 .main > .main-left > .nav > .slide:hover {
577         background: none;
578 }
579
580 .main > .main-left > .nav > .slide > .slide-menu > li {
581         padding: .4rem 2rem;
582 }
583
584 .main > .main-left > .nav > .slide > .slide-menu > .active {
585         background-color: #09c;
586         background-color: var(--submenu-bg-hover-active);
587 }
588
589 .main > .main-left > .nav > .slide > .slide-menu > li > a {
590         white-space: nowrap;
591         text-decoration: none;
592 }
593
594 .main > .main-left > .nav > .slide > .slide-menu > .active > a {
595         color: #fff;
596 }
597
598 .main > .main-left > .nav > .slide > .slide-menu > li:hover {
599         background: #d4d4d4;
600         background: var(--submenu-bg-hover);
601 }
602
603 .main > .main-left > .nav > .slide > .slide-menu > li:not(.active):hover > a {
604         color: #202124;
605         color: var(--menu-color-hover);
606 }
607
608 .main > .main-left > .nav > .slide > .slide-menu > .active:hover {
609         cursor: hand;
610         background-color: #09c;
611         background-color: var(--main-color);
612 }
613
614 /* ripple effect */
615 .main > .main-left > .nav > .slide > .menu,
616 .main > .main-left > .nav > .slide > .slide-menu > li {
617         position: relative;
618         overflow: hidden;
619         transform: translate3d(0, 0, 0);
620 }
621
622 .main > .main-left > .nav > .slide > .menu:after,
623 .main > .main-left > .nav > .slide > .slide-menu > li:after {
624         position: absolute;
625         top: 0;
626         left: 0;
627         display: block;
628         width: 100%;
629         height: 100%;
630         content: "";
631         transition: transform .5s, opacity 1s;
632         transform: scale(10, 10);
633         pointer-events: none;
634         opacity: 0;
635         background-image: radial-gradient(circle, #000 10%, transparent 10.01%);
636         background-repeat: no-repeat;
637         background-position: 50%;
638 }
639
640 .main > .main-left > .nav > .slide > .menu:active:after,
641 .main > .main-left > .nav > .slide > .slide-menu > li:active:after {
642         transition: 0s;
643         transform: scale(0, 0);
644         opacity: .2;
645 }
646
647 #maincontent > .container {
648         margin: 0 2rem 1rem 2rem;
649 }
650
651 .Processes #maincontent > .container {
652         margin-right: 0;
653 }
654
655 ul {
656         line-height: normal;
657 }
658
659 li {
660         list-style-type: none;
661 }
662
663 h1 {
664         font-size: 2rem;
665         padding-bottom: 10px;
666         border-bottom: thin solid #eee;
667 }
668
669 h2 {
670         font-size: 1.8rem;
671         margin: 2rem 0 0 0;
672         padding-bottom: 10px;
673         border-bottom: thin solid #eee;
674 }
675
676 h3 {
677         font-size: 1.4rem;
678         margin: 2rem 0 0 0;
679         padding-bottom: 10px;
680 }
681
682 h4 {
683         font-size: 1.2rem;
684         margin: 2rem 0 0 0;
685         padding-bottom: 10px;
686 }
687
688 h5 {
689         font-size: 1rem;
690         margin: 2rem 0 0 0;
691         padding-bottom: 10px;
692 }
693
694 .cbi-section,
695 .cbi-section-error,
696 #iptables,
697 .Firewall form,
698 #cbi-network > .cbi-section-node,
699 #cbi-wireless > .cbi-section-node,
700 #cbi-wireless > #wifi_assoclist_table,
701 [data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear),
702 [data-page="admin-system-opkg"] #maincontent > .container {
703         font-family: inherit;
704         font-weight: normal;
705         font-style: normal;
706         line-height: normal;
707         min-width: inherit;
708         margin: 1rem 0 0 0;
709         padding: 2rem;
710         border: 0;
711         border-radius: 0;
712         background-color: #fff;
713         box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
714 }
715
716 .cbi-map-descr + fieldset {
717         margin-top: 1rem;
718 }
719
720 .cbi-section > legend {
721         display: none !important;
722 }
723
724 fieldset > fieldset,
725 .cbi-section > .cbi-section {
726         margin: 0;
727         padding: 0;
728         border: 0;
729         box-shadow: none;
730 }
731
732 .cbi-section > h3:first-child,
733 .panel-title {
734         font-size: 1.4rem;
735         line-height: 1;
736         display: block;
737         width: 100%;
738         margin: 0;
739         margin-bottom: .5rem;
740         padding-bottom: 1rem;
741         color: #404040;
742         border-bottom: thin solid #eee;
743 }
744
745 table {
746         border-spacing: 0;
747         border-collapse: collapse;
748 }
749
750 table,
751 .table {
752         overflow-y: hidden;
753         width: 100%;
754         box-shadow: 0 0 0 1px #ddd;
755 }
756
757 table > tbody > tr > td,
758 table > tbody > tr > th,
759 table > tfoot > tr > td,
760 table > tfoot > tr > th,
761 table > thead > tr > td,
762 table > thead > tr > th,
763 .table > .tbody > .tr > .td,
764 .table > .tbody > .tr > .th,
765 .table > .tfoot > .tr > .td,
766 .table > .tfoot > .tr > .th,
767 .table > .thead > .tr > .td,
768 .table > .thead > .tr > .th,
769 .table > .tr > .td.cbi-value-field,
770 .table > .tr > .th.cbi-section-table-cell {
771         padding: .5rem;
772 }
773
774 .container > .cbi-section:first-of-type > .table[width="100%"] > .tr > .td {
775         padding: .6rem;
776 }
777
778 .cbi-section-table-cell {
779         line-height: 1.1;
780         align-self: flex-end;
781         flex: 1 1 auto;
782 }
783
784 tr > td,
785 tr > th,
786 .tr > .td,
787 .tr > .th,
788 .cbi-section-table-row::before,
789 #cbi-wireless > #wifi_assoclist_table > .tr:nth-child(2) {
790         border-top: thin solid #ddd;
791 }
792
793 tr:first-child > td
794 .tr:first-child > .td,
795 #cbi-wireless .td,
796 #cbi-network .tr:first-child > .td,
797 .table[width="100%"] > .tr:first-child > .td,
798 [data-page="admin-network-diagnostics"] .tr > .td,
799 .tr.table-titles > .th,
800 .tr.cbi-section-table-titles > .th {
801         border-top: 0 !important;
802 }
803
804 .cbi-section-table-row {
805         margin-bottom: 1rem;
806         text-align: center !important;
807         background: #f4f4f4;
808 }
809
810 .cbi-section-table-row:last-child {
811         margin-bottom: 0;
812 }
813
814 .cbi-section-table-row > .cbi-value-field .cbi-input-select,
815 .cbi-section-table-row > .cbi-value-field .cbi-input-text,
816 .cbi-section-table-row > .cbi-value-field .cbi-input-password,
817 .cbi-section-table-row > .cbi-value-field .cbi-dropdown {
818         width: 100%;
819 }
820
821 .cbi-section-table-row > .cbi-value-field [data-dynlist] > input,
822 .cbi-section-table-row > .cbi-value-field input.cbi-input-password {
823         width: calc(100% - 1.5rem);
824 }
825
826 .cbi-section-table-row .td {
827         text-align: center !important;
828 }
829
830 div > table > tbody > tr:nth-of-type(2n),
831 div > .table > .tr:nth-of-type(2n) {
832         background-color: #f9f9f9;
833 }
834
835 /* fix multiple table */
836 table table,
837 .table .table {
838         border: 0;
839 }
840
841 .cbi-value-field table,
842 .cbi-value-field .table {
843         border: 0;
844 }
845
846 td > table > tbody > tr > td,
847 .td > .table > .tbody > .tr > .td {
848         border: 0;
849 }
850
851 .cbi-value-field > table > tbody > tr > td,
852 .cbi-value-field > .table > .tbody > .tr > .td {
853         border: 0;
854 }
855
856 /* button style */
857 .btn,
858 .cbi-button,
859 .item::after {
860         font-size: .8rem;
861         display: inline-block;
862         width: auto !important;
863         padding: 0 .8rem;
864         cursor: pointer;
865         -webkit-user-select: none;
866         -moz-user-select: none;
867         -ms-user-select: none;
868         user-select: none;
869         transition: all .2s ease-in-out;
870         text-align: center;
871         vertical-align: middle;
872         white-space: nowrap;
873         text-decoration: none;
874         text-transform: uppercase;
875         color: rgba(0, 0, 0, .87);
876         border: 0;
877         border-radius: .2rem;
878         background-color: #f0f0f0;
879         background-image: none;
880         -webkit-appearance: none;
881         -ms-touch-action: manipulation;
882         touch-action: manipulation;
883 }
884
885 .cbi-button:not(select) {
886         -webkit-appearance: none !important;
887 }
888
889 form[method="post"] + form[method="post"],
890 .cbi-button + .cbi-button {
891         margin-left: .6rem;
892 }
893
894 .btn:hover,
895 .btn:focus,
896 .btn:active,
897 .cbi-button:hover,
898 .cbi-button:focus,
899 .cbi-button:active,
900 .item:hover::after,
901 .item:focus::after,
902 .item:active::after,
903 .cbi-page-actions .cbi-button-apply + .cbi-button-save:hover,
904 .cbi-page-actions .cbi-button-apply + .cbi-button-save:focus,
905 .cbi-page-actions .cbi-button-apply + .cbi-button-save:active {
906         text-decoration: none;
907         outline: 0;
908 }
909
910 .btn:hover,
911 .btn:focus,
912 .cbi-button:hover,
913 .cbi-button:focus {
914         box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
915 }
916
917 .btn:active,
918 .cbi-button:active {
919         box-shadow: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23);
920 }
921
922 .btn:disabled,
923 .cbi-button:disabled {
924         cursor: not-allowed;
925         pointer-events: none;
926         opacity: .5;
927         box-shadow: none;
928 }
929
930 /* gray */
931 .alert-message [class="btn"],
932 .modal div[class="btn"],
933 .cbi-button-find,
934 .cbi-button-link,
935 .cbi-button-up,
936 .cbi-button-down,
937 .cbi-button-neutral,
938 .cbi-button[name="zero"],
939 .cbi-button[name="restart"],
940 .cbi-button[onclick="hide_empty(this)"] {
941         font-weight: bold;
942         border: thin solid #bfbfbf;
943         background-color: #d4d4d4;
944 }
945
946 /* dark blue */
947 .btn.primary,
948 .cbi-page-actions .cbi-button-save,
949 .cbi-page-actions .cbi-button-apply + .cbi-button-save,
950 .cbi-button-add,
951 .cbi-button-save,
952 .cbi-button-positive,
953 .cbi-button-link,
954 .cbi-button[value="Enable"],
955 .cbi-button[value="Scan"],
956 .cbi-button[value^="Back"],
957 .cbi-button-neutral[onclick="handleConfig(event)"] {
958         font-weight: normal;
959         color: #fff;
960         border: thin solid #2e6da4;
961         background-color: #337ab7;
962 }
963
964 /* light blue */
965 .cbi-page-actions .cbi-button-apply,
966 .cbi-section-actions .cbi-button-edit,
967 .cbi-button-edit,
968 .cbi-button-apply,
969 .cbi-button-reload,
970 .cbi-button-action,
971 .cbi-button[value="Submit"],
972 .cbi-button[value$="Apply"],
973 .cbi-button[onclick="addKey(event)"] {
974         font-weight: normal;
975         color: #fff;
976         border: thin solid #46b8da;
977         background-color: #5bc0de;
978 }
979
980 /* red */
981 .btn.danger,
982 .cbi-section-remove > .cbi-button,
983 .cbi-button-remove,
984 .cbi-button-reset,
985 .cbi-button-negative,
986 .cbi-button[value="Stop"],
987 .cbi-button[value="Kill"],
988 .cbi-button[onclick="reboot(this)"],
989 .cbi-button-neutral[value="Restart"] {
990         font-weight: normal;
991         color: #fff;
992         border: thin solid #d43f3a;
993         background-color: #d9534f;
994 }
995
996 /* yellow */
997 .btn[value="Dismiss"],
998 .cbi-button[value="Terminate"],
999 .cbi-button[value="Reset"],
1000 .cbi-button[value="Disabled"],
1001 .cbi-button[onclick^="iface_reconnect"],
1002 .cbi-button[onclick="handleReset(event)"],
1003 .cbi-button-neutral[value="Disable"] {
1004         font-weight: normal;
1005         color: #fff;
1006         border: thin solid #eea236;
1007         background-color: #f0ad4e;
1008 }
1009
1010 /* green */
1011 .cbi-button-success,
1012 .cbi-button-download,
1013 .cbi-button[name="backup"],
1014 .cbi-button[value="Upload"],
1015 .cbi-button[value="Save mtdblock"] {
1016         font-weight: normal;
1017         color: #fff;
1018         border: thin solid #4cae4c;
1019         background-color: #5cb85c;
1020 }
1021
1022 .cbi-page-actions .cbi-button-link:first-child {
1023         float: left;
1024 }
1025
1026 .a-to-btn {
1027         text-decoration: none;
1028 }
1029
1030 .cbi-value-field .cbi-button-add {
1031         font-weight: bold;
1032         padding: 1px 6px;
1033 }
1034
1035 .cbi-value-field .cbi-button-neutral {
1036         padding: 1px 8px;
1037 }
1038
1039 /* table */
1040 .tabs {
1041         margin: 0 -2rem;
1042         padding-left: .5rem;
1043         background-color: #fff;
1044 }
1045
1046 .cbi-tabmenu > li,
1047 .tabs > li {
1048         display: inline-block;
1049         padding: .6rem 0;
1050 }
1051
1052 .cbi-tabmenu > li > a,
1053 .tabs > li > a {
1054         padding: .5rem .8rem;
1055         text-decoration: none;
1056         color: #404040;
1057 }
1058
1059 .tabs > li[class~="active"],
1060 .tabs > li:hover {
1061         margin-bottom: -.18751rem;
1062         cursor: pointer;
1063         color: #09c;
1064         color: var(--main-color);
1065         border-bottom: #09c;
1066         border-bottom: .2rem solid var(--main-color);
1067 }
1068
1069 .tabs > li[class~="active"] > a {
1070         color: #09c;
1071         color: var(--main-color);
1072 }
1073
1074 .tabs > li:hover {
1075         border-bottom: .18751rem solid #c9c9c9;
1076 }
1077
1078 .cbi-tabmenu {
1079         border: thin solid #d4d4d4;
1080         border-bottom: 0;
1081 }
1082
1083 .cbi-tabmenu > li:hover {
1084         background-color: #f1f1f1;
1085 }
1086
1087 .cbi-tabmenu > li[class~="cbi-tab"] {
1088         background-color: #fff;
1089 }
1090
1091 .cbi-tabmenu {
1092         background-color: #d4d4d4;
1093 }
1094
1095 .cbi-section .cbi-section-remove:nth-of-type(2n),
1096 .container > .cbi-section .cbi-section-node:nth-of-type(2n) {
1097         background-color: #f9f9f9;
1098 }
1099
1100 [data-tab-title] {
1101         height: 0;
1102         opacity: 0;
1103         overflow: hidden;
1104 }
1105
1106 [data-tab-active="true"] {
1107         opacity: 1;
1108         height: auto;
1109         overflow: visible;
1110         transition: opacity .25s ease-in;
1111 }
1112
1113 .cbi-section[id] .cbi-section-remove:nth-of-type(4n+3),
1114 .cbi-section[id] .cbi-section-node:nth-of-type(4n+4) {
1115         background-color: #f9f9f9;
1116 }
1117
1118 .cbi-section-node-tabbed {
1119         margin-top: 0;
1120         padding: 0;
1121         border: thin solid #d4d4d4;
1122         border-top: 0;
1123 }
1124
1125 .cbi-tabcontainer > .cbi-value:nth-of-type(2n) {
1126         background-color: #f9f9f9;
1127 }
1128
1129 .cbi-value-field,
1130 .cbi-value-description {
1131         line-height: 1.25;
1132         display: table-cell;
1133 }
1134
1135 .cbi-input-invalid {
1136         color: #f00;
1137         border-color: #f00;
1138 }
1139
1140 .cbi-section-error {
1141         font-weight: bold;
1142         line-height: 1.42857143;
1143         margin: 18px;
1144         padding: 6px;
1145         border: thin solid #f00;
1146         border-radius: 3px;
1147         background-color: #fce6e6;
1148 }
1149
1150 .cbi-section-error ul {
1151         margin: 0 0 0 20px;
1152 }
1153
1154 .cbi-section-error ul li {
1155         font-weight: bold;
1156         color: #f00;
1157 }
1158
1159 .cbi-value-helpicon > img {
1160         display: none;
1161 }
1162
1163 .cbi-value-helpicon:before {
1164         content: "\f059";
1165 }
1166
1167 .cbi-value-description {
1168         font-size: small;
1169         padding: .5rem 0 0 0;
1170         opacity: .5;
1171 }
1172
1173 .cbi-value-title {
1174         display: table-cell;
1175         float: left;
1176         width: 23rem;
1177         padding-top: .4rem;
1178         padding-right: 2rem;
1179         text-align: right;
1180         word-wrap: break-word;
1181 }
1182
1183 .cbi-value {
1184         display: inline-block;
1185         width: 100%;
1186         padding: .3rem 1rem;
1187 }
1188
1189 .cbi-value ul {
1190         line-height: 1.25;
1191 }
1192
1193 .td[data-title]::before {
1194         font-weight: bold;
1195         display: none;
1196         padding: .25rem 0;
1197         content: attr(data-title) ":\20";
1198         text-align: left;
1199         white-space: nowrap;
1200 }
1201
1202 .tr.placeholder .td[data-title]::before {
1203         display: none;
1204 }
1205
1206 .tr[data-title]::before,
1207 .tr.cbi-section-table-titles.named::before {
1208         font-weight: bold;
1209         display: table-cell;
1210         align-self: center;
1211         flex: 1 1 5%;
1212         padding: .25rem;
1213         content: attr(data-title) "\20";
1214         text-align: center;
1215         vertical-align: middle;
1216         white-space: normal;
1217         word-wrap: break-word;
1218 }
1219
1220 .cbi-rowstyle-1 {
1221         background-color: #f9f9f9;
1222 }
1223
1224 .cbi-rowstyle-2 {
1225         background-color: #eee;
1226 }
1227
1228 .cbi-rowstyle-2 .cbi-button-up,
1229 .cbi-rowstyle-2 .cbi-button-down,
1230 .cbi-rowstyle-2:first-child {
1231         background-color: #fff !important;
1232 }
1233
1234 .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
1235         width: auto !important;
1236 }
1237
1238 .td.cbi-section-actions {
1239         text-align: right !important;
1240         vertical-align: middle;
1241 }
1242
1243 .td.cbi-section-actions > * {
1244         display: inline-flex;
1245 }
1246
1247 .td.cbi-section-actions > * > *,
1248 .td.cbi-section-actions > * > form > * {
1249         margin: 0 5px;
1250 }
1251
1252 .td.cbi-section-actions > * > form {
1253         display: inline-flex;
1254         margin: 0;
1255 }
1256
1257 /* desc */
1258 .cbi-section-descr,
1259 .cbi-map-descr {
1260         font-size: small;
1261         line-height: 1.42857143;
1262         padding: .5rem;
1263         color: #999;
1264 }
1265
1266 .cbi-dynlist {
1267         line-height: 1.3;
1268         flex-direction: column;
1269         min-height: 30px;
1270 }
1271
1272 .cbi-dynlist > .item {
1273         position: relative;
1274         max-width: 24.9rem;
1275         margin: 0 2em 4px 0;
1276         padding: 2px 4px;
1277         cursor: default;
1278         pointer-events: none;
1279         color: #666;
1280         border-bottom: 2px solid rgba(0, 0, 0, .26);
1281 }
1282
1283 .cbi-dynlist[name="sshkeys"] > .item {
1284         max-width: none;
1285 }
1286
1287 .cbi-dynlist > .item::after {
1288         font-weight: bold;
1289         position: absolute;
1290         right: -2em;
1291         bottom: 0;
1292         display: inline-flex;
1293         min-height: 17px;
1294         padding: 0 6px;
1295         content: "\00D7";
1296         pointer-events: auto;
1297         color: #fff;
1298         border: thin solid #d43f3a;
1299         background-color: #d9534f;
1300 }
1301
1302 .cbi-dynlist > .item > span {
1303         white-space: normal;
1304         word-break: break-word;
1305 }
1306
1307 .cbi-dynlist,
1308 .cbi-dropdown {
1309         position: relative;
1310         display: inline-flex;
1311         height: auto;
1312         padding: 0;
1313         cursor: default;
1314 }
1315
1316 .cbi-dropdown > ul {
1317         display: flex;
1318         overflow-x: hidden;
1319         overflow-y: auto;
1320         width: 100%;
1321         margin: 0 !important;
1322         padding: 0;
1323         list-style: none;
1324 }
1325
1326 .cbi-dropdown > ul.preview {
1327         display: none;
1328 }
1329
1330 .cbi-dropdown > .open {
1331         flex-basis: 15px;
1332 }
1333
1334 .cbi-dropdown > .open,
1335 .cbi-dropdown > .more {
1336         font-size: 1rem;
1337         font-weight: 900;
1338         line-height: 2;
1339         display: flex;
1340         flex-direction: column;
1341         flex-grow: 0;
1342         flex-shrink: 0;
1343         justify-content: center;
1344         padding: 0 .25em;
1345         text-align: center;
1346 }
1347
1348 .cbi-dropdown > .more,
1349 .cbi-dropdown > ul > li[placeholder] {
1350         font-weight: bold;
1351         display: none;
1352         color: #777;
1353         text-shadow: 1px 1px 0 #fff;
1354 }
1355
1356 .cbi-dropdown > ul > li {
1357         display: none;
1358         overflow: hidden;
1359         align-items: center;
1360         align-self: center;
1361         flex-grow: 1;
1362         flex-shrink: 1;
1363         min-height: 20px;
1364         padding: .25em;
1365         white-space: nowrap;
1366         text-overflow: ellipsis;
1367 }
1368
1369 .cbi-dropdown > ul > li .hide-open {
1370         display: initial;
1371 }
1372
1373 .cbi-dropdown > ul > li .hide-close {
1374         display: none;
1375 }
1376
1377 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1378         border-left: thin solid #ccc;
1379 }
1380
1381 .cbi-dropdown[empty] > ul {
1382         max-width: 1px;
1383 }
1384
1385 .cbi-dropdown > ul > li > form {
1386         display: none;
1387         margin: 0;
1388         padding: 0;
1389         pointer-events: none;
1390 }
1391
1392 .cbi-dropdown > ul > li img {
1393         margin-right: .25em;
1394         vertical-align: middle;
1395 }
1396
1397 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1398         height: auto;
1399         margin: 0;
1400 }
1401
1402 .cbi-dropdown > ul > li input[type="text"] {
1403         height: 20px;
1404 }
1405
1406 .cbi-dropdown[open] {
1407         position: relative;
1408 }
1409
1410 .cbi-dropdown[open] > ul.dropdown {
1411         position: absolute;
1412         z-index: 1100;
1413         display: block;
1414         width: auto;
1415         min-width: 100%;
1416         max-width: none;
1417         max-height: 200px !important;
1418         border: thin solid #918e8c;
1419         background: #f6f6f6;
1420         box-shadow: 0 0 4px #918e8c;
1421 }
1422
1423 .cbi-dropdown > ul > li[display],
1424 .cbi-dropdown[open] > ul.preview,
1425 .cbi-dropdown[open] > ul.dropdown > li,
1426 .cbi-dropdown[multiple] > ul > li > label,
1427 .cbi-dropdown[multiple][open] > ul.dropdown > li,
1428 .cbi-dropdown[multiple][more] > .more,
1429 .cbi-dropdown[multiple][empty] > .more {
1430         display: flex;
1431         align-items: center;
1432         flex-grow: 1;
1433 }
1434
1435 .cbi-dropdown[empty] > ul > li,
1436 .cbi-dropdown[optional][open] > ul.dropdown > li[placeholder],
1437 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1438         display: block;
1439 }
1440
1441 .cbi-dropdown[open] > ul.dropdown > li .hide-open {
1442         display: none;
1443 }
1444
1445 .cbi-dropdown[open] > ul.dropdown > li .hide-close {
1446         display: initial;
1447 }
1448
1449 .cbi-dropdown[open] > ul.dropdown > li {
1450         border-bottom: thin solid #ccc;
1451 }
1452
1453 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1454         background: #b0d0f0;
1455 }
1456
1457 .cbi-dropdown[open] > ul.dropdown > li.focus {
1458         background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%);
1459 }
1460
1461 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1462         margin-bottom: 0;
1463         border-bottom: 0;
1464 }
1465
1466 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1467         opacity: .7;
1468 }
1469
1470 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1471         width: 100%;
1472 }
1473
1474 .cbi-dropdown[disabled] {
1475         pointer-events: none;
1476         opacity: .6;
1477 }
1478
1479 .cbi-dropdown .zonebadge {
1480         width: 100%;
1481 }
1482
1483 .cbi-dropdown[open] .zonebadge {
1484         width: auto;
1485 }
1486
1487 #modal_overlay {
1488         position: fixed;
1489         z-index: 900;
1490         top: 4rem;
1491         right: 10000px;
1492         bottom: 0;
1493         left: -10000px;
1494         overflow-y: scroll;
1495         transition: opacity .125s ease-in;
1496         opacity: 0;
1497         background: rgba(0, 0, 0, .7);
1498         -webkit-overflow-scrolling: touch;
1499 }
1500
1501 .modal {
1502         display: flex;
1503         align-items: center;
1504         flex-wrap: wrap;
1505         width: 90%;
1506         min-width: 270px;
1507         max-width: 600px;
1508         min-height: 32px;
1509         max-height: 2400px;
1510         margin: 5em auto;
1511         padding: 1em;
1512         border-radius: 3px !important;
1513         background: #fff;
1514         box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1515 }
1516
1517 .modal > * {
1518         line-height: normal;
1519         flex-basis: 100%;
1520 }
1521
1522 .modal > pre,
1523 .modal > textarea {
1524         font-size: 1rem;
1525         font-size-adjust: .35;
1526         overflow: auto;
1527         margin-bottom: .5em;
1528         padding: 8.5px;
1529         white-space: pre-wrap;
1530         color: #eee;
1531         outline: 0;
1532         background-color: #101010;
1533         box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1534 }
1535
1536 .modal > h4 {
1537         margin: .5em 0;
1538 }
1539
1540 .modal ul {
1541         margin-left: 2.2em;
1542 }
1543
1544 .modal li {
1545         list-style-type: square;
1546         color: #808080;
1547 }
1548
1549 .modal p {
1550         padding-left: .25rem;
1551         word-break: break-word;
1552 }
1553
1554 .modal .label {
1555         font-size: .6rem;
1556         font-weight: normal;
1557         padding: .1rem .3rem;
1558         padding-bottom: 0;
1559         cursor: default;
1560         border-radius: 0;
1561 }
1562
1563 .modal .label.warning {
1564         background-color: #f0ad4e !important;
1565 }
1566
1567 .modal .btn {
1568         padding: .3rem .6rem;
1569 }
1570
1571 .modal .spinning {
1572         margin-bottom: 2em;
1573 }
1574
1575 body.modal-overlay-active {
1576         overflow: hidden;
1577         height: 100vh;
1578 }
1579
1580 body.modal-overlay-active #modal_overlay {
1581         right: 0;
1582         left: 0;
1583         opacity: 1;
1584 }
1585
1586 .spinning {
1587         position: relative;
1588         padding-left: 32px !important;
1589 }
1590
1591 .spinning::before {
1592         position: absolute;
1593         top: 0;
1594         bottom: 0;
1595         left: .2em;
1596         width: 32px;
1597         content: " ";
1598         background: url(../resources/icons/loading.gif) no-repeat center;
1599         background-size: 16px;
1600 }
1601
1602 /* luci */
1603 .hidden {
1604         display: none;
1605 }
1606
1607 .left,
1608 .left::before {
1609         text-align: left !important;
1610 }
1611
1612 .right,
1613 .right::before {
1614         text-align: right !important;
1615 }
1616
1617 .center,
1618 .center::before {
1619         text-align: center !important;
1620 }
1621
1622 .top {
1623         align-self: flex-start !important;
1624         vertical-align: top !important;
1625 }
1626
1627 .bottom {
1628         align-self: flex-end !important;
1629         vertical-align: bottom !important;
1630 }
1631
1632 .inline {
1633         display: inline;
1634 }
1635
1636 .cbi-page-actions {
1637         padding-top: 1rem;
1638         text-align: right;
1639 }
1640
1641 .cbi-page-actions > form[method="post"] {
1642         display: inline-block;
1643 }
1644
1645 /* input */
1646 .cbi-value input[type="password"],
1647 .cbi-value input[type="text"] {
1648         min-width: 15rem;
1649 }
1650
1651 /* select */
1652 .cbi-value-field .cbi-dropdown,
1653 .cbi-value-field .cbi-input-select {
1654         min-width: 15rem;
1655 }
1656
1657 .cbi-value-field .cbi-input-invalid {
1658         color: #f00;
1659         border-bottom-color: #f00;
1660 }
1661
1662 /* progressbar */
1663 .cbi-progressbar {
1664         position: relative;
1665         min-width: 170px;
1666         height: 20px;
1667         margin: 4px 0;
1668         border: thin solid #999;
1669         background: #eee;
1670 }
1671
1672 .cbi-progressbar > div {
1673         width: 0;
1674         height: 100%;
1675         transition: width .25s ease-in;
1676         background: #5bc0de;
1677         background: var(--bar-bg);
1678 }
1679
1680 .cbi-progressbar::after {
1681         font-family: monospace;
1682         font-size: 1.3em;
1683         font-weight: bold;
1684         font-size-adjust: .38;
1685         line-height: normal;
1686         position: absolute;
1687         top: 2px;
1688         right: 0;
1689         bottom: 2px;
1690         left: 0;
1691         overflow: hidden;
1692         content: attr(title);
1693         text-align: center;
1694         white-space: pre;
1695         text-overflow: ellipsis;
1696         text-shadow: 0 0 2px #eee;
1697 }
1698
1699 .th[data-type="button"],
1700 .td[data-type="button"],
1701 .th[data-type="fvalue"],
1702 .td[data-type="fvalue"] {
1703         flex: 1 1 2em;
1704         text-align: center;
1705 }
1706
1707 .ifacebadge {
1708         display: inline-flex;
1709         padding: .5rem .8rem;
1710         border-bottom: thin solid #ccc;
1711         background: #eee;
1712         box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05);
1713 }
1714
1715 td > .ifacebadge,
1716 .td > .ifacebadge {
1717         font-size: .8rem;
1718         background-color: #f0f0f0;
1719 }
1720
1721 .ifacebadge > em,
1722 .ifacebadge > img {
1723         display: inline-block;
1724         align-self: flex-start;
1725         margin: 0 .2rem;
1726 }
1727
1728 .ifacebadge > img + img {
1729         margin: 0 .2rem 0 0;
1730 }
1731
1732 .network-status-table {
1733         display: flex;
1734         flex-wrap: wrap;
1735 }
1736
1737 .network-status-table .ifacebox {
1738         flex-grow: 1;
1739         margin: .5em;
1740 }
1741
1742 .network-status-table .ifacebox-body {
1743         display: flex;
1744         flex-direction: column;
1745         height: 100%;
1746 }
1747
1748 .network-status-table .ifacebox-body > span {
1749         flex: 10 10 auto;
1750 }
1751
1752 .network-status-table .ifacebox-body > div {
1753         display: flex;
1754         flex-wrap: wrap;
1755 }
1756
1757 .network-status-table .ifacebox-body .ifacebadge {
1758         align-items: center;
1759         flex: 1 1 auto;
1760         min-width: 220px;
1761         margin: .5em .25em 0 .25em;
1762         padding: .5em;
1763         background-color: #fff;
1764 }
1765
1766 /* textarea */
1767 .cbi-input-textarea {
1768         font-family: monospace;
1769         width: 100%;
1770         min-height: 14rem;
1771         padding: .8rem;
1772         color: #000;
1773 }
1774
1775 #syslog {
1776         font-size: small;
1777         overflow-y: hidden;
1778         width: 100%;
1779         min-height: 15rem;
1780         margin-bottom: 20px;
1781         padding: 1rem;
1782         padding-bottom: 2.5rem;
1783         resize: none;
1784         color: #eee;
1785         border: 0;
1786         border-radius: 0;
1787         background-color: #101010;
1788         box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1789 }
1790
1791 #syslog:focus {
1792         outline: 0;
1793 }
1794
1795 /* config changes */
1796 .uci-change-list {
1797         font-family: monospace;
1798 }
1799
1800 .uci-change-list ins,
1801 .uci-change-legend-label ins {
1802         display: block;
1803         padding: 2px;
1804         text-decoration: none;
1805         border: thin solid #0f0;
1806         background-color: #cfc;
1807 }
1808
1809 .uci-change-list del,
1810 .uci-change-legend-label del {
1811         font-style: normal;
1812         display: block;
1813         padding: 2px;
1814         text-decoration: none;
1815         border: thin solid #f00;
1816         background-color: #fcc;
1817 }
1818
1819 .uci-change-list var,
1820 .uci-change-legend-label var {
1821         font-style: normal;
1822         display: block;
1823         padding: 2px;
1824         text-decoration: none;
1825         border: thin solid #ccc;
1826         background-color: #eee;
1827 }
1828
1829 .uci-change-list var ins,
1830 .uci-change-list var del {
1831         font-style: normal;
1832         padding: 0;
1833         white-space: pre;
1834         border: 0;
1835 }
1836
1837 .uci-change-legend {
1838         padding: 5px;
1839 }
1840
1841 .uci-change-legend-label {
1842         float: left;
1843         width: 150px;
1844 }
1845
1846 .uci-change-legend-label > ins,
1847 .uci-change-legend-label > del,
1848 .uci-change-legend-label > var {
1849         display: block;
1850         float: left;
1851         width: 10px;
1852         height: 10px;
1853         margin-right: 4px;
1854 }
1855
1856 .uci-change-legend-label var ins,
1857 .uci-change-legend-label var del {
1858         line-height: .4;
1859         border: 0;
1860 }
1861
1862 .uci-change-list var,
1863 .uci-change-list del,
1864 .uci-change-list ins {
1865         padding: .5rem;
1866 }
1867
1868 /* other fix */
1869 #iwsvg,
1870 #iwsvg2,
1871 #bwsvg {
1872         border: thin solid #d4d4d4 !important;
1873 }
1874
1875 #iwsvg,
1876 [data-page="admin-status-realtime-bandwidth"] #bwsvg {
1877         border-top: 0 !important;
1878 }
1879
1880 .ifacebox {
1881         line-height: 1.25;
1882         display: inline-flex;
1883         flex-direction: column;
1884         min-width: 100px;
1885         border-bottom: thin solid #ccc;
1886         background-color: #f9f9f9;
1887         box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 1px 2px rgba(0, 0, 0, .2);
1888 }
1889
1890 .ifacebox-head {
1891         padding: .25em;
1892         background: #eee;
1893 }
1894
1895 .ifacebox-head.active {
1896         background: #5bc0de;
1897         background: var(--bar-bg);
1898 }
1899
1900 .ifacebox-body {
1901         padding: .25em;
1902 }
1903
1904 .cbi-image-button {
1905         margin-left: .5rem;
1906 }
1907
1908 .zonebadge {
1909         display: inline-block;
1910         padding: .2rem .5rem;
1911 }
1912
1913 .zonebadge .ifacebadge {
1914         margin: .1rem .2rem;
1915         padding: .2rem .3rem;
1916         border: thin solid #6c6c6c;
1917 }
1918
1919 .zonebadge > input[type="text"] {
1920         min-width: 10rem;
1921         margin-top: .3rem;
1922         padding: .16rem 1rem;
1923 }
1924
1925 .zonebadge > em,
1926 .zonebadge > strong {
1927         display: inline-block;
1928         margin: 0 .2rem;
1929 }
1930
1931 .cbi-value-field .cbi-input-checkbox,
1932 .cbi-value-field .cbi-input-radio {
1933         margin-top: .15rem;
1934 }
1935
1936 .cbi-value-field > ul > li {
1937         display: flex;
1938 }
1939
1940 .cbi-value-field > ul > li > label {
1941         margin-top: .5rem;
1942 }
1943
1944 .cbi-value-field > ul > li .ifacebadge {
1945         margin-top: -.5rem;
1946         margin-left: .4rem;
1947         background-color: #eee;
1948 }
1949
1950 .cbi-section-table-row > .cbi-value-field .cbi-dropdown {
1951         min-width: 7rem;
1952 }
1953
1954 .cbi-section-create {
1955         display: inline-flex;
1956         align-items: center;
1957         margin: .5rem -3px;
1958 }
1959
1960 .cbi-section-create > * {
1961         margin: .5rem;
1962 }
1963
1964 .cbi-section-remove {
1965         padding: .5rem;
1966 }
1967
1968 div.cbi-value var,
1969 td.cbi-value-field var,
1970 .td.cbi-value-field var {
1971         font-style: italic;
1972         color: #0069d6;
1973 }
1974
1975 small {
1976         font-size: 90%;
1977         line-height: 1.42857143;
1978         white-space: normal;
1979 }
1980
1981 .cbi-button-up,
1982 .cbi-button-down {
1983         font-size: 1.2rem;
1984         display: inline-block;
1985         min-width: 0;
1986         padding: .2rem .3rem;
1987 }
1988
1989 .cbi-optionals {
1990         padding: 1rem 1rem 0 1rem;
1991         border-top: thin solid #ccc;
1992 }
1993
1994 .cbi-dropdown-container {
1995         position: relative;
1996 }
1997
1998 .cbi-tooltip-container,
1999 span[data-tooltip],
2000 span[data-tooltip] .label {
2001         cursor: help !important;
2002 }
2003
2004 .cbi-tooltip {
2005         position: absolute;
2006         z-index: 1000;
2007         left: -1000px;
2008         padding: 2px 5px;
2009         transition: opacity .25s ease-out;
2010         white-space: pre;
2011         pointer-events: none;
2012         opacity: 0;
2013         border-radius: 3px;
2014         background: #fff;
2015         box-shadow: 0 0 2px #444;
2016 }
2017
2018 .cbi-tooltip-container:hover .cbi-tooltip {
2019         left: auto;
2020         transition: opacity .25s ease-in;
2021         opacity: 1;
2022 }
2023
2024 .zonebadge .cbi-tooltip {
2025         margin: -1.5rem 0 0 -.5rem;
2026         padding: .25rem;
2027         background: inherit;
2028 }
2029
2030 .zonebadge-empty {
2031         color: #404040;
2032         background: repeating-linear-gradient(45deg, rgba(204, 204, 204, .5), rgba(204, 204, 204, .5) 5px, rgba(255, 255, 255, .5) 5px, rgba(255, 255, 255, .5) 10px);
2033 }
2034
2035 .zone-forwards {
2036         display: flex;
2037         min-width: 10rem;
2038 }
2039
2040 .zone-forwards > * {
2041         flex: 1 1 45%;
2042 }
2043
2044 .zone-forwards > span {
2045         flex-basis: 10%;
2046         padding: 0 .25rem;
2047         text-align: center;
2048 }
2049
2050 .zone-forwards .zone-src,
2051 .zone-forwards .zone-dest {
2052         display: flex;
2053         flex-direction: column;
2054 }
2055
2056 .label {
2057         font-size: .8rem;
2058         font-weight: bold;
2059         padding: .3rem .8rem;
2060         white-space: nowrap;
2061         text-decoration: none;
2062         text-transform: uppercase;
2063         color: #fff !important;
2064         -webkit-border-radius: 3px;
2065         -moz-border-radius: 3px;
2066         border-radius: 3px;
2067         background-color: #bfbfbf;
2068         text-shadow: none;
2069 }
2070
2071 label > input[type="checkbox"],
2072 label > input[type="radio"] {
2073         position: relative;
2074         top: .4rem;
2075         right: .2rem;
2076         margin: 0;
2077         vertical-align: bottom;
2078 }
2079
2080 .showSide {
2081         display: none;
2082 }
2083
2084 .darkMask {
2085         position: fixed;
2086         z-index: 99;
2087         display: none;
2088         width: 100%;
2089         height: 100%;
2090         content: "";
2091         background-color: rgba(0, 0, 0, .56);
2092 }
2093
2094 /* diagnostics */
2095 #diag-rc-output > pre,
2096 #command-rc-output > pre {
2097         font-size: 1.2rem;
2098         font-size-adjust: .35;
2099         line-height: normal;
2100         display: block;
2101         width: 100%;
2102         padding: 8.5px;
2103         white-space: pre;
2104         color: #eee;
2105         background-color: #101010;
2106         box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
2107 }
2108
2109 [data-page="admin-network-diagnostics"] .table {
2110         box-shadow: none;
2111 }
2112
2113 input[name="ping"],
2114 input[name="traceroute"],
2115 input[name="nslookup"] {
2116         width: 80%;
2117 }
2118
2119 /* fix Main Login */
2120 .node-main-login > .main > .main-left {
2121         display: none;
2122 }
2123
2124 .node-main-login > .main > .main-right {
2125         width: 100%;
2126 }
2127
2128 .node-main-login > .main fieldset {
2129         display: inline;
2130         overflow: hidden;
2131         margin-bottom: 1rem;
2132         padding: .5rem;
2133         border: 0;
2134         background: none;
2135         box-shadow: none;
2136 }
2137
2138 .node-main-login > .main .cbi-value-title {
2139         width: 9.5rem;
2140 }
2141
2142 .node-main-login > .main #maincontent {
2143         text-align: center;
2144 }
2145
2146 .node-main-login > .main .container {
2147         display: inline-block;
2148         margin-top: 2rem !important;
2149         padding: 1rem 3.5rem 2rem;
2150         text-align: left;
2151         background-color: #fff;
2152         box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
2153 }
2154
2155 .node-main-login > .main form > div:nth-last-child(1) {
2156         float: right;
2157 }
2158
2159 .node-main-login > .main .cbi-value {
2160         display: block;
2161 }
2162
2163 .node-main-login > .main .cbi-value > * {
2164         display: inline-block !important;
2165 }
2166
2167 .node-main-login > .main .cbi-input-text {
2168         min-width: 15rem;
2169 }
2170
2171 .node-main-login .cbi-section {
2172         box-shadow: none;
2173 }
2174
2175 @media screen and (min-height: 585px) {
2176         .node-main-login footer {
2177                 position: absolute;
2178                 bottom: 0;
2179                 width: 100%;
2180         }
2181 }
2182
2183 /* fix status overview */
2184 .node-status-overview > .main fieldset:nth-child(4) .td:nth-child(2) {
2185         white-space: normal;
2186 }
2187
2188 /* fix status processes */
2189 .node-status-processes > .main .table .tr .td:nth-child(3) {
2190         white-space: normal;
2191 }
2192
2193 .node-admin-status form {
2194         margin: 2rem 2rem 0 0;
2195 }
2196
2197 /* fix system reboot */
2198 [data-page="admin-system-reboot"] p {
2199         padding-left: 2rem;
2200 }
2201
2202 [data-page="admin-system-reboot"] p > span {
2203         position: relative;
2204         top: .1rem;
2205         left: 1rem;
2206 }
2207
2208 /* samba */
2209 #cbi-samba .cbi-value-last .cbi-value-field {
2210         display: block;
2211 }
2212
2213 #cbi-samba .cbi-value-last .cbi-value-title {
2214         width: auto;
2215         padding-bottom: .6rem;
2216 }
2217
2218 /* software */
2219 .controls > * > .btn:not([aria-label$="page"]) {
2220         flex-grow: initial !important;
2221         margin-top: .1rem;
2222 }
2223
2224 .controls > #pager > .btn[aria-label$="page"] {
2225         font-size: 1.4rem;
2226         font-weight: bold;
2227 }
2228
2229 .controls > * > label {
2230         margin-bottom: .2rem;
2231 }
2232
2233 [data-page="admin-system-opkg"] div.btn {
2234         line-height: 3;
2235         display: inline;
2236         padding: .3rem .6rem;
2237 }
2238
2239 [data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear),
2240 [data-page="admin-system-opkg"] #maincontent > .container {
2241         margin-top: 2rem;
2242         padding-top: .1rem;
2243 }
2244
2245 [data-page="admin-system-opkg"] #maincontent > .container {
2246         margin: 2rem;
2247         margin-bottom: 1rem;
2248 }
2249
2250 .td.version,
2251 .td.size {
2252         white-space: normal !important;
2253         word-break: break-word;
2254 }
2255
2256 .cbi-tabmenu + .cbi-section {
2257         margin-top: 0;
2258 }
2259
2260 /* wireless overview */
2261 #cbi-wireless > #wifi_assoclist_table > .tr {
2262         box-shadow: inset 1px -1px 0 #ddd, inset -1px -1px 0 #ddd;
2263 }
2264
2265 #cbi-wireless > #wifi_assoclist_table > .tr.placeholder > .td {
2266         right: 33px;
2267         bottom: 33px;
2268         left: 33px;
2269         border-top: thin solid #ddd !important;
2270 }
2271
2272 #cbi-wireless > #wifi_assoclist_table > .tr.table-titles {
2273         box-shadow: inset 1px 0 0 #ddd, inset -1px 0 0 #ddd;
2274 }
2275
2276 #cbi-wireless > #wifi_assoclist_table > .tr.table-titles > .th {
2277         border-bottom: thin solid #ddd;
2278         box-shadow: 0 -1px 0 0 #ddd;
2279 }
2280
2281 #wifi_assoclist_table > .tr > .td[data-title="RX Rate / TX Rate"] {
2282         width: 23rem;
2283 }
2284
2285 /* firewall */
2286 #iptables {
2287         margin: 0;
2288 }
2289
2290 .Firewall form {
2291         padding: 0;
2292         box-shadow: none;
2293 }
2294
2295 #cbi-firewall-redirect table *,
2296 #cbi-network-switch_vlan table *,
2297 #cbi-firewall-zone table * {
2298         font-size: small;
2299 }
2300
2301 #cbi-firewall-redirect table input[type="text"],
2302 #cbi-network-switch_vlan table input[type="text"],
2303 #cbi-firewall-zone table input[type="text"] {
2304         width: 5rem;
2305 }
2306
2307 #cbi-firewall-redirect table select,
2308 #cbi-network-switch_vlan table select,
2309 #cbi-firewall-zone table select {
2310         min-width: 3.5rem;
2311 }
2312
2313 #cbi-network-switch_vlan .th,
2314 #cbi-network-switch_vlan .td {
2315         flex-basis: 12%;
2316 }
2317
2318 #cbi-firewall-zone .table,
2319 #cbi-network-switch_vlan .table {
2320         display: block;
2321 }
2322
2323 #cbi-firewall-zone .td.cbi-section-actions {
2324         width: 100%;
2325 }
2326
2327 /* applyreboot fix */
2328 #applyreboot-container {
2329         margin: 2rem;
2330 }
2331
2332 #applyreboot-section {
2333         line-height: 300%;
2334         margin: 2rem;
2335 }
2336
2337 /* openvpn bug fix */
2338 .OpenVPN a {
2339         line-height: initial !important;
2340 }
2341
2342 /* custom commands */
2343 .commandbox {
2344         width: 24% !important;
2345         padding: .5rem 1rem;
2346         border-bottom: thin solid #ccc;
2347         background: #eee;
2348         box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05);
2349 }
2350
2351 .commandbox h3 {
2352         line-height: normal !important;
2353         overflow: hidden;
2354         margin: 6px 0 !important;
2355         white-space: nowrap;
2356         text-overflow: ellipsis;
2357 }
2358
2359 .commandbox div {
2360         left: auto !important;
2361 }
2362
2363 .commandbox code {
2364         position: absolute;
2365         overflow-x: hidden;
2366         overflow-y: auto;
2367         max-width: 60%;
2368         max-height: 55px;
2369         margin-top: -3px;
2370         margin-left: 4px;
2371         padding: 2px 3px;
2372         text-overflow: ellipsis;
2373 }
2374
2375 .commandbox p:first-of-type {
2376         margin-top: -6px;
2377 }
2378
2379 .commandbox p:nth-of-type(2) {
2380         margin-top: 2px;
2381 }
2382
2383 [data-page^="admin-system-commands"] .panel-title,
2384 [data-page^="command-cfg"] .mobile-hide,
2385 [data-page^="command-cfg"] header > .fill > .container > #logo {
2386         display: none;
2387 }
2388
2389 #command-rc-output .alert-message {
2390         line-height: 1.42857143;
2391         position: absolute;
2392         top: 40px;
2393         right: 32px;
2394         max-width: 40%;
2395         margin: 0;
2396         animation: anim-fade-in 1.5s forwards;
2397         opacity: 0;
2398 }
2399
2400 @keyframes anim-fade-in {
2401         100% {
2402                 opacity: 1;
2403         }
2404 }
2405
2406 @media screen and (max-width: 1600px) {
2407         header > .fill > .container > #logo {
2408                 margin: 0 2.5rem 0 .5rem;
2409         }
2410
2411         .main-left {
2412                 width: calc(0% + 13rem);
2413         }
2414
2415         .main-right {
2416                 width: calc(100% - 13rem);
2417         }
2418
2419         .cbi-dynlist > .item {
2420                 max-width: 21.9rem;
2421         }
2422
2423         .btn:not(button),
2424         .cbi-button {
2425                 font-size: .8rem;
2426                 padding: .3rem .6rem;
2427         }
2428
2429         .label {
2430                 padding: .2rem .6rem;
2431         }
2432
2433         .cbi-value-title {
2434                 width: 15rem;
2435                 padding-right: .6rem;
2436         }
2437
2438         fieldset,
2439         .cbi-section {
2440                 padding: 1rem;
2441         }
2442
2443         .cbi-input-textarea {
2444                 font-size: small;
2445         }
2446
2447         .node-admin-status > .main fieldset li > a {
2448                 padding: .3rem .6rem;
2449         }
2450
2451         #cbi-firewall-zone > .table {
2452                 display: block;
2453         }
2454 }
2455
2456 @media screen and (max-width: 1366px) {
2457         header {
2458                 height: 3.5rem;
2459         }
2460
2461         header > .fill > .container {
2462                 margin-top: .25rem;
2463                 cursor: default;
2464         }
2465
2466         .main {
2467                 top: 3.5rem;
2468                 height: calc(100% - 3.5rem);
2469         }
2470
2471         .main-left {
2472                 top: 3.5rem;
2473                 width: calc(0% + 13rem);
2474                 height: calc(100% - 3.5rem);
2475         }
2476
2477         .main-right {
2478                 width: calc(100% - 13rem);
2479         }
2480
2481         .cbi-dynlist > .item {
2482                 max-width: 19.9rem;
2483         }
2484
2485         .cbi-tabmenu > li > a,
2486         .tabs > li > a {
2487                 padding: .2rem .5rem;
2488         }
2489
2490         .panel-title {
2491                 font-size: 1.1rem;
2492                 padding-bottom: 1rem;
2493         }
2494
2495         table {
2496                 font-size: .7rem !important;
2497                 width: 100% !important;
2498         }
2499
2500         .table .cbi-input-text {
2501                 width: 100%;
2502         }
2503
2504         .main > .main-left > .nav > li,
2505         .main > .main-left > .nav > li a,
2506         .main > .main-left > .nav > .slide > .menu {
2507                 font-size: .9rem;
2508         }
2509
2510         .main > .main-left > .nav > .slide > .slide-menu > li > a {
2511                 font-size: .7rem;
2512         }
2513
2514         #modal_overlay {
2515                 top: 3.5rem;
2516         }
2517
2518         [data-page="admin-network-firewall-forwards"] .table:not(.cbi-section-table) {
2519                 display: block;
2520         }
2521
2522         [data-page="admin-network-firewall-forwards"] .table:not(.cbi-section-table),
2523         [data-page="admin-network-firewall-rules"] .table:not(.cbi-section-table),
2524         [data-page="admin-network-hosts"] .table {
2525                 overflow-y: visible;
2526         }
2527
2528         .commandbox {
2529                 width: 32% !important;
2530         }
2531 }
2532
2533 @media screen and (max-width: 1152px) {
2534         header > .fill > .container > #logo {
2535                 display: none;
2536         }
2537
2538         header > .fill > .container > .brand {
2539                 position: relative;
2540         }
2541
2542         [data-page^="command-cfg"] header > .fill > .container > .brand {
2543                 display: block;
2544                 margin-top: -1.75rem;
2545         }
2546
2547         html,
2548         .main {
2549                 overflow-y: visible;
2550         }
2551
2552         .main-left {
2553                 position: fixed;
2554                 z-index: 100;
2555                 width: 0;
2556         }
2557
2558         .main-right {
2559                 width: 100%;
2560         }
2561
2562         .cbi-dynlist > .item {
2563                 max-width: 14.9rem;
2564         }
2565
2566         .showSide {
2567                 display: inline-block;
2568                 overflow: visible;
2569                 margin-right: .5rem;
2570                 padding: .1rem;
2571                 cursor: pointer;
2572                 border-radius: 50%;
2573         }
2574
2575         .showSide:before {
2576                 font-size: 1.7rem;
2577                 content: "\e20e";
2578         }
2579
2580         body:not(.logged-in) .showSide {
2581                 visibility: hidden;
2582                 width: 0;
2583                 margin: 0;
2584                 padding: 0;
2585         }
2586
2587         .node-main-login > .main .cbi-value-title {
2588                 text-align: left;
2589         }
2590
2591         .cbi-value-title {
2592                 width: 9rem;
2593                 padding-right: 1rem;
2594         }
2595
2596         #diag-rc-output > pre,
2597         #command-rc-output > pre {
2598                 font-size: 1rem;
2599         }
2600
2601         .table {
2602                 display: block;
2603         }
2604
2605         #packages.table {
2606                 display: grid;
2607         }
2608
2609         .tr {
2610                 display: flex;
2611                 flex-direction: row;
2612                 flex-wrap: wrap;
2613         }
2614
2615         .Overview .table[width="100%"] > .tr {
2616                 flex-wrap: nowrap;
2617         }
2618
2619         .tr.placeholder {
2620                 border-bottom: thin solid #ddd;
2621         }
2622
2623         .tr.placeholder > .td,
2624         #cbi-firewall .tr > .td,
2625         #cbi-network .tr:nth-child(2) > .td,
2626         .cbi-section #wifi_assoclist_table .tr > .td {
2627                 border-top: 0;
2628         }
2629
2630         .th,
2631         .td {
2632                 display: inline-block;
2633                 align-self: flex-start;
2634                 flex: 2 2 25%;
2635                 text-overflow: ellipsis;
2636                 word-wrap: break-word;
2637         }
2638
2639         .td select,
2640         .td input[type="text"] {
2641                 width: 100%;
2642                 word-wrap: normal;
2643         }
2644
2645         .td [data-dynlist] > input,
2646         .td input.cbi-input-password {
2647                 width: calc(100% - 1.5rem);
2648         }
2649
2650         .td[data-type="button"],
2651         .td[data-type="fvalue"] {
2652                 flex: 1 1 12.5%;
2653                 text-align: left;
2654         }
2655
2656         .th.cbi-value-field,
2657         .td.cbi-value-field,
2658         .th.cbi-section-table-cell,
2659         .td.cbi-section-table-cell {
2660                 flex-basis: auto;
2661                 padding-top: 1rem;
2662         }
2663
2664         .cbi-section-table-row {
2665                 display: flex;
2666                 flex-direction: row;
2667                 flex-wrap: wrap;
2668                 justify-content: space-between;
2669                 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
2670         }
2671
2672         .td.cbi-value-field,
2673         .cbi-section-table-cell {
2674                 display: inline-block;
2675                 flex: 10 10 auto;
2676                 flex-basis: 50%;
2677                 text-align: center;
2678         }
2679
2680         .td.cbi-section-actions {
2681                 vertical-align: bottom;
2682         }
2683
2684         .tr.table-titles,
2685         .tr.cbi-section-table-titles,
2686         .tr.cbi-section-table-descr {
2687                 display: none;
2688         }
2689
2690         .tr[data-title]::before,
2691         .tr.cbi-section-table-titles.named::before {
2692                 font-size: .9rem;
2693                 display: block;
2694                 flex: 1 1 100%;
2695                 border-bottom: thin solid rgba(0, 0, 0, .26);
2696                 background: #90c0e0;
2697         }
2698
2699         .td[data-title],
2700         [data-page^="admin-status-realtime"] .td[id] {
2701                 text-align: left;
2702         }
2703
2704         .td[data-title]::before {
2705                 display: block;
2706         }
2707
2708         .cbi-button + .cbi-button {
2709                 margin-left: 0;
2710         }
2711
2712         .td.cbi-section-actions > * > *,
2713         .td.cbi-section-actions > * > form > * {
2714                 margin: 2.1px 3px;
2715         }
2716
2717         .Firewall form {
2718                 position: static !important;
2719                 margin: 0 0 2rem 0;
2720                 padding: 2rem;
2721                 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
2722         }
2723
2724         .Firewall form input {
2725                 width: 100% !important;
2726                 margin: 0;
2727                 margin-top: 1rem;
2728         }
2729
2730         .Firewall .center,
2731         .Firewall .center::before {
2732                 text-align: left !important;
2733         }
2734
2735         .commandbox {
2736                 width: 100% !important;
2737         }
2738 }
2739
2740 @media screen and (max-width: 600px) {
2741         body {
2742                 font-size: .8rem;
2743         }
2744
2745         .cbi-progressbar::after {
2746                 font-size: .95em;
2747                 line-height: 1.5;
2748         }
2749
2750         fieldset,
2751         .cbi-section {
2752                 margin: 1rem 0 0 0;
2753                 padding: 1rem;
2754         }
2755
2756         .tabs {
2757                 margin: 0 -1rem;
2758         }
2759
2760         #maincontent > .container {
2761                 margin: 0 1rem 1.5rem 1rem;
2762         }
2763
2764         .main > .main-left > .nav > .slide > .menu {
2765                 font-size: 1.2rem;
2766         }
2767
2768         .main > .main-left > .nav > .slide > .slide-menu > li > a {
2769                 font-size: 1rem;
2770         }
2771
2772         .cbi-value-title {
2773                 display: block;
2774                 width: 100%;
2775                 min-width: 0 !important;
2776                 margin-top: 1rem;
2777                 margin-bottom: .5rem;
2778                 text-align: left;
2779         }
2780
2781         .cbi-value-field,
2782         .cbi-value-description {
2783                 width: 100%;
2784         }
2785
2786         .cbi-value > .cbi-value-field {
2787                 display: inline-block;
2788         }
2789
2790         .cbi-tabmenu > li,
2791         .tabs > li {
2792                 padding: .6rem 0;
2793         }
2794
2795         .cbi-tabmenu > li > a,
2796         .tabs > li > a {
2797                 font-size: .9rem;
2798                 padding: .2rem .3rem;
2799         }
2800
2801         .cbi-page-actions > div > input {
2802                 display: none;
2803         }
2804
2805         .cbi-page-actions > .cbi-button {
2806                 margin-top: .2rem;
2807         }
2808
2809         .node-main-login > .main .container {
2810                 margin: 2rem 1.2rem 1.5rem 1.2rem !important;
2811                 padding: .3rem 1.7rem 2rem 1.6rem;
2812         }
2813
2814         .node-main-login > .main .cbi-value {
2815                 padding: 0;
2816         }
2817
2818         .node-main-login > .main form > div:nth-last-child(1) {
2819                 margin-top: 2rem;
2820         }
2821
2822         .node-main-login > .main .cbi-value-title {
2823                 font-size: 1.2rem;
2824                 width: 100% !important;
2825         }
2826
2827         .node-main-login > .main fieldset {
2828                 margin: 0;
2829                 padding: .5rem;
2830         }
2831
2832         .commandbox p:first-of-type {
2833                 margin-top: -8px;
2834         }
2835
2836         #diag-rc-output > pre,
2837         #command-rc-output > pre {
2838                 font-size: .8rem;
2839         }
2840
2841         h2 {
2842                 font-size: 2rem;
2843         }
2844
2845         .tabs > li > a {
2846                 font-size: .9rem;
2847         }
2848
2849         select,
2850         input {
2851                 font-size: .9rem;
2852         }
2853
2854         code {
2855                 font-size: .8rem;
2856         }
2857
2858         .mobile-hide {
2859                 display: none;
2860         }
2861
2862         .panel-title {
2863                 font-size: 1.4rem;
2864                 padding-bottom: 1rem;
2865         }
2866
2867         .node-system-packages > .main .cbi-value.cbi-value-last > div {
2868                 width: 100% !important;
2869         }
2870
2871         .node-system-packages > .main .cbi-value .cbi-value-field input {
2872                 width: 100%;
2873         }
2874
2875         .th,
2876         .td {
2877                 flex-basis: 50%;
2878         }
2879
2880         .td.cbi-value-field {
2881                 flex-basis: 100%;
2882         }
2883
2884         .td.cbi-value-field[data-type="button"],
2885         .td.cbi-value-field[data-type="fvalue"] {
2886                 flex-basis: 25%;
2887                 text-align: left;
2888         }
2889
2890         .tr[data-title]::before,
2891         .tr.cbi-section-table-titles.named::before {
2892                 font-size: 1rem;
2893         }
2894
2895         td > .ifacebadge,
2896         .td > .ifacebadge {
2897                 font-size: .62rem;
2898         }
2899
2900         #cbi-wireless .td {
2901                 overflow: hidden;
2902         }
2903
2904         .hide-sm,
2905         .hide-xs:not([data-title="MAC-Address"]) {
2906                 display: none;
2907         }
2908 }
2909
2910 @media screen and (min-width: 600px) {
2911         ::-webkit-scrollbar {
2912                 width: 10px;
2913                 height: 10px;
2914                 background: transparent;
2915         }
2916
2917         ::-webkit-scrollbar-thumb {
2918                 background: #9e9e9e;
2919         }
2920
2921         ::-webkit-scrollbar-thumb:hover {
2922                 background: #757575;
2923         }
2924
2925         ::-webkit-scrollbar-thumb:active {
2926                 background: #424242;
2927         }
2928 }
2929
2930 @media screen and (min-width: 1152px) {
2931         .cbi-value input[type="password"],
2932         .cbi-value input[type="text"] {
2933                 min-width: 20rem;
2934         }
2935
2936         .cbi-value-field .cbi-input-select {
2937                 width: 20rem;
2938         }
2939
2940         .cbi-value-field .cbi-dropdown {
2941                 min-width: 20rem;
2942         }
2943
2944         .cbi-section-node .tr {
2945                 overflow: hidden;
2946         }
2947 }
2948
2949 @media screen and (min-width: 1366px) {
2950         .cbi-value input[type="password"],
2951         .cbi-value input[type="text"] {
2952                 min-width: 22rem;
2953         }
2954
2955         .cbi-value-field .cbi-input-select {
2956                 width: 22rem;
2957         }
2958
2959         .cbi-value-field .cbi-dropdown {
2960                 min-width: 22rem;
2961         }
2962 }
2963
2964 @media screen and (min-width: 1600px) {
2965         .cbi-value input[type="password"],
2966         .cbi-value input[type="text"] {
2967                 min-width: 25rem;
2968         }
2969
2970         .cbi-value-field .cbi-input-select {
2971                 width: 25rem;
2972         }
2973
2974         .cbi-value-field .cbi-dropdown {
2975                 min-width: 25rem;
2976         }
2977 }