18 background-color: #4a6b7c;
19 background-position: bottom center
;
20 background-repeat: repeat-x
;
21 font-family: Arial
, Verdana
, sans-serif
;
23 padding-bottom: 1.5em;
29 box-sizing: border-box
;
32 .table { display: table
; width: 100%; position: relative
; }
33 .tr { display: table-row
; }
34 .thead { display: table-header-group
; }
35 .tbody { display: table-row-group
; }
36 .tfoot { display: table-footer-group
; }
37 .td, .th { display: table-cell
; }
38 .th { font-weight: bold
; }
40 .table[width="33%"], .th[width="33%"], .td[width="33%"] { width: 33%; }
41 .table[width="100%"], .th[width="100%"], .td[width="100%"] { width: 100%; }
43 .col-1 { flex: 1 1 30px !important
; -webkit-flex: 1 1 30px !important
; }
44 .col-2 { flex: 2 2 60px !important
; -webkit-flex: 2 2 60px !important
; }
45 .col-3 { flex: 3 3 90px !important
; -webkit-flex: 3 3 90px !important
; }
46 .col-4 { flex: 4 4 120px !important
; -webkit-flex: 4 4 120px !important
; }
47 .col-5 { flex: 5 5 150px !important
; -webkit-flex: 5 5 150px !important
; }
48 .col-6 { flex: 6 6 180px !important
; -webkit-flex: 6 6 180px !important
; }
49 .col-7 { flex: 7 7 210px !important
; -webkit-flex: 7 7 210px !important
; }
50 .col-8 { flex: 8 8 240px !important
; -webkit-flex: 8 8 240px !important
; }
51 .col-9 { flex: 9 9 270px !important
; -webkit-flex: 9 9 270px !important
; }
52 .col-10 { flex: 10 10 300px !important
; -webkit-flex: 10 10 300px !important
; }
58 .tr.placeholder > .td {
73 text-decoration: none
;
87 border: 1px solid
#444;
88 border-width: 0 0 1px 1px;
104 #mainmenu ul li
> a
{
108 text-decoration: none
;
111 #mainmenu ul li
.selected
> a
{
114 border: 1px dotted
#444;
118 #mainmenu ul li
.selected:first-child
> a
{
122 #mainmenu ul li li
> a
{
127 #mainmenu ul li
> ul
{
131 transition: max-height
.15s;
134 #mainmenu ul:not
(.active
) li
.selected
> ul
,
135 #mainmenu ul li
.active
> ul
{
138 transition: max-height
.25s;
141 #mainmenu ul li
.mainmenu-item-logout
{
147 margin: -.5em -.5em .5em -.5em;
155 background: repeating-linear-gradient
(#f5f5f5, #bbb 2.4em, #f5f5f5 2.4em, #bbb);
163 #tabmenu ul li
.cbi-tab
{
170 font-variant: normal
;
175 border-bottom: 1px dotted
;
180 a:visited abbr
[title
],
181 a:link acronym
[title
],
182 a:visited acronym
[title
] {
187 font-family: monospace
;
194 border: 1px solid
#444;
195 border-width: 0 0 1px 0;
204 background-color: white
;
226 background-color: white
;
233 border: 1px solid
#a22;
239 .alert-message.notice {
245 .alert-message.warning {
259 .lang_he div.hostinfo {
267 #xhr_poll_status #xhr_poll_status_off
{
272 #xhr_poll_status #xhr_poll_status_on
{
286 background-color: #557788;
289 html #menubar
a:link
,
290 html #menubar
a:visited
{
296 text-decoration: none
;
300 html #menubar
a:link:hover
,
301 html #menubar
a:visited:hover
,
302 html #menubar
a:link:active
,
303 html #menubar
a:visited:active
,
304 #menubar a:link:focus
,
305 #menubar a:visited:focus
{
311 html #menubar
a:link
.active
,
312 html #menubar
a:visited
.active
,
313 html #menubar
a:link
.preactive
,
314 html #menubar
a:visited
.preactive
{
320 html #menubar
a:link
.warning
,
321 html #menubar
a:visited
.warning
{
350 .lang_de #submenu_admin_uci {
354 .lang_ru #submenu_admin_uci {
361 border: 3px solid
#cccccc;
363 font-family: monospace
;
377 border-width: 0 1px 1px 1px;
379 border-color: #444444;
382 .lang_he #maincontent {
388 font-family: Trebuchet MS
, Verdana
, sans-serif
;
390 margin: .25em 0 .5em 0;
391 border-bottom: 1px solid
;
405 fieldset
{ border: none
; }
406 fieldset
> legend
{ float: left
; }
407 fieldset
> legend
+ * { clear: both
; }
418 .cbi-section > legend {
423 margin-bottom: 0.5em;
427 .cbi-section-descr:empty {
435 .cbi-title-ref::after {
443 input:-webkit-input-placeholder
{
447 input:-moz-placeholder
{
451 input:-ms-input-placeholder
{
468 border-color: #000000;
476 input:not
(.btn
):not
(.cbi-button
):hover
,
479 background-color: #ffffff;
484 input
[type
=password
] {
490 input
[type
=password
] {
502 input
[type
=checkbox
],
503 [data-dynlist
] > input
+ img
,
504 input
.cbi-input-password
+ img
{
505 vertical-align: middle
;
510 .td input[type=text] {
514 .td
[data-dynlist
] > input
,
515 .td input.cbi-input-password {
516 width: calc
(100% - 20px);
519 img
.cbi-image-button
{
522 vertical-align: middle
;
528 border: 1px solid
#aaa;
529 text-decoration: none
;
531 display: inline-block
;
533 -webkit-appearance: none
;
541 .btn:hover, .cbi-button:hover {
542 box-shadow: 0 0 3px #37c;
546 .btn
[disabled
]:hover
,
547 .cbi-button
[disabled
],
548 .cbi-button[disabled]:hover {
551 pointer-events: none
;
554 .cbi-button-positive
,
555 .cbi-button-fieldadd
,
564 .cbi-button-download
,
581 .cbi-button-negative
,
582 .cbi-section-remove
.cbi-button
,
588 .cbi-button-action
.important
,
589 .cbi-page-actions
.cbi-button-apply
,
590 .cbi-section-actions .cbi-button-edit {
595 .cbi-button-positive
.important
,
596 .cbi-page-actions .cbi-button-save {
601 .cbi-button-negative.important {
606 .cbi-page-actions .cbi-button-apply + .cbi-button-save {
612 background-image: url
('../resources/cbi/reset.gif');
613 background-repeat: no-repeat
;
614 background-position: right
;
615 color: #FF0000 !important
;
616 border-color: #FF0000;
623 .table .td, .table .th {
631 border-top: 1px solid
#666666;
632 border-right: 1px solid
#666666;
633 border-bottom: 1px solid
#666666;
638 border-collapse: collapse
;
641 .table.smalltext .tr:hover .td {
642 background-color: #bbddee;
646 .table.smalltext .tr .th {
648 border-left: 1px solid
#666666;
652 .table.smalltext .tr .td {
654 border-top: 1px solid
#666666;
655 border-left: 1px solid
#666666;
659 background-color: #eeeeff;
669 vertical-align: middle
;
670 padding: 0.25em 0.6em;
671 border-bottom: 1px dotted
#bbbbbb;
691 .td.cbi-value-field {
695 vertical-align: middle
;
698 .cbi-value-description {
699 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
700 background-position: .25em .25em;
701 background-repeat: no-repeat
;
703 padding: .25em .25em .25em 1.75em;
706 .cbi-section-create {
707 padding: 0 0 .25em 0;
709 display: inline-flex
;
713 .cbi-section-create > * {
718 .cbi-section-create > * > input {
722 .cbi-section-remove > .cbi-button {
724 border-radius: 3px 3px 0 0;
727 .cbi-section-node + .cbi-section-create {
737 border-bottom: 1px dotted
#bbbbbb;
744 border: 1px dotted
#555;
749 .cbi-section-node-tabbed {
754 .cbi-section-node
.cbi-value:last-child
,
755 .cbi-section-node .cbi-optionals:last-child {
759 .table.cbi-section-table {
762 border: 1px dotted
#444;
767 .cbi-section-node > .table.cbi-section-table {
778 .tr.cbi-section-table-row.flash {
779 animation: flash
.35s;
782 .tr.cbi-section-table-descr .th {
788 .td.cbi-section-table-optionals {
789 text-align: left
!important
;
793 .th
.cbi-section-actions
,
794 .td.cbi-section-actions {
797 vertical-align: middle
;
800 .th
.cbi-section-actions
> *,
801 .td.cbi-section-actions > * {
803 justify-content: flex-end
;
806 margin: auto
-1px auto auto
;
809 .td
.cbi-section-actions
> * > *,
810 .td.cbi-section-actions > * > form > * {
815 .td.cbi-section-actions > * > form {
822 justify-content: flex-end
;
826 .cbi-page-actions > form {
830 .cbi-page-actions > * {
835 .cbi-page-actions > form > * {
840 .cbi-page-actions
> .cbi-button-save
,
841 .cbi-page-actions
> .cbi-button-apply
,
842 .cbi-page-actions > form[method="post"] {
847 .cbi-page-actions
> .cbi-button-save
,
848 .cbi-page-actions
> .cbi-button-apply
,
849 .cbi-page-actions > form[method="post"] {
853 .cbi-page-actions
> .cbi-button-apply
+ .cbi-button-save
,
854 .cbi-page-actions
> .cbi-button-save
+ form
[method
="post"],
855 .cbi-page-actions > form[method="post"] + form[method="post"] {
859 .th
[data-type
="button"], .td
[data-type
="button"],
860 .th[data-type="fvalue"], .td[data-type="fvalue"] {
865 #cbi-network-switch_vlan .th
,
866 #cbi-network-switch_vlan .td
{
870 .td[data-title]::before {
871 content: attr
(data-title
) ":\20";
879 .td[data-description]::after {
880 content: attr
(data-description
);
884 background: url
(/luci-static
/resources
/cbi
/help
.gif
) left top no-repeat
;
885 padding: .125em 0 .125em 18px;
889 .tr
.placeholder
.td
[data-title
]::before
,
890 .tr.placeholder .td[data-description]::after {
894 .tr
[data-title
]::before
,
895 .tr.cbi-section-table-titles.named::before {
896 content: attr
(data-title
) "\20";
904 word-wrap: break-word
;
905 vertical-align: middle
;
908 .cbi-value-helpicon img {
909 vertical-align: bottom
;
912 .td.cbi-value-error {
916 .cbi-value-error input
,
917 .cbi-value-error select {
919 background-color: #ffcccc;
924 background-color: white
;
926 border: 1px dotted red
;
931 .cbi-value-field var {
936 list-style-type: none
;
938 margin: 0 0 .5em 0 !important
;
940 border-bottom: 1px solid
#bbb;
944 display: inline-flex
;
945 margin: 0 5px -1px 0;
947 border: 1px solid
#bbb;
949 border-radius: 3px 3px 0 0;
950 background: linear-gradient
(#ddd 90%, #aaa 100%);
953 text-overflow: ellipsis
;
954 word-wrap: break-word
;
958 ul
.cbi-tabmenu li
a:hover
{
959 text-decoration: none
;
967 ul
.cbi-tabmenu li
.cbi-tab-highlighted
{
972 ul
.cbi-tabmenu li
.cbi-tab
{
978 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
979 background-position: .25em 50%;
980 background-repeat: no-repeat
;
981 border-bottom: 1px solid
#ccc;
982 margin: 0 .25em .25em .25em;
983 padding: .5em .5em .5em 2em;
988 border: 1px inset
#000;
989 display: inline-flex
;
999 .cbi-dropdown:hover {
1003 .cbi-dropdown:focus {
1004 outline: 2px solid
#4b6e9b;
1007 .cbi-dropdown > ul {
1008 margin: 0 !important
;
1017 .cbi-dropdown > ul.preview {
1021 .cbi-dropdown > .open {
1022 border: 2px outset
#eee;
1026 .cbi-dropdown
> .open
,
1027 .cbi-dropdown > .more {
1031 flex-direction: column
;
1032 justify-content: center
;
1038 .cbi-dropdown
> .more
,
1039 .cbi-dropdown > ul > li[placeholder] {
1042 text-shadow: 1px 1px 0px #fff;
1046 .cbi-dropdown > ul > li {
1049 white-space: nowrap
;
1051 text-overflow: ellipsis
;
1054 align-items: center
;
1059 .cbi-dropdown > ul > li .hide-open { display: initial
; }
1060 .cbi-dropdown > ul > li .hide-close { display: none
; }
1062 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1063 border-left: 1px solid
#ccc;
1066 .cbi-dropdown[empty] > ul {
1070 .cbi-dropdown > ul > li > form {
1074 pointer-events: none
;
1077 .cbi-dropdown > ul > li img {
1078 vertical-align: middle
;
1079 margin-right: .25em;
1082 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1086 .cbi-dropdown > ul > li input[type="text"] {
1090 .cbi-dropdown[open] {
1094 .cbi-dropdown[open] > ul.dropdown {
1096 background: #f6f6f5;
1097 border: 1px solid
#918e8c;
1098 box-shadow: 0 0 4px #918e8c;
1106 .cbi-dropdown
> ul
> li
[display
],
1107 .cbi-dropdown
[open
] > ul
.preview
,
1108 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1109 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1110 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1111 .cbi-dropdown
[multiple
][more
] > .more
,
1112 .cbi-dropdown[multiple][empty] > .more {
1115 align-items: center
;
1118 .cbi-dropdown
[empty
] > ul
> li
,
1119 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1120 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1124 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1125 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: initial
; }
1127 .cbi-dropdown[open] > ul.dropdown > li {
1128 border-bottom: 1px solid
#ccc;
1131 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1132 background: #b0d0f0;
1135 .cbi-dropdown[open] > ul.dropdown > li.focus {
1136 background: linear-gradient
(90deg, #a3c2e8 0%, #84aad9 100%);
1139 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1141 border-bottom: none
;
1144 .cbi-dropdown[disabled] {
1145 pointer-events: none
;
1149 input
[type
="text"] + .cbi-button
,
1150 input
[type
="password"] + .cbi-button
,
1151 select
+ .cbi-button
{
1152 border-radius: 0 3px 3px 0;
1153 border: 1px outset
#000;
1154 margin: 0 0 1px -2px;
1156 vertical-align: top
;
1157 display: inline-block
;
1163 .cbi-tooltip-container {
1172 transition: opacity
.25s ease-out
;
1173 pointer-events: none
;
1174 box-shadow: 0 0 2px #444;
1177 .cbi-tooltip-container:hover .cbi-tooltip {
1180 transition: opacity
.25s ease-in
;
1183 .zonebadge .cbi-tooltip {
1185 background: inherit
;
1186 margin: -1.6em 0 0 -5px;
1195 .zone-forwards > * {
1200 .zone-forwards > span {
1205 .zone-forwards
.zone-src
,
1206 .zone-forwards .zone-dest {
1208 flex-direction: column
;
1212 .left, .left::before, .left::after { text-align: left
!important
; }
1213 .right, .right::before, .right::after { text-align: right
!important
; }
1214 .center, .center::before, .center::after { text-align: center
!important
; }
1216 .top, .top::before, .top::after { vertical-align: top
!important
; }
1217 .middle, .middle::before, .middle::after { vertical-align: middle
!important
; }
1218 .bottom, .bottom::before, .bottom::after { vertical-align: bottom
!important
; }
1220 .td.top { align-self: flex-start
; vertical-align: top
; }
1221 .td.middle { align-self: center
; vertical-align: middle
; }
1222 .td.bottom { align-self: flex-end
; vertical-align: bottom
; }
1235 background-color: transparent
;
1237 text-decoration: none
;
1246 white-space: normal
;
1247 border: 1px dotted
#ff0000;
1248 background-color: #ffffff;
1254 .ifacebadge, .ifacebox {
1255 display: inline-flex
;
1256 align-content: center
;
1257 border: 1px solid
#ccc;
1267 .ifacebox-head.active {
1268 background: #90c0e0;
1271 .ifacebadge, .zonebadge {
1272 align-items: center
;
1276 align-self: flex-start
;
1282 display: inline-block
;
1286 .ifacebadge-active {
1287 border-color: #000000;
1292 flex-direction: column
;
1306 vertical-align: top
;
1309 .network-status-table {
1312 margin: -.25em -.25em .25em -.25em;
1315 .network-status-table .ifacebox {
1321 .network-status-table .ifacebox-body {
1323 flex-direction: column
;
1328 .network-status-table .ifacebox-body > span {
1332 .network-status-table .ifacebox-body > div {
1338 .network-status-table .ifacebox-body .ifacebadge {
1340 -webkit-flex: 1 1 auto
;
1343 white-space: nowrap
;
1346 .network-status-table .ifacebox-body .ifacebadge {
1353 display: inline-block
;
1354 white-space: nowrap
;
1359 .zonebadge > strong {
1368 .zonebadge
.ifacebadge
,
1369 .cbi-dropdown .ifacebadge {
1373 .zonebadge
.ifacebadge img
,
1374 .zonebadge
.ifacebadge em
,
1375 .cbi-dropdown
.ifacebadge img
,
1376 .cbi-dropdown .ifacebadge em {
1381 border: 1px dashed
#AAAAAA;
1389 font-family: monospace
;
1392 .uci-change-list ins
,
1393 .uci-change-legend-label ins {
1394 text-decoration: none
;
1395 border: 1px solid
#00FF00;
1396 background-color: #CCFFCC;
1401 .uci-change-list del
,
1402 .uci-change-legend-label del {
1403 text-decoration: none
;
1404 border: 1px solid
#FF0000;
1405 background-color: #FFCCCC;
1411 .uci-change-list var
,
1412 .uci-change-legend-label var {
1413 text-decoration: none
;
1414 border: 1px solid
#CCCCCC;
1415 background-color: #EEEEEE;
1421 .uci-change-list var ins
,
1422 .uci-change-list var del {
1423 /*display: inline;*/
1430 .uci-change-legend {
1434 .uci-change-legend-label {
1440 .uci-change-legend-label
>ins
,
1441 .uci-change-legend-label
>del
,
1442 .uci-change-legend-label>var {
1450 .uci-change-legend-label var ins
,
1451 .uci-change-legend-label var del {
1459 @media screen and
(max-width: 992px) {
1461 -webkit-text-size-adjust: 100%;
1465 flex-direction: column
;
1480 box-shadow: 0 0 2px #444;
1482 border-top: 1px solid
#444;
1486 #mainmenu ul
> li
.selected
> a
{
1492 #mainmenu ul
> li
.selected:not
(.active
) > ul
{
1497 #mainmenu ul
> li
> a
{
1500 border: 1px solid
#444;
1501 border-width: 0 0 1px 1px;
1506 flex-direction: row
;
1513 #mainmenu ul
.l1
> li
{
1514 display: inline-flex
;
1520 #mainmenu ul
.l1 ul
.l2
{
1526 box-shadow: 0 0 2px #444;
1531 #mainmenu ul
.l1 ul
.l2
.align-left
{
1536 #mainmenu ul
.l2
> li
{
1540 #mainmenu ul
.l2
> li
> a
{
1544 #mainmenu ul li
.mainmenu-item-logout
{
1549 #mainmenu ul li
.mainmenu-item-logout::before
{
1552 border: 1px solid
#444;
1553 border-width: 0 0 1px 1px;
1558 flex-direction: column
;
1564 flex-direction: row
;
1566 align-items: flex-end
;
1571 align-self: flex-start
;
1573 text-overflow: ellipsis
;
1574 word-wrap: break-word
;
1575 display: inline-block
;
1582 .td
[data-type
="button"],
1583 .td[data-type="fvalue"] {
1588 .td.cbi-value-field {
1589 align-self: flex-start
;
1592 .td.cbi-value-field .cbi-button {
1596 .table.cbi-section-table {
1603 .cbi-section-table-titles
,
1604 .cbi-section-table-descr {
1608 .cbi-section-table-row {
1610 flex-direction: row
;
1612 border: 1px dotted
#444;
1617 .cbi-section-table-row:hover {
1618 border: 1px solid
#4a6b7c;
1621 .cbi-section-table + .cbi-section-create {
1625 .tr[data-title]::before {
1631 .td
[data-title
]::before
,
1632 .td[data-description]::after {
1636 .td[data-title] ~ .td.cbi-section-actions {
1637 align-self: flex-start
;
1640 .td[data-title] ~ .td.cbi-section-actions::before {
1651 @media screen and
(max-width: 480px) {
1656 input
, textarea
, select
{
1657 font-size: 12pt !important
;
1661 select
, input
[type
="text"], input
[type
="password"] {
1666 [data-dynlist
] > input
,
1667 input
.cbi-input-password
{
1668 width: calc
(100% - 20px);
1676 font-size: 9pt !important
;
1685 margin: -.25em -.25em 1em -.25em;
1692 .td.cbi-value-field {
1696 .td.cbi-value-field[data-type="dvalue"] {
1700 .td
.cbi-value-field
[data-type
="button"],
1701 .td.cbi-value-field[data-type="fvalue"] {
1716 .cbi-value-description {
1721 .cbi-section-create {
1730 .cbi-page-actions > .cbi-button-link {
1735 .cbi-page-actions > * {
1746 margin: 0 1px -1px 0;
1753 #cbi-network .td
[id
] > strong
{
1757 #cbi-network-switch_vlan .td
.cbi-section-actions
{