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;
82 background-color: transparent
;
83 color: rgba
(0,0,0,.87);
85 border-bottom: 1px solid rgba
(0,0,0,.26);
90 background-image: none
;
93 transition: all
0.2s ease-in-out
;
99 height: calc
(2rem + 1px);
101 border-color: #0099CC;
111 text-decoration: underline
;
122 box-shadow: 0 2px 5px rgba
(0, 0, 0, .26);
123 transition: box-shadow
.2s;
134 text-shadow: 0px 0px 2px #BBB;
139 text-decoration: none
;
153 background-color: rgb
(240, 240, 240);
157 .main > .loading > span{
165 .main > .loading > span > .loading-img:before{
169 .main > .loading > span > .loading-img{
170 animation: anim-rotate
2s infinite linear
;
171 margin-right: 0.2rem;
172 display: inline-block
;
175 @keyframes anim-rotate
{
177 -webkit-transform:rotate
(0);
178 -ms-transform:rotate
(0);
182 -webkit-transform:rotate
(360deg);
183 -ms-transform:rotate
(360deg);
184 transform:rotate
(360deg)
191 width: calc
(0% + 17rem);
194 background-color: white
;
199 width: calc
(100% - 17rem);
203 background-color: #EEE;
219 header
> .container
{
221 padding: 0.5rem 1rem 0 1rem;
224 header
> .container
> .brand
{
227 text-decoration: none
;
229 vertical-align: text-bottom
;
233 background-color: #FF7D60 !important
;
245 font-family: inherit
;
249 background-color: #FFF;
250 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
255 background-color: #f0ad4e;
256 border-color: #eea236;
259 #maincontent > .container
> div:nth-child
(1).alert-message
.warning
> a
{
262 text-transform: none
;
263 display: inline-block
;
268 vertical-align: middle
;
269 touch-action: manipulation
;
271 -webkit-user-select: none
;
272 -moz-user-select: none
;
273 -ms-user-select: none
;
275 background-image: none
;
277 padding: 0.5rem 1rem;
279 line-height: 1.42857143;
281 background-color: #5bc0de;
282 border-color: #46b8da;
284 text-decoration: inherit
;
287 .main > .main-left > .nav {
291 .main > .main-left > .nav > li a {
296 .main > .main-left > .nav > li:nth-last-child(1) {
301 .main > .main-left > .nav > li {
302 padding: 0.5rem 1rem;
306 .main > .main-left > .nav > .slide {
310 .main > .main-left > .nav > .slide > ul {
314 .main > .main-left > .nav > .slide > .menu {
316 padding: 0.5rem 1rem;
317 text-decoration: none
;
322 .main
> .main-left
> .nav
> li:hover
,
323 .main > .main-left > .nav > .slide > .menu:hover {
327 .main > .main-left > .nav > .slide:hover {
331 .main > .main-left > .nav > .slide > .slide-menu > li {
332 padding: 0.4rem 2rem;
335 .main > .main-left > .nav > .slide > .slide-menu > .active {
336 background-color: #0099CC;
339 .main > .main-left > .nav > .slide > .slide-menu > li > a {
340 text-decoration: none
;
344 .main > .main-left > .nav > .slide > .slide-menu > .active > a {
348 .main > .main-left > .nav > .slide > .slide-menu > li:hover {
352 .main > .main-left > .nav > .slide > .slide-menu > .active:hover {
353 background-color: #0099CC;
358 list-style-type: none
;
361 #maincontent > .container
{
362 margin: 0 2rem 1rem 2rem;
367 padding-bottom: 10px;
368 border-bottom: 1px solid
#eee;
374 padding-bottom: 10px;
375 border-bottom: 1px solid
#eee;
381 padding-bottom: 10px;
395 font-family: inherit
;
401 background-color: #FFF;
402 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
406 display: none
!important
;
409 fieldset
> fieldset
{
422 padding-bottom: 2rem;
423 border-bottom: 1px solid
#eee;
428 border-collapse: collapse
;
430 border: 1px solid
#eee;
433 table
> tbody
> tr
> td
, table
> tbody
> tr
> th
, table
> tfoot
> tr
> td
, table
> tfoot
> tr
> th
, table
> thead
> tr
> td
, table
> thead
> tr
> th
{
435 line-height: 1.42857143;
436 border-top: 1px solid
#ddd;
441 .cbi-section-table-cell {
445 .cbi-section-table-row {
449 fieldset
> table
> tbody
> tr:nth-of-type
(odd
) {
450 background-color: #f9f9f9;
453 /* fix progress bar */
458 width: 100% !important
;
459 height: 1.4rem !important
;
462 #memfree > div
> div
,
463 #membuff > div
> div
,
465 #memtotal > div
> div
{
466 height: 1.4rem !important
;
467 background-color: #0099CC !important
;
470 /* fix multiple table */
476 .cbi-value-field table {
480 td
> table
> tbody
> tr
> td
{
484 .cbi-value-field > table > tbody > tr > td {
491 text-transform: uppercase
;
492 color: rgba
(0, 0, 0, 0.87);
493 background-color: #FFF;
494 transition: all
0.2s ease-in-out
;
495 display: inline-block
;
496 padding: 0.5rem 1rem;
498 border-radius: 0.2rem;
500 -ms-touch-action: manipulation
;
501 touch-action: manipulation
;
502 background-image: none
;
504 vertical-align: middle
;
506 -webkit-user-select: none
;
507 -moz-user-select: none
;
508 -ms-user-select: none
;
511 width: auto
!important
;
517 color: rgba
(0, 0, 0, 0.87);
518 background-color: white
;
520 text-decoration: none
;
521 color: rgba
(0, 0, 0, 0.87);
526 box-shadow: 0 0px 2px rgba
(0, 0, 0, 0.12), 0 2px 2px rgba
(0, 0, 0, 0.2);
530 box-shadow: 0 10px 20px rgba
(0, 0, 0, 0.19), 0 6px 6px rgba
(0, 0, 0, 0.23);
533 .cbi-button:disabled {
535 pointer-events: none
;
540 .cbi-button + .cbi-button {
546 color: #fff !important
;
547 background-color: #f0ad4e !important
;
548 border-color: #eea236 !important
;
558 color: #fff !important
;
559 background-color: #337ab7 !important
;
560 border-color: #2e6da4 !important
;
566 color: #fff !important
;
567 background-color: #5bc0de !important
;
568 border-color: #46b8da !important
;
573 color: #fff !important
;
574 background-color: #d9534f !important
;
575 border-color: #d43f3a !important
;
579 text-decoration: none
;
586 padding-left: 0.5rem;
587 background-color: #FFFFFF;
592 display: inline-block
;
593 padding: 0.9rem 0rem;
596 .cbi-tabmenu
> li
> a
,
598 text-decoration: none
;
600 padding: 0.9rem 1.5rem;
603 .tabs
> li
[class
~="active"],
606 background-color: white
;
607 border-bottom: 0.2rem solid
#0099CC;
611 .tabs > li[class~="active"] > a {
616 border-bottom: 0.2rem solid
#C9C9C9;
620 border-top: 1px solid
#D4D4D4;
621 border-left: 1px solid
#D4D4D4;
622 border-right: 1px solid
#D4D4D4;
625 .cbi-tabmenu > li:hover {
626 background-color: #F1F1F1;
629 .cbi-tabmenu > li[class~="cbi-tab"] {
630 background-color: white
;
634 background-color: #D4D4D4;
637 .cbi-section-node-tabbed {
640 border-bottom: 1px solid
#D4D4D4;
641 border-left: 1px solid
#D4D4D4;
642 border-right: 1px solid
#D4D4D4;
645 .cbi-tabcontainer > .cbi-value:nth-of-type(2n) {
646 background-color: #f9f9f9;
650 .cbi-value-description {
654 .cbi-value-helpicon > img {
658 .cbi-value-helpicon:before {
662 .cbi-value-description {
665 padding: 0.5rem 0 0 0;
669 word-wrap: break-word
;
682 .cbi-section-table-descr
> .cbi-section-table-cell
,
683 .cbi-section-table-titles > .cbi-section-table-cell {
688 background-color: #eee;
691 .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
692 width: auto
!important
;
709 text-align: left
!important
;
713 text-align: right
!important
;
717 display: inline-block
;
721 border-top: 1px solid
#eee;
727 .cbi-value input
[type
="password"],
728 .cbi-value input[type="text"] {
733 .cbi-value-field .cbi-input-select {
738 display: inline-block
;
740 border-bottom: 1px solid
#CCCCCC;
741 padding: 0.5rem 1rem;
742 -webkit-box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
743 -moz-box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
744 box-shadow: inset
0 1px 0 rgba
(255, 255, 255, 0.2), 0 1px 2px rgba
(0, 0, 0, 0.05);
754 .cbi-input-textarea {
759 font-family: "Helvetica Neue", Helvetica
, Arial
, sans-serif
;
772 background-color: #FFF;
773 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
780 font-family: monospace
;
783 .uci-change-list ins
,
784 .uci-change-legend-label ins {
785 text-decoration: none
;
786 border: 1px solid
#00FF00;
787 background-color: #CCFFCC;
792 .uci-change-list del
,
793 .uci-change-legend-label del {
794 text-decoration: none
;
795 border: 1px solid
#FF0000;
796 background-color: #FFCCCC;
802 .uci-change-list var
,
803 .uci-change-legend-label var {
804 text-decoration: none
;
805 border: 1px solid
#CCCCCC;
806 background-color: #EEEEEE;
812 .uci-change-list var ins
,
813 .uci-change-list var del {
824 .uci-change-legend-label {
829 .uci-change-legend-label
> ins
,
830 .uci-change-legend-label
> del
,
831 .uci-change-legend-label > var {
839 .uci-change-legend-label var ins
,
840 .uci-change-legend-label var del {
845 .uci-change-list var
,
846 .uci-change-list del
,
847 .uci-change-list ins {
855 border: 1px solid
#D4D4D4 !important
;
856 border-top: none
!important
;
860 border: 1px solid
#999;
861 background-color: #f9f9f9;
869 padding: 0.2rem 0.5rem;
870 display: inline-block
;
874 .zonebadge > .ifacebadge {
875 padding: 0.2rem 1rem;
877 border: 1px solid
#6C6C6C;
880 .zonebadge > input[type="text"] {
881 padding: 0.16rem 1rem;
886 .cbi-value-field
.cbi-input-checkbox
,
887 .cbi-value-field .cbi-input-radio {
891 .cbi-section-table-row > .cbi-value-field .cbi-input-select {
895 .cbi-section-create > .cbi-button-add {
899 div
.cbi-value var
, td
.cbi-value-field var
{
911 display: inline-block
;
913 padding: 0.2rem 0.3rem;
917 #diag-rc-output > pre
{
918 background-color: #f5f5f5;
923 -moz-border-radius: 3px;
924 white-space: pre-wrap
;
925 word-wrap: break-word
;
931 input
[name
="traceroute"],
932 input
[name
="nslookup"] {
936 header
> .container
> .pull-right
> * {
942 #xhr_poll_status > .label
.success
{
943 background-color: #14CE14;
947 padding: 0.3rem 0.8rem;
950 color: #ffffff !important
;
951 text-transform: uppercase
;
953 background-color: #bfbfbf;
954 -webkit-border-radius: 3px;
955 -moz-border-radius: 3px;
958 text-decoration: none
;
962 background-color: #5BC0DE;
973 background-color: rgba
(0, 0, 0, 0.56);
980 .node-main-login > .main > .main-left {
984 .node-main-login > .main > .main-right {
988 .node-main-login > .main fieldset {
997 .node-main-login > .main .cbi-value-title {
1001 .node-main-login > .main #maincontent {
1006 .node-main-login > .main .container {
1007 display: inline-block
;
1009 margin-top: 2rem !important
;
1010 background-color: #FFF;
1011 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
1015 .node-main-login > .main form > div:nth-last-child(1) {
1019 .node-main-login footer{
1025 /* fix status overview */
1027 .node-status-overview > .main fieldset:nth-child(4) td:nth-child(2){
1028 white-space: normal
;
1032 /* fix status processes */
1034 .node-status-processes > .main table tr td:nth-child(3) {
1035 white-space: normal
;
1038 .node-status-firewall > .main fieldset li {
1039 display: inline-block
;
1043 /* fix system reboot */
1045 .node-system-reboot
> .main
> .main-right p
,
1046 .node-system-reboot > .main > .main-right h3 {
1050 /* fix Services Network Shares*/
1051 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
1052 margin-bottom: 1rem;
1055 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
1059 .node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
1063 /* fix System Software*/
1064 .node-system-software > .main table tr td:nth-child(4) {
1065 white-space: normal
;
1070 .node-system-software > .main .cbi-tabmenu > li > a, .tabs > li > a {
1071 padding: 0.5rem 1rem;
1074 .node-system-software > .main .cbi-value > pre {
1075 background-color: #eee;
1080 .cbi-tabmenu + .cbi-section {
1084 .node-status-firewall fieldset
,
1085 .node-system-software fieldset
,
1086 .node-system-backup_flash_firmware fieldset {
1090 .node-status-firewall
.cbi-tabmenu
,
1091 .node-system-software
.cbi-tabmenu
,
1092 .node-system-backup_flash_firmware .cbi-tabmenu {
1094 box-shadow: 0 2px 2px 0 rgba
(0, 0, 0, .16), 0 0 2px 0 rgba
(0, 0, 0, .12);
1098 body
.lang_pl
.node-main-login
.cbi-value-title
{
1102 @media screen and
(max-width: 1600px) {
1104 width: calc
(0% + 15rem);
1108 width: calc
(100% - 15rem);
1112 padding: 0.3rem 0.6rem;
1117 header
> .container
> .pull-right
> * {
1122 padding: 0.2rem 0.6rem;
1133 .cbi-input-textarea {
1137 .node-status-firewall > .main fieldset li > a {
1138 padding: 0.3rem 0.6rem;
1142 @media screen and
(max-width: 1280px) {
1147 header
> .container
{
1148 margin-top: 0.25rem;
1156 width: calc
(0% + 13rem);
1160 width: calc
(100% - 13rem);
1163 .cbi-tabmenu > li > a, .tabs > li > a {
1164 padding: 0.2rem 0.5rem;
1169 padding-bottom: 1rem;
1173 font-size: 0.8rem !important
;
1176 .main
> .main-left
> .nav
> li
,
1177 .main
> .main-left
> .nav
> li a
,
1178 .main > .main-left > .nav > .slide > .menu {
1182 .main > .main-left > .nav > .slide > .slide-menu > li > a {
1187 @media screen and
(max-width: 992px) {
1200 margin-right: 0.5rem;
1201 display: inline-block
;
1209 .node-main-login .showSide {
1210 display: none
!important
;
1215 padding-right: 1rem;
1218 .node-network-diagnostics > .main .cbi-map fieldset > div * {
1219 width: 100% !important
;
1222 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"] {
1223 margin: 3rem 0 0 0 !important
;
1226 .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"] {
1227 margin: 0 !important
;
1230 .node-network-diagnostics
> .main
.cbi-map fieldset
> div select
,
1231 .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"] {
1235 .node-network-diagnostics > .main .cbi-map fieldset > div {
1236 width: 100% !important
;
1239 #diag-rc-output > pre
{
1243 .node-main-login > .main .cbi-value-title {
1248 @media screen and
(max-width: 480px) {
1258 #maincontent > .container
{
1259 margin: 0 1rem 1.5rem 1rem;
1262 .main > .main-left > .nav > .slide > .menu {
1266 .main > .main-left > .nav > .slide > .slide-menu > li > a {
1272 min-width: 0rem !important
;
1275 margin-bottom: 0.5rem;
1279 .cbi-value-field, .cbi-value-description {
1283 .cbi-value > .cbi-value-field {
1284 display: inline-block
;
1287 .cbi-tabmenu > li, .tabs > li {
1288 padding: 0.6rem 0rem;
1291 .cbi-tabmenu > li > a, .tabs > li > a {
1292 padding: 0.2rem 0.3rem;
1296 .cbi-page-actions > div > input {
1300 .node-main-login > .main .container {
1301 padding: 0.5rem 1rem 2rem 1rem;
1304 .node-main-login > .main .cbi-value {
1308 .node-main-login > .main form > div:nth-last-child(1) {
1312 .node-main-login > .main .cbi-value-title {
1313 width: 100% !important
;
1317 .node-main-login > .main fieldset {
1341 padding-bottom: 1rem;
1344 .node-system-software > .main .cbi-value.cbi-value-last > div {
1345 width: 100% !important
;
1348 .node-system-software > .main .cbi-value .cbi-value-field input {