2 * Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI
5 * Copyright 2015 Lutty Yang <lutty@wcan.in>
7 * Have a bug? Please create an issue here on GitHub!
8 * https://github.com/LuttyYang/luci-theme-material/issues
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>
16 * https://github.com/muicss/mui
18 * Licensed to the public under the Apache License 2.0
24 @import url("custom.css");
27 * Font generate by Icomoon<icomoon.io>
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');
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; }
46 vertical-align: middle;
60 .tr.placeholder > .td {
70 .table[width="33%"], .th[width="33%"], .td[width="33%"] { width: 33%; }
71 .table[width="100%"], .th[width="100%"], .td[width="100%"] { width: 100%; }
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; }
88 .main > .loading > span {
89 font-family: 'icomoon' !important;
91 font-style: normal !important;
92 font-weight: normal !important;
93 font-variant: normal !important;
94 text-transform: none !important;
97 -webkit-font-smoothing: antialiased;
98 -moz-osx-font-smoothing: grayscale;
104 box-sizing: border-box;
107 .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
108 font-family: inherit;
115 -webkit-text-size-adjust: 100%;
116 -ms-text-size-adjust: 100%;
121 background-color: #EEE;
128 font-family: var(--font-body, "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB");
132 padding: 0.36rem 0.8rem;
134 background-color: #fff;
135 background-image: none;
136 border: 1px solid #ccc;
142 background-color: transparent;
143 color: rgba(0, 0, 0, .87);
145 border-bottom: 2px solid rgba(0, 0, 0, .26);
150 background-image: none;
155 select:not([multiple="multiple"]):focus,
158 .cbi-dynlist > .item:focus {
159 border-color: var(--main-color, #0099CC);
162 select[multiple="multiple"] {
167 color: var(--main-color, #0099CC);
172 text-decoration: underline;
188 box-shadow: 0 2px 5px rgba(0, 0, 0, .26);
189 transition: box-shadow .2s;
200 text-shadow: 0px 0px 2px #BBB;
205 text-decoration: none;
213 height: calc(100% - 4rem);
222 background-color: rgb(240, 240, 240);
226 .main > .loading > span {
234 .main > .loading > span > .loading-img:before {
238 .main > .loading > span > .loading-img {
239 animation: anim-rotate 2s infinite linear;
240 display: inline-block;
244 @keyframes anim-rotate {
246 -webkit-transform: rotate(0);
247 -ms-transform: rotate(0);
248 transform: rotate(0);
251 -webkit-transform: rotate(360deg);
252 -ms-transform: rotate(360deg);
253 transform: rotate(360deg)
261 width: calc(0% + 15rem);
263 height: calc(100% - 4rem);
264 background-color: var(--menu-bg-color, #FFFFFF);
271 width: calc(100% - 15rem);
274 background-color: #EEE;
277 .main-right > #maincontent {
278 background-color: #EEE;
290 background: var(--header-bg, #0099CC);
291 color: var(--header-color, #FFFFFF);
295 header > .fill > .container {
296 padding-top: 0.25rem;
298 padding-bottom: 0.25rem;
304 header > .fill > .container > .brand {
306 color: var(--header-color, #FFFFFF);
307 text-decoration: none;
312 header > .fill > .container > img{
314 width: calc(0% + 13rem);
318 header > .fill > .container > .status {
320 justify-content: flex-end;
325 background-color: #FA8072 !important;
330 background-color: #F0E68C !important;
335 background-color: #90EE90 !important;
346 font-family: inherit;
350 background-color: #FFF;
351 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
358 .alert-message > h4 {
367 #maincontent > .container > div:nth-child(1).alert-message.warning > a {
370 text-transform: none;
371 display: inline-block;
376 vertical-align: middle;
377 touch-action: manipulation;
379 -webkit-user-select: none;
380 -moz-user-select: none;
381 -ms-user-select: none;
383 background-image: none;
385 padding: 0.5rem 1rem;
387 line-height: 1.42857143;
389 background-color: #5bc0de;
390 border-color: #46b8da;
392 text-decoration: inherit;
395 .main > .main-left > .nav {
399 .main > .main-left > .nav > li a {
400 color: var(--menu-color, #404040);
404 .main > .main-left > .nav > li:nth-last-child(1) {
410 .main > .main-left > .nav > li {
411 padding: 0.5rem 1rem;
415 .main > .main-left > .nav > .slide {
419 .main > .main-left > .nav > .slide > ul {
423 .main > .main-left > .nav > .slide > .menu {
425 padding: 0.5rem 1rem;
426 text-decoration: none;
431 .main > .main-left > .nav > li:hover,
432 .main > .main-left > .nav > .slide > .menu:hover {
433 background: var(--submenu-bg-hover, #D4D4D4)
436 .main > .main-left > .nav > .slide:hover {
440 .main > .main-left > .nav > .slide > .slide-menu > li {
441 padding: 0.4rem 2rem;
444 .main > .main-left > .nav > .slide > .slide-menu > .active {
445 background-color: var(--submenu-bg-hover-active, #0099CC);
448 .main > .main-left > .nav > .slide > .slide-menu > li > a {
449 text-decoration: none;
453 .main > .main-left > .nav > .slide > .slide-menu > .active > a {
457 .main > .main-left > .nav > .slide > .slide-menu > li:hover {
458 background: var(--submenu-bg-hover, #D4D4D4)
461 .main > .main-left > .nav > .slide > .slide-menu > .active:hover {
462 background-color: var(--main-color, #0099CC);
467 list-style-type: none;
470 #maincontent > .container {
471 margin: 0 2rem 1rem 2rem;
476 padding-bottom: 10px;
477 border-bottom: 1px solid #eee;
483 padding-bottom: 10px;
484 border-bottom: 1px solid #eee;
490 padding-bottom: 10px;
494 margin: 1.5rem 0 0 0;
496 padding-bottom: 10px;
506 font-family: inherit;
509 background-color: #FFF;
510 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
512 -webkit-overflow-scrolling: touch;
515 .cbi-map-descr + fieldset {
519 .cbi-section > legend {
520 display: none !important;
523 fieldset > fieldset {
530 .cbi-section > h3:first-child,
537 padding-bottom: 1rem;
538 border-bottom: 1px solid #eee;
544 border-collapse: collapse;
549 border: 1px solid #eee;
552 table > tbody > tr > td, table > tbody > tr > th, table > tfoot > tr > td, table > tfoot > tr > th, table > thead > tr > td, table > thead > tr > th,
553 .table > .tbody > .tr > .td, .table > .tbody > .tr > .th, .table > .tfoot > .tr > .td, .table > .tfoot > .tr > .th, .table > .thead > .tr > .td, .table > .thead > .tr > .th {
555 border-top: 1px solid #ddd;
559 .cbi-section-table-cell {
561 align-self: flex-end;
569 .cbi-section-table-row {
573 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
576 .cbi-section-table-row:last-child {
580 .cbi-section-table-row > .cbi-value-field .cbi-input-select,
581 .cbi-section-table-row > .cbi-value-field .cbi-input-text,
582 .cbi-section-table-row > .cbi-value-field .cbi-input-password,
583 .cbi-section-table-row > .cbi-value-field .cbi-dropdown {
587 .cbi-section-table-row > .cbi-value-field [data-dynlist] > input,
588 .cbi-section-table-row > .cbi-value-field input.cbi-input-password {
589 width: calc(100% - 1.5rem);
592 div > table > tbody > tr:nth-of-type(2n),
593 div > .table > .tbody > .tr:nth-of-type(2n) {
594 background-color: #f9f9f9;
597 div > table > tbody > tr:nth-of-type(2n),
598 div > .table > .tbody > .tr:nth-of-type(2n) {
599 background-color: #f9f9f9;
602 /* fix multiple table */
609 .cbi-value-field table,
610 .cbi-value-field .table {
614 td > table > tbody > tr > td,
615 .td > .table > .tbody > .tr > .td {
619 .cbi-value-field > table > tbody > tr > td,
620 .cbi-value-field > .table > .tbody > .tr > .td {
626 .btn, .cbi-button, .item::after {
627 -webkit-appearance: none;
628 text-transform: uppercase;
629 color: rgba(0, 0, 0, 0.87);
630 background-color: #F0F0F0;
631 transition: all 0.2s ease-in-out;
632 display: inline-block;
635 border-radius: 0.2rem;
637 -ms-touch-action: manipulation;
638 touch-action: manipulation;
639 background-image: none;
641 vertical-align: middle;
643 -webkit-user-select: none;
644 -moz-user-select: none;
645 -ms-user-select: none;
648 width: auto !important;
649 display: inline-block;
650 text-decoration: none;
660 .cbi-page-actions .cbi-button-apply + .cbi-button-save:hover,
661 .cbi-page-actions .cbi-button-apply + .cbi-button-save:focus,
662 .cbi-page-actions .cbi-button-apply + .cbi-button-save:active {
664 text-decoration: none;
665 background-color: rgba(250, 250, 250, 0.7);
672 box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
677 box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
681 .cbi-button:disabled {
683 pointer-events: none;
688 .cbi-page-actions .cbi-button-apply,
689 .cbi-section-actions .cbi-button-edit,
690 .cbi-button-edit.important,
691 .cbi-button-apply.important,
692 .cbi-button-reload.important,
693 .cbi-button-action.important {
695 background-color: #337ab7;
698 .cbi-page-actions .cbi-button-save,
699 .cbi-button-add.important,
700 .cbi-button-save.important,
701 .cbi-button-positive.important {
703 background-color: #5bc0de;
706 .cbi-button-remove.important,
707 .cbi-button-reset.important,
708 .cbi-button-negative.important {
710 background-color: #d9534f;
717 .cbi-button-neutral {
718 border: 1px solid #bfbfbf;
719 background-color: transparent;
727 border: 1px solid #2e6da4;
728 background-color: transparent;
731 .cbi-page-actions .cbi-button-apply + .cbi-button-save,
734 .cbi-button-positive {
736 border: 1px solid #46b8da;
737 background-color: transparent;
740 .cbi-section-remove > .cbi-button,
743 .cbi-button-negative {
745 border: 1px solid #d43f3a;
746 background-color: transparent;
749 .cbi-page-actions .cbi-button-link:first-child {
754 text-decoration: none;
761 padding-left: 0.5rem;
762 background-color: #FFFFFF;
767 display: inline-block;
768 padding: 0.6rem 0rem;
771 .cbi-tabmenu > li > a,
773 text-decoration: none;
775 padding: 0.5rem 0.8rem;
778 .tabs > li[class~="active"],
781 border-bottom: 0.2rem solid var(--main-color, #0099CC);
782 color: var(--main-color, #0099CC);
783 margin-bottom: -0.18751rem;
786 .tabs > li[class~="active"] > a {
787 color: var(--main-color, #0099CC);
791 border-bottom: 0.18751rem solid #C9C9C9;
795 border-top: 1px solid #D4D4D4;
796 border-left: 1px solid #D4D4D4;
797 border-right: 1px solid #D4D4D4;
800 .cbi-tabmenu > li:hover {
801 background-color: #F1F1F1;
804 .cbi-tabmenu > li[class~="cbi-tab"] {
805 background-color: white;
809 background-color: #D4D4D4;
812 .cbi-section-remove:nth-of-type(2n),
813 .cbi-section-node:nth-of-type(2n){
814 background-color: #f9f9f9;
817 .cbi-section-node-tabbed {
820 border-bottom: 1px solid #D4D4D4;
821 border-left: 1px solid #D4D4D4;
822 border-right: 1px solid #D4D4D4;
825 .cbi-tabcontainer > .cbi-value:nth-of-type(2n) {
826 background-color: #f9f9f9;
830 .cbi-value-description {
836 .cbi-value-error input {
842 border: 1px solid #f00;
844 background-color: #fce6e6;
849 .cbi-section-error ul {
853 .cbi-section-error ul li {
858 .cbi-value-helpicon > img {
862 .cbi-value-helpicon:before {
866 .cbi-value-description {
869 padding: 0.5rem 0 0 0;
873 word-wrap: break-word;
883 padding: 0.3rem 1rem;
884 display: inline-block;
888 .cbi-section-table-descr > .cbi-section-table-cell,
889 .cbi-section-table-titles > .cbi-section-table-cell {
893 .td[data-title]::before {
894 content: attr(data-title) ":\20";
902 .tr.placeholder .td[data-title]::before {
906 .tr[data-title]::before,
907 .tr.cbi-section-table-titles.named::before {
908 content: attr(data-title) "\20";
916 word-wrap: break-word;
917 vertical-align: middle;
921 background-color: #f9f9f9;
925 background-color: #eee;
928 .cbi-rowstyle-2 .cbi-button-up,
929 .cbi-rowstyle-2 .cbi-button-down {
930 background-color: #FFF !important;
933 .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
934 width: auto !important;
937 .td.cbi-section-actions {
939 vertical-align: middle;
942 .td.cbi-section-actions > * {
946 .td.cbi-section-actions > * > *,
947 .td.cbi-section-actions > * > form > * {
952 .td.cbi-section-actions > * > form {
953 display: inline-flex;
968 display: inline-flex;
976 margin: 0 !important;
985 .cbi-dropdown > ul.preview {
989 .cbi-dropdown > .open {
990 border: 2px outset #eee;
995 .cbi-dropdown > .open,
996 .cbi-dropdown > .more {
1000 flex-direction: column;
1001 justify-content: center;
1007 .cbi-dropdown > .more,
1008 .cbi-dropdown > ul > li[placeholder] {
1011 text-shadow: 1px 1px 0px #fff;
1015 .cbi-dropdown > ul > li {
1018 white-space: nowrap;
1020 text-overflow: ellipsis;
1023 align-items: center;
1028 .cbi-dropdown > ul > li .hide-open { display: initial; }
1029 .cbi-dropdown > ul > li .hide-close { display: none; }
1031 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1032 border-left: 1px solid #ccc;
1035 .cbi-dropdown[empty] > ul {
1039 .cbi-dropdown > ul > li > form {
1043 pointer-events: none;
1046 .cbi-dropdown > ul > li img {
1047 vertical-align: middle;
1048 margin-right: .25em;
1051 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1056 .cbi-dropdown > ul > li input[type="text"] {
1060 .cbi-dropdown[open] {
1064 .cbi-dropdown[open] > ul.dropdown {
1066 background: #f6f6f5;
1067 border: 1px solid #918e8c;
1068 box-shadow: 0 0 4px #918e8c;
1076 .cbi-dropdown > ul > li[display],
1077 .cbi-dropdown[open] > ul.preview,
1078 .cbi-dropdown[open] > ul.dropdown > li,
1079 .cbi-dropdown[multiple] > ul > li > label,
1080 .cbi-dropdown[multiple][open] > ul.dropdown > li,
1081 .cbi-dropdown[multiple][more] > .more,
1082 .cbi-dropdown[multiple][empty] > .more {
1085 align-items: center;
1088 .cbi-dropdown[empty] > ul > li,
1089 .cbi-dropdown[optional][open] > ul.dropdown > li[placeholder],
1090 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1094 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none; }
1095 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: initial; }
1097 .cbi-dropdown[open] > ul.dropdown > li {
1098 border-bottom: 1px solid #ccc;
1101 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1102 background: #b0d0f0;
1105 .cbi-dropdown[open] > ul.dropdown > li.focus {
1106 background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%);
1109 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1111 border-bottom: none;
1114 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1118 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1122 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1126 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1130 .cbi-dropdown[disabled] {
1131 pointer-events: none;
1135 .cbi-dropdown .zonebadge {
1139 .cbi-dropdown[open] .zonebadge {
1146 display: inline-flex;
1147 flex-direction: column;
1150 .cbi-dynlist > .item {
1151 margin: 0 2em 4px 0;
1153 border-bottom: 2px solid rgba(0, 0, 0, .26);
1155 pointer-events: none;
1159 .cbi-dynlist > .item::after {
1162 display: inline-flex;
1163 align-items: center;
1168 border: 1px solid #c44;
1171 pointer-events: auto;
1177 display: inline-flex;
1178 flex-direction: column;
1181 .cbi-dynlist > .item {
1182 margin: 0 2em 4px 0;
1184 border-bottom: 2px solid rgba(0, 0, 0, .26);
1186 pointer-events: none;
1190 .cbi-dynlist > .item::after {
1193 display: inline-flex;
1194 align-items: center;
1199 border: 1px solid #c44;
1202 pointer-events: auto;
1211 background: rgba(0, 0, 0, 0.7);
1214 -webkit-overflow-scrolling: touch;
1215 transition: opacity .125s ease-in;
1226 align-items: center;
1229 box-shadow: 0 0 3px #444;
1230 padding: 1em 1em .5em 1em;
1237 line-height: normal;
1238 margin-bottom: .5em;
1243 white-space: pre-wrap;
1247 body.modal-overlay-active {
1252 body.modal-overlay-active #modal_overlay {
1258 #modal_overlay > .modal {
1265 align-items: center;
1268 box-shadow: 0 0 3px #444;
1269 padding: 1em 1em 1em 1em;
1274 #modal_overlay .modal > * {
1276 line-height: normal;
1277 margin-bottom: .5em;
1280 #modal_overlay .modal > pre,
1281 #modal_overlay .modal > textarea {
1282 white-space: pre-wrap;
1286 body.modal-overlay-active {
1291 body.modal-overlay-active #modal_overlay {
1299 padding-left: 32px !important;
1309 background: url(../resources/icons/loading.gif) no-repeat center;
1310 background-size: 16px;
1319 .left, .left::before {
1320 text-align: left !important;
1323 .right, .right::before {
1324 text-align: right !important;
1327 .center, .center::before {
1328 text-align: center !important;
1332 align-self: flex-start !important;
1333 vertical-align: top !important;
1337 align-self: flex-end !important;
1338 vertical-align: bottom !important;
1346 border-top: 1px solid #eee;
1352 .cbi-value input[type="password"],
1353 .cbi-value input[type="text"] {
1358 .cbi-value-field .cbi-dropdown {
1364 border: 1px solid #ccc;
1373 .cbi-progressbar > div {
1374 background: var(--main-color, #0099CC);
1376 transition: width .25s ease-in;
1380 .cbi-progressbar::after {
1387 text-shadow: 0 0 2px #fff;
1388 content: attr(title);
1391 text-overflow: ellipsis;
1394 .cbi-value-field .cbi-input-select {
1398 .cbi-value-field .cbi-input-invalid {
1399 border-bottom-color: #f00;
1403 .th[data-type="button"], .td[data-type="button"],
1404 .th[data-type="fvalue"], .td[data-type="fvalue"] {
1410 display: inline-flex;
1411 border-bottom: 1px solid #CCCCCC;
1412 padding: 0.5rem 1rem;
1413 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1419 background-color: #F0F0F0;
1425 display: inline-block;
1427 align-self: flex-start;
1430 .ifacebadge > img + img {
1431 margin: 0 .2rem 0 0;
1434 .network-status-table {
1439 .network-status-table .ifacebox {
1444 .network-status-table .ifacebox-body {
1446 flex-direction: column;
1450 .network-status-table .ifacebox-body > span {
1454 .network-status-table .ifacebox-body > div {
1459 .network-status-table .ifacebox-body .ifacebadge {
1461 margin: .5em .25em 0 .25em;
1464 background-color: #fff;
1465 align-items: center;
1470 .cbi-input-textarea {
1475 font-family: monospace;
1486 margin-bottom: 20px;
1488 background-color: #FFF;
1489 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1496 font-family: monospace;
1499 .uci-change-list ins,
1500 .uci-change-legend-label ins {
1501 text-decoration: none;
1502 border: 1px solid #00FF00;
1503 background-color: #CCFFCC;
1508 .uci-change-list del,
1509 .uci-change-legend-label del {
1510 text-decoration: none;
1511 border: 1px solid #FF0000;
1512 background-color: #FFCCCC;
1518 .uci-change-list var,
1519 .uci-change-legend-label var {
1520 text-decoration: none;
1521 border: 1px solid #CCCCCC;
1522 background-color: #EEEEEE;
1528 .uci-change-list var ins,
1529 .uci-change-list var del {
1536 .uci-change-legend {
1540 .uci-change-legend-label {
1545 .uci-change-legend-label > ins,
1546 .uci-change-legend-label > del,
1547 .uci-change-legend-label > var {
1555 .uci-change-legend-label var ins,
1556 .uci-change-legend-label var del {
1561 .uci-change-list var,
1562 .uci-change-list del,
1563 .uci-change-list ins {
1571 border: 1px solid #D4D4D4 !important;
1572 border-top: none !important;
1576 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 2px rgba(0, 0, 0, 0.2);
1577 border-bottom: 1px solid #ccc;
1578 background-color: #f9f9f9;
1579 display: inline-flex;
1580 flex-direction: column;
1590 .ifacebox-head.active {
1591 background: #90c0e0;
1599 margin-left: 0.5rem;
1603 padding: 0.2rem 0.5rem;
1604 display: inline-block;
1607 .zonebadge .ifacebadge {
1608 padding: .2rem .3rem;
1609 margin: 0.1rem 0.2rem;
1610 border: 1px solid #6C6C6C;
1613 .zonebadge > input[type="text"] {
1614 padding: 0.16rem 1rem;
1620 .zonebadge > strong {
1622 display: inline-block;
1625 .cbi-value-field .cbi-input-checkbox,
1626 .cbi-value-field .cbi-input-radio {
1631 .td .cbi-input-checkbox,
1632 .td .cbi-input-radio {
1636 .cbi-value-field > input + .cbi-value-description {
1640 .cbi-value-field > ul > li {
1644 .cbi-value-field > ul > li > label {
1648 .cbi-value-field > ul > li .ifacebadge {
1649 background-color: #eee;
1650 margin-left: 0.4rem;
1651 margin-top: -0.5rem;
1654 .cbi-section-table-row > .cbi-value-field .cbi-dropdown {
1658 .cbi-section-create {
1660 display: inline-flex;
1661 align-items: center;
1664 .cbi-section-create > * {
1668 .cbi-section-remove {
1672 div.cbi-value var, td.cbi-value-field var, .td.cbi-value-field var {
1679 white-space: normal;
1680 line-height: 1.42857143;
1685 display: inline-block;
1687 padding: 0.2rem 0.3rem;
1692 padding: 1rem 1rem 0 1rem;
1693 border-top: 1px solid #CCC;
1696 .cbi-dropdown-container {
1700 .cbi-tooltip-container {
1713 transition: opacity .25s ease-out;
1714 pointer-events: none;
1715 box-shadow: 0 0 2px #444;
1718 .cbi-tooltip-container:hover .cbi-tooltip {
1721 transition: opacity .25s ease-in;
1724 .zonebadge .cbi-tooltip {
1726 background: inherit;
1727 margin: -1.5rem 0 0 -.5rem;
1731 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);
1740 .zone-forwards > * {
1744 .zone-forwards > span {
1750 .zone-forwards .zone-src,
1751 .zone-forwards .zone-dest {
1753 flex-direction: column;
1756 #diag-rc-output > pre {
1757 background-color: #f5f5f5;
1761 line-height: 1.5rem;
1762 -moz-border-radius: 3px;
1763 white-space: pre-wrap;
1764 word-wrap: break-word;
1770 input[name="traceroute"],
1771 input[name="nslookup"] {
1775 header > .container > .pull-right > * {
1781 #xhr_poll_status > .label.success {
1782 background-color: #14CE14;
1790 padding: 0.3rem 0.8rem;
1793 color: #ffffff !important;
1794 text-transform: uppercase;
1795 white-space: nowrap;
1796 background-color: #bfbfbf;
1797 -webkit-border-radius: 3px;
1798 -moz-border-radius: 3px;
1801 text-decoration: none;
1804 label > input[type="checkbox"],
1805 label > input[type="radio"] {
1806 vertical-align: bottom;
1811 background-color: #5BC0DE !important;
1822 background-color: rgba(0, 0, 0, 0.56);
1829 .node-main-login > .main > .main-left {
1833 .node-main-login > .main > .main-right {
1837 .node-main-login > .main fieldset {
1839 margin-bottom: 1rem;
1847 .node-main-login > .main .cbi-value-title {
1851 .node-main-login > .main #maincontent {
1856 .node-main-login > .main .container {
1857 display: inline-block;
1859 margin-top: 2rem !important;
1860 background-color: #FFF;
1861 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1865 .node-main-login > .main form > div:nth-last-child(1) {
1869 .node-main-login > .main .cbi-value {
1873 .node-main-login > .main .cbi-value > * {
1874 display: inline-block !important;
1877 .node-main-login > .main .cbi-input-user,
1878 .node-main-login > .main .cbi-input-password {
1882 .node-main-login footer {
1888 /* fix status overview */
1890 .node-status-overview > .main fieldset:nth-child(4) .td:nth-child(2) {
1891 white-space: normal;
1894 /* fix status processes */
1896 .node-status-processes > .main .table .tr .td:nth-child(3) {
1897 white-space: normal;
1900 .node-status-iptables > .main div > .cbi-map > form {
1901 margin: 2rem 2rem 0 0;
1904 /* fix system reboot */
1906 .node-system-reboot > .main > .main-right p,
1907 .node-system-reboot > .main > .main-right h3 {
1911 /* fix Services Network Shares*/
1912 .node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
1913 margin-bottom: 1rem;
1917 .node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
1921 .node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
1925 /* fix System Software*/
1926 .node-system-packages > .main table tr td:nth-child(1) {
1927 width: auto !important;
1930 .node-system-packages > .main table tr td:nth-last-child(1) {
1931 white-space: normal;
1936 .node-system-packages > .main .cbi-tabmenu > li > a, .tabs > li > a {
1937 padding: 0.5rem 0.8rem;
1940 .node-system-packages > .main .cbi-value > pre {
1941 background-color: #eee;
1946 .cbi-tabmenu + .cbi-section {
1950 .node-status-iptables fieldset,
1951 .node-system-packages fieldset,
1952 .node-system-flashops fieldset {
1956 .node-status-iptables .cbi-tabmenu,
1957 .node-system-packages .cbi-tabmenu,
1958 .node-system-flashops .cbi-tabmenu {
1960 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1963 .node-system-flashops form.inline + form.inline {
1967 #cbi-firewall-redirect table *,
1968 #cbi-network-switch_vlan table *,
1969 #cbi-firewall-zone table * {
1973 #cbi-firewall-redirect table input[type="text"],
1974 #cbi-network-switch_vlan table input[type="text"],
1975 #cbi-firewall-zone table input[type="text"] {
1979 #cbi-firewall-redirect table select,
1980 #cbi-network-switch_vlan table select,
1981 #cbi-firewall-zone table select {
1985 #cbi-network-switch_vlan .th,
1986 #cbi-network-switch_vlan .td {
1991 body.lang_pl.node-main-login .cbi-value-title {
1995 /* applyreboot fix */
1997 #applyreboot-container {
2001 #applyreboot-section {
2006 @media screen and (max-width: 1600px) {
2009 padding: 0.3rem 0.6rem;
2013 header > .container > .pull-right > * {
2018 padding: 0.2rem 0.6rem;
2023 padding-right: 0.6rem;
2030 .cbi-input-textarea {
2034 .node-status-iptables > .main fieldset li > a {
2035 padding: 0.3rem 0.6rem;
2039 @media screen and (max-width: 1280px) {
2040 header > .container {
2041 margin-top: 0.25rem;
2044 .cbi-tabmenu > li > a, .tabs > li > a {
2045 padding: 0.2rem 0.5rem;
2050 padding-bottom: 1rem;
2054 font-size: 0.7rem !important;
2055 width: 100% !important;
2059 @media screen and (max-width: 992px) {
2060 header > .fill > .container > img {
2076 margin-right: 0.5rem;
2077 display: inline-block;
2085 .node-main-login .showSide {
2086 display: none !important;
2091 padding-right: 1rem;
2094 .node-network-diagnostics > .main .cbi-map fieldset > div * {
2095 width: 100% !important;
2098 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"] {
2099 margin: 3rem 0 0 0 !important;
2102 .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"] {
2103 margin: 0 !important;
2106 .node-network-diagnostics > .main .cbi-map fieldset > div select,
2107 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"] {
2111 .node-network-diagnostics > .main .cbi-map fieldset > div {
2112 width: 100% !important;
2115 #diag-rc-output > pre {
2119 .node-main-login > .main .cbi-value-title {
2125 flex-direction: row;
2131 align-self: flex-start;
2133 text-overflow: ellipsis;
2134 word-wrap: break-word;
2135 display: inline-block;
2139 .td input[type="text"] {
2144 .td [data-dynlist] > input,
2145 .td input.cbi-input-password {
2146 width: calc(100% - 1.5rem);
2149 .td[data-type="button"],
2150 .td[data-type="fvalue"] {
2155 .th.cbi-value-field,
2156 .td.cbi-value-field,
2157 .th.cbi-section-table-cell,
2158 .td.cbi-section-table-cell {
2162 .cbi-section-table-row {
2165 flex-direction: row;
2166 justify-content: space-between;
2169 .td.cbi-value-field,
2170 .cbi-section-table-cell {
2172 display: inline-block;
2176 .td.cbi-section-actions {
2178 align-self: flex-end;
2179 vertical-align: bottom;
2183 .tr.cbi-section-table-titles,
2184 .tr.cbi-section-table-descr {
2188 .tr[data-title]::before,
2189 .tr.cbi-section-table-titles.named::before {
2194 border-bottom: 1px solid rgba(0, 0, 0, .26);
2201 .td[data-title]::before {
2211 @media screen and (max-width: 480px) {
2225 #maincontent > .container {
2226 margin: 0 1rem 1.5rem 1rem;
2229 .main > .main-left > .nav > .slide > .menu {
2233 .main > .main-left > .nav > .slide > .slide-menu > li > a {
2239 min-width: 0rem !important;
2242 margin-bottom: 0.5rem;
2246 .cbi-value-field, .cbi-value-description {
2250 .cbi-value > .cbi-value-field {
2251 display: inline-block;
2254 .cbi-tabmenu > li, .tabs > li {
2255 padding: 0.6rem 0rem;
2258 .cbi-tabmenu > li > a, .tabs > li > a {
2259 padding: 0.2rem 0.3rem;
2263 .cbi-page-actions > div > input {
2267 .node-main-login > .main .container {
2268 padding: 0.5rem 1rem 2rem 1rem;
2271 .node-main-login > .main .cbi-value {
2275 .node-main-login > .main form > div:nth-last-child(1) {
2279 .node-main-login > .main .cbi-value-title {
2280 width: 100% !important;
2284 .node-main-login > .main fieldset {
2308 padding-bottom: 1rem;
2311 .node-system-packages > .main .cbi-value.cbi-value-last > div {
2312 width: 100% !important;
2315 .node-system-packages > .main .cbi-value .cbi-value-field input {
2319 .node-status-iptables > .main div > .cbi-map > form {
2320 position: static !important;
2324 font-weight: normal;
2327 font-family: inherit;
2330 background-color: #FFF;
2331 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
2332 -webkit-overflow-scrolling: touch;
2335 .node-status-iptables > .main div > .cbi-map > form input[type="submit"] {
2336 width: 100% !important;
2340 .node-status-iptables > .main div > .cbi-map > form input[type="submit"] + input[type="submit"] {
2348 .td.cbi-value-field {
2352 .td.cbi-value-field[data-type="dvalue"] {
2356 .td.cbi-value-field[data-type="button"],
2357 .td.cbi-value-field[data-type="fvalue"] {
2362 .tr[data-title]::before,
2363 .tr.cbi-section-table-titles.named::before {
2372 @media screen and (min-width: 992px) {
2373 .cbi-value input[type="password"],
2374 .cbi-value input[type="text"],
2375 .cbi-value-field .cbi-input-select {
2379 .cbi-value-field .cbi-dropdown {
2384 @media screen and (min-width: 1280px) {
2385 .cbi-value input[type="password"],
2386 .cbi-value input[type="text"],
2387 .cbi-value-field .cbi-input-select {
2391 .cbi-value-field .cbi-dropdown {
2396 @media screen and (min-width: 1600px) {
2397 .cbi-value input[type="password"],
2398 .cbi-value input[type="text"],
2399 .cbi-value-field .cbi-input-select {
2403 .cbi-value-field .cbi-dropdown {