2 --main-bright-color: #00A3E1;
3 --main-dark-color: #002B49;
4 --secondary-bright-color: #FFFFFF;
5 --secondary-dark-color: #212322;
6 --danger-color: #CC1111;
7 --warning-color: #CC8800;
8 --regular-font: "GalanoGrotesqueW00-Regular";
9 --base-font-size: 16px;
13 font-family: "GalanoGrotesqueW00-Regular";
14 src: url
("GalanoGrotesqueW00-Regular.woff2") format
("woff2");
18 * resets and base style
24 box-sizing: border-box
;
25 text-decoration: none
;
28 font-family: var
(--regular-font
), "sans-serif";
33 -webkit-appearance: none
;
34 -webkit-text-size-adjust: none
;
42 background: #fff linear-gradient
(90deg, rgba
(0, 0, 0, .8), rgba
(0, 0, 0 ,.5), rgba
(0, 0, 0, .8));
46 background: var
(--secondary-bright-color
);
47 color: var
(--secondary-dark-color
);
48 font-size: var
(--base-font-size
);
51 flex-direction: column
;
61 background-color: var
(--main-bright-color
);
62 background-image: url
("logo.svg");
63 background-position: 10px center
;
64 background-size: 50px 50px;
65 background-repeat: no-repeat
;
66 padding: 0 1em 0 70px;
70 color: var
(--secondary-bright-color
);
73 box-shadow: inset
0 0 1px var
(--main-dark-color
);
85 text-overflow: ellipsis
;
88 #menubar .distversion
{
98 background: var
(--secondary-bright-color
);
99 color: var
(--main-bright-color
);
100 display: inline-block
;
110 #indicators > [data-style
="inactive"] {
111 background: var
(--main-bright-color
);
112 color: var
(--secondary-bright-color
);
113 border: 2px solid var
(--secondary-bright-color
);
114 line-height: calc
(1.5em - 4px);
115 padding: 0 calc
(.5em - 2px);
124 background: var
(--main-bright-color
);
128 color: var
(--secondary-bright-color
);
129 box-shadow: inset
0 0 1px var
(--main-dark-color
);
138 #modemenu > .active
{
140 border-bottom: 2px solid var
(--secondary-bright-color
);
145 display: inline-flex
;
151 background: var
(--main-dark-color
);
152 color: var
(--main-bright-color
);
159 transition: all
.2s ease-in-out
;
169 margin: 0 0 .5em .5em;
180 transition: max-height
.1s ease-in-out
;
183 #mainmenu li
.selected
> a
{
184 color: var
(--secondary-bright-color
);
187 #mainmenu ul:not
(.active
) > li
.selected
> ul
,
188 #mainmenu li
.active
> ul
{
190 transition: max-height
1s ease-in-out
;
193 #mainmenu .l1
> li
> a
{
200 padding: 1em 1em 0 1em;
208 background: var
(--main-bright-color
);
209 color: var
(--secondary-bright-color
);
217 body
.modal-overlay-active
{
221 body
.modal-overlay-active #modal_overlay
{
233 background: rgba
(0, 0, 0, 0.7);
236 -webkit-overflow-scrolling: touch
;
237 transition: opacity
.125s ease-in
;
241 #modal_overlay > .modal
{
244 margin: 10% auto
5rem auto
;
245 background: var
(--secondary-bright-color
);
246 box-shadow: 0 0 3px 1px var
(--main-bright-color
);
248 border-radius: .25em;
250 flex-direction: column
;
253 .modal > h4:first-child {
255 margin: -.5rem -.5rem .5rem -.5rem;
256 background: var
(--main-bright-color
);
257 color: var
(--secondary-bright-color
);
258 border-radius: .25rem .25rem 0 0;
261 .modal > *:first-child:last-child {
262 margin: .5em 0 !important
;
265 .modal .cbi-section > legend:first-child { font-size: 120%; }
276 border-collapse: collapse
;
279 tr
.cbi-section-table-titles
[data-title
]::before
{
284 tr
[data-title
]::before
{
285 content: attr
(data-title
);
287 border-top: 1px solid var
(--main-dark-color
);
295 /* word-break: break-word; */
298 .cbi-section-table-descr th {
305 border-top: 1px solid var
(--main-dark-color
);
307 vertical-align: middle
;
310 td
input:not
([type
]),
311 td input
[type
="text"],
312 td input
[type
="password"],
314 td
.cbi-dropdown:not
(.btn
):not
(.cbi-button
),
322 box-shadow: 0 -6px 6px var
(--main-bright-color
);
326 box-shadow: 0 6px 6px var
(--main-bright-color
);
334 tr
.placeholder
> td
{
346 * view specific table invariants
349 #cbi-wireless-wifi-device .ifacebadge
{
350 flex-direction: column
;
351 justify-content: space-around
;
355 [data-page
="admin-status-overview"] td
{
357 vertical-align: middle
;
360 .assoclist td:nth-of-type(3) > span {
366 .assoclist td:nth-of-type(5) > span {
370 .assoclist td > .ifacebadge {
372 justify-content: space-around
;
377 .assoclist td > .ifacebadge::after {
379 text-overflow: ellipsis
;
382 .assoclist td > .ifacebadge > img {
386 .assoclist td > .ifacebadge[data-ssid][data-ifname] > span {
390 .assoclist td > .ifacebadge[data-ssid][data-ifname]::after {
391 content: attr
(data-ssid
) " (" attr
(data-ifname
) ")";
394 [data-page
="admin-status-overview"] td:nth-of-type
(3) {
398 [data-page
="admin-network-firewall"] table
> tr
> *:nth-child
(1) {
402 [data-page
="admin-network-wireless"] .cbi-section-actions
> div
{
406 [data-page
="admin-network-wireless"] .cbi-section-actions
> div
> * {
410 [data-page
="admin-status-processes"] table
td:nth-of-type
(3),
411 [data-tab
="leases"] table td
[data-name
="duid"] {
412 word-break: break-word
;
425 .uci-change-list del
,
426 .uci-change-list ins
,
427 .uci-change-list var
,
428 .uci-change-legend-label del
,
429 .uci-change-legend-label ins
,
430 .uci-change-legend-label var {
431 text-decoration: none
;
432 font-family: monospace
;
434 border: 1px solid
#ccc;
442 .uci-change-list h5 {
443 margin: .5em 0 .25em 0;
446 .uci-change-list ins
,
447 .uci-change-legend-label ins {
452 .uci-change-list del
,
453 .uci-change-legend-label del {
458 .uci-change-list var
,
459 .uci-change-legend-label var {
464 .uci-change-list var ins
,
465 .uci-change-list var del {
466 display: inline-block
;
478 .uci-change-legend-label {
483 .uci-change-legend-label
> ins
,
484 .uci-change-legend-label
> del
,
485 .uci-change-legend-label > var {
494 .uci-change-legend-label var ins
,
495 .uci-change-legend-label var del {
509 text-align: left
!important
;
513 text-align: right
!important
;
517 text-align: center
!important
;
521 vertical-align: top
!important
;
525 vertical-align: bottom
!important
;
529 vertical-align: middle
!important
;
533 white-space: nowrap
!important
;
537 display: none
!important
;
554 [data-name
="_freq"] select
{
558 .cbi-value-field > div:first-child + br {
566 h1
, h2
, h3
, h4
, h5
, h6
,
567 .cbi-section > legend:first-child {
576 h1
{ font-size: 160%; }
577 h2
{ font-size: 150%; }
578 h3
{ font-size: 140%; }
579 h4
{ font-size: 130%; }
580 h5
{ font-size: 120%; }
581 h6
{ font-size: 110%; }
583 .cbi-section > legend:first-child { font-size: 140%; }
589 p
> textarea:last-child
{
594 color: var
(--main-dark-color
);
599 font-family: monospace
;
600 color: var
(--main-dark-color
);
604 font-family: monospace
;
607 box-shadow: inset
0 0 2px var
(--main-dark-color
);
621 padding: 0 0 0 1.5em;
632 .ifacebox, .ifacebadge, .zonebadge {
633 display: inline-flex
;
637 box-shadow: 0px 0px 2px var
(--main-dark-color
);
642 vertical-align: text-top
;
643 background: var
(--secondary-bright-color
);
645 color: var
(--secondary-dark-color
);
646 vertical-align: middle
;
649 .zonebadge > .ifacebadge {
650 margin: .125em -.125em .125em .35em;
653 .zonebadge
> .ifacebadge
> img
655 margin: .125em 0 .125em .25em;
659 display: inline-flex
;
660 flex-direction: column
;
668 background: var
(--main-bright-color
);
674 padding: .3em .25em .25em .25em;
679 display: inline-flex
;
688 vertical-align: text-bottom
;
697 .network-status-table {
698 display: inline-flex
;
701 margin: 0 -.2em 1em -.2em;
704 .network-status-table > .ifacebox {
711 .network-status-table > .ifacebox .ifacebadge {
718 .network-status-table .ifacebox-body > div {
721 margin: .3em -.1em -.1em -.1em;
724 .cbi-tooltip-container {
732 box-shadow: 0 0 2px rgba
(0, 0, 0, .7);
734 background: var
(--secondary-bright-color
);
738 transition: opacity
.25s ease-in
;
743 color: var
(--danger-color
);
746 .cbi-tooltip-container:hover .cbi-tooltip:not(:empty) {
749 transition: opacity
.25s ease-in
;
758 border-radius: .25em;
762 box-shadow: 0 0 2px var
(--main-dark-color
);
767 .cbi-progressbar > div {
768 background: var
(--main-bright-color
);
770 transition: width
.25s ease-in
;
774 .cbi-progressbar::after {
781 text-shadow: 0 0 2px var
(--secondary-bright-color
);
782 content: attr
(title
);
789 margin: 0 -.5em 1em -.5em;
791 color: var
(--main-dark-color
);
795 display: inline-flex
;
803 .cbi-tabmenu > li > a {
808 .cbi-tabmenu > .cbi-tab > a {
809 border-bottom: 2px solid var
(--main-dark-color
);
815 transition: opacity
.25s ease-in-out
;
819 [data-tab-active
="true"] {
826 .alert-message:not(.modal) {
827 box-shadow: 0 0 3px var
(--secondary-dark-color
);
830 background: var
(--warning-color
);
831 color: var
(--secondary-bright-color
);
832 transition: opacity
.4s ease
;
835 .alert-message + .alert-message {
836 margin: -.5em 0 1em 0;
839 .alert-message.info {
840 background: var
(--main-bright-color
);
843 .alert-message.warning {
844 background: var
(--warning-color
);
847 .alert-message.danger {
848 background: var
(--danger-color
);
851 .alert-message .btn {
853 box-shadow: 0 0 2px var
(--secondary-bright-color
);
856 .alert-message .btn:hover {
857 box-shadow: 0 0 4px 1px var
(--secondary-bright-color
);
865 @keyframes fade-out
{
871 animation: fade-in
.4s ease
;
875 animation: fade-out
.4s ease
;
884 background: var
(--main-bright-color
);
885 color: var
(--secondary-bright-color
);
887 border-radius: .25em;
889 box-shadow: 0 0 2px var
(--main-dark-color
);
891 display: inline-block
;
894 button:hover
, .btn:hover
{
895 box-shadow: 0 0 6px var
(--main-bright-color
);
898 button
+ button
, .btn
+ .btn
, button
+ .btn
, .btn
+ button
, select
+ button
{
903 background: var
(--main-dark-color
);
906 button
[disabled
], button
.disabled
, .btn
[disabled
], .btn
.disabled
{
907 pointer-events: none
;
911 .cbi-button-apply, .cbi-button-positive {
912 background: var
(--main-dark-color
);
915 .cbi-button-negative, .cbi-button-remove {
916 background: var
(--danger-color
);
923 .cbi-checkbox input[type="checkbox"] {
926 -webkit-appearence: button
;
933 .cbi-checkbox input[type="checkbox"] + label {
935 display: inline-block
;
938 vertical-align: text-top
;
941 .cbi-checkbox input[type="checkbox"] + label::before {
945 box-shadow: 0 0 2px var
(--main-dark-color
);
946 display: inline-block
;
947 border-radius: .25em;
954 .cbi-checkbox input[type="checkbox"]:checked + label::after {
957 display: inline-block
;
958 background: var
(--main-dark-color
);
963 border-radius: .15em;
967 .cbi-checkbox input.cbi-input-invalid[type="checkbox"] + label::before {
968 box-shadow: 0 0 2px var
(--danger-color
);
971 .cbi-checkbox input.cbi-input-invalid[type="checkbox"]:checked + label::after {
972 background: var
(--danger-color
);
975 .cbi-checkbox input
[type
="checkbox"][disabled
] + label::before
,
976 .cbi-checkbox input[type="checkbox"][disabled] + label::after {
977 pointer-events: none
;
981 .cbi-checkbox input[type="checkbox"][disabled] {
982 pointer-events: none
;
987 input
[type
="password"],
989 .cbi-dropdown:not(.btn):not(.cbi-button) {
990 border-bottom: 2px solid transparent
;
991 box-shadow: inset
0 0 1px var
(--main-dark-color
);
994 min-height: calc
(1.5rem + 2px);
996 border-radius: .25em;
999 input:not
([type
]):focus
,
1000 input
[type
="text"]:focus
,
1001 input
[type
="password"]:focus
,
1003 .cbi-dropdown:not
(.btn
):not
(.cbi-button
):focus
,
1004 .cbi-dropdown[open]:not(.btn):not(.cbi-button) {
1005 border-color: var
(--main-dark-color
);
1008 input
[disabled
]:not
([type
]),
1009 input
[disabled
][type
="text"],
1010 input
[disabled
][type
="password"],
1012 .cbi-dynlist[disabled] {
1014 pointer-events: none
;
1017 input:not
([type
]) + .btn
, input:not
([type
]) + button
,
1018 input
[type
="text"] + .btn
, input
[type
="text"] + button
,
1019 input
[type
="password"] + .btn
, input
[type
="password"] + button
{
1020 margin: 0 0 2px -1px;
1021 background: var
(--main-dark-color
);
1022 border-radius: 0 .25em .25em 0;
1025 .control-group > select + .btn, .control-group > select + button {
1029 .control-group
> input:not
([type
]) + .btn
, .control-group
> input:not
([type
]) + button
,
1030 .control-group
> input
[type
="text"] + .btn
, .control-group
> input
[type
="text"] + button
,
1031 .control-group > input[type="password"] + .btn, .control-group > input[type="password"] + button {
1032 margin: .125em .125em calc
(.125em + 2px) calc
(-.125em - .25em) !important
;
1035 input
[type
="checkbox"] {
1037 vertical-align: middle
;
1038 -webkit-appearance: checkbox
;
1043 -webkit-appearance: menulist
;
1048 box-shadow: inset
0 0 2px var
(--main-dark-color
);
1049 font-family: monospace
;
1055 .cbi-input-invalid:focus {
1056 color: var
(--danger-color
);
1057 border-color: var
(--danger-color
) !important
;
1058 box-shadow: inset
0 0 2px var
(--danger-color
);
1062 display: inline-flex
;
1068 .control-group > .cbi-dropdown > ul > li {
1069 justify-content: space-around
;
1072 .control-group > * {
1073 margin: .125rem !important
;
1074 min-width: auto
!important
;
1077 .control-group
> select
,
1078 .control-group
> input:not
([type
]),
1079 .control-group
> input
[type
="text"],
1080 .control-group > input[type="password"] {
1090 .cbi-value > label:first-child {
1092 padding: 0 .5em 0 0;
1095 .cbi-value > .cbi-value-field {
1099 .cbi-value > .cbi-section {
1106 .cbi-value-description
,
1107 .cbi-value[data-widget="CBI.DummyValue"] > div:first-child {
1117 .cbi-section-create {
1122 display: inline-block
;
1124 min-height: calc
(1.5em + 2px);
1130 .cbi-dynlist > .item {
1131 box-shadow: 0 0 2px var
(--main-dark-color
);
1133 padding: .15em 2em .15em .2em;
1134 border-radius: .25em;
1137 transition: box-shadow
.25s ease-in-out
;
1138 pointer-events: none
;
1140 word-break: break-all
;
1143 .cbi-dynlist > .item::after {
1149 background: var
(--main-bright-color
);
1151 align-items: center
;
1152 justify-content: space-around
;
1154 box-shadow: 0 0 2px var
(--main-dark-color
);
1156 color: var
(--secondary-bright-color
);
1158 pointer-events: all
;
1161 .cbi-dynlist[disabled] > .item::after {
1162 pointer-events: none
;
1165 .cbi-dynlist > .item:hover {
1166 box-shadow: 0 0 2px var
(--main-bright-color
);
1169 .cbi-dynlist > .add-item {
1174 .cbi-dynlist > .add-item > input {
1177 border-radius: .25rem 0 0 .25rem;
1180 .cbi-dynlist > .add-item > .btn {
1182 margin: 0 0 2px -1px;
1188 display: inline-flex
!important
;
1192 padding: 0 !important
;
1195 .cbi-dropdown:not(.btn):not(.cbi-button) {
1196 box-shadow: inset
0 0 1px var
(--main-dark-color
);
1199 .cbi-dropdown > ul {
1200 margin: 0 !important
;
1209 .cbi-dropdown.btn > ul:not(.dropdown) {
1213 .cbi-dropdown.btn.spinning > ul:not(.dropdown) {
1217 .cbi-dropdown.btn > ul.dropdown > li {
1218 color: var
(--main-dark-color
);
1221 .cbi-dropdown > ul.preview {
1225 .cbi-dropdown
> .open
,
1226 .cbi-dropdown > .more {
1230 flex-direction: column
;
1231 justify-content: center
;
1236 .cbi-dropdown
.btn
> .open
,
1237 .cbi-dropdown.cbi-button > .open {
1240 border-left: 1px solid
;
1243 .cbi-dropdown
> .more
,
1244 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li[placeholder] {
1246 justify-content: center
;
1247 color: rgba
(0, 0, 0, .5);
1250 .cbi-dropdown > ul > li {
1252 white-space: nowrap
;
1254 text-overflow: ellipsis
;
1257 align-items: center
;
1262 .cbi-dropdown
> ul
.dropdown
> li
,
1263 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li {
1267 .cbi-dropdown > ul > li .hide-open { display: block
; display: initial
; }
1268 .cbi-dropdown > ul > li .hide-close { display: none
; }
1270 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1271 border-left: 1px solid
#ccc;
1274 .cbi-dropdown[empty] > ul {
1279 .cbi-dropdown > ul > li > form {
1283 pointer-events: none
;
1286 .cbi-dropdown > ul > li img {
1288 margin-right: .25em;
1291 .cbi-dropdown > ul > li input[type="text"] {
1294 background: var
(--secondary-bright-color
);
1297 .cbi-dropdown[open] {
1301 .cbi-dropdown[open] > ul.dropdown {
1303 background: var
(--secondary-bright-color
);
1304 box-shadow: 0 0 1px var
(--main-dark-color
), 0 0 4px rgba
(0, 0, 0, .7);
1310 transition: max-height
.125s ease-in
;
1313 .cbi-dropdown
> ul
> li
[display
],
1314 .cbi-dropdown
[open
] > ul
.preview
,
1315 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1316 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1317 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1318 .cbi-dropdown
[multiple
][more
] > .more
,
1319 .cbi-dropdown[multiple][empty] > .more {
1321 display: flex
!important
;
1324 .cbi-dropdown
[empty
] > ul
> li
,
1325 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1326 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1327 display: block
!important
;
1330 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1331 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: block
; display: initial
; }
1333 .cbi-dropdown[open] > ul.dropdown > li {
1334 border-bottom: 1px solid
#ccc;
1337 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1338 background: var
(--main-dark-color
);
1339 color: var
(--secondary-bright-color
);
1342 .cbi-dropdown[open] > ul.dropdown > li.focus {
1343 background: var
(--main-bright-color
);
1346 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1348 border-bottom: none
;
1351 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1355 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1359 .cbi-dropdown[disabled] {
1360 pointer-events: none
;
1367 box-shadow: 0 0 2px var
(--main-dark-color
);
1368 border-radius: .25rem;
1370 flex-direction: column
;
1376 .cbi-filebrowser.open {
1382 transition: opacity
.25s ease-in
;
1385 .cbi-filebrowser > * {
1388 text-overflow: ellipsis
;
1389 padding: 0 0 .25em 0;
1390 margin: .25em .25em 0px .25em;
1391 white-space: nowrap
;
1392 border-bottom: 1px solid var
(--main-dark-color
);
1395 .cbi-filebrowser .cbi-button-positive {
1396 margin-right: .25em;
1399 .cbi-filebrowser > div {
1400 border-bottom: none
;
1403 .cbi-filebrowser > ul > li {
1405 flex-direction: row
;
1406 align-items: center
;
1409 .cbi-filebrowser > ul > li a:hover {
1411 text-decoration: underline
;
1414 .cbi-filebrowser > ul > li > div:first-child {
1417 text-overflow: ellipsis
;
1420 .cbi-filebrowser > ul > li > div:last-child {
1425 .cbi-filebrowser > ul > li > div:last-child > button {
1426 padding: .125em .25em;
1427 margin: 1px 0 1px .25em;
1430 .cbi-filebrowser .upload {
1432 flex-direction: row
;
1434 margin: 0 -.125em .25em -.125em;
1435 padding: 0 0 .125em 0px;
1436 border-bottom: 1px solid var
(--main-dark-color
);
1439 .cbi-filebrowser .upload > * {
1444 .cbi-filebrowser .upload > div > input {
1448 .cbi-section-actions {
1455 justify-content: flex-end
;
1458 border-top: 1px solid var
(--main-dark-color
);
1463 div
[id$
=".ipaddr"] > input
,
1464 .cbi-value-field > div > input[type="password"] {
1466 border-radius: .25rem 0 0 .25rem;
1469 div
[id$
=".txpower"] {
1471 align-items: center
;
1474 div
[id$
=".txpower"] > span
{
1475 white-space: nowrap
;
1479 div
[id$
=".editlist"] {
1483 [data-errors
]::after
{
1484 content: attr
(data-errors
);
1485 background: var
(--danger-color
);
1486 color: var
(--secondary-bright-color
);
1487 border-radius: .6rem;
1491 display: inline-block
;
1495 margin: -.1rem 0 0 -.2rem;
1500 100% { transform: rotate
(360deg); }
1505 padding-left: 2.1em !important
;
1511 align-items: center
;
1517 animation: spin
1s linear infinite
;
1518 content: url
("spinner.svg");
1522 button
.spinning
, .btn
.spinning
{
1523 padding-left: 1.6em !important
;
1526 button
.spinning::before
, .btn
.spinning::before
{
1533 #view > div
.spinning:first-child
{
1537 #view > *:last-child
{
1542 background: var
(--main-bright-color
);
1543 color: var
(--secondary-bright-color
);
1546 border-radius: .5rem;
1550 background: var
(--danger-color
);
1564 @media only screen and
(max-width: 800px) {
1575 background: var
(--main-bright-color
);
1585 border: 2px solid var
(--secondary-bright-color
);
1586 color: var
(--secondary-bright-color
);
1587 border-radius: .5em;
1593 #menubar > h2:hover
{
1594 border-color: var
(--secondary-bright-color
);
1595 color: var
(--secondary-bright-color
);
1602 #menubar > h2::before
{
1607 display: inline-block
;
1612 #menubar > h2
.active::before
{
1617 #menubar .hostname
{
1626 padding: .125em .25em;
1634 transition: max-width
.25s ease-in-out
, padding
.25s ease-in-out
;
1642 padding: 1em 1em calc
(1em + 70px) 1em;
1643 overflow-x: visible
;
1655 display: none
!important
;
1660 flex-direction: column
;
1665 border-bottom: 1px solid var
(--main-dark-color
);
1666 margin-bottom: .5em;
1667 padding-bottom: .5em;
1670 tr
.cbi-section-table-titles
[data-title
]::before
,
1671 tr
.cbi-section-table-titles
,
1672 tr
.cbi-section-table-descr
{
1676 tr
[data-title
]::before
{
1687 text-align: left
!important
;
1697 padding: .2em 0 .2em 40%;
1700 td
[data-title
]::before
{
1701 content: attr
(data-title
) ": ";
1702 white-space: nowrap
;
1706 text-overflow: ellipsis
;
1713 display: inline-flex
;
1714 align-items: center
;
1717 td
[data-title
]::after
{
1721 left: calc
(40% - 2em);
1725 background: linear-gradient
(90deg, rgba
(255, 255, 255, 0), var
(--secondary-bright-color
) 90%);
1728 [data-page
="admin-status-overview"] .cbi-section:nth-of-type
(1) td:first-of-type
,
1729 [data-page
="admin-status-overview"] .cbi-section:nth-of-type
(2) td:first-of-type
{
1735 [data-page
="admin-status-overview"] td
> span
> span
{ font-size: .9rem; }
1737 [data-page
="admin-status-routes"] table:nth-of-type
(3) td:nth-of-type
(1) { word-break: break-all
; }
1739 [data-page
="admin-network-firewall-zones"] td
[data-name
="_info"] {
1741 line-height: 2.2rem;
1744 [data-page
="admin-network-firewall-zones"] td
[data-name
="_info"]::before
,
1745 [data-page
="admin-network-firewall-zones"] td
[data-name
="_info"]::after
{
1749 [data-page
="admin-network-firewall-zones"] td
[data-name
="_info"] label
{
1753 #cbi-wireless-wifi-device tr
{ display: flex
; flex-wrap: wrap
; }
1754 #cbi-wireless-wifi-device tr
> *:nth-child
(1) { flex: 1 1 20%; align-self: center
; }
1755 #cbi-wireless-wifi-device tr
> *:nth-child
(2) { flex: 2 2 75%; }
1756 #cbi-wireless-wifi-device tr
> *:nth-child
(3) { flex: 3 3 100%; }
1758 #cbi-network-interface tr
{ display: flex
; flex-wrap: wrap
; }
1759 #cbi-network-interface tr
> *:nth-child
(1) { flex: 1 1 33%; align-self: center
; }
1760 #cbi-network-interface tr
> *:nth-child
(2) { flex: 2 2 60%; align-self: center
; font-size: .9rem; overflow: hidden
; }
1761 #cbi-network-interface tr
> *:nth-child
(3) { flex: 3 3 100%; }
1762 #cbi-network-interface tr
> *:nth-child
(2) > div
{ overflow: hidden
; text-overflow: ellipsis
; }
1769 .assoclist td > .ifacebadge {
1773 .assoclist td > .ifacebadge > img {
1777 .assoclist td > .ifacebadge > span {
1781 .assoclist td > .ifacebadge[data-ifname]::after {
1782 content: attr
(data-ifname
);
1785 .assoclist td > .ifacebadge[data-signal]::after {
1786 content: attr
(data-signal
) " dBm";
1789 .assoclist td:nth-of-type(3) {
1794 .assoclist td:nth-of-type(1), .assoclist td:nth-of-type(4) {
1799 .assoclist td:nth-of-type(3), .assoclist td:nth-of-type(5) {
1800 flex: 2 2 calc
(100% - 110px);
1802 text-overflow: ellipsis
;
1806 .assoclist td:nth-of-type(6) { flex: 1; text-align: right
!important
; }
1807 .assoclist td[data-title] { padding: .2em 0; }
1808 .assoclist td
[data-title
]::before
,
1809 .assoclist td[data-title]::after { display: none
; }
1811 .leases6 td:nth-of-type(3) { word-wrap: break-word
; }
1813 td
.cbi-section-actions
> div
{ display: flex
; }
1814 td
.cbi-section-actions
> div
> * { flex: 1; }
1816 body
.modal-overlay-active #modal_overlay
> .modal
{
1823 input
[type
="password"],
1825 .cbi-dropdown:not
(.btn
):not
(.cbi-button
),
1827 min-height: calc
(2.2rem + 2px);
1828 line-height: 2.2rem;
1834 line-height: 1.8rem;
1842 .cbi-value > .cbi-value-field {
1845 flex-direction: column
;
1849 .cbi-value > .cbi-value-field > div[id] {
1851 flex-direction: row
;
1854 .cbi-value
> .cbi-value-field
> div
[id
] > input
,
1855 .cbi-value
> .cbi-value-field
> div
[id
] > select
,
1856 .cbi-value > .cbi-value-field > div[id] > .cbi-filebrowser.open {
1861 .cbi-dynlist
.item::after
,
1862 .cbi-dynlist .add-item > .btn {
1873 .control-group > .cbi-dropdown > ul > li {
1875 white-space: normal
;
1876 word-wrap: break-word
;
1879 .cbi-page-actions
.cbi-dropdown
,
1880 .cbi-page-actions .cbi-button-apply:first-child {
1889 margin: 0 -.25em 1em -.25em;
1894 box-shadow: 0 0 4px rgba
(0, 0, 0, .7);
1897 .cbi-value > label:first-child {
1898 padding: 0 0 .5em 0;
1901 [data-page
="admin-system-admin-sshkeys"] .cbi-dynlist
> .item
{
1906 [data-page
="admin-system-opkg"] .control-group
{
1910 [data-page
="admin-status-iptables"] h2
+ div
.right
{
1911 margin: 0 0 1em 0 !important
;
1916 @media only screen and
(min-width: 800px) and
(max-width: 1200px) {
1917 .assoclist tr > *:nth-of-type(2) {