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 {
69 font-family: "Helvetica Neue", Helvetica
, Microsoft Yahei
, Hiragino Sans GB
, WenQuanYi Micro Hei
, sans-serif
;
73 padding: 0.36rem 0.8rem;
75 background-color: #fff;
76 background-image: none
;
77 border: 1px solid
#ccc;
81 padding: 0.36rem 0.5rem;
90 text-decoration: underline
;
101 box-shadow: 0 2px 5px rgba
(0, 0, 0, .26);
102 transition: box-shadow
.2s;
113 text-shadow: 0px 0px 2px #BBB;
118 text-decoration: none
;
132 background-color: rgb
(240, 240, 240);
135 .main > .loading > span{
143 .main > .loading > span:before{
145 -webkit-animation: anim-rotate
2s infinite linear
;
146 animation: anim-rotate
2s infinite linear
;
147 margin-right: 0.2rem;
150 @-webkit-keyframes anim-rotate
{
152 -webkit-transform:rotate
(0);
156 -webkit-transform:rotate
(360deg);
157 transform:rotate
(360deg);
161 @keyframes anim-rotate
{
163 -webkit-transform:rotate
(0);
164 -ms-transform:rotate
(0);
168 -webkit-transform:rotate
(360deg);
169 -ms-transform:rotate
(360deg);
170 transform:rotate
(360deg)
177 width: calc
(0% + 17rem);
180 background-color: white
;
185 width: calc
(100% - 17rem);
189 background-color: #EEE;
205 header
> .container
{
207 padding: 0.5rem 1rem 0 1rem;
210 header
> .container
> .brand
{
213 text-decoration: none
;
215 vertical-align: text-bottom
;
219 background-color: #FF7D60 !important
;
231 font-family: inherit
;
235 background-color: #FFF;
236 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
241 background-color: #f0ad4e;
242 border-color: #eea236;
245 #maincontent > .container
> div:nth-child
(1).alert-message
.warning
> a
{
248 text-transform: none
;
249 display: inline-block
;
254 vertical-align: middle
;
255 touch-action: manipulation
;
257 -webkit-user-select: none
;
258 -moz-user-select: none
;
259 -ms-user-select: none
;
261 background-image: none
;
263 padding: 0.5rem 1rem;
265 line-height: 1.42857143;
267 background-color: #5bc0de;
268 border-color: #46b8da;
270 text-decoration: inherit
;
273 .main > .main-left > .nav {
277 .main > .main-left > .nav > li a {
282 .main > .main-left > .nav > li:nth-last-child(1) {
287 .main > .main-left > .nav > li {
288 padding: 0.5rem 1rem;
292 .main > .main-left > .nav > .slide {
296 .main > .main-left > .nav > .slide > ul {
300 .main > .main-left > .nav > .slide > .menu {
302 padding: 0.5rem 1rem;
303 text-decoration: none
;
308 .main
> .main-left
> .nav
> li:hover
,
309 .main > .main-left > .nav > .slide > .menu:hover {
313 .main > .main-left > .nav > .slide:hover {
317 .main > .main-left > .nav > .slide > .slide-menu > li {
318 padding: 0.4rem 2rem;
321 .main > .main-left > .nav > .slide > .slide-menu > .active {
322 background-color: #0099CC;
325 .main > .main-left > .nav > .slide > .slide-menu > li > a {
326 text-decoration: none
;
330 .main > .main-left > .nav > .slide > .slide-menu > .active > a {
334 .main > .main-left > .nav > .slide > .slide-menu > li:hover {
338 .main > .main-left > .nav > .slide > .slide-menu > .active:hover {
339 background-color: #0099CC;
344 list-style-type: none
;
347 #maincontent > .container
{
348 margin: 0 2rem 1rem 2rem;
353 padding-bottom: 10px;
354 border-bottom: 1px solid
#eee;
360 padding-bottom: 10px;
361 border-bottom: 1px solid
#eee;
367 padding-bottom: 10px;
381 font-family: inherit
;
387 background-color: #FFF;
388 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
392 display: none
!important
;
395 fieldset
> fieldset
{
408 padding-bottom: 2rem;
409 border-bottom: 1px solid
#eee;
414 border-collapse: collapse
;
416 border: 1px solid
#eee;
419 table
> tbody
> tr
> td
, table
> tbody
> tr
> th
, table
> tfoot
> tr
> td
, table
> tfoot
> tr
> th
, table
> thead
> tr
> td
, table
> thead
> tr
> th
{
421 line-height: 1.42857143;
422 border-top: 1px solid
#ddd;
427 .cbi-section-table-cell {
431 .cbi-section-table-row {
435 fieldset
> table
> tbody
> tr:nth-of-type
(odd
) {
436 background-color: #f9f9f9;
439 /* fix progress bar */
444 width: 100% !important
;
445 height: 1.4rem !important
;
448 #memfree > div
> div
,
449 #membuff > div
> div
,
451 #memtotal > div
> div
{
452 height: 1.4rem !important
;
453 background-color: #0099CC !important
;
456 /* fix multiple table */
462 .cbi-value-field table {
466 td
> table
> tbody
> tr
> td
{
470 .cbi-value-field > table > tbody > tr > td {
479 text-transform: none
;
480 display: inline-block
;
485 vertical-align: middle
;
486 touch-action: manipulation
;
488 -webkit-user-select: none
;
489 -moz-user-select: none
;
490 -ms-user-select: none
;
492 background-image: none
;
493 border: 1px solid transparent
;
495 background-color: #fff;
498 padding: 0.5rem 1rem;
500 line-height: 1.42857143;
506 background-color: #f0ad4e;
507 border-color: #eea236;
516 color: #fff !important
;
517 background-color: #337ab7 !important
;
518 border-color: #2e6da4 !important
;
524 color: #fff !important
;
525 background-color: #5bc0de !important
;
526 border-color: #46b8da !important
;
531 color: #fff !important
;
532 background-color: #d9534f !important
;
533 border-color: #d43f3a !important
;
540 padding-left: 0.5rem;
541 background-color: #FFFFFF;
546 display: inline-block
;
547 padding: 0.9rem 0rem;
550 .cbi-tabmenu
> li
> a
,
552 text-decoration: none
;
554 padding: 0.9rem 1.5rem;
557 .tabs
> li
[class
~="active"],
560 background-color: white
;
561 border-bottom: 0.2rem solid
#0099CC;
565 .tabs > li[class~="active"] > a {
570 border-bottom: 0.2rem solid
#C9C9C9;
574 border-top: 1px solid
#D4D4D4;
575 border-left: 1px solid
#D4D4D4;
576 border-right: 1px solid
#D4D4D4;
579 .cbi-tabmenu > li:hover {
580 background-color: #F1F1F1;
583 .cbi-tabmenu > li[class~="cbi-tab"] {
584 background-color: white
;
588 background-color: #D4D4D4;
591 .cbi-section-node-tabbed {
594 border-bottom: 1px solid
#D4D4D4;
595 border-left: 1px solid
#D4D4D4;
596 border-right: 1px solid
#D4D4D4;
599 .cbi-tabcontainer > .cbi-value:nth-of-type(2n) {
600 background-color: #f9f9f9;
604 .cbi-value-description {
608 .cbi-value-helpicon > img {
612 .cbi-value-helpicon:before {
616 .cbi-value-description {
619 padding: 0.5rem 0 0 0;
623 word-wrap: break-word
;
636 .cbi-section-table-descr
> .cbi-section-table-cell
,
637 .cbi-section-table-titles > .cbi-section-table-cell {
642 background-color: #eee;
645 .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
646 width: auto
!important
;
663 text-align: left
!important
;
667 text-align: right
!important
;
671 display: inline-block
;
675 border-top: 1px solid
#eee;
681 .cbi-value input
[type
="password"],
682 .cbi-value input[type="text"] {
683 padding: 0.36rem 1rem;
686 background-color: #fff;
687 background-image: none
;
688 border: 1px solid
#ccc;
689 margin-bottom: 0.3rem;
692 .cbi-value-field input
[type
="password"],
693 .cbi-value-field input[type="text"] {
694 padding: 0.36rem 1rem;
696 background-color: #fff;
697 background-image: none
;
698 border: 1px solid
#ccc;
702 .cbi-value-field .cbi-input-select {
705 padding: 0.36rem 0.8rem;
707 background-color: #fff;
708 background-image: none
;
709 border: 1px solid
#ccc;
713 display: inline-block
;
715 border: 1px solid
#CCCCCC;
716 padding: 0.5rem 1rem;
717 -webkit-box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
718 -moz-box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
719 box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
729 .cbi-input-textarea {
734 font-family: "Helvetica Neue", Helvetica
, Arial
, sans-serif
;
747 background-color: #FFF;
748 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
755 font-family: monospace
;
758 .uci-change-list ins
,
759 .uci-change-legend-label ins {
760 text-decoration: none
;
761 border: 1px solid
#00FF00;
762 background-color: #CCFFCC;
767 .uci-change-list del
,
768 .uci-change-legend-label del {
769 text-decoration: none
;
770 border: 1px solid
#FF0000;
771 background-color: #FFCCCC;
777 .uci-change-list var
,
778 .uci-change-legend-label var {
779 text-decoration: none
;
780 border: 1px solid
#CCCCCC;
781 background-color: #EEEEEE;
787 .uci-change-list var ins
,
788 .uci-change-list var del {
799 .uci-change-legend-label {
804 .uci-change-legend-label
> ins
,
805 .uci-change-legend-label
> del
,
806 .uci-change-legend-label > var {
814 .uci-change-legend-label var ins
,
815 .uci-change-legend-label var del {
820 .uci-change-list var
,
821 .uci-change-list del
,
822 .uci-change-list ins {
830 border: 1px solid
#D4D4D4 !important
;
831 border-top: none
!important
;
835 border: 1px solid
#999;
836 background-color: #f9f9f9;
844 padding: 0.2rem 0.5rem;
845 display: inline-block
;
849 .zonebadge > .ifacebadge {
850 padding: 0.2rem 1rem;
852 border: 1px solid
#6C6C6C;
855 .zonebadge > input[type="text"] {
856 padding: 0.16rem 1rem;
861 .cbi-value-field
.cbi-input-checkbox
,
862 .cbi-value-field .cbi-input-radio {
866 .cbi-section-table-row > .cbi-value-field .cbi-input-select {
870 .cbi-section-create > .cbi-button-add {
874 div
.cbi-value var
, td
.cbi-value-field var
{
886 display: inline-block
;
888 padding: 0.2rem 0.3rem;
892 #diag-rc-output > pre
{
893 background-color: #f5f5f5;
898 -moz-border-radius: 3px;
899 white-space: pre-wrap
;
900 word-wrap: break-word
;
906 input
[name
="traceroute"],
907 input
[name
="nslookup"] {
911 header
> .container
> .pull-right
> * {
917 #xhr_poll_status > .label
.success
{
918 background-color: #14CE14;
922 padding: 0.3rem 0.8rem;
925 color: #ffffff !important
;
926 text-transform: uppercase
;
928 background-color: #bfbfbf;
929 -webkit-border-radius: 3px;
930 -moz-border-radius: 3px;
933 text-decoration: none
;
937 background-color: #5BC0DE;
948 background-color: rgba
(0, 0, 0, 0.56);
955 .node-main-login > .main > .main-left {
959 .node-main-login > .main > .main-right {
963 .node-main-login > .main fieldset {
972 .node-main-login > .main .cbi-value-title {
976 .node-main-login > .main #maincontent {
981 .node-main-login > .main .container {
982 display: inline-block
;
984 margin-top: 2rem !important
;
985 background-color: #FFF;
986 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
990 .node-main-login > .main form > div:nth-last-child(1) {
994 .node-main-login footer{
1000 /* fix status overview */
1002 .node-status-overview > .main fieldset:nth-child(4) td:nth-child(2){
1003 white-space: normal
;
1007 /* fix status processes */
1009 .node-status-processes > .main table tr td:nth-child(3) {
1010 white-space: normal
;
1013 .node-status-firewall > .main fieldset li {
1014 display: inline-block
;
1017 .node-status-firewall > .main fieldset li > a {
1020 text-transform: none
;
1024 white-space: nowrap
;
1025 vertical-align: middle
;
1026 touch-action: manipulation
;
1028 -webkit-user-select: none
;
1029 -moz-user-select: none
;
1030 -ms-user-select: none
;
1032 background-image: none
;
1033 border: 1px solid transparent
;
1036 padding: 0.5rem 1rem;
1038 line-height: 1.42857143;
1039 background-color: #f0ad4e;
1040 border-color: #eea236;
1043 text-decoration: none
;
1046 /* fix system reboot */
1048 .node-system-reboot
> .main
> .main-right p
,
1049 .node-system-reboot > .main > .main-right h3 {
1053 .node-system-reboot > .main > .main-right p > a {
1055 text-decoration: none
;
1058 text-transform: none
;
1059 display: inline-block
;
1063 white-space: nowrap
;
1064 vertical-align: middle
;
1065 touch-action: manipulation
;
1067 -webkit-user-select: none
;
1068 -moz-user-select: none
;
1069 -ms-user-select: none
;
1071 background-image: none
;
1072 border: 1px solid transparent
;
1074 padding: 0.5rem 1rem;
1076 line-height: 1.42857143;
1077 text-decoration: none
;
1079 background-color: #d9534f !important
;
1080 border-color: #d43f3a !important
;
1083 /* fix Services Network Shares*/
1084 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
1085 margin-bottom: 1rem;
1088 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
1092 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
1096 /* fix System Software*/
1097 .node-system-software > .main table tr td:nth-child(4) {
1098 white-space: normal
;
1103 .node-system-software > .main .cbi-tabmenu > li > a, .tabs > li > a {
1104 padding: 0.5rem 1rem;
1107 .node-system-software > .main .cbi-value > pre {
1108 background-color: #eee;
1113 .cbi-tabmenu + .cbi-section {
1117 .node-status-firewall fieldset
,
1118 .node-system-software fieldset
,
1119 .node-system-backup_flash_firmware fieldset {
1123 .node-status-firewall
.cbi-tabmenu
,
1124 .node-system-software
.cbi-tabmenu
,
1125 .node-system-backup_flash_firmware .cbi-tabmenu {
1127 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
1131 body
.lang_pl
.node-main-login
.cbi-value-title
{
1135 @media screen and
(max-width: 1600px) {
1137 width: calc
(0% + 15rem);
1141 width: calc
(100% - 15rem);
1145 padding: 0.3rem 0.6rem;
1150 header
> .container
> .pull-right
> * {
1155 padding: 0.2rem 0.6rem;
1166 .cbi-input-textarea {
1170 .node-status-firewall > .main fieldset li > a {
1171 padding: 0.3rem 0.6rem;
1175 @media screen and
(max-width: 1280px) {
1180 header
> .container
{
1181 margin-top: 0.25rem;
1189 width: calc
(0% + 13rem);
1193 width: calc
(100% - 13rem);
1196 .cbi-tabmenu > li > a, .tabs > li > a {
1197 padding: 0.2rem 0.5rem;
1202 padding-bottom: 1rem;
1206 font-size: 0.8rem !important
;
1209 .main
> .main-left
> .nav
> li
,
1210 .main
> .main-left
> .nav
> li a
,
1211 .main > .main-left > .nav > .slide > .menu {
1215 .main > .main-left > .nav > .slide > .slide-menu > li > a {
1220 @media screen and
(max-width: 992px) {
1233 margin-right: 0.5rem;
1234 display: inline-block
;
1242 .node-main-login .showSide {
1243 display: none
!important
;
1248 padding-right: 1rem;
1251 .node-network-diagnostics > .main .cbi-map fieldset > div * {
1252 width: 100% !important
;
1255 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"] {
1256 margin: 3rem 0 0 0 !important
;
1259 .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"] {
1260 margin: 0 !important
;
1263 .node-network-diagnostics
> .main
.cbi-map fieldset
> div select
,
1264 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"] {
1268 .node-network-diagnostics > .main .cbi-map fieldset > div {
1269 width: 100% !important
;
1272 #diag-rc-output > pre
{
1276 .node-main-login > .main .cbi-value-title {
1281 @media screen and
(max-width: 480px) {
1291 #maincontent > .container
{
1292 margin: 0 1rem 1.5rem 1rem;
1295 .main > .main-left > .nav > .slide > .menu {
1299 .main > .main-left > .nav > .slide > .slide-menu > li > a {
1305 min-width: 0rem !important
;
1308 margin-bottom: 0.5rem;
1312 .cbi-value-field, .cbi-value-description {
1316 .cbi-value > .cbi-value-field {
1317 display: inline-block
;
1320 .cbi-tabmenu > li, .tabs > li {
1321 padding: 0.6rem 0rem;
1324 .cbi-tabmenu > li > a, .tabs > li > a {
1325 padding: 0.2rem 0.3rem;
1329 .cbi-page-actions > div > input {
1333 .node-main-login > .main .container {
1334 padding: 0.5rem 1rem 2rem 1rem;
1337 .node-main-login > .main .cbi-value {
1341 .node-main-login > .main form > div:nth-last-child(1) {
1345 .node-main-login > .main .cbi-value-title {
1346 width: 100% !important
;
1350 .node-main-login > .main fieldset {
1374 padding-bottom: 1rem;
1377 .node-system-software > .main .cbi-value.cbi-value-last > div {
1378 width: 100% !important
;
1381 .node-system-software > .main .cbi-value .cbi-value-field input {