luci-theme-material: fix some style bugs
[project/luci.git] / themes / luci-theme-material / htdocs / luci-static / material / css / style.css
index 4962323..d4feb36 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;
 }
 
     color: inherit;
 }
 
+html {
+    -webkit-text-size-adjust: 100%;
+    -ms-text-size-adjust: 100%;
+}
+
 html, body {
     margin: 0px;
     padding: 0px;
@@ -79,8 +82,32 @@ select {
     border: 1px solid #ccc;
 }
 
+select,
 input {
-    padding: 0.36rem 0.5rem;
+    background-color: transparent;
+    color: rgba(0, 0, 0, .87);
+    border: none;
+    border-bottom: 1px solid rgba(0, 0, 0, .26);
+    outline: 0;
+    padding: 0;
+    box-shadow: none;
+    border-radius: 0;
+    background-image: none;
+    height: 2rem;
+    font-size: 1.1rem;
+}
+
+select:not([multiple="multiple"]):focus,
+input:focus {
+    height: 2rem;
+    height: calc(2rem + 1px);
+    margin-bottom: -1px;
+    border-color: #0099CC;
+    border-width: 2px;
+}
+
+select[multiple="multiple"] {
+    height: auto;
 }
 
 code {
@@ -88,12 +115,18 @@ code {
 }
 
 abbr {
-    color: #0099CC;
+    color: #005470;
     text-decoration: underline;
     cursor: help;
 }
 
-header, footer, .main {
+hr{
+    margin: 1rem 0;
+    border-color: #EEE;
+    opacity: 0.1;
+}
+
+header, .main {
     width: 100%;
     position: absolute;
 }
@@ -107,29 +140,93 @@ 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;
+    position: relative;
+    height: 100%;
+    height: calc(100% - 4rem);
+}
+
+.main > .loading {
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    z-index: 1000;
+    display: block;
+    background-color: rgb(240, 240, 240);
+    top: 0;
+}
+
+.main > .loading > span {
+    display: block;
+    text-align: center;
+    margin-top: 2rem;
+    color: #888;
+    font-size: 1.3rem;
+}
+
+.main > .loading > span > .loading-img:before {
+    content: "\e603";
+}
+
+.main > .loading > span > .loading-img {
+    animation: anim-rotate 2s infinite linear;
+    margin-right: 0.2rem;
+    display: inline-block;
+}
+
+@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;
+    top: 4rem;
     width: 15%;
     width: calc(0% + 17rem);
     height: 100%;
-    overflow-y: auto;
+    height: calc(100% - 4rem);
     background-color: white;
+
+    overflow-x: auto;
+    position: fixed;
 }
 
 .main-right {
     width: 85%;
     width: calc(100% - 17rem);
     float: right;
-    overflow-y: auto;
     height: 100%;
     background-color: #EEE;
 }
 
+.main-right > #maincontent {
+    background-color: #EEE;
+}
+
 .pull-right {
     float: right;
 }
@@ -168,7 +265,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 +274,17 @@ 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;
 }
 
+.error {
+    color: red;
+}
+
 #maincontent > .container > div:nth-child(1).alert-message.warning > a {
-    box-sizing: border-box;
     font: inherit;
     overflow: visible;
     text-transform: none;
@@ -219,10 +318,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 +387,7 @@ li {
 }
 
 #maincontent > .container {
-    margin: 0 2rem 3rem 2rem;
+    margin: 0 2rem 1rem 2rem;
 }
 
 h1 {
@@ -318,16 +419,18 @@ fieldset {
     border: 0;
     font-weight: normal;
     font-style: normal;
-    font-size: 100%;
     line-height: 1;
     font-family: inherit;
 
     min-width: inherit;
-    overflow: auto;
+    overflow-x: auto;
+    overflow-y: hidden;
 
     border-radius: 0;
     background-color: #FFF;
     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
+
+    -webkit-overflow-scrolling: touch;
 }
 
 fieldset > legend {
@@ -378,14 +481,9 @@ fieldset > table > tbody > tr:nth-of-type(odd) {
     background-color: #f9f9f9;
 }
 
-footer {
-    position: fixed;
-    z-index: 1000;
-    bottom: 0;
-    left: 0;
-}
-
 /* fix progress bar */
+#swaptotal > div,
+#swapfree > div,
 #memfree > div,
 #membuff > div,
 #conns > div,
@@ -394,6 +492,8 @@ footer {
     height: 1.4rem !important;
 }
 
+#swaptotal > div > div,
+#swapfree > div > div,
 #memfree > div > div,
 #membuff > div > div,
 #conns > div > div,
@@ -423,40 +523,68 @@ td > table > tbody > tr > td {
 /* button style */
 
 .cbi-button {
-    box-sizing: border-box;
-    font: inherit;
-    overflow: visible;
-    text-transform: none;
+    -webkit-appearance: none;
+    text-transform: uppercase;
+    color: rgba(0, 0, 0, 0.87);
+    background-color: #F0F0F0;
+    transition: all 0.2s ease-in-out;
     display: inline-block;
-    margin-bottom: 0;
-    font-weight: 400;
+    padding: 0.5rem 1rem;
+    border: none;
+    border-radius: 0.2rem;
+    cursor: pointer;
+    -ms-touch-action: manipulation;
+    touch-action: manipulation;
+    background-image: none;
     text-align: center;
-    white-space: nowrap;
     vertical-align: middle;
-    touch-action: manipulation;
-    cursor: pointer;
+    white-space: nowrap;
     -webkit-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;
-    background-image: none;
-    border: 1px solid transparent;
-    color: #333;
-    background-color: #fff;
-    border-color: #ccc;
-    min-width: 6rem;
-    padding: 0.5rem 1rem;
-    font-size: 1.1rem;
-    line-height: 1.42857143;
+    font-size: 1rem;
+    width: auto !important;
+}
+
+.cbi-button:hover,
+.cbi-button:focus,
+.cbi-button:active {
+    color: rgba(0, 0, 0, 0.87);
+    outline: 0;
+    text-decoration: none;
+    color: rgba(0, 0, 0, 0.87);
+}
+
+.cbi-button:hover,
+.cbi-button:focus {
+    box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
+}
+
+.cbi-button:active {
+    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
+}
+
+.cbi-button:disabled {
+    cursor: not-allowed;
+    pointer-events: none;
+    opacity: 0.60;
+    box-shadow: none;
+}
+
+form.inline + form.inline,
+.cbi-button + .cbi-button {
+    margin-left: 0.6rem;
 }
 
 .cbi-button-reset,
 .cbi-input-remove {
-    color: #fff;
-    background-color: #f0ad4e;
-    border-color: #eea236;
+    color: #fff !important;
+    background-color: #f0ad4e !important;
+    border-color: #eea236 !important;
 }
 
+.cbi-input-find,
 .cbi-input-save,
 .cbi-button-add,
 .cbi-button-save,
@@ -483,6 +611,10 @@ td > table > tbody > tr > td {
     border-color: #d43f3a !important;
 }
 
+.a-to-btn {
+    text-decoration: none;
+}
+
 /* table */
 
 .tabs {
@@ -507,9 +639,9 @@ td > table > tbody > tr > td {
 .tabs > li[class~="active"],
 .tabs > li:hover {
     cursor: pointer;
-    background-color: white;
     border-bottom: 0.2rem solid #0099CC;
     color: #0099CC;
+    margin-bottom: -0.18751rem;
 }
 
 .tabs > li[class~="active"] > a {
@@ -517,7 +649,7 @@ td > table > tbody > tr > td {
 }
 
 .tabs > li:hover {
-    border-bottom: 0.2rem solid #C9C9C9;
+    border-bottom: 0.18751rem solid #C9C9C9;
 }
 
 .cbi-tabmenu {
@@ -570,16 +702,19 @@ 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 {
     padding: 1rem;
+    display: inline-block;
+    width: 100%;
 }
 
 .cbi-section-table-descr > .cbi-section-table-cell,
@@ -591,6 +726,11 @@ td > table > tbody > tr > td {
     background-color: #eee;
 }
 
+.cbi-rowstyle-2 .cbi-button-up,
+.cbi-rowstyle-2 .cbi-button-down{
+    background-color: #FFF !important;
+}
+
 .cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
     width: auto !important;
 }
@@ -600,6 +740,7 @@ td > table > tbody > tr > td {
 .cbi-map-descr {
     padding: 0.5rem;
     color: #999;
+    font-size: small;
 }
 
 /* luci */
@@ -617,7 +758,7 @@ td > table > tbody > tr > td {
 }
 
 .inline {
-    display: inline-block;
+    display: inline;
 }
 
 .cbi-page-actions {
@@ -629,41 +770,17 @@ 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;
-    background-color: #fff;
-    background-image: none;
-    border: 1px solid #ccc;
-    margin-bottom: 0.3rem;
-}
-
-.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;
-    background-image: none;
-    border: 1px solid #ccc;
 }
 
 /* select */
 .cbi-value-field .cbi-input-select {
-    width: 95%;
     min-width: 15rem;
-    padding: 0.36rem 0.8rem;
-    color: #555;
-    background-color: #fff;
-    background-image: none;
-    border: 1px solid #ccc;
 }
 
 .ifacebadge {
-    display: inline-block;
-    min-width: 8rem;
-    border: 1px solid #CCCCCC;
+    display: inline-flex;
+    border-bottom: 1px solid #CCCCCC;
     padding: 0.5rem 1rem;
     -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
@@ -678,19 +795,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: small;
     color: #5F5F5F;
 
     margin-bottom: 20px;
@@ -811,7 +928,7 @@ td > table > tbody > tr > td {
 
 .cbi-value-field .cbi-input-checkbox,
 .cbi-value-field .cbi-input-radio {
-    margin-top: 1rem;
+    margin-top: 0.3rem;
 }
 
 .cbi-section-table-row > .cbi-value-field .cbi-input-select {
@@ -828,7 +945,7 @@ div.cbi-value var, td.cbi-value-field var {
 }
 
 small {
-    font-size: smaller;
+    font-size: small;
     white-space: normal;
 }
 
@@ -840,6 +957,11 @@ small {
     font-size: 1.3rem;
 }
 
+.cbi-optionals {
+    padding: 1rem 1rem 0 1rem;
+    border-top: 1px solid #CCC;
+}
+
 #diag-rc-output > pre {
     background-color: #f5f5f5;
     display: block;
@@ -859,7 +981,7 @@ input[name="nslookup"] {
     width: 80%;
 }
 
-#xhr_poll_status {
+header > .container > .pull-right > * {
     position: relative;
     top: 0.45rem;
     cursor: pointer;
@@ -869,10 +991,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 +1003,11 @@ input[name="nslookup"] {
     -moz-border-radius: 3px;
     border-radius: 3px;
     text-shadow: none;
+    text-decoration: none;
+}
+
+.notice {
+    background-color: #5BC0DE;
 }
 
 .showSide {
@@ -908,16 +1034,17 @@ input[name="nslookup"] {
 }
 
 .node-main-login > .main fieldset {
-    margin-bottom: 2rem;
-    margin-bottom: 2rem;
+    padding: 0.5rem;
+    margin-bottom: 1rem;
     display: inline;
     background: none;
     border: none;
     box-shadow: none;
+    overflow: hidden;
 }
 
 .node-main-login > .main .cbi-value-title {
-    min-width: 6rem;
+    width: 7rem;
 }
 
 .node-main-login > .main #maincontent {
@@ -938,44 +1065,39 @@ input[name="nslookup"] {
     float: right;
 }
 
-/* fix status processes */
+.node-main-login > .main .cbi-value {
+    display: block;
+}
 
-.node-status-processes > .main table tr td:nth-child(3) {
-    white-space: normal;
+.node-main-login > .main .cbi-value > * {
+    display: inline-block !important;
 }
 
-.node-status-firewall > .main fieldset li {
-    display: inline-block;
+.node-main-login > .main .cbi-input-user,
+.node-main-login > .main .cbi-input-password {
+    min-width: 15rem;
 }
 
-.node-status-firewall > .main fieldset li > a {
-    box-sizing: border-box;
-    font: inherit;
-    overflow: visible;
-    text-transform: none;
-    margin-bottom: 0;
-    font-weight: 400;
-    text-align: center;
-    white-space: nowrap;
-    vertical-align: middle;
-    touch-action: manipulation;
-    cursor: pointer;
-    -webkit-user-select: none;
-    -moz-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-    background-image: none;
-    border: 1px solid transparent;
-    color: #333;
-    min-width: 6rem;
-    padding: 0.5rem 1rem;
-    font-size: 1.1rem;
-    line-height: 1.42857143;
-    background-color: #f0ad4e;
-    border-color: #eea236;
+.node-main-login footer {
+    bottom: 0;
+    position: absolute;
+    width: 100%;
+}
 
-    color: #fff;
-    text-decoration: none;
+/* 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) {
+    white-space: normal;
+}
+
+.node-status-iptables > .main div > .cbi-map > form {
+    margin: 2rem 2rem 0 0;
 }
 
 /* fix system reboot */
@@ -985,74 +1107,86 @@ input[name="nslookup"] {
     padding-left: 2rem;
 }
 
-.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;
-    display: inline-block;
-    margin-bottom: 0;
-    font-weight: 400;
-    text-align: center;
-    white-space: nowrap;
-    vertical-align: middle;
-    touch-action: manipulation;
-    cursor: pointer;
-    -webkit-user-select: none;
-    -moz-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-    background-image: none;
-    border: 1px solid transparent;
-    min-width: 6rem;
-    padding: 0.5rem 1rem;
-    font-size: 1.1rem;
-    line-height: 1.42857143;
-    text-decoration: none;
-    color: #fff;
-    background-color: #d9534f !important;
-    border-color: #d43f3a !important;
-}
-
 /* fix Services  Network Shares*/
-.node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
+.node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
     margin-bottom: 1rem;
 }
 
-.node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
+.node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
     display: list-item;
 }
 
-.node-services-network_shares > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
+.node-services-samba > .main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
     padding-top: 1rem;
 }
 
 /* fix System Software*/
-.node-system-software > .main table tr td:nth-child(4) {
+.node-system-packages > .main table tr td:nth-child(1) {
+    width: auto !important;
+}
+
+.node-system-packages > .main table tr td:nth-last-child(1) {
     white-space: normal;
     font-size: small;
     color: #404040;
 }
 
-.node-system-software > .main .cbi-tabmenu > li > a, .tabs > li > a {
+.node-system-packages > .main .cbi-tabmenu > li > a, .tabs > li > a {
     padding: 0.5rem 1rem;
 }
 
-.node-status-firewall fieldset,
-.node-system-software fieldset,
-.node-system-backup_flash_firmware fieldset {
+.node-system-packages > .main .cbi-value > pre {
+    background-color: #eee;
+    padding: 0.5rem;
+    overflow: auto;
+}
+
+.cbi-tabmenu + .cbi-section {
     margin-top: 0;
 }
 
-.node-status-firewall .cbi-tabmenu,
-.node-system-software .cbi-tabmenu,
-.node-system-backup_flash_firmware .cbi-tabmenu {
+/* fix network firewall*/
+.node-network-firewall > .main .cbi-section-table-row > .cbi-value-field .cbi-input-select {
+    min-width: 4rem;
+}
+
+.node-status-iptables fieldset,
+.node-system-packages fieldset,
+.node-system-flashops fieldset {
+    margin-top: 0;
+}
+
+.node-status-iptables .cbi-tabmenu,
+.node-system-packages .cbi-tabmenu,
+.node-system-flashops .cbi-tabmenu {
     border: none;
     box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
 }
 
+#cbi-firewall-redirect table *,
+#cbi-network-switch_vlan table *,
+#cbi-firewall-zone table *{
+    font-size: small;
+}
+
+#cbi-firewall-redirect table input[type="text"],
+#cbi-network-switch_vlan table input[type="text"],
+#cbi-firewall-zone table input[type="text"]{
+    width: 5rem;
+}
+
+#cbi-firewall-redirect table select,
+#cbi-network-switch_vlan table select,
+#cbi-firewall-zone table select{
+    min-width: 3.5rem;
+}
+
+
+/* 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 +1202,82 @@ 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;
+        padding-right: 0.6rem;
     }
 
     fieldset {
         padding: 1rem;
     }
+
+    .cbi-input-textarea {
+        font-size: small;
+    }
+
+    .node-status-iptables > .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;
+        height: calc(100% - 3.5rem);
+    }
+
+    .main-left {
+        width: calc(0% + 13rem);
+        top: 3.5rem;
+        height: calc(100% - 3.5rem);
+    }
+
+    .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;
+        width: 100% !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 +1304,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 +1361,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 +1382,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 +1403,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 +1417,88 @@ 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-packages > .main .cbi-value.cbi-value-last > div {
+        width: 100% !important;
+    }
+
+    .node-system-packages > .main .cbi-value .cbi-value-field input {
+        width: 100%;
+    }
+
+    .node-status-iptables > .main div > .cbi-map > form {
+        position: static !important;
+        margin: 0 0 2rem 0;
+        padding: 2rem;
+        border: 0;
+        font-weight: normal;
+        font-style: normal;
+        line-height: 1;
+        font-family: inherit;
+        min-width: inherit;
+        overflow-x: auto;
+        overflow-y: hidden;
+        border-radius: 0;
+        background-color: #FFF;
+        box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
+        -webkit-overflow-scrolling: touch;
+    }
+
+    .node-status-iptables > .main div > .cbi-map > form input[type="submit"]{
+        width: 100% !important;
+        margin: 0;
+    }
+
+    .node-status-iptables > .main div > .cbi-map > form input[type="submit"] + input[type="submit"]{
+        margin-top: 1rem;
     }
 }
+
+@media screen and (min-width: 992px) {
+    .cbi-value input[type="password"],
+    .cbi-value input[type="text"] {
+        min-width: 20rem;
+    }
+
+    .cbi-value-field .cbi-input-select {
+        min-width: 20rem;
+    }
+}
+
+@media screen and (min-width: 1280px) {
+    .cbi-value input[type="password"],
+    .cbi-value input[type="text"] {
+        min-width: 22rem;
+    }
+
+    .cbi-value-field .cbi-input-select {
+        min-width: 22rem;
+    }
+}
+
+@media screen and (min-width: 1600px) {
+    .cbi-value input[type="password"],
+    .cbi-value input[type="text"] {
+        min-width: 25rem;
+    }
+
+    .cbi-value-field .cbi-input-select {
+        min-width: 25rem;
+    }
+}
\ No newline at end of file