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 [class^="icon-"], [class*=" icon-"] {
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;
57 box-sizing: border-box;
60 .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
71 font-family: "Helvetica Neue", Helvetica, Microsoft Yahei, Hiragino Sans GB, WenQuanYi Micro Hei, sans-serif;
75 padding: 0.36rem 0.8rem;
77 background-color: #fff;
78 background-image: none;
79 border: 1px solid #ccc;
83 padding: 0.36rem 0.5rem;
92 text-decoration: underline;
96 header, footer, .main {
103 box-shadow: 0 2px 5px rgba(0, 0, 0, .26);
104 transition: box-shadow .2s;
118 width: calc(0% + 17rem);
121 background-color: white;
126 width: calc(100% - 17rem);
130 background-color: #EEE;
146 header > .container {
148 padding: 0.5rem 1rem 0 1rem;
151 header > .container > .brand {
154 text-decoration: none;
156 vertical-align: text-bottom;
160 background-color: #FF7D60 !important;
173 font-family: inherit;
177 background-color: #FFF;
178 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
183 background-color: #f0ad4e;
184 border-color: #eea236;
187 #maincontent > .container > div:nth-child(1).alert-message.warning > a {
188 box-sizing: border-box;
191 text-transform: none;
192 display: inline-block;
197 vertical-align: middle;
198 touch-action: manipulation;
200 -webkit-user-select: none;
201 -moz-user-select: none;
202 -ms-user-select: none;
204 background-image: none;
206 padding: 0.5rem 1rem;
208 line-height: 1.42857143;
210 background-color: #5bc0de;
211 border-color: #46b8da;
213 text-decoration: inherit;
216 .main > .main-left > .nav {
220 .main > .main-left > .nav > li a {
225 .main > .main-left > .nav > li:nth-last-child(1) {
230 .main > .main-left > .nav > li {
231 padding: 0.5rem 1rem;
235 .main > .main-left > .nav > .slide {
239 .main > .main-left > .nav > .slide > ul {
243 .main > .main-left > .nav > .slide > .menu {
245 padding: 0.5rem 1rem;
246 text-decoration: none;
251 .main > .main-left > .nav > li:hover,
252 .main > .main-left > .nav > .slide > .menu:hover {
256 .main > .main-left > .nav > .slide:hover {
260 .main > .main-left > .nav > .slide > .slide-menu > li {
261 padding: 0.4rem 2rem;
264 .main > .main-left > .nav > .slide > .slide-menu > .active {
265 background-color: #0099CC;
268 .main > .main-left > .nav > .slide > .slide-menu > li > a {
269 text-decoration: none;
273 .main > .main-left > .nav > .slide > .slide-menu > .active > a {
277 .main > .main-left > .nav > .slide > .slide-menu > li:hover {
281 .main > .main-left > .nav > .slide > .slide-menu > .active:hover {
282 background-color: #0099CC;
287 list-style-type: none;
290 #maincontent > .container {
291 margin: 0 2rem 3rem 2rem;
296 padding-bottom: 10px;
297 border-bottom: 1px solid #eee;
303 padding-bottom: 10px;
304 border-bottom: 1px solid #eee;
310 padding-bottom: 10px;
325 font-family: inherit;
331 background-color: #FFF;
332 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
336 display: none !important;
339 fieldset > fieldset {
352 padding-bottom: 2rem;
353 border-bottom: 1px solid #eee;
358 border-collapse: collapse;
360 border: 1px solid #eee;
363 table > tbody > tr > td, table > tbody > tr > th, table > tfoot > tr > td, table > tfoot > tr > th, table > thead > tr > td, table > thead > tr > th {
365 line-height: 1.42857143;
366 border-top: 1px solid #ddd;
371 .cbi-section-table-cell {
375 .cbi-section-table-row {
379 fieldset > table > tbody > tr:nth-of-type(odd) {
380 background-color: #f9f9f9;
390 /* fix progress bar */
395 width: 100% !important;
396 height: 1.4rem !important;
399 #memfree > div > div,
400 #membuff > div > div,
402 #memtotal > div > div {
403 height: 1.4rem !important;
404 background-color: #0099CC !important;
407 /* fix multiple table */
413 .cbi-value-field table {
417 td > table > tbody > tr > td {
421 .cbi-value-field > table > tbody > tr > td {
428 box-sizing: border-box;
431 text-transform: none;
432 display: inline-block;
437 vertical-align: middle;
438 touch-action: manipulation;
440 -webkit-user-select: none;
441 -moz-user-select: none;
442 -ms-user-select: none;
444 background-image: none;
445 border: 1px solid transparent;
447 background-color: #fff;
450 padding: 0.5rem 1rem;
452 line-height: 1.42857143;
458 background-color: #f0ad4e;
459 border-color: #eea236;
468 color: #fff !important;
469 background-color: #337ab7 !important;
470 border-color: #2e6da4 !important;
476 color: #fff !important;
477 background-color: #5bc0de !important;
478 border-color: #46b8da !important;
483 color: #fff !important;
484 background-color: #d9534f !important;
485 border-color: #d43f3a !important;
492 padding-left: 0.5rem;
493 background-color: #FFFFFF;
498 display: inline-block;
499 padding: 0.9rem 0rem;
502 .cbi-tabmenu > li > a,
504 text-decoration: none;
506 padding: 0.9rem 1.5rem;
509 .tabs > li[class~="active"],
512 background-color: white;
513 border-bottom: 0.2rem solid #0099CC;
517 .tabs > li[class~="active"] > a {
522 border-bottom: 0.2rem solid #C9C9C9;
526 border-top: 1px solid #D4D4D4;
527 border-left: 1px solid #D4D4D4;
528 border-right: 1px solid #D4D4D4;
531 .cbi-tabmenu > li:hover {
532 background-color: #F1F1F1;
535 .cbi-tabmenu > li[class~="cbi-tab"] {
536 background-color: white;
540 background-color: #D4D4D4;
543 .cbi-section-node-tabbed {
546 border-bottom: 1px solid #D4D4D4;
547 border-left: 1px solid #D4D4D4;
548 border-right: 1px solid #D4D4D4;
551 .cbi-tabcontainer > .cbi-value:nth-of-type(2n) {
552 background-color: #f9f9f9;
556 .cbi-value-description {
560 .cbi-value-helpicon > img {
564 .cbi-value-helpicon:before {
568 .cbi-value-description {
571 padding: 0.5rem 0 0 0;
577 display: inline-block;
587 .cbi-section-table-descr > .cbi-section-table-cell,
588 .cbi-section-table-titles > .cbi-section-table-cell {
593 background-color: #eee;
596 .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
597 width: auto !important;
614 text-align: left !important;
618 text-align: right !important;
622 display: inline-block;
626 border-top: 1px solid #eee;
632 .cbi-value input[type="password"],
633 .cbi-value input[type="text"] {
634 box-sizing: border-box;
635 padding: 0.36rem 1rem;
638 background-color: #fff;
639 background-image: none;
640 border: 1px solid #ccc;
641 margin-bottom: 0.3rem;
644 .cbi-value-field input[type="password"],
645 .cbi-value-field input[type="text"] {
646 box-sizing: border-box;
647 padding: 0.36rem 1rem;
649 background-color: #fff;
650 background-image: none;
651 border: 1px solid #ccc;
655 .cbi-value-field .cbi-input-select {
658 padding: 0.36rem 0.8rem;
660 background-color: #fff;
661 background-image: none;
662 border: 1px solid #ccc;
666 display: inline-block;
668 border: 1px solid #CCCCCC;
669 padding: 0.5rem 1rem;
670 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
671 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
672 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
682 .cbi-input-textarea {
683 box-sizing: border-box;
692 width: calc(100% - 2rem);
700 background-color: #FFF;
701 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
708 font-family: monospace;
711 .uci-change-list ins,
712 .uci-change-legend-label ins {
713 text-decoration: none;
714 border: 1px solid #00FF00;
715 background-color: #CCFFCC;
720 .uci-change-list del,
721 .uci-change-legend-label del {
722 text-decoration: none;
723 border: 1px solid #FF0000;
724 background-color: #FFCCCC;
730 .uci-change-list var,
731 .uci-change-legend-label var {
732 text-decoration: none;
733 border: 1px solid #CCCCCC;
734 background-color: #EEEEEE;
740 .uci-change-list var ins,
741 .uci-change-list var del {
752 .uci-change-legend-label {
757 .uci-change-legend-label > ins,
758 .uci-change-legend-label > del,
759 .uci-change-legend-label > var {
767 .uci-change-legend-label var ins,
768 .uci-change-legend-label var del {
773 .uci-change-list var,
774 .uci-change-list del,
775 .uci-change-list ins {
783 border: 1px solid #D4D4D4 !important;
784 border-top: none !important;
788 border: 1px solid #999;
789 background-color: #f9f9f9;
797 padding: 0.2rem 0.5rem;
798 display: inline-block;
802 .zonebadge > .ifacebadge {
803 padding: 0.2rem 1rem;
805 border: 1px solid #6C6C6C;
808 .zonebadge > input[type="text"] {
809 padding: 0.16rem 1rem;
814 .cbi-value-field .cbi-input-checkbox,
815 .cbi-value-field .cbi-input-radio {
819 .cbi-section-table-row > .cbi-value-field .cbi-input-select {
823 .cbi-section-create > .cbi-button-add {
827 div.cbi-value var, td.cbi-value-field var {
839 display: inline-block;
841 padding: 0.2rem 0.3rem;
845 #diag-rc-output > pre {
846 background-color: #f5f5f5;
851 -moz-border-radius: 3px;
852 white-space: pre-wrap;
853 word-wrap: break-word;
859 input[name="traceroute"],
860 input[name="nslookup"] {
864 header > .container > .pull-right > *{
870 #xhr_poll_status > .label.success {
871 background-color: #14CE14;
875 padding: 0.3rem 0.8rem;
877 box-sizing: border-box;
879 color: #ffffff !important;
880 text-transform: uppercase;
882 background-color: #bfbfbf;
883 -webkit-border-radius: 3px;
884 -moz-border-radius: 3px;
887 text-decoration: none;
891 background-color: #5BC0DE;
902 background-color: rgba(0, 0, 0, 0.56);
909 .node-main-login > .main > .main-left {
913 .node-main-login > .main > .main-right {
917 .node-main-login > .main fieldset {
926 .node-main-login > .main .cbi-value-title {
930 .node-main-login > .main #maincontent {
935 .node-main-login > .main .container {
936 display: inline-block;
938 margin-top: 2rem !important;
939 background-color: #FFF;
940 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
944 .node-main-login > .main form > div:nth-last-child(1) {
948 /* fix status processes */
950 .node-status-processes > .main table tr td:nth-child(3) {
954 .node-status-firewall > .main fieldset li {
955 display: inline-block;
958 .node-status-firewall > .main fieldset li > a {
959 box-sizing: border-box;
962 text-transform: none;
967 vertical-align: middle;
968 touch-action: manipulation;
970 -webkit-user-select: none;
971 -moz-user-select: none;
972 -ms-user-select: none;
974 background-image: none;
975 border: 1px solid transparent;
978 padding: 0.5rem 1rem;
980 line-height: 1.42857143;
981 background-color: #f0ad4e;
982 border-color: #eea236;
985 text-decoration: none;
988 /* fix system reboot */
990 .node-system-reboot > .main > .main-right p,
991 .node-system-reboot > .main > .main-right h3 {
995 .node-system-reboot > .main > .main-right p > a {
997 text-decoration: none;
998 box-sizing: border-box;
1001 text-transform: none;
1002 display: inline-block;
1006 white-space: nowrap;
1007 vertical-align: middle;
1008 touch-action: manipulation;
1010 -webkit-user-select: none;
1011 -moz-user-select: none;
1012 -ms-user-select: none;
1014 background-image: none;
1015 border: 1px solid transparent;
1017 padding: 0.5rem 1rem;
1019 line-height: 1.42857143;
1020 text-decoration: none;
1022 background-color: #d9534f !important;
1023 border-color: #d43f3a !important;
1026 /* fix Services Network Shares*/
1027 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
1028 margin-bottom: 1rem;
1031 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
1035 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
1039 /* fix System Software*/
1040 .node-system-software > .main table tr td:nth-child(4) {
1041 white-space: normal;
1046 .node-system-software > .main .cbi-tabmenu > li > a, .tabs > li > a {
1047 padding: 0.5rem 1rem;
1050 .node-status-firewall fieldset,
1051 .node-system-software fieldset,
1052 .node-system-backup_flash_firmware fieldset {
1056 .node-status-firewall .cbi-tabmenu,
1057 .node-system-software .cbi-tabmenu,
1058 .node-system-backup_flash_firmware .cbi-tabmenu {
1060 box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
1063 @media screen and (max-width: 1600px) {
1065 width: calc(0% + 15rem);
1069 width: calc(100% - 15rem);
1073 padding: 0.3rem 0.6rem;
1078 header > .container > .pull-right > * {
1083 padding: 0.2rem 0.6rem;
1095 @media screen and (max-width: 1280px) {
1096 .cbi-tabmenu > li > a, .tabs > li > a {
1097 padding: 0.2rem 0.5rem;
1101 @media screen and (max-width: 992px) {
1118 margin-right: 0.5rem;
1119 display: inline-block;
1127 .node-main-login .showSide {
1128 display: none !important;
1136 .node-network-diagnostics > .main .cbi-map fieldset > div *{
1137 width: 100% !important;
1140 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"]{
1141 margin: 3rem 0 0 0 !important;
1144 .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"]{
1145 margin: 0 !important;
1148 .node-network-diagnostics > .main .cbi-map fieldset > div select,
1149 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"]{
1153 .node-network-diagnostics > .main .cbi-map fieldset > div{
1154 width: 100% !important;
1158 #diag-rc-output > pre {
1163 @media screen and (max-width: 480px) {
1177 #maincontent > .container {
1178 margin: 0 1rem 1.5rem 1rem;
1181 .main > .main-left > .nav > .slide > .menu {
1185 .main > .main-left > .nav > .slide > .slide-menu > li > a {
1190 min-width: 0rem !important;
1193 margin-bottom: 0.5rem;
1196 .cbi-value-field, .cbi-value-description {
1198 box-sizing: border-box;
1201 .cbi-value > .cbi-value-field {
1202 display: inline-block;
1205 .cbi-tabmenu > li, .tabs > li {
1206 padding: 0.6rem 0rem;
1209 .cbi-tabmenu > li > a, .tabs > li > a {
1210 padding: 0.2rem 0.7rem;
1213 .cbi-page-actions > div > input {
1217 .node-main-login > .main .container {
1218 padding: 0.5rem 1rem 2rem 1rem;
1221 .node-main-login > .main .cbi-value {
1225 .node-main-login > .main form > div:nth-last-child(1) {
1229 .node-main-login > .main .cbi-value-title {
1233 .node-main-login > .main fieldset {
1249 header > .container {
1250 margin-top: 0.25rem;