/**
 *  Rosy is a theme for LuCI. It is based on luci-theme-bootstrap
 *
 *  luci-theme-rosy
 *     Copyright 2018 Rosy Song <rosysong@rosinson.com>
 *     Copyright 2018 Yan Lan Shen <yanlan.shen@rosinson.com>
 *
 *   Have a bug? Please create an issue here on GitHub!
 *       https://github.com/rosywrt/luci-theme-rosy/issues
 *
 *  luci-theme-bootstrap:
 *      Copyright 2008 Steven Barth <steven@midlink.org>
 *      Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
 *      Copyright 2012 David Menting <david@nut-bolt.nl>
 *
 *  Licensed to the public under the Apache License 2.0
 */

@font-face {
    font-family: 'icomoon';
    src: url('fonts/font.eot');
    src: url('fonts/font.eot') format('embedded-opentype'), url('fonts/font.ttf') format('truetype'), url('fonts/font.woff') format('woff'), url('fonts/font.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}
strong {
    font-weight: normal;
}
.table {
    display: table;
    position: relative;
}
.tr {
    display: table-row;
}
.thead {
    display: table-header-group;
}
.tbody {
    display: table-row-group;
}
.tfoot {
    display: table-footer-group;
}
.td,
.th {
    vertical-align: middle;
    text-align: center;
    display: table-cell;
    padding: .8em;
}
.th {
    font-weight: normal;
}
.tr.placeholder {
    height: 4em;
    background-color: #f9f9f9;
}
.tr.placeholder>.td {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    line-height: 3em;
    background: #f9f9f9;
}
.table[width="33%"],
.th[width="33%"],
.td[width="33%"] {
    width: 33%;
}
.table[width="100%"],
.th[width="100%"],
.td[width="100%"] {
    width: 100%;
}
.col-1 {
    flex: 1 1 30px !important;
    -webkit-flex: 1 1 30px !important;
}
.col-2 {
    flex: 2 2 60px !important;
    -webkit-flex: 2 2 60px !important;
}
.col-3 {
    flex: 3 3 90px !important;
    -webkit-flex: 3 3 90px !important;
}
.col-4 {
    flex: 4 4 120px !important;
    -webkit-flex: 4 4 120px !important;
}
.col-5 {
    flex: 5 5 150px !important;
    -webkit-flex: 5 5 150px !important;
}
.col-6 {
    flex: 6 6 180px !important;
    -webkit-flex: 6 6 180px !important;
}
.col-7 {
    flex: 7 7 210px !important;
    -webkit-flex: 7 7 210px !important;
}
.col-8 {
    flex: 8 8 240px !important;
    -webkit-flex: 8 8 240px !important;
}
.col-9 {
    flex: 9 9 270px !important;
    -webkit-flex: 9 9 270px !important;
}
.col-10 {
    flex: 10 10 300px !important;
    -webkit-flex: 10 10 300px !important;
}
.cbi-button-up,
.cbi-button-down,
.cbi-value-helpicon,
.main>.loading>span {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: inherit;
    font-weight: normal;
    line-height: 1.1;
    color: inherit;
}
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    position: relative;
}
body {
    font-size: 0.8rem;
    background-color: #EEE;
}
html,
body {
    margin: 0px;
    padding: 0px;
    height: auto;
    min-height: 100%;
    font-family: Microsoft Yahei, WenQuanYi Micro Hei, sans-serif, "Helvetica Neue", Helvetica, Hiragino Sans GB;
}
select {
    padding: 0.36rem 0.8rem;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
}
select,
input,
.cbi-dropdown {
    background-color: transparent;
    color: rgba(0, 0, 0, .87);
    border: none;
    border-bottom: 2px solid rgba(0, 0, 0, .26);
    outline: 0;
    padding: 0;
    box-shadow: none;
    border-radius: 0;
    background-image: none;
    height: auto;
    font-size: 0.8rem;
}
select:not([multiple="multiple"]):focus,
input:focus {
    border-color: #0099CC;
}
select[multiple="multiple"] {
    height: auto;
}
code {
    color: #0099CC;
}
abbr {
    color: #005470;
    text-decoration: underline;
    cursor: help;
}
hr {
    margin: 1rem 0;
    border-color: #EEE;
    opacity: 0.1;
}
footer>a {
    color: #aaa;
    text-decoration: none;
}
.main>.loading {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 2000;
    display: block;
    background-color: #354057;
    top: 0;
}
.main>.loading>span {
    display: block;
    text-align: center;
    margin-top: 2rem;
    color: #888;
    font-size: 1.2rem;
    line-height: 45px;
}
.main>.loading>span>.loading-img {
    margin-right: 0.2rem;
    display: inline-block;
}
.main>.loading>span>.loading-img img {
    vertical-align: middle;
}
.pull-right {
    float: right;
}
.pull-left {
    float: left;
}
li {
    list-style-type: none;
}
h1 {
    font-size: 2rem;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
h2 {
    margin: 2rem 0 0 0;
    color: #354057;
    font-size: 1.8rem;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
h3 {
    margin: 2rem 0 0 0;
    font-size: 1.4rem;
    padding-bottom: 10px;
}
h4 {
    margin: 2rem 0 0 0;
    font-size: 1.2rem;
    padding-bottom: 10px;
}
.mobile-hide {
    display: inline-block;
}
.PC-hide {
    width: 100%;
    display: none;
}
.cbi-section {
    margin: 1rem 0 0 0;
    padding: 2rem;
    border: 0;
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    font-family: inherit;
    min-width: inherit;
    border-radius: 20px;
    background-color: #FFF;
    -webkit-overflow-scrolling: touch;
}
.cbi-section>legend {
    display: none !important;
}
.cbi-section>h3:first-child,
.panel-title {
    width: 100%;
    display: block;
    line-height: 1;
    color: #354057;
    font-size: 1.4rem;
    padding-bottom: 1rem;
    margin: 0;
}
.table {
    width: 100%;
    border-radius: 20px;
}
.table>.tbody>.tr>.td,
.table>.tbody>.tr>.th,
.table>.tfoot>.tr>.td,
.table>.tfoot>.tr>.th,
.table>.thead>.tr>.td,
.table>.thead>.tr>.th {
    padding: .5rem;
    border-top: 1px solid #ddd;
    white-space: nowrap;
}
.cbi-section-table-cell {
    white-space: nowrap;
    align-self: flex-end;
    flex: 1 1 auto;
}
.cbi-section-table {
    border: none;
}
.cbi-section-table-row {
    text-align: center;
    margin-bottom: 1rem;
    background: #f4f4f4;
}
.cbi-section-table-row:last-child {
    margin-bottom: 0;
}
.cbi-section-table-row>.cbi-value-field .cbi-input-select,
.cbi-section-table-row>.cbi-value-field .cbi-input-text,
.cbi-section-table-row>.cbi-value-field .cbi-input-password,
.cbi-section-table-row>.cbi-value-field .cbi-dropdown {
    width: 100%;
}
.cbi-section-table-row>.cbi-value-field [data-dynlist]>input,
.cbi-section-table-row>.cbi-value-field input.cbi-input-password {
    width: calc(100% - 1.5rem);
}
div>table>tbody>tr:nth-of-type(2n),
div>.table>.tbody>.tr:nth-of-type(2n) {
    background-color: #f9f9f9;
}
div>table>tbody>tr:nth-of-type(2n),
div>.table>.tbody>.tr:nth-of-type(2n) {
    background-color: #f9f9f9;
}
.cbi-section .table .tr.table-titles {
    background-color: #eee;
}
.table .tr:first-child .td:first-child,
.table .tr:first-child::before,
.table .tr:first-child .th:first-child {
    border-top-left-radius: 10px;
}
.table .tr:first-child .td:last-child,
.table .tr:first-child .th:last-child {
    border-top-right-radius: 10px;
}
.table .tr:last-child .td:first-child,
.table .tr:last-child::before {
    border-bottom-left-radius: 10px;
}
.table .tr:last-child .td:last-child {
    border-bottom-right-radius: 10px;
}
.table .tr.placeholder:last-child {
    background-color: transparent;
}
.cbi-section .table .cbi-section-table-titles {
    background-color: #e0e0e0;
}
/* fix progress bar */
.cbi-progressbar {
    background-color: #9bc1cc;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}
.cbi-progressbar div {
    background-color: #468ea4;
    height: 20px;
    border-radius: 20px;
}
.cbi-progressbar::after {
    content: attr(title);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    line-height: 1.2rem;
    color: #fff;
}
/* fix multiple table */
table table,
.table .table {
    border: none;
}
.cbi-value-field table,
.cbi-value-field .table {
    border: none;
}
td>table>tbody>tr>td,
.td>.table>.tbody>.tr>.td {
    border: none;
}
.cbi-value-field>table>tbody>tr>td,
.cbi-value-field>.table>.tbody>.tr>.td {
    border: none;
}
/* button style */
.btn,
.cbi-button {
    margin: 0 .8rem .5rem 0;
    -webkit-appearance: none;
    color: #354057;
    background-color: transparent;
    transition: all 0.2s ease-in-out;
    display: inline-block;
    padding: .5rem .8rem;
    border: 1px solid;
    border-radius: 25px;
    cursor: pointer;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    background-image: none;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-size: 0.8rem;
    width: auto;
    display: inline-block;
    text-decoration: none;
}
.btn:disabled,
.cbi-button:disabled {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.60;
    box-shadow: none;
}
.cbi-page-actions .cbi-button-apply,
.cbi-section-actions .cbi-button-edit,
.cbi-button-edit.important,
.cbi-button-apply.important,
.cbi-button-reload.important,
.cbi-button-apply,
.cbi-page-actions .cbi-button-save {
    color: #fff;
    background-color: #337ab7;
    border: none;
}
.cbi-button-add.important,
.cbi-button-save.important,
.cbi-button-positive.important,
.cbi-button-action.important,
.cbi-section-actions .cbi-button-edit {
    color: #337ab7;
    background-color: transparent;
    border: 1px solid #337ab7;
}
.cbi-button-remove.important,
.cbi-button-reset.important,
.cbi-button-negative.important {
    color: #fff;
    background-color: #d9534f;
    border: none;
}
.cbi-button-find,
.cbi-button-link,
.cbi-button-up,
.cbi-button-down,
.cbi-button-neutral {
    color: #468ea4;
    background-color: transparent;
    border: 1px solid #468ea4;
}
.cbi-button-edit,
.cbi-button-reload,
.cbi-button-action {
    color: #468ea4;
    background-color: transparent;
    border: 1px solid #468ea4;
}
.cbi-page-actions .cbi-button-apply+.cbi-button-save,
.cbi-button-add,
.cbi-button-save,
.cbi-button-positive {
    color: #354057;
    background-color: transparent;
    border: 1px solid #354057;
}
.cbi-section-remove>.cbi-button,
.cbi-button-remove,
.cbi-button-reset,
.cbi-button-negative {
    color: #F24C7C;
    background-color: transparent;
    border: 1px solid #F24C7C;
}
.cbi-page-actions .cbi-button-link:first-child {
    float: left;
}
.a-to-btn {
    text-decoration: none;
}
/* table */
.container>.tabs,
.container>.tabs>li[class~="active"],
.container>.tabs>li:hover,
.container>.cbi-tabmenu,
.container>.cbi-tabmenu>li[class~="cbi-tab"],
.container>.cbi-tabmenu>li:hover {
    border-radius: 20px;
}
.container .cbi-map .cbi-tabmenu,
.container .cbi-map .cbi-tabmenu>li[class~="cbi-tab"],
.container .cbi-map .cbi-tabmenu>li:hover {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.container .cbi-map .cbi-tabmenu,
.container>.tabs,
.container>.cbi-tabmenu {
    overflow: hidden;
}
.container .cbi-map .cbi-tabmenu+div {
    border-radius: 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.tabs {
    background-color: #FFFFFF;
    margin-top: 1rem;
}
.cbi-tabmenu>li,
.tabs>li {
    margin-right: .4rem;
    display: inline-block;
    padding: 0.6rem 0rem;
}
.cbi-tabmenu>li>a,
.tabs>li>a {
    text-decoration: none;
    color: #404040;
    padding: 0.5rem 0.8rem;
}
.tabs>li[class~="active"],
.tabs>li:hover {
    cursor: pointer;
    background-color: #337ab7;
}
.tabs>li[class~="active"]>a,
.tabs>li:hover>a {
    color: #fff;
}
.cbi-tabmenu {
    border-top: 1px solid #D4D4D4;
    border-left: 1px solid #D4D4D4;
    border-right: 1px solid #D4D4D4;
}
.cbi-tabmenu>li:hover {
    background-color: #F1F1F1;
}
.cbi-tabmenu>li[class~="cbi-tab"] {
    background-color: #fff;
}
.cbi-tabmenu {
    background-color: #D4D4D4;
}

[data-tab-title] {
	height: 0;
	opacity: 0;
	overflow: hidden;
}

[data-tab-active="true"] {
	opacity: 1;
	height: auto;
	overflow: visible;
	transition: opacity .25s ease-in;
}

.cbi-section-remove:nth-of-type(2n) {
    background-color: #f9f9f9;
}
.cbi-section-node-tabbed {
    padding: 0;
    margin-top: 0;
    border-bottom: 1px solid #D4D4D4;
    border-left: 1px solid #D4D4D4;
    border-right: 1px solid #D4D4D4;
}
.cbi-tabcontainer>.cbi-value:nth-of-type(2n) {
    background-color: #f9f9f9;
}
.cbi-value-field,
.cbi-value-description {
    display: table-cell;
    line-height: 1.25;
}
.cbi-value-helpicon>img {
    display: none;
}
.cbi-value-helpicon:before {
    content: "\f059";
}
.cbi-value-description {
    font-size: small;
    opacity: 0.5;
    padding: 0.5rem 0 0 0;
}

.cbi-value-title {
    word-wrap: break-word;
    padding: 0.6rem 2rem .6rem 0;
    width: 23rem;
    float: left;
    text-align: right;
    display: table-cell;
}

.cbi-value {
    padding: 6px 0;
    display: inline-block;
    width: 100%;
}

.cbi-section-table-descr>.cbi-section-table-cell,
.cbi-section-table-titles>.cbi-section-table-cell {
    border: none;
}

.td[data-title]::before {
    content: attr(data-title) ":\20";
    font-weight: bold;
    text-align: left;
    display: none;
    padding: .25rem 0;
    white-space: nowrap;
}

.tr.placeholder .td[data-title]::before {
    display: none;
}

.tr[data-title]::before,
.tr.cbi-section-table-titles.named::before {
    content: attr(data-title) "\20";
    font-weight: bold;
    text-align: center;
    display: table-cell;
    align-self: center;
    flex: 1 1 5%;
    padding: .25rem;
    white-space: normal;
    word-wrap: break-word;
    vertical-align: middle;
}

.cbi-rowstyle-1 {
    background-color: #f9f9f9;
}

.cbi-rowstyle-2 {
    background-color: #eee;
}

.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
    width: auto !important;
}

.td.cbi-section-actions {
    text-align: right;
    vertical-align: middle;
}

.td.cbi-section-actions>* {
    display: flex;
}

.td.cbi-section-actions>*>*,
.td.cbi-section-actions>*>form>* {
    flex: 1 1 4em;
    margin: 0 1px;
}

.td.cbi-section-actions>*>form {
    display: inline-flex;
    margin: 0;
}

/* desc */

.cbi-section-descr,
.cbi-map-descr {
    padding: 0.5rem;
    color: #999;
    font-size: small;
}

.cbi-dropdown {
    display: inline-flex;
    cursor: pointer;
    position: relative;
    padding: 0;
    height: auto;
}

.cbi-dropdown:focus {
    outline: 2px solid #4b6e9b;
}

.cbi-dropdown>ul {
    margin: 0 !important;
    padding: 0;
    list-style: none;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    width: 100%;
}

.cbi-dropdown>ul.preview {
    display: none;
}

.cbi-dropdown>.open {
    border: 2px outset #eee;
    flex-basis: 15px;
    background: #eee;
}

.cbi-dropdown>.open,
.cbi-dropdown>.more {
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    line-height: 2em;
    padding: 0 .25em;
}

.cbi-dropdown>.more,
.cbi-dropdown>ul>li[placeholder] {
    color: #777;
    font-weight: bold;
    text-shadow: 1px 1px 0px #fff;
    display: none;
}

.cbi-dropdown>ul>li {
    display: none;
    padding: .25em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
    flex-grow: 1;
    align-items: center;
    align-self: center;
    min-height: 20px;
}

.cbi-dropdown>ul>li .hide-open {
    display: initial;
}

.cbi-dropdown>ul>li .hide-close {
    display: none;
}

.cbi-dropdown>ul>li[display]:not([display="0"]) {
    border-left: 1px solid #ccc;
}

.cbi-dropdown[empty]>ul {
    max-width: 1px;
}

.cbi-dropdown>ul>li>form {
    display: none;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

.cbi-dropdown>ul>li img {
    vertical-align: middle;
    margin-right: .25em;
}

.cbi-dropdown>ul>li>form>input[type="checkbox"] {
    margin: 0;
    height: auto;
}

.cbi-dropdown>ul>li input[type="text"] {
    height: 20px;
}

.cbi-dropdown[open] {
    position: relative;
}

.cbi-dropdown[open]>ul.dropdown {
    display: block;
    background: #f6f6f5;
    border: 1px solid #918e8c;
    position: absolute;
    z-index: 1000;
    max-width: none;
    min-width: 100%;
    width: auto;
}

.cbi-dropdown>ul>li[display],
.cbi-dropdown[open]>ul.preview,
.cbi-dropdown[open]>ul.dropdown>li,
.cbi-dropdown[multiple]>ul>li>label,
.cbi-dropdown[multiple][open]>ul.dropdown>li,
.cbi-dropdown[multiple][more]>.more,
.cbi-dropdown[multiple][empty]>.more {
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.cbi-dropdown[empty]>ul>li,
.cbi-dropdown[optional][open]>ul.dropdown>li[placeholder],
.cbi-dropdown[multiple][open]>ul.dropdown>li>form {
    display: block;
}

.cbi-dropdown[open]>ul.dropdown>li .hide-open {
    display: none;
}

.cbi-dropdown[open]>ul.dropdown>li .hide-close {
    display: initial;
}

.cbi-dropdown[open]>ul.dropdown>li {
    border-bottom: 1px solid #ccc;
}

.cbi-dropdown[open]>ul.dropdown>li[selected] {
    background: #b0d0f0;
}

.cbi-dropdown[open]>ul.dropdown>li.focus {
    background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%);
}

.cbi-dropdown[open]>ul.dropdown>li:last-child {
    margin-bottom: 0;
    border-bottom: none;
}

.cbi-dropdown[disabled] {
    pointer-events: none;
    opacity: .6;
}

.cbi-dropdown .zonebadge {
    width: 100%;
    border-radius: 20px;
    background-color: #468ea4 !important;
}

.cbi-dropdown[open] .zonebadge {
    width: auto;
}

/* luci */

.hidden {
    display: none
}

.left,
.left::before {
    text-align: left !important;
}

.right,
.right::before {
    text-align: right !important;
}

.center,
.center::before {
    text-align: center !important;
}

.top {
    align-self: flex-start !important;
    vertical-align: top !important;
}

.bottom {
    align-self: flex-end !important;
    vertical-align: bottom !important;
}

.inline {
    display: inline;
}

.cbi-page-actions {
    border-top: 1px solid #eee;
    padding-top: 1rem;
    text-align: right;
}

/* select */

.cbi-value-field .cbi-dropdown {
    min-width: 15rem;
}

.cbi-value-field .cbi-input-select {
    width: 15rem;
}

.th[data-type="button"],
.td[data-type="button"],
.th[data-type="fvalue"],
.td[data-type="fvalue"] {
    flex: 1 1 2em;
    text-align: center;
}

.ifacebadge {
    display: inline-flex;
    border: 1px solid #CCCCCC;
    padding: 0.5rem 1rem;
    background: #fff;
    border-radius: 20px;
}

td>.ifacebadge,
.td>.ifacebadge {
    background-color: #F0F0F0;
    font-size: 0.9rem;
}

.ifacebadge>em,
.ifacebadge>img {
    display: inline-block;
    margin: 0 .2rem;
    align-self: flex-start;
}

.ifacebadge>img+img {
    margin: 0 .2rem 0 0;
}

.network-status-table {
    display: flex;
    flex-wrap: wrap;
}

.network-status-table .ifacebox {
    margin: .5em .8rem;
    flex-grow: 1;
}

.network-status-table .ifacebox-body {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.network-status-table .ifacebox-body>span {
    flex: 10 10 auto;
}

.network-status-table .ifacebox-body>div {
    display: flex;
    flex-wrap: wrap;
}

.network-status-table .ifacebox-body .ifacebadge {
    flex: 1 1 auto;
    margin: .5em .25em 0 .25em;
    padding: .5em;
    min-width: 220px;
    background-color: #fff;
    align-items: center;
}

/*textarea*/

.cbi-input-textarea {
    width: 100%;
    min-height: 14rem;
    padding: 0.8rem;
    font-size: 0.8rem;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: black;
    resize: unset;
    border-radius: 20px;
}

#syslog {
    width: 100%;
    min-height: 15rem;
    padding: 1rem;
    font-size: small;
    color: #5F5F5F;
    margin-bottom: 20px;
    border-radius: 20px;
    background-color: #FFF;
    border: none;
    resize: unset;
}

/* change */

.uci-change-list {
    font-family: monospace;
}

.uci-change-list ins,
.uci-change-legend-label ins {
    text-decoration: none;
    border: 1px solid #00FF00;
    background-color: #CCFFCC;
    display: block;
    padding: 2px;
}

.uci-change-list del,
.uci-change-legend-label del {
    text-decoration: none;
    border: 1px solid #FF0000;
    background-color: #FFCCCC;
    display: block;
    font-style: normal;
    padding: 2px;
}

.uci-change-list var,
.uci-change-legend-label var {
    text-decoration: none;
    border: 1px solid #CCCCCC;
    background-color: #EEEEEE;
    display: block;
    font-style: normal;
    padding: 2px;
}

.uci-change-list var ins,
.uci-change-list var del {
    border: none;
    white-space: pre;
    font-style: normal;
    padding: 0px;
}

.uci-change-legend {
    padding: 5px;
}

.uci-change-legend-label {
    width: 150px;
    float: left;
}

.uci-change-legend-label>ins,
.uci-change-legend-label>del,
.uci-change-legend-label>var {
    float: left;
    margin-right: 4px;
    width: 10px;
    height: 10px;
    display: block;
}

.uci-change-legend-label var ins,
.uci-change-legend-label var del {
    line-height: 6px;
    border: none;
}

.uci-change-list var,
.uci-change-list del,
.uci-change-list ins {
    padding: 0.5rem;
}

/* other fix */

#iwsvg,
#iwsvg2,
#bwsvg {
    border: 1px solid #D4D4D4 !important;
    overflow: hidden;
    border-radius: 20px;
}

#iwsvg,
#bwsvg {
    margin-top: 1rem;
}

.ifacebox {
    background-color: #f9f9f9;
    display: inline-flex;
    flex-direction: column;
    line-height: 1.2em;
    min-width: 100px;
    border-radius: 20px;
    overflow: hidden;
}

.ifacebox-head {
    padding: .5em .8em;
    background: #eee;
}

.ifacebox-head.active {
    background: #eee;
}

.ifacebox-body {
    padding: .5em .8em;
}

.cbi-image-button {
    margin-left: 0.5rem;
}

.zonebadge {
    padding: 0.2rem 0.5rem;
    display: inline-block;
    border-radius: 20px;
}

.zonebadge .ifacebadge {
    padding: .2rem .3rem;
    margin: 0.1rem 0.2rem;
    border: none;
}

.zonebadge>input[type="text"] {
    padding: 0.16rem 1rem;
    min-width: 10rem;
    margin-top: 0.3rem;
}

.zonebadge>em,
.zonebadge>strong {
    margin: 0 0.2rem;
    display: inline-block;
}

.cbi-value-field .cbi-input-checkbox,
.cbi-value-field .cbi-input-radio {
    margin-top: 0.5rem;
    height: 1rem;
}

.td .cbi-input-checkbox,
.td .cbi-input-radio {
    margin-top: 0;
}

.cbi-value-field>input+.cbi-value-description {
    padding: 0;
}

.cbi-value-field>ul>li {
    display: flex;
}

.cbi-value-field>ul>li>label {
    margin-top: 0.5rem;
}

.cbi-value-field>ul>li .ifacebadge {
    background-color: #eee;
    margin-left: 0.4rem;
    margin-top: -0.5rem;
}

.cbi-section-table-row>.cbi-value-field .cbi-dropdown {
    min-width: 7rem;
}

.cbi-section-create {
    margin: .5rem -3px;
    display: inline-flex;
    align-items: center;
}

.cbi-section-create>* {
    margin: 0.5rem;
}

.cbi-section-remove {
    padding: 0.5rem;
}

div.cbi-value var,
td.cbi-value-field var,
.td.cbi-value-field var {
    font-style: italic;
    color: #0069D6;
}

small {
    font-size: 90%;
    white-space: normal;
    line-height: 1.42857143;
}

.cbi-button-up,
.cbi-button-down {
    display: inline-block;
    min-width: 0;
    padding: 0.2rem 0.3rem;
    font-size: 1.2rem;
}

.cbi-optionals {
    padding: 1rem 1rem 0 1rem;
    border-top: 1px solid #CCC;
}

.cbi-dropdown-container {
    position: relative;
}

.cbi-tooltip-container {
    cursor: help;
}

.cbi-tooltip {
    position: absolute;
    z-index: 1000;
    left: -1000px;
    opacity: 0;
    transition: opacity .25s ease-out;
    pointer-events: none;
}

.cbi-tooltip-container:hover .cbi-tooltip {
    left: auto;
    opacity: 1;
    transition: opacity .25s ease-in;
    border-radius: 20px;
}

.zonebadge .cbi-tooltip {
    padding: .25rem;
    background: inherit;
    margin: -1.5rem 0 0 -.5rem;
}

.zonebadge-empty {
    background: repeating-linear-gradient(45deg, rgba(204, 204, 204, 0.5), rgba(204, 204, 204, 0.5) 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px);
    color: #404040;
}

.zone-forwards {
    display: flex;
    min-width: 10rem;
}

.zone-forwards>* {
    flex: 1 1 45%;
}

.zone-forwards>span {
    flex-basis: 10%;
    text-align: center;
    padding: 0 .25rem;
}

.zone-forwards .zone-src,
.zone-forwards .zone-dest {
    display: flex;
    flex-direction: column;
}

#diag-rc-output>pre {
    background-color: #f5f5f5;
    display: block;
    padding: 8.5px;
    margin: 0 0 18px;
    line-height: 1.5rem;
    -moz-border-radius: 3px;
    white-space: pre-wrap;
    word-wrap: break-word;
    font-size: 1.4rem;
    color: #404040;
}

input[name="ping"],
input[name="traceroute"],
input[name="nslookup"] {
    width: 80%;
}

header>.container>.pull-right>* {
    position: relative;
    top: 0.45rem;
    cursor: pointer;
}

#xhr_poll_status>.label.success {
    background-color: #F24C7C;
}

.label {
    padding: 0.3rem 0.8rem;
    font-size: 0.8rem;
    font-weight: bold;
    color: #ffffff !important;
    white-space: nowrap;
    background-color: #bfbfbf;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 50px;
    text-shadow: none;
    text-decoration: none;
}

.notice {
    background-color: #468EA4;
}

.showSide {
    background: url(./menu-logo.png) no-repeat center center / 100%;
    display: none;
    height: 26px;
    width: 26px;
}

.darkMask {
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: rgba(0, 0, 0, 0.56);
    content: "";
    z-index: 99;
    display: none;
}

/* 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;
}

.node-status-iptables>.main div>.cbi-map>form input {
    padding: .8em;
    border-radius: 20px;
}

.node-status-processes .cbi-section {
    overflow-x: scroll;
}
.node-status-iptables #iptables .table-titles,
.node-system-opkg #packages .cbi-section-table-titles {
    background-color: #eee;
}

/* fix status realtime traffic and wireless */

.node-status-realtime.lang_enTraffic .cbi-tabmenu,
.node-status-realtime.lang_enWireless .cbi-tabmenu {
    background-color: #d4d4d4;
}

.node-status-realtime.lang_enTraffic .cbi-tabmenu>li[class~="cbi-tab"],
.node-status-realtime.lang_enTraffic .cbi-tabmenu>li:hover,
.node-status-realtime.lang_enWireless .cbi-tabmenu>li[class~="cbi-tab"],
.node-status-realtime.lang_enWireless .cbi-tabmenu>li:hover {
    background-color: #F1F1F1;
}

.node-status-realtime.lang_enTraffic #bwsvg,
.node-status-realtime.lang_enWireless #iwsvg,
.node-system-packages .cbi-map>.cbi-section,
.node-system-packages form .cbi-section {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}

/* fix system system */

.node-system-system .cbi-tabmenu {
    background-color: #d4d4d4;
}

.node-system-system .cbi-tabmenu>li[class~="cbi-tab"] {
    background-color: #fff;
}

/* fix system reboot */

.node-system-reboot>.main>.main-right p,
.node-system-reboot>.main>.main-right h3 {
    padding-left: 2rem;
}

/* fix Services  Network Shares*/
.node-services-samba.lang_enNetwork #cbi-samba-sambashare .table-container {
    overflow-x: scroll;
}
.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-title {
    margin-bottom: 1rem;
    width: auto;
}

.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-field {
    display: list-item;
}

.node-services-samba>.main .cbi-tabcontainer:nth-child(3) .cbi-value-description {
    padding-top: 1rem;
}

/* fix System Software*/

.node-system-packages #swfreespace {
    background-color: #468ea4 !important;
    border: none !important;
    border-radius: 20px
}

.node-system-packages #swfreespace>div {
    background-color: #f24c7c !important;
    border: none !important;
    border-radius: 20px
}

.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-packages>.main .cbi-tabmenu>li>a,
.tabs>li>a {
    padding: 0.5rem 0.8rem;
}

.node-system-packages>.main .cbi-value>pre {
    background-color: #eee;
    padding: 0.5rem;
    overflow: auto;
}

.node-system-packages .cbi-section .cbi-section-node-tabbed {
    border: none;
}

.node-system-packages form .cbi-section {
    margin: 0;
}

.cbi-tabmenu+.cbi-section {
    margin-top: 0;
}

.node-status-iptables .cbi-tabmenu,
.node-system-flashops .cbi-tabmenu {
    border: none;
}

.node-system-flashops form.inline+form.inline {
    margin-left: 0;
}

.lang_zh-cnBackup .cbi-tabmenu {
    margin-bottom: 1rem;
}

#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;
}

#cbi-network-switch_vlan .th,
#cbi-network-switch_vlan .td {
    flex-basis: 12%;
}

/* fix Network Network*/

.node-network-network .cbi-rowstyle-2 .ifacebox-body {
    background-color: #fff;
}

.lang_zh-cnInterfaces .container .cbi-map .cbi-tabmenu+div {
    overflow: inherit;
}

/* fix Network Wireless*/

.node-network-wireless .cbi-section-node {
    margin-bottom: 1rem;
}

/* applyreboot fix */

#maincontainer {
    text-align: center;
}

#maincontainer>#maincontent {
    padding: 1rem;
    margin: 0 auto;
    border-radius: 10px;
    display: inline-block;
    max-width: 800px;
    width: 40%;
}

#applyreboot-container {
    margin-bottom: 1rem;
}

#applyreboot-section {
    text-align: left;
    background: #fff;
    padding: 1rem;
    border-radius: 10px;
}

#applyreboot-section>div {
    margin: 1rem 0;
    line-height: 1.5rem;
}

#applyreboot-container {
    margin: 90px 2rem 2rem 2rem;
}

#applyreboot-section {
    margin: 2rem;
    line-height: 300%;
}

/* Shared style */

header {
    height: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    overflow: hidden;
}

header {
    padding-right: 1rem;
    background: #fff;
    color: white;
    border-bottom: 1px solid #dadada;
}

header .fill,
header .container {
    height: 100%;
}

header .brand {
    padding-left: .8rem;
    color: #354057;
    font-size: 24px;
    text-decoration: none;
    display: inline-block;
    height: 100%;
    line-height: 70px;
    width: 10%;
    text-align: center;
}

header .btn-con {
    line-height: 70px;
}

header .logout {
    background-color: #354057;
}

header .logout a {
    text-decoration: none;
    color: #fff;
}

.main {
    height: auto;
    min-height: 100%;
}

.main-right {
    height: auto;
}

.main-left {
    top: 10px;
    bottom: 10px;
    left: 10px;
    width: 15%;
    background-color: #636569;
    position: fixed;
    z-index: 1000;
    border-radius: 20px;
    min-width: 170px;
}

.main>.main-left .navbar-container {
    margin-top: 0.5rem;
    float: right;
    width: calc(100% + 10px);
    height: calc(100% - 110px);
    overflow-y: scroll;
    overflow-x: hidden;
}

.main>.main-left .nav {
    height: auto;
}

.main>.main-left .nav>li a {
    color: #fff;
    display: block;
}

.main>.main-left .nav>li {
    padding: 0.5rem 1.7rem;
    cursor: pointer;
}

.main>.main-left .nav>.slide {
    padding: 0 15px 0 0;
    margin-bottom: 8px;
    overflow: hidden;
}

.main>.main-left .nav>.slide>ul {
    display: none;
    float: right;
    width: calc(100% - 10px);
}

.main>.main-left .nav>.slide>.menu {
    display: block;
    padding: 0.5rem 1.7rem;
    text-decoration: none;
    cursor: default;
    font-size: 1.15rem;
    width: 100%;
    float: right;
}

.main>.main-left .nav>li>a.active,
.main>.main-left .nav>.slide>.menu:hover,
.main>.main-left .nav>.slide>.menu.active {
    background: #485267;
    float: right;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}

.main>.main-left .nav>.slide:hover {
    background: none;
}

.main>.main-left .nav>.slide>.slide-menu>li {
    padding: 0.6rem 2rem;
    margin: 8px 0;
}

.main>.main-left .nav>.slide>.slide-menu>.active {
    background-color: #F24C7C;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}

.main>.main-left .nav>.slide>.slide-menu>li>a {
    text-decoration: none;
    white-space: nowrap;
}

.main>.main-left .nav>.slide>.slide-menu>.active>a {
    color: white;
}

.main>.main-left .nav>.slide>.slide-menu>li:hover {
    background: #F24C7C;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}

.main>.main-left .nav>.slide>.slide-menu>.active:hover {
    background-color: #F24C7C;
    cursor: hand;
}

/* The scroll bar of the navigation bar is compatible with each browser. */

/* Google */

.main>.main-left .navbar-container::-webkit-scrollbar {
    width: 6px;
    background: transparent;
}

.main>.main-left .navbar-container::-webkit-scrollbar-button {
    display: none;
}

.main>.main-left .navbar-container::-webkit-scrollbar-thumb {
    background-color: #ffffff61;
    border-radius: 10px;
}

.main>.main-left .navbar-container::-webkit-scrollbar-thumb {
    background-color: #839dd67a;
    border-radius: 10px;
}

.main>.main-left .navbar-container:hover::-webkit-scrollbar-thumb {
    background-color: #839dd67a;
}

/* IE */

.main>.main-left .navbar-container {
    scrollbar-track-color: transparent;
    scrollbar-face-color: #839dd67a;
    scrollbar-arrow-color: transparent;
    scrollbar-3dlight-color: transparent;
    scrollbar-highlight-color: transparent;
    scrollbar-shadow-color: transparent;
    scrollbar-darkshadow-color: transparent;
    scrollbar-base-color: transparent;
}

.main>.main-left .navbar-container:hover {
    scrollbar-face-color: #839dd67a;
}

footer {
    text-align: right;
    padding-right: 1rem;
    color: #aaa;
    font-size: 0.8rem;
    text-shadow: 0px 0px 2px #BBB;
    position: absolute;
    bottom: 0;
    right: 0;
}

/* The style of the prompt message */

.alert-message {
    padding: 13px 11%;
    border-radius: 10px;
    background-color: #FFF;
}

.danger {
    background-color: #FA8072;
    color: black;
}

.success {
    background-color: #90EE90;
    color: black;
}

.error {
    color: red;
}

.alert-message>h4 {
    padding: 7px 0 7px 36px;
    margin: 0;
    font-weight: normal;
    font-size: 18px;
    background: url(./no-pwd.png) no-repeat left 43%/ 28px;
    display: inline-block;
}

.alert-message>p {
    font-size: 14px;
    line-height: 1.5rem;
}

.alert-message a {
    padding: 4px 0;
    margin-top: 12px;
    width: 100%;
    background-color: transparent;
    color: #fff;
    font-size: 16px;
    border: 1px solid #fff;
    border-radius: 50px;
}

/* All styles of the login interface */
.node-main-login {
    height: auto;
    min-height: 100%;
    background: #fff url(./loginBG.png) no-repeat center center / cover;
}
.node-main-login header {
    display: none;
}
.node-main-login .main {
    height: auto;
}
.node-main-login>.main>.main-left {
    display: none;
}
.node-main-login>.main>.main-right {
    width: 100%;
    height: auto;
    min-height: 100%;
}
.node-main-login>.main #maincontent {
    position: absolute;
    min-width: 492px;
    width: 100%;
    top: 47%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    height: auto;
    text-align: center;
}
.node-main-login>.main .container {
    padding: 0;
    width: 30%;
    max-width: 492px;
    display: inline-block;
}
.node-main-login>.main .logoImg a {
    margin: 0 0 18px 0;
    display: block;
    font-size: 30px;
    color: #fff;
    text-decoration: none;
}
.node-main-login>.main .logoImg img:first-child {
    width: 72px;
}
.node-main-login .warning {
    background-color: #3E4A62;
    color: #fff;
}
.node-main-login>.main form h2 {
    margin: 17px 0;
    padding: 0;
    font-size: 24px;
    color: #fff;
    font-weight: normal;
    border: 0;
}
.node-main-login>.main form .cbi-map-descr {
    margin: 0 0 12px;
    padding: 0;
    font-size: 12px;
    color: #B1B6BB;
}
.node-main-login>.main form .cbi-section {
    margin: 0;
    padding: 0;
    background-color: transparent;
    box-shadow: none;
}
.node-main-login>.main form .cbi-value {
    display: block;
}
.node-main-login>.main form .cbi-value-title {
    margin: 0;
    padding: 0;
    display: none;
}
.node-main-login>.main form .cbi-value-field {
    margin-bottom: 16px;
    display: block;
    width: 100%;
    position: relative;
}
.node-main-login>.main form .cbi-value-field input {
    padding-left: 48px;
    width: 100%;
    border: 1px solid #556270;
    height: 42px;
    border-radius: 50px;
    font-size: 20px;
    color: #9c9fa1;
}
.node-main-login form .cbi-value-field .iconpwd,
.node-main-login form .cbi-value-field .iconuser,
.node-main-login form .cbi-value-field .iconeye {
    height: 24px;
    width: 20px;
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
}
.node-main-login form .cbi-value-field .iconpwd {
    background: transparent url(./pwd.png) no-repeat center center / 100%;
}
.node-main-login form .cbi-value-field .iconuser {
    background: transparent url(./user.png) no-repeat center center / 100%;
}
.node-main-login form .cbi-value-field .iconeye {
    left: auto;
    right: 16px;
    background: transparent url(./op-eye.png) no-repeat center center / 100%;
}
.node-main-login form .cbi-value-field .cleye {
    background-image: url(./cl-eye.png);
}
.node-main-login form .cbi-value-field .opeye {
    background-image: url(./op-eye.png);
}
.node-main-login form .cbi-page-actions {
    padding: 0;
    border: 0;
    text-align: center;
}
.node-main-login form .cbi-page-actions input {
    margin: 0 0 0 -4px;
    padding: 9px 0;
    border: 0;
    display: inline-block;
    border-radius: 0;
    width: 50%;
    font-size: 18px;
}
.node-main-login form .cbi-page-actions .cbi-button-apply {
    background-color: #F24C7C;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
}
.node-main-login form .cbi-page-actions .cbi-button-reset {
    background-color: #8a4568;
    color: #fff;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}
.node-main-login input.cbi-input-text {
    box-shadow: 0 0 0 1000px white inset;
}
/* Interface after login */
.logged-in {
    background-color: #EBF1F6;
}
.logged-in header {
    height: 70px;
}
.logged-in .main {
    overflow: hidden;
}
.logged-in .main-right {
    padding: 0 1rem 3rem 0;
    margin-top: 90px;
    float: right;
}
.logged-in .main .logoImg {
    display: none;
}
.logged-in .main .main-left .nav-container {
    background-color: #354057;
    border-radius: 20px;
    position: absolute;
    top: 10px;
    left: 10px;
    right: -10px;
    bottom: 10px;
}
.logged-in .main .main-left .brand {
    margin: 0 auto;
    padding: 44px 0 23px;
    width: 85%;
    color: #fff;
    display: block;
    font-size: 18px;
    text-align: center;
    text-decoration: none;
    border-bottom: 2px solid #ffffff42;
    /* Single line text omitted */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
}
.logged-in .alert-message {
    padding: 20px 2rem;
    border: none;
    background-color: #fff;
}
.logged-in .alert-message a {
    padding: 8px 2rem;
    width: auto;
    border: none;
    background-color: #468EA4;
    color: #fff;
}
@media screen and (max-width: 1600px) {
    .main-left {
        width: calc(0% + 13rem);
    }
    .btn,
    .cbi-button {
        padding: 0.3rem 0.6rem;
        font-size: 0.8rem;
    }
    header>.container>.pull-right>* {
        top: 0.35rem;
    }
    .label {
        padding: 0.2rem 0.6rem;
    }
    .cbi-value-title {
        width: 15rem;
        padding-right: 0.6rem;
    }
    .cbi-input-textarea {
        font-size: small;
    }
}
@media screen and (max-width: 1280px) {
    .node-main-login>.main .container {
        width: 50%;
    }
    .cbi-tabmenu>li>a,
    .tabs>li>a {
        padding: 0.2rem 0.5rem;
    }
    .panel-title {
        font-size: 1.1rem;
        padding-bottom: 1rem;
    }
    table {
        font-size: 0.7rem !important;
        width: 100% !important;
    }
    .main>.main-left .nav>li,
    .main>.main-left .nav>li a,
    .main>.main-left .nav>.slide>.menu {
        font-size: 0.9rem;
    }
    .main>.main-left .nav>.slide>.slide-menu>li>a {
        font-size: 0.7rem;
    }
}
@media screen and (max-width: 992px) {
    .logged-in header {
        padding: 0 .8rem;
        height: 45px;
    }
    header .brand {
        display: none;
    }
    header .btn-con {
        line-height: 45px;
    }
    .main-left {
        width: auto;
        height: auto;
        position: fixed;
        z-index: 100;
        right: 100%;
        left: 0;
        top: 0;
        bottom: 0;
        background: #0000007d;
        border-radius: 0;
        min-width: 0;
        overflow: hidden;
    }
    .main>.main-left .nav>.slide>.slide-menu>li {
        width: 90%;
    }
    header .container {
        line-height: 43px;
    }
    .main-right {
        width: 100%;
    }
    .node-main-login>.main .container {
        width: 60%;
    }
    .showSide {
        padding: 0.1rem;
        display: inline-block;
        vertical-align: middle;
    }
    .cbi-value-title {
        width: 9rem;
        padding-right: 1rem;
    }
    #diag-rc-output>pre {
        font-size: 1rem;
    }
    .tr {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .th,
    .td {
        flex: 2 2 25%;
        align-self: flex-start;
        text-overflow: ellipsis;
        word-wrap: break-word;
        display: inline-block;
    }
    .td select,
    .td input[type="text"] {
        word-wrap: normal;
        width: 100%;
    }
    .td [data-dynlist]>input,
    .td input.cbi-input-password {
        width: calc(100% - 1.5rem);
    }
    .td[data-type="button"],
    .td[data-type="fvalue"] {
        flex: 1 1 12.5%;
        text-align: left;
    }
    .th.cbi-value-field,
    .td.cbi-value-field,
    .th.cbi-section-table-cell,
    .td.cbi-section-table-cell {
        flex-basis: auto;
    }
    .cbi-section-table-row {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-between;
    }
    .td.cbi-value-field,
    .cbi-section-table-cell {
        text-align: center;
        display: inline-block;
        flex: 10 10 auto;
    }
    .td.cbi-section-actions {
        text-align: right;
        align-self: flex-end;
        vertical-align: bottom;
    }
    .tr.table-titles,
    .tr.cbi-section-table-titles,
    .tr.cbi-section-table-descr {
        display: none;
    }
    .tr[data-title]::before,
    .tr.cbi-section-table-titles.named::before {
        display: block;
        flex: 1 1 100%;
        background: #eef;
        font-size: .9rem;
        border-bottom: 1px solid rgba(0, 0, 0, .26);
    }
    .td[data-title] {
        text-align: left;
        font-size: 12px;
    }
    .td[data-title]::before {
        display: block;
    }
    .hide-sm,
    .hide-xs {
        display: none;
    }
    /* All styles of the login interface */
    .node-main-login .showSide {
        display: none !important;
    }
    .logged-in .main {
        padding-bottom: .8rem;
    }
    .logged-in .main .main-left .nav-container {
        background-color: #354057;
        border-radius: 0;
        position: absolute;
        top: 0;
        left: 0;
        right: 20%;
        bottom: 0;
    }
    .logged-in .main-right {
        padding: 0 .8rem;
        margin-top: calc(45px + .8rem);
        width: 100%;
        max-width: unset;
        float: unset;
    }
    .logged-in .alert-message {
        padding: 8px .8rem;
    }
    .cbi-section {
        margin: .8rem 0 0 0;
        padding: .8rem;
    }
    small {
        font-size: 10px;
        line-height: 0;
    }
    .cbi-section>h3:first-child,
    .panel-title {
        font-size: 1rem;
    }
    .network-status-table .ifacebox-body>span {
        font-size: 12px;
    }
    .cbi-section .ifacebox-body .ifacebadge>span {
        font-size: 12px;
    }
    .table .tr.cbi-rowstyle-1:nth-child(n),
    .table .tr:nth-child(n) {
        font-size: 12px;
    }
    .node-network-firewall .table .tr.cbi-rowstyle-1:nth-child(n),
    .node-network-firewall .table .tr:nth-child(n) {
        border-radius: 20px;
        overflow: hidden;
    }
    h2 {
        margin: 1rem 0 0 0;
        font-size: 1.4rem;
        padding-bottom: 0;
        border-bottom: none;
    }
    h4 {
        font-size: 1rem;
    }
    .cbi-section-node-tabbed {
        padding: 0 .5rem;
    }
    .cbi-button,
    .cbi-button-action.important {
        margin-right: .3rem;
    }
    select {
        border-bottom: 1px solid rgba(0, 0, 0, .26);
    }
    .node-status-processes .table .tr.cbi-rowstyle-1:nth-child(n),
    .node-status-processes .table .tr:nth-child(n) {
        border-radius: 20px;
    }
}
@media screen and (max-width: 768px) {
    .node-main-login {
        background: none;
    }
    .node-main-login>.main .logoImg a {
        font-size: 30px;
        margin: 12px 0 22px 0;
        color: #354057;
    }
    .node-main-login>.main #maincontent {
        padding-top: 0;
        padding-bottom: 1rem;
        min-width: 100%;
        top: 0;
        transform: translateY(0) translateX(-50%);
    }
    .alert-message {
        padding: 8px 15%;
    }
    .alert-message>h4 {
        font-size: 14px;
    }
    .alert-message>p,
    .alert-message a {
        font-size: 12px;
    }
    .a lert-message>h4 {
        padding: 8px 0 8px 36px;
    }
    .alert-message a {
        padding: 8px 0;
        margin-top: 8px;
    }
    .node-main-login .warning {
        background-color: #F5F5F6;
        color: #354057;
    }
    .alert-message a {
        color: #f24c7c;
        background: #fff;
    }
    .node-main-login>.main form h2 {
        font-size: 16px;
        margin: 20px 0 16px;
        color: #354057;
    }
    .node-main-login>.main form .cbi-value-field input {
        padding-left: 34px;
        height: 36px;
        background-size: 16px;
        font-size: 16px;
    }
    .node-main-login>.main form .cbi-value-field {
        margin-bottom: 20px;
    }
    .node-main-login form .cbi-page-actions input {
        padding: 6px 0;
        font-size: 16px;
    }
    .node-main-login form .cbi-value-field .iconpwd,
    .node-main-login form .cbi-value-field .iconuser,
    .node-main-login form .cbi-value-field .iconeye {
        height: 20px;
        width: 16px;
        left: 12px;
    }
    .node-main-login form .cbi-value-field .iconeye {
        left: auto;
        right: 12px;
    }
    .mobile-hide {
        display: none;
    }
    .PC-hide {
        display: inline-block;
    }
}
@media screen and (max-width: 480px) {
    body {
        font-size: 1rem;
    }
    .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%;
    }
    .cbi-value>.cbi-value-field {
        display: inline-block;
    }
    .cbi-tabmenu>li,
    .tabs>li {
        padding: 0.6rem 0rem;
    }
    .cbi-tabmenu>li>a,
    .tabs>li>a {
        padding: 0.2rem 0.3rem;
        font-size: 0.9rem;
    }
    .cbi-page-actions>div>input {
        display: none;
    }
    .tabs>li>a {
        font-size: 0.9rem;
    }
    select,
    input {
        font-size: 10px;
    }
    .panel-title {
        font-size: 1.4rem;
        padding-bottom: 1rem;
    }
    .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;
        background-color: #FFF;
        border-radius: 20px;
        -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;
    }
    .node-main-login>.main .container {
        min-width: 90%;
    }
    .th,
    .td {
        flex-basis: 50%;
    }
    .td.cbi-value-field {
        flex-basis: 100%;
    }
    .td.cbi-value-field[data-type="dvalue"] {
        flex-basis: 50%;
    }
    .td.cbi-value-field[data-type="button"],
    .td.cbi-value-field[data-type="fvalue"] {
        flex-basis: 25%;
        text-align: left;
    }
    .tr[data-title]::before,
    .tr.cbi-section-table-titles.named::before {
        font-size: 1rem;
    }
    .hide-xs {
        display: none;
    }
    /* All styles of the login interface */
    .node-main-login>.main .cbi-value {
        padding: 0;
    }
    .alert-message {
        padding: 8px 10%;
    }
}
@media screen and (min-width: 992px) {
    .cbi-value-field .cbi-input-select {
        width: 20rem;
    }
    .cbi-value-field .cbi-dropdown {
        min-width: 20rem;
    }
}
@media screen and (min-width: 1280px) {
    .cbi-value-field .cbi-input-select {
        width: 22rem;
    }
    .cbi-value-field .cbi-dropdown {
        min-width: 22rem;
    }
}
@media screen and (min-width: 1600px) {
    .cbi-value-field .cbi-input-select {
        width: 25rem;
    }
    .cbi-value-field .cbi-dropdown {
        min-width: 25rem;
    }
}