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 {
624 background-image: url
('../resources/cbi/reset.gif');
625 background-repeat: no-repeat
;
626 background-position: right
;
627 color: #FF0000 !important
;
628 border-color: #FF0000;
635 .table .td, .table .th {
643 border-top: 1px solid
#666666;
644 border-right: 1px solid
#666666;
645 border-bottom: 1px solid
#666666;
650 border-collapse: collapse
;
653 .table.smalltext .tr:hover .td {
654 background-color: #bbddee;
658 .table.smalltext .tr .th {
660 border-left: 1px solid
#666666;
664 .table.smalltext .tr .td {
666 border-top: 1px solid
#666666;
667 border-left: 1px solid
#666666;
671 background-color: #eeeeff;
681 vertical-align: middle
;
682 padding: 0.25em 0.6em;
683 border-bottom: 1px dotted
#bbbbbb;
703 .td.cbi-value-field {
707 vertical-align: middle
;
710 .cbi-value-description {
711 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
712 background-position: .25em .25em;
713 background-repeat: no-repeat
;
715 padding: .25em .25em .25em 1.75em;
718 .cbi-section-create {
719 padding: 0 0 .25em 0;
721 display: inline-flex
;
725 .cbi-section-create > * {
730 .cbi-section-create > * > input {
734 .cbi-section-remove > .cbi-button {
736 border-radius: 3px 3px 0 0;
739 .cbi-section-node + .cbi-section-create {
749 border-bottom: 1px dotted
#bbbbbb;
756 border: 1px dotted
#555;
761 .cbi-section-node-tabbed {
766 .cbi-section-node
.cbi-value:last-child
,
767 .cbi-section-node .cbi-optionals:last-child {
771 .table.cbi-section-table {
774 border: 1px dotted
#444;
779 .cbi-section-node > .table.cbi-section-table {
790 .tr.cbi-section-table-row.flash {
791 animation: flash
.35s;
794 .tr.cbi-section-table-descr .th {
800 .td.cbi-section-table-optionals {
801 text-align: left
!important
;
805 .th
.cbi-section-actions
,
806 .td.cbi-section-actions {
809 vertical-align: middle
;
812 .th
.cbi-section-actions
> *,
813 .td.cbi-section-actions > * {
815 justify-content: flex-end
;
818 margin: auto
-1px auto auto
;
821 .td
.cbi-section-actions
> * > *,
822 .td.cbi-section-actions > * > form > * {
827 .td.cbi-section-actions > * > form {
834 justify-content: flex-end
;
838 .cbi-page-actions > form {
842 .cbi-page-actions > * {
847 .cbi-page-actions > form > * {
852 .cbi-page-actions
> .cbi-button-save
,
853 .cbi-page-actions
> .cbi-button-apply
,
854 .cbi-page-actions > form[method="post"] {
859 .cbi-page-actions
> .cbi-button-save
,
860 .cbi-page-actions
> .cbi-button-apply
,
861 .cbi-page-actions > form[method="post"] {
865 .cbi-page-actions
> .cbi-button-apply
+ .cbi-button-save
,
866 .cbi-page-actions
> .cbi-button-save
+ form
[method
="post"],
867 .cbi-page-actions > form[method="post"] + form[method="post"] {
871 .th
[data-type
="button"], .td
[data-type
="button"],
872 .th[data-type="fvalue"], .td[data-type="fvalue"] {
877 #cbi-network-switch_vlan .th
,
878 #cbi-network-switch_vlan .td
{
882 .td[data-title]::before {
883 content: attr
(data-title
) ":\20";
891 .td[data-description]::after {
892 content: attr
(data-description
);
896 background: url
(/luci-static
/resources
/cbi
/help
.gif
) left top no-repeat
;
897 padding: .125em 0 .125em 18px;
901 .tr
.placeholder
.td
[data-title
]::before
,
902 .tr.placeholder .td[data-description]::after {
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
;
920 .cbi-value-helpicon img {
921 vertical-align: bottom
;
924 .td.cbi-value-error {
928 .cbi-value-error input
,
929 .cbi-value-error select {
931 background-color: #ffcccc;
936 background-color: white
;
938 border: 1px dotted red
;
943 .cbi-value-field var {
948 list-style-type: none
;
950 margin: 0 0 .5em 0 !important
;
952 border-bottom: 1px solid
#bbb;
956 display: inline-flex
;
957 margin: 0 5px -1px 0;
959 border: 1px solid
#bbb;
961 border-radius: 3px 3px 0 0;
962 background: linear-gradient
(#ddd 90%, #aaa 100%);
965 text-overflow: ellipsis
;
966 word-wrap: break-word
;
970 ul
.cbi-tabmenu li
a:hover
{
971 text-decoration: none
;
979 ul
.cbi-tabmenu li
.cbi-tab-highlighted
{
984 ul
.cbi-tabmenu li
.cbi-tab
{
990 background-image: url
(/luci-static
/resources
/cbi
/help
.gif
);
991 background-position: .25em 50%;
992 background-repeat: no-repeat
;
993 border-bottom: 1px solid
#ccc;
994 margin: 0 .25em .25em .25em;
995 padding: .5em .5em .5em 2em;
1000 border: 1px inset
#000;
1001 display: inline-flex
;
1011 .cbi-dropdown:hover {
1015 .cbi-dropdown:focus
,
1016 .cbi-dynlist > .item:focus {
1017 outline: 2px solid
#4b6e9b;
1020 .cbi-dropdown > ul {
1021 margin: 0 !important
;
1030 .cbi-dropdown > ul.preview {
1034 .cbi-dropdown > .open {
1035 border: 2px outset
#eee;
1039 .cbi-dropdown
> .open
,
1040 .cbi-dropdown > .more {
1044 flex-direction: column
;
1045 justify-content: center
;
1051 .cbi-dropdown
> .more
,
1052 .cbi-dropdown > ul > li[placeholder] {
1055 text-shadow: 1px 1px 0px #fff;
1059 .cbi-dropdown > ul > li {
1062 white-space: nowrap
;
1064 text-overflow: ellipsis
;
1067 align-items: center
;
1072 .cbi-dropdown > ul > li .hide-open { display: initial
; }
1073 .cbi-dropdown > ul > li .hide-close { display: none
; }
1075 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1076 border-left: 1px solid
#ccc;
1079 .cbi-dropdown[empty] > ul {
1083 .cbi-dropdown > ul > li > form {
1087 pointer-events: none
;
1090 .cbi-dropdown > ul > li img {
1091 vertical-align: middle
;
1092 margin-right: .25em;
1095 .cbi-dropdown > ul > li > form > input[type="checkbox"] {
1099 .cbi-dropdown > ul > li input[type="text"] {
1103 .cbi-dropdown[open] {
1107 .cbi-dropdown[open] > ul.dropdown {
1109 background: #f6f6f5;
1110 border: 1px solid
#918e8c;
1111 box-shadow: 0 0 4px #918e8c;
1119 .cbi-dropdown
> ul
> li
[display
],
1120 .cbi-dropdown
[open
] > ul
.preview
,
1121 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1122 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1123 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1124 .cbi-dropdown
[multiple
][more
] > .more
,
1125 .cbi-dropdown[multiple][empty] > .more {
1128 align-items: center
;
1131 .cbi-dropdown
[empty
] > ul
> li
,
1132 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1133 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1137 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1138 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: initial
; }
1140 .cbi-dropdown[open] > ul.dropdown > li {
1141 border-bottom: 1px solid
#ccc;
1144 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1145 background: #b0d0f0;
1148 .cbi-dropdown[open] > ul.dropdown > li.focus {
1149 background: linear-gradient
(90deg, #a3c2e8 0%, #84aad9 100%);
1152 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1154 border-bottom: none
;
1157 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1161 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1165 .cbi-dropdown[disabled] {
1166 pointer-events: none
;
1176 display: inline-flex
;
1177 flex-direction: column
;
1180 .cbi-dynlist > .item {
1183 padding: 2px 2em 2px 4px;
1184 border: 1px outset
#000;
1187 pointer-events: none
;
1189 text-overflow: ellipsis
;
1190 white-space: nowrap
;
1193 .cbi-dynlist > .item::after {
1196 display: inline-flex
;
1197 align-items: center
;
1202 border: 1px outset
#000;
1204 border-radius: 0 3px 3px 0;
1207 pointer-events: auto
;
1211 input
[type
="text"] + .cbi-button
,
1212 input
[type
="password"] + .cbi-button
,
1213 select
+ .cbi-button
{
1214 border-radius: 0 3px 3px 0;
1215 border: 1px outset
#000;
1216 margin: 0 0 1px -2px;
1218 vertical-align: top
;
1219 display: inline-block
;
1225 .cbi-tooltip-container {
1238 transition: opacity
.25s ease-out
;
1239 pointer-events: none
;
1240 box-shadow: 0 0 2px #444;
1243 .cbi-tooltip-container:hover .cbi-tooltip {
1246 transition: opacity
.25s ease-in
;
1249 .zonebadge .cbi-tooltip {
1251 background: inherit
;
1252 margin: -1.6em 0 0 -5px;
1261 .zone-forwards > * {
1266 .zone-forwards > span {
1271 .zone-forwards
.zone-src
,
1272 .zone-forwards .zone-dest {
1274 flex-direction: column
;
1278 .left, .left::before, .left::after { text-align: left
!important
; }
1279 .right, .right::before, .right::after { text-align: right
!important
; }
1280 .center, .center::before, .center::after { text-align: center
!important
; }
1282 .top, .top::before, .top::after { vertical-align: top
!important
; }
1283 .middle, .middle::before, .middle::after { vertical-align: middle
!important
; }
1284 .bottom, .bottom::before, .bottom::after { vertical-align: bottom
!important
; }
1286 .td.top { align-self: flex-start
; vertical-align: top
; }
1287 .td.middle { align-self: center
; vertical-align: middle
; }
1288 .td.bottom { align-self: flex-end
; vertical-align: bottom
; }
1301 background-color: transparent
;
1303 text-decoration: none
;
1312 white-space: normal
;
1313 border: 1px dotted
#ff0000;
1314 background-color: #ffffff;
1320 .ifacebadge, .ifacebox {
1321 display: inline-flex
;
1322 align-content: center
;
1323 border: 1px solid
#ccc;
1333 .ifacebox-head.active {
1334 background: #90c0e0;
1337 .ifacebadge, .zonebadge {
1338 align-items: center
;
1342 align-self: flex-start
;
1348 display: inline-block
;
1352 .ifacebadge-active {
1353 border-color: #000000;
1358 flex-direction: column
;
1372 vertical-align: top
;
1375 .network-status-table {
1378 margin: -.25em -.25em .25em -.25em;
1381 .network-status-table .ifacebox {
1387 .network-status-table .ifacebox-body {
1389 flex-direction: column
;
1394 .network-status-table .ifacebox-body > span {
1398 .network-status-table .ifacebox-body > div {
1404 .network-status-table .ifacebox-body .ifacebadge {
1406 -webkit-flex: 1 1 auto
;
1409 white-space: nowrap
;
1412 .network-status-table .ifacebox-body .ifacebadge {
1416 #dsl_status_table .ifacebox-body
> span
> strong
{
1417 display: inline-block
;
1424 display: inline-block
;
1425 white-space: nowrap
;
1430 .zonebadge > strong {
1439 .zonebadge
.ifacebadge
,
1440 .cbi-dropdown .ifacebadge {
1444 .zonebadge
.ifacebadge img
,
1445 .zonebadge
.ifacebadge em
,
1446 .cbi-dropdown
.ifacebadge img
,
1447 .cbi-dropdown .ifacebadge em {
1452 border: 1px dashed
#AAAAAA;
1460 font-family: monospace
;
1464 .uci-change-list del
,
1465 .uci-change-list ins
,
1466 .uci-change-list var
,
1467 .uci-change-legend-label del
,
1468 .uci-change-legend-label ins
,
1469 .uci-change-legend-label var {
1470 text-decoration: none
;
1472 border: 1px solid
#ccc;
1480 .uci-change-list ins
,
1481 .uci-change-legend-label ins {
1486 .uci-change-list del
,
1487 .uci-change-legend-label del {
1492 .uci-change-list var
,
1493 .uci-change-legend-label var {
1498 .uci-change-list var ins
,
1499 .uci-change-list var del {
1500 display: inline-block
;
1506 .uci-change-legend {
1510 .uci-change-legend-label {
1516 .uci-change-legend-label
>ins
,
1517 .uci-change-legend-label
>del
,
1518 .uci-change-legend-label>var {
1527 .uci-change-legend-label var ins
,
1528 .uci-change-legend-label var del {
1540 @media screen and
(max-width: 992px) {
1542 -webkit-text-size-adjust: 100%;
1546 flex-direction: column
;
1561 box-shadow: 0 0 2px #444;
1563 border-top: 1px solid
#444;
1567 #mainmenu ul
> li
.selected
> a
{
1573 #mainmenu ul
> li
.selected:not
(.active
) > ul
{
1578 #mainmenu ul
> li
> a
{
1581 border: 1px solid
#444;
1582 border-width: 0 0 1px 1px;
1587 flex-direction: row
;
1594 #mainmenu ul
.l1
> li
{
1595 display: inline-flex
;
1601 #mainmenu ul
.l1 ul
.l2
{
1607 box-shadow: 0 0 2px #444;
1612 #mainmenu ul
.l1 ul
.l2
.align-left
{
1617 #mainmenu ul
.l2
> li
{
1621 #mainmenu ul
.l2
> li
> a
{
1625 #mainmenu ul li
.mainmenu-item-logout
{
1630 #mainmenu ul li
.mainmenu-item-logout::before
{
1633 border: 1px solid
#444;
1634 border-width: 0 0 1px 1px;
1639 flex-direction: column
;
1645 flex-direction: row
;
1647 align-items: flex-end
;
1652 align-self: flex-start
;
1654 text-overflow: ellipsis
;
1655 word-wrap: break-word
;
1656 display: inline-block
;
1663 .td
[data-type
="button"],
1664 .td[data-type="fvalue"] {
1669 .td.cbi-value-field {
1670 align-self: flex-start
;
1673 .td.cbi-value-field .cbi-button {
1677 .table.cbi-section-table {
1684 .cbi-section-table-titles
,
1685 .cbi-section-table-descr {
1689 .cbi-section-table-row {
1691 flex-direction: row
;
1693 border: 1px dotted
#444;
1698 .cbi-section-table-row:hover {
1699 border: 1px solid
#4a6b7c;
1702 .cbi-section-table + .cbi-section-create {
1706 .tr[data-title]::before {
1712 .td
[data-title
]::before
,
1713 .td[data-description]::after {
1717 .td[data-title] ~ .td.cbi-section-actions {
1718 align-self: flex-start
;
1721 .td[data-title] ~ .td.cbi-section-actions::before {
1731 #dsl_status_table .ifacebox-body
> span
> strong
{
1736 @media screen and
(max-width: 480px) {
1741 input
, textarea
, select
{
1742 font-size: 12pt !important
;
1746 select
, input
[type
="text"], input
[type
="password"] {
1751 input
.cbi-input-password
{
1752 width: calc
(100% - 20px);
1762 font-size: 9pt !important
;
1771 margin: -.25em -.25em 1em -.25em;
1778 .td.cbi-value-field {
1782 .td.cbi-value-field[data-type="dvalue"] {
1786 .td
.cbi-value-field
[data-type
="button"],
1787 .td.cbi-value-field[data-type="fvalue"] {
1802 .cbi-value-description {
1807 .cbi-section-create {
1816 .cbi-page-actions > .cbi-button-link {
1821 .cbi-page-actions > * {
1832 margin: 0 1px -1px 0;
1839 #cbi-network .td
[id
] > strong
{
1843 #cbi-network-switch_vlan .td
.cbi-section-actions
{
1847 #dsl_status_table .ifacebox-body
> span
> strong
{