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 #applyreboot-section {
387 .lang_he #maincontent {
393 font-family: Trebuchet MS
, Verdana
, sans-serif
;
395 margin: .25em 0 .5em 0;
396 border-bottom: 1px solid
;
410 fieldset
{ border: none
; }
411 fieldset
> legend
{ float: left
; }
412 fieldset
> legend
+ * { clear: both
; }
423 .cbi-section > legend {
428 margin-bottom: 0.5em;
432 .cbi-section-descr:empty {
440 .cbi-title-ref::after {
448 input:-webkit-input-placeholder
{
452 input:-moz-placeholder
{
456 input:-ms-input-placeholder
{
473 border-color: #000000;
481 input:not
(.btn
):not
(.cbi-button
):hover
,
484 background-color: #ffffff;
489 input
[type
=password
] {
495 input
[type
=password
] {
507 input
[type
=checkbox
],
508 [data-dynlist
] > input
+ img
,
509 input
.cbi-input-password
+ img
{
510 vertical-align: middle
;
515 .td input[type=text] {
519 .td
[data-dynlist
] > input
,
520 .td input.cbi-input-password {
521 width: calc
(100% - 20px);
524 img
.cbi-image-button
{
527 vertical-align: middle
;
533 border: 1px solid
#aaa;
534 text-decoration: none
;
536 display: inline-block
;
538 -webkit-appearance: none
;
546 .btn:hover, .cbi-button:hover {
547 box-shadow: 0 0 3px #37c;
551 .btn
[disabled
]:hover
,
552 .cbi-button
[disabled
],
553 .cbi-button[disabled]:hover {
556 pointer-events: none
;
559 .cbi-button-positive
,
560 .cbi-button-fieldadd
,
569 .cbi-button-download
,
586 .cbi-button-negative
,
587 .cbi-section-remove
.cbi-button
,
593 .cbi-button-action
.important
,
594 .cbi-page-actions
.cbi-button-apply
,
595 .cbi-section-actions .cbi-button-edit {
600 .cbi-button-positive
.important
,
601 .cbi-page-actions .cbi-button-save {
606 .cbi-button-negative.important {
611 .cbi-page-actions .cbi-button-apply + .cbi-button-save {
617 background-image: url
('../resources/cbi/reset.gif');
618 background-repeat: no-repeat
;
619 background-position: right
;
620 color: #FF0000 !important
;
621 border-color: #FF0000;
628 .table .td, .table .th {
636 border-top: 1px solid
#666666;
637 border-right: 1px solid
#666666;
638 border-bottom: 1px solid
#666666;
643 border-collapse: collapse
;
646 .table.smalltext .tr:hover .td {
647 background-color: #bbddee;
651 .table.smalltext .tr .th {
653 border-left: 1px solid
#666666;
657 .table.smalltext .tr .td {
659 border-top: 1px solid
#666666;
660 border-left: 1px solid
#666666;
664 background-color: #eeeeff;
674 vertical-align: middle
;
675 padding: 0.25em 0.6em;
676 border-bottom: 1px dotted
#bbbbbb;
696 .td.cbi-value-field {
700 vertical-align: middle
;
703 .cbi-value-description {
704 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
705 background-position: .25em .25em;
706 background-repeat: no-repeat
;
708 padding: .25em .25em .25em 1.75em;
711 .cbi-section-create {
712 padding: 0 0 .25em 0;
714 display: inline-flex
;
718 .cbi-section-create > * {
723 .cbi-section-create > * > input {
727 .cbi-section-remove > .cbi-button {
729 border-radius: 3px 3px 0 0;
732 .cbi-section-node + .cbi-section-create {
742 border-bottom: 1px dotted
#bbbbbb;
749 border: 1px dotted
#555;
754 .cbi-section-node-tabbed {
759 .cbi-section-node
.cbi-value:last-child
,
760 .cbi-section-node .cbi-optionals:last-child {
764 .table.cbi-section-table {
767 border: 1px dotted
#444;
772 .cbi-section-node > .table.cbi-section-table {
783 .tr.cbi-section-table-row.flash {
784 animation: flash
.35s;
787 .tr.cbi-section-table-descr .th {
793 .td.cbi-section-table-optionals {
794 text-align: left
!important
;
798 .th
.cbi-section-actions
,
799 .td.cbi-section-actions {
802 vertical-align: middle
;
805 .th
.cbi-section-actions
> *,
806 .td.cbi-section-actions > * {
808 justify-content: flex-end
;
811 margin: auto
-1px auto auto
;
814 .td
.cbi-section-actions
> * > *,
815 .td.cbi-section-actions > * > form > * {
820 .td.cbi-section-actions > * > form {
827 justify-content: flex-end
;
831 .cbi-page-actions > form {
835 .cbi-page-actions > * {
840 .cbi-page-actions > form > * {
845 .cbi-page-actions
> .cbi-button-save
,
846 .cbi-page-actions
> .cbi-button-apply
,
847 .cbi-page-actions > form[method="post"] {
852 .cbi-page-actions
> .cbi-button-save
,
853 .cbi-page-actions
> .cbi-button-apply
,
854 .cbi-page-actions > form[method="post"] {
858 .cbi-page-actions
> .cbi-button-apply
+ .cbi-button-save
,
859 .cbi-page-actions
> .cbi-button-save
+ form
[method
="post"],
860 .cbi-page-actions > form[method="post"] + form[method="post"] {
864 .th
[data-type
="button"], .td
[data-type
="button"],
865 .th[data-type="fvalue"], .td[data-type="fvalue"] {
870 #cbi-network-switch_vlan .th
,
871 #cbi-network-switch_vlan .td
{
875 .td[data-title]::before {
876 content: attr
(data-title
) ":\20";
884 .td[data-description]::after {
885 content: attr
(data-description
);
889 background: url
(/luci-static
/resources
/cbi
/help
.gif
) left top no-repeat
;
890 padding: .125em 0 .125em 18px;
894 .tr
.placeholder
.td
[data-title
]::before
,
895 .tr.placeholder .td[data-description]::after {
899 .tr
[data-title
]::before
,
900 .tr.cbi-section-table-titles.named::before {
901 content: attr
(data-title
) "\20";
909 word-wrap: break-word
;
910 vertical-align: middle
;
913 .cbi-value-helpicon img {
914 vertical-align: bottom
;
917 .td.cbi-value-error {
921 .cbi-value-error input
,
922 .cbi-value-error select {
924 background-color: #ffcccc;
929 background-color: white
;
931 border: 1px dotted red
;
936 .cbi-value-field var {
941 list-style-type: none
;
943 margin: 0 0 .5em 0 !important
;
945 border-bottom: 1px solid
#bbb;
949 display: inline-flex
;
950 margin: 0 5px -1px 0;
952 border: 1px solid
#bbb;
954 border-radius: 3px 3px 0 0;
955 background: linear-gradient
(#ddd 90%, #aaa 100%);
958 text-overflow: ellipsis
;
959 word-wrap: break-word
;
963 ul
.cbi-tabmenu li
a:hover
{
964 text-decoration: none
;
972 ul
.cbi-tabmenu li
.cbi-tab-highlighted
{
977 ul
.cbi-tabmenu li
.cbi-tab
{
983 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
984 background-position: .25em 50%;
985 background-repeat: no-repeat
;
986 border-bottom: 1px solid
#ccc;
987 margin: 0 .25em .25em .25em;
988 padding: .5em .5em .5em 2em;
993 border: 1px inset
#000;
994 display: inline-flex
;
1004 .cbi-dropdown:hover {
1008 .cbi-dropdown:focus {
1009 outline: 2px solid
#4b6e9b;
1012 .cbi-dropdown > ul {
1013 margin: 0 !important
;
1022 .cbi-dropdown > ul.preview {
1026 .cbi-dropdown > .open {
1027 border: 2px outset
#eee;
1031 .cbi-dropdown
> .open
,
1032 .cbi-dropdown > .more {
1036 flex-direction: column
;
1037 justify-content: center
;
1043 .cbi-dropdown
> .more
,
1044 .cbi-dropdown > ul > li[placeholder] {
1047 text-shadow: 1px 1px 0px #fff;
1051 .cbi-dropdown > ul > li {
1054 white-space: nowrap
;
1056 text-overflow: ellipsis
;
1059 align-items: center
;
1064 .cbi-dropdown > ul > li .hide-open { display: initial
; }
1065 .cbi-dropdown > ul > li .hide-close { display: none
; }
1067 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1068 border-left: 1px solid
#ccc;
1071 .cbi-dropdown[empty] > ul {
1075 .cbi-dropdown > ul > li > form {
1079 pointer-events: none
;
1082 .cbi-dropdown > ul > li img {
1083 vertical-align: middle
;
1084 margin-right: .25em;
1087 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1091 .cbi-dropdown > ul > li input[type="text"] {
1095 .cbi-dropdown[open] {
1099 .cbi-dropdown[open] > ul.dropdown {
1101 background: #f6f6f5;
1102 border: 1px solid
#918e8c;
1103 box-shadow: 0 0 4px #918e8c;
1111 .cbi-dropdown
> ul
> li
[display
],
1112 .cbi-dropdown
[open
] > ul
.preview
,
1113 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1114 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1115 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1116 .cbi-dropdown
[multiple
][more
] > .more
,
1117 .cbi-dropdown[multiple][empty] > .more {
1120 align-items: center
;
1123 .cbi-dropdown
[empty
] > ul
> li
,
1124 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1125 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1129 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1130 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: initial
; }
1132 .cbi-dropdown[open] > ul.dropdown > li {
1133 border-bottom: 1px solid
#ccc;
1136 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1137 background: #b0d0f0;
1140 .cbi-dropdown[open] > ul.dropdown > li.focus {
1141 background: linear-gradient
(90deg, #a3c2e8 0%, #84aad9 100%);
1144 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1146 border-bottom: none
;
1149 .cbi-dropdown[disabled] {
1150 pointer-events: none
;
1154 input
[type
="text"] + .cbi-button
,
1155 input
[type
="password"] + .cbi-button
,
1156 select
+ .cbi-button
{
1157 border-radius: 0 3px 3px 0;
1158 border: 1px outset
#000;
1159 margin: 0 0 1px -2px;
1161 vertical-align: top
;
1162 display: inline-block
;
1168 .cbi-tooltip-container {
1177 transition: opacity
.25s ease-out
;
1178 pointer-events: none
;
1179 box-shadow: 0 0 2px #444;
1182 .cbi-tooltip-container:hover .cbi-tooltip {
1185 transition: opacity
.25s ease-in
;
1188 .zonebadge .cbi-tooltip {
1190 background: inherit
;
1191 margin: -1.6em 0 0 -5px;
1200 .zone-forwards > * {
1205 .zone-forwards > span {
1210 .zone-forwards
.zone-src
,
1211 .zone-forwards .zone-dest {
1213 flex-direction: column
;
1217 .left, .left::before, .left::after { text-align: left
!important
; }
1218 .right, .right::before, .right::after { text-align: right
!important
; }
1219 .center, .center::before, .center::after { text-align: center
!important
; }
1221 .top, .top::before, .top::after { vertical-align: top
!important
; }
1222 .middle, .middle::before, .middle::after { vertical-align: middle
!important
; }
1223 .bottom, .bottom::before, .bottom::after { vertical-align: bottom
!important
; }
1225 .td.top { align-self: flex-start
; vertical-align: top
; }
1226 .td.middle { align-self: center
; vertical-align: middle
; }
1227 .td.bottom { align-self: flex-end
; vertical-align: bottom
; }
1240 background-color: transparent
;
1242 text-decoration: none
;
1251 white-space: normal
;
1252 border: 1px dotted
#ff0000;
1253 background-color: #ffffff;
1259 .ifacebadge, .ifacebox {
1260 display: inline-flex
;
1261 align-content: center
;
1262 border: 1px solid
#ccc;
1272 .ifacebox-head.active {
1273 background: #90c0e0;
1276 .ifacebadge, .zonebadge {
1277 align-items: center
;
1281 align-self: flex-start
;
1287 display: inline-block
;
1291 .ifacebadge-active {
1292 border-color: #000000;
1297 flex-direction: column
;
1311 vertical-align: top
;
1314 .network-status-table {
1317 margin: -.25em -.25em .25em -.25em;
1320 .network-status-table .ifacebox {
1326 .network-status-table .ifacebox-body {
1328 flex-direction: column
;
1333 .network-status-table .ifacebox-body > span {
1337 .network-status-table .ifacebox-body > div {
1343 .network-status-table .ifacebox-body .ifacebadge {
1345 -webkit-flex: 1 1 auto
;
1348 white-space: nowrap
;
1351 .network-status-table .ifacebox-body .ifacebadge {
1355 #dsl_status_table .ifacebox-body
> span
> strong
{
1356 display: inline-block
;
1363 display: inline-block
;
1364 white-space: nowrap
;
1369 .zonebadge > strong {
1378 .zonebadge
.ifacebadge
,
1379 .cbi-dropdown .ifacebadge {
1383 .zonebadge
.ifacebadge img
,
1384 .zonebadge
.ifacebadge em
,
1385 .cbi-dropdown
.ifacebadge img
,
1386 .cbi-dropdown .ifacebadge em {
1391 border: 1px dashed
#AAAAAA;
1399 font-family: monospace
;
1403 .uci-change-list del
,
1404 .uci-change-list ins
,
1405 .uci-change-list var
,
1406 .uci-change-legend-label del
,
1407 .uci-change-legend-label ins
,
1408 .uci-change-legend-label var {
1409 text-decoration: none
;
1411 border: 1px solid
#ccc;
1419 .uci-change-list ins
,
1420 .uci-change-legend-label ins {
1425 .uci-change-list del
,
1426 .uci-change-legend-label del {
1431 .uci-change-list var
,
1432 .uci-change-legend-label var {
1437 .uci-change-list var ins
,
1438 .uci-change-list var del {
1439 display: inline-block
;
1445 .uci-change-legend {
1449 .uci-change-legend-label {
1455 .uci-change-legend-label
>ins
,
1456 .uci-change-legend-label
>del
,
1457 .uci-change-legend-label>var {
1466 .uci-change-legend-label var ins
,
1467 .uci-change-legend-label var del {
1479 @media screen and
(max-width: 992px) {
1481 -webkit-text-size-adjust: 100%;
1485 flex-direction: column
;
1500 box-shadow: 0 0 2px #444;
1502 border-top: 1px solid
#444;
1506 #mainmenu ul
> li
.selected
> a
{
1512 #mainmenu ul
> li
.selected:not
(.active
) > ul
{
1517 #mainmenu ul
> li
> a
{
1520 border: 1px solid
#444;
1521 border-width: 0 0 1px 1px;
1526 flex-direction: row
;
1533 #mainmenu ul
.l1
> li
{
1534 display: inline-flex
;
1540 #mainmenu ul
.l1 ul
.l2
{
1546 box-shadow: 0 0 2px #444;
1551 #mainmenu ul
.l1 ul
.l2
.align-left
{
1556 #mainmenu ul
.l2
> li
{
1560 #mainmenu ul
.l2
> li
> a
{
1564 #mainmenu ul li
.mainmenu-item-logout
{
1569 #mainmenu ul li
.mainmenu-item-logout::before
{
1572 border: 1px solid
#444;
1573 border-width: 0 0 1px 1px;
1578 flex-direction: column
;
1584 flex-direction: row
;
1586 align-items: flex-end
;
1591 align-self: flex-start
;
1593 text-overflow: ellipsis
;
1594 word-wrap: break-word
;
1595 display: inline-block
;
1602 .td
[data-type
="button"],
1603 .td[data-type="fvalue"] {
1608 .td.cbi-value-field {
1609 align-self: flex-start
;
1612 .td.cbi-value-field .cbi-button {
1616 .table.cbi-section-table {
1623 .cbi-section-table-titles
,
1624 .cbi-section-table-descr {
1628 .cbi-section-table-row {
1630 flex-direction: row
;
1632 border: 1px dotted
#444;
1637 .cbi-section-table-row:hover {
1638 border: 1px solid
#4a6b7c;
1641 .cbi-section-table + .cbi-section-create {
1645 .tr[data-title]::before {
1651 .td
[data-title
]::before
,
1652 .td[data-description]::after {
1656 .td[data-title] ~ .td.cbi-section-actions {
1657 align-self: flex-start
;
1660 .td[data-title] ~ .td.cbi-section-actions::before {
1670 #dsl_status_table .ifacebox-body
> span
> strong
{
1675 @media screen and
(max-width: 480px) {
1680 input
, textarea
, select
{
1681 font-size: 12pt !important
;
1685 select
, input
[type
="text"], input
[type
="password"] {
1690 [data-dynlist
] > input
,
1691 input
.cbi-input-password
{
1692 width: calc
(100% - 20px);
1700 font-size: 9pt !important
;
1709 margin: -.25em -.25em 1em -.25em;
1716 .td.cbi-value-field {
1720 .td.cbi-value-field[data-type="dvalue"] {
1724 .td
.cbi-value-field
[data-type
="button"],
1725 .td.cbi-value-field[data-type="fvalue"] {
1740 .cbi-value-description {
1745 .cbi-section-create {
1754 .cbi-page-actions > .cbi-button-link {
1759 .cbi-page-actions > * {
1770 margin: 0 1px -1px 0;
1777 #cbi-network .td
[id
] > strong
{
1781 #cbi-network-switch_vlan .td
.cbi-section-actions
{
1785 #dsl_status_table .ifacebox-body
> span
> strong
{