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 #indicators > * > #xhr_poll_status_off
{
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);
119 #indicators > * > #xhr_poll_status_off
{
131 background: var
(--main-bright-color
);
135 color: var
(--secondary-bright-color
);
136 box-shadow: inset
0 0 1px var
(--main-dark-color
);
145 #modemenu > .active
{
147 border-bottom: 2px solid var
(--secondary-bright-color
);
152 display: inline-flex
;
158 background: var
(--main-dark-color
);
159 color: var
(--main-bright-color
);
170 margin: 0 0 .5em .5em;
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
;
194 #mainmenu .l1
> li
> a
{
201 padding: 1em 1em 0 1em;
209 background: var
(--main-bright-color
);
210 color: var
(--secondary-bright-color
);
218 body
.modal-overlay-active
{
222 body
.modal-overlay-active #modal_overlay
{
234 background: rgba
(0, 0, 0, 0.7);
237 -webkit-overflow-scrolling: touch
;
238 transition: opacity
.125s ease-in
;
242 #modal_overlay > .modal
{
245 margin: 10% auto
5rem auto
;
246 background: var
(--secondary-bright-color
);
247 box-shadow: 0 0 3px 1px var
(--main-bright-color
);
249 border-radius: .25em;
251 flex-direction: column
;
254 .modal > h4:first-child {
256 margin: -.5rem -.5rem .5rem -.5rem;
257 background: var
(--main-bright-color
);
258 color: var
(--secondary-bright-color
);
259 border-radius: .25rem .25rem 0 0;
262 .modal > *:first-child:last-child {
263 margin: .5em 0 !important
;
266 .modal .cbi-section > legend:first-child { font-size: 120%; }
284 .tr.cbi-section-table-titles[data-title]::before {
289 .tr[data-title]::before {
290 content: attr
(data-title
);
292 border-top: 1px solid var
(--main-dark-color
);
300 /* word-break: break-word; */
303 .cbi-section-table-descr .th {
311 border-top: 1px solid var
(--main-dark-color
);
313 vertical-align: middle
;
316 .td
input:not
([type
]),
317 .td input
[type
="text"],
318 .td input
[type
="password"],
320 .td
.cbi-dropdown:not
(.btn
):not
(.cbi-button
),
326 .tr.drag-over-above {
327 box-shadow: 0 -6px 6px var
(--main-bright-color
);
330 .tr.drag-over-below {
331 box-shadow: 0 6px 6px var
(--main-bright-color
);
339 .tr.placeholder > .td {
351 * view specific table invariants
354 #cbi-wireless-wifi-device .ifacebadge
{
355 flex-direction: column
;
356 justify-content: space-around
;
360 [data-page
="admin-status-overview"] .td
{
362 vertical-align: middle
;
365 .assoclist .td:nth-of-type(3) > span {
371 .assoclist .td:nth-of-type(5) > span {
375 .assoclist .td > .ifacebadge {
377 justify-content: space-around
;
382 .assoclist .td > .ifacebadge::after {
384 text-overflow: ellipsis
;
387 .assoclist .td > .ifacebadge > img {
391 .assoclist .td > .ifacebadge[data-ssid][data-ifname] > span {
395 .assoclist .td > .ifacebadge[data-ssid][data-ifname]::after {
396 content: attr
(data-ssid
) " (" attr
(data-ifname
) ")";
399 [data-page
="admin-status-overview"] .td:nth-of-type
(3) {
403 [data-page
="admin-network-firewall"] .table
> .tr
> *:nth-child
(1) {
407 [data-page
="admin-network-wireless"] .cbi-section-actions
> div
{
411 [data-page
="admin-network-wireless"] .cbi-section-actions
> div
> * {
415 [data-page
="admin-status-processes"] .table
.td:nth-of-type
(3),
416 [data-tab
="leases"] .table
.td
[data-name
="duid"] {
417 word-break: break-word
;
430 .uci-change-list del
,
431 .uci-change-list ins
,
432 .uci-change-list var
,
433 .uci-change-legend-label del
,
434 .uci-change-legend-label ins
,
435 .uci-change-legend-label var {
436 text-decoration: none
;
437 font-family: monospace
;
439 border: 1px solid
#ccc;
447 .uci-change-list h5 {
448 margin: .5em 0 .25em 0;
451 .uci-change-list ins
,
452 .uci-change-legend-label ins {
457 .uci-change-list del
,
458 .uci-change-legend-label del {
463 .uci-change-list var
,
464 .uci-change-legend-label var {
469 .uci-change-list var ins
,
470 .uci-change-list var del {
471 display: inline-block
;
483 .uci-change-legend-label {
488 .uci-change-legend-label
> ins
,
489 .uci-change-legend-label
> del
,
490 .uci-change-legend-label > var {
499 .uci-change-legend-label var ins
,
500 .uci-change-legend-label var del {
514 text-align: left
!important
;
518 text-align: right
!important
;
522 text-align: center
!important
;
526 vertical-align: top
!important
;
530 vertical-align: bottom
!important
;
534 vertical-align: middle
!important
;
538 white-space: nowrap
!important
;
542 display: none
!important
;
559 [data-name
="_freq"] select
{
563 .cbi-value-field > div:first-child + br {
571 h1
, h2
, h3
, h4
, h5
, h6
,
572 .cbi-section > legend:first-child {
581 h1
{ font-size: 160%; }
582 h2
{ font-size: 150%; }
583 h3
{ font-size: 140%; }
584 h4
{ font-size: 130%; }
585 h5
{ font-size: 120%; }
586 h6
{ font-size: 110%; }
588 .cbi-section > legend:first-child { font-size: 140%; }
594 p
> textarea:last-child
{
599 color: var
(--main-dark-color
);
604 font-family: monospace
;
605 color: var
(--main-dark-color
);
609 font-family: monospace
;
612 box-shadow: inset
0 0 2px var
(--main-dark-color
);
626 padding: 0 0 0 1.5em;
637 .ifacebox, .ifacebadge, .zonebadge {
638 display: inline-flex
;
642 box-shadow: 0px 0px 2px var
(--main-dark-color
);
647 vertical-align: text-top
;
648 background: var
(--secondary-bright-color
);
650 color: var
(--secondary-dark-color
);
651 vertical-align: middle
;
654 .zonebadge > .ifacebadge {
655 margin: .125em -.125em .125em .35em;
658 .zonebadge
> .ifacebadge
> img
660 margin: .125em 0 .125em .25em;
664 display: inline-flex
;
665 flex-direction: column
;
673 background: var
(--main-bright-color
);
679 padding: .3em .25em .25em .25em;
684 display: inline-flex
;
693 vertical-align: text-bottom
;
702 .network-status-table {
703 display: inline-flex
;
706 margin: 0 -.2em 1em -.2em;
709 .network-status-table > .ifacebox {
716 .network-status-table > .ifacebox .ifacebadge {
723 .network-status-table .ifacebox-body > div {
726 margin: .3em -.1em -.1em -.1em;
729 .cbi-tooltip-container {
737 box-shadow: 0 0 2px rgba
(0, 0, 0, .7);
739 background: var
(--secondary-bright-color
);
743 transition: opacity
.25s ease-in
;
748 color: var
(--danger-color
);
751 .cbi-tooltip-container:hover .cbi-tooltip:not(:empty) {
754 transition: opacity
.25s ease-in
;
763 border-radius: .25em;
767 box-shadow: 0 0 2px var
(--main-dark-color
);
772 .cbi-progressbar > div {
773 background: var
(--main-bright-color
);
775 transition: width
.25s ease-in
;
779 .cbi-progressbar::after {
786 text-shadow: 0 0 2px var
(--secondary-bright-color
);
787 content: attr
(title
);
794 margin: 0 -.5em 1em -.5em;
796 color: var
(--main-dark-color
);
800 display: inline-flex
;
808 .cbi-tabmenu > li > a {
813 .cbi-tabmenu > .cbi-tab > a {
814 border-bottom: 2px solid var
(--main-dark-color
);
820 transition: opacity
.25s ease-in-out
;
824 [data-tab-active
="true"] {
831 .alert-message:not(.modal) {
832 box-shadow: 0 0 3px var
(--secondary-dark-color
);
835 background: var
(--warning-color
);
836 color: var
(--secondary-bright-color
);
837 transition: opacity
.4s ease
;
840 .alert-message + .alert-message {
841 margin: -.5em 0 1em 0;
844 .alert-message.info {
845 background: var
(--main-bright-color
);
848 .alert-message.warning {
849 background: var
(--warning-color
);
852 .alert-message.danger {
853 background: var
(--danger-color
);
856 .alert-message .btn {
858 box-shadow: 0 0 2px var
(--secondary-bright-color
);
861 .alert-message .btn:hover {
862 box-shadow: 0 0 4px 1px var
(--secondary-bright-color
);
870 @keyframes fade-out
{
876 animation: fade-in
.4s ease
;
880 animation: fade-out
.4s ease
;
889 background: var
(--main-bright-color
);
890 color: var
(--secondary-bright-color
);
892 border-radius: .25em;
894 box-shadow: 0 0 2px var
(--main-dark-color
);
896 display: inline-block
;
899 button:hover
, .btn:hover
{
900 box-shadow: 0 0 6px var
(--main-bright-color
);
903 button
+ button
, .btn
+ .btn
, button
+ .btn
, .btn
+ button
, select
+ button
{
908 background: var
(--main-dark-color
);
911 button
[disabled
], button
.disabled
, .btn
[disabled
], .btn
.disabled
{
912 pointer-events: none
;
916 .cbi-button-apply, .cbi-button-positive {
917 background: var
(--main-dark-color
);
920 .cbi-button-negative, .cbi-button-remove {
921 background: var
(--danger-color
);
924 .cbi-checkbox input[type="checkbox"] {
928 .cbi-checkbox input[type="checkbox"] + label {
930 display: inline-block
;
933 vertical-align: text-top
;
936 .cbi-checkbox input[type="checkbox"] + label::before {
940 box-shadow: 0 0 2px var
(--main-dark-color
);
941 display: inline-block
;
942 border-radius: .25em;
950 .cbi-checkbox input[type="checkbox"]:checked + label::after {
953 display: inline-block
;
954 background: var
(--main-dark-color
);
959 border-radius: .15em;
965 input
[type
="password"],
967 .cbi-dropdown:not(.btn):not(.cbi-button) {
968 border-bottom: 2px solid transparent
;
969 box-shadow: inset
0 0 1px var
(--main-dark-color
);
972 min-height: calc
(1.5rem + 2px);
974 border-radius: .25em;
977 input:not
([type
]):focus
,
978 input
[type
="text"]:focus
,
979 input
[type
="password"]:focus
,
981 .cbi-dropdown:not
(.btn
):not
(.cbi-button
):focus
,
982 .cbi-dropdown[open]:not(.btn):not(.cbi-button) {
983 border-color: var
(--main-dark-color
);
986 input:not
([type
]) + .btn
, input:not
([type
]) + button
,
987 input
[type
="text"] + .btn
, input
[type
="text"] + button
,
988 input
[type
="password"] + .btn
, input
[type
="password"] + button
{
989 margin: 0 0 2px -1px;
990 background: var
(--main-dark-color
);
991 border-radius: 0 .25em .25em 0;
994 .control-group > select + .btn, .control-group > select + button {
998 .control-group
> input:not
([type
]) + .btn
, .control-group
> input:not
([type
]) + button
,
999 .control-group
> input
[type
="text"] + .btn
, .control-group
> input
[type
="text"] + button
,
1000 .control-group > input[type="password"] + .btn, .control-group > input[type="password"] + button {
1001 margin: .125em .125em calc
(.125em + 2px) calc
(-.125em - .25em) !important
;
1004 input
[type
="checkbox"] {
1006 vertical-align: middle
;
1007 -webkit-appearance: checkbox
;
1012 -webkit-appearance: menulist
;
1017 box-shadow: inset
0 0 2px var
(--main-dark-color
);
1018 font-family: monospace
;
1024 .cbi-input-invalid:focus {
1025 color: var
(--danger-color
);
1026 border-color: var
(--danger-color
) !important
;
1027 box-shadow: inset
0 0 2px var
(--danger-color
);
1031 display: inline-flex
;
1036 .control-group > .cbi-dropdown > ul > li {
1037 justify-content: space-around
;
1040 .control-group > * {
1041 margin: .125rem !important
;
1045 .control-group
> select
,
1046 .control-group
> input:not
([type
]),
1047 .control-group > input[type="text"] {
1057 .cbi-value > label:first-child {
1059 padding: 0 .5em 0 0;
1062 .cbi-value > .cbi-value-field {
1066 .cbi-value > .cbi-section {
1073 .cbi-value-description
,
1074 .cbi-value[data-widget="CBI.DummyValue"] > div:first-child {
1084 .cbi-section-create {
1089 display: inline-block
;
1091 min-height: calc
(1.5em + 2px);
1097 .cbi-dynlist > .item {
1098 box-shadow: 0 0 2px var
(--main-dark-color
);
1100 padding: .15em .2em;
1101 border-radius: .25em;
1104 transition: box-shadow
.25s ease-in-out
;
1105 pointer-events: none
;
1109 .cbi-dynlist > .item::after {
1115 background: var
(--main-bright-color
);
1117 align-items: center
;
1118 justify-content: space-around
;
1120 box-shadow: 0 0 2px var
(--main-dark-color
);
1122 color: var
(--secondary-bright-color
);
1124 pointer-events: all
;
1127 .cbi-dynlist > .item:hover {
1128 box-shadow: 0 0 2px var
(--main-bright-color
);
1131 .cbi-dynlist > .add-item {
1136 .cbi-dynlist > .add-item > input {
1139 border-radius: .25rem 0 0 .25rem;
1142 .cbi-dynlist > .add-item > .btn {
1144 margin: 0 0 2px -1px;
1150 display: inline-flex
!important
;
1154 padding: 0 !important
;
1157 .cbi-dropdown:not(.btn):not(.cbi-button) {
1158 box-shadow: inset
0 0 1px var
(--main-dark-color
);
1161 .cbi-dropdown > ul {
1162 margin: 0 !important
;
1171 .cbi-dropdown.btn > ul:not(.dropdown) {
1175 .cbi-dropdown.btn.spinning > ul:not(.dropdown) {
1179 .cbi-dropdown.btn > ul.dropdown > li {
1180 color: var
(--main-dark-color
);
1183 .cbi-dropdown > ul.preview {
1187 .cbi-dropdown
> .open
,
1188 .cbi-dropdown > .more {
1192 flex-direction: column
;
1193 justify-content: center
;
1198 .cbi-dropdown
.btn
> .open
,
1199 .cbi-dropdown.cbi-button > .open {
1202 border-left: 1px solid
;
1205 .cbi-dropdown
> .more
,
1206 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li[placeholder] {
1208 justify-content: center
;
1209 color: rgba
(0, 0, 0, .5);
1212 .cbi-dropdown > ul > li {
1214 white-space: nowrap
;
1216 text-overflow: ellipsis
;
1219 align-items: center
;
1224 .cbi-dropdown
> ul
.dropdown
> li
,
1225 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li {
1229 .cbi-dropdown > ul > li .hide-open { display: block
; display: initial
; }
1230 .cbi-dropdown > ul > li .hide-close { display: none
; }
1232 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1233 border-left: 1px solid
#ccc;
1236 .cbi-dropdown[empty] > ul {
1241 .cbi-dropdown > ul > li > form {
1245 pointer-events: none
;
1248 .cbi-dropdown > ul > li img {
1250 margin-right: .25em;
1253 .cbi-dropdown > ul > li input[type="text"] {
1256 background: var
(--secondary-bright-color
);
1259 .cbi-dropdown[open] {
1263 .cbi-dropdown[open] > ul.dropdown {
1265 background: var
(--secondary-bright-color
);
1266 box-shadow: 0 0 1px var
(--main-dark-color
), 0 0 4px rgba
(0, 0, 0, .7);
1272 transition: max-height
.125s ease-in
;
1275 .cbi-dropdown
> ul
> li
[display
],
1276 .cbi-dropdown
[open
] > ul
.preview
,
1277 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1278 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1279 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1280 .cbi-dropdown
[multiple
][more
] > .more
,
1281 .cbi-dropdown[multiple][empty] > .more {
1283 display: flex
!important
;
1286 .cbi-dropdown
[empty
] > ul
> li
,
1287 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1288 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1289 display: block
!important
;
1292 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1293 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: block
; display: initial
; }
1295 .cbi-dropdown[open] > ul.dropdown > li {
1296 border-bottom: 1px solid
#ccc;
1299 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1300 background: var
(--main-dark-color
);
1301 color: var
(--secondary-bright-color
);
1304 .cbi-dropdown[open] > ul.dropdown > li.focus {
1305 background: var
(--main-bright-color
);
1308 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1310 border-bottom: none
;
1313 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1317 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1321 .cbi-dropdown[disabled] {
1322 pointer-events: none
;
1329 box-shadow: 0 0 2px var
(--main-dark-color
);
1330 border-radius: .25rem;
1332 flex-direction: column
;
1338 .cbi-filebrowser.open {
1344 transition: opacity
.25s ease-in
;
1347 .cbi-filebrowser > * {
1350 text-overflow: ellipsis
;
1351 padding: 0 0 .25em 0;
1352 margin: .25em .25em 0px .25em;
1353 white-space: nowrap
;
1354 border-bottom: 1px solid var
(--main-dark-color
);
1357 .cbi-filebrowser .cbi-button-positive {
1358 margin-right: .25em;
1361 .cbi-filebrowser > div {
1362 border-bottom: none
;
1365 .cbi-filebrowser > ul > li {
1367 flex-direction: row
;
1368 align-items: center
;
1371 .cbi-filebrowser > ul > li a:hover {
1373 text-decoration: underline
;
1376 .cbi-filebrowser > ul > li > div:first-child {
1379 text-overflow: ellipsis
;
1382 .cbi-filebrowser > ul > li > div:last-child {
1387 .cbi-filebrowser > ul > li > div:last-child > button {
1388 padding: .125em .25em;
1389 margin: 1px 0 1px .25em;
1392 .cbi-filebrowser .upload {
1394 flex-direction: row
;
1396 margin: 0 -.125em .25em -.125em;
1397 padding: 0 0 .125em 0px;
1398 border-bottom: 1px solid var
(--main-dark-color
);
1401 .cbi-filebrowser .upload > * {
1406 .cbi-filebrowser .upload > div > input {
1410 .cbi-section-actions {
1417 justify-content: flex-end
;
1420 border-top: 1px solid var
(--main-dark-color
);
1425 div
[id$
=".ipaddr"] > input
,
1426 .cbi-value-field > div > input[type="password"] {
1428 border-radius: .25rem 0 0 .25rem;
1431 div
[id$
=".txpower"] {
1433 align-items: center
;
1436 div
[id$
=".txpower"] > span
{
1437 white-space: nowrap
;
1441 div
[id$
=".editlist"] {
1445 [data-errors
]::after
{
1446 content: attr
(data-errors
);
1447 background: var
(--danger-color
);
1448 color: var
(--secondary-bright-color
);
1449 border-radius: .6rem;
1453 display: inline-block
;
1457 margin: -.1rem 0 0 -.2rem;
1462 100% { transform: rotate
(360deg); }
1467 padding-left: 2.1em !important
;
1473 align-items: center
;
1479 animation: spin
1s linear infinite
;
1480 content: url
("spinner.svg");
1484 button
.spinning
, .btn
.spinning
{
1485 padding-left: 1.6em !important
;
1488 button
.spinning::before
, .btn
.spinning::before
{
1495 #view > div
.spinning:first-child
{
1499 #view > *:last-child
{
1504 background: var
(--main-bright-color
);
1505 color: var
(--secondary-bright-color
);
1508 border-radius: .5rem;
1512 background: var
(--danger-color
);
1526 @media only screen and
(max-width: 800px) {
1537 background: var
(--main-bright-color
);
1547 border: 2px solid var
(--secondary-bright-color
);
1548 color: var
(--secondary-bright-color
);
1549 border-radius: .5em;
1555 #menubar > h2:hover
{
1556 border-color: var
(--secondary-bright-color
);
1557 color: var
(--secondary-bright-color
);
1564 #menubar > h2::before
{
1569 display: inline-block
;
1574 #menubar > h2
.active::before
{
1579 #menubar .hostname
{
1588 padding: .125em .25em;
1596 transition: max-width
.25s ease-in-out
, padding
.25s ease-in-out
;
1604 padding: 1em 1em calc
(1em + 70px) 1em;
1605 overflow-x: visible
;
1617 display: none
!important
;
1622 flex-direction: column
;
1627 border-bottom: 1px solid var
(--main-dark-color
);
1628 margin-bottom: .5em;
1629 padding-bottom: .5em;
1632 .tr
.cbi-section-table-titles
[data-title
]::before
,
1633 .tr
.cbi-section-table-titles
,
1634 .tr.cbi-section-table-descr {
1638 .tr[data-title]::before {
1649 text-align: left
!important
;
1653 .th, .table-titles {
1659 padding: .2em 0 .2em 40%;
1662 .td[data-title]::before {
1663 content: attr
(data-title
) ": ";
1664 white-space: nowrap
;
1668 text-overflow: ellipsis
;
1675 display: inline-flex
;
1676 align-items: center
;
1679 .td[data-title]::after {
1683 left: calc
(40% - 2em);
1687 background: linear-gradient
(90deg, rgba
(255, 255, 255, 0), var
(--secondary-bright-color
) 90%);
1690 [data-page
="admin-status-overview"] .cbi-section:nth-of-type
(1) .td:first-of-type
,
1691 [data-page
="admin-status-overview"] .cbi-section:nth-of-type
(2) .td:first-of-type
{
1697 [data-page
="admin-status-overview"] .td
> span
> span
{ font-size: .9rem; }
1699 [data-page
="admin-status-routes"] .table:nth-of-type
(3) .td:nth-of-type
(1) { word-break: break-all
; }
1701 [data-page
="admin-network-firewall-zones"] .td
[data-name
="_info"] {
1703 line-height: 2.2rem;
1706 [data-page
="admin-network-firewall-zones"] .td
[data-name
="_info"]::before
,
1707 [data-page
="admin-network-firewall-zones"] .td
[data-name
="_info"]::after
{
1711 [data-page
="admin-network-firewall-zones"] .td
[data-name
="_info"] label
{
1715 #cbi-wireless-wifi-device .tr
{ display: flex
; flex-wrap: wrap
; }
1716 #cbi-wireless-wifi-device .tr
> *:nth-child
(1) { flex: 1 1 20%; align-self: center
; }
1717 #cbi-wireless-wifi-device .tr
> *:nth-child
(2) { flex: 2 2 75%; }
1718 #cbi-wireless-wifi-device .tr
> *:nth-child
(3) { flex: 3 3 100%; }
1720 #cbi-network-interface .tr
{ display: flex
; flex-wrap: wrap
; }
1721 #cbi-network-interface .tr
> *:nth-child
(1) { flex: 1 1 33%; align-self: center
; }
1722 #cbi-network-interface .tr
> *:nth-child
(2) { flex: 2 2 60%; align-self: center
; font-size: .9rem; overflow: hidden
; }
1723 #cbi-network-interface .tr
> *:nth-child
(3) { flex: 3 3 100%; }
1724 #cbi-network-interface .tr
> *:nth-child
(2) > div
{ overflow: hidden
; text-overflow: ellipsis
; }
1731 .assoclist .td > .ifacebadge {
1735 .assoclist .td > .ifacebadge > img {
1739 .assoclist .td > .ifacebadge > span {
1743 .assoclist .td > .ifacebadge[data-ifname]::after {
1744 content: attr
(data-ifname
);
1747 .assoclist .td > .ifacebadge[data-signal]::after {
1748 content: attr
(data-signal
) " dBm";
1751 .assoclist .td:nth-of-type(3) {
1756 .assoclist .td:nth-of-type(1), .assoclist .td:nth-of-type(4) {
1761 .assoclist .td:nth-of-type(3), .assoclist .td:nth-of-type(5) {
1762 flex: 2 2 calc
(100% - 110px);
1764 text-overflow: ellipsis
;
1768 .assoclist .td:nth-of-type(6) { flex: 1; text-align: right
!important
; }
1769 .assoclist .td[data-title] { padding: .2em 0; }
1770 .assoclist
.td
[data-title
]::before
,
1771 .assoclist .td[data-title]::after { display: none
; }
1773 .leases6 .td:nth-of-type(3) { word-wrap: break-word
; }
1775 .td.cbi-section-actions > div { display: flex
; }
1776 .td.cbi-section-actions > div > * { flex: 1; }
1778 body
.modal-overlay-active #modal_overlay
> .modal
{
1785 input
[type
="password"],
1787 .cbi-dropdown:not
(.btn
):not
(.cbi-button
),
1789 min-height: calc
(2.2rem + 2px);
1790 line-height: 2.2rem;
1796 line-height: 1.8rem;
1804 .cbi-value > .cbi-value-field {
1807 flex-direction: column
;
1811 .cbi-value > .cbi-value-field > div[id] {
1813 flex-direction: row
;
1816 .cbi-value
> .cbi-value-field
> div
[id
] > input
,
1817 .cbi-value
> .cbi-value-field
> div
[id
] > select
,
1818 .cbi-value > .cbi-value-field > div[id] > .cbi-filebrowser.open {
1823 .cbi-dynlist
.item::after
,
1824 .cbi-dynlist .add-item > .btn {
1835 .control-group > .cbi-dropdown > ul > li {
1837 white-space: normal
;
1838 word-wrap: break-word
;
1841 .cbi-page-actions
.cbi-dropdown
,
1842 .cbi-page-actions .cbi-button-apply:first-child {
1851 margin: 0 -.25em 1em -.25em;
1856 box-shadow: 0 0 4px rgba
(0, 0, 0, .7);
1859 .cbi-value > label:first-child {
1860 padding: 0 0 .5em 0;
1863 [data-page
="admin-system-admin-sshkeys"] .cbi-dynlist
> .item
{
1868 [data-page
="admin-system-opkg"] .control-group
{
1872 [data-page
="admin-status-iptables"] h2
+ div
.right
{
1873 margin: 0 0 1em 0 !important
;
1878 @media only screen and
(min-width: 800px) and
(max-width: 1200px) {
1879 .assoclist .tr > *:nth-of-type(2) {