luci-theme-material: add logo brand
[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  *  Licensed to the public under the Apache License 2.0
19  */
20
21 /*
22  *  Include custom css
23  */
24 @import url("custom.css");
25
26 /*
27  *  Font generate by Icomoon<icomoon.io>
28  */
29 @font-face {
30     font-family: 'icomoon';
31     src: url('fonts/font.eot');
32     src: url('fonts/font.eot') format('embedded-opentype'),
33     url('fonts/font.ttf') format('truetype'),
34     url('fonts/font.woff') format('woff'),
35     url('fonts/font.svg') format('svg');
36     font-weight: normal;
37     font-style: normal;
38 }
39
40 .table { display: table; position: relative; }
41 .tr    { display: table-row; }
42 .thead { display: table-header-group; }
43 .tbody { display: table-row-group; }
44 .tfoot { display: table-footer-group; }
45 .td, .th {
46     vertical-align: middle;
47     text-align: center;
48     display: table-cell;
49     padding: .5em;
50 }
51
52 .th {
53     font-weight: bold;
54 }
55
56 .tr.placeholder {
57     height: 4em;
58 }
59
60 .tr.placeholder > .td {
61     position: absolute;
62     left: 0;
63     right: 0;
64     bottom: 0;
65     text-align: center;
66     line-height: 3em;
67     background: inherit;
68 }
69
70 .table[width="33%"], .th[width="33%"], .td[width="33%"] { width: 33%; }
71 .table[width="100%"], .th[width="100%"], .td[width="100%"] { width: 100%; }
72
73 .col-1 { flex: 1 1 30px !important; -webkit-flex: 1 1 30px !important; }
74 .col-2 { flex: 2 2 60px !important; -webkit-flex: 2 2 60px !important; }
75 .col-3 { flex: 3 3 90px !important; -webkit-flex: 3 3 90px !important; }
76 .col-4 { flex: 4 4 120px !important; -webkit-flex: 4 4 120px !important; }
77 .col-5 { flex: 5 5 150px !important; -webkit-flex: 5 5 150px !important; }
78 .col-6 { flex: 6 6 180px !important; -webkit-flex: 6 6 180px !important; }
79 .col-7 { flex: 7 7 210px !important; -webkit-flex: 7 7 210px !important; }
80 .col-8 { flex: 8 8 240px !important; -webkit-flex: 8 8 240px !important; }
81 .col-9 { flex: 9 9 270px !important; -webkit-flex: 9 9 270px !important; }
82 .col-10 { flex: 10 10 300px !important; -webkit-flex: 10 10 300px !important; }
83
84 .cbi-button-up,
85 .cbi-button-down,
86 .cbi-value-helpicon,
87 .showSide,
88 .main > .loading > span {
89     font-family: 'icomoon' !important;
90     speak: none;
91     font-style: normal !important;
92     font-weight: normal !important;
93     font-variant: normal !important;
94     text-transform: none !important;
95     line-height: 1;
96
97     -webkit-font-smoothing: antialiased;
98     -moz-osx-font-smoothing: grayscale;
99 }
100
101 * {
102     margin: 0;
103     padding: 0;
104     box-sizing: border-box;
105 }
106
107 .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
108     font-family: inherit;
109     font-weight: 400;
110     line-height: 1.1;
111     color: inherit;
112 }
113
114 html {
115     -webkit-text-size-adjust: 100%;
116     -ms-text-size-adjust: 100%;
117 }
118
119 body {
120     font-size: 0.8rem;
121     background-color: #EEE;
122 }
123
124 html, body {
125     margin: 0px;
126     padding: 0px;
127     height: 100%;
128     font-family: Microsoft Yahei, WenQuanYi Micro Hei, sans-serif, "Helvetica Neue", Helvetica, Hiragino Sans GB;
129 }
130
131 select {
132     padding: 0.36rem 0.8rem;
133     color: #555;
134     background-color: #fff;
135     background-image: none;
136     border: 1px solid #ccc;
137 }
138
139 select,
140 input,
141 .cbi-dropdown {
142     background-color: transparent;
143     color: rgba(0, 0, 0, .87);
144     border: none;
145     border-bottom: 2px solid rgba(0, 0, 0, .26);
146     outline: 0;
147     padding: 0;
148     box-shadow: none;
149     border-radius: 0;
150     background-image: none;
151     height: 1.8rem;
152     font-size: 0.8rem;
153 }
154
155 select:not([multiple="multiple"]):focus,
156 input:focus {
157     border-color: #0099CC;
158 }
159
160 select[multiple="multiple"] {
161     height: auto;
162 }
163
164 code {
165     color: #0099CC;
166 }
167
168 abbr {
169     color: #005470;
170     text-decoration: underline;
171     cursor: help;
172 }
173
174 hr {
175     margin: 1rem 0;
176     border-color: #EEE;
177     opacity: 0.1;
178 }
179
180 header, .main {
181     width: 100%;
182     position: absolute;
183 }
184
185 header {
186     box-shadow: 0 2px 5px rgba(0, 0, 0, .26);
187     transition: box-shadow .2s;
188     float: left;
189     position: fixed;
190     z-index: 2000;
191 }
192
193 footer {
194     text-align: right;
195     padding: 1rem;
196     color: #aaa;
197     font-size: 0.8rem;
198     text-shadow: 0px 0px 2px #BBB;
199 }
200
201 footer > a {
202     color: #aaa;
203     text-decoration: none;
204 }
205
206 .main {
207     top: 5rem;
208     bottom: 0rem;
209     position: relative;
210     height: 100%;
211     height: calc(100% - 4rem);
212 }
213
214 .main > .loading {
215     position: fixed;
216     width: 100%;
217     height: 100%;
218     z-index: 1000;
219     display: block;
220     background-color: rgb(240, 240, 240);
221     top: 0;
222 }
223
224 .main > .loading > span {
225     display: block;
226     text-align: center;
227     margin-top: 2rem;
228     color: #888;
229     font-size: 1.2rem;
230 }
231
232 .main > .loading > span > .loading-img:before {
233     content: "\e603";
234 }
235
236 .main > .loading > span > .loading-img {
237     animation: anim-rotate 2s infinite linear;
238     margin-right: 0.2rem;
239     display: inline-block;
240 }
241
242 @keyframes anim-rotate {
243     0% {
244         -webkit-transform: rotate(0);
245         -ms-transform: rotate(0);
246         transform: rotate(0);
247     }
248     100% {
249         -webkit-transform: rotate(360deg);
250         -ms-transform: rotate(360deg);
251         transform: rotate(360deg)
252     }
253 }
254
255 .main-left {
256     float: left;
257     top: 5rem;
258     width: 15%;
259     width: calc(0% + 15rem);
260     height: 100%;
261     height: calc(100% - 4rem);
262     background-color: var(--menu-bg-color, #FFFFFF);
263     overflow-x: auto;
264     position: fixed;
265 }
266
267 .main-right {
268     width: 85%;
269     width: calc(100% - 15rem);
270     float: right;
271     height: 100%;
272     background-color: #EEE;
273 }
274
275 .main-right > #maincontent {
276     background-color: #EEE;
277 }
278
279 .pull-right {
280     float: right;
281 }
282
283 .pull-left {
284     float: left;
285 }
286
287 header {
288     background: var(--header-bg, #0099CC);
289     color: var(--header-color, #FFFFFF);
290     height: 5rem;
291 }
292
293 header > .fill > .container {
294     padding-top: 0.25rem; 
295     padding-right: 1rem;
296     padding-bottom: 0.25rem;
297     display: flex;
298     align-items: center;
299     height: 5rem;
300 }
301
302 header > .fill > .container > .brand {
303     font-size: 2rem;
304     color: var(--header-color, #FFFFFF);
305     text-decoration: none;
306     cursor: default;
307     margin-left: 1rem;
308 }
309
310 header > .fill > .container > img{
311     max-height: 4.5rem;
312     width: calc(0% + 13rem);
313     margin: 1rem;
314 }
315
316 header > .fill > .container > .status {
317     display: flex;
318     justify-content: flex-end;
319     flex-grow: 8;
320 }
321
322 .danger {
323     background-color: #FA8072 !important;
324     color: black;
325 }
326
327 .warning {
328     background-color:  #F0E68C !important;
329     color: black;
330 }
331
332 .success {
333     background-color: #90EE90 !important;
334     color: black;
335 }
336
337 .alert-message {
338     margin: 2rem 0 0 0;
339     padding: 1rem;
340     border: 0;
341     font-weight: normal;
342     font-style: normal;
343     line-height: 1;
344     font-family: inherit;
345     min-width: inherit;
346     overflow: auto;
347     border-radius: 0;
348     background-color: #FFF;
349     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
350 }
351
352 .error {
353     color: red;
354 }
355
356 .alert-message > h4 {
357     font-weight: bold;
358     font-size: 110%;
359 }
360
361 .alert-message > * {
362     margin: .5rem 0;
363 }
364
365 #maincontent > .container > div:nth-child(1).alert-message.warning > a {
366     font: inherit;
367     overflow: visible;
368     text-transform: none;
369     display: inline-block;
370     margin-bottom: 0;
371     font-weight: 400;
372     text-align: center;
373     white-space: nowrap;
374     vertical-align: middle;
375     touch-action: manipulation;
376     cursor: pointer;
377     -webkit-user-select: none;
378     -moz-user-select: none;
379     -ms-user-select: none;
380     user-select: none;
381     background-image: none;
382     min-width: 6rem;
383     padding: 0.5rem 1rem;
384     font-size: 0.9rem;
385     line-height: 1.42857143;
386     color: #fff;
387     background-color: #5bc0de;
388     border-color: #46b8da;
389     margin-top: 2rem;
390     text-decoration: inherit;
391 }
392
393 .main > .main-left > .nav {
394     margin-top: 0.5rem;
395 }
396
397 .main > .main-left > .nav > li a {
398     color: var(--menu-color, #404040);
399     display: block;
400 }
401
402 .main > .main-left > .nav > li:nth-last-child(1) {
403     margin-top: 2rem;
404     font-size: 1.2rem;
405 }
406
407 .main > .main-left > .nav > li {
408     padding: 0.5rem 1rem;
409     cursor: pointer;
410 }
411
412 .main > .main-left > .nav > .slide {
413     padding: 0;
414 }
415
416 .main > .main-left > .nav > .slide > ul {
417     display: none;
418 }
419
420 .main > .main-left > .nav > .slide > .menu {
421     display: block;
422     padding: 0.5rem 1rem;
423     text-decoration: none;
424     cursor: default;
425     font-size: 1.15rem;
426 }
427
428 .main > .main-left > .nav > li:hover,
429 .main > .main-left > .nav > .slide > .menu:hover {
430     background: var(--submenu-bg-hover, #D4D4D4)
431 }
432
433 .main > .main-left > .nav > .slide:hover {
434     background: none;
435 }
436
437 .main > .main-left > .nav > .slide > .slide-menu > li {
438     padding: 0.4rem 2rem;
439 }
440
441 .main > .main-left > .nav > .slide > .slide-menu > .active {
442     background-color: var(--submenu-bg-hover-active, #0099CC);
443 }
444
445 .main > .main-left > .nav > .slide > .slide-menu > li > a {
446     text-decoration: none;
447     white-space: nowrap;
448 }
449
450 .main > .main-left > .nav > .slide > .slide-menu > .active > a {
451     color: white;
452 }
453
454 .main > .main-left > .nav > .slide > .slide-menu > li:hover {
455     background: var(--submenu-bg-hover, #D4D4D4)
456 }
457
458 .main > .main-left > .nav > .slide > .slide-menu > .active:hover {
459     background-color: #0099CC;
460     cursor: hand;
461 }
462
463 li {
464     list-style-type: none;
465 }
466
467 #maincontent > .container {
468     margin: 0 2rem 1rem 2rem;
469 }
470
471 h1 {
472     font-size: 2rem;
473     padding-bottom: 10px;
474     border-bottom: 1px solid #eee;
475 }
476
477 h2 {
478     margin: 2rem 0 0 0;
479     font-size: 1.8rem;
480     padding-bottom: 10px;
481     border-bottom: 1px solid #eee;
482 }
483
484 h3 {
485     margin: 2rem 0 0 0;
486     font-size: 1.4rem;
487     padding-bottom: 10px;
488 }
489
490 h4 {
491     margin: 2rem 0 0 0;
492     font-size: 1.2rem;
493     padding-bottom: 10px;
494 }
495
496 .cbi-section {
497     margin: 1rem 0 0 0;
498     padding: 2rem;
499     border: 0;
500     font-weight: normal;
501     font-style: normal;
502     line-height: 1;
503     font-family: inherit;
504     min-width: inherit;
505     border-radius: 0;
506     background-color: #FFF;
507     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
508
509     -webkit-overflow-scrolling: touch;
510 }
511
512 .cbi-map-descr + fieldset {
513     margin-top: 1rem;
514 }
515
516 .cbi-section > legend {
517     display: none !important;
518 }
519
520 fieldset > fieldset {
521     margin: 0;
522     padding: 0;
523     border: none;
524     box-shadow: none;
525 }
526
527 .cbi-section > h3:first-child,
528 .panel-title {
529     width: 100%;
530     display: block;
531     line-height: 1;
532     color: #404040;
533     font-size: 1.4rem;
534     padding-bottom: 1rem;
535     border-bottom: 1px solid #eee;
536     margin: 0;
537 }
538
539 table {
540     border-spacing: 0;
541     border-collapse: collapse;
542 }
543
544 table, .table {
545     width: 100%;
546     border: 1px solid #eee;
547 }
548
549 table > tbody > tr > td, table > tbody > tr > th, table > tfoot > tr > td, table > tfoot > tr > th, table > thead > tr > td, table > thead > tr > th,
550 .table > .tbody > .tr > .td, .table > .tbody > .tr > .th, .table > .tfoot > .tr > .td, .table > .tfoot > .tr > .th, .table > .thead > .tr > .td, .table > .thead > .tr > .th {
551     padding: .5rem;
552     border-top: 1px solid #ddd;
553     white-space: nowrap;
554 }
555
556 .cbi-section-table-cell {
557     white-space: nowrap;
558     align-self: flex-end;
559     flex: 1 1 auto;
560 }
561
562 .cbi-section-table {
563     border: none;
564 }
565
566 .cbi-section-table-row {
567     text-align: center;
568     margin-bottom: 1rem;
569     background: #f4f4f4;
570     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
571 }
572
573 .cbi-section-table-row:last-child {
574     margin-bottom: 0;
575 }
576
577 .cbi-section-table-row > .cbi-value-field .cbi-input-select,
578 .cbi-section-table-row > .cbi-value-field .cbi-input-text,
579 .cbi-section-table-row > .cbi-value-field .cbi-input-password,
580 .cbi-section-table-row > .cbi-value-field .cbi-dropdown {
581     width: 100%;
582 }
583
584 .cbi-section-table-row > .cbi-value-field [data-dynlist] > input,
585 .cbi-section-table-row > .cbi-value-field input.cbi-input-password {
586     width: calc(100% - 1.5rem);
587 }
588
589 div > table > tbody > tr:nth-of-type(2n),
590 div > .table > .tbody > .tr:nth-of-type(2n) {
591     background-color: #f9f9f9;
592 }
593
594 div > table > tbody > tr:nth-of-type(2n),
595 div > .table > .tbody > .tr:nth-of-type(2n) {
596     background-color: #f9f9f9;
597 }
598
599 /* fix progress bar */
600 #swaptotal > div,
601 #swapfree > div,
602 #memfree > div,
603 #membuff > div,
604 #conns > div,
605 #memtotal > div {
606     width: 100% !important;
607     height: 1.2rem !important;
608 }
609
610 #swaptotal > div > div,
611 #swapfree > div > div,
612 #memfree > div > div,
613 #membuff > div > div,
614 #conns > div > div,
615 #memtotal > div > div {
616     height: 100% !important;
617     background-color: #0099CC !important;
618 }
619
620 /* fix multiple table */
621
622 table table,
623 .table .table {
624     border: none;
625 }
626
627 .cbi-value-field table,
628 .cbi-value-field .table {
629     border: none;
630 }
631
632 td > table > tbody > tr > td,
633 .td > .table > .tbody > .tr > .td {
634     border: none;
635 }
636
637 .cbi-value-field > table > tbody > tr > td,
638 .cbi-value-field > .table > .tbody > .tr > .td {
639     border: none;
640 }
641
642 /* button style */
643
644 .btn, .cbi-button {
645     -webkit-appearance: none;
646     text-transform: uppercase;
647     color: rgba(0, 0, 0, 0.87);
648     background-color: #F0F0F0;
649     transition: all 0.2s ease-in-out;
650     display: inline-block;
651     padding: 0 0.8rem;
652     border: none;
653     border-radius: 0.2rem;
654     cursor: pointer;
655     -ms-touch-action: manipulation;
656     touch-action: manipulation;
657     background-image: none;
658     text-align: center;
659     vertical-align: middle;
660     white-space: nowrap;
661     -webkit-user-select: none;
662     -moz-user-select: none;
663     -ms-user-select: none;
664     user-select: none;
665     font-size: 0.8rem;
666     width: auto !important;
667     display: inline-block;
668     text-decoration: none;
669 }
670
671 .btn:hover,
672 .btn:focus,
673 .btn:active,
674 .cbi-button:hover,
675 .cbi-button:focus,
676 .cbi-button:active,
677 .cbi-page-actions .cbi-button-apply + .cbi-button-save:hover,
678 .cbi-page-actions .cbi-button-apply + .cbi-button-save:focus,
679 .cbi-page-actions .cbi-button-apply + .cbi-button-save:active {
680     outline: 0;
681     text-decoration: none;
682     background-color: rgba(250, 250, 250, 0.7);
683 }
684
685 .btn:hover,
686 .btn:focus,
687 .cbi-button:hover,
688 .cbi-button:focus {
689     box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
690 }
691
692 .btn:active,
693 .cbi-button:active {
694     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
695 }
696
697 .btn:disabled,
698 .cbi-button:disabled {
699     cursor: not-allowed;
700     pointer-events: none;
701     opacity: 0.60;
702     box-shadow: none;
703 }
704
705 .cbi-page-actions .cbi-button-apply,
706 .cbi-section-actions .cbi-button-edit,
707 .cbi-button-edit.important,
708 .cbi-button-apply.important,
709 .cbi-button-reload.important,
710 .cbi-button-action.important {
711     color: #fff;
712     background-color: #337ab7;
713 }
714
715 .cbi-page-actions .cbi-button-save,
716 .cbi-button-add.important,
717 .cbi-button-save.important,
718 .cbi-button-positive.important {
719     color: #fff;
720     background-color: #5bc0de;
721 }
722
723 .cbi-button-remove.important,
724 .cbi-button-reset.important,
725 .cbi-button-negative.important {
726     color: #fff;
727     background-color: #d9534f;
728 }
729
730 .cbi-button-find,
731 .cbi-button-link,
732 .cbi-button-up,
733 .cbi-button-down,
734 .cbi-button-neutral {
735     border: 1px solid #bfbfbf;
736     background-color: transparent;
737 }
738
739 .cbi-button-edit,
740 .cbi-button-apply,
741 .cbi-button-reload,
742 .cbi-button-action {
743     color: #2e6da4;
744     border: 1px solid #2e6da4;
745     background-color: transparent;
746 }
747
748 .cbi-page-actions .cbi-button-apply + .cbi-button-save,
749 .cbi-button-add,
750 .cbi-button-save,
751 .cbi-button-positive {
752     color: #46b8da;
753     border: 1px solid #46b8da;
754     background-color: transparent;
755 }
756
757 .cbi-section-remove > .cbi-button,
758 .cbi-button-remove,
759 .cbi-button-reset,
760 .cbi-button-negative {
761     color: #d43f3a;
762     border: 1px solid #d43f3a;
763     background-color: transparent;
764 }
765
766 .cbi-page-actions .cbi-button-link:first-child {
767     float: left;
768 }
769
770 .a-to-btn {
771     text-decoration: none;
772 }
773
774 /* table */
775
776 .tabs {
777     margin: 0 -2rem;
778     padding-left: 0.5rem;
779     background-color: #FFFFFF;
780 }
781
782 .cbi-tabmenu > li,
783 .tabs > li {
784     display: inline-block;
785     padding: 0.6rem 0rem;
786 }
787
788 .cbi-tabmenu > li > a,
789 .tabs > li > a {
790     text-decoration: none;
791     color: #404040;
792     padding: 0.5rem 0.8rem;
793 }
794
795 .tabs > li[class~="active"],
796 .tabs > li:hover {
797     cursor: pointer;
798     border-bottom: 0.2rem solid #0099CC;
799     color: #0099CC;
800     margin-bottom: -0.18751rem;
801 }
802
803 .tabs > li[class~="active"] > a {
804     color: #0099cc;
805 }
806
807 .tabs > li:hover {
808     border-bottom: 0.18751rem solid #C9C9C9;
809 }
810
811 .cbi-tabmenu {
812     border-top: 1px solid #D4D4D4;
813     border-left: 1px solid #D4D4D4;
814     border-right: 1px solid #D4D4D4;
815 }
816
817 .cbi-tabmenu > li:hover {
818     background-color: #F1F1F1;
819 }
820
821 .cbi-tabmenu > li[class~="cbi-tab"] {
822     background-color: white;
823 }
824
825 .cbi-tabmenu {
826     background-color: #D4D4D4;
827 }
828
829 .cbi-section-remove:nth-of-type(2n),
830 .cbi-section-node:nth-of-type(2n){
831     background-color: #f9f9f9;
832 }
833
834 .cbi-section-node-tabbed {
835     padding: 0;
836     margin-top: 0;
837     border-bottom: 1px solid #D4D4D4;
838     border-left: 1px solid #D4D4D4;
839     border-right: 1px solid #D4D4D4;
840 }
841
842 .cbi-tabcontainer > .cbi-value:nth-of-type(2n) {
843     background-color: #f9f9f9;
844 }
845
846 .cbi-value-field,
847 .cbi-value-description {
848     display: table-cell;
849     line-height: 1.25;
850 }
851
852 .cbi-value-helpicon > img {
853     display: none;
854 }
855
856 .cbi-value-helpicon:before {
857     content: "\f059";
858 }
859
860 .cbi-value-description {
861     font-size: small;
862     opacity: 0.5;
863     padding: 0.5rem 0 0 0;
864 }
865
866 .cbi-value-title {
867     word-wrap: break-word;
868     padding-top: 0.6rem;
869     width: 23rem;
870     float: left;
871     text-align: right;
872     padding-right: 2rem;
873     display: table-cell;
874 }
875
876 .cbi-value {
877     padding: 0.3rem 1rem;
878     display: inline-block;
879     width: 100%;
880 }
881
882 .cbi-section-table-descr > .cbi-section-table-cell,
883 .cbi-section-table-titles > .cbi-section-table-cell {
884     border: none;
885 }
886
887 .td[data-title]::before {
888     content: attr(data-title) ":\20";
889     font-weight: bold;
890     text-align: left;
891     display: none;
892     padding: .25rem 0;
893     white-space: nowrap;
894 }
895
896 .tr.placeholder .td[data-title]::before {
897     display: none;
898 }
899
900 .tr[data-title]::before,
901 .tr.cbi-section-table-titles.named::before {
902     content: attr(data-title) "\20";
903     font-weight: bold;
904     text-align: center;
905     display: table-cell;
906     align-self: center;
907     flex: 1 1 5%;
908     padding: .25rem;
909     white-space: normal;
910     word-wrap: break-word;
911     vertical-align: middle;
912 }
913
914 .cbi-rowstyle-1 {
915     background-color: #f9f9f9;
916 }
917
918 .cbi-rowstyle-2 {
919     background-color: #eee;
920 }
921
922 .cbi-rowstyle-2 .cbi-button-up,
923 .cbi-rowstyle-2 .cbi-button-down {
924     background-color: #FFF !important;
925 }
926
927 .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
928     width: auto !important;
929 }
930
931 .td.cbi-section-actions {
932     text-align: right;
933     vertical-align: middle;
934 }
935
936 .td.cbi-section-actions > * {
937     display: flex;
938 }
939
940 .td.cbi-section-actions > * > *,
941 .td.cbi-section-actions > * > form > * {
942     flex: 1 1 4em;
943     margin: 0 1px;
944 }
945
946 .td.cbi-section-actions > * > form {
947     display: inline-flex;
948     margin: 0;
949 }
950
951 /* desc */
952 .cbi-section-descr,
953 .cbi-map-descr {
954     padding: 0.5rem;
955     color: #999;
956     font-size: small;
957 }
958
959
960 .cbi-dropdown {
961     display: inline-flex;
962     cursor: pointer;
963     position: relative;
964     padding: 0;
965     height: auto;
966 }
967
968 .cbi-dropdown:focus {
969     outline: 2px solid #4b6e9b;
970 }
971
972 .cbi-dropdown > ul {
973     margin: 0 !important;
974     padding: 0;
975     list-style: none;
976     overflow-x: hidden;
977     overflow-y: auto;
978     display: flex;
979     width: 100%;
980 }
981
982 .cbi-dropdown > ul.preview {
983     display: none;
984 }
985
986 .cbi-dropdown > .open {
987     border: 2px outset #eee;
988     flex-basis: 15px;
989     background: #eee;
990 }
991
992 .cbi-dropdown > .open,
993 .cbi-dropdown > .more {
994     flex-grow: 0;
995     flex-shrink: 0;
996     display: flex;
997     flex-direction: column;
998     justify-content: center;
999     text-align: center;
1000     line-height: 2em;
1001     padding: 0 .25em;
1002 }
1003
1004 .cbi-dropdown > .more,
1005 .cbi-dropdown > ul > li[placeholder] {
1006     color: #777;
1007     font-weight: bold;
1008     text-shadow: 1px 1px 0px #fff;
1009     display: none;
1010 }
1011
1012 .cbi-dropdown > ul > li {
1013     display: none;
1014     padding: .25em;
1015     white-space: nowrap;
1016     overflow: hidden;
1017     text-overflow: ellipsis;
1018     flex-shrink: 1;
1019     flex-grow: 1;
1020     align-items: center;
1021     align-self: center;
1022     min-height: 20px;
1023 }
1024
1025 .cbi-dropdown > ul > li .hide-open { display: initial; }
1026 .cbi-dropdown > ul > li .hide-close { display: none; }
1027
1028 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1029     border-left: 1px solid #ccc;
1030 }
1031
1032 .cbi-dropdown[empty] > ul {
1033     max-width: 1px;
1034 }
1035
1036 .cbi-dropdown > ul > li > form {
1037     display: none;
1038     margin: 0;
1039     padding: 0;
1040     pointer-events: none;
1041 }
1042
1043 .cbi-dropdown > ul > li img {
1044     vertical-align: middle;
1045     margin-right: .25em;
1046 }
1047
1048 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1049     margin: 0;
1050     height: auto;
1051 }
1052
1053 .cbi-dropdown > ul > li input[type="text"] {
1054     height: 20px;
1055 }
1056
1057 .cbi-dropdown[open] {
1058     position: relative;
1059 }
1060
1061 .cbi-dropdown[open] > ul.dropdown {
1062     display: block;
1063     background: #f6f6f5;
1064     border: 1px solid #918e8c;
1065     box-shadow: 0 0 4px #918e8c;
1066     position: absolute;
1067     z-index: 1000;
1068     max-width: none;
1069     min-width: 100%;
1070     width: auto;
1071 }
1072
1073 .cbi-dropdown > ul > li[display],
1074 .cbi-dropdown[open] > ul.preview,
1075 .cbi-dropdown[open] > ul.dropdown > li,
1076 .cbi-dropdown[multiple] > ul > li > label,
1077 .cbi-dropdown[multiple][open] > ul.dropdown > li,
1078 .cbi-dropdown[multiple][more] > .more,
1079 .cbi-dropdown[multiple][empty] > .more {
1080     flex-grow: 1;
1081     display: flex;
1082     align-items: center;
1083 }
1084
1085 .cbi-dropdown[empty] > ul > li,
1086 .cbi-dropdown[optional][open] > ul.dropdown > li[placeholder],
1087 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1088     display: block;
1089 }
1090
1091 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none; }
1092 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: initial; }
1093
1094 .cbi-dropdown[open] > ul.dropdown > li {
1095     border-bottom: 1px solid #ccc;
1096 }
1097
1098 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1099     background: #b0d0f0;
1100 }
1101
1102 .cbi-dropdown[open] > ul.dropdown > li.focus {
1103     background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%);
1104 }
1105
1106 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1107     margin-bottom: 0;
1108     border-bottom: none;
1109 }
1110
1111 .cbi-dropdown[disabled] {
1112     pointer-events: none;
1113     opacity: .6;
1114 }
1115
1116 .cbi-dropdown .zonebadge {
1117     width: 100%;
1118 }
1119
1120 .cbi-dropdown[open] .zonebadge {
1121     width: auto;
1122 }
1123
1124
1125 /* luci */
1126
1127 .hidden {
1128     display: none
1129 }
1130
1131 .left, .left::before {
1132     text-align: left !important;
1133 }
1134
1135 .right, .right::before {
1136     text-align: right !important;
1137 }
1138
1139 .center, .center::before {
1140     text-align: center !important;
1141 }
1142
1143 .top {
1144     align-self: flex-start !important;
1145     vertical-align: top !important;
1146 }
1147
1148 .bottom {
1149     align-self: flex-end !important;
1150     vertical-align: bottom !important;
1151 }
1152
1153 .inline {
1154     display: inline;
1155 }
1156
1157 .cbi-page-actions {
1158     border-top: 1px solid #eee;
1159     padding-top: 1rem;
1160     text-align: right;
1161 }
1162
1163 /* input */
1164 .cbi-value input[type="password"],
1165 .cbi-value input[type="text"] {
1166     min-width: 15rem;
1167 }
1168
1169 /* select */
1170 .cbi-value-field .cbi-dropdown {
1171     min-width: 15rem;
1172 }
1173
1174 .cbi-value-field .cbi-input-select {
1175     width: 15rem;
1176 }
1177
1178 .th[data-type="button"], .td[data-type="button"],
1179 .th[data-type="fvalue"], .td[data-type="fvalue"] {
1180     flex: 1 1 2em;
1181     text-align: center;
1182 }
1183
1184 .ifacebadge {
1185     display: inline-flex;
1186     border-bottom: 1px solid #CCCCCC;
1187     padding: 0.5rem 1rem;
1188     box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1189     background: #fff;
1190 }
1191
1192 td > .ifacebadge,
1193 .td > .ifacebadge {
1194     background-color: #F0F0F0;
1195     font-size: 0.9rem;
1196 }
1197
1198 .ifacebadge > em,
1199 .ifacebadge > img {
1200     display: inline-block;
1201     margin: 0 .2rem;
1202     align-self: flex-start;
1203 }
1204
1205 .ifacebadge > img + img {
1206     margin: 0 .2rem 0 0;
1207 }
1208
1209 .network-status-table {
1210     display: flex;
1211     flex-wrap: wrap;
1212 }
1213
1214 .network-status-table .ifacebox {
1215     margin: .5em;
1216     flex-grow: 1;
1217 }
1218
1219 .network-status-table .ifacebox-body {
1220     display: flex;
1221     flex-direction: column;
1222     height: 100%;
1223 }
1224
1225 .network-status-table .ifacebox-body > span {
1226     flex: 10 10 auto;
1227 }
1228
1229 .network-status-table .ifacebox-body > div {
1230     display: flex;
1231     flex-wrap: wrap;
1232 }
1233
1234 .network-status-table .ifacebox-body .ifacebadge {
1235     flex: 1 1 auto;
1236     margin: .5em .25em 0 .25em;
1237     padding: .5em;
1238     min-width: 220px;
1239     background-color: #fff;
1240     align-items: center;
1241 }
1242
1243 /*textarea*/
1244
1245 .cbi-input-textarea {
1246     width: 100%;
1247     min-height: 14rem;
1248     padding: 0.8rem;
1249     font-size: 0.8rem;
1250     font-family: monospace;
1251     color: black;
1252 }
1253
1254 #syslog {
1255     width: 100%;
1256     min-height: 15rem;
1257     padding: 1rem;
1258     font-size: small;
1259     color: #5F5F5F;
1260
1261     margin-bottom: 20px;
1262     border-radius: 0;
1263     background-color: #FFF;
1264     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1265     border: none;
1266 }
1267
1268 /* change */
1269
1270 .uci-change-list {
1271     font-family: monospace;
1272 }
1273
1274 .uci-change-list ins,
1275 .uci-change-legend-label ins {
1276     text-decoration: none;
1277     border: 1px solid #00FF00;
1278     background-color: #CCFFCC;
1279     display: block;
1280     padding: 2px;
1281 }
1282
1283 .uci-change-list del,
1284 .uci-change-legend-label del {
1285     text-decoration: none;
1286     border: 1px solid #FF0000;
1287     background-color: #FFCCCC;
1288     display: block;
1289     font-style: normal;
1290     padding: 2px;
1291 }
1292
1293 .uci-change-list var,
1294 .uci-change-legend-label var {
1295     text-decoration: none;
1296     border: 1px solid #CCCCCC;
1297     background-color: #EEEEEE;
1298     display: block;
1299     font-style: normal;
1300     padding: 2px;
1301 }
1302
1303 .uci-change-list var ins,
1304 .uci-change-list var del {
1305     border: none;
1306     white-space: pre;
1307     font-style: normal;
1308     padding: 0px;
1309 }
1310
1311 .uci-change-legend {
1312     padding: 5px;
1313 }
1314
1315 .uci-change-legend-label {
1316     width: 150px;
1317     float: left;
1318 }
1319
1320 .uci-change-legend-label > ins,
1321 .uci-change-legend-label > del,
1322 .uci-change-legend-label > var {
1323     float: left;
1324     margin-right: 4px;
1325     width: 10px;
1326     height: 10px;
1327     display: block;
1328 }
1329
1330 .uci-change-legend-label var ins,
1331 .uci-change-legend-label var del {
1332     line-height: 6px;
1333     border: none;
1334 }
1335
1336 .uci-change-list var,
1337 .uci-change-list del,
1338 .uci-change-list ins {
1339     padding: 0.5rem;
1340 }
1341
1342 /* other fix */
1343 #iwsvg,
1344 #iwsvg2,
1345 #bwsvg {
1346     border: 1px solid #D4D4D4 !important;
1347     border-top: none !important;
1348 }
1349
1350 .ifacebox {
1351     box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 2px rgba(0, 0, 0, 0.2);
1352     border-bottom: 1px solid #ccc;
1353     background-color: #f9f9f9;
1354     display: inline-flex;
1355     flex-direction: column;
1356     line-height: 1.2em;
1357     min-width: 100px;
1358 }
1359
1360 .ifacebox-head {
1361     padding: .25em;
1362     background: #eee;
1363 }
1364
1365 .ifacebox-head.active {
1366     background: #90c0e0;
1367 }
1368
1369 .ifacebox-body {
1370     padding: .25em;
1371 }
1372
1373 .cbi-image-button {
1374     margin-left: 0.5rem;
1375 }
1376
1377 .zonebadge {
1378     padding: 0.2rem 0.5rem;
1379     display: inline-block;
1380 }
1381
1382 .zonebadge .ifacebadge {
1383     padding: .2rem .3rem;
1384     margin: 0.1rem 0.2rem;
1385     border: 1px solid #6C6C6C;
1386 }
1387
1388 .zonebadge > input[type="text"] {
1389     padding: 0.16rem 1rem;
1390     min-width: 10rem;
1391     margin-top: 0.3rem;
1392 }
1393
1394 .zonebadge > em,
1395 .zonebadge > strong {
1396     margin: 0 0.2rem;
1397     display: inline-block;
1398 }
1399
1400 .cbi-value-field .cbi-input-checkbox,
1401 .cbi-value-field .cbi-input-radio {
1402     margin-top: 0.5rem;
1403     height: 1rem;
1404 }
1405
1406 .td .cbi-input-checkbox,
1407 .td .cbi-input-radio {
1408     margin-top: 0;
1409 }
1410
1411 .cbi-value-field > input + .cbi-value-description {
1412     padding: 0;
1413 }
1414
1415 .cbi-value-field > ul > li {
1416     display: flex;
1417 }
1418
1419 .cbi-value-field > ul > li > label {
1420     margin-top: 0.5rem;
1421 }
1422
1423 .cbi-value-field > ul > li .ifacebadge {
1424     background-color: #eee;
1425     margin-left: 0.4rem;
1426     margin-top: -0.5rem;
1427 }
1428
1429 .cbi-section-table-row > .cbi-value-field .cbi-dropdown {
1430     min-width: 7rem;
1431 }
1432
1433 .cbi-section-create {
1434     margin: .5rem -3px;
1435     display: inline-flex;
1436     align-items: center;
1437 }
1438
1439 .cbi-section-create > * {
1440     margin: 0.5rem;
1441 }
1442
1443 .cbi-section-remove {
1444     padding: 0.5rem;
1445 }
1446
1447 div.cbi-value var, td.cbi-value-field var, .td.cbi-value-field var {
1448     font-style: italic;
1449     color: #0069D6;
1450 }
1451
1452 small {
1453     font-size: 90%;
1454     white-space: normal;
1455     line-height: 1.42857143;
1456 }
1457
1458 .cbi-button-up,
1459 .cbi-button-down {
1460     display: inline-block;
1461     min-width: 0;
1462     padding: 0.2rem 0.3rem;
1463     font-size: 1.2rem;
1464 }
1465
1466 .cbi-optionals {
1467     padding: 1rem 1rem 0 1rem;
1468     border-top: 1px solid #CCC;
1469 }
1470
1471 .cbi-dropdown-container {
1472     position: relative;
1473 }
1474
1475 .cbi-tooltip-container {
1476     cursor: help;
1477 }
1478
1479 .cbi-tooltip {
1480     position: absolute;
1481     z-index: 1000;
1482     left: -1000px;
1483     opacity: 0;
1484     transition: opacity .25s ease-out;
1485     pointer-events: none;
1486     box-shadow: 0 0 2px #444;
1487 }
1488
1489 .cbi-tooltip-container:hover .cbi-tooltip {
1490     left: auto;
1491     opacity: 1;
1492     transition: opacity .25s ease-in;
1493 }
1494
1495 .zonebadge .cbi-tooltip {
1496     padding: .25rem;
1497     background: inherit;
1498     margin: -1.5rem 0 0 -.5rem;
1499 }
1500
1501 .zonebadge-empty {
1502     background: repeating-linear-gradient(45deg,rgba(204,204,204,0.5),rgba(204,204,204,0.5) 5px,rgba(255,255,255,0.5) 5px,rgba(255,255,255,0.5) 10px);
1503     color: #404040;
1504 }
1505
1506 .zone-forwards {
1507     display: flex;
1508     min-width: 10rem;
1509 }
1510
1511 .zone-forwards > * {
1512     flex: 1 1 45%;
1513 }
1514
1515 .zone-forwards > span {
1516     flex-basis: 10%;
1517     text-align: center;
1518     padding: 0 .25rem;
1519 }
1520
1521 .zone-forwards .zone-src,
1522 .zone-forwards .zone-dest {
1523     display: flex;
1524     flex-direction: column;
1525 }
1526
1527 #diag-rc-output > pre {
1528     background-color: #f5f5f5;
1529     display: block;
1530     padding: 8.5px;
1531     margin: 0 0 18px;
1532     line-height: 1.5rem;
1533     -moz-border-radius: 3px;
1534     white-space: pre-wrap;
1535     word-wrap: break-word;
1536     font-size: 1.4rem;
1537     color: #404040;
1538 }
1539
1540 input[name="ping"],
1541 input[name="traceroute"],
1542 input[name="nslookup"] {
1543     width: 80%;
1544 }
1545
1546 header > .container > .pull-right > * {
1547     position: relative;
1548     top: 0.45rem;
1549     cursor: pointer;
1550 }
1551
1552 #xhr_poll_status > .label.success {
1553     background-color: #14CE14;
1554 }
1555
1556 #xhr_poll_status {
1557     display: flex;
1558 }
1559
1560 .label {
1561     padding: 0.3rem 0.8rem;
1562     font-size: 0.8rem;
1563     font-weight: bold;
1564     color: #ffffff !important;
1565     text-transform: uppercase;
1566     white-space: nowrap;
1567     background-color: #bfbfbf;
1568     -webkit-border-radius: 3px;
1569     -moz-border-radius: 3px;
1570     border-radius: 3px;
1571     text-shadow: none;
1572     text-decoration: none;
1573 }
1574
1575 .notice {
1576     background-color: #5BC0DE;
1577 }
1578
1579 .showSide {
1580     display: none;
1581 }
1582
1583 .darkMask {
1584     width: 100%;
1585     height: 100%;
1586     position: fixed;
1587     background-color: rgba(0, 0, 0, 0.56);
1588     content: "";
1589     z-index: 99;
1590     display: none;
1591 }
1592
1593 /* fix Main Login*/
1594 .node-main-login > .main > .main-left {
1595     display: none;
1596 }
1597
1598 .node-main-login > .main > .main-right {
1599     width: 100%;
1600 }
1601
1602 .node-main-login > .main fieldset {
1603     padding: 0.5rem;
1604     margin-bottom: 1rem;
1605     display: inline;
1606     background: none;
1607     border: none;
1608     box-shadow: none;
1609     overflow: hidden;
1610 }
1611
1612 .node-main-login > .main .cbi-value-title {
1613     width: 7rem;
1614 }
1615
1616 .node-main-login > .main #maincontent {
1617
1618     text-align: center;
1619 }
1620
1621 .node-main-login > .main .container {
1622     display: inline-block;
1623     padding: 2rem 4rem;
1624     margin-top: 2rem !important;
1625     background-color: #FFF;
1626     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1627     text-align: left;
1628 }
1629
1630 .node-main-login > .main form > div:nth-last-child(1) {
1631     float: right;
1632 }
1633
1634 .node-main-login > .main .cbi-value {
1635     display: block;
1636 }
1637
1638 .node-main-login > .main .cbi-value > * {
1639     display: inline-block !important;
1640 }
1641
1642 .node-main-login > .main .cbi-input-user,
1643 .node-main-login > .main .cbi-input-password {
1644     min-width: 15rem;
1645 }
1646
1647 .node-main-login footer {
1648     bottom: 0;
1649     position: absolute;
1650     width: 100%;
1651 }
1652
1653 /* fix status overview */
1654
1655 .node-status-overview > .main fieldset:nth-child(4) .td:nth-child(2) {
1656     white-space: normal;
1657 }
1658
1659 /* fix status processes */
1660
1661 .node-status-processes > .main .table .tr .td:nth-child(3) {
1662     white-space: normal;
1663 }
1664
1665 .node-status-iptables > .main div > .cbi-map > form {
1666     margin: 2rem 2rem 0 0;
1667 }
1668
1669 /* fix system reboot */
1670
1671 .node-system-reboot > .main > .main-right p,
1672 .node-system-reboot > .main > .main-right h3 {
1673     padding-left: 2rem;
1674 }
1675
1676 /* fix Services  Network Shares*/
1677 .node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
1678     margin-bottom: 1rem;
1679     width: auto;
1680 }
1681
1682 .node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
1683     display: list-item;
1684 }
1685
1686 .node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
1687     padding-top: 1rem;
1688 }
1689
1690 /* fix System Software*/
1691 .node-system-packages > .main table tr td:nth-child(1) {
1692     width: auto !important;
1693 }
1694
1695 .node-system-packages > .main table tr td:nth-last-child(1) {
1696     white-space: normal;
1697     font-size: small;
1698     color: #404040;
1699 }
1700
1701 .node-system-packages > .main .cbi-tabmenu > li > a, .tabs > li > a {
1702     padding: 0.5rem 0.8rem;
1703 }
1704
1705 .node-system-packages > .main .cbi-value > pre {
1706     background-color: #eee;
1707     padding: 0.5rem;
1708     overflow: auto;
1709 }
1710
1711 .cbi-tabmenu + .cbi-section {
1712     margin-top: 0;
1713 }
1714
1715 .node-status-iptables fieldset,
1716 .node-system-packages fieldset,
1717 .node-system-flashops fieldset {
1718     margin-top: 0;
1719 }
1720
1721 .node-status-iptables .cbi-tabmenu,
1722 .node-system-packages .cbi-tabmenu,
1723 .node-system-flashops .cbi-tabmenu {
1724     border: none;
1725     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1726 }
1727
1728 .node-system-flashops form.inline + form.inline {
1729     margin-left: 0;
1730 }
1731
1732 #cbi-firewall-redirect table *,
1733 #cbi-network-switch_vlan table *,
1734 #cbi-firewall-zone table * {
1735     font-size: small;
1736 }
1737
1738 #cbi-firewall-redirect table input[type="text"],
1739 #cbi-network-switch_vlan table input[type="text"],
1740 #cbi-firewall-zone table input[type="text"] {
1741     width: 5rem;
1742 }
1743
1744 #cbi-firewall-redirect table select,
1745 #cbi-network-switch_vlan table select,
1746 #cbi-firewall-zone table select {
1747     min-width: 3.5rem;
1748 }
1749
1750 #cbi-network-switch_vlan .th,
1751 #cbi-network-switch_vlan .td {
1752     flex-basis: 12%;
1753 }
1754
1755 /* language fix */
1756 body.lang_pl.node-main-login .cbi-value-title {
1757     width: 12rem;
1758 }
1759
1760 /* applyreboot fix */
1761
1762 #applyreboot-container {
1763         margin: 2rem;
1764 }
1765
1766 #applyreboot-section {
1767         margin: 2rem;
1768         line-height: 300%;
1769 }
1770
1771 @media screen and (max-width: 1600px) {
1772     .btn,
1773     .cbi-button {
1774         padding: 0.3rem 0.6rem;
1775         font-size: 0.8rem;
1776     }
1777
1778     header > .container > .pull-right > * {
1779         top: 0.35rem;
1780     }
1781
1782     .label {
1783         padding: 0.2rem 0.6rem;
1784     }
1785
1786     .cbi-value-title {
1787         width: 15rem;
1788         padding-right: 0.6rem;
1789     }
1790
1791     fieldset {
1792         padding: 1rem;
1793     }
1794
1795     .cbi-input-textarea {
1796         font-size: small;
1797     }
1798
1799     .node-status-iptables > .main fieldset li > a {
1800         padding: 0.3rem 0.6rem;
1801     }
1802 }
1803
1804 @media screen and (max-width: 1280px) {
1805     header > .container {
1806         margin-top: 0.25rem;
1807     }
1808
1809     .cbi-tabmenu > li > a, .tabs > li > a {
1810         padding: 0.2rem 0.5rem;
1811     }
1812
1813     .panel-title {
1814         font-size: 1.1rem;
1815         padding-bottom: 1rem;
1816     }
1817
1818     table {
1819         font-size: 0.7rem !important;
1820         width: 100% !important;
1821     }
1822 }
1823
1824 @media screen and (max-width: 992px) {
1825     header > .fill > .container > img {
1826         display: none;
1827     }
1828
1829     .main-left {
1830         width: 0;
1831         position: fixed;
1832         z-index: 100;
1833     }
1834
1835     .main-right {
1836         width: 100%;
1837     }
1838
1839     .showSide {
1840         padding: 0.1rem;
1841         margin-right: 0.5rem;
1842         display: inline-block;
1843     }
1844
1845     .showSide:before {
1846         content: "\e20e";
1847         font-size: 1.7rem;
1848     }
1849
1850     .node-main-login .showSide {
1851         display: none !important;
1852     }
1853
1854     .cbi-value-title {
1855         width: 9rem;
1856         padding-right: 1rem;
1857     }
1858
1859     .node-network-diagnostics > .main .cbi-map fieldset > div * {
1860         width: 100% !important;
1861     }
1862
1863     .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"] {
1864         margin: 3rem 0 0 0 !important;
1865     }
1866
1867     .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"] {
1868         margin: 0 !important;
1869     }
1870
1871     .node-network-diagnostics > .main .cbi-map fieldset > div select,
1872     .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"] {
1873         margin: 1rem 0 0 0;
1874     }
1875
1876     .node-network-diagnostics > .main .cbi-map fieldset > div {
1877         width: 100% !important;
1878     }
1879
1880     #diag-rc-output > pre {
1881         font-size: 1rem;
1882     }
1883
1884     .node-main-login > .main .cbi-value-title {
1885         text-align: left;
1886     }
1887
1888     .tr {
1889         display: flex;
1890         flex-direction: row;
1891         flex-wrap: wrap;
1892     }
1893
1894     .th, .td {
1895         flex: 2 2 25%;
1896         align-self: flex-start;
1897         overflow: hidden;
1898         text-overflow: ellipsis;
1899         word-wrap: break-word;
1900         display: inline-block;
1901     }
1902
1903     .td select,
1904     .td input[type="text"] {
1905         word-wrap: normal;
1906         width: 100%;
1907     }
1908
1909     .td [data-dynlist] > input,
1910     .td input.cbi-input-password {
1911         width: calc(100% - 1.5rem);
1912     }
1913
1914     .td[data-type="button"],
1915     .td[data-type="fvalue"] {
1916         flex: 1 1 12.5%;
1917         text-align: left;
1918     }
1919
1920     .th.cbi-value-field,
1921     .td.cbi-value-field,
1922     .th.cbi-section-table-cell,
1923     .td.cbi-section-table-cell {
1924         flex-basis: auto;
1925     }
1926
1927     .cbi-section-table-row {
1928         display: flex;
1929         flex-wrap: wrap;
1930         flex-direction: row;
1931         justify-content: space-between;
1932     }
1933
1934     .td.cbi-value-field,
1935     .cbi-section-table-cell {
1936         text-align: center;
1937         display: inline-block;
1938         flex: 10 10 auto;
1939     }
1940
1941     .td.cbi-section-actions {
1942         text-align: right;
1943         align-self: flex-end;
1944         vertical-align: bottom;
1945     }
1946
1947     .tr.table-titles,
1948     .tr.cbi-section-table-titles,
1949     .tr.cbi-section-table-descr {
1950         display: none;
1951     }
1952
1953     .tr[data-title]::before,
1954     .tr.cbi-section-table-titles.named::before {
1955         display: block;
1956         flex: 1 1 100%;
1957         background: #eef;
1958         font-size: .9rem;
1959         border-bottom: 1px solid rgba(0, 0, 0, .26);
1960     }
1961
1962     .td[data-title] {
1963         text-align: left;
1964     }
1965
1966     .td[data-title]::before {
1967         display: block;
1968     }
1969
1970     .hide-sm,
1971     .hide-xs {
1972         display: none;
1973     }
1974 }
1975
1976 @media screen and (max-width: 480px) {
1977     body {
1978         font-size: 1rem;
1979     }
1980
1981     fieldset {
1982         padding: 1rem;
1983         margin: 1rem 0 0 0;
1984     }
1985
1986     .tabs {
1987         margin: 0 -1rem;
1988     }
1989
1990     #maincontent > .container {
1991         margin: 0 1rem 1.5rem 1rem;
1992     }
1993
1994     .main > .main-left > .nav > .slide > .menu {
1995         font-size: 1.3rem;
1996     }
1997
1998     .main > .main-left > .nav > .slide > .slide-menu > li > a {
1999         font-size: 1.1rem;
2000     }
2001
2002     .cbi-value-title {
2003         width: 100%;
2004         min-width: 0rem !important;
2005         display: block;
2006         margin-top: 1rem;
2007         margin-bottom: 0.5rem;
2008         text-align: left;
2009     }
2010
2011     .cbi-value-field, .cbi-value-description {
2012         width: 100%;
2013     }
2014
2015     .cbi-value > .cbi-value-field {
2016         display: inline-block;
2017     }
2018
2019     .cbi-tabmenu > li, .tabs > li {
2020         padding: 0.6rem 0rem;
2021     }
2022
2023     .cbi-tabmenu > li > a, .tabs > li > a {
2024         padding: 0.2rem 0.3rem;
2025         font-size: 0.9rem;
2026     }
2027
2028     .cbi-page-actions > div > input {
2029         display: none;
2030     }
2031
2032     .node-main-login > .main .container {
2033         padding: 0.5rem 1rem 2rem 1rem;
2034     }
2035
2036     .node-main-login > .main .cbi-value {
2037         padding: 0;
2038     }
2039
2040     .node-main-login > .main form > div:nth-last-child(1) {
2041         margin-top: 2rem;
2042     }
2043
2044     .node-main-login > .main .cbi-value-title {
2045         width: 100% !important;
2046         font-size: 1.2rem;
2047     }
2048
2049     .node-main-login > .main fieldset {
2050         margin: 0;
2051         padding: 0.5rem;
2052     }
2053
2054     h2 {
2055         font-size: 2rem;
2056     }
2057
2058     .tabs > li > a {
2059         font-size: 0.9rem;
2060     }
2061
2062     select,
2063     input {
2064         font-size: 0.9rem;
2065     }
2066
2067     .mobile-hide {
2068         display: none;
2069     }
2070
2071     .panel-title {
2072         font-size: 1.4rem;
2073         padding-bottom: 1rem;
2074     }
2075
2076     .node-system-packages > .main .cbi-value.cbi-value-last > div {
2077         width: 100% !important;
2078     }
2079
2080     .node-system-packages > .main .cbi-value .cbi-value-field input {
2081         width: 100%;
2082     }
2083
2084     .node-status-iptables > .main div > .cbi-map > form {
2085         position: static !important;
2086         margin: 0 0 2rem 0;
2087         padding: 2rem;
2088         border: 0;
2089         font-weight: normal;
2090         font-style: normal;
2091         line-height: 1;
2092         font-family: inherit;
2093         min-width: inherit;
2094         border-radius: 0;
2095         background-color: #FFF;
2096         box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
2097         -webkit-overflow-scrolling: touch;
2098     }
2099
2100     .node-status-iptables > .main div > .cbi-map > form input[type="submit"] {
2101         width: 100% !important;
2102         margin: 0;
2103     }
2104
2105     .node-status-iptables > .main div > .cbi-map > form input[type="submit"] + input[type="submit"] {
2106         margin-top: 1rem;
2107     }
2108
2109     .th, .td {
2110         flex-basis: 50%;
2111     }
2112
2113     .td.cbi-value-field {
2114         flex-basis: 100%;
2115     }
2116
2117     .td.cbi-value-field[data-type="dvalue"] {
2118         flex-basis: 50%;
2119     }
2120
2121     .td.cbi-value-field[data-type="button"],
2122     .td.cbi-value-field[data-type="fvalue"] {
2123         flex-basis: 25%;
2124         text-align: left;
2125     }
2126
2127     .tr[data-title]::before,
2128     .tr.cbi-section-table-titles.named::before {
2129         font-size: 1rem;
2130     }
2131
2132     .hide-xs {
2133         display: none;
2134     }
2135 }
2136
2137 @media screen and (min-width: 992px) {
2138     .cbi-value input[type="password"],
2139     .cbi-value input[type="text"],
2140     .cbi-value-field .cbi-input-select {
2141         width: 20rem;
2142     }
2143
2144     .cbi-value-field .cbi-dropdown {
2145         min-width: 20rem;
2146     }
2147 }
2148
2149 @media screen and (min-width: 1280px) {
2150     .cbi-value input[type="password"],
2151     .cbi-value input[type="text"],
2152     .cbi-value-field .cbi-input-select {
2153         width: 22rem;
2154     }
2155
2156     .cbi-value-field .cbi-dropdown {
2157         min-width: 22rem;
2158     }
2159 }
2160
2161 @media screen and (min-width: 1600px) {
2162     .cbi-value input[type="password"],
2163     .cbi-value input[type="text"],
2164     .cbi-value-field .cbi-input-select {
2165         width: 25rem;
2166     }
2167
2168     .cbi-value-field .cbi-dropdown {
2169         min-width: 25rem;
2170     }
2171 }