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"] {
858 .th
[data-type
="button"], .td
[data-type
="button"],
859 .th[data-type="fvalue"], .td[data-type="fvalue"] {
864 #cbi-network-switch_vlan .th
,
865 #cbi-network-switch_vlan .td
{
869 .td[data-title]::before {
870 content: attr
(data-title
) ":\20";
878 .td[data-description]::after {
879 content: attr
(data-description
);
883 background: url
(/luci-static
/resources
/cbi
/help
.gif
) left top no-repeat
;
884 padding: .125em 0 .125em 18px;
888 .tr
.placeholder
.td
[data-title
]::before
,
889 .tr.placeholder .td[data-description]::after {
893 .tr
[data-title
]::before
,
894 .tr.cbi-section-table-titles.named::before {
895 content: attr
(data-title
) "\20";
903 word-wrap: break-word
;
904 vertical-align: middle
;
907 .cbi-value-helpicon img {
908 vertical-align: bottom
;
911 .td.cbi-value-error {
915 .cbi-value-error input
,
916 .cbi-value-error select {
918 background-color: #ffcccc;
923 background-color: white
;
925 border: 1px dotted red
;
930 .cbi-value-field var {
935 list-style-type: none
;
937 margin: 0 0 .5em 0 !important
;
939 border-bottom: 1px solid
#bbb;
943 display: inline-flex
;
944 margin: 0 5px -1px 0;
946 border: 1px solid
#bbb;
948 border-radius: 3px 3px 0 0;
949 background: linear-gradient
(#ddd 90%, #aaa 100%);
952 text-overflow: ellipsis
;
953 word-wrap: break-word
;
957 ul
.cbi-tabmenu li
a:hover
{
958 text-decoration: none
;
966 ul
.cbi-tabmenu li
.cbi-tab-highlighted
{
971 ul
.cbi-tabmenu li
.cbi-tab
{
977 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
978 background-position: .25em 50%;
979 background-repeat: no-repeat
;
980 border-bottom: 1px solid
#ccc;
981 margin: 0 .25em .25em .25em;
982 padding: .5em .5em .5em 2em;
987 border: 1px inset
#000;
988 display: inline-flex
;
998 .cbi-dropdown:hover {
1002 .cbi-dropdown:focus {
1003 outline: 2px solid
#4b6e9b;
1006 .cbi-dropdown > ul {
1007 margin: 0 !important
;
1016 .cbi-dropdown > ul.preview {
1020 .cbi-dropdown > .open {
1021 border: 2px outset
#eee;
1025 .cbi-dropdown
> .open
,
1026 .cbi-dropdown > .more {
1030 flex-direction: column
;
1031 justify-content: center
;
1037 .cbi-dropdown
> .more
,
1038 .cbi-dropdown > ul > li[placeholder] {
1041 text-shadow: 1px 1px 0px #fff;
1045 .cbi-dropdown > ul > li {
1048 white-space: nowrap
;
1050 text-overflow: ellipsis
;
1053 align-items: center
;
1058 .cbi-dropdown > ul > li .hide-open { display: initial
; }
1059 .cbi-dropdown > ul > li .hide-close { display: none
; }
1061 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1062 border-left: 1px solid
#ccc;
1065 .cbi-dropdown[empty] > ul {
1069 .cbi-dropdown > ul > li > form {
1073 pointer-events: none
;
1076 .cbi-dropdown > ul > li img {
1077 vertical-align: middle
;
1078 margin-right: .25em;
1081 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1085 .cbi-dropdown > ul > li input[type="text"] {
1089 .cbi-dropdown[open] {
1093 .cbi-dropdown[open] > ul.dropdown {
1095 background: #f6f6f5;
1096 border: 1px solid
#918e8c;
1097 box-shadow: 0 0 4px #918e8c;
1105 .cbi-dropdown
> ul
> li
[display
],
1106 .cbi-dropdown
[open
] > ul
.preview
,
1107 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1108 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1109 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1110 .cbi-dropdown
[multiple
][more
] > .more
,
1111 .cbi-dropdown[multiple][empty] > .more {
1114 align-items: center
;
1117 .cbi-dropdown
[empty
] > ul
> li
,
1118 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1119 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1123 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1124 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: initial
; }
1126 .cbi-dropdown[open] > ul.dropdown > li {
1127 border-bottom: 1px solid
#ccc;
1130 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1131 background: #b0d0f0;
1134 .cbi-dropdown[open] > ul.dropdown > li.focus {
1135 background: linear-gradient
(90deg, #a3c2e8 0%, #84aad9 100%);
1138 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1140 border-bottom: none
;
1143 .cbi-dropdown[disabled] {
1144 pointer-events: none
;
1148 input
[type
="text"] + .cbi-button
,
1149 input
[type
="password"] + .cbi-button
,
1150 select
+ .cbi-button
{
1151 border-radius: 0 3px 3px 0;
1152 border: 1px outset
#000;
1153 margin: 0 0 1px -2px;
1155 vertical-align: top
;
1156 display: inline-block
;
1162 .cbi-tooltip-container {
1171 transition: opacity
.25s ease-out
;
1172 pointer-events: none
;
1173 box-shadow: 0 0 2px #444;
1176 .cbi-tooltip-container:hover .cbi-tooltip {
1179 transition: opacity
.25s ease-in
;
1182 .zonebadge .cbi-tooltip {
1184 background: inherit
;
1185 margin: -1.6em 0 0 -5px;
1194 .zone-forwards > * {
1199 .zone-forwards > span {
1204 .zone-forwards
.zone-src
,
1205 .zone-forwards .zone-dest {
1207 flex-direction: column
;
1211 .left, .left::before, .left::after { text-align: left
!important
; }
1212 .right, .right::before, .right::after { text-align: right
!important
; }
1213 .center, .center::before, .center::after { text-align: center
!important
; }
1215 .top, .top::before, .top::after { vertical-align: top
!important
; }
1216 .middle, .middle::before, .middle::after { vertical-align: middle
!important
; }
1217 .bottom, .bottom::before, .bottom::after { vertical-align: bottom
!important
; }
1219 .td.top { align-self: flex-start
; vertical-align: top
; }
1220 .td.middle { align-self: center
; vertical-align: middle
; }
1221 .td.bottom { align-self: flex-end
; vertical-align: bottom
; }
1234 background-color: transparent
;
1236 text-decoration: none
;
1245 white-space: normal
;
1246 border: 1px dotted
#ff0000;
1247 background-color: #ffffff;
1253 .ifacebadge, .ifacebox {
1254 display: inline-flex
;
1255 align-content: center
;
1256 border: 1px solid
#ccc;
1266 .ifacebox-head.active {
1267 background: #90c0e0;
1270 .ifacebadge, .zonebadge {
1271 align-items: center
;
1275 align-self: flex-start
;
1281 display: inline-block
;
1285 .ifacebadge-active {
1286 border-color: #000000;
1291 flex-direction: column
;
1305 vertical-align: top
;
1308 .network-status-table {
1311 margin: -.25em -.25em .25em -.25em;
1314 .network-status-table .ifacebox {
1320 .network-status-table .ifacebox-body {
1322 flex-direction: column
;
1327 .network-status-table .ifacebox-body > span {
1331 .network-status-table .ifacebox-body > div {
1337 .network-status-table .ifacebox-body .ifacebadge {
1339 -webkit-flex: 1 1 auto
;
1342 white-space: nowrap
;
1345 .network-status-table .ifacebox-body .ifacebadge {
1352 display: inline-block
;
1353 white-space: nowrap
;
1358 .zonebadge > strong {
1367 .zonebadge
.ifacebadge
,
1368 .cbi-dropdown .ifacebadge {
1372 .zonebadge
.ifacebadge img
,
1373 .zonebadge
.ifacebadge em
,
1374 .cbi-dropdown
.ifacebadge img
,
1375 .cbi-dropdown .ifacebadge em {
1380 border: 1px dashed
#AAAAAA;
1388 font-family: monospace
;
1391 .uci-change-list ins
,
1392 .uci-change-legend-label ins {
1393 text-decoration: none
;
1394 border: 1px solid
#00FF00;
1395 background-color: #CCFFCC;
1400 .uci-change-list del
,
1401 .uci-change-legend-label del {
1402 text-decoration: none
;
1403 border: 1px solid
#FF0000;
1404 background-color: #FFCCCC;
1410 .uci-change-list var
,
1411 .uci-change-legend-label var {
1412 text-decoration: none
;
1413 border: 1px solid
#CCCCCC;
1414 background-color: #EEEEEE;
1420 .uci-change-list var ins
,
1421 .uci-change-list var del {
1422 /*display: inline;*/
1429 .uci-change-legend {
1433 .uci-change-legend-label {
1439 .uci-change-legend-label
>ins
,
1440 .uci-change-legend-label
>del
,
1441 .uci-change-legend-label>var {
1449 .uci-change-legend-label var ins
,
1450 .uci-change-legend-label var del {
1458 @media screen and
(max-width: 992px) {
1460 -webkit-text-size-adjust: 100%;
1464 flex-direction: column
;
1479 box-shadow: 0 0 2px #444;
1481 border-top: 1px solid
#444;
1485 #mainmenu ul
> li
.selected
> a
{
1491 #mainmenu ul
> li
.selected:not
(.active
) > ul
{
1496 #mainmenu ul
> li
> a
{
1499 border: 1px solid
#444;
1500 border-width: 0 0 1px 1px;
1505 flex-direction: row
;
1512 #mainmenu ul
.l1
> li
{
1513 display: inline-flex
;
1519 #mainmenu ul
.l1 ul
.l2
{
1525 box-shadow: 0 0 2px #444;
1530 #mainmenu ul
.l1 ul
.l2
.align-left
{
1535 #mainmenu ul
.l2
> li
{
1539 #mainmenu ul
.l2
> li
> a
{
1543 #mainmenu ul li
.mainmenu-item-logout
{
1548 #mainmenu ul li
.mainmenu-item-logout::before
{
1551 border: 1px solid
#444;
1552 border-width: 0 0 1px 1px;
1557 flex-direction: column
;
1563 flex-direction: row
;
1565 align-items: flex-end
;
1570 align-self: flex-start
;
1572 text-overflow: ellipsis
;
1573 word-wrap: break-word
;
1574 display: inline-block
;
1581 .td
[data-type
="button"],
1582 .td[data-type="fvalue"] {
1587 .td.cbi-value-field {
1588 align-self: flex-start
;
1591 .td.cbi-value-field .cbi-button {
1595 .table.cbi-section-table {
1602 .cbi-section-table-titles
,
1603 .cbi-section-table-descr {
1607 .cbi-section-table-row {
1609 flex-direction: row
;
1611 border: 1px dotted
#444;
1616 .cbi-section-table-row:hover {
1617 border: 1px solid
#4a6b7c;
1620 .cbi-section-table + .cbi-section-create {
1624 .tr[data-title]::before {
1630 .td
[data-title
]::before
,
1631 .td[data-description]::after {
1635 .td[data-title] ~ .td.cbi-section-actions {
1636 align-self: flex-start
;
1639 .td[data-title] ~ .td.cbi-section-actions::before {
1650 @media screen and
(max-width: 480px) {
1655 input
, textarea
, select
{
1656 font-size: 12pt !important
;
1660 select
, input
[type
="text"], input
[type
="password"] {
1665 [data-dynlist
] > input
,
1666 input
.cbi-input-password
{
1667 width: calc
(100% - 20px);
1675 font-size: 9pt !important
;
1684 margin: -.25em -.25em 1em -.25em;
1691 .td.cbi-value-field {
1695 .td.cbi-value-field[data-type="dvalue"] {
1699 .td
.cbi-value-field
[data-type
="button"],
1700 .td.cbi-value-field[data-type="fvalue"] {
1715 .cbi-value-description {
1720 .cbi-section-create {
1729 .cbi-page-actions > .cbi-button-link {
1734 .cbi-page-actions > * {
1745 margin: 0 1px -1px 0;
1752 #cbi-network .td
[id
] > strong
{
1756 #cbi-network-switch_vlan .td
.cbi-section-actions
{