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