body {
    font-size: .925rem;
    color: #363636;
    -webkit-font-smoothing: subpixel-antialiased;
}
pre {
    white-space: normal;
}
[disabled] {
    cursor: not-allowed;
}
.custom-control-input:disabled ~ .custom-control-label::before,
fieldset[disabled] .custom-control-input ~ .custom-control-label::before {
    cursor: not-allowed;
}

.btn.disabled,
.btn:disabled {
    background-color: rgba(0,0,0,.3)!important;
}
.form-control:disabled, .form-control[readonly] {
    color: rgba(0,0,0,.3);
}

a.brand,
div.brand {
    display: flex;
    align-items: center;
    flex-grow: 0;
    flex-shrink: 0;
    line-height: 1;
}

.layout-sidenav .brand {
    padding: 0 1.5rem;
}

.default-style .layout-sidenav .brand {
    height: 60px;
}

.material-style .layout-sidenav .brand {
    height: 70px;
}

.brand-logo {
    display: flex;
    overflow: hidden;
    align-items: center;
    flex-grow: 0;
    flex-shrink: 0;
    justify-content: center;
    border-radius: 100%;
    width: 30px;
}

.sidenav-vertical .sidenav-menu {
    padding-top: 0;
}
.sidenav.bg-dark .sidenav-item.active>.sidenav-link {
    font-weight: 600;
}
@media (min-width: 992px) {
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .brand {
        padding: 0;
    }
    .layout-collapsed:not(.layout-offcanvas):not(.layout-fixed-offcanvas) .layout-sidenav:not(:hover) .brand-logo {
        margin-right: 20px;
        margin-left: 20px;
    }
    /* Hide sidenav toggle */
    .layout-offcanvas .layout-sidenav .layout-sidenav-toggle,
    .layout-fixed-offcanvas .layout-sidenav .layout-sidenav-toggle {
        display: none;
    }
    .layout-offcanvas .layout-navbar .layout-sidenav-toggle,
    .layout-fixed-offcanvas .layout-navbar .layout-sidenav-toggle {
        display: block !important;
        margin-right: 1.5rem !important;
    }
    [dir=rtl].layout-offcanvas .layout-navbar .layout-sidenav-toggle,
    [dir=rtl].layout-fixed-offcanvas .layout-navbar .layout-sidenav-toggle {
        margin-right: 0 !important;
        margin-left: 1.5rem !important;
    }

    .layout-navbar .breadcrumb {
        margin-bottom: 0;
        font-size: .9em;
    }
}

@media (max-width: 991px) {
    .layout-navbar .breadcrumb {
        display: none;
    }
}

.layout-1 .layout-sidenav .brand,
.layout-1 .layout-sidenav .brand + .sidenav-divider,
.layout-reversed .layout-2 .layout-sidenav .brand {
    display: none !important;
}

.layout-1 .layout-navbar .brand,
.layout-reversed .layout-2 .layout-navbar .brand {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}


@media (min-width: 992px) {
    .layout-1 .layout-navbar .layout-sidenav-toggle,
    .layout-reversed .layout-2 .layout-navbar .layout-sidenav-toggle {
        display: block !important;
        margin-right: 2rem !important;
        margin-left: .75rem !important;
    }
    [dir=rtl] .layout-1 .layout-navbar .layout-sidenav-toggle,
    [dir=rtl].layout-reversed .layout-2 .layout-navbar .layout-sidenav-toggle {
        margin-right: .75rem !important;
        margin-left: 2rem !important;
    }
}

.sidenav-horizontal .brand,
.sidenav-horizontal .brand + .sidenav-divider {
    display: none !important;
}

.layout-navbar.navbar {
    padding-top: 0;
    padding-bottom: 0;
    height: 60px;
}


/* *****************************************************************************
 * Navbar
 */

.navbar-messages .dropdown-toggle,
.navbar-notifications .dropdown-toggle,
.navbar-user .dropdown-toggle,
.navbar-messages.b-nav-dropdown .nav-link,
.navbar-notifications.b-nav-dropdown .nav-link,
.navbar-user.b-nav-dropdown .nav-link {
    white-space: nowrap;
}

.navbar-messages .dropdown-menu,
.navbar-notifications .dropdown-menu {
    overflow: hidden;
    padding: 0;
}

@media (min-width: 992px) {
    .navbar-messages .dropdown-menu,
    .navbar-notifications .dropdown-menu {
        margin-top: .5rem;
        width: 22rem;
    }

    .navbar-user .dropdown-menu {
        margin-top: .25rem;
    }
}


/* *****************************************************************************
 * Content
 */

html:not(.material-style) .material-style-only {
    display: none !important;
}

.rtl-only {
    display: none !important;
    text-align: left !important;
    direction: ltr !important;
}

[dir=rtl] .rtl-only {
    display: block !important;
}

/* *****************************************************************************
 * Layouts
 */
.row-layout > [class^="col"] + [class^="col"] {
    margin-top: 1em;
}
@media (min-width: 768px) {
    .row-layout > [class^="col"]:not(:last-child) {
        padding-right: 0;
    }
    .row-layout > [class^="col"] + [class^="col"] {
        margin-top: 0;
    }
}

/* *****************************************************************************
 * Customer Style
 * ******************************************************************************/

.card-body.with-row-line {
    padding-top: 0;
    padding-bottom: 0;
}
.card-body.with-row-line > .row {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.card-body.with-row-line > .row + .row {
     border-top: 1px solid #f0f2f0;
 }
 .card-body.with-row-line > .row label,
 .card-body.with-row-line > .row p {
     margin-bottom: 0;
 }
 .common-entry h5 {
     font-size: 1.2rem;
     margin-top: .75rem;
     margin-bottom: 1rem;
     letter-spacing: -1px;
 }
 .common-entry h5 i {
     margin-right: .3rem;
 }
 .common-entry ul {
     margin: 0;
     padding-left: 1.5rem;
 }
 .common-entry ul > li {
     color: #999;
 }
 .common-entry ul > li + li {
     margin-top: .5rem;
 }
 .common-entry ul > li > a {
     color: #363636;
 }
 .common-entry ul > li > a:hover {
     color: #1e70cd;
 }
 .most-common-link-wrap > a {
     display: flex;
     justify-content: center;
     align-items: center;
     padding-top: .75rem;
     padding-bottom: .75rem;
     width: 80%;
     color: currentColor;
     border: 1px solid #ccc;
     border-radius: .25rem;
     transition: .3s;
 }
 .most-common-link-wrap > a:hover {
     border-color: #1e70cd;
     color: #1e70cd;
 }
 .most-common-link-wrap > a + a {
     margin-top: .75rem;
 }
 .corner-mark {
     position: relative;
 }
 .corner-mark::before,
 .corner-mark::after {
     position: absolute;
 }
 .corner-mark::after {
     content: attr(data-mark-text);
     top: 0;
     right: 1px;
     font-size: .7rem;
     color: #fff;
 }
 .corner-mark::before {
     content: '';
     top: -1px;
     right: -1px;
     border-top: 14px solid #02BC77;
     border-right: 14px solid #02BC77;
     border-bottom: 14px solid transparent;
     border-left: 14px solid transparent;
 }

.text-top,
 table td.text-top {
     vertical-align: top;
 }
.hot-tool-card {
    margin-bottom: 15px;
}
.hot-tool-card > .card-body {
    padding: 15px;
    min-height: 110px;
}
.hot-tool-card > .card-body .card-title {
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hot-category-table tbody {
    display: block;
}
.hot-category-table tbody tr {
    position: relative;
    display: flex;
}
.hot-category-table tbody tr td {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
}
.tool-item-wrap {
    border: 1px dashed #ddd;
    background-color: #f8f8f8;
    padding: 15px;
    margin: 6px 0;
}
.tool-summary {
    font-size: .9rem;
    line-height: 1.8;
    height: 125px;
    padding: 0 5px;
    overflow: hidden;
}

.card + .card {
    margin-top: 15px;
}

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

table label {
    margin-bottom: 0;
}

.alert > ul,
.alert > ol {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 20px;
}
.alert > ul > li.list-error-title {
    list-style: none;
    position:relative;
    left: -18px;
}

.fixed-alert {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}
.fixed-alert .alert {
    border-radius: 0;
    border: 0;
}

.app-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    margin: 0 -2rem 1rem -2rem;
    padding: 1.5rem 2rem;
    border-bottom: 1px solid rgba(24,28,33,0.06);
}
.app-title h1 {
    font-size: 1.5rem;
    margin-bottom: 0;
}
.card .pagination {
    margin-bottom: 0;
}
.card .pagination .page-item {
    font-size: .8rem;
    line-height: 1;
}
.card .pagination .page-item a {
    padding: .375rem .25rem;
    min-width: calc(1.5rem + 2px);
}
h2.card-header {
    font-size: 1rem;
}
h2.card-header .card-header-elements {
    font-weight: normal;
}
.card-header-elements-sm {
    font-size: .8em;
}
.card-body.with-editor {
    padding: 0;
}
.card-alert-body {
    padding: 0;
}
.card-alert-body > .alert {
    margin: 0;
    border: 0;
    border-radius: 0;
}
.card-footer a:not(.d-none) + button,
.card-footer a:not(.d-none) + .button,
.card-footer button:not(.d-none) + a,
.card-footer .button:not(.d-none) + a,
.card-footer button:not(.d-none) + button,
.card-footer button:not(.d-none) + .button,
.card-footer .button:not(.d-none) + button,
.card-footer .button:not(.d-none) + .button {
    margin-left: 30px;
}
.row  > label {
    font-weight: 600;
}
.required:after {
    content: '*';
    position: absolute;
    margin-left: 2px;
    margin-top: -2px;
    color: #e86d34;
}
.user-role-text {
    font-size: 1rem;
}

code {
    color: #e83e8c;
    background-color: #f9f9fe;
    border-radius: 2px;
    padding: 3px 6px;
    font-size: .85em;
}

/* uploader area */
.user-face-uploader-wrap {
    border-top: 1px solid rgba(24,28,33,0.06);
    margin-top: 15px;
    padding-top: 20px;
}
.thumbnail-container {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px dashed #ccc;
    background-color: #fafafd;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}
.thumbnail-container.square {
    width: auto;
}
.uploadable-area {
    cursor: pointer;
}
.thumbnail-container.uploadable-area:hover {
    border-color: #bbb;
    background-color: #f8f8f8;
}
.thumbnail-size {
    color: #d8d8d8;
    text-shadow: 1px 1px 0 #fff;
}
.uploader-container {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(24,28,33,0.06);
    text-align: center;
}
.upload-desc {
    color: #999;
    font-size: .9em;
    margin-top: 20px;
}

.text-body[href]:hover {
    color: #3c8ae2 !important;
}

.b1adge {
    padding: .4em .75em!important;
}
.article-excerpt {
    line-height: 1.8;
}
.article-excerpt > ol,
.article-excerpt > ul {
    margin-bottom: 1rem;
}
.article-excerpt > ul {
    list-style: disc;
}
.article-excer > *:last-child {
    margin-bottom: 0;
}
.article-tags > .badge {
    font-weight: bold;
    padding: .5em 1em;
    margin-right: .5em;
    margin-bottom: .75em;
}

/**
 * ReadMore 样式
 */
[data-readmore] {
    position: relative;
    overflow: hidden;
    max-height: 680px;
}
:not(.readmore-expanded)[data-readmore]::before {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 620px;
    height: 60px;
    background-color: transparent;
    background: linear-gradient(0deg, rgba(255,255,255,1), rgba(255,255,255,0));
}
[data-readmore-toggle] {
    display: block;
    text-align: center;
    margin-top: 20px;
}

.richtext-container {
    font-size: 1rem;
    line-height: 1.8;
    text-align: justify;
}
.richtext-container.article-content {
    font-size: .9rem;
}
.richtext-container pre[class*='language-'] {
    background-color: #f8f8fd;
    padding: 1rem;
}
.richtext-container pre[class*='language-'] code {
    background: none;
    padding: 0;
    white-space: pre;
}
.richtext-container h2 {
    font-size: 1.8em;
    margin-top: 0;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(218,218,218,.5)
}
.richtext-container * ~ h2 {
    margin-top: 40px;
}
.richtext-container h3 {
    font-size: 1.4em;
    margin-top: 0;
}
.richtext-container * ~ h3 {
    margin-top: 30px;
}
.richtext-container a:hover {
    text-decoration: underline;
}
.richtext-container figure {
    text-align: center;
}
.richtext-container img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
.richtext-container figure figcaption {
    display: inline-block;
    text-align: center;
    color: #999;
    margin-top: 6px;
    border-bottom: 1px solid #e8e8e8;
}
.richtext-container blockquote {
    color: #666;
    background-color: #f9f8f5;
    font-size: .95em;
    font-weight: 300;
    padding: 20px 25px;
    margin-bottom: 30px;
}
.richtext-container blockquote p {
    margin-bottom: 0
}
.richtext-container blockquote p + p {
    margin-top: 10px;
}
.richtext-container p:last-child {
    margin-bottom: 0;
}
.text-original {
    display: inline-block;
    font-size: .8em;
    padding: 2px 8px;
    border: 1px solid #ddd;
    border-radius: 16px;
    line-height: 1.2;
    cursor: default;
}

/**************************** BEGIN - UPLOADIFIVE UI STYLE ************************/
.btn-upload {
    padding: .4rem 1rem;
    font-size: .85rem;
}
.uploadifive-button {
    width: inherit!important;
    height: inherit!important;
    line-height:inherit!important;
    cursor: pointer;
}
.uploadifive-button input[type=file] {
    cursor: pointer;
}
.queue-container {
  padding-left: 15px;
  padding-right: 15px;
}
.uploadifive-queue-item {
    position: relative;
    margin-bottom: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 12px;
    border: 1px solid #a3c293;
    border-radius: 2px;
    color: #6f976d;

}
.uploadifive-queue-item .progress {
    height: 6px;
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
}
.uploadifive-queue-item .close {
    position: absolute;
    right: 5px;
    top: 5px;
    font-size: 1em;
}
/**************************** END - UPLOADIFIVE UI STYLE ************************/

.bootbox .modal-header {
    padding-top: .9rem;
    padding-bottom: .9rem;
    background-color: #fcfcf8;
}
.bootbox .modal-title {
    font-size: .9rem;
    font-weight: 500;
}
.bootbox .close {
    font-weight: 300;
}
.bootbox-body h3 {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: .75rem;
}
.bootbox-body p {
    margin-bottom: .5rem;
}
.bootbox-body p:last-child {
    margin-bottom: 0;
}
.bootbox .modal-footer {
    padding-top: .6rem;
    padding-bottom: .6rem;
}
.bootbox .modal-footer .btn {
    padding: .325rem .875rem;
    font-size: .75rem;
}

.dialog-loading-text {
    text-align: center;
    font-size: 1.2em;
    padding-top: 10px;
    padding-bottom: 10px;
}
.confirm-icon {
    display: table-cell;
    vertical-align: top;
    padding-right: 25px;
    padding-left: 15px;
    font-size: 3em;
    opacity: .75;
}
.confirm-body {
    display: table-cell;
    vertical-align: middle;
    padding-top: 5px;
}
.confirm-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
}
.confirm-affix {
    color: #999;
    margin-top: 5px;
}
.action-title {
  font-size: 1.6em;
  margin-top: 15px;
  margin-bottom: 20px;
}
.action-title i {
  margin-right: 6px;
}
/**
 * tinymce
 */
.tox-tinymce {
    background-color: #f8f8f8!important;
    border-color: #ced4da!important;
    transition: border-color 0.3s;
}
.card-body.with-editor .tox-tinymce {
    margin: -1px;
}
.tox-tinymce.editor-focus {
    border-color: #b7b9b5!important;
}
.tox .tox-tbtn,
.tox .tox-tbtn--select {
    border: 1px solid transparent!important;
    border-radius: 2px!important;
    cursor: pointer;
}
.tox .tox-tbtn--enabled,
.tox .tox-tbtn:hover,
.tox .tox-tbtn--select:hover {
    background-color: #fff!important;
    border: 1px solid #ccc!important;
}
.tox .tox-tbtn svg {
    fill: #585858!important;
}
.tox .tox-tbtn:hover svg {
    fill: #222f3e!important;
}
.tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary {
    background-color: #f8f8f8!important;
}

/* pure css spinner */
.spinner {
    /* Spinner size and color */
    width: 1.2em;
    height: 1.2em;
    border: 2px solid;

    /* Additional spinner styles */
    animation: spinner 700ms linear infinite;
    border-bottom-color: transparent;
    border-right-color: transparent;
    border-radius: 100%;
    margin-right: 5px;
    margin-top: -4px;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
}

/* Animation styles */
@keyframes spinner {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


/* Optional — create your own variations! */
.spinner-thin {
    border-width: 1px;
}
.spinner-large {
    width: 5rem;
    height: 5rem;
    border-width: 6px;
}

.spinner-slow {
    animation: spinner 1.5s linear infinite;
}

.spinner-blue {
    border-top-color: #09d;
    border-left-color: #09d;
}