html{
    font-size: 14px;
    min-height: 100vh;
}
@media only screen and (max-width: 1280px){
    html{
        font-size: 12px;
    }
}
body{
    font-family: "Arial", "Microsoft YaHei", "黑体", "宋体", sans-serif;
}

.blockquote .lead{
    font-weight: normal;
    color: #424242;
    font-size: 16px;
}

.navbar.fixed-top.navbar-dark.bg-dark{
    background-color: #1e1b29 !important;
}
.navbar.fixed-top.navbar-dark.bg-dark .navbar-collapse{
    background-color: #1e1b29 !important;
    -ms-flex-item-align: center!important;
    align-self: stretch;
}
.navbar.fixed-top.navbar-dark.bg-dark .navbar-collapse > .navbar-nav{
    -ms-flex-item-align: center!important;
    align-self: stretch;
}
.navbar.fixed-top *:focus{
    outline: 0;
}
.navbar.fixed-top .navbar-nav > .nav-item.disabled{
    pointer-events: none;
}
.navbar.fixed-top .navbar-nav > .nav-item.disabled > .nav-link{
    color: rgba(255,255,255,.2);
}
.navbar.fixed-top .navbar-nav > .nav-item > .nav-link:hover,
.navbar.fixed-top .navbar-nav > .nav-item > .nav-link:focus{
    background-color: rgba(255, 255, 255, .1);
    color: white;
}
.navbar.fixed-top.navbar-dark .navbar-nav .active > .nav-link{
    background-color: rgba(255, 255, 255, .1);
}

.navbar.fixed-top  .dropdown-menu {
    background-color: #1e1b29;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    max-width: 320px;
    padding: 0;
}
.navbar.fixed-top  .dropdown-menu .dropdown-item {
    color: rgba(255, 255, 255, .8);
    padding: 16px 55px 16px 35px;
}
.navbar.fixed-top  .dropdown-menu .dropdown-item.disabled {
    cursor: not-allowed;
    color: rgba(255, 255, 255, .5);
}
.navbar.fixed-top  .dropdown-menu .dropdown-divider {
    margin: 0;
}
.navbar.fixed-top  .dropdown-menu .dropdown-item:not(.disabled):hover,
.navbar.fixed-top  .dropdown-menu .dropdown-item:not(.disabled):focus{
    background: rgb(60, 91, 121) !important;
    color: #FFF;
}

.navbar.fixed-top,
.navbar.fixed-top + .navbar-fixed-top-secondary{
    min-height: 50px;
}
.navbar.fixed-top + .navbar-fixed-top-secondary{
    margin-bottom: 1.5rem;
}
.navbar.fixed-top.run-top + .navbar-fixed-top-secondary{
    min-height: 90px;
}

@media (min-width: 576px) {
    .navbar.fixed-top{
        height: 70px;
        padding-top: 0;
        padding-bottom: 0;
    }
    .navbar.fixed-top + .navbar-fixed-top-secondary{
        height: 70px;
    }

    .navbar.fixed-top.run-top{
        height: 90px;
    }
/*     .navbar.fixed-top.run-top + .navbar-fixed-top-secondary{ */
/*         height: 90px; */
/*     } */
}

nav.navbar .font-logo{
    font-size: 37px;
    line-height: 39px;
    color: #6b7682;
}
nav.navbar .navbar-date{
    font-size: 19px;
    padding: 4px 0;
    border-bottom: 1px solid #555;
    margin-bottom : 0;
}
nav.navbar [class^="fa fa-digit"]{
    margin:0 -3px;
}
.navbar.navbar-dark,
.navbar.navbar-dark .nav-item .dropdown-menu{
    background: #1e1b29;
}
.navbar.navbar-dark .nav-item .nav-link,
.navbar.navbar-dark .nav-item .dropdown-item {
    color: rgba(255, 255, 255, .7);
}
.navbar.navbar-dark .nav-item .nav-link:hover,
.navbar.navbar-dark .nav-item.show,
.navbar.navbar-dark .nav-item.active .nav-link,
.navbar.navbar-dark .nav-item.active .nav-link:focus,
.navbar.navbar-dark .nav-item .dropdown-item:hover{
    background-color: rgba(255, 255, 255, .1);
    color: #EEEEEE;
}
nav.navbar .navbar-name{
    color: rgba(255, 255, 255, .7);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    margin: 0;
    padding: 5px 0;
}
.navbar .nav-link.d-flex .fa{
    margin-right: .5rem;
}
.navbar .text-info{
    color: #00c0ef !important;
}






.svg-logo {
    height: 37px;
    width: 160px;
}

.loading-mask{
    /*height: 100%;*/
    width: 100%;
    /*position: absolute;*/
    overflow: hidden;
    text-align: center;
    z-index: 2000;
}
.loading-mask:before{
    content: '';
    clear: both;
}
.loading-mask-body{
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}
.loading-mask-body .loading-mask-text{
    font-size: 1.8rem;
    margin: 0;
}
.loading-mask .spinner {
    width: 2rem;
    height: 2rem;
    position: relative;
}
.loading-mask .double-bounce1,
.loading-mask .double-bounce2 {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #0384ff;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;

    -webkit-animation: bounce 2.0s infinite ease-in-out;
    animation: bounce 2.0s infinite ease-in-out;
}
.loading-mask .double-bounce2 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}
@-webkit-keyframes bounce {
    0%, 100% { -webkit-transform: scale(0.0) }
    50% { -webkit-transform: scale(1.0) }
}
@keyframes bounce {
    0%, 100% {
        transform: scale(0.0);
        -webkit-transform: scale(0.0);
    } 50% {
          transform: scale(1.0);
          -webkit-transform: scale(1.0);
      }
}

#processing-mask{
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    background: rgba(128,128,128,.5);
}
#processing-mask .loading-mask-body{
    margin-top: 12rem;
    padding: 3rem;
    background: rgba(2558, 255, 255, .7);
    box-shadow: 0 0 48px rgba(255, 255, 255, .3);
}
#processing-mask .loading-mask-body .loading-mask-text{
    font-size: 3rem;
}
#processing-mask .spinner {
    width: 4rem;
    height: 4rem;
}
td[data-cell-editor=true]:after {
    content: '\f058';
    float: right;
    font-family: 'font-easymoo' !important;
    color: #BDBDBD;
}
.cell-changed{
    background: #ffc107a0;
    border-bottom: #ffc107 solid 2px !important;
}


/* stack menu */
.stack-menu{
    padding: 0;
    background-color: #f9f7f6;
    border-right: 1px solid #DDDDDD;
    display: flex;
    flex-direction: column;
    z-index: 99;
}
.stack-menu.left{
    margin-right:10px;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.stack-menu.full-screen{
    min-height: calc(100vh - 71px);
    position: sticky;
    top: 70px;
}
.stack-menu-item {
    display: flex;
    flex-direction: row;
    -ms-flex-align: center!important;
       align-items: center;
    border-bottom: 1px solid #DDDDDD;
    color: #555555;
    position: relative;
    padding: 1rem 3rem 1rem 1rem;
    cursor: pointer;
    -webkit-transition: background .5s linear;
    -o-transition: background .5s linear;
    transition: background .5s linear;
}
.stack-menu-item:hover {
    animation: menu-item-hover .8s;
    -moz-animation: menu-item-hover .8s;
    -webkit-animation: menu-item-hover .8s;
    -o-animation: menu-item-hover .8s;
    text-decoration: none;
}
.stack-menu-item:focus{
    text-decoration: none;
}
.stack-menu .icon-box{
    color: #a7a7a7;
    font-size: 1.6rem;
    flex-basis: 3rem;
    flex-grow: 0;
    flex-shrink: 0;
    margin-right: 1rem;
    display: inline-flex;
    justify-content: center;
}
.stack-menu-divider .icon-box{
    flex-basis: 1.6rem;
}
.stack-menu .content-box{
    width: 100%;
    margin-right: 1rem;
}
.stack-menu-item.active:after{
    content: '\f078';
    font-family: 'font-easymoo';
    color: #0088cc;
    font-size: 30px;
    position: absolute;
    right: 5px;
    top: calc(50% - 26px);
}
.stack-menu-title{
    font-size: 1.5rem;
    font-weight: 500;
    color: #222222;
}
.stack-menu-item .content-box>p.text-muted{
    white-space: nowrap;
    text-overflow:ellipsis;
    overflow: hidden;
}
.stack-menu-title small{
    font-size: 14px;
    font-style: italic;
    color: #777777;
}
.stack-menu-divider{
    background: #f1f1f1;
    border-bottom: 1px solid #eaeaea;
    padding: .8rem 1rem;
    position: relative;
    display: flex;
    align-items: center;
    color: #bbb;
}
.stack-menu-divider .stack-menu-title{
    margin-top: 4px;
    color: #bcbcbc;
}
@keyframes menu-item-hover{
    0%   {transform: translate(0px)}
    70%  {transform: translate(-4px)}
    100% {transform: translate(0px)}
}
@-moz-keyframes menu-item-hover{ /* Firefox */
    0%   {transform: translate(0px)}
    70%  {transform: translate(-4px)}
    100% {transform: translate(0px)}
}
@-webkit-keyframes menu-item-hover{ /* Safari 和 Chrome */
    0%   {transform: translate(0px)}
    70%  {transform: translate(-4px)}
    100% {transform: translate(0px)}
}
@-o-keyframes menu-item-hover{ /* Opera */
    0%   {transform: translate(0px)}
    70%  {transform: translate(-4px)}
    100% {transform: translate(0px)}
}
/* end stack menu */

/* begin Stats Counter */
.stats-counter-sec {
    margin-top: 30px;
    padding-right: 0;
    width: 100%;
}
.stats-counter-cover {
    padding:0;
}
.stats-counter {
    display: block;
    background: #f8f8f8;
    overflow: hidden;
    text-align: center;
    border-left: 1px #ecedf0 solid;
    border-top: 1px #ecedf0 solid;
}
.stats-counter-sec li.stats-counter-cover:nth-last-child(1) > a.stats-counter{
    border-right: 1px #ecedf0 solid;
}
.stats-counter:hover,
.stats-counter:focus {
    text-decoration: none;
    background: #fbfbfb;
}
.stats-counter.active {
    background: #fff;
    border-color: #aeb9bf;
}
.stats-counter.active:before {
    content: '';
    position: absolute;
    width: 1px;
    height: 100%;
    right: 0;
    top: 0;
    background: #aeb9bf;
    z-index: 99;
}
.stats-counter:first-of-type.active:before {
    right: -1px;
}
.stats-counter.active:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: -1px;
    background: #fff;
}
.stats-counter >h3 {
    color: #777777;
    font-family: Lato;
    font-size: 13px;
    letter-spacing: 0.3px;
    line-height: 10px;
    margin: 20px 0 15px;
}
.stats-counter > span {
    color: #333333;
    height: 25px;
    font-size: 24px;
    font-weight: 600;
    line-height: 24px;
    margin-bottom: 11px;
    margin-top: -2px;
    display: block;
}
.stats-counter span.unit {
    margin-left: 6px;
    font-size: .5em;
    color: #777777;
}
.stats-counter > i {
    -webkit-border-radius: 50%;
       -moz-border-radius: 50%;
        -ms-border-radius: 50%;
         -o-border-radius: 50%;
            border-radius: 50%;
    line-height: 30px;
    width: 30px;
}
.stats-counter > h6 {
    border-top: 1px solid #f5f5f5;
    color: #777;
    font-size: 14px;
    margin: -15px 0 0;
    padding: 22px 0 17px;
}
.stats-content {
    padding: 2rem 1rem;
    border : 1px solid #aeb9bf;
}
/* end Stats Counter */


/* suggest control */
.suggest-dropdown{
    background: #ffffff;
    border-radius: 0;
    border: 1px solid rgba(0,0,0,.15);
    box-shadow: 0 0 2px rgba(80, 168, 208, 0.7);
}
.suggest-pagination{
    background: #f7f7f9;
    color : #9E9E9E;
    display: flex;
    align-content: flex-end;
    justify-content: space-between;
    padding: 0.5rem 1rem;
}
.suggest-dropdown .suggest-pagination> p{
    margin: 0;
}
/* suggest control end */


/* begin highchart */
/* not to cut off tooltip when chart in table cell */
table .highcharts-container{
    overflow:visible !important;
}
table .highcharts-container:hover{
    z-index : 1 !important;
}
table .highcharts-container svg{
    overflow:visible !important;
}
.highcharts-container, .highcharts-container svg { width: 100% !important; }
/* end highchart */


.text-indent{
    text-indent: 2em;
}
hr.gradient{
    background-image: linear-gradient(to right, transparent, #DBDBDB, transparent);
    border: 0;
    height: 1px;
    width : 100%;
}
blockquote.blockquote > h3:before{
    content: "\f063";
    font-family: 'font-easymoo' !important;
    margin-right : 8px;
}
button[form-query-button]:before{
    content: "\e9e0";
    font-family: 'font-easymoo' !important;
    line-height: 1;
}
@media (min-width: 992px){
    .modal-xlg {
        max-width: 1280px;
    }
}
.nodata{
    color: #868e96;
}
.nodata:before{
    content:'-';
}
.container-fluid > .breadcrumb{
    margin-left: -15px;
    margin-right: -15px;
    padding-left: 18px;
}

table.content-no-wrap td,
table.content-no-wrap th{
    white-space: nowrap;
}
/* we don't need custom-select break from-group multi-line*/
.form-inline > .form-group > .custom-select{
    width: auto;
}
input.form-control.form-control-line{
    border: 0;
    border-bottom: 1px solid #ced4da;
    padding: .2rem;
    height: auto;
}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
.width-2{
    width: 2em;
}
.width-3{
    width: 3em;
}
.width-4{
    width: 5em;
}
.width-5{
    width: 5em;
}
.width-6{
    width: 6em;
}
.width-7{
    width: 7em;
}
.width-8{
    width: 8em;
}
.width-9{
    width: 9em;
}
.width-10{
    width: 10em;
}
.line-clamp-2{
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box !important;
    overflow: hidden;
}

/* end special element */

/* begin map */
.map-container {
    position: relative;
    overflow: hidden;
    width: 100%;
}
.map-container .map-toolbar {
    display: none;
    position: absolute;
}
.map-container .map-toolbar .btn.drag-source {
    background-color: rgba(255, 255, 255, .6);
    border-color: rgba(204, 204, 204, .6);
    color: #0073b7;
}
.map-container .map-toolbar .btn.drag-source .fa.bg {
    color: #ddd;
}
.map-container .map-toolbar .btn.drag-source .fa.fg {
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
    position: absolute;
    left: 10px;
    top : 5px;
}
.map-container .map-toolbar .btn.drag-source:hover .fa.fg,
.map-container .map-toolbar .btn.drag-source:focus .fa.fg{
    font-style: italic;
    left: 15px;
}
.map-container .drag-content {
    position: absolute;
    display: none;
}
.map-container .drag-content .drag-info-top {
    position: absolute;
    top : -20px;
    width: 100%;
}
.map-container .map-sidebar{
    position : absolute;
    left:0;
    top:0;
    height: 100%;
    width : 120px;
    background-color: rgba(255, 255, 255, .8);
    border-color: rgba(204, 204, 204, .6);
    padding: 1rem;
}
/* end map */

/* for select 2 bootstrp theme */
.select2-container--bootstrap.select2-container--focus .select2-selection,
.select2-container--bootstrap.select2-container--open .select2-selection{
    box-shadow: none;
}
.select2-container--bootstrap .select2-selection{
    border-radius: 0;
}
.select2-container--bootstrap .select2-results__group{
    font-size: inherit;
    background: #FAFAFA;
}
.select2-container--bootstrap .select2-results>.select2-results__options {
/*     max-height: 350px; */
}
.select2-container--bootstrap .select2-results__option .select2-results__option{
    padding-left : 3rem;
}
.select2-container--bootstrap .select2-selection--single{
    padding: .375rem .75rem;
    height: calc(2.25rem + 2px);
}
.select2-container--bootstrap .select2-results__option--highlighted[aria-selected]{
    background-color: #0088CC;
}

.form-control.is-invalid + .select2 .select2-selection {
    border-color : #dc3545;
}
.form-control.is-invalid + .select2 .select2-selection:focus{
    border-color : #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220,53,69,.25);
}
.form-control.is-valid + .select2 .select2-selection{
    border-color : #28a745;
}
.form-control.is-valid + .select2 .select2-selection:focus{
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40,167,69,.25);
}

/* override */
.gmnoprint{
    display: none !important;
}
/* 由于设置了根字体大小为14px, 导至radio在check状态时圆点位置不对称，需手工指定为偶数大小 */
.custom-control-label::after{
    background-size: 8px auto;
}
.jumbotron{
    color: #757575;
}
.table thead th{
    border-bottom-width: 1px;
}
.btn-light{
    border: 1px solid #dee2e6;
}
.btn.btn-light,
.badge.badge-light{
    border: 1px solid #dee2e6;
}
button{
    white-space: nowrap;
}
.table-light,
.table-light>td,
.table-light>th{
    background-color: #f9fafb;
}
.table-light tbody+tbody, .table-light td, .table-light th, .table-light thead th {
    border-color: #dee2e6;
}
.table td, .table th {
    vertical-align: middle;
}

.validator-wrapper .is-invalid~.invalid-feedback,
.validator-wrapper .is-invalid~.invalid-tooltip,
.validator-wrapper .was-validated :invalid~.invalid-feedback,
.validator-wrapper .was-validated :invalid~.invalid-tooltip{
    display: inline-block;
}
.form-control.is-valid, .was-validated .form-control:valid{
    background-image: none;
    padding-right: 0.75rem;
}
.form-control.is-valid.form-control-lg,
.was-validated .form-control.form-control-lg:valid{
    padding-right: 1rem;
}


@keyframes decrease-100{
    to {width : 0%;}
}