luci-theme-material: add some new features and fix some bugs
[project/luci.git] / themes / luci-theme-material / htdocs / luci-static / material / css / style.css
index 4962323..058d3ed 100755 (executable)
@@ -36,7 +36,7 @@
 .cbi-button-down,
 .cbi-value-helpicon,
 .showSide,
-[class^="icon-"], [class*=" icon-"] {
+.main > .loading > span {
     font-family: 'icomoon' !important;
     speak: none;
     font-style: normal !important;
@@ -52,8 +52,6 @@
 * {
     margin: 0;
     padding: 0;
-    font-size: 1rem;
-    font-size: 100%;
     box-sizing: border-box;
 }
 
@@ -93,7 +91,7 @@ abbr {
     cursor: help;
 }
 
-header, footer, .main {
+header, .main {
     width: 100%;
     position: absolute;
 }
@@ -107,11 +105,72 @@ header {
     z-index: 101;
 }
 
+footer{
+    text-align: right;
+    padding: 1rem;
+    color: #aaa;
+    font-size: 0.8rem;
+    text-shadow: 0px 0px 2px #BBB;
+}
+
+footer > a{
+    color: #aaa;
+    text-decoration: none;
+}
+
 .main {
     top: 4rem;
     bottom: 0rem;
 }
 
+.main > .loading{
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    z-index: 1000;
+    display: block;
+    background-color: rgb(240, 240, 240);
+}
+
+.main > .loading > span{
+    display: block;
+    text-align: center;
+    margin-top: 2rem;
+    color: #888;
+    font-size: 1.3rem;
+}
+
+.main > .loading > span:before{
+    content: "\e603";
+    -webkit-animation: anim-rotate 2s infinite linear;
+    animation: anim-rotate 2s infinite linear;
+    margin-right: 0.2rem;
+}
+
+@-webkit-keyframes anim-rotate {
+    0% {
+        -webkit-transform:rotate(0);
+        transform:rotate(0);
+    }
+    100% {
+        -webkit-transform:rotate(360deg);
+        transform:rotate(360deg);
+    }
+}
+
+@keyframes anim-rotate {
+    0% {
+        -webkit-transform:rotate(0);
+        -ms-transform:rotate(0);
+        transform:rotate(0);
+    }
+    100% {
+        -webkit-transform:rotate(360deg);
+        -ms-transform:rotate(360deg);
+        transform:rotate(360deg)
+    }
+}
+
 .main-left {
     float: left;
     width: 15%;
@@ -168,7 +227,6 @@ header > .container > .brand {
     border: 0;
     font-weight: normal;
     font-style: normal;
-    font-size: 100%;
     line-height: 1;
     font-family: inherit;
     min-width: inherit;
@@ -178,14 +236,13 @@ header > .container > .brand {
     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
 }
 
-.errorbox{
+.errorbox {
     color: #fff;
     background-color: #f0ad4e;
     border-color: #eea236;
 }
 
 #maincontent > .container > div:nth-child(1).alert-message.warning > a {
-    box-sizing: border-box;
     font: inherit;
     overflow: visible;
     text-transform: none;
@@ -219,10 +276,12 @@ header > .container > .brand {
 
 .main > .main-left > .nav > li a {
     color: #404040;
+    display: block;
 }
 
 .main > .main-left > .nav > li:nth-last-child(1) {
     margin-top: 2rem;
+    font-size: 1.2rem;
 }
 
 .main > .main-left > .nav > li {
@@ -286,7 +345,7 @@ li {
 }
 
 #maincontent > .container {
-    margin: 0 2rem 3rem 2rem;
+    margin: 0 2rem 1rem 2rem;
 }
 
 h1 {
@@ -318,7 +377,6 @@ fieldset {
     border: 0;
     font-weight: normal;
     font-style: normal;
-    font-size: 100%;
     line-height: 1;
     font-family: inherit;
 
@@ -378,13 +436,6 @@ fieldset > table > tbody > tr:nth-of-type(odd) {
     background-color: #f9f9f9;
 }
 
-footer {
-    position: fixed;
-    z-index: 1000;
-    bottom: 0;
-    left: 0;
-}
-
 /* fix progress bar */
 #memfree > div,
 #membuff > div,
@@ -423,7 +474,6 @@ td > table > tbody > tr > td {
 /* button style */
 
 .cbi-button {
-    box-sizing: border-box;
     font: inherit;
     overflow: visible;
     text-transform: none;
@@ -570,12 +620,13 @@ td > table > tbody > tr > td {
 }
 
 .cbi-value-title {
+    word-wrap: break-word;
     padding-top: 0.6rem;
-    min-width: 23rem;
-    display: inline-block;
+    width: 23rem;
     float: left;
     text-align: right;
     padding-right: 2rem;
+    display: table-cell;
 }
 
 .cbi-value {
@@ -629,7 +680,6 @@ td > table > tbody > tr > td {
 /* input */
 .cbi-value input[type="password"],
 .cbi-value input[type="text"] {
-    box-sizing: border-box;
     padding: 0.36rem 1rem;
     color: #555;
     min-width: 15rem;
@@ -641,7 +691,6 @@ td > table > tbody > tr > td {
 
 .cbi-value-field input[type="password"],
 .cbi-value-field input[type="text"] {
-    box-sizing: border-box;
     padding: 0.36rem 1rem;
     color: #555;
     background-color: #fff;
@@ -678,19 +727,19 @@ td > table > tbody > tr > td {
 /*textarea*/
 
 .cbi-input-textarea {
-    box-sizing: border-box;
     width: 100%;
-    min-height: 15rem;
+    min-height: 16rem;
     padding: 1rem;
-    font-size: 1.2rem;
+    font-size: 0.9rem;
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+    color: black;
 }
 
 #syslog {
-    width: 90%;
-    width: calc(100% - 2rem);
+    width: 100%;
     min-height: 15rem;
     padding: 1rem;
-    font-size: 1rem;
+    font-size: smaller;
     color: #5F5F5F;
 
     margin-bottom: 20px;
@@ -859,7 +908,7 @@ input[name="nslookup"] {
     width: 80%;
 }
 
-#xhr_poll_status {
+header > .container > .pull-right > * {
     position: relative;
     top: 0.45rem;
     cursor: pointer;
@@ -869,10 +918,9 @@ input[name="nslookup"] {
     background-color: #14CE14;
 }
 
-#xhr_poll_status > .label {
+.label {
     padding: 0.3rem 0.8rem;
     font-size: 1rem;
-    box-sizing: border-box;
     font-weight: bold;
     color: #ffffff !important;
     text-transform: uppercase;
@@ -882,6 +930,11 @@ input[name="nslookup"] {
     -moz-border-radius: 3px;
     border-radius: 3px;
     text-shadow: none;
+    text-decoration: none;
+}
+
+.notice {
+    background-color: #5BC0DE;
 }
 
 .showSide {
@@ -908,8 +961,8 @@ input[name="nslookup"] {
 }
 
 .node-main-login > .main fieldset {
-    margin-bottom: 2rem;
-    margin-bottom: 2rem;
+    padding: 0;
+    margin-bottom: 1rem;
     display: inline;
     background: none;
     border: none;
@@ -917,7 +970,7 @@ input[name="nslookup"] {
 }
 
 .node-main-login > .main .cbi-value-title {
-    min-width: 6rem;
+    width: 7rem;
 }
 
 .node-main-login > .main #maincontent {
@@ -938,6 +991,19 @@ input[name="nslookup"] {
     float: right;
 }
 
+.node-main-login footer{
+    bottom: 0;
+    position: absolute;
+    width: 100%;
+}
+
+/* fix status overview */
+
+.node-status-overview > .main fieldset:nth-child(4) td:nth-child(2){
+    white-space: normal;
+}
+
+
 /* fix status processes */
 
 .node-status-processes > .main table tr td:nth-child(3) {
@@ -949,7 +1015,6 @@ input[name="nslookup"] {
 }
 
 .node-status-firewall > .main fieldset li > a {
-    box-sizing: border-box;
     font: inherit;
     overflow: visible;
     text-transform: none;
@@ -988,7 +1053,6 @@ input[name="nslookup"] {
 .node-system-reboot > .main > .main-right p > a {
     margin-top: 2rem;
     text-decoration: none;
-    box-sizing: border-box;
     font: inherit;
     overflow: visible;
     text-transform: none;
@@ -1040,6 +1104,16 @@ input[name="nslookup"] {
     padding: 0.5rem 1rem;
 }
 
+.node-system-software > .main .cbi-value > pre {
+    background-color: #eee;
+    padding: 0.5rem;
+    overflow: auto;
+}
+
+.cbi-tabmenu + .cbi-section {
+    margin-top: 0;
+}
+
 .node-status-firewall fieldset,
 .node-system-software fieldset,
 .node-system-backup_flash_firmware fieldset {
@@ -1053,6 +1127,11 @@ input[name="nslookup"] {
     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
 }
 
+/* language fix */
+body.lang_pl.node-main-login .cbi-value-title {
+    width: 12rem;
+}
+
 @media screen and (max-width: 1600px) {
     .main-left {
         width: calc(0% + 15rem);
@@ -1068,34 +1147,77 @@ input[name="nslookup"] {
         line-height: 1.5;
     }
 
-    #xhr_poll_status {
+    header > .container > .pull-right > * {
         top: 0.35rem;
     }
 
-    #xhr_poll_status > .label {
+    .label {
         padding: 0.2rem 0.6rem;
     }
 
     .cbi-value-title {
-        min-width: 15rem;
+        width: 15rem;
     }
 
     fieldset {
         padding: 1rem;
     }
+
+    .cbi-input-textarea {
+        font-size: smaller;
+    }
+
+    .node-status-firewall > .main fieldset li > a {
+        padding: 0.3rem 0.6rem;
+    }
 }
 
 @media screen and (max-width: 1280px) {
+    header {
+        height: 3.5rem;
+    }
+
+    header > .container {
+        margin-top: 0.25rem;
+    }
+
+    .main {
+        top: 3.5rem;
+    }
+
+    .main-left {
+        width: calc(0% + 13rem);
+    }
+
+    .main-right {
+        width: calc(100% - 13rem);
+    }
+
     .cbi-tabmenu > li > a, .tabs > li > a {
         padding: 0.2rem 0.5rem;
     }
-}
 
-@media screen and (max-width: 992px) {
-    * {
-        font-size: 100%;
+    .panel-title {
+        font-size: 1.3rem;
+        padding-bottom: 1rem;
+    }
+
+    table {
+        font-size: 0.8rem !important;
     }
 
+    .main > .main-left > .nav > li,
+    .main > .main-left > .nav > li a,
+    .main > .main-left > .nav > .slide > .menu {
+        font-size: 1.1rem;
+    }
+
+    .main > .main-left > .nav > .slide > .slide-menu > li > a {
+        font-size: 0.9rem;
+    }
+}
+
+@media screen and (max-width: 992px) {
     .main-left {
         width: 0;
         position: fixed;
@@ -1122,42 +1244,41 @@ input[name="nslookup"] {
     }
 
     .cbi-value-title {
-        min-width: 6rem;
+        width: 9rem;
+        padding-right: 1rem;
     }
 
-
-    .node-network-diagnostics > .main .cbi-map fieldset > div *{
+    .node-network-diagnostics > .main .cbi-map fieldset > div * {
         width: 100% !important;
     }
 
-    .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"]{
+    .node-network-diagnostics > .main .cbi-map fieldset > div input[type="text"] {
         margin: 3rem 0 0 0 !important;
     }
 
-    .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"]{
+    .node-network-diagnostics > .main .cbi-map fieldset > div:nth-child(4) input[type="text"] {
         margin: 0 !important;
     }
 
     .node-network-diagnostics > .main .cbi-map fieldset > div select,
-    .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"]{
+    .node-network-diagnostics > .main .cbi-map fieldset > div input[type="button"] {
         margin: 1rem 0 0 0;
     }
 
-    .node-network-diagnostics > .main .cbi-map fieldset > div{
+    .node-network-diagnostics > .main .cbi-map fieldset > div {
         width: 100% !important;
     }
 
-
     #diag-rc-output > pre {
         font-size: 1.2rem;
     }
-}
 
-@media screen and (max-width: 480px) {
-    * {
-        font-size: 90%;
+    .node-main-login > .main .cbi-value-title {
+        text-align: left;
     }
+}
 
+@media screen and (max-width: 480px) {
     fieldset {
         padding: 1rem;
         margin: 1rem 0 0 0;
@@ -1180,15 +1301,16 @@ input[name="nslookup"] {
     }
 
     .cbi-value-title {
+        width: 100%;
         min-width: 0rem !important;
         display: block;
         margin-top: 1rem;
         margin-bottom: 0.5rem;
+        text-align: left;
     }
 
     .cbi-value-field, .cbi-value-description {
         width: 100%;
-        box-sizing: border-box;
     }
 
     .cbi-value > .cbi-value-field {
@@ -1200,10 +1322,11 @@ input[name="nslookup"] {
     }
 
     .cbi-tabmenu > li > a, .tabs > li > a {
-        padding: 0.2rem 0.7rem;
+        padding: 0.2rem 0.3rem;
+        font-size: 0.9rem;
     }
 
-    .cbi-page-actions > div {
+    .cbi-page-actions > div > input {
         display: none;
     }
 
@@ -1220,11 +1343,13 @@ input[name="nslookup"] {
     }
 
     .node-main-login > .main .cbi-value-title {
+        width: 100% !important;
         font-size: 1.2rem;
     }
 
     .node-main-login > .main fieldset {
         margin: 0;
+        padding: 0.5rem;
     }
 
     h2 {
@@ -1232,23 +1357,28 @@ input[name="nslookup"] {
     }
 
     .tabs > li > a {
-        font-size: 1.2rem;
+        font-size: 0.9rem;
     }
 
-    header {
-        height: 3.5rem;
+    select,
+    input {
+        font-size: 0.9rem;
     }
 
-    header > .container {
-        margin-top: 0.25rem;
+    .mobile-hide {
+        display: none;
     }
 
-    .main {
-        top: 3.5rem;
+    .panel-title {
+        font-size: 1.4rem;
+        padding-bottom: 1rem;
     }
 
-    select,
-    input {
-        font-size: 1.2rem;
+    .node-system-software > .main .cbi-value.cbi-value-last > div {
+        width: 100% !important;
+    }
+
+    .node-system-software > .main .cbi-value .cbi-value-field input {
+        width: 100%;
     }
 }