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;
237 .alert-message, .cbi-tooltip.error {
243 .alert-message.notice, .cbi-tooltip.notice {
249 .alert-message.warning, .cbi-tooltip.warning {
263 .lang_he div.hostinfo {
271 #xhr_poll_status #xhr_poll_status_off
{
276 #xhr_poll_status #xhr_poll_status_on
{
290 background-color: #557788;
293 html #menubar
a:link
,
294 html #menubar
a:visited
{
300 text-decoration: none
;
304 html #menubar
a:link:hover
,
305 html #menubar
a:visited:hover
,
306 html #menubar
a:link:active
,
307 html #menubar
a:visited:active
,
308 #menubar a:link:focus
,
309 #menubar a:visited:focus
{
315 html #menubar
a:link
.active
,
316 html #menubar
a:visited
.active
,
317 html #menubar
a:link
.preactive
,
318 html #menubar
a:visited
.preactive
{
324 html #menubar
a:link
.warning
,
325 html #menubar
a:visited
.warning
{
354 .lang_de #submenu_admin_uci {
358 .lang_ru #submenu_admin_uci {
365 border: 3px solid
#cccccc;
367 font-family: monospace
;
381 border-width: 0 1px 1px 1px;
383 border-color: #444444;
386 #applyreboot-section {
391 .lang_he #maincontent {
397 font-family: Trebuchet MS
, Verdana
, sans-serif
;
399 margin: .25em 0 .5em 0;
400 border-bottom: 1px solid
;
414 fieldset
{ border: none
; }
415 fieldset
> legend
{ float: left
; }
416 fieldset
> legend
+ * { clear: both
; }
427 .cbi-section > legend {
432 margin-bottom: 0.5em;
436 .cbi-section-descr:empty {
444 .cbi-title-ref::after {
452 input:-webkit-input-placeholder
{
456 input:-moz-placeholder
{
460 input:-ms-input-placeholder
{
477 border-color: #000000;
485 input:not
(.btn
):not
(.cbi-button
):hover
,
488 background-color: #ffffff;
493 input
[type
=password
] {
499 input
[type
=password
] {
511 input
[type
=checkbox
],
512 [data-dynlist
] > input
+ img
,
513 input
.cbi-input-password
+ img
{
514 vertical-align: middle
;
519 .td input
[type
=text
],
520 .cbi-dynlist > .add-item > .cbi-dropdown {
524 .td
[data-dynlist
] > input
,
525 .td input.cbi-input-password {
526 width: calc
(100% - 20px);
529 img
.cbi-image-button
{
532 vertical-align: middle
;
535 .btn, .cbi-button, .item::after {
538 border: 1px solid
#aaa;
539 text-decoration: none
;
541 display: inline-block
;
543 -webkit-appearance: none
;
549 box-sizing: border-box
;
553 .btn:hover, .cbi-button:hover, .item:hover::after {
554 box-shadow: 0 0 3px #37c;
558 .btn
[disabled
]:hover
,
559 .cbi-button
[disabled
],
560 .cbi-button[disabled]:hover {
563 pointer-events: none
;
566 .cbi-button-positive
,
567 .cbi-button-fieldadd
,
576 .cbi-button-download
,
593 .cbi-button-negative
,
594 .cbi-section-remove
.cbi-button
,
600 .cbi-button-action
.important
,
601 .cbi-page-actions
.cbi-button-apply
,
602 .cbi-section-actions .cbi-button-edit {
607 .cbi-button-positive
.important
,
608 .cbi-page-actions .cbi-button-save {
613 .cbi-button-negative.important {
618 .cbi-page-actions .cbi-button-apply + .cbi-button-save {
623 .cbi-input-invalid:not([open]) {
624 color: #FF0000 !important
;
625 border-color: #FF0000;
632 .table .td, .table .th {
640 border-top: 1px solid
#666666;
641 border-right: 1px solid
#666666;
642 border-bottom: 1px solid
#666666;
647 border-collapse: collapse
;
650 .table.smalltext .tr:hover .td {
651 background-color: #bbddee;
655 .table.smalltext .tr .th {
657 border-left: 1px solid
#666666;
661 .table.smalltext .tr .td {
663 border-top: 1px solid
#666666;
664 border-left: 1px solid
#666666;
668 background-color: #eeeeff;
678 vertical-align: middle
;
679 padding: 0.25em 0.6em;
680 border-bottom: 1px dotted
#bbbbbb;
700 .td.cbi-value-field {
704 vertical-align: middle
;
707 .cbi-value-description {
708 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
709 background-position: .25em .25em;
710 background-repeat: no-repeat
;
712 padding: .25em .25em .25em 1.75em;
715 .cbi-section-create {
716 padding: 0 0 .25em 0;
718 display: inline-flex
;
722 .cbi-section-create > * {
727 .cbi-section-create > * > input {
731 .cbi-section-remove > .cbi-button {
733 border-radius: 3px 3px 0 0;
736 .cbi-section-node + .cbi-section-create {
746 border-bottom: 1px dotted
#bbbbbb;
753 border: 1px dotted
#555;
758 .cbi-section-node-tabbed {
763 .cbi-section-node
.cbi-value:last-child
,
764 .cbi-section-node .cbi-optionals:last-child {
768 .table.cbi-section-table {
771 border: 1px dotted
#444;
776 .cbi-section-node > .table.cbi-section-table {
787 .tr.cbi-section-table-row.flash {
788 animation: flash
.35s;
791 .tr.cbi-section-table-descr .th {
797 .td.cbi-section-table-optionals {
798 text-align: left
!important
;
802 .th
.cbi-section-actions
,
803 .td.cbi-section-actions {
806 vertical-align: middle
;
809 .th
.cbi-section-actions
> *,
810 .td.cbi-section-actions > * {
812 justify-content: flex-end
;
815 margin: auto
-1px auto auto
;
818 .td
.cbi-section-actions
> * > *,
819 .td.cbi-section-actions > * > form > * {
824 .td.cbi-section-actions > * > form {
831 justify-content: flex-end
;
835 .cbi-page-actions > form {
839 .cbi-page-actions > * {
844 .cbi-page-actions > form > * {
849 .cbi-page-actions
> .cbi-button-save
,
850 .cbi-page-actions
> .cbi-button-apply
,
851 .cbi-page-actions > form[method="post"] {
856 .cbi-page-actions
> .cbi-button-save
,
857 .cbi-page-actions
> .cbi-button-apply
,
858 .cbi-page-actions > form[method="post"] {
862 .cbi-page-actions
> .cbi-button-apply
+ .cbi-button-save
,
863 .cbi-page-actions
> .cbi-button-save
+ form
[method
="post"],
864 .cbi-page-actions > form[method="post"] + form[method="post"] {
868 .th
[data-type
="button"], .td
[data-type
="button"],
869 .th[data-type="fvalue"], .td[data-type="fvalue"] {
874 #cbi-network-switch_vlan .th
,
875 #cbi-network-switch_vlan .td
{
879 .td[data-title]::before {
880 content: attr
(data-title
) ":\20";
888 .td[data-description]::after {
889 content: attr
(data-description
);
893 background: url
(/luci-static
/resources
/cbi
/help
.gif
) left top no-repeat
;
894 padding: .125em 0 .125em 18px;
898 .tr
.placeholder
.td
[data-title
]::before
,
899 .tr.placeholder .td[data-description]::after {
903 .tr
[data-title
]::before
,
904 .tr.cbi-section-table-titles.named::before {
905 content: attr
(data-title
) "\20";
913 word-wrap: break-word
;
914 vertical-align: middle
;
917 .cbi-value-helpicon img {
918 vertical-align: bottom
;
921 .td.cbi-value-error {
925 .cbi-value-error input
,
926 .cbi-value-error select {
928 background-color: #ffcccc;
933 background-color: white
;
935 border: 1px dotted red
;
940 .cbi-value-field var {
945 list-style-type: none
;
947 margin: 0 0 .5em 0 !important
;
949 border-bottom: 1px solid
#bbb;
953 display: inline-flex
;
954 margin: 0 5px -1px 0;
956 border: 1px solid
#bbb;
958 border-radius: 3px 3px 0 0;
959 background: linear-gradient
(#ddd 90%, #aaa 100%);
962 text-overflow: ellipsis
;
963 word-wrap: break-word
;
967 ul
.cbi-tabmenu li
a:hover
{
968 text-decoration: none
;
976 ul
.cbi-tabmenu li
.cbi-tab-highlighted
{
981 ul
.cbi-tabmenu li
.cbi-tab
{
987 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
988 background-position: .25em 50%;
989 background-repeat: no-repeat
;
990 border-bottom: 1px solid
#ccc;
991 margin: 0 .25em .25em .25em;
992 padding: .5em .5em .5em 2em;
997 border: 1px inset
#000;
998 display: inline-flex
;
1008 .cbi-dropdown:hover {
1012 .cbi-dropdown:focus
,
1013 .cbi-dynlist > .item:focus {
1014 outline: 2px solid
#4b6e9b;
1017 .cbi-dropdown > ul {
1018 margin: 0 !important
;
1027 .cbi-dropdown > ul.preview {
1031 .cbi-dropdown > .open {
1032 border: 2px outset
#eee;
1036 .cbi-dropdown
> .open
,
1037 .cbi-dropdown > .more {
1041 flex-direction: column
;
1042 justify-content: center
;
1047 .cbi-dropdown
> .more
,
1048 .cbi-dropdown > ul > li[placeholder] {
1051 text-shadow: 1px 1px 0px #fff;
1055 .cbi-dropdown > ul > li {
1058 white-space: nowrap
;
1060 text-overflow: ellipsis
;
1063 align-items: center
;
1068 .cbi-dropdown > ul > li .hide-open { display: initial
; }
1069 .cbi-dropdown > ul > li .hide-close { display: none
; }
1071 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1072 border-left: 1px solid
#ccc;
1075 .cbi-dropdown[empty] > ul {
1079 .cbi-dropdown > ul > li > form {
1083 pointer-events: none
;
1086 .cbi-dropdown > ul > li img {
1087 vertical-align: middle
;
1088 margin-right: .25em;
1091 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1095 .cbi-dropdown > ul > li input[type="text"] {
1099 .cbi-dropdown[open] {
1103 .cbi-dropdown[open] > ul.dropdown {
1105 background: #f6f6f5;
1106 border: 1px solid
#918e8c;
1107 box-shadow: 0 0 4px #918e8c;
1115 .cbi-dropdown
> ul
> li
[display
],
1116 .cbi-dropdown
[open
] > ul
.preview
,
1117 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1118 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1119 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1120 .cbi-dropdown
[multiple
][more
] > .more
,
1121 .cbi-dropdown[multiple][empty] > .more {
1124 align-items: center
;
1127 .cbi-dropdown
[empty
] > ul
> li
,
1128 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1129 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1133 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1134 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: initial
; }
1136 .cbi-dropdown[open] > ul.dropdown > li {
1137 border-bottom: 1px solid
#ccc;
1140 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1141 background: #b0d0f0;
1144 .cbi-dropdown[open] > ul.dropdown > li.focus {
1145 background: linear-gradient
(90deg, #a3c2e8 0%, #84aad9 100%);
1148 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1150 border-bottom: none
;
1153 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1157 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1161 .cbi-dropdown[disabled] {
1162 pointer-events: none
;
1172 display: inline-flex
;
1173 flex-direction: column
;
1176 .cbi-dynlist > .item {
1179 padding: 2px 2em 2px 4px;
1180 border: 1px outset
#000;
1183 pointer-events: none
;
1185 text-overflow: ellipsis
;
1186 white-space: nowrap
;
1189 .cbi-dynlist > .item::after {
1192 display: inline-flex
;
1193 align-items: center
;
1198 border: 1px outset
#000;
1200 border-radius: 0 3px 3px 0;
1203 pointer-events: auto
;
1207 input
[type
="text"] + .cbi-button
,
1208 input
[type
="password"] + .cbi-button
,
1209 select
+ .cbi-button
{
1210 border-radius: 0 3px 3px 0;
1211 border: 1px outset
#000;
1212 margin: 0 0 1px -2px;
1214 vertical-align: top
;
1215 display: inline-block
;
1221 .cbi-tooltip-container {
1234 transition: opacity
.25s ease-out
;
1235 pointer-events: none
;
1236 box-shadow: 0 0 2px #444;
1239 .cbi-tooltip-container:hover .cbi-tooltip {
1242 transition: opacity
.25s ease-in
;
1245 .zonebadge .cbi-tooltip {
1247 background: inherit
;
1248 margin: -1.6em 0 0 -5px;
1257 .zone-forwards > * {
1262 .zone-forwards > span {
1267 .zone-forwards
.zone-src
,
1268 .zone-forwards .zone-dest {
1270 flex-direction: column
;
1274 .left, .left::before, .left::after { text-align: left
!important
; }
1275 .right, .right::before, .right::after { text-align: right
!important
; }
1276 .center, .center::before, .center::after { text-align: center
!important
; }
1278 .top, .top::before, .top::after { vertical-align: top
!important
; }
1279 .middle, .middle::before, .middle::after { vertical-align: middle
!important
; }
1280 .bottom, .bottom::before, .bottom::after { vertical-align: bottom
!important
; }
1282 .td.top { align-self: flex-start
; vertical-align: top
; }
1283 .td.middle { align-self: center
; vertical-align: middle
; }
1284 .td.bottom { align-self: flex-end
; vertical-align: bottom
; }
1297 background-color: transparent
;
1299 text-decoration: none
;
1308 white-space: normal
;
1309 border: 1px dotted
#ff0000;
1310 background-color: #ffffff;
1316 .ifacebadge, .ifacebox {
1317 display: inline-flex
;
1318 align-content: center
;
1319 border: 1px solid
#ccc;
1329 .ifacebox-head.active {
1330 background: #90c0e0;
1333 .ifacebadge, .zonebadge {
1334 align-items: center
;
1338 align-self: flex-start
;
1344 display: inline-block
;
1348 .ifacebadge-active {
1349 border-color: #000000;
1354 flex-direction: column
;
1368 vertical-align: top
;
1371 .network-status-table {
1374 margin: -.25em -.25em .25em -.25em;
1377 .network-status-table .ifacebox {
1383 .network-status-table .ifacebox-body {
1385 flex-direction: column
;
1390 .network-status-table .ifacebox-body > span {
1394 .network-status-table .ifacebox-body > div {
1400 .network-status-table .ifacebox-body .ifacebadge {
1402 -webkit-flex: 1 1 auto
;
1405 white-space: nowrap
;
1408 .network-status-table .ifacebox-body .ifacebadge {
1412 #dsl_status_table .ifacebox-body
> span
> strong
{
1413 display: inline-block
;
1420 display: inline-block
;
1421 white-space: nowrap
;
1426 .zonebadge > strong {
1435 .zonebadge
.ifacebadge
,
1436 .cbi-dropdown .ifacebadge {
1440 .zonebadge
.ifacebadge img
,
1441 .zonebadge
.ifacebadge em
,
1442 .cbi-dropdown
.ifacebadge img
,
1443 .cbi-dropdown .ifacebadge em {
1448 border: 1px dashed
#AAAAAA;
1456 font-family: monospace
;
1460 .uci-change-list del
,
1461 .uci-change-list ins
,
1462 .uci-change-list var
,
1463 .uci-change-legend-label del
,
1464 .uci-change-legend-label ins
,
1465 .uci-change-legend-label var {
1466 text-decoration: none
;
1468 border: 1px solid
#ccc;
1476 .uci-change-list ins
,
1477 .uci-change-legend-label ins {
1482 .uci-change-list del
,
1483 .uci-change-legend-label del {
1488 .uci-change-list var
,
1489 .uci-change-legend-label var {
1494 .uci-change-list var ins
,
1495 .uci-change-list var del {
1496 display: inline-block
;
1502 .uci-change-legend {
1506 .uci-change-legend-label {
1512 .uci-change-legend-label
>ins
,
1513 .uci-change-legend-label
>del
,
1514 .uci-change-legend-label>var {
1523 .uci-change-legend-label var ins
,
1524 .uci-change-legend-label var del {
1536 @media screen and
(max-width: 992px) {
1538 -webkit-text-size-adjust: 100%;
1542 flex-direction: column
;
1557 box-shadow: 0 0 2px #444;
1559 border-top: 1px solid
#444;
1563 #mainmenu ul
> li
.selected
> a
{
1569 #mainmenu ul
> li
.selected:not
(.active
) > ul
{
1574 #mainmenu ul
> li
> a
{
1577 border: 1px solid
#444;
1578 border-width: 0 0 1px 1px;
1583 flex-direction: row
;
1590 #mainmenu ul
.l1
> li
{
1591 display: inline-flex
;
1597 #mainmenu ul
.l1 ul
.l2
{
1603 box-shadow: 0 0 2px #444;
1608 #mainmenu ul
.l1 ul
.l2
.align-left
{
1613 #mainmenu ul
.l2
> li
{
1617 #mainmenu ul
.l2
> li
> a
{
1621 #mainmenu ul li
.mainmenu-item-logout
{
1626 #mainmenu ul li
.mainmenu-item-logout::before
{
1629 border: 1px solid
#444;
1630 border-width: 0 0 1px 1px;
1635 flex-direction: column
;
1641 flex-direction: row
;
1643 align-items: flex-end
;
1648 align-self: flex-start
;
1650 text-overflow: ellipsis
;
1651 word-wrap: break-word
;
1652 display: inline-block
;
1659 .td
[data-type
="button"],
1660 .td[data-type="fvalue"] {
1665 .td.cbi-value-field {
1666 align-self: flex-start
;
1669 .td.cbi-value-field .cbi-button {
1673 .table.cbi-section-table {
1680 .cbi-section-table-titles
,
1681 .cbi-section-table-descr {
1685 .cbi-section-table-row {
1687 flex-direction: row
;
1689 border: 1px dotted
#444;
1694 .cbi-section-table-row:hover {
1695 border: 1px solid
#4a6b7c;
1698 .cbi-section-table + .cbi-section-create {
1702 .tr[data-title]::before {
1708 .td
[data-title
]::before
,
1709 .td[data-description]::after {
1713 .td[data-title] ~ .td.cbi-section-actions {
1714 align-self: flex-start
;
1717 .td[data-title] ~ .td.cbi-section-actions::before {
1727 #dsl_status_table .ifacebox-body
> span
> strong
{
1732 @media screen and
(max-width: 480px) {
1737 input
, textarea
, select
{
1738 font-size: 12pt !important
;
1742 select
, input
[type
="text"], input
[type
="password"] {
1747 input
.cbi-input-password
{
1748 width: calc
(100% - 20px);
1758 font-size: 9pt !important
;
1767 margin: -.25em -.25em 1em -.25em;
1774 .td.cbi-value-field {
1778 .td.cbi-value-field[data-type="dvalue"] {
1782 .td
.cbi-value-field
[data-type
="button"],
1783 .td.cbi-value-field[data-type="fvalue"] {
1798 .cbi-value-description {
1803 .cbi-section-create {
1812 .cbi-page-actions > .cbi-button-link {
1817 .cbi-page-actions > * {
1828 margin: 0 1px -1px 0;
1835 #cbi-network .td
[id
] > strong
{
1839 #cbi-network-switch_vlan .td
.cbi-section-actions
{
1843 #dsl_status_table .ifacebox-body
> span
> strong
{