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 --success-color: #5CB85C;
9 --regular-font: "GalanoGrotesqueW00-Regular";
10 --base-font-size: 16px;
14 font-family: "GalanoGrotesqueW00-Regular";
15 src: url
("GalanoGrotesqueW00-Regular.woff2") format
("woff2");
19 * resets and base style
25 box-sizing: border-box
;
26 text-decoration: none
;
29 font-family: var
(--regular-font
), "sans-serif";
34 -webkit-appearance: none
;
35 -webkit-text-size-adjust: none
;
43 background: #fff linear-gradient
(90deg, rgba
(0, 0, 0, .8), rgba
(0, 0, 0 ,.5), rgba
(0, 0, 0, .8));
47 background: var
(--secondary-bright-color
);
48 color: var
(--secondary-dark-color
);
49 font-size: var
(--base-font-size
);
52 flex-direction: column
;
62 background-color: var
(--main-bright-color
);
63 background-image: url
("logo.svg");
64 background-position: 10px center
;
65 background-size: 50px 50px;
66 background-repeat: no-repeat
;
67 padding: 0 1em 0 70px;
71 color: var
(--secondary-bright-color
);
74 box-shadow: inset
0 0 1px var
(--main-dark-color
);
86 text-overflow: ellipsis
;
89 #menubar .distversion
{
99 background: var
(--secondary-bright-color
);
100 color: var
(--main-bright-color
);
101 display: inline-block
;
111 #indicators > [data-style
="inactive"] {
112 background: var
(--main-bright-color
);
113 color: var
(--secondary-bright-color
);
114 border: 2px solid var
(--secondary-bright-color
);
115 line-height: calc
(1.5em - 4px);
116 padding: 0 calc
(.5em - 2px);
125 background: var
(--main-bright-color
);
129 color: var
(--secondary-bright-color
);
130 box-shadow: inset
0 0 1px var
(--main-dark-color
);
139 #modemenu > .active
{
141 border-bottom: 2px solid var
(--secondary-bright-color
);
146 display: inline-flex
;
152 background: var
(--main-dark-color
);
153 color: var
(--main-bright-color
);
160 transition: all
.2s ease-in-out
;
181 transition: max-height
.1s ease-in-out
;
184 #mainmenu li
.selected
> a
{
185 color: var
(--secondary-bright-color
);
188 #mainmenu ul:not
(.active
) > li
.selected
> ul
,
189 #mainmenu li
.active
> ul
{
191 transition: max-height
1s ease-in-out
;
192 margin: 0 0 .5em .5em;
195 #mainmenu .l1
> li
> a
{
202 padding: 1em 1em 0 1em;
210 background: var
(--main-bright-color
);
211 color: var
(--secondary-bright-color
);
219 body
.modal-overlay-active
{
223 body
.modal-overlay-active #modal_overlay
{
235 background: rgba
(0, 0, 0, 0.7);
238 -webkit-overflow-scrolling: touch
;
239 transition: opacity
.125s ease-in
;
243 #modal_overlay > .modal
{
246 margin: 10% auto
5rem auto
;
247 background: var
(--secondary-bright-color
);
248 box-shadow: 0 0 3px 1px var
(--main-bright-color
);
250 border-radius: .25em;
252 flex-direction: column
;
255 .modal > h4:first-child {
257 margin: -.5rem -.5rem .5rem -.5rem;
258 background: var
(--main-bright-color
);
259 color: var
(--secondary-bright-color
);
260 border-radius: .25rem .25rem 0 0;
263 .modal > *:first-child:last-child {
264 margin: .5em 0 !important
;
267 .modal .cbi-section > legend:first-child { font-size: 120%; }
278 border-collapse: collapse
;
281 tr
.cbi-section-table-titles
[data-title
]::before
{
286 tr
[data-title
]::before
{
287 content: attr
(data-title
);
289 border-top: 1px solid var
(--main-dark-color
);
297 /* word-break: break-word; */
300 .cbi-section-table-descr th {
307 border-top: 1px solid var
(--main-dark-color
);
309 vertical-align: middle
;
312 td
input:not
([type
]),
313 td input
[type
="text"],
314 td input
[type
="password"],
316 td
.cbi-dropdown:not
(.btn
):not
(.cbi-button
),
324 box-shadow: 0 -6px 6px var
(--main-bright-color
);
328 box-shadow: 0 6px 6px var
(--main-bright-color
);
336 tr
.placeholder
> td
{
348 * view specific table invariants
351 #cbi-wireless-wifi-device .ifacebadge
{
352 flex-direction: column
;
353 justify-content: space-around
;
357 [data-page
="admin-status-overview"] td
{
359 vertical-align: middle
;
362 .assoclist td:nth-of-type(3) > span {
368 .assoclist td:nth-of-type(5) > span {
372 .assoclist td > .ifacebadge {
374 justify-content: space-around
;
379 .assoclist td > .ifacebadge::after {
381 text-overflow: ellipsis
;
384 .assoclist td > .ifacebadge > img {
388 .assoclist td > .ifacebadge[data-ssid][data-ifname] > span {
392 .assoclist td > .ifacebadge[data-ssid][data-ifname]::after {
393 content: attr
(data-ssid
) " (" attr
(data-ifname
) ")";
396 [data-page
="admin-status-overview"] td:nth-of-type
(3) {
400 [data-page
="admin-network-firewall"] table
> tr
> *:nth-child
(1) {
404 [data-page
="admin-network-wireless"] .cbi-section-actions
> div
{
408 [data-page
="admin-network-wireless"] .cbi-section-actions
> div
> * {
412 [data-page
="admin-status-processes"] table
td:nth-of-type
(3),
413 [data-tab
="leases"] table td
[data-name
="duid"] {
414 word-break: break-word
;
427 .uci-change-list del
,
428 .uci-change-list ins
,
429 .uci-change-list var
,
430 .uci-change-legend-label del
,
431 .uci-change-legend-label ins
,
432 .uci-change-legend-label var {
433 text-decoration: none
;
434 font-family: monospace
;
436 border: 1px solid
#ccc;
444 .uci-change-list h5 {
445 margin: .5em 0 .25em 0;
448 .uci-change-list ins
,
449 .uci-change-legend-label ins {
454 .uci-change-list del
,
455 .uci-change-legend-label del {
460 .uci-change-list var
,
461 .uci-change-legend-label var {
466 .uci-change-list var ins
,
467 .uci-change-list var del {
468 display: inline-block
;
480 .uci-change-legend-label {
485 .uci-change-legend-label
> ins
,
486 .uci-change-legend-label
> del
,
487 .uci-change-legend-label > var {
496 .uci-change-legend-label var ins
,
497 .uci-change-legend-label var del {
511 text-align: left
!important
;
515 text-align: right
!important
;
519 text-align: center
!important
;
523 vertical-align: top
!important
;
527 vertical-align: bottom
!important
;
531 vertical-align: middle
!important
;
535 white-space: nowrap
!important
;
539 display: none
!important
;
556 [data-name
="_freq"] select
{
560 .cbi-value-field > div:first-child + br {
568 h1
, h2
, h3
, h4
, h5
, h6
,
569 .cbi-section > legend:first-child {
578 h1
{ font-size: 160%; }
579 h2
{ font-size: 150%; }
580 h3
{ font-size: 140%; }
581 h4
{ font-size: 130%; }
582 h5
{ font-size: 120%; }
583 h6
{ font-size: 110%; }
585 .cbi-section > legend:first-child { font-size: 140%; }
591 p
> textarea:last-child
{
596 color: var
(--main-dark-color
);
601 font-family: monospace
;
602 color: var
(--main-dark-color
);
606 font-family: monospace
;
609 box-shadow: inset
0 0 2px var
(--main-dark-color
);
623 padding: 0 0 0 1.5em;
634 .ifacebox, .ifacebadge, .zonebadge {
635 display: inline-flex
;
639 box-shadow: 0px 0px 2px var
(--main-dark-color
);
644 vertical-align: text-top
;
645 background: var
(--secondary-bright-color
);
647 color: var
(--secondary-dark-color
);
648 vertical-align: middle
;
651 .zonebadge > .ifacebadge {
652 margin: .125em -.125em .125em .35em;
655 .zonebadge
> .ifacebadge
> img
657 margin: .125em 0 .125em .25em;
661 display: inline-flex
;
662 flex-direction: column
;
670 background: var
(--main-bright-color
);
676 padding: .3em .25em .25em .25em;
681 display: inline-flex
;
690 vertical-align: text-bottom
;
699 .network-status-table {
700 display: inline-flex
;
703 margin: 0 -.2em 1em -.2em;
706 .network-status-table > .ifacebox {
713 .network-status-table > .ifacebox .ifacebadge {
720 .network-status-table .ifacebox-body > div {
723 margin: .3em -.1em -.1em -.1em;
726 .cbi-tooltip-container {
734 box-shadow: 0 0 2px rgba
(0, 0, 0, .7);
736 background: var
(--secondary-bright-color
);
740 transition: opacity
.25s ease-in
;
745 color: var
(--danger-color
);
748 .cbi-tooltip-container:hover .cbi-tooltip:not(:empty) {
751 transition: opacity
.25s ease-in
;
760 border-radius: .25em;
764 box-shadow: 0 0 2px var
(--main-dark-color
);
769 .cbi-progressbar > div {
770 background: var
(--main-bright-color
);
772 transition: width
.25s ease-in
;
776 .cbi-progressbar::after {
783 text-shadow: 0 0 2px var
(--secondary-bright-color
);
784 content: attr
(title
);
791 margin: 0 -.5em 1em -.5em;
793 color: var
(--main-dark-color
);
797 display: inline-flex
;
805 .cbi-tabmenu > li > a {
810 .cbi-tabmenu > .cbi-tab > a {
811 border-bottom: 2px solid var
(--main-dark-color
);
817 transition: opacity
.25s ease-in-out
;
821 [data-tab-active
="true"] {
828 .alert-message:not(.modal) {
829 box-shadow: 0 0 3px var
(--secondary-dark-color
);
832 background: var
(--warning-color
);
833 color: var
(--secondary-bright-color
);
834 transition: opacity
.4s ease
;
837 .alert-message + .alert-message {
838 margin: -.5em 0 1em 0;
841 .alert-message.info {
842 background: var
(--main-bright-color
);
845 .alert-message.warning {
846 background: var
(--warning-color
);
849 .alert-message.danger {
850 background: var
(--danger-color
);
853 .alert-message.success {
854 background: var
(--success-color
);
857 .alert-message .btn {
859 box-shadow: 0 0 2px var
(--secondary-bright-color
);
862 .alert-message .btn:hover {
863 box-shadow: 0 0 4px 1px var
(--secondary-bright-color
);
871 @keyframes fade-out
{
877 animation: fade-in
.4s ease
;
881 animation: fade-out
.4s ease
;
890 background: var
(--main-bright-color
);
891 color: var
(--secondary-bright-color
);
893 border-radius: .25em;
895 box-shadow: 0 0 2px var
(--main-dark-color
);
897 display: inline-block
;
900 button:hover
, .btn:hover
{
901 box-shadow: 0 0 6px var
(--main-bright-color
);
904 button
+ button
, .btn
+ .btn
, button
+ .btn
, .btn
+ button
, select
+ button
{
909 background: var
(--main-dark-color
);
912 button
[disabled
], button
.disabled
, .btn
[disabled
], .btn
.disabled
{
913 pointer-events: none
;
917 .cbi-button-apply, .cbi-button-positive {
918 background: var
(--main-dark-color
);
921 .cbi-button-negative, .cbi-button-remove {
922 background: var
(--danger-color
);
929 .cbi-checkbox input[type="checkbox"] {
932 -webkit-appearence: button
;
939 .cbi-checkbox input[type="checkbox"] + label {
941 display: inline-block
;
944 vertical-align: text-top
;
947 .cbi-checkbox input[type="checkbox"] + label::before {
951 box-shadow: 0 0 2px var
(--main-dark-color
);
952 display: inline-block
;
953 border-radius: .25em;
960 .cbi-checkbox input[type="checkbox"]:checked + label::after {
963 display: inline-block
;
964 background: var
(--main-dark-color
);
969 border-radius: .15em;
973 .cbi-checkbox input.cbi-input-invalid[type="checkbox"] + label::before {
974 box-shadow: 0 0 2px var
(--danger-color
);
977 .cbi-checkbox input.cbi-input-invalid[type="checkbox"]:checked + label::after {
978 background: var
(--danger-color
);
981 .cbi-checkbox input
[type
="checkbox"][disabled
] + label::before
,
982 .cbi-checkbox input[type="checkbox"][disabled] + label::after {
983 pointer-events: none
;
987 .cbi-checkbox input[type="checkbox"][disabled] {
988 pointer-events: none
;
993 input
[type
="password"],
995 .cbi-dropdown:not(.btn):not(.cbi-button) {
996 border-bottom: 2px solid transparent
;
997 box-shadow: inset
0 0 1px var
(--main-dark-color
);
1000 min-height: calc
(1.5rem + 2px);
1002 border-radius: .25em;
1005 input:not
([type
]):focus
,
1006 input
[type
="text"]:focus
,
1007 input
[type
="password"]:focus
,
1009 .cbi-dropdown:not
(.btn
):not
(.cbi-button
):focus
,
1010 .cbi-dropdown[open]:not(.btn):not(.cbi-button) {
1011 border-color: var
(--main-dark-color
);
1014 input
[disabled
]:not
([type
]),
1015 input
[disabled
][type
="text"],
1016 input
[disabled
][type
="password"],
1018 .cbi-dynlist[disabled] {
1020 pointer-events: none
;
1023 input:not
([type
]) + .btn
, input:not
([type
]) + button
,
1024 input
[type
="text"] + .btn
, input
[type
="text"] + button
,
1025 input
[type
="password"] + .btn
, input
[type
="password"] + button
{
1026 margin: 0 0 2px -1px;
1027 background: var
(--main-dark-color
);
1028 border-radius: 0 .25em .25em 0;
1031 .control-group > select + .btn, .control-group > select + button {
1035 .control-group
> input:not
([type
]) + .btn
, .control-group
> input:not
([type
]) + button
,
1036 .control-group
> input
[type
="text"] + .btn
, .control-group
> input
[type
="text"] + button
,
1037 .control-group > input[type="password"] + .btn, .control-group > input[type="password"] + button {
1038 margin: .125em .125em calc
(.125em + 2px) calc
(-.125em - .25em) !important
;
1041 input
[type
="checkbox"] {
1043 vertical-align: middle
;
1044 -webkit-appearance: checkbox
;
1049 -webkit-appearance: menulist
;
1054 box-shadow: inset
0 0 2px var
(--main-dark-color
);
1055 font-family: monospace
;
1061 .cbi-input-invalid:focus {
1062 color: var
(--danger-color
);
1063 border-color: var
(--danger-color
) !important
;
1064 box-shadow: inset
0 0 2px var
(--danger-color
);
1068 display: inline-flex
;
1074 .control-group > .cbi-dropdown > ul > li {
1075 justify-content: space-around
;
1078 .control-group > * {
1079 margin: .125rem !important
;
1080 min-width: auto
!important
;
1083 .control-group
> select
,
1084 .control-group
> input:not
([type
]),
1085 .control-group
> input
[type
="text"],
1086 .control-group > input[type="password"] {
1096 .cbi-value > label:first-child {
1098 padding: 0 .5em 0 0;
1101 .cbi-value > .cbi-value-field {
1105 .cbi-value > .cbi-section {
1112 .cbi-value-description
,
1113 .cbi-value[data-widget="CBI.DummyValue"] > div:first-child {
1123 .cbi-section-create {
1128 display: inline-block
;
1130 min-height: calc
(1.5em + 2px);
1136 .cbi-dynlist > .item {
1137 box-shadow: 0 0 2px var
(--main-dark-color
);
1139 padding: .15em 2em .15em .2em;
1140 border-radius: .25em;
1143 transition: box-shadow
.25s ease-in-out
;
1144 pointer-events: none
;
1146 word-break: break-all
;
1149 .cbi-dynlist > .item::after {
1155 background: var
(--main-bright-color
);
1157 align-items: center
;
1158 justify-content: space-around
;
1160 box-shadow: 0 0 2px var
(--main-dark-color
);
1162 color: var
(--secondary-bright-color
);
1164 pointer-events: all
;
1167 .cbi-dynlist[disabled] > .item::after {
1168 pointer-events: none
;
1171 .cbi-dynlist > .item:hover {
1172 box-shadow: 0 0 2px var
(--main-bright-color
);
1175 .cbi-dynlist > .add-item {
1180 .cbi-dynlist > .add-item > input {
1183 border-radius: .25rem 0 0 .25rem;
1186 .cbi-dynlist > .add-item > .btn {
1188 margin: 0 0 2px -1px;
1194 display: inline-flex
!important
;
1198 padding: 0 !important
;
1201 .cbi-dropdown:not(.btn):not(.cbi-button) {
1202 box-shadow: inset
0 0 1px var
(--main-dark-color
);
1205 .cbi-dropdown > ul {
1206 margin: 0 !important
;
1215 .cbi-dropdown.btn > ul:not(.dropdown) {
1219 .cbi-dropdown.btn.spinning > ul:not(.dropdown) {
1223 .cbi-dropdown.btn > ul.dropdown > li {
1224 color: var
(--main-dark-color
);
1227 .cbi-dropdown > ul.preview {
1231 .cbi-dropdown
> .open
,
1232 .cbi-dropdown > .more {
1236 flex-direction: column
;
1237 justify-content: center
;
1242 .cbi-dropdown
.btn
> .open
,
1243 .cbi-dropdown.cbi-button > .open {
1246 border-left: 1px solid
;
1249 .cbi-dropdown
> .more
,
1250 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li[placeholder] {
1252 justify-content: center
;
1253 color: rgba
(0, 0, 0, .5);
1256 .cbi-dropdown > ul > li {
1258 white-space: nowrap
;
1260 text-overflow: ellipsis
;
1263 align-items: center
;
1268 .cbi-dropdown
> ul
.dropdown
> li
,
1269 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li {
1273 .cbi-dropdown > ul > li .hide-open { display: block
; display: initial
; }
1274 .cbi-dropdown > ul > li .hide-close { display: none
; }
1276 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1277 border-left: 1px solid
#ccc;
1280 .cbi-dropdown[empty] > ul {
1285 .cbi-dropdown > ul > li > form {
1289 pointer-events: none
;
1292 .cbi-dropdown > ul > li img {
1294 margin-right: .25em;
1297 .cbi-dropdown > ul > li input[type="text"] {
1300 background: var
(--secondary-bright-color
);
1303 .cbi-dropdown[open] {
1307 .cbi-dropdown[open] > ul.dropdown {
1309 background: var
(--secondary-bright-color
);
1310 box-shadow: 0 0 1px var
(--main-dark-color
), 0 0 4px rgba
(0, 0, 0, .7);
1316 transition: max-height
.125s ease-in
;
1319 .cbi-dropdown
> ul
> li
[display
],
1320 .cbi-dropdown
[open
] > ul
.preview
,
1321 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1322 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1323 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1324 .cbi-dropdown
[multiple
][more
] > .more
,
1325 .cbi-dropdown[multiple][empty] > .more {
1327 display: flex
!important
;
1330 .cbi-dropdown
[empty
] > ul
> li
,
1331 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1332 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1333 display: block
!important
;
1336 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1337 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: block
; display: initial
; }
1339 .cbi-dropdown[open] > ul.dropdown > li {
1340 border-bottom: 1px solid
#ccc;
1343 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1344 background: var
(--main-dark-color
);
1345 color: var
(--secondary-bright-color
);
1348 .cbi-dropdown[open] > ul.dropdown > li.focus {
1349 background: var
(--main-bright-color
);
1352 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1354 border-bottom: none
;
1357 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1361 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1365 .cbi-dropdown[disabled] {
1366 pointer-events: none
;
1373 box-shadow: 0 0 2px var
(--main-dark-color
);
1374 border-radius: .25rem;
1376 flex-direction: column
;
1382 .cbi-filebrowser.open {
1388 transition: opacity
.25s ease-in
;
1391 .cbi-filebrowser > * {
1394 text-overflow: ellipsis
;
1395 padding: 0 0 .25em 0;
1396 margin: .25em .25em 0px .25em;
1397 white-space: nowrap
;
1398 border-bottom: 1px solid var
(--main-dark-color
);
1401 .cbi-filebrowser .cbi-button-positive {
1402 margin-right: .25em;
1405 .cbi-filebrowser > div {
1406 border-bottom: none
;
1409 .cbi-filebrowser > ul > li {
1411 flex-direction: row
;
1412 align-items: center
;
1415 .cbi-filebrowser > ul > li a:hover {
1417 text-decoration: underline
;
1420 .cbi-filebrowser > ul > li > div:first-child {
1423 text-overflow: ellipsis
;
1426 .cbi-filebrowser > ul > li > div:last-child {
1431 .cbi-filebrowser > ul > li > div:last-child > button {
1432 padding: .125em .25em;
1433 margin: 1px 0 1px .25em;
1436 .cbi-filebrowser .upload {
1438 flex-direction: row
;
1440 margin: 0 -.125em .25em -.125em;
1441 padding: 0 0 .125em 0px;
1442 border-bottom: 1px solid var
(--main-dark-color
);
1445 .cbi-filebrowser .upload > * {
1450 .cbi-filebrowser .upload > div > input {
1454 .cbi-section-actions {
1461 justify-content: flex-end
;
1464 border-top: 1px solid var
(--main-dark-color
);
1469 div
[id$
=".ipaddr"] > input
,
1470 .cbi-value-field > div > input[type="password"] {
1472 border-radius: .25rem 0 0 .25rem;
1475 div
[id$
=".txpower"] {
1477 align-items: center
;
1480 div
[id$
=".txpower"] > span
{
1481 white-space: nowrap
;
1485 div
[id$
=".editlist"] {
1489 [data-errors
]::after
{
1490 content: attr
(data-errors
);
1491 background: var
(--danger-color
);
1492 color: var
(--secondary-bright-color
);
1493 border-radius: .6rem;
1497 display: inline-block
;
1501 margin: -.1rem 0 0 -.2rem;
1506 100% { transform: rotate
(360deg); }
1511 padding-left: 2.1em !important
;
1517 align-items: center
;
1523 animation: spin
1s linear infinite
;
1524 content: url
("spinner.svg");
1529 button
.spinning
, .btn
.spinning
{
1530 padding-left: 1.6em !important
;
1533 button
.spinning::before
, .btn
.spinning::before
{
1540 #view > div
.spinning:first-child
{
1544 #view > *:last-child
{
1549 background: var
(--main-bright-color
);
1550 color: var
(--secondary-bright-color
);
1553 border-radius: .5rem;
1557 background: var
(--danger-color
);
1571 @media only screen and
(max-width: 800px) {
1582 background: var
(--main-bright-color
);
1592 border: 2px solid var
(--secondary-bright-color
);
1593 color: var
(--secondary-bright-color
);
1594 border-radius: .5em;
1600 #menubar > h2:hover
{
1601 border-color: var
(--secondary-bright-color
);
1602 color: var
(--secondary-bright-color
);
1609 #menubar > h2::before
{
1614 display: inline-block
;
1619 #menubar > h2
.active::before
{
1624 #menubar .hostname
{
1633 padding: .125em .25em;
1641 transition: max-width
.25s ease-in-out
, padding
.25s ease-in-out
;
1649 padding: 1em 1em calc
(1em + 70px) 1em;
1650 overflow-x: visible
;
1662 display: none
!important
;
1667 flex-direction: column
;
1672 border-bottom: 1px solid var
(--main-dark-color
);
1673 margin-bottom: .5em;
1674 padding-bottom: .5em;
1677 tr
.cbi-section-table-titles
[data-title
]::before
,
1678 tr
.cbi-section-table-titles
,
1679 tr
.cbi-section-table-descr
{
1683 tr
[data-title
]::before
{
1694 text-align: left
!important
;
1704 padding: .2em 0 .2em 40%;
1707 td
[data-title
]::before
{
1708 content: attr
(data-title
) ": ";
1709 white-space: nowrap
;
1713 text-overflow: ellipsis
;
1720 display: inline-flex
;
1721 align-items: center
;
1724 td
[data-title
]::after
{
1728 left: calc
(40% - 2em);
1732 background: linear-gradient
(90deg, rgba
(255, 255, 255, 0), var
(--secondary-bright-color
) 90%);
1735 [data-page
="admin-status-overview"] .cbi-section:nth-of-type
(1) td:first-of-type
,
1736 [data-page
="admin-status-overview"] .cbi-section:nth-of-type
(2) td:first-of-type
{
1742 [data-page
="admin-status-overview"] td
> span
> span
{ font-size: .9rem; }
1744 [data-page
="admin-status-routes"] table:nth-of-type
(3) td:nth-of-type
(1) { word-break: break-all
; }
1746 [data-page
="admin-network-firewall-zones"] td
[data-name
="_info"] {
1748 line-height: 2.2rem;
1751 [data-page
="admin-network-firewall-zones"] td
[data-name
="_info"]::before
,
1752 [data-page
="admin-network-firewall-zones"] td
[data-name
="_info"]::after
{
1756 [data-page
="admin-network-firewall-zones"] td
[data-name
="_info"] label
{
1760 #cbi-wireless-wifi-device tr
{ display: flex
; flex-wrap: wrap
; }
1761 #cbi-wireless-wifi-device tr
> *:nth-child
(1) { flex: 1 1 20%; align-self: center
; }
1762 #cbi-wireless-wifi-device tr
> *:nth-child
(2) { flex: 2 2 75%; }
1763 #cbi-wireless-wifi-device tr
> *:nth-child
(3) { flex: 3 3 100%; }
1765 #cbi-network-interface tr
{ display: flex
; flex-wrap: wrap
; }
1766 #cbi-network-interface tr
> *:nth-child
(1) { flex: 1 1 33%; align-self: center
; }
1767 #cbi-network-interface tr
> *:nth-child
(2) { flex: 2 2 60%; align-self: center
; font-size: .9rem; overflow: hidden
; }
1768 #cbi-network-interface tr
> *:nth-child
(3) { flex: 3 3 100%; }
1769 #cbi-network-interface tr
> *:nth-child
(2) > div
{ overflow: hidden
; text-overflow: ellipsis
; }
1776 .assoclist td > .ifacebadge {
1780 .assoclist td > .ifacebadge > img {
1784 .assoclist td > .ifacebadge > span {
1788 .assoclist td > .ifacebadge[data-ifname]::after {
1789 content: attr
(data-ifname
);
1792 .assoclist td > .ifacebadge[data-signal]::after {
1793 content: attr
(data-signal
) " dBm";
1796 .assoclist td:nth-of-type(3) {
1801 .assoclist td:nth-of-type(1), .assoclist td:nth-of-type(4) {
1806 .assoclist td:nth-of-type(3), .assoclist td:nth-of-type(5) {
1807 flex: 2 2 calc
(100% - 110px);
1809 text-overflow: ellipsis
;
1813 .assoclist td:nth-of-type(6) { flex: 1; text-align: right
!important
; }
1814 .assoclist td[data-title] { padding: .2em 0; }
1815 .assoclist td
[data-title
]::before
,
1816 .assoclist td[data-title]::after { display: none
; }
1818 .leases6 td:nth-of-type(3) { word-wrap: break-word
; }
1820 td
.cbi-section-actions
> div
{ display: flex
; }
1821 td
.cbi-section-actions
> div
> * { flex: 1; }
1823 body
.modal-overlay-active #modal_overlay
> .modal
{
1830 input
[type
="password"],
1832 .cbi-dropdown:not
(.btn
):not
(.cbi-button
),
1834 min-height: calc
(2.2rem + 2px);
1835 line-height: 2.2rem;
1841 line-height: 1.8rem;
1849 .cbi-value > .cbi-value-field {
1852 flex-direction: column
;
1856 .cbi-value > .cbi-value-field > div[id] {
1858 flex-direction: row
;
1861 .cbi-value
> .cbi-value-field
> div
[id
] > input
,
1862 .cbi-value
> .cbi-value-field
> div
[id
] > select
,
1863 .cbi-value > .cbi-value-field > div[id] > .cbi-filebrowser.open {
1868 .cbi-dynlist
.item::after
,
1869 .cbi-dynlist .add-item > .btn {
1880 .control-group > .cbi-dropdown > ul > li {
1882 white-space: normal
;
1883 word-wrap: break-word
;
1886 .cbi-page-actions
.cbi-dropdown
,
1887 .cbi-page-actions .cbi-button-apply:first-child {
1896 margin: 0 -.25em 1em -.25em;
1901 box-shadow: 0 0 4px rgba
(0, 0, 0, .7);
1904 .cbi-value > label:first-child {
1905 padding: 0 0 .5em 0;
1908 [data-page
="admin-system-admin-sshkeys"] .cbi-dynlist
> .item
{
1913 [data-page
="admin-system-opkg"] .control-group
{
1917 [data-page
="admin-status-iptables"] h2
+ div
.right
{
1918 margin: 0 0 1em 0 !important
;
1923 @media only screen and
(min-width: 800px) and
(max-width: 1200px) {
1924 .assoclist tr > *:nth-of-type(2) {