luci-theme-bootstrap: fixup assoclist styling
[oweals/luci.git] / themes / luci-theme-bootstrap / htdocs / luci-static / bootstrap / cascade.css
1 /*!
2  * LuCI Bootstrap Theme
3  * Copyright 2012 Nut & Bolt
4  * By David Menting <david@nut-bolt.nl>
5  * Based on Bootstrap v1.4.0
6  *
7  * Copyright 2011 Twitter, Inc
8  * Licensed under the Apache License v2.0
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Designed and built with all the love in the world @twitter by @mdo and @fat.
12  */
13 /* Reset.less
14  * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here       that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
15  * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
16
17 * {
18         margin: 0;
19         padding: 0;
20         border: 0;
21         box-sizing: border-box;
22 }
23
24 abbr[title], acronym[title] {
25         border-bottom: 1px dotted;
26         font-weight: inherit;
27         cursor: help;
28 }
29
30 table {
31         border-collapse: collapse;
32         border-spacing: 0;
33 }
34
35 ol, ul {
36         list-style: none;
37 }
38
39 html {
40         font-size: 100%;
41         -webkit-text-size-adjust: 100%;
42         -ms-text-size-adjust: 100%;
43 }
44
45 a:focus {
46         outline: thin dotted;
47 }
48
49 a:hover, a:active {
50         outline: 0;
51 }
52
53 footer,
54 header,
55 nav,
56 section {
57         display: block;
58 }
59
60 sub, sup {
61         font-size: 75%;
62         line-height: 0;
63         position: relative;
64         vertical-align: baseline;
65 }
66
67 sup {
68         top: -0.5em;
69 }
70
71 sub {
72         bottom: -0.25em;
73 }
74
75 img {
76         -ms-interpolation-mode: bicubic;
77 }
78
79 button,
80 input,
81 select,
82 option,
83 textarea {
84         font-size: 100%;
85         margin: 0;
86         box-sizing: border-box;
87         vertical-align: baseline;
88         line-height: normal;
89 }
90
91 button::-moz-focus-inner, input::-moz-focus-inner {
92         border: 0;
93         padding: 0;
94 }
95
96 button,
97 input[type="button"],
98 input[type="reset"],
99 input[type="submit"] {
100         cursor: pointer;
101         -webkit-appearance: button;
102         word-break: break-all;
103 }
104
105 button[disabled],
106 input[type="button"][disabled],
107 input[type="reset"][disabled],
108 input[type="submit"][disabled] {
109         opacity: 0.7;
110 }
111
112 input[type="search"] {
113         -webkit-appearance: textfield;
114         box-sizing: content-box;
115 }
116
117 input[type="search"]::-webkit-search-decoration {
118         -webkit-appearance: none;
119 }
120
121 textarea {
122         overflow: auto;
123         vertical-align: top;
124 }
125
126 /*
127  * Scaffolding
128  * Basic and global styles for generating a grid system, structural layout, and page templates
129  * ------------------------------------------------------------------------------------------- */
130 body {
131         background-color: #fff;
132         font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
133         font-size: 13px;
134         font-weight: normal;
135         line-height: 18px;
136         color: #404040;
137         padding: 18px 5px 5px 5px;
138         margin-top: 40px;
139 }
140
141 .container {
142         width: 100%;
143         max-width: 940px;
144         margin-left: auto;
145         margin-right: auto;
146         zoom: 1;
147 }
148
149 .container:before, .container:after {
150         display: table;
151         content: "";
152         zoom: 1;
153 }
154
155 .container:after {
156         clear: both;
157 }
158
159 a {
160         color: #0069d6;
161         text-decoration: none;
162         line-height: inherit;
163         font-weight: inherit;
164 }
165
166 a:hover {
167         color: #00438a;
168         text-decoration: underline;
169 }
170
171 .pull-right {
172         float: right;
173 }
174
175 .pull-left {
176         float: left;
177 }
178
179 .nowrap {
180         white-space: nowrap;
181 }
182
183 /* Typography.less
184  * Headings, body text, lists, code, and more for a versatile and durable typography system
185  * ---------------------------------------------------------------------------------------- */
186 p,
187 .cbi-map-descr,
188 .cbi-section-descr,
189 .table .tr.cbi-section-table-descr .th {
190         font-size: 13px;
191         font-weight: normal;
192         line-height: 18px;
193         margin-bottom: 9px;
194 }
195
196 p small {
197         font-size: 11px;
198         color: #bfbfbf;
199 }
200
201 h1,
202 h2,
203 h3, legend,
204 h4,
205 h5,
206 h6 {
207         font-weight: bold;
208         color: #404040;
209 }
210
211 h1 small,
212 h2 small,
213 h3 small,
214 h4 small,
215 h5 small,
216 h6 small {
217         color: #bfbfbf;
218 }
219
220 h1 {
221         margin-bottom: 18px;
222         font-size: 30px;
223         line-height: 36px;
224 }
225
226 h1 small {
227         font-size: 18px;
228 }
229
230 h2 {
231         font-size: 24px;
232         line-height: 36px;
233 }
234
235 h2 small {
236         font-size: 14px;
237 }
238
239 h3, legend,
240 h4,
241 h5,
242 h6 {
243         line-height: 36px;
244 }
245
246 h3, legend {
247         font-size: 18px;
248 }
249
250 h3 small {
251         font-size: 14px;
252 }
253
254 h4 {
255         font-size: 16px;
256 }
257
258 h4 small {
259         font-size: 12px;
260 }
261
262 h5 {
263         font-size: 14px;
264 }
265
266 h6 {
267         font-size: 13px;
268         color: #bfbfbf;
269         text-transform: uppercase;
270 }
271
272 ul, ol {
273         margin: 0 0 18px 25px;
274 }
275
276 ul ul,
277 ul ol,
278 ol ol,
279 ol ul {
280         margin-bottom: 0;
281 }
282
283 ul {
284         list-style: disc;
285 }
286
287 ol {
288         list-style: decimal;
289 }
290
291 li {
292         line-height: 18px;
293         color: #808080;
294 }
295
296 ul.unstyled {
297         list-style: none;
298         margin-left: 0;
299 }
300
301 dl {
302         margin-bottom: 18px;
303 }
304
305 dl dt, dl dd {
306         line-height: 18px;
307 }
308
309 dl dt {
310         font-weight: bold;
311 }
312
313 dl dd {
314         margin-left: 9px;
315 }
316
317 hr {
318         margin: 20px 0 19px;
319         border: 0;
320         border-bottom: 1px solid #eee;
321 }
322
323 strong {
324         font-style: inherit;
325         font-weight: bold;
326 }
327
328 em {
329         font-style: italic;
330         font-weight: inherit;
331         line-height: inherit;
332 }
333
334 small { font-size: 0.9em }
335
336 address {
337         display: block;
338         line-height: 18px;
339         margin-bottom: 18px;
340 }
341
342 code, pre {
343         padding: 0 3px 2px;
344         font-family: Monaco, Andale Mono, Courier New, monospace;
345         font-size: 12px;
346         border-radius: 3px;
347 }
348
349 code {
350         background-color: #fee9cc;
351         color: rgba(0, 0, 0, 0.75);
352         padding: 1px 3px;
353 }
354
355 pre {
356         background-color: #f5f5f5;
357         display: block;
358         padding: 8.5px;
359         margin: 0 0 18px;
360         line-height: 18px;
361         font-size: 12px;
362         border: 1px solid #ccc;
363         border: 1px solid rgba(0, 0, 0, 0.15);
364         border-radius: 3px;
365         white-space: pre;
366         white-space: pre-wrap;
367         word-wrap: break-word;
368 }
369
370 /* Forms.less
371  * Base styles for various input types, form layouts, and states
372  * ------------------------------------------------------------- */
373 form {
374         margin-bottom: 18px;
375 }
376
377 fieldset {
378         margin-bottom: 9px;
379         padding-top: 9px;
380 }
381
382 fieldset legend {
383         display: block;
384         font-size: 19.5px;
385         line-height: 1;
386         color: #404040;
387         padding-top: 20px;
388
389 }
390 form .cbi-tab-descr {
391         line-height: 18px;
392         margin-bottom: 18px;
393 }
394
395 form .clearfix,
396 .cbi-value {
397         margin-bottom: 18px;
398         zoom: 1;
399 }
400
401 form .clearfix:before, form .clearfix:after,
402 .cbi-value:before, .cbi-value:after  {
403         display: table;
404         content: "";
405         zoom: 1;
406 }
407
408 form .clearfix:after,
409 .cbi-value:after {
410         clear: both;
411 }
412
413 label,
414 input,
415 button,
416 select,
417 textarea {
418         font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
419         font-size: 13px;
420         font-weight: normal;
421         line-height: normal;
422 }
423
424 form .input,
425 .cbi-value-field {
426         margin-left: 200px;
427 }
428
429 .cbi-value label.cbi-value-title {
430         padding-top: 6px;
431         font-size: 13px;
432         line-height: 18px;
433         float: left;
434         width: 180px;
435         text-align: right;
436         color: #404040;
437 }
438
439 input[type=checkbox], input[type=radio] {
440         cursor: pointer;
441 }
442
443 label > input[type="checkbox"],
444 label > input[type="radio"] {
445         vertical-align: bottom;
446         margin: 0;
447 }
448
449 input,
450 textarea,
451 select,
452 .cbi-dropdown:not(.btn):not(.cbi-button),
453 .uneditable-input {
454         display: inline-block;
455         width: 210px;
456         padding: 4px;
457         font-size: 13px;
458         line-height: 18px;
459         border: 1px solid #ccc;
460         border-radius: 3px;
461 }
462
463 input,
464 select,
465 .cbi-dropdown:not(.btn):not(.cbi-button),
466 .uneditable-input {
467         height: 30px;
468 }
469
470 .uneditable-input {
471         color: #808080;
472 }
473
474 .cbi-dropdown:not(.btn):not(.cbi-button),
475 .cbi-dynlist {
476         min-width: 210px;
477         max-width: 400px;
478         width: auto;
479 }
480
481 .cbi-dynlist {
482         height: auto;
483         min-height: 30px;
484         display: inline-flex;
485         flex-direction: column;
486 }
487
488 .cbi-dynlist > .item {
489         margin-bottom: 4px;
490         box-shadow: 0 0 2px #ccc;
491         background: #fff;
492         padding: 2px 2em 2px 4px;
493         border: 1px solid #ccc;
494         border-radius: 3px;
495         position: relative;
496         pointer-events: none;
497 }
498
499 .cbi-dynlist > .item::after {
500         content: "×";
501         position: absolute;
502         display: inline-flex;
503         align-items: center;
504         top: -1px;
505         right: -1px;
506         bottom: -1px;
507         padding: 0 6px;
508         border: 1px solid #ccc;
509         border-radius: 0 3px 3px 0;
510         font-weight: bold;
511         color: #c44;
512         pointer-events: auto;
513 }
514
515 .cbi-dynlist > .add-item {
516         display: flex;
517 }
518
519 .cbi-dynlist > .add-item > input,
520 .cbi-dynlist > .add-item > button {
521         flex: 1 1 auto;
522         overflow: hidden;
523         text-overflow: ellipsis;
524         white-space: nowrap;
525 }
526
527 select {
528         padding: initial;
529         background: #fff;
530         box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1);
531 }
532
533 input[type=checkbox], input[type=radio] {
534         width: auto;
535         height: auto;
536         padding: 0;
537         margin: 3px 0;
538         *margin-top: 0;
539         /* IE6-7 */
540
541         line-height: normal;
542         border: none;
543 }
544
545 input[type=file] {
546         background-color: #fff;
547         padding: initial;
548         border: initial;
549         line-height: initial;
550         box-shadow: none;
551         width: auto !important;
552 }
553
554 input[type=button], input[type=reset], input[type=submit] {
555         width: auto;
556         height: auto;
557 }
558
559 select[multiple] {
560         height: inherit;
561         background-color: #fff;
562 }
563
564 .td > input[type=text],
565 .td > input[type=password],
566 .td > select,
567 .td > .cbi-dropdown:not(.btn):not(.cbi-button),
568 .cbi-dynlist > .add-item > .cbi-dropdown {
569         width: 100%;
570 }
571
572 .uneditable-input {
573         background-color: #fff;
574         display: block;
575         border-color: #eee;
576         box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
577         cursor: not-allowed;
578 }
579
580 ::-moz-placeholder {
581         color: #bfbfbf;
582 }
583
584 ::-webkit-input-placeholder {
585         color: #bfbfbf;
586 }
587
588 .item::after, .btn, .cbi-button, input, button, textarea {
589         transition: border linear 0.2s, box-shadow linear 0.2s;
590         box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
591 }
592
593 .item:hover::after,
594 .btn:hover, .cbi-button:hover, button:hover,
595 input:focus, textarea:focus {
596         outline: 0;
597         border-color: rgba(82, 168, 236, 0.8) !important;
598         box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
599         text-decoration: none;
600 }
601
602 input[type=file]:focus, input[type=checkbox]:focus, select:focus {
603         box-shadow: none;
604         outline: 1px dotted #666;
605 }
606
607 input[disabled],
608 button[disabled],
609 select[disabled],
610 textarea[disabled],
611 input[readonly],
612 button[readonly],
613 select[readonly],
614 textarea[readonly] {
615         background-color: #f5f5f5;
616         border-color: #ddd;
617         pointer-events: none;
618         cursor: default;
619 }
620
621 select[readonly],
622 textarea[readonly] {
623         pointer-events: auto;
624         cursor: auto;
625 }
626
627 .cbi-optionals,
628 .cbi-section-create {
629         padding: 0 0 10px 10px;
630 }
631
632 .cbi-section-create {
633         margin: -3px;
634         display: inline-flex;
635         align-items: center;
636 }
637
638 .cbi-section-create > * {
639         margin: 3px;
640         flex: 1 1 auto;
641 }
642
643 .cbi-section-create > * > input {
644         width: 100%;
645 }
646
647 .actions,
648 .cbi-page-actions {
649         background: #f5f5f5;
650         margin-bottom: 18px;
651         padding: 17px 20px 18px 17px;
652         border-top: 1px solid #ddd;
653         border-radius: 0 0 3px 3px;
654         text-align: right;
655 }
656
657 .actions .secondary-action,
658 .cbi-page-actions .secondary-action{
659         float: right;
660 }
661
662 .actions .secondary-action a,
663 .cbi-page-actions .secondary-action a {
664         line-height: 30px;
665 }
666
667 .actions .secondary-action a:hover,
668 .cbi-page-actions .secondary-action a:hover {
669         text-decoration: underline;
670 }
671
672 .cbi-page-actions > form {
673         display: inline;
674         margin: 0;
675 }
676
677 .help-inline, .help-block {
678         font-size: 13px;
679         line-height: 18px;
680         color: #bfbfbf;
681 }
682
683 .help-inline {
684         padding-left: 5px;
685         *position: relative;
686         /* IE6-7 */
687
688         *top: -5px;
689         /* IE6-7 */
690
691 }
692
693 .help-block {
694         display: block;
695         max-width: 600px;
696 }
697
698 /*
699  * Tables.less
700  * Tables for, you guessed it, tabular data
701  * ---------------------------------------- */
702 .tr { display: table-row; }
703 .table[width="33%"], .th[width="33%"], .td[width="33%"] { width: 33%; }
704 .table[width="100%"], .th[width="100%"], .td[width="100%"] { width: 100%; }
705
706 .table {
707         display: table;
708         width: 100%;
709         margin-bottom: 18px;
710         padding: 0;
711         font-size: 13px;
712         border-collapse: collapse;
713         position: relative;
714 }
715
716 .table .th, .table .td {
717         display: table-cell;
718         vertical-align: middle; /* Fixme */
719         padding: 10px 10px 9px;
720         line-height: 18px;
721         text-align: left;
722 }
723
724 .table .tr:first-child .th {
725         padding-top: 9px;
726         font-weight: bold;
727         vertical-align: top;
728 }
729
730 .table .td, .table .th {
731         border-top: 1px solid #ddd;
732 }
733
734 .tr.placeholder {
735         height: calc(3em + 20px);
736 }
737
738 .tr.placeholder > .td {
739         position: absolute;
740         left: 0;
741         right: 0;
742         bottom: 0;
743         text-align: center;
744         line-height: 3em;
745 }
746
747 .tr.drag-over-above,
748 .tr.drag-over-below {
749         border: 2px solid #0069d6;
750         border-width: 2px 0 0 0;
751 }
752
753 .tr.drag-over-below {
754         border-width: 0 0 2px 0;
755 }
756
757 /* Patterns.less
758  * Repeatable UI elements outside the base styles provided from the scaffolding
759  * ---------------------------------------------------------------------------- */
760 header {
761         position: fixed;
762         top: 0;
763         left: 0;
764         right: 0;
765         z-index: 800;
766         overflow: visible;
767         color: #BFBFBF;
768 }
769
770 header a {
771         color: #bfbfbf;
772         text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
773 }
774
775 header h3 a:hover, header .brand:hover, header ul .active > a {
776         background-color: #333;
777         background-color: rgba(255, 255, 255, 0.05);
778         color: #fff;
779         text-decoration: none;
780 }
781
782 header h3 {
783         position: relative;
784 }
785
786 header h3 a, header .brand {
787         float: left;
788         display: block;
789         padding: 8px 20px 12px;
790         margin-left: -20px;
791         color: #fff;
792         font-size: 20px;
793         font-weight: 200;
794         line-height: 1;
795 }
796
797 header p {
798         margin: 0;
799         line-height: 40px;
800 }
801
802 header .fill {
803         background-color: #222;
804         background-repeat: repeat-x;
805         background-image: linear-gradient(to bottom, #333333, #222222);
806         box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
807         padding: 0 5px;
808 }
809
810 header div > ul, .nav {
811         display: block;
812         float: left;
813         margin: 0 10px 0 0;
814         position: relative;
815         left: 0;
816 }
817
818 header div > ul > li, .nav > li {
819         display: block;
820         float: left;
821 }
822
823 header div > ul a, .nav a {
824         display: block;
825         float: none;
826         padding: 10px 10px 11px;
827         line-height: 19px;
828         text-decoration: none;
829 }
830
831 header div > ul a:hover, .nav a:hover {
832         color: #fff;
833         text-decoration: none;
834 }
835
836 header div > ul .active > a, .nav .active > a {
837         background-color: #222;
838         background-color: rgba(0, 0, 0, 0.5);
839 }
840
841 header div > ul.secondary-nav, .nav.secondary-nav {
842         float: right;
843         margin-left: 10px;
844         margin-right: 0;
845 }
846
847 header div > ul.secondary-nav .menu-dropdown,
848 .nav.secondary-nav .menu-dropdown,
849 header div > ul.secondary-nav .dropdown-menu,
850 .nav.secondary-nav .dropdown-menu {
851         right: 0;
852         border: 0;
853 }
854
855 header div > ul a.menu:hover,
856 .nav a.menu:hover,
857 header div > ul li.open .menu,
858 .nav li.open .menu,
859 header div > ul .dropdown-toggle:hover,
860 .nav .dropdown-toggle:hover,
861 header div > ul .dropdown.open .dropdown-toggle,
862 .nav .dropdown.open .dropdown-toggle {
863         background: #444;
864         background: rgba(255, 255, 255, 0.05);
865 }
866
867 header div > ul .menu-dropdown,
868 .nav .menu-dropdown,
869 header div > ul .dropdown-menu,
870 .nav .dropdown-menu {
871         background-color: #333;
872 }
873
874 header div > ul .menu-dropdown a.menu,
875 .nav .menu-dropdown a.menu,
876 header div > ul .dropdown-menu a.menu,
877 .nav .dropdown-menu a.menu,
878 header div > ul .menu-dropdown .dropdown-toggle,
879 .nav .menu-dropdown .dropdown-toggle,
880 header div > ul .dropdown-menu .dropdown-toggle,
881 .nav .dropdown-menu .dropdown-toggle {
882         color: #fff;
883 }
884
885 header div > ul .menu-dropdown a.menu.open,
886 .nav .menu-dropdown a.menu.open,
887 header div > ul .dropdown-menu a.menu.open,
888 .nav .dropdown-menu a.menu.open,
889 header div > ul .menu-dropdown .dropdown-toggle.open,
890 .nav .menu-dropdown .dropdown-toggle.open,
891 header div > ul .dropdown-menu .dropdown-toggle.open,
892 .nav .dropdown-menu .dropdown-toggle.open {
893         background: #444;
894         background: rgba(255, 255, 255, 0.05);
895 }
896
897 header div > ul .menu-dropdown li a,
898 .nav .menu-dropdown li a,
899 header div > ul .dropdown-menu li a,
900 .nav .dropdown-menu li a {
901         color: #999;
902         text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
903 }
904
905 header div > ul .menu-dropdown li a:hover,
906 .nav .menu-dropdown li a:hover,
907 header div > ul .dropdown-menu li a:hover,
908 .nav .dropdown-menu li a:hover {
909         background-color: #191919;
910         background-repeat: repeat-x;
911         background-image: linear-gradient(to bottom, #292929, #191919);
912         color: #fff;
913 }
914
915 header div > ul .menu-dropdown .active a,
916 .nav .menu-dropdown .active a,
917 header div > ul .dropdown-menu .active a,
918 .nav .dropdown-menu .active a {
919         color: #fff;
920 }
921
922 header div > ul .menu-dropdown .divider,
923 .nav .menu-dropdown .divider,
924 header div > ul .dropdown-menu .divider,
925 .nav .dropdown-menu .divider {
926         background-color: #222;
927         border-color: #444;
928 }
929
930 header ul .menu-dropdown li a, header ul .dropdown-menu li a {
931         padding: 4px 15px;
932 }
933
934 li.menu, .dropdown {
935         position: relative;
936 }
937
938 a.menu:after, .dropdown-toggle:after {
939         width: 0;
940         height: 0;
941         display: inline-block;
942         content: "&darr;";
943         text-indent: -99999px;
944         vertical-align: top;
945         margin-top: 8px;
946         margin-left: 4px;
947         border-left: 4px solid transparent;
948         border-right: 4px solid transparent;
949         border-top: 4px solid #fff;
950         opacity: 0.5;
951 }
952
953 .menu-dropdown, .dropdown-menu {
954         background-color: #fff;
955         float: left;
956         position: absolute;
957         top: 40px;
958         left: -9999px;
959         z-index: 900;
960         min-width: 160px;
961         max-width: 220px;
962         _width: 160px;
963         margin-left: 0;
964         margin-right: 0;
965         padding: 6px 0;
966         zoom: 1;
967         border-color: #999;
968         border-color: rgba(0, 0, 0, 0.2);
969         border-style: solid;
970         border-width: 0 1px 1px;
971         border-radius: 0 0 6px 6px;
972         box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
973         background-clip: padding-box;
974 }
975
976 .menu-dropdown li, .dropdown-menu li {
977         float: none;
978         display: block;
979         background-color: transparent;
980 }
981
982 .menu-dropdown .divider, .dropdown-menu .divider {
983         height: 1px;
984         margin: 5px 0;
985         overflow: hidden;
986         background-color: #eee;
987         border-bottom: 1px solid #fff;
988 }
989
990 header .dropdown-menu a, .dropdown-menu a {
991         display: block;
992         padding: 4px 15px;
993         clear: both;
994         font-weight: normal;
995         line-height: 18px;
996         color: #808080;
997         text-shadow: 0 1px 0 #fff;
998 }
999
1000 header .dropdown-menu a:hover,
1001 .dropdown-menu a:hover,
1002 header .dropdown-menu a.hover,
1003 .dropdown-menu a.hover {
1004         background-color: #ddd;
1005         background-repeat: repeat-x;
1006         background-image: linear-gradient(to bottom, #eee, #ddd);
1007         color: #404040;
1008         text-decoration: none;
1009         box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
1010 }
1011
1012 .open .menu,
1013 .dropdown.open .menu,
1014 .open .dropdown-toggle,
1015 .dropdown.open .dropdown-toggle {
1016         color: #fff;
1017         background: #ccc;
1018         background: rgba(0, 0, 0, 0.3);
1019 }
1020
1021 .open .menu-dropdown,
1022 .dropdown.open .menu-dropdown,
1023 .open .dropdown-menu,
1024 .dropdown.open .dropdown-menu {
1025         left: 0;
1026 }
1027
1028 .dropdown:hover ul.dropdown-menu {
1029         left: 0;
1030 }
1031
1032 .dropdown-menu .dropdown-menu {
1033           position: absolute;
1034           left: 159px;
1035 }
1036
1037 .dropdown-menu li {
1038           position: relative;
1039 }
1040
1041 .tabs, .cbi-tabmenu {
1042         margin: 0 -5px 18px;
1043         padding: 0 2px;
1044         list-style: none;
1045         display: flex;
1046         flex-wrap: wrap;
1047         background: linear-gradient(#fff 28px, #ddd 28px);
1048         background-size: 1px 29px;
1049         background-position: left bottom;
1050 }
1051
1052 .tabs > li, .cbi-tabmenu > li {
1053         flex: 0 1 auto;
1054         display: flex;
1055         align-items: center;
1056         height: 25px;
1057         max-width: 48%;
1058         margin: 4px 2px 0 2px;
1059         background: #fff;
1060         border: 1px solid #ddd;
1061         border-bottom: none;
1062         border-radius: 4px 4px 0 0;
1063         color: #0069d6;
1064 }
1065
1066 .tabs > li > a, .cbi-tabmenu > li > a {
1067         padding: 4px 6px;
1068         white-space: nowrap;
1069         overflow: hidden;
1070         text-overflow: ellipsis;
1071         color: inherit;
1072         text-decoration: none;
1073         border-radius: 4px 4px 0 0;
1074         line-height: 25px;
1075         outline: none;
1076 }
1077
1078 .tabs > li:not(.active):hover, .cbi-tabmenu > .cbi-tab-disabled:hover {
1079         background: linear-gradient(#fff 90%, #ddd 100%);
1080 }
1081
1082 .tabs > li:not(.active), .cbi-tabmenu > .cbi-tab-disabled {
1083         color: #999;
1084         background: linear-gradient(#eee 90%, #ddd 100%);
1085 }
1086
1087 .cbi-tab-disabled[data-errors]::after {
1088         content: attr(data-errors);
1089         background: #c43c35;
1090         color: #fff;
1091         min-width: 12px;
1092         line-height: 14px;
1093         border-radius: 7px;
1094         text-align: center;
1095         margin: 0 5px 0 0;
1096         padding: 1px 2px;
1097 }
1098
1099 .cbi-tabmenu.map {
1100         margin: 0;
1101 }
1102
1103 .cbi-tabmenu.map > li {
1104         font-size: 16.5px;
1105         font-weight: bold;
1106 }
1107
1108 .cbi-tabcontainer > fieldset.cbi-section[id] > legend {
1109         display: none;
1110 }
1111
1112 .tabs .menu-dropdown, .tabs .dropdown-menu {
1113         top: 35px;
1114         border-width: 1px;
1115         border-radius: 0 6px 6px 6px;
1116 }
1117
1118 .tabs a.menu:after, .tabs .dropdown-toggle:after {
1119         border-top-color: #999;
1120         margin-top: 15px;
1121         margin-left: 5px;
1122 }
1123
1124 .tabs li.open.menu .menu, .tabs .open.dropdown .dropdown-toggle {
1125         border-color: #999;
1126 }
1127
1128 .tabs li.open a.menu:after, .tabs .dropdown.open .dropdown-toggle:after {
1129         border-top-color: #555;
1130 }
1131
1132 .tab-content > .tab-pane,
1133 .tab-content > div {
1134         display: none;
1135 }
1136
1137 .tab-content > .active {
1138         display: block;
1139 }
1140
1141 .breadcrumb {
1142         padding: 7px 14px;
1143         margin: 0 0 18px;
1144         background-color: #f5f5f5;
1145         background-repeat: repeat-x;
1146         background-image: linear-gradient(to bottom, #fff, #f5f5f5);
1147         border: 1px solid #ddd;
1148         border-radius: 3px;
1149         box-shadow: inset 0 1px 0 #fff;
1150 }
1151
1152 .breadcrumb li {
1153         display: inline;
1154         text-shadow: 0 1px 0 #fff;
1155 }
1156
1157 .breadcrumb .divider {
1158         padding: 0 5px;
1159         color: #bfbfbf;
1160 }
1161
1162 .breadcrumb .active a {
1163         color: #404040;
1164 }
1165
1166 footer {
1167         margin-top: 17px;
1168         padding-top: 17px;
1169         border-top: 1px solid #eee;
1170 }
1171
1172 #modal_overlay {
1173         position: fixed;
1174         top: 0;
1175         bottom: 0;
1176         left: -10000px;
1177         right: 10000px;
1178         background: rgba(0, 0, 0, 0.7);
1179         z-index: 900;
1180         overflow-y: scroll;
1181         -webkit-overflow-scrolling: touch;
1182         transition: opacity .125s ease-in;
1183         opacity: 0;
1184         visibility: hidden;
1185 }
1186
1187 .modal {
1188         width: 90%;
1189         margin: 5em auto;
1190         display: flex;
1191         flex-wrap: wrap;
1192         min-height: 32px;
1193         max-width: 600px;
1194         align-items: center;
1195         border-radius: 3px;
1196         background: #fff;
1197         box-shadow: 0 0 3px #444;
1198         padding: 1em 1em .5em 1em;
1199         min-width: 270px;
1200 }
1201
1202 .modal > * {
1203         flex-basis: 100%;
1204         line-height: normal;
1205         margin-bottom: .5em;
1206         max-width: 100%;
1207 }
1208
1209 .modal > pre,
1210 .modal > textarea {
1211         white-space: pre-wrap;
1212         overflow: auto;
1213 }
1214
1215 body.modal-overlay-active {
1216         overflow: hidden;
1217         height: 100vh;
1218 }
1219
1220 body.modal-overlay-active #modal_overlay {
1221         left: 0;
1222         right: 0;
1223         opacity: 1;
1224         visibility: visible;
1225 }
1226
1227 .btn.danger,
1228 .alert-message.danger,
1229 .btn.danger:hover,
1230 .alert-message.danger:hover,
1231 .btn.error,
1232 .alert-message.error,
1233 .btn.error:hover,
1234 .alert-message.error:hover,
1235 .btn.success,
1236 .alert-message.success,
1237 .btn.success:hover,
1238 .alert-message.success:hover,
1239 .btn.info,
1240 .alert-message.info,
1241 .btn.info:hover,
1242 .alert-message.info:hover,
1243 .cbi-tooltip.error, .cbi-tooltip.success, .cbi-tooltip.info {
1244         color: #fff;
1245 }
1246
1247 .btn .close, .alert-message .close {
1248         font-family: Arial, sans-serif;
1249         line-height: 18px;
1250 }
1251
1252 .btn.danger,
1253 .alert-message.danger,
1254 .btn.error,
1255 .alert-message.error,
1256 .cbi-tooltip.error {
1257         background: linear-gradient(to bottom, #ee5f5b, #c43c35) repeat-x;
1258         text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1259         border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
1260 }
1261
1262 .btn.success, .alert-message.success, .cbi-tooltip.success {
1263         background: linear-gradient(to bottom, #62c462, #57a957) repeat-x;
1264         text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1265         border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
1266 }
1267
1268 .btn.info, .alert-message.info, .cbi-tooltip.info {
1269         background: linear-gradient(to bottom, #5bc0de, #339bb9) repeat-x;
1270         text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1271         border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
1272 }
1273
1274 .alert-message.notice, .cbi-tooltip.notice {
1275         background: linear-gradient(to bottom, #efefef, #fefefe) repeat-x;
1276         text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.25);
1277         border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
1278 }
1279
1280 .item::after,
1281 .btn,
1282 .cbi-button {
1283         cursor: pointer;
1284         display: inline-block;
1285         background: linear-gradient(#fff, #fff 25%, #e6e6e6) no-repeat;
1286         padding: 5px 14px 6px;
1287         text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
1288         color: #333;
1289         font-size: 13px;
1290         line-height: normal;
1291         border: 1px solid #ccc;
1292         border-bottom-color: #bbb;
1293         border-radius: 4px;
1294         box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1295 }
1296
1297 .btn:focus,
1298 .cbi-button:focus {
1299         outline: 1px dotted #666;
1300 }
1301
1302 .cbi-input-invalid,
1303 .cbi-input-invalid.cbi-dropdown:not(.btn):not(.cbi-button),
1304 .cbi-input-invalid.cbi-dropdown:not([open]) > ul > li,
1305 .cbi-value-error input {
1306         color: #f00;
1307         border-color: #f00;
1308 }
1309
1310 .cbi-button-positive,
1311 .cbi-button-fieldadd,
1312 .cbi-button-add,
1313 .cbi-button-save {
1314         border-color: #4a4;
1315         color: #4a4;
1316 }
1317
1318 .cbi-button-neutral,
1319 .cbi-button-download,
1320 .cbi-button-find,
1321 .cbi-button-link,
1322 .cbi-button-up,
1323 .cbi-button-down {
1324         color: #444;
1325 }
1326
1327 .btn.primary,
1328 .cbi-button-action,
1329 .cbi-button-apply,
1330 .cbi-button-reload,
1331 .cbi-button-edit {
1332         border-color: #0069d6;
1333         color: #0069d6;
1334 }
1335
1336 .cbi-button-negative,
1337 .cbi-section-remove .cbi-button,
1338 .cbi-button-reset,
1339 .cbi-button-remove {
1340         border-color: #c44;
1341         color: #c44;
1342 }
1343
1344 .cbi-page-actions::after {
1345         display: table;
1346         content: "";
1347         clear: both;
1348 }
1349
1350 .cbi-page-actions > * {
1351         vertical-align: middle;
1352 }
1353
1354 .cbi-page-actions > :not([method="post"]):not(.cbi-button-apply):not(.cbi-button-negative):not(.cbi-button-save):not(.cbi-button-reset) {
1355         float: left;
1356         margin-right: .4em;
1357 }
1358
1359 .btn.primary,
1360 .cbi-button-action.important,
1361 .cbi-page-actions .cbi-button-apply,
1362 .cbi-section-actions .cbi-button-edit {
1363         color: #fff;
1364         background: linear-gradient(to bottom, #0069d6, #0049d6) no-repeat;
1365         text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1366 }
1367
1368 .cbi-button-positive.important,
1369 .cbi-page-actions .cbi-button-save {
1370         color: #fff;
1371         background: linear-gradient(to bottom, #4a4, #484) no-repeat;
1372         text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1373 }
1374
1375 .cbi-button-negative.important {
1376         color: #fff;
1377         background: linear-gradient(to bottom, #c44, #c00) no-repeat;
1378         text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1379 }
1380
1381 .cbi-page-actions .cbi-button-apply + .cbi-button-save,
1382 .cbi-page-actions .cbi-button-negative + .cbi-button-save {
1383         background: linear-gradient(#fff, #fff 25%, #e6e6e6);
1384         text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.75);
1385         color: #4a4;
1386 }
1387
1388 .cbi-dropdown {
1389         display: inline-flex !important;
1390         cursor: pointer;
1391         height: auto;
1392         position: relative;
1393         padding: 0 !important;
1394 }
1395
1396 .cbi-dropdown:not(.btn):not(.cbi-button) {
1397         background: linear-gradient(#fff 0%, #e9e8e6 100%);
1398         border: 1px solid #ccc;
1399         border-radius: 3px;
1400         color: #404040;
1401 }
1402
1403 .cbi-dynlist > .item:focus,
1404 .cbi-dropdown:focus {
1405         outline: 2px solid #4b6e9b;
1406 }
1407
1408 .cbi-dropdown > ul {
1409         margin: 0 !important;
1410         padding: 0;
1411         list-style: none;
1412         overflow-x: hidden;
1413         overflow-y: auto;
1414         display: flex;
1415         width: 100%;
1416 }
1417
1418 .cbi-dropdown.btn > ul:not(.dropdown),
1419 .cbi-dropdown.cbi-button > ul:not(.dropdown) {
1420         margin: 0 0 0 13px !important;
1421 }
1422
1423 .cbi-dropdown.btn.spinning > ul:not(.dropdown),
1424 .cbi-dropdown.cbi-button.spinning > ul:not(.dropdown) {
1425         margin: 0 !important;
1426 }
1427
1428 .cbi-dropdown > ul.preview {
1429         display: none;
1430 }
1431
1432 .cbi-dropdown > .open,
1433 .cbi-dropdown > .more {
1434         flex-grow: 0;
1435         flex-shrink: 0;
1436         display: flex;
1437         flex-direction: column;
1438         justify-content: center;
1439         text-align: center;
1440         line-height: 2em;
1441         padding: 0 .25em;
1442 }
1443
1444 .cbi-dropdown.btn > .open,
1445 .cbi-dropdown.cbi-button > .open {
1446         padding: 0 .5em;
1447         margin-left: .5em;
1448         border-left: 1px solid;
1449 }
1450
1451 .cbi-dropdown > .more,
1452 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li[placeholder] {
1453         color: #777;
1454         font-weight: bold;
1455         text-shadow: 1px 1px 0px #fff;
1456         display: none;
1457         justify-content: center;
1458 }
1459
1460 .cbi-dropdown > ul > li {
1461         display: none;
1462         white-space: nowrap;
1463         overflow: hidden;
1464         text-overflow: ellipsis;
1465         flex-shrink: 1;
1466         flex-grow: 1;
1467         align-items: center;
1468         align-self: center;
1469         color: inherit;
1470 }
1471
1472 .cbi-dropdown > ul.dropdown > li,
1473 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li {
1474         min-height: 20px;
1475         padding: .25em;
1476         color: #404040;
1477 }
1478
1479 .cbi-dropdown > ul > li .hide-open { display: block; display: initial; }
1480 .cbi-dropdown > ul > li .hide-close { display: none; }
1481
1482 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1483         border-left: 1px solid #ccc;
1484 }
1485
1486 .cbi-dropdown[empty] > ul {
1487         max-width: 1px;
1488 }
1489
1490 .cbi-dropdown > ul > li > form {
1491         display: none;
1492         margin: 0;
1493         padding: 0;
1494         pointer-events: none;
1495 }
1496
1497 .cbi-dropdown > ul > li img {
1498         vertical-align: middle;
1499         margin-right: .25em;
1500 }
1501
1502 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1503         margin: 0;
1504 }
1505
1506 .cbi-dropdown > ul > li input[type="text"] {
1507         height: 20px;
1508 }
1509
1510 .cbi-dropdown[open] {
1511         position: relative;
1512 }
1513
1514 .cbi-dropdown[open] > ul.dropdown {
1515         display: block;
1516         background: #f6f6f5;
1517         border: 1px solid #918e8c;
1518         box-shadow: 0 0 4px #918e8c;
1519         position: absolute;
1520         z-index: 1100;
1521         max-width: none;
1522         min-width: 100%;
1523         width: auto;
1524         transition: max-height .125s ease-in;
1525 }
1526
1527 .cbi-dropdown > ul > li[display],
1528 .cbi-dropdown[open] > ul.preview,
1529 .cbi-dropdown[open] > ul.dropdown > li,
1530 .cbi-dropdown[multiple] > ul > li > label,
1531 .cbi-dropdown[multiple][open] > ul.dropdown > li,
1532 .cbi-dropdown[multiple][more] > .more,
1533 .cbi-dropdown[multiple][empty] > .more {
1534         flex-grow: 1;
1535         display: flex !important;
1536 }
1537
1538 .cbi-dropdown[empty] > ul > li,
1539 .cbi-dropdown[optional][open] > ul.dropdown > li[placeholder],
1540 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1541         display: block !important;
1542 }
1543
1544 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none; }
1545 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: block; display: initial; }
1546
1547 .cbi-dropdown[open] > ul.dropdown > li {
1548         border-bottom: 1px solid #ccc;
1549 }
1550
1551 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1552         background: #b0d0f0;
1553 }
1554
1555 .cbi-dropdown[open] > ul.dropdown > li.focus {
1556         background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%);
1557 }
1558
1559 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1560         margin-bottom: 0;
1561         border-bottom: none;
1562 }
1563
1564 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1565         opacity: 0.7;
1566 }
1567
1568 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1569         width: 100%;
1570 }
1571
1572 .cbi-dropdown[disabled] {
1573         pointer-events: none;
1574         opacity: .6;
1575 }
1576
1577 input[type="text"] + .cbi-button,
1578 input[type="password"] + .cbi-button,
1579 select + .cbi-button {
1580         border-radius: 0 3px 3px 0;
1581         border-color: #ccc;
1582         margin-left: -2px;
1583         padding: 0 6px;
1584         vertical-align: top;
1585         height: 30px;
1586         font-size: 14px;
1587         line-height: 28px;
1588 }
1589
1590 select + .cbi-button {
1591         border-left-color: transparent;
1592 }
1593
1594 .cbi-title-ref {
1595         color: #37c;
1596 }
1597
1598 .cbi-title-ref::after {
1599         content: "âž™";
1600 }
1601
1602 .cbi-tooltip-container {
1603         cursor: help;
1604 }
1605
1606 .cbi-tooltip {
1607         position: absolute;
1608         z-index: 1000;
1609         left: -10000px;
1610         box-shadow: 0 0 2px #ccc;
1611         border-radius: 3px;
1612         background: #fff;
1613         white-space: pre;
1614         padding: 2px 5px;
1615         opacity: 0;
1616         transition: opacity .25s ease-in;
1617 }
1618
1619 .cbi-tooltip-container:hover .cbi-tooltip:not(:empty) {
1620         left: auto;
1621         opacity: 1;
1622         transition: opacity .25s ease-in;
1623 }
1624
1625 .cbi-progressbar {
1626         border: 1px solid #ccc;
1627         border-radius: 3px;
1628         position: relative;
1629         min-width: 170px;
1630         height: 20px;
1631         margin: 4px 0;
1632         background: #f9f9f9;
1633 }
1634
1635 .cbi-progressbar > div {
1636         background: #90c0e0;
1637         height: 100%;
1638         transition: width .25s ease-in;
1639         width: 0%;
1640 }
1641
1642 .cbi-progressbar::after {
1643         position: absolute;
1644         bottom: 0;
1645         top: 0;
1646         right: 0;
1647         left: 0;
1648         text-align: center;
1649         text-shadow: 0 0 2px #fff;
1650         content: attr(title);
1651         white-space: pre;
1652         overflow: hidden;
1653         text-overflow: ellipsis;
1654 }
1655
1656 .zonebadge .cbi-tooltip {
1657         padding: 1px;
1658         background: inherit;
1659         margin: -1.6em 0 0 -5px;
1660         border-radius: 3px;
1661         pointer-events: none;
1662         box-shadow: 0 0 3px #444;
1663 }
1664
1665 .zonebadge .cbi-tooltip > * {
1666         margin: 1px;
1667 }
1668
1669 .zone-forwards {
1670         display: flex;
1671         flex-wrap: wrap;
1672 }
1673
1674 .zone-forwards > * {
1675         flex: 1 1 40%;
1676         padding: 1px;
1677 }
1678
1679 .zone-forwards > span {
1680         flex-basis: 10%;
1681         text-align: center;
1682 }
1683
1684 .zone-forwards .zone-src,
1685 .zone-forwards .zone-dest {
1686         display: flex;
1687         flex-direction: column;
1688 }
1689
1690 .btn.active, .btn:active {
1691         box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
1692 }
1693
1694 .btn.disabled {
1695         cursor: default;
1696         opacity: 0.65;
1697         box-shadow: none;
1698 }
1699
1700 .btn[disabled] {
1701         cursor: default;
1702         opacity: 0.65;
1703         box-shadow: none;
1704 }
1705
1706 .btn.large {
1707         font-size: 15px;
1708         line-height: normal;
1709         padding: 9px 14px 9px;
1710         border-radius: 6px;
1711 }
1712
1713 .btn.small {
1714         padding: 7px 9px 7px;
1715         font-size: 11px;
1716 }
1717
1718 button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner {
1719         padding: 0;
1720         border: 0;
1721 }
1722
1723 .close {
1724         float: right;
1725         color: #000;
1726         font-size: 20px;
1727         font-weight: bold;
1728         line-height: 13.5px;
1729         text-shadow: 0 1px 0 #fff;
1730         opacity: 0.25;
1731 }
1732
1733 .close:hover {
1734         color: #000;
1735         text-decoration: none;
1736         opacity: 0.4;
1737 }
1738
1739 .alert-message {
1740         position: relative;
1741         padding: .5em .5em .25em .5em;
1742         margin-bottom: .5em;
1743         color: #404040;
1744         background: linear-gradient(to bottom, #fceec1, #eedc94) repeat-x;
1745         text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1746         border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
1747         text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
1748         border-width: 1px;
1749         border-style: solid;
1750         border-radius: 4px;
1751         box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
1752 }
1753
1754 .alert-message .close {
1755         margin-top: 1px;
1756         *margin-top: 0;
1757 }
1758
1759 .alert-message h4,
1760 .alert-message h5,
1761 .alert-message pre,
1762 .alert-message ul,
1763 .alert-message li,
1764 .alert-message p {
1765         color: inherit;
1766         border: none;
1767         line-height: inherit;
1768         background: transparent;
1769         padding: 0;
1770         margin: .25em 0;
1771 }
1772
1773 .alert-message button {
1774         margin: .25em 0;
1775 }
1776
1777 .label {
1778         padding: 1px 3px 2px;
1779         font-size: 9.75px;
1780         font-weight: bold;
1781         color: #fff !important;
1782         text-transform: uppercase;
1783         white-space: nowrap;
1784         background-color: #bfbfbf;
1785         border-radius: 3px;
1786         text-shadow: none;
1787 }
1788
1789 a.label:link,
1790 a.label:visited {
1791         color: #fff;
1792 }
1793
1794 a.label:hover {
1795         text-decoration: none;
1796 }
1797
1798 .label.important {
1799         background-color: #c43c35;
1800 }
1801
1802 .label.warning {
1803         background-color: #f89406;
1804 }
1805
1806 .label.success {
1807         background-color: #46a546;
1808 }
1809
1810 .label.notice {
1811         background-color: #62cffc;
1812 }
1813
1814 /* LuCI specific items */
1815 .hidden { display: none }
1816
1817 #xhr_poll_status {
1818           cursor: pointer;
1819 }
1820
1821 form.inline { display: inline; margin-bottom: 0; }
1822
1823 header .pull-right { padding-top: 8px; }
1824
1825 #modemenu li:last-child span.divider { display: none }
1826
1827 #syslog {  width: 100%; }
1828
1829 .cbi-section-table .tr:hover .td,
1830 .cbi-section-table .tr:hover .th,
1831 .cbi-section-table .tr:hover::before {
1832         background-color: #f5f5f5;
1833 }
1834
1835 .cbi-section-table .tr.cbi-section-table-descr .th {
1836         font-weight: normal;
1837 }
1838
1839 .cbi-section-table-titles.named::before,
1840 .cbi-section-table-descr.named::before,
1841 .cbi-section-table-row[data-title]::before {
1842         content: attr(data-title) " ";
1843         display: table-cell;
1844         padding: 10px 10px 9px;
1845         line-height: 18px;
1846         font-weight: bold;
1847         vertical-align: middle;
1848 }
1849
1850 .cbi-section-table-titles.named::before,
1851 .cbi-section-table-descr.named::before,
1852 .cbi-section-table-row[data-title]::before {
1853         border-top: 1px solid #ddd;
1854 }
1855
1856 .left { text-align: left !important; }
1857 .right { text-align: right !important; }
1858 .center { text-align: center !important; }
1859 .top { vertical-align: top !important; }
1860 .middle { vertical-align: middle !important; }
1861 .bottom { vertical-align: bottom !important; }
1862
1863 .cbi-value-field { line-height: 1.5em; }
1864
1865 .cbi-value-field input[type=checkbox],
1866 .cbi-value-field input[type=radio] {
1867         margin-top: 8px;
1868         margin-right: 6px;
1869 }
1870
1871 table table td,
1872 .cbi-value-field table td {
1873         border: none;
1874 }
1875
1876 .table.cbi-section-table input[type="password"],
1877 .table.cbi-section-table input[type="text"],
1878 .table.cbi-section-table textarea,
1879 .table.cbi-section-table select {
1880         width: 100%;
1881 }
1882
1883 .table.cbi-section-table .td.cbi-section-table-cell {
1884         white-space: nowrap;
1885         text-align: right;
1886 }
1887
1888 .table.cbi-section-table .td.cbi-section-table-cell select {
1889         width: inherit;
1890 }
1891
1892 .td.cbi-section-actions {
1893         text-align: right;
1894         vertical-align: middle;
1895 }
1896
1897 .td.cbi-section-actions > * {
1898         display: flex;
1899 }
1900
1901 .td.cbi-section-actions > * > *,
1902 .td.cbi-section-actions > * > form > * {
1903         flex: 1 1 4em;
1904         margin: 0 1px;
1905 }
1906
1907 .td.cbi-section-actions > * > form {
1908         display: inline-flex;
1909         margin: 0;
1910 }
1911
1912 .table.valign-middle .td {
1913         vertical-align: middle;
1914 }
1915
1916 .cbi-rowstyle-2,
1917 .tr.table-titles,
1918 .tr.cbi-section-table-titles {
1919         background: #f9f9f9;
1920 }
1921
1922 .cbi-value-description {
1923         background-image: url(/luci-static/resources/cbi/help.gif);
1924         background-position: .25em .2em;
1925         background-repeat: no-repeat;
1926         margin: .25em 0 0 0;
1927         padding: 0 0 0 1.7em;
1928 }
1929
1930 .cbi-section-error {
1931         border: 1px solid #f00;
1932         border-radius: 3px;
1933         background-color: #fce6e6;
1934         padding: 5px;
1935         margin-bottom: 18px;
1936 }
1937
1938 .cbi-section-error ul { margin: 0 0 0 20px; }
1939
1940 .cbi-section-error ul li {
1941         color: #f00;
1942         font-weight: bold;
1943 }
1944
1945 .ifacebox {
1946         background-color: #fff;
1947         border: 1px solid #ccc;
1948         margin: 0 10px;
1949         text-align: center;
1950         white-space: nowrap;
1951         background-image: linear-gradient(#fff, #fff 25%, #f9f9f9);
1952         text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
1953         border-radius: 4px;
1954         box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1955         display: inline-flex;
1956         flex-direction: column;
1957         line-height: 1.2em;
1958         min-width: 100px;
1959 }
1960
1961 .ifacebox .ifacebox-head {
1962         border-bottom: 1px solid #ccc;
1963         padding: 2px;
1964         background: #eee;
1965 }
1966
1967 .ifacebox .ifacebox-head.active {
1968         background: #90c0e0;
1969 }
1970
1971 .ifacebox .ifacebox-body {
1972         padding: .25em;
1973 }
1974
1975 .ifacebadge {
1976         display: inline-block;
1977         flex-direction: row;
1978         white-space: nowrap;
1979         background-color: #fff;
1980         border: 1px solid #ccc;
1981         padding: 2px;
1982         background-image: linear-gradient(#fff, #fff 25%, #f9f9f9);
1983         text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
1984         border-radius: 4px;
1985         box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1986         cursor: default;
1987         line-height: 1.2em;
1988 }
1989
1990 .ifacebadge img {
1991         width: 16px;
1992         height: 16px;
1993         vertical-align: middle;
1994 }
1995
1996 .ifacebadge-active {
1997         border-color: #000;
1998         font-weight: bold;
1999 }
2000
2001 .network-status-table {
2002         display: flex;
2003         flex-wrap: wrap;
2004 }
2005
2006 .network-status-table .ifacebox {
2007         margin: .5em;
2008         flex-grow: 1;
2009 }
2010
2011 .network-status-table .ifacebox-body {
2012         display: flex;
2013         flex-direction: column;
2014         height: 100%;
2015         text-align: left;
2016 }
2017
2018 .network-status-table .ifacebox-body > * {
2019         margin: .25em;
2020 }
2021
2022 .network-status-table .ifacebox-body > span {
2023         flex: 10 10 auto;
2024         height: 100%;
2025 }
2026
2027 .network-status-table .ifacebox-body > div {
2028         margin: -.125em;
2029         display: flex;
2030         flex-wrap: wrap;
2031 }
2032
2033 #dsl_status_table .ifacebox-body span > strong {
2034         display: inline-block;
2035         min-width: 35%;
2036 }
2037
2038 .ifacebadge.large,
2039 .network-status-table .ifacebox-body .ifacebadge {
2040         display: flex;
2041         flex: 1;
2042         padding: .25em;
2043         min-width: 220px;
2044         margin: .125em;
2045 }
2046
2047 .ifacebadge.large {
2048         display: inline-flex;
2049 }
2050
2051 .network-status-table .ifacebox-body .ifacebadge > span {
2052         overflow: hidden;
2053         text-overflow: ellipsis;
2054 }
2055
2056 .ifacebadge > *,
2057 .ifacebadge.large > * {
2058         margin: 0 .125em;
2059 }
2060
2061 .zonebadge {
2062         padding: 2px;
2063         border-radius: 4px;
2064         display: inline-block;
2065         white-space: nowrap;
2066         color: #666;
2067         text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
2068 }
2069
2070 .zonebadge > em,
2071 .zonebadge > strong {
2072         margin: 0 2px;
2073         display: inline-block;
2074 }
2075
2076 .zonebadge input {
2077         width: 6em;
2078 }
2079
2080 .zonebadge > .ifacebadge {
2081         margin-left: 2px;
2082 }
2083
2084 .zonebadge-empty {
2085         border: 1px dashed #aaa;
2086         color: #aaa;
2087         font-style: italic;
2088         font-size: smaller;
2089 }
2090
2091 div.cbi-value var,
2092 .td.cbi-value-field var {
2093         font-style: italic;
2094         color: #0069d6;
2095 }
2096
2097 div.cbi-value var[data-tooltip],
2098 .td.cbi-value-field var[data-tooltip],
2099 div.cbi-value var.cbi-tooltip-container,
2100 .td.cbi-value-field var.cbi-tooltip-container {
2101         cursor: help;
2102         border-bottom: 1px dotted #0069d6;
2103 }
2104
2105 div.cbi-value var.cbi-tooltip-container,
2106 .td.cbi-value-field var.cbi-tooltip-container .cbi-tooltip {
2107         font-style: normal;
2108         white-space: normal;
2109         color: #444;
2110 }
2111
2112 #modal_overlay > .modal.uci-dialog,
2113 #modal_overlay > .modal.cbi-modal {
2114         max-width: 900px;
2115 }
2116
2117 .uci-change-list {
2118         line-height: 170%;
2119         white-space: pre;
2120 }
2121
2122 .uci-change-list del,
2123 .uci-change-list ins,
2124 .uci-change-list var,
2125 .uci-change-legend-label del,
2126 .uci-change-legend-label ins,
2127 .uci-change-legend-label var {
2128         text-decoration: none;
2129         font-family: monospace;
2130         font-style: normal;
2131         border: 1px solid #ccc;
2132         background: #eee;
2133         padding: 2px;
2134         display: block;
2135         line-height: 15px;
2136         margin-bottom: 1px;
2137 }
2138
2139 .uci-change-list ins,
2140 .uci-change-legend-label ins {
2141         border-color: #0f0;
2142         background: #cfc;
2143 }
2144
2145 .uci-change-list del,
2146 .uci-change-legend-label del {
2147         border-color: #f00;
2148         background: #fcc;
2149 }
2150
2151 .uci-change-list var,
2152 .uci-change-legend-label var {
2153         border-color: #ccc;
2154         background: #eee;
2155 }
2156
2157 .uci-change-list var ins,
2158 .uci-change-list var del {
2159         display: inline-block;
2160         border: none;
2161         width: 100%;
2162         padding: 0;
2163 }
2164
2165 .uci-change-legend {
2166         padding: 5px;
2167 }
2168
2169 .uci-change-legend-label {
2170         width: 150px;
2171         float: left;
2172 }
2173
2174 .uci-change-legend-label > ins,
2175 .uci-change-legend-label > del,
2176 .uci-change-legend-label > var {
2177         float: left;
2178         margin-right: 4px;
2179         width: 16px;
2180         height: 16px;
2181         display: block;
2182         position: relative;
2183 }
2184
2185 .uci-change-legend-label var ins,
2186 .uci-change-legend-label var del {
2187         border: none;
2188         position: absolute;
2189         top: 2px;
2190         left: 2px;
2191         right: 2px;
2192         bottom: 2px;
2193 }
2194
2195 #modal_overlay {
2196         position: fixed;
2197         top: 0;
2198         bottom: 0;
2199         left: -10000px;
2200         right: 10000px;
2201         background: rgba(0, 0, 0, 0.7);
2202         z-index: 900;
2203         overflow-y: scroll;
2204         -webkit-overflow-scrolling: touch;
2205         transition: opacity .125s ease-in;
2206         opacity: 0;
2207 }
2208
2209 #modal_overlay > .modal {
2210         width: 90%;
2211         margin: 5em auto;
2212         display: flex;
2213         flex-wrap: wrap;
2214         min-height: 32px;
2215         max-width: 600px;
2216         align-items: center;
2217         border-radius: 3px;
2218         background: #fff;
2219         box-shadow: 0 0 3px #444;
2220         padding: 1em 1em .5em 1em;
2221         min-width: 270px;
2222 }
2223
2224 #modal_overlay .modal > * {
2225         flex-basis: 100%;
2226         line-height: normal;
2227         margin-bottom: .5em;
2228 }
2229
2230 #modal_overlay .modal > pre,
2231 #modal_overlay .modal > textarea {
2232         white-space: pre-wrap;
2233         overflow: auto;
2234 }
2235
2236 body.modal-overlay-active {
2237         overflow: hidden;
2238         height: 100vh;
2239 }
2240
2241 body.modal-overlay-active #modal_overlay {
2242         left: 0;
2243         right: 0;
2244         opacity: 1;
2245 }
2246
2247 html body.apply-overlay-active {
2248         height: calc(100vh - 63px);
2249 }
2250
2251 #applyreboot-section {
2252         line-height: 300%;
2253 }
2254
2255 [data-page="admin-network-dhcp"] [data-name="ip"] {
2256         width: 15%;
2257 }
2258
2259 @keyframes flash {
2260         0% { opacity: 1; }
2261         50% { opacity: .5; }
2262         100% { opacity: 1; }
2263 }
2264
2265 .flash {
2266         animation: flash .35s;
2267 }
2268
2269 .spinning {
2270         position: relative;
2271         padding-left: 32px !important;
2272 }
2273
2274 .spinning::before {
2275         position: absolute;
2276         top: 0;
2277         left: 0;
2278         bottom: 0;
2279         width: 32px;
2280         content: " ";
2281         background: url(../resources/icons/loading.gif) no-repeat center;
2282         background-size: 16px;
2283 }
2284
2285 [data-tab-title] {
2286         height: 0;
2287         opacity: 0;
2288         overflow: hidden;
2289 }
2290
2291 [data-tab-active="true"] {
2292         opacity: 1;
2293         height: auto;
2294         overflow: visible;
2295         transition: opacity .25s ease-in;
2296 }
2297
2298 .cbi-filebrowser {
2299         min-width: 210px;
2300         max-width: 100%;
2301         border: 1px solid #ccc;
2302         border-radius: 3px;
2303         display: flex;
2304         flex-direction: column;
2305         opacity: 0;
2306         height: 0;
2307         overflow: hidden;
2308 }
2309
2310 .cbi-filebrowser.open {
2311         opacity: 1;
2312         height: auto;
2313         overflow: visible;
2314         transition: opacity .25s ease-in;
2315 }
2316
2317 .cbi-filebrowser > * {
2318         max-width: 100%;
2319         overflow: hidden;
2320         text-overflow: ellipsis;
2321         padding: 0 0 .25em 0;
2322         margin: .25em .25em 0px .25em;
2323         white-space: nowrap;
2324         border-bottom: 1px solid #ccc;
2325 }
2326
2327 .cbi-filebrowser .cbi-button-positive {
2328         margin-right: .25em;
2329 }
2330
2331 .cbi-filebrowser > div {
2332         border-bottom: none;
2333 }
2334
2335 .cbi-filebrowser > ul > li {
2336         display: flex;
2337         flex-direction: row;
2338 }
2339
2340 .cbi-filebrowser > ul > li:hover {
2341         background: #f5f5f5;
2342 }
2343
2344 .cbi-filebrowser > ul > li > div:first-child {
2345         flex: 10;
2346         overflow: hidden;
2347         text-overflow: ellipsis;
2348 }
2349
2350 .cbi-filebrowser > ul > li > div:last-child {
2351         flex: 3;
2352         text-align: right;
2353 }
2354
2355 .cbi-filebrowser > ul > li > div:last-child > button {
2356         padding: .125em .25em;
2357         margin: 1px 0 1px .25em;
2358 }
2359
2360 .cbi-filebrowser .upload {
2361         display: flex;
2362         flex-direction: row;
2363         flex-wrap: wrap;
2364         margin: 0 -.125em .25em -.125em;
2365         padding: 0 0 .125em 0px;
2366         border-bottom: 1px solid #ccc;
2367 }
2368
2369 .cbi-filebrowser .upload > * {
2370         margin: .125em;
2371         flex: 1;
2372 }
2373
2374 .cbi-filebrowser .upload > .btn {
2375         flex-basis: 60px;
2376 }
2377
2378 .cbi-filebrowser .upload > div {
2379         flex: 10;
2380         min-width: 150px;
2381 }
2382
2383 .cbi-filebrowser .upload > div > input {
2384         width: 100%;
2385 }
2386
2387 @keyframes fade-in {
2388         0% { opacity: 0; }
2389         100% { opacity: 1; }
2390 }
2391
2392 @keyframes fade-out {
2393         0% { opacity: 1; }
2394         100% { opacity: 0; }
2395 }
2396
2397 .fade-in {
2398         animation: fade-in .4s ease;
2399 }
2400
2401 .fade-out {
2402         animation: fade-out .4s ease;
2403 }
2404
2405 .assoclist .ifacebadge {
2406         display: flex;
2407         flex-direction: column;
2408         align-items: center;
2409         white-space: normal;
2410         text-align: center;
2411 }
2412
2413 .assoclist .ifacebadge > img {
2414         margin: .2em;
2415 }
2416
2417 .assoclist .td:nth-of-type(3),
2418 .assoclist .td:nth-of-type(5) {
2419         width: 25%;
2420 }
2421
2422 .assoclist .td:nth-of-type(6) button {
2423         word-break: normal;
2424 }