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
{
92 #menubar .indicators
{
97 #menubar .indicators
> * {
98 background: var
(--secondary-bright-color
);
99 color: var
(--main-bright-color
);
100 display: inline-block
;
110 #menubar .indicators
> * > #xhr_poll_status_off
{
111 background: var
(--main-bright-color
);
112 color: var
(--secondary-bright-color
);
117 border: 2px solid var
(--secondary-bright-color
);
118 line-height: calc
(1.5em - 4px);
128 display: inline-flex
;
134 background: var
(--main-dark-color
);
135 color: var
(--main-bright-color
);
146 margin: 0 0 .5em .5em;
157 transition: max-height
.1s ease-in-out
;
160 #mainmenu li
.selected
> a
{
161 color: var
(--secondary-bright-color
);
164 #mainmenu ul:not
(.active
) > li
.selected
> ul
,
165 #mainmenu li
.active
> ul
{
167 transition: max-height
1s ease-in-out
;
170 #mainmenu .l1
> li
> a
{
177 padding: 1em 1em 0 1em;
185 background: var
(--main-bright-color
);
186 color: var
(--secondary-bright-color
);
194 body
.modal-overlay-active
{
198 body
.modal-overlay-active #modal_overlay
{
210 background: rgba
(0, 0, 0, 0.7);
213 -webkit-overflow-scrolling: touch
;
214 transition: opacity
.125s ease-in
;
218 #modal_overlay > .modal
{
220 margin: 10% auto
25% auto
;
221 background: var
(--secondary-bright-color
);
222 box-shadow: 0 0 3px 1px var
(--main-bright-color
);
224 border-radius: .25em;
226 flex-direction: column
;
229 .modal > h4:first-child {
231 margin: -.5rem -.5rem .5rem -.5rem;
232 background: var
(--main-bright-color
);
233 color: var
(--secondary-bright-color
);
234 border-radius: .25rem .25rem 0 0;
237 .modal > *:first-child:last-child {
238 margin: .5em 0 !important
;
241 .modal .cbi-section > legend:first-child { font-size: 120%; }
259 .tr.cbi-section-table-titles[data-title]::before {
264 .tr[data-title]::before {
265 content: attr
(data-title
);
267 border-top: 1px solid var
(--main-dark-color
);
275 /* word-break: break-word; */
278 .cbi-section-table-descr .th {
286 border-top: 1px solid var
(--main-dark-color
);
288 vertical-align: middle
;
291 .td
input:not
([type
]),
292 .td input
[type
="text"],
293 .td input
[type
="password"],
295 .td
.cbi-dropdown:not
(.btn
):not
(.cbi-button
),
301 .tr.drag-over-above {
302 box-shadow: 0 -6px 6px var
(--main-bright-color
);
305 .tr.drag-over-below {
306 box-shadow: 0 6px 6px var
(--main-bright-color
);
314 .tr.placeholder > .td {
326 * view specific table invariants
329 #cbi-wireless-wifi-device .ifacebadge
{
330 flex-direction: column
;
331 justify-content: space-around
;
335 [data-page
="admin-status-overview"] .td
{
337 vertical-align: middle
;
340 .assoclist .td:nth-of-type(3) > span {
346 .assoclist .td:nth-of-type(5) > span {
350 .assoclist .td > .ifacebadge {
352 justify-content: space-around
;
357 .assoclist .td > .ifacebadge::after {
359 text-overflow: ellipsis
;
362 .assoclist .td > .ifacebadge > img {
366 .assoclist .td > .ifacebadge[data-ssid][data-ifname] > span {
370 .assoclist .td > .ifacebadge[data-ssid][data-ifname]::after {
371 content: attr
(data-ssid
) " (" attr
(data-ifname
) ")";
374 [data-page
="admin-status-overview"] .td:nth-of-type
(3) {
378 [data-page
="admin-network-firewall"] .table
> .tr
> *:nth-child
(1) {
382 [data-page
="admin-network-wireless"] .cbi-section-actions
> div
{
386 [data-page
="admin-network-wireless"] .cbi-section-actions
> div
> * {
390 [data-page
="admin-status-processes"] .table
.td:nth-of-type
(3),
391 [data-tab
="leases"] .table
.td
[data-name
="duid"] {
392 word-break: break-word
;
405 .uci-change-list del
,
406 .uci-change-list ins
,
407 .uci-change-list var
,
408 .uci-change-legend-label del
,
409 .uci-change-legend-label ins
,
410 .uci-change-legend-label var {
411 text-decoration: none
;
412 font-family: monospace
;
414 border: 1px solid
#ccc;
422 .uci-change-list h5 {
423 margin: .5em 0 .25em 0;
426 .uci-change-list ins
,
427 .uci-change-legend-label ins {
432 .uci-change-list del
,
433 .uci-change-legend-label del {
438 .uci-change-list var
,
439 .uci-change-legend-label var {
444 .uci-change-list var ins
,
445 .uci-change-list var del {
446 display: inline-block
;
458 .uci-change-legend-label {
463 .uci-change-legend-label
> ins
,
464 .uci-change-legend-label
> del
,
465 .uci-change-legend-label > var {
474 .uci-change-legend-label var ins
,
475 .uci-change-legend-label var del {
489 text-align: left
!important
;
493 text-align: right
!important
;
497 text-align: center
!important
;
501 vertical-align: top
!important
;
505 vertical-align: bottom
!important
;
509 vertical-align: middle
!important
;
513 white-space: nowrap
!important
;
517 display: none
!important
;
534 [data-name
="_freq"] select
{
538 .cbi-value-field > div:first-child + br {
546 h1
, h2
, h3
, h4
, h5
, h6
,
547 .cbi-section > legend:first-child {
556 h1
{ font-size: 160%; }
557 h2
{ font-size: 150%; }
558 h3
{ font-size: 140%; }
559 h4
{ font-size: 130%; }
560 h5
{ font-size: 120%; }
561 h6
{ font-size: 110%; }
563 .cbi-section > legend:first-child { font-size: 140%; }
569 p
> textarea:last-child
{
574 color: var
(--main-dark-color
);
579 font-family: monospace
;
580 color: var
(--main-dark-color
);
584 font-family: monospace
;
587 box-shadow: inset
0 0 2px var
(--main-dark-color
);
601 padding: 0 0 0 1.5em;
612 .ifacebox, .ifacebadge, .zonebadge {
613 display: inline-flex
;
617 box-shadow: 0px 0px 2px var
(--main-dark-color
);
622 vertical-align: text-top
;
623 background: var
(--secondary-bright-color
);
625 color: var
(--secondary-dark-color
);
626 vertical-align: middle
;
629 .zonebadge > .ifacebadge {
630 margin: .125em -.125em .125em .35em;
633 .zonebadge
> .ifacebadge
> img
635 margin: .125em 0 .125em .25em;
639 display: inline-flex
;
640 flex-direction: column
;
648 background: var
(--main-bright-color
);
654 padding: .3em .25em .25em .25em;
659 display: inline-flex
;
668 vertical-align: text-bottom
;
677 .network-status-table {
678 display: inline-flex
;
681 margin: 0 -.2em 1em -.2em;
684 .network-status-table > .ifacebox {
691 .network-status-table > .ifacebox .ifacebadge {
698 .network-status-table .ifacebox-body > div {
701 margin: .3em -.1em -.1em -.1em;
704 .cbi-tooltip-container {
712 box-shadow: 0 0 2px rgba
(0, 0, 0, .7);
714 background: var
(--secondary-bright-color
);
718 transition: opacity
.25s ease-in
;
723 color: var
(--danger-color
);
726 .cbi-tooltip-container:hover .cbi-tooltip:not(:empty) {
729 transition: opacity
.25s ease-in
;
738 border-radius: .25em;
742 box-shadow: 0 0 2px var
(--main-dark-color
);
747 .cbi-progressbar > div {
748 background: var
(--main-bright-color
);
750 transition: width
.25s ease-in
;
754 .cbi-progressbar::after {
761 text-shadow: 0 0 2px var
(--secondary-bright-color
);
762 content: attr
(title
);
769 margin: 0 -.5em 1em -.5em;
771 color: var
(--main-dark-color
);
775 display: inline-flex
;
781 .cbi-tabmenu > li > a {
786 .cbi-tabmenu > .cbi-tab > a {
787 border-bottom: 2px solid var
(--main-dark-color
);
793 transition: opacity
.25s ease-in-out
;
796 [data-tab-active
="true"] {
802 .alert-message:not(.modal) {
803 box-shadow: 0 0 3px var
(--secondary-dark-color
);
806 background: var
(--warning-color
);
807 color: var
(--secondary-bright-color
);
808 transition: opacity
.4s ease
;
811 .alert-message + .alert-message {
812 margin: -.5em 0 1em 0;
815 .alert-message.info {
816 background: var
(--main-bright-color
);
819 .alert-message.warning {
820 background: var
(--warning-color
);
823 .alert-message.danger {
824 background: var
(--danger-color
);
827 .alert-message .btn {
829 box-shadow: 0 0 2px var
(--secondary-bright-color
);
832 .alert-message .btn:hover {
833 box-shadow: 0 0 4px 1px var
(--secondary-bright-color
);
841 @keyframes fade-out
{
847 animation: fade-in
.4s ease
;
851 animation: fade-out
.4s ease
;
860 background: var
(--main-bright-color
);
861 color: var
(--secondary-bright-color
);
863 border-radius: .25em;
865 box-shadow: 0 0 2px var
(--main-dark-color
);
867 display: inline-block
;
870 button:hover
, .btn:hover
{
871 box-shadow: 0 0 6px var
(--main-bright-color
);
874 button
+ button
, .btn
+ .btn
, button
+ .btn
, .btn
+ button
, select
+ button
{
879 background: var
(--main-dark-color
);
882 button
[disabled
], button
.disabled
, .btn
[disabled
], .btn
.disabled
{
883 pointer-events: none
;
887 .cbi-button-apply, .cbi-button-positive {
888 background: var
(--main-dark-color
);
891 .cbi-button-negative, .cbi-button-remove {
892 background: var
(--danger-color
);
895 .cbi-checkbox input[type="checkbox"] {
899 .cbi-checkbox input[type="checkbox"] + label {
901 display: inline-block
;
904 vertical-align: text-top
;
907 .cbi-checkbox input[type="checkbox"] + label::before {
911 box-shadow: 0 0 2px var
(--main-dark-color
);
912 display: inline-block
;
913 border-radius: .25em;
921 .cbi-checkbox input[type="checkbox"]:checked + label::after {
924 display: inline-block
;
925 background: var
(--main-dark-color
);
930 border-radius: .15em;
936 input
[type
="password"],
938 .cbi-dropdown:not(.btn):not(.cbi-button) {
939 border-bottom: 2px solid transparent
;
940 box-shadow: inset
0 0 1px var
(--main-dark-color
);
943 min-height: calc
(1.5rem + 2px);
945 border-radius: .25em;
948 input:not
([type
]):focus
,
949 input
[type
="text"]:focus
,
950 input
[type
="password"]:focus
,
952 .cbi-dropdown:not
(.btn
):not
(.cbi-button
):focus
,
953 .cbi-dropdown[open]:not(.btn):not(.cbi-button) {
954 border-color: var
(--main-dark-color
);
957 input:not
([type
]) + .btn
, input:not
([type
]) + button
,
958 input
[type
="text"] + .btn
, input
[type
="text"] + button
,
959 input
[type
="password"] + .btn
, input
[type
="password"] + button
{
960 margin: 0 0 2px -1px;
961 background: var
(--main-dark-color
);
962 border-radius: 0 .25em .25em 0;
965 .control-group > select + .btn, .control-group > select + button, {
969 .control-group
> input:not
([type
]) + .btn
, .control-group
> input:not
([type
]) + button
,
970 .control-group
> input
[type
="text"] + .btn
, .control-group
> input
[type
="text"] + button
,
971 .control-group > input[type="password"] + .btn, .control-group > input[type="password"] + button {
972 margin: .125em .125em calc
(.125em + 2px) calc
(-.125em - .25em) !important
;
975 input
[type
="checkbox"] {
977 vertical-align: middle
;
978 -webkit-appearance: checkbox
;
983 -webkit-appearance: menulist
;
988 box-shadow: inset
0 0 2px var
(--main-dark-color
);
989 font-family: monospace
;
995 .cbi-input-invalid:focus {
996 color: var
(--danger-color
);
997 border-color: var
(--danger-color
) !important
;
998 box-shadow: inset
0 0 2px var
(--danger-color
);
1002 display: inline-flex
;
1007 .control-group > .cbi-dropdown > ul > li {
1008 justify-content: space-around
;
1011 .control-group > * {
1012 margin: .125rem !important
;
1016 .control-group
> select
,
1017 .control-group
> input:not
([type
]),
1018 .control-group > input[type="text"] {
1028 .cbi-value > label:first-child {
1030 padding: 0 .5em 0 0;
1033 .cbi-value > .cbi-value-field {
1037 .cbi-value > .cbi-section {
1044 .cbi-value-description
,
1045 .cbi-value[data-widget="CBI.DummyValue"] > div:first-child {
1055 .cbi-section-create {
1060 display: inline-block
;
1062 min-height: calc
(1.5em + 2px);
1068 .cbi-dynlist > .item {
1069 box-shadow: 0 0 2px var
(--main-dark-color
);
1071 padding: .15em .2em;
1072 border-radius: .25em;
1075 transition: box-shadow
.25s ease-in-out
;
1076 pointer-events: none
;
1080 .cbi-dynlist > .item::after {
1086 background: var
(--main-bright-color
);
1088 align-items: center
;
1089 justify-content: space-around
;
1091 box-shadow: 0 0 2px var
(--main-dark-color
);
1093 color: var
(--secondary-bright-color
);
1095 pointer-events: all
;
1098 .cbi-dynlist > .item:hover {
1099 box-shadow: 0 0 2px var
(--main-bright-color
);
1102 .cbi-dynlist > .add-item {
1107 .cbi-dynlist > .add-item > input {
1110 border-radius: .25rem 0 0 .25rem;
1113 .cbi-dynlist > .add-item > .btn {
1115 margin: 0 0 2px -1px;
1121 display: inline-flex
!important
;
1125 padding: 0 !important
;
1128 .cbi-dropdown:not(.btn):not(.cbi-button) {
1129 box-shadow: inset
0 0 1px var
(--main-dark-color
);
1132 .cbi-dropdown > ul {
1133 margin: 0 !important
;
1142 .cbi-dropdown.btn > ul:not(.dropdown) {
1146 .cbi-dropdown.btn.spinning > ul:not(.dropdown) {
1150 .cbi-dropdown.btn > ul.dropdown > li {
1151 color: var
(--main-dark-color
);
1154 .cbi-dropdown > ul.preview {
1158 .cbi-dropdown
> .open
,
1159 .cbi-dropdown > .more {
1163 flex-direction: column
;
1164 justify-content: center
;
1169 .cbi-dropdown
.btn
> .open
,
1170 .cbi-dropdown.cbi-button > .open {
1173 border-left: 1px solid
;
1176 .cbi-dropdown
> .more
,
1177 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li[placeholder] {
1179 justify-content: center
;
1180 color: rgba
(0, 0, 0, .5);
1183 .cbi-dropdown > ul > li {
1185 white-space: nowrap
;
1187 text-overflow: ellipsis
;
1190 align-items: center
;
1195 .cbi-dropdown
> ul
.dropdown
> li
,
1196 .cbi-dropdown:not(.btn):not(.cbi-button) > ul > li {
1200 .cbi-dropdown > ul > li .hide-open { display: block
; display: initial
; }
1201 .cbi-dropdown > ul > li .hide-close { display: none
; }
1203 .cbi-dropdown > ul > li[display]:not([display="0"]) {
1204 border-left: 1px solid
#ccc;
1207 .cbi-dropdown[empty] > ul {
1212 .cbi-dropdown > ul > li > form {
1216 pointer-events: none
;
1219 .cbi-dropdown > ul > li img {
1221 margin-right: .25em;
1224 .cbi-dropdown > ul > li input[type="text"] {
1227 background: var
(--secondary-bright-color
);
1230 .cbi-dropdown[open] {
1234 .cbi-dropdown[open] > ul.dropdown {
1236 background: var
(--secondary-bright-color
);
1237 box-shadow: 0 0 1px var
(--main-dark-color
), 0 0 4px rgba
(0, 0, 0, .7);
1243 transition: max-height
.125s ease-in
;
1246 .cbi-dropdown
> ul
> li
[display
],
1247 .cbi-dropdown
[open
] > ul
.preview
,
1248 .cbi-dropdown
[open
] > ul
.dropdown
> li
,
1249 .cbi-dropdown
[multiple
] > ul
> li
> label
,
1250 .cbi-dropdown
[multiple
][open
] > ul
.dropdown
> li
,
1251 .cbi-dropdown
[multiple
][more
] > .more
,
1252 .cbi-dropdown[multiple][empty] > .more {
1254 display: flex
!important
;
1257 .cbi-dropdown
[empty
] > ul
> li
,
1258 .cbi-dropdown
[optional
][open
] > ul
.dropdown
> li
[placeholder
],
1259 .cbi-dropdown[multiple][open] > ul.dropdown > li > form {
1260 display: block
!important
;
1263 .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none
; }
1264 .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: block
; display: initial
; }
1266 .cbi-dropdown[open] > ul.dropdown > li {
1267 border-bottom: 1px solid
#ccc;
1270 .cbi-dropdown[open] > ul.dropdown > li[selected] {
1271 background: var
(--main-dark-color
);
1272 color: var
(--secondary-bright-color
);
1275 .cbi-dropdown[open] > ul.dropdown > li.focus {
1276 background: var
(--main-bright-color
);
1279 .cbi-dropdown[open] > ul.dropdown > li:last-child {
1281 border-bottom: none
;
1284 .cbi-dropdown[open] > ul.dropdown > li[unselectable] {
1288 .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
1292 .cbi-dropdown[disabled] {
1293 pointer-events: none
;
1300 box-shadow: 0 0 2px var
(--main-dark-color
);
1301 border-radius: .25rem;
1303 flex-direction: column
;
1309 .cbi-filebrowser.open {
1315 transition: opacity
.25s ease-in
;
1318 .cbi-filebrowser > * {
1321 text-overflow: ellipsis
;
1322 padding: 0 0 .25em 0;
1323 margin: .25em .25em 0px .25em;
1324 white-space: nowrap
;
1325 border-bottom: 1px solid var
(--main-dark-color
);
1328 .cbi-filebrowser .cbi-button-positive {
1329 margin-right: .25em;
1332 .cbi-filebrowser > div {
1333 border-bottom: none
;
1336 .cbi-filebrowser > ul > li {
1338 flex-direction: row
;
1339 align-items: center
;
1342 .cbi-filebrowser > ul > li a:hover {
1344 text-decoration: underline
;
1347 .cbi-filebrowser > ul > li > div:first-child {
1350 text-overflow: ellipsis
;
1353 .cbi-filebrowser > ul > li > div:last-child {
1358 .cbi-filebrowser > ul > li > div:last-child > button {
1359 padding: .125em .25em;
1360 margin: 1px 0 1px .25em;
1363 .cbi-filebrowser .upload {
1365 flex-direction: row
;
1367 margin: 0 -.125em .25em -.125em;
1368 padding: 0 0 .125em 0px;
1369 border-bottom: 1px solid var
(--main-dark-color
);
1372 .cbi-filebrowser .upload > * {
1377 .cbi-filebrowser .upload > div > input {
1381 .cbi-section-actions {
1388 justify-content: flex-end
;
1391 border-top: 1px solid var
(--main-dark-color
);
1396 div
[id$
=".ipaddr"] > input
,
1397 .cbi-value-field > div > input[type="password"] {
1399 border-radius: .25rem 0 0 .25rem;
1402 div
[id$
=".txpower"] {
1404 align-items: center
;
1407 div
[id$
=".txpower"] > span
{
1408 white-space: nowrap
;
1412 div
[id$
=".editlist"] {
1416 [data-errors
]::after
{
1417 content: attr
(data-errors
);
1418 background: var
(--danger-color
);
1419 color: var
(--secondary-bright-color
);
1420 border-radius: .6rem;
1424 display: inline-block
;
1428 margin: -.1rem 0 0 -.2rem;
1433 100% { transform: rotate
(360deg); }
1438 padding-left: 2.1em !important
;
1444 align-items: center
;
1450 animation: spin
1s linear infinite
;
1451 content: url
("spinner.svg");
1455 button
.spinning
, .btn
.spinning
{
1456 padding-left: 1.6em !important
;
1459 button
.spinning::before
, .btn
.spinning::before
{
1466 #view > div
.spinning:first-child
{
1470 #view > *:last-child
{
1475 background: var
(--main-bright-color
);
1476 color: var
(--secondary-bright-color
);
1479 border-radius: .5rem;
1483 background: var
(--danger-color
);
1497 @media only screen and
(max-width: 800px) {
1508 background: var
(--main-bright-color
);
1518 border: 2px solid var
(--secondary-bright-color
);
1519 color: var
(--secondary-bright-color
);
1520 border-radius: .5em;
1526 #menubar > h2:hover
{
1527 border-color: var
(--secondary-bright-color
);
1528 color: var
(--secondary-bright-color
);
1535 #menubar > h2::before
{
1540 display: inline-block
;
1545 #menubar > h2
.active::before
{
1550 #menubar .hostname
{
1563 transition: max-width
.25s ease-in-out
, padding
.25s ease-in-out
;
1571 padding: 1em 1em calc
(1em + 70px) 1em;
1572 overflow-x: visible
;
1584 display: none
!important
;
1589 flex-direction: column
;
1594 border-bottom: 1px solid var
(--main-dark-color
);
1595 margin-bottom: .5em;
1596 padding-bottom: .5em;
1599 .tr
.cbi-section-table-titles
[data-title
]::before
,
1600 .tr
.cbi-section-table-titles
,
1601 .tr.cbi-section-table-descr {
1605 .tr[data-title]::before {
1616 text-align: left
!important
;
1620 .th, .table-titles {
1626 padding: .2em 0 .2em 40%;
1629 .td[data-title]::before {
1630 content: attr
(data-title
) ": ";
1631 white-space: nowrap
;
1635 text-overflow: ellipsis
;
1642 display: inline-flex
;
1643 align-items: center
;
1646 [data-page
="admin-status-overview"] .cbi-section:nth-of-type
(1) .td:first-of-type
,
1647 [data-page
="admin-status-overview"] .cbi-section:nth-of-type
(2) .td:first-of-type
{
1653 [data-page
="admin-status-overview"] .td
> span
> span
{ font-size: .9rem; }
1655 [data-page
="admin-status-routes"] .table:nth-of-type
(3) .td:nth-of-type
(1) { word-break: break-all
; }
1657 [data-page
="admin-network-firewall-zones"] .td
[data-name
="_info"] {
1659 line-height: 2.2rem;
1662 [data-page
="admin-network-firewall-zones"] .td
[data-name
="_info"]::before
{
1666 [data-page
="admin-network-firewall-zones"] .td
[data-name
="_info"] label
{
1670 #cbi-wireless-wifi-device .tr
{ display: flex
; flex-wrap: wrap
; }
1671 #cbi-wireless-wifi-device .tr
> *:nth-child
(1) { flex: 1 1 20%; align-self: center
; }
1672 #cbi-wireless-wifi-device .tr
> *:nth-child
(2) { flex: 2 2 75%; }
1673 #cbi-wireless-wifi-device .tr
> *:nth-child
(3) { flex: 3 3 100%; }
1675 #cbi-network-interface .tr
{ display: flex
; flex-wrap: wrap
; }
1676 #cbi-network-interface .tr
> *:nth-child
(1) { flex: 1 1 33%; align-self: center
; }
1677 #cbi-network-interface .tr
> *:nth-child
(2) { flex: 2 2 60%; align-self: center
; font-size: .9rem; overflow: hidden
; }
1678 #cbi-network-interface .tr
> *:nth-child
(3) { flex: 3 3 100%; }
1679 #cbi-network-interface .tr
> *:nth-child
(2) > div
{ overflow: hidden
; text-overflow: ellipsis
; }
1686 .assoclist .td > .ifacebadge {
1690 .assoclist .td > .ifacebadge > img {
1694 .assoclist .td > .ifacebadge > span {
1698 .assoclist .td > .ifacebadge[data-ifname]::after {
1699 content: attr
(data-ifname
);
1702 .assoclist .td > .ifacebadge[data-signal]::after {
1703 content: attr
(data-signal
) " dBm";
1706 .assoclist .td:nth-of-type(3) {
1711 .assoclist .td:nth-of-type(1), .assoclist .td:nth-of-type(4) {
1716 .assoclist .td:nth-of-type(3), .assoclist .td:nth-of-type(5) {
1717 flex: 2 2 calc
(100% - 110px);
1719 text-overflow: ellipsis
;
1723 .assoclist .td:nth-of-type(6) { flex: 1; text-align: right
!important
; }
1724 .assoclist .td[data-title] { padding: .2em 0; }
1725 .assoclist .td[data-title]::before { display: none
; }
1727 .leases6 .td:nth-of-type(3) { word-wrap: break-word
; }
1729 .td.cbi-section-actions > div { display: flex
; }
1730 .td.cbi-section-actions > div > * { flex: 1; }
1732 body
.modal-overlay-active #modal_overlay
> .modal
{
1739 input
[type
="password"],
1741 .cbi-dropdown:not
(.btn
):not
(.cbi-button
),
1743 min-height: calc
(2.2rem + 2px);
1744 line-height: 2.2rem;
1750 line-height: 1.8rem;
1758 .cbi-value > .cbi-value-field {
1761 flex-direction: column
;
1765 .cbi-value > .cbi-value-field > div[id] {
1767 flex-direction: row
;
1770 .cbi-value
> .cbi-value-field
> div
[id
] > input
,
1771 .cbi-value
> .cbi-value-field
> div
[id
] > select
,
1772 .cbi-value > .cbi-value-field > div[id] > .cbi-filebrowser.open {
1777 .cbi-dynlist
.item::after
,
1778 .cbi-dynlist .add-item > .btn {
1789 .control-group > .cbi-dropdown > ul > li {
1791 white-space: normal
;
1792 word-wrap: break-word
;
1795 .cbi-page-actions
.cbi-dropdown
,
1796 .cbi-page-actions .cbi-button-apply:first-child {
1805 margin: 0 -.25em 1em -.25em;
1810 box-shadow: 0 0 4px rgba
(0, 0, 0, .7);
1813 .cbi-value > label:first-child {
1814 padding: 0 0 .5em 0;
1817 [data-page
="admin-system-admin-sshkeys"] .cbi-dynlist
> .item
{
1822 [data-page
="admin-system-opkg"] .control-group
{
1826 [data-page
="admin-status-iptables"] h2
+ div
.right
{
1827 margin: 0 0 1em 0 !important
;
1832 @media only screen and
(min-width: 800px) and
(max-width: 1200px) {
1833 .assoclist .tr > *:nth-of-type(2) {