/* 基于bs和porto的重写, 以及组件的扩展/单元化工具等, 一般地不做颜色的处理 */
html{
	font-size: 14px;
}
body{
    font-family: Arial,'Times New Roman','Microsoft YaHei',SimHei;
}

.font-size-12{
    font-size: 12px !important;
}
.font-size-14{
    font-size: 14px !important;
}
.font-size-16{
    font-size: 16px !important;
}

.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;
}

.badge.badge-light,
.btn.btn-light{
    border: 1px solid #dee2e6;
}

.datetimepicker.dropdown-menu{
    font-size: .8rem;
}
.datetimepicker.dropdown-menu table th,
.datetimepicker.dropdown-menu table td{
    padding : .3rem;
}
.datetimepicker.dropdown-menu table thead th{
    border-bottom: 1px solid #828890;
}
.datetimepicker th.switch{
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
}

.modal-backdrop + .modal-backdrop{
    z-index: 1055;
}

.ui-pnotify .notification.alert-danger .ui-pnotify-text{
    white-space: pre;
    overflow-x: auto;
    font-family: Consolas;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
.custom-control-label::after{
    border: 1px solid transparent;
}

/* form upload with emupload plugin */
form.upload-form .upload-container{
    outline: 1px dashed #92b0b3;
    outline-offset: -10px;
    -webkit-transition: outline-offset .15s ease-in-out, background-color .15s linear;
    transition: outline-offset .15s ease-in-out, background-color .15s linear;
    background-color: #0000000f;
    position: relative;
    padding: 40px 20px;
    text-align: center;
}
form.upload-form .upload-container input[type=file]{
    display :none;
}
form.upload-form .upload-container label{
    max-width: 80%;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
}

.stretched-link.plugin-redo:hover:after{
    content: '点击重新选择文件';
    background-color: #000000a6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

.modal-dialog.modal-fullscreen{
    max-width: 95%;
}

.form-query.form-inline{
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
}
.form-query.form-inline .form-group{
    margin-bottom: 1rem;
}
.form-query.form-inline .form-group .custom-select,
.form-query.form-inline .form-group .form-control{
    width: auto;
    display: inline-block;
}
.form-query.form-inline .form-group{
    margin-right: 1.5rem;
}
.form-query.form-inline .form-group:last-child{
    margin-right: 0;
}

.form-query.form-inline .form-group > label{
    margin-right: 1rem;
    color: #212121;
}

hr.dashed{
    margin: 1rem 0;
    background: none;
    border-top: 1px dashed #eee;
}
.form-query.form-inline + hr.dashed{
    margin-top: .25rem;
}
.jumbotron.jumbotron-nodata{
    font-size: 2.4rem;
    line-height: 2;
}
caption{
    caption-side: top;
}


/* bs4.5 */
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px;
  }
}

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}
.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.flex-grow-1 {
  -ms-flex-positive: 1 !important;
  flex-grow: 1 !important;
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: auto;
    content: "";
    background-color: rgba(0,0,0,0);
}
.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.modal-dialog-scrollable {
  display: -ms-flexbox;
  display: flex;
  max-height: calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}

.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}
.modal-dialog-centered.modal-dialog-scrollable {
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
}

.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}

.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}
@media (min-width: 576px) {
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }
}
.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}
/* bs4.3 */



.custom-border-radius {
    border-radius: 35px !important;
    padding: 11px 30px !important;
}
.custom-border-radius.custom-border-radius-small {
    padding: 7px 17px !important;
    font-size: 12px;
}
.btn-outline.custom-border-width {
    border-width: 2px;
}


/* Add here all your CSS customizations */

@media (min-width: 992px) {
    html:not(.sticky-header-active) #header.header-transparent .header-nav-main nav > ul > li > a {
        color: #444;
    }
    html:not(.sticky-header-active) #header.header-transparent .header-nav-main nav > ul > li > a.dropdown-toggle:after {
        border-color: #444 transparent transparent transparent;
    }
}



html .btn-outline{
    border-width: 1px;
}
.list-inline>li {
    display: inline-block;
    padding-right: 5px;
    padding-left: 5px;
}

.pagination > li > a, .pagination > li > span{
    white-space: nowrap;
    text-overflow: ellipsis;
}
.page-item:first-child .page-link,
.page-item:last-child .page-link{
    border-radius: 0;
}

.body .main > section.section:last-child{
    margin-bottom: -50px;
}

body.gray{
    background-color: #eee;
}

.body.simple{
    background-color: #fff;
}
.body.simple #header .header-body{
    min-height: 0;
    border-bottom: 5px solid #222;
}
.body.simple #footer{
    margin-top: 0;
}
.body.simple .main{
    min-height: calc(100vh - 112px - 98px);
}
.body.simple #header .header-body .header-title{
    display: flex;
    align-self: flex-start;
    padding: 1.2rem 0;
    position: relative;
    flex-wrap: wrap;
}

.body.simple #header .header-body .header-title:after{
    content: ' ';
    width: 100%;
    height: 0;
    border-bottom: 5px solid #0088CC;
    position: absolute;
    left: 0;
    bottom: -5px;
    z-index: 99;
}
.body.simple #footer.light .footer-copyright{
    background-color: #eee;
    margin-top: 0;
}
.body-sign {
    display: table;
    margin: 0 auto;
    max-width: 580px;
    padding: 2rem 1rem;
    width: 100%;
}
.body-sign .center-sign {
    display: table-cell;
    padding-top: 20px;
}
.body-sign .panel-sign {
    background: transparent;
    position: relative;
}
.body-sign .panel-sign .panel-title-sign .title {
    display: inline-block;
    padding: 13px 17px;
    vertical-align: bottom;
    background-color: #0088CC;
    color: #fff;
}
.body-sign .panel-sign .card-body {
    background: #FFF;
    border-top: 5px solid #0088CC;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
    padding: 2rem 4rem;
}
@media (max-width: 575.98px) {
    .body-sign .panel-sign .card-body {
        padding: 1.5rem;
    }
}
.panel .card-body {
    background: #fdfdfd;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel {
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
}
/* override */


@media (max-width: 576px) {
    #header .header-logo.header-logo-text .h2{
        font-size: 1.8rem;
    }
}

#header .header-logo.header-logo-text{
    margin: 15px;
}
#header .header-logo.header-logo-text span{
    line-height: 40px;
    padding: 0 10px;
    border-left: 1px solid #777;
}
#header .header-logo img{
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}


.form-bordered .form-group {
    border-bottom: 1px solid #eff2f7;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
.help-block {
    color: #B1B1B1;
    font-size: 12px;
}
.form-control:focus {
    border-color: #33bbff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(0, 136, 204, 0.3);
}

/* Form - Input Birthday */
.input-birthday .form-control{
    display: inline-block;
    width: 70px;
}
.input-birthday .form-control:first-child{
    display: inline-block;
    width: 100px;
}

.table>tbody>tr>td,
.table>tbody>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>thead>tr>th{
    vertical-align: middle;
}
.table>thead>tr>th {
    border-bottom: 1px solid #828890;
}

/* modal login */
.login-toggle{
    position: absolute;
    top: 0;
    right: 0;
    width: 48px;
    height: 48px;
    cursor: pointer;
}
.login-toggle.website{
    background: url("../img/login-icon.png") -48px 0;
}
.login-toggle.wechat{
    background: url("../img/login-icon.png") 0 0;
}
#wechat-login-qrcode iframe{
    width : 350px;
}
/* modal login */


.modal-open {
    padding-right: 0px !important;
}

label.error{
    margin-top: -5px;
    margin-bottom: -5px;
    line-height : 1.2;
    font-size : 80%;
}
.validator-wrap{
    position: relative;
}
.validator-wrap.has-error + .help-block{
    margin-top: 25px;
}
.validator-wrap>label.has-error{
    position: absolute;
    left: 0;
    bottom: -25px;

    line-height : 1.2;
    font-size : 80%;
    color: #B94A48;
}
.form-group.validator-fail-group{
    padding-bottom : 15px;
}

/* article */
article.post-large .post-date {
    margin-left: -70px;
}
article.post .post-date{
    margin-top: 5px;
    border: 1px solid #E0E0E0;
}
.post-content h2 {
    font-size: 28px;
    font-weight: 400;
}
.blog-post .post{
    margin-bottom: 3rem;
    padding-bottom: 1.2rem;
}
.blog-post .post .post-date .month {
     padding: 5px 10px 4px;
 }
.post-content p{
    font-size: 16px;
    margin-bottom: 1rem;
}
.post-content img{
    max-width: 100%;
}

li[disabled],a[disabled] {
    cursor: not-allowed;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: .65
}

label.required:after{
    content : '*';
}
html .input-group>.input-group-append>.btn,
html .input-group>.input-group-append>.input-group-text,
html .input-group>.input-group-prepend>.btn,
html .input-group>.input-group-prepend>.input-group-text{
    border-radius: 0;
}


img{
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -ms-interpolation-mode: nearest-neighbor;
}

.img-thumbnail{
    image-rendering: -webkit-optimize-contrast;
}

.form-control{
    height: inherit;
}
.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;
}
.custom-select.is-invalid, .was-validated .custom-select:invalid{
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;
}
.custom-select.is-valid, .was-validated .custom-select:valid{
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;
}

.form-control.is-valid, .was-validated .form-control:valid,
.form-control.is-invalid, .was-validated .form-control:invalid{
    background-image: none;
    padding-right: 0.75rem;
}
.was-validated .form-control.form-control-lg:valid,
.form-control.is-valid.form-control-lg,
.was-validated .form-control.form-control-lg:invalid{
    padding-right: 1rem;
}


.article-content{
    min-height: 10rem;
}
.ke-content img.is-local{
    border: 2px #4CAF50 dashed
}
.ke-content{
    padding: 1rem;
}
.ke-content img{
    display: block;
    max-width: 100%;
}

.btn-group.btn-group-fill{
    display: -ms-flexbox!important;
    display: flex!important;
}
.btn-group.btn-group-fill > .btn{
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    text-align: center;
}
.text-enchance{
    text-shadow: 0px 0px 1px #424242 !important;
    color : #000;
}


#header{
    box-shadow: 0 0 1px #000a;
}
.placeholder-label{
    display: none;
}
.placeholder-enhance .form-group{
    padding-top: 1.2rem;
}
.placeholder-enhance .placeholder-label {
    display: block;
    position: absolute;
    opacity: 0;
    font-size: .85rem;
    transition: all .5s;
    margin: 0;
    font-style: italic;
    bottom: 100%;
    padding-bottom:.25rem;
}
.placeholder-enhance :placeholder-shown + .placeholder-label {
    visibility: hidden;
    z-index: -1;
}

.placeholder-enhance :not(:placeholder-shown) + .placeholder-label,
.placeholder-enhance :focus:not(:placeholder-shown) + .placeholder-label {
    visibility: visible;
    z-index: 1;
    opacity: .8;
}