html,
body {
    height: 100%;
}

body {
    background: #ffffff;
    color: #333;
    font-family: "Helvetica Neue, Helvetica, Arial, sans-serif";
    font-size: 13px;
    line-height: 1.8;
    margin: 0;
    /* padding-top: 60px; */
    margin: unset;
}

a {
    color: #0069d6;
    text-decoration: none;
    outline: 0;
}

a:hover {
    opacity: 1;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
.cbi-map-descr,
.cbi-section-descr {
    color: #404040;
    margin-top: 0;
    margin-bottom: 10px;
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

tr,
.tr {
    display: table-row;
}

legend {
    color: #404040;
    font-size: 18px;
    font-weight: bold;
    padding: 0 0 3px;
}

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

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

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

.top {
    vertical-align: top !important;
}

.middle {
    vertical-align: middle !important;
}

.bottom {
    vertical-align: bottom !important;
}

.pull-left {
    float: left !important;
}

.pull-right {
    float: right !important;
}

.inline {
    display: inline;
}

.hidden {
    display: none;
}


/* Style */

.container:first-child {
    /* min-height: 40px; */
    display: flow-root;
}

.container {
    max-width: 1080px;
    margin: 0 auto;
}

/* Header */

header {
    font-size: 14px;
    /* position: fixed;
    top: 0;
    left: 0;
    right: 0; */
    background: #222;
    box-shadow: 0 2px 2px rgba(0, 0, 0, .1);
    z-index: 100;
    border-bottom: 2px solid #ccc;
}

.brand {
    float: left;
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    line-height: 40px;
    margin-right: 20px;
    position: absolute;
    left: 0;
    margin-left: 20px;
}


/* .brand { display:none; } */

.brand:hover {
    opacity: 1;
}

.nav li {
    float: left;
}

.nav a {
    display: block;
    line-height: 40px;
    padding: 0 15px;
    color: #bfbfbf;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.nav a:hover {
    color: white;
}


/* Dropdown */

.dropdown {
    position: relative;
}

.dropdown:hover {
    background-color: rgba(0, 0, 0, 0.3);
}

.dropdown:hover .dropdown-menu {
    display: block;
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 40px;
    background: #222;
    border-radius: 5px;
    padding: 5px 0px;
    z-index: 100;
}

.dropdown-menu:before {
    content: '';
    position: absolute;
    top: -6px;
    left: 27px;
    border-bottom: 6px solid white;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
}

.dropdown-menu a {
    color: #999;
    line-height: 30px;
    min-width: 150px;
    padding: 0 20px;
    font-size: 14px;
}

.dropdown-menu a:hover {
    background: #191919;
    color: #fff;
}

.cbi-dropdown {
    display: inline-block;
    width: 210px;
    height: 30px;
    padding: 4px;
    font-size: 13px;
    line-height: 18px;
    color: #808080;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-sizing: border-box;
}

.cbi-dropdown {
    border: 1px solid #ccc;
    border-radius: 3px;
    display: inline-flex;
    padding: 0;
    cursor: pointer;
    height: auto;
    background: linear-gradient(#fff 0%, #e9e8e6 100%);
    position: relative;
    color: #404040;
}

.cbi-dropdown {
    /* min-width: 210px; */
    max-width: 400px;
    width: 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,
.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;
    /* color: #404040; */
    min-height: 20px;
}

.cbi-dropdown>ul>li .hide-open {
    display: block;
    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;
}

.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;
    box-shadow: 0 0 4px #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;
}

.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: block;
    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;
}

#maincontent.container {
    margin-top: 10px;
}


/* Label */

.label {
    display: inline-block;
    background: #bbb;
    border-radius: 4px;
    color: #fff;
    font-size: 14px;
    line-height: 24px;
    text-transform: uppercase;
    margin-top: 6px;
    padding: 1px 9px;
    cursor: pointer;
}

.label.success {
    background: #46a546;
}

.label.notice {
    background: #46a546;
}

.label.important {
    background: #f00;
}

.label.warning {
    background: #fc0;
}


/* Main */

h2 a {
    color: #333;
}

h2 a:hover {
    opacity: 1;
}

h2+.cbi-map-descr {
    margin-top: -10px;
}

.alert-message {
    position: relative;
    padding: 15px;
    margin-bottom: 10px;
    background: linear-gradient(to bottom, #fceec1, #eedc94) repeat-x;
    /* border: 1px solid rgba(0, 0, 0, .1);
	border-width: 2px 0; */
    border-radius: 2px;
}

.alert-message>h4,
p {
    margin: 0;
}

.error,
.errorbox {
    display: inline;
}

.error {
    color: #f00;
}

.errorbox {
    color: #3b3;
}

#maincontainer {
    box-shadow: 0 0 2px rgba(0, 0, 0, .3);
    border-radius: 4px;
    width: 500px;
    margin: 120px auto 0;
    padding: 30px;
}

#syslog {
    color: #111;
    width: 100%;
}


/* Change List */

.uci-change-legend {
    padding-top: 15px;
}

.uci-change-legend-label {
    float: left;
    margin-right: 100px;
}

.uci-change-legend-label>ins,
.uci-change-legend-label>del,
.uci-change-legend-label>var {
    float: left;
    width: 10px;
    height: 10px;
    margin-top: 3px;
    margin-right: 6px;
}

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

.uci-change-list ins,
.uci-change-legend-label ins,
.uci-change-list del,
.uci-change-legend-label del,
.uci-change-list var,
.uci-change-legend-label var {
    display: block;
    text-decoration: none;
    padding: 2px;
}

.uci-change-list ins,
.uci-change-legend-label ins {
    background: #cfc;
    border: 2px solid #4f4;
}

.uci-change-list del,
.uci-change-legend-label del {
    background: #fcc;
    border: 2px solid #f00;
}

.uci-change-list var,
.uci-change-legend-label var {
    background: #f2f2f2;
    border: 2px solid #ccc;
}

.uci-change-list var ins,
.uci-change-list var del {
    border: 0;
    white-space: pre;
    padding: 0;
}

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


/* Tabs */

.tabs,
.cbi-tabmenu {
    border-bottom: 1px solid #ddd;
    margin-bottom: 15px;
}

.tabs li,
.cbi-tabmenu li {
    display: inline-block;
    margin-bottom: -1px;
}

.tabs a,
.cbi-tabmenu a {
    display: block;
    /* color: #404040; */
    line-height: 34px;
    margin-right: 3px;
    padding: 0 15px;
}

.active a,
.cbi-tab a {
    border-bottom: 2px solid #111;
    color: #111;
}

.tabs>li>a:hover,
.cbi-tabmenu>li>a:hover {
    text-decoration: none;
    background-color: #eee;
    border-color: #eee #eee #ddd;
}


/* Fieldset */

fieldset {
    border: 0px;
    margin: 10px 0;
    padding: 0;
}

fieldset fieldset {
    margin: 0;
}

.cbi-value {
    margin-bottom: 1em;
    zoom: 1;
    clear: both;
}

table .cbi-value-field,
.table .cbi-value-field {
    display: table-cell;
    width: unset;
}

.cbi-value-title {
    /* white-space: nowrap;
	overflow: hidden;
	text-overflow: clip; */
    display: table-cell;
    padding-top: 0.4em;
    line-height: 1.2em;
    float: left;
    width: 14em;
    margin-right: 1.5em;
    text-align: right;
    color: #404040;
}

.cbi-value-field {
    color: #811;
    display: table-cell;
    width: 0.1%;
}

.cbi-section-table-cell {
    white-space: nowrap;
}

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

.cbi-section-create>* {
    margin: 3px;
    flex: 1 1 auto;
}


/* Table */


/* .cbi-section table tbody tr:nth-child(odd) { background-color: #fdfdfd; } */

table,
.table {
    width: 100%;
    display: table;
    margin: 0 0 10px !important;
    border-radius: 5px;
    /* border: 1px solid #a9b1bb26; */
    border-collapse: collapse;
    position: relative;
}


/* table tr:first-child, .table .tr:first-child { border-top: 1px solid #b0e6b9; } */


/* table tr, .table .tr { border-bottom: 1px solid #b0e6b9; } */

table th,
table td,
.table .th,
.table .td {
    color: #811;
    padding: 3px !important;
}

table tr+tr td,
.table .tr+.tr .td {
    border-top: 1px solid #a9b1bb26;
}

table th,
.table .th {
    text-align: left;
    font-weight: bold;
}

table td:first-child,
.table .td:first-child {
    color: #127;
}

.table[width="33%"],
.th[width="33%"],
.td[width="33%"] {
    width: 33%;
}

.table[width="100%"],
.th[width="100%"],
.td[width="100%"] {
    width: 100%;
}

.table .th,
.table .td {
    display: table-cell;
    vertical-align: middle;
}

.table .tr.placeholder {
    height: calc(3em + 20px);
}

.table .tr.placeholder>.td {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    line-height: 3em;
}

.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>*>.cbi-button-up,
.cbi-input-up {
    /* background: unset; */
}

.td.cbi-section-actions>*>.cbi-button-down,
.cbi-input-down {
    /* background: unset; */
}

#cbi-network .tr,
#cbi-wireless .tr,
.tr .tr:first-child,
#cbi-network tr,
#cbi-wireless tr,
tr tr:first-child {
    border-top: 0;
}

#cbi-network .tr,
#cbi-wireless .tr,
.tr .tr,
#cbi-network tr,
#cbi-wireless tr,
tr tr {
    border-bottom: 0;
}

#cpu_free,
#memtotal,
#memfree,
#memcache,
#membuff,
#conns,
#swaptotal,
#swapfree {
    line-height: 18px;
}

#cpu_free>div,
#memtotal>div,
#memfree>div,
#memcache>div,
#membuff>div,
#conns>div,
#swaptotal>div,
#swapfree>div {
    border: 1.5px solid #bbb !important;
    border-radius: 5px;
    width: 240px !important;
}

#cpu_free>div>div,
#memtotal>div>div,
#memfree>div>div,
#memcache>div>div,
#membuff>div>div,
#conns>div>div,
#swaptotal>div>div,
#swapfree>div>div {
    height: 18px !important;
    border-radius: 3px;
}


/* Form */

input,
textarea,
select {
    display: inline-block;
    width: 16em;
    padding: 0.4em;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    color: #111;
    font: inherit;
    line-height: 18px;
}

input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
    background-color: #f5f5f5;
    border-color: #ddd;
    color: unset;
}

table.cbi-section-table input,
table.cbi-section-table textarea,
table.cbi-section-table select,
.table.cbi-section-table input,
.table.cbi-section-table textarea,
.table.cbi-section-table select {
    width: auto;
}

#cbi-network-switch_vlan select,
#cbi-firewall-zone select,
#cbi-firewall-redirect select {
    width: auto;
}

input:active,
input:focus {
    outline: 0;
    border-color: #ccc;
}

input[type=file]:focus,
input[type=checkbox]:focus,
textarea:focus,
select:focus {
    outline: 0;
}

input[type=button],
input[type=reset],
input[type=submit],
button {
    width: auto !important;
}

input[type=checkbox],
input[type=radio] {
    width: auto;
    margin: 0;
    vertical-align: middle;
    cursor: pointer;
}

input[type=file] {
    padding: 0;
    border: 0;
}

.cbi-input-invalid,
.cbi-value-error input {
    color: #f00;
    border-color: #f00 !important;
}

.cbi-image-button {
    margin: 10px 8px;
    vertical-align: middle;
}

.uneditable-input {
    background: #fafafa;
    border-color: #f2f2f2;
    color: #ccc;
    cursor: not-allowed;
}

.uneditable-input:active,
.uneditable-input:focus {
    border-color: #f2f2f2;
}

.cbi-value-description {
    display: inline;
    background-image: url(/luci-static/resources/cbi/help.gif);
    /* background-position-x: 0px;
	background-position-y: 1px; */
    background-position: 0em 0.2em;
    background-repeat: no-repeat;
    padding: 0 1.2rem;
}

.cbi-value-description img {
    display: none;
    vertical-align: sub;
}

.cbi-page-actions {
    text-align: right;
    padding: 10px 0px;
}

.cbi-page-actions.right {
    float: inherit;
}


/* Button */

.btn,
.cbi-button,
button {
    border-radius: 6px !important;
    display: inline-block;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 2px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, .05);
    color: #333;
    line-height: 16px;
    padding: 0.5em;
    cursor: pointer;
    margin-left: 0.2em;
}

.btn:active,
.btn:focus,
.cbi-button:active,
.cbi-button:focus,
button:active,
button:focus {
    border-color: #bbb;
}

/*
.cbi-button-up,
.cbi-input-up {
    background-position: center;
    background-image: url('../resources/cbi/up.gif'), linear-gradient(#ffffff, #ffffff 50%, #e6e6e6);
    background-repeat: no-repeat;
    padding-left: 15px;
    padding-right: 15px;
}

.cbi-button-down,
.cbi-input-down {
    background-position: center;
    background-image: url('../resources/cbi/down.gif'), linear-gradient(#ffffff, #ffffff 50%, #e6e6e6);
    background-repeat: no-repeat;
    padding-left: 15px;
    padding-right: 15px;
}
*/

.cbi-button-add,
.cbi-input-add {
    background: #404040;
    border-color: #404040;
    color: #fff;
}

.cbi-button-add:active,
.cbi-button-add:focus,
.cbi-input-add:active,
.cbi-input-add:focus {}

.cbi-button-remove,
.cbi-input-remove,
.cbi-section-remove input {
    border-color: red;
    background-color: red;
    color: #fff;
}

.cbi-button-remove:active,
.cbi-button-remove:focus,
.cbi-input-remove:active,
.cbi-input-remove:focus,
.cbi-section-remove input:active,
.cbi-section-remove input:focus {}

.cbi-button-reload,
.cbi-input-reload {
    background: rgb(148, 143, 225);
    border-color: rgb(148, 143, 225);
    color: #fff;
}

.cbi-button-reload:active,
.cbi-button-reload:focus,
.cbi-input-reload:active,
.cbi-input-reload:focus {}

.cbi-button-reset,
.cbi-input-reset {
    background: #6bde84;
    border-color: #6bde84;
    color: #fff;
}

.cbi-button-reset:active,
.cbi-button-reset:focus,
.cbi-input-reset:active,
.cbi-input-reset:focus {}

.cbi-button-edit,
.cbi-input-edit {
    background: #ff7700;
    border-color: #ff7700;
    color: #fff;
}

.cbi-button-edit:active,
.cbi-button-edit:focus,
.cbi-input-edit:active,
.cbi-input-edit:focus {}

.cbi-button-apply,
.cbi-input-apply {
    color: #fff;
    background: #0069d6;
    border: 1px solid #0069d6;
}

.cbi-button-apply:active,
.cbi-button-apply:focus,
.cbi-input-apply:active,
.cbi-input-apply:focus {}

.cbi-button-save,
.cbi-input-save {
    background: rgb(148, 143, 225);
    border-color: rgb(148, 143, 225);
    color: #fff;
}

.cbi-button-save:active,
.cbi-button-save:focus,
.cbi-input-save:active,
.cbi-input-save:focus {}

/* LuCI 18 DynamicList */
input[type="text"]+.cbi-button,
input[type="password"]+.cbi-button,
select+.cbi-button {
    padding: 4px 8px;
}


/* Input Error */

.cbi-section-error {
    background: #fee;
    border: 2px solid #f00;
    padding: 10px;
}

.cbi-section-error ul {
    padding-left: 20px;
}

.cbi-section-error ul li {
    color: #f00;
    list-style: disc;
}


/* Interface */

.ifacebox {
    text-align: center;
    margin-right: 60px;
}

.ifacebox .ifacebox-head {
    border-bottom: 1px solid #ccc;
    padding: 2px;
    background: #eee;
}

.ifacebox .ifacebox-head.active {
    background: #90c0e0;
}

.ifacebox .ifacebox-body {
    border: 2px solid #f2f2f2;
    border-top: 0;
    border-radius: 0 0 4px 4px;
    padding: 2px 10px;
}

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

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

.ifacebox .ifacebox-body {
    padding: .25em;
}

.ifacebox {
    background-color: #fff;
    border: 1px solid #ccc;
    margin: 0 10px;
    text-align: center;
    white-space: nowrap;
    background-image: linear-gradient(#fff, #fff 25%, #f9f9f9);
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    /* display: inline-flex; */
    flex-direction: column;
    line-height: 1.6em;
    min-width: 100px;
}

.ifacebadge {
    display: inline-block;
    flex-direction: row;
    white-space: nowrap;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 2px;
    background-image: linear-gradient(#fff, #fff 25%, #f9f9f9);
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    cursor: default;
    line-height: 1.2em;
}

.ifacebadge.large,
.network-status-table .ifacebox-body .ifacebadge {
    display: inline-flex;
    flex: 1;
    padding: .25em;
    min-width: 220px;
    margin: .125em;
    float: left;
}

.ifacebadge img {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.ifacebadge>*,
.ifacebadge.large>* {
    margin: 0 .125em;
}

.ifacebadge>*,
.ifacebadge.large>* {
    margin: 0 .125em;
}

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

.cbi-tooltip {
    position: absolute;
    z-index: 1000;
    left: -10000px;
    box-shadow: 0 0 2px #ccc;
    border-radius: 3px;
    background: #fff;
    white-space: pre;
    opacity: 0;
    transition: opacity .25s ease-in;
    padding: 2px 5px;
}

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


/* Firewall */

.zonebadge {
    display: inline-block;
    border-radius: 4px;
    color: #333;
    white-space: nowrap;
    padding: 0 8px;
    cursor: pointer;
}

.zonebadge em,
.zonebadge strong {
    margin: 0 5px;
}

.zonebadge-empty {
    border: 2px dashed #ddd;
    color: #ddd;
    font-style: italic;
}

.zone-forwards {
    display: flex;
    flex-wrap: wrap;
}

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

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

.zone-forwards>* {
    flex: 1 1 40%;
    padding: 1px;
}


/* Footer */

footer {
    border-top: 1px solid #ddd;
    color: #111;
    text-align: center;
    padding: 10px 0;
    margin-top: 10px;
}

footer a {
    color: #0069d6;
}

/* diy */

#wan4_i,
#wan6_i {
    vertical-align: top;
    width: 50px !important;
}

/* login */
body.node-main-login {
    background: rgba(0, 0, 0, 0.7);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    padding-top: unset;
}

body.node-main-login>header {
    background: none;
    border-bottom: none;
}

body.node-main-login>header .brand {
    display: none;
}

body.node-main-login .alert-message {
    z-index: 999;
}

.node-main-login>.container>form {
    width: 20rem;
    display: inline-block;
    padding: 1rem 1rem;
    border-radius: .375rem;
    text-align: center;
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
}

.node-main-login>.container>form .errorbox {
    color: red;
}

.node-main-login>.container>form>.cbi-map>h2 {}

.node-main-login>.container>form input[name='luci_username'],
.node-main-login>.container>form input[name='luci_password'] {
    background: unset;
    color: #000;
}

.node-main-login>.container>form>.cbi-map>.cbi-section {
    display: inline-block;
}

.node-main-login>.container>footer {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    margin-top: 60px;
    display: none;
}

.node-main-login>.container>form .cbi-page-actions {
    text-align: center !important;
}

.node-main-login>.container .cbi-button-apply {
    width: 100% !important;
}

.node-main-login>.container .cbi-button-reset {
    display: none;
}

/* luci18 */
.cbi-section-table-titles.named::before {
    content: attr(data-title) " ";
    display: table-cell;
    padding: 5px 3px !important;
    line-height: 18px;
    font-weight: bold;
    vertical-align: middle;
    color: #811;
}

.cbi-section-table-descr.named::before {
    content: attr(data-title) " ";
    display: table-cell;
    padding: 10px 10px 9px;
    line-height: 18px;
    font-weight: bold;
    vertical-align: middle;
}

.cbi-section-table-row[data-title]::before {
    border-top: 1px solid #a9b1bb26;
    content: attr(data-title) " ";
    display: table-cell;
    padding: 10px 10px 9px;
    line-height: 18px;
    font-weight: bold;
    vertical-align: middle;
}

/* luci 19 */
.node-main-login>header .nav {
    display: none;
}

body.modal-overlay-active {
    overflow: hidden;
    height: 100vh;
}

body.modal-overlay-active #modal_overlay {
    visibility: visible;
    left: 0;
    right: 0;
    opacity: 1;
}

body.modal-overlay-active #modal_overlay>.modal {
    align-items: center;
    box-shadow: 0 0 3px #444;
    display: flex;
    flex-wrap: wrap;
    max-height: unset;
    max-width: unset;
    min-height: 32px;
    min-width: 270px;
    /* background: linear-gradient(to bottom, #fceec1, #eedc94) repeat-x !important; */
    border-radius: 3px;
    padding: 1em;
    margin: 0;
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%, -15%);
}

#modal_overlay {
    visibility: hidden;
    position: fixed;
    top: 0;
    bottom: 0;
    left: -10000px;
    right: 10000px;
    background: rgba(0, 0, 0, 0.7);
    z-index: 900;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    transition: opacity .125s ease-in;
    opacity: 0;
}

#modal_overlay>.modal.uci-dialog,
#modal_overlay>.modal.cbi-modal {
    max-width: 900px;
}

/*.modal.alert-message.notice {
    position: absolute;
    padding: 15px;
    margin-bottom: 10px;
    background: linear-gradient(to bottom, #fceec1, #eedc94) repeat-x;
    border: 1px solid rgba(0, 0, 0, .1);
    border-width: 2px 0;
}*/

.modal>* {
    flex-basis: 100%;
    /* line-height: normal; */
    margin-bottom: .5em;
    max-width: 100%;
}

#modal_overlay .modal>* {
    flex-basis: 100%;
    /* line-height: normal; */
    margin-bottom: .5em;
}

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

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

.tabs>li:not(.active),
.cbi-tabmenu>.cbi-tab-disabled {
    color: #999;
}

.cbi-dynlist {
    height: auto;
    min-height: 30px;
    display: inline-flex;
    flex-direction: column;
}

.cbi-dropdown:not(.btn):not(.cbi-button),
.cbi-dynlist {
    min-width: 210px;
    max-width: 400px;
    width: auto;
    background: white;
    /* border: 1px solid #ccc; */
    border-radius: 5px;
    box-sizing: border-box;
    /* padding: 0 0.4em !important; */
}

.cbi-dynlist>.item {
    margin-bottom: 4px;
    box-shadow: 0 0 2px #ccc;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    position: relative;
    pointer-events: none;
    padding: 2px 2em 2px 10px;
}

.cbi-dynlist>.item::after {
    content: "×";
    position: absolute;
    display: inline-flex;
    align-items: center;
    top: -1px;
    right: -1px;
    bottom: -1px;
    border: 1px solid #ccc;
    border-radius: 0 3px 3px 0;
    font-weight: 700;
    color: #c44;
    pointer-events: auto;
    padding: 0 6px;
}

.cbi-dynlist>.add-item,
.td.cbi-section-actions>* {
    /* display: flex; */
}

.cbi-dynlist>.add-item>input,
.cbi-dynlist>.add-item>button {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cbi-dropdown.btn>.open,
.cbi-dropdown.cbi-button>.open {
    margin-left: .5em;
    border-left: 1px solid;
    padding: 0 .5em;
}

.cbi-dropdown.btn>ul:not(.dropdown),
.cbi-dropdown.cbi-button>ul:not(.dropdown) {
    margin: 0 0 0 13px !important;
}

.btn.primary,
.cbi-button-action.important {
    color: #fff;
    background: #0069d6;
    border: 1px solid #0069d6;
}

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

.cbi-progressbar {
    border: 1px solid #ccc;
    border-radius: 3px;
    position: relative;
    min-width: 170px;
    height: 20px;
    background: #f9f9f9;
    margin: 4px 0;
}

.cbi-progressbar>div {
    background: #90c0e0;
    height: 100%;
    transition: width .25s ease-in;
    width: 0%;
}

.cbi-progressbar::after {
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    left: 0;
    text-align: center;
    text-shadow: 0 0 2px #fff;
    content: attr(title);
    white-space: pre;
    overflow: hidden;
    text-overflow: ellipsis;
}

header [data-indicator] {
    padding: 1px 3px 2px;
    font-size: 9.75px;
    font-weight: bold;
    color: #fff !important;
    text-transform: uppercase;
    white-space: nowrap;
    background-color: #bfbfbf;
    border-radius: 3px;
    text-shadow: none;
    margin-left: .4em;
}

header [data-indicator][data-style="active"] {
    background-color: #62cffc;
}