2 * Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI
5 * Copyright 2015 Lutty Yang <lutty@wcan.in>
7 * Have a bug? Please create an issue here on GitHub!
8 * https://github.com/LuttyYang/luci-theme-material/issues
10 * luci-theme-bootstrap:
11 * Copyright 2008 Steven Barth <steven@midlink.org>
12 * Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
13 * Copyright 2012 David Menting <david@nut-bolt.nl>
16 * https://github.com/muicss/mui
18 * Licensed to the public under the Apache License 2.0
22 * Font generate by Icomoon<icomoon.io>
25 font-family: 'icomoon';
26 src: url
('../fonts/font.eot');
27 src: url
('../fonts/font.eot') format
('embedded-opentype'),
28 url
('../fonts/font.ttf') format
('truetype'),
29 url
('../fonts/font.woff') format
('woff'),
30 url
('../fonts/font.svg') format
('svg');
39 .main > .loading > span {
40 font-family: 'icomoon' !important
;
42 font-style: normal
!important
;
43 font-weight: normal
!important
;
44 font-variant: normal
!important
;
45 text-transform: none
!important
;
48 -webkit-font-smoothing: antialiased
;
49 -moz-osx-font-smoothing: grayscale
;
55 box-sizing: border-box
;
58 .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
66 -webkit-text-size-adjust: 100%;
67 -ms-text-size-adjust: 100%;
74 font-family: "Helvetica Neue", Helvetica
, Microsoft Yahei
, Hiragino Sans GB
, WenQuanYi Micro Hei
, sans-serif
;
78 padding: 0.36rem 0.8rem;
80 background-color: #fff;
81 background-image: none
;
82 border: 1px solid
#ccc;
87 background-color: transparent
;
88 color: rgba
(0,0,0,.87);
90 border-bottom: 1px solid rgba
(0,0,0,.26);
95 background-image: none
;
100 select:not
([multiple
="multiple"]):focus
,
103 height: calc
(2rem + 1px);
105 border-color: #0099CC;
109 select
[multiple
="multiple"]{
119 text-decoration: underline
;
130 box-shadow: 0 2px 5px rgba
(0, 0, 0, .26);
131 transition: box-shadow
.2s;
142 text-shadow: 0px 0px 2px #BBB;
147 text-decoration: none
;
161 background-color: rgb
(240, 240, 240);
165 .main > .loading > span{
173 .main > .loading > span > .loading-img:before{
177 .main > .loading > span > .loading-img{
178 animation: anim-rotate
2s infinite linear
;
179 margin-right: 0.2rem;
180 display: inline-block
;
183 @keyframes anim-rotate
{
185 -webkit-transform:rotate
(0);
186 -ms-transform:rotate
(0);
190 -webkit-transform:rotate
(360deg);
191 -ms-transform:rotate
(360deg);
192 transform:rotate
(360deg)
199 width: calc
(0% + 17rem);
202 background-color: white
;
207 width: calc
(100% - 17rem);
211 background-color: #EEE;
227 header
> .container
{
229 padding: 0.5rem 1rem 0 1rem;
232 header
> .container
> .brand
{
235 text-decoration: none
;
237 vertical-align: text-bottom
;
241 background-color: #FF7D60 !important
;
253 font-family: inherit
;
257 background-color: #FFF;
258 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
263 background-color: #f0ad4e;
264 border-color: #eea236;
271 #maincontent > .container
> div:nth-child
(1).alert-message
.warning
> a
{
274 text-transform: none
;
275 display: inline-block
;
280 vertical-align: middle
;
281 touch-action: manipulation
;
283 -webkit-user-select: none
;
284 -moz-user-select: none
;
285 -ms-user-select: none
;
287 background-image: none
;
289 padding: 0.5rem 1rem;
291 line-height: 1.42857143;
293 background-color: #5bc0de;
294 border-color: #46b8da;
296 text-decoration: inherit
;
299 .main > .main-left > .nav {
303 .main > .main-left > .nav > li a {
308 .main > .main-left > .nav > li:nth-last-child(1) {
313 .main > .main-left > .nav > li {
314 padding: 0.5rem 1rem;
318 .main > .main-left > .nav > .slide {
322 .main > .main-left > .nav > .slide > ul {
326 .main > .main-left > .nav > .slide > .menu {
328 padding: 0.5rem 1rem;
329 text-decoration: none
;
334 .main
> .main-left
> .nav
> li:hover
,
335 .main > .main-left > .nav > .slide > .menu:hover {
339 .main > .main-left > .nav > .slide:hover {
343 .main > .main-left > .nav > .slide > .slide-menu > li {
344 padding: 0.4rem 2rem;
347 .main > .main-left > .nav > .slide > .slide-menu > .active {
348 background-color: #0099CC;
351 .main > .main-left > .nav > .slide > .slide-menu > li > a {
352 text-decoration: none
;
356 .main > .main-left > .nav > .slide > .slide-menu > .active > a {
360 .main > .main-left > .nav > .slide > .slide-menu > li:hover {
364 .main > .main-left > .nav > .slide > .slide-menu > .active:hover {
365 background-color: #0099CC;
370 list-style-type: none
;
373 #maincontent > .container
{
374 margin: 0 2rem 1rem 2rem;
379 padding-bottom: 10px;
380 border-bottom: 1px solid
#eee;
386 padding-bottom: 10px;
387 border-bottom: 1px solid
#eee;
393 padding-bottom: 10px;
407 font-family: inherit
;
414 background-color: #FFF;
415 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
417 -webkit-overflow-scrolling:touch
;
421 display: none
!important
;
424 fieldset
> fieldset
{
437 padding-bottom: 2rem;
438 border-bottom: 1px solid
#eee;
443 border-collapse: collapse
;
445 border: 1px solid
#eee;
448 table
> tbody
> tr
> td
, table
> tbody
> tr
> th
, table
> tfoot
> tr
> td
, table
> tfoot
> tr
> th
, table
> thead
> tr
> td
, table
> thead
> tr
> th
{
450 line-height: 1.42857143;
451 border-top: 1px solid
#ddd;
456 .cbi-section-table-cell {
460 .cbi-section-table-row {
464 fieldset
> table
> tbody
> tr:nth-of-type
(odd
) {
465 background-color: #f9f9f9;
468 /* fix progress bar */
473 width: 100% !important
;
474 height: 1.4rem !important
;
477 #memfree > div
> div
,
478 #membuff > div
> div
,
480 #memtotal > div
> div
{
481 height: 1.4rem !important
;
482 background-color: #0099CC !important
;
485 /* fix multiple table */
491 .cbi-value-field table {
495 td
> table
> tbody
> tr
> td
{
499 .cbi-value-field > table > tbody > tr > td {
506 -webkit-appearance: none
;
507 text-transform: uppercase
;
508 color: rgba
(0, 0, 0, 0.87);
509 background-color: #F0F0F0;
510 transition: all
0.2s ease-in-out
;
511 display: inline-block
;
512 padding: 0.5rem 1rem;
514 border-radius: 0.2rem;
516 -ms-touch-action: manipulation
;
517 touch-action: manipulation
;
518 background-image: none
;
520 vertical-align: middle
;
522 -webkit-user-select: none
;
523 -moz-user-select: none
;
524 -ms-user-select: none
;
527 width: auto
!important
;
533 color: rgba
(0, 0, 0, 0.87);
535 text-decoration: none
;
536 color: rgba
(0, 0, 0, 0.87);
541 box-shadow: 0 0px 2px rgba
(0, 0, 0, 0.12), 0 2px 2px rgba
(0, 0, 0, 0.2);
545 box-shadow: 0 10px 20px rgba
(0, 0, 0, 0.19), 0 6px 6px rgba
(0, 0, 0, 0.23);
548 .cbi-button:disabled {
550 pointer-events: none
;
555 .cbi-button + .cbi-button {
561 color: #fff !important
;
562 background-color: #f0ad4e !important
;
563 border-color: #eea236 !important
;
573 color: #fff !important
;
574 background-color: #337ab7 !important
;
575 border-color: #2e6da4 !important
;
581 color: #fff !important
;
582 background-color: #5bc0de !important
;
583 border-color: #46b8da !important
;
588 color: #fff !important
;
589 background-color: #d9534f !important
;
590 border-color: #d43f3a !important
;
594 text-decoration: none
;
601 padding-left: 0.5rem;
602 background-color: #FFFFFF;
607 display: inline-block
;
608 padding: 0.9rem 0rem;
611 .cbi-tabmenu
> li
> a
,
613 text-decoration: none
;
615 padding: 0.9rem 1.5rem;
618 .tabs
> li
[class
~="active"],
621 border-bottom: 0.2rem solid
#0099CC;
623 margin-bottom: -0.18751rem;
626 .tabs > li[class~="active"] > a {
631 border-bottom: 0.18751rem solid
#C9C9C9;
635 border-top: 1px solid
#D4D4D4;
636 border-left: 1px solid
#D4D4D4;
637 border-right: 1px solid
#D4D4D4;
640 .cbi-tabmenu > li:hover {
641 background-color: #F1F1F1;
644 .cbi-tabmenu > li[class~="cbi-tab"] {
645 background-color: white
;
649 background-color: #D4D4D4;
652 .cbi-section-node-tabbed {
655 border-bottom: 1px solid
#D4D4D4;
656 border-left: 1px solid
#D4D4D4;
657 border-right: 1px solid
#D4D4D4;
660 .cbi-tabcontainer > .cbi-value:nth-of-type(2n) {
661 background-color: #f9f9f9;
665 .cbi-value-description {
669 .cbi-value-helpicon > img {
673 .cbi-value-helpicon:before {
677 .cbi-value-description {
680 padding: 0.5rem 0 0 0;
684 word-wrap: break-word
;
695 display: inline-block
;
699 .cbi-section-table-descr
> .cbi-section-table-cell
,
700 .cbi-section-table-titles > .cbi-section-table-cell {
705 background-color: #eee;
708 .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
709 width: auto
!important
;
727 text-align: left
!important
;
731 text-align: right
!important
;
735 display: inline-block
;
739 border-top: 1px solid
#eee;
745 .cbi-value input
[type
="password"],
746 .cbi-value input[type="text"] {
751 .cbi-value-field .cbi-input-select {
756 display: inline-flex
;
757 border-bottom: 1px solid
#CCCCCC;
758 padding: 0.5rem 1rem;
759 -webkit-box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
760 -moz-box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
761 box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
771 .cbi-input-textarea {
776 font-family: "Helvetica Neue", Helvetica
, Arial
, sans-serif
;
789 background-color: #FFF;
790 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
797 font-family: monospace
;
800 .uci-change-list ins
,
801 .uci-change-legend-label ins {
802 text-decoration: none
;
803 border: 1px solid
#00FF00;
804 background-color: #CCFFCC;
809 .uci-change-list del
,
810 .uci-change-legend-label del {
811 text-decoration: none
;
812 border: 1px solid
#FF0000;
813 background-color: #FFCCCC;
819 .uci-change-list var
,
820 .uci-change-legend-label var {
821 text-decoration: none
;
822 border: 1px solid
#CCCCCC;
823 background-color: #EEEEEE;
829 .uci-change-list var ins
,
830 .uci-change-list var del {
841 .uci-change-legend-label {
846 .uci-change-legend-label
> ins
,
847 .uci-change-legend-label
> del
,
848 .uci-change-legend-label > var {
856 .uci-change-legend-label var ins
,
857 .uci-change-legend-label var del {
862 .uci-change-list var
,
863 .uci-change-list del
,
864 .uci-change-list ins {
872 border: 1px solid
#D4D4D4 !important
;
873 border-top: none
!important
;
877 border: 1px solid
#999;
878 background-color: #f9f9f9;
886 padding: 0.2rem 0.5rem;
887 display: inline-block
;
891 .zonebadge > .ifacebadge {
892 padding: 0.2rem 1rem;
894 border: 1px solid
#6C6C6C;
897 .zonebadge > input[type="text"] {
898 padding: 0.16rem 1rem;
903 .cbi-value-field
.cbi-input-checkbox
,
904 .cbi-value-field .cbi-input-radio {
908 .cbi-section-table-row > .cbi-value-field .cbi-input-select {
912 .cbi-section-create > .cbi-button-add {
916 div
.cbi-value var
, td
.cbi-value-field var
{
928 display: inline-block
;
930 padding: 0.2rem 0.3rem;
935 padding: 1rem 1rem 0 1rem;
936 border-top: 1px solid
#CCC;
939 #diag-rc-output > pre
{
940 background-color: #f5f5f5;
945 -moz-border-radius: 3px;
946 white-space: pre-wrap
;
947 word-wrap: break-word
;
953 input
[name
="traceroute"],
954 input
[name
="nslookup"] {
958 header
> .container
> .pull-right
> * {
964 #xhr_poll_status > .label
.success
{
965 background-color: #14CE14;
969 padding: 0.3rem 0.8rem;
972 color: #ffffff !important
;
973 text-transform: uppercase
;
975 background-color: #bfbfbf;
976 -webkit-border-radius: 3px;
977 -moz-border-radius: 3px;
980 text-decoration: none
;
984 background-color: #5BC0DE;
995 background-color: rgba
(0, 0, 0, 0.56);
1002 .node-main-login > .main > .main-left {
1006 .node-main-login > .main > .main-right {
1010 .node-main-login > .main fieldset {
1012 margin-bottom: 1rem;
1020 .node-main-login > .main .cbi-value-title {
1024 .node-main-login > .main #maincontent {
1029 .node-main-login > .main .container {
1030 display: inline-block
;
1032 margin-top: 2rem !important
;
1033 background-color: #FFF;
1034 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
1038 .node-main-login > .main form > div:nth-last-child(1) {
1042 .node-main-login > .main .cbi-value{
1046 .node-main-login > .main .cbi-value > *{
1047 display: inline-block
!important
;
1050 .node-main-login
> .main
.cbi-input-user
,
1051 .node-main-login > .main .cbi-input-password{
1055 .node-main-login footer{
1061 /* fix status overview */
1063 .node-status-overview > .main fieldset:nth-child(4) td:nth-child(2){
1064 white-space: normal
;
1068 /* fix status processes */
1070 .node-status-processes > .main table tr td:nth-child(3) {
1071 white-space: normal
;
1074 .node-status-firewall > .main fieldset li {
1075 display: inline-block
;
1079 /* fix system reboot */
1081 .node-system-reboot
> .main
> .main-right p
,
1082 .node-system-reboot > .main > .main-right h3 {
1086 /* fix Services Network Shares*/
1087 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
1088 margin-bottom: 1rem;
1091 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
1095 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
1099 /* fix System Software*/
1100 .node-system-software > .main table tr td:nth-child(1) {
1101 width: auto
!important
;
1104 .node-system-software > .main table tr td:nth-last-child(1) {
1105 white-space: normal
;
1110 .node-system-software > .main .cbi-tabmenu > li > a, .tabs > li > a {
1111 padding: 0.5rem 1rem;
1114 .node-system-software > .main .cbi-value > pre {
1115 background-color: #eee;
1120 .cbi-tabmenu + .cbi-section {
1124 /* fix network firewall*/
1125 .node-network-firewall > .main .cbi-section-table-row > .cbi-value-field .cbi-input-select{
1129 .node-status-firewall fieldset
,
1130 .node-system-software fieldset
,
1131 .node-system-backup_flash_firmware fieldset {
1135 .node-status-firewall
.cbi-tabmenu
,
1136 .node-system-software
.cbi-tabmenu
,
1137 .node-system-backup_flash_firmware .cbi-tabmenu {
1139 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
1143 body
.lang_pl
.node-main-login
.cbi-value-title
{
1147 @media screen and
(max-width: 1600px) {
1149 width: calc
(0% + 15rem);
1153 width: calc
(100% - 15rem);
1157 padding: 0.3rem 0.6rem;
1162 header
> .container
> .pull-right
> * {
1167 padding: 0.2rem 0.6rem;
1178 .cbi-input-textarea {
1182 .node-status-firewall > .main fieldset li > a {
1183 padding: 0.3rem 0.6rem;
1187 @media screen and
(max-width: 1280px) {
1192 header
> .container
{
1193 margin-top: 0.25rem;
1201 width: calc
(0% + 13rem);
1205 width: calc
(100% - 13rem);
1208 .cbi-tabmenu > li > a, .tabs > li > a {
1209 padding: 0.2rem 0.5rem;
1214 padding-bottom: 1rem;
1218 font-size: 0.8rem !important
;
1221 .main
> .main-left
> .nav
> li
,
1222 .main
> .main-left
> .nav
> li a
,
1223 .main > .main-left > .nav > .slide > .menu {
1227 .main > .main-left > .nav > .slide > .slide-menu > li > a {
1232 @media screen and
(max-width: 992px) {
1245 margin-right: 0.5rem;
1246 display: inline-block
;
1254 .node-main-login .showSide {
1255 display: none
!important
;
1260 padding-right: 1rem;
1263 .node-network-diagnostics > .main .cbi-map fieldset > div * {
1264 width: 100% !important
;
1267 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"] {
1268 margin: 3rem 0 0 0 !important
;
1271 .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"] {
1272 margin: 0 !important
;
1275 .node-network-diagnostics
> .main
.cbi-map fieldset
> div select
,
1276 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"] {
1280 .node-network-diagnostics > .main .cbi-map fieldset > div {
1281 width: 100% !important
;
1284 #diag-rc-output > pre
{
1288 .node-main-login > .main .cbi-value-title {
1293 @media screen and
(max-width: 480px) {
1303 #maincontent > .container
{
1304 margin: 0 1rem 1.5rem 1rem;
1307 .main > .main-left > .nav > .slide > .menu {
1311 .main > .main-left > .nav > .slide > .slide-menu > li > a {
1317 min-width: 0rem !important
;
1320 margin-bottom: 0.5rem;
1324 .cbi-value-field, .cbi-value-description {
1328 .cbi-value > .cbi-value-field {
1329 display: inline-block
;
1332 .cbi-tabmenu > li, .tabs > li {
1333 padding: 0.6rem 0rem;
1336 .cbi-tabmenu > li > a, .tabs > li > a {
1337 padding: 0.2rem 0.3rem;
1341 .cbi-page-actions > div > input {
1345 .node-main-login > .main .container {
1346 padding: 0.5rem 1rem 2rem 1rem;
1349 .node-main-login > .main .cbi-value {
1353 .node-main-login > .main form > div:nth-last-child(1) {
1357 .node-main-login > .main .cbi-value-title {
1358 width: 100% !important
;
1362 .node-main-login > .main fieldset {
1386 padding-bottom: 1rem;
1389 .node-system-software > .main .cbi-value.cbi-value-last > div {
1390 width: 100% !important
;
1393 .node-system-software > .main .cbi-value .cbi-value-field input {
1398 @media screen and
(min-width: 992px) {
1399 .cbi-value input
[type
="password"],
1400 .cbi-value input[type="text"] {
1404 .cbi-value-field .cbi-input-select {
1409 @media screen and
(min-width: 1280px) {
1410 .cbi-value input
[type
="password"],
1411 .cbi-value input[type="text"] {
1415 .cbi-value-field .cbi-input-select {
1420 @media screen and
(min-width: 1600px) {
1421 .cbi-value input
[type
="password"],
1422 .cbi-value input[type="text"] {
1426 .cbi-value-field .cbi-input-select {