.weight-500 {
    font-weight: 500 !important;
}

.weight-600 {
    font-weight: 600 !important;
}

.weight-700 {
    font-weight: 700 !important;
}

.weight-800 {
    font-weight: 800 !important;
}

.uppercase {
    text-transform: uppercase;
}

.lowercase {
    text-transform: lowercase;
}
.text-wrap {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.text-center{
    text-align:center!important;
}

.text-white {
    color: #fff !important;
}

.text-primary {
    color: #467fcf !important;
}

a.text-primary:hover, a.text-primary:focus {
    color: #2f66b3 !important;
}

.text-secondary {
    color: #868e96 !important;
}

a.text-secondary:hover, a.text-secondary:focus {
    color: #6c757d !important;
}

.text-success {
    color: #5eba00 !important;
}

a.text-success:hover, a.text-success:focus {
    color: #448700 !important;
}

.text-info {
    color: #45aaf2 !important;
}

a.text-info:hover, a.text-info:focus {
    color: #1594ef !important;
}

.text-warning {
    color: #f1c40f !important;
}

a.text-warning:hover, a.text-warning:focus {
    color: #c29d0b !important;
}

.text-danger {
    color: #cd201f !important;
}

a.text-danger:hover, a.text-danger:focus {
    color: #a11918 !important;
}

.text-light {
    color: #f8f9fa !important;
}

a.text-light:hover, a.text-light:focus {
    color: #dae0e5 !important;
}

.text-dark {
    color: #343a40 !important;
}

a.text-dark:hover, a.text-dark:focus {
    color: #1d2124 !important;
}

.text-body {
    color: #495057 !important;
}

.text-muted {
    color: #9aa0ac !important;
}

.text-black-50 {
    color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important;
}
.inline-block{
    display:inline-block!important;
}
.border-top {
    border-top: 1px solid #cacaca !important;
}
.border-bottom {
    border-bottom: 1px solid #cacaca !important;
}
.border-left {
    border-left: 1px solid #cacaca !important;
}
.border-right {
    border-right: 1px solid #cacaca !important;
}
.border-y {
    border-top: 1px solid #cacaca !important;
    border-bottom: 1px solid #cacaca !important;
}
.border-x {
    border-left: 1px solid #cacaca !important;
    border-right: 1px solid #cacaca !important;
}
.border {
    border: 1px solid #cacaca !important;
}

.bbs-main {
    /*border-top: 1px solid #cacaca;*/
    /*border-bottom: 1px solid #cacaca;*/
    padding: 20px 0;
    /*text-align: center;*/
}
.bbs-main-head {
    padding: 0 20px 20px 20px;
    border-bottom: 1px solid #cacaca;
    margin-bottom: 20px;
}
.bbs-main-footer {
    padding: 20px;
    padding-top:0;
}
.bbs-form {
    width: 100%;
    text-align: center;
}
.input-group {
    margin: 0 auto;
    padding: 10px;
}
.input-group label {
    width: 160px;
    display: inline-block;
    color: #8289a0;
    text-align: right;
    padding: 0 20px;
}
.input-group input,.input-group .input {
    width: 300px;
    display: inline-block;
    vertical-align: middle;
    line-height: 38px;
    color: #8289a0;
    background: #efeff2;
    border: 1px solid #cacaca;
    height: 40px;
    margin: 0 1px;
    text-indent: 20px;
}
.btn {
    display: inline-block;
    vertical-align: middle;
    line-height: 38px;
    min-width: 80px;
    padding: 0 10px;
    height: 40px;
    color: #fff;
    background: #8289a0;
    text-decoration: none;
}
.btn-block {
    width: 100% !important;
}
.underline{
    text-decoration: underline!important;
}

.jconfirm {
    padding :50px!important;
}
.hidden{
    display:none!important;
}
/*Popup style*/
.popup-layer {
    position: relative;
}
.popup-close {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
}
.grade-wrap {
    padding: 0 !important;
}
.grade {
    overflow: hidden;
    border-radius: inherit;
}
.pop-head {
    height: 48px;
    text-align: left;
    padding: 0 50px 0 20px;
    color: #fff;
    line-height: 48px;
    font-weight: 600;
}
.pop-danger {
    border-bottom: 3px solid #d50d0d;
}
.pop-warning {
    border-bottom: 3px solid yellow;
}
.pop-info {
    border-bottom: 3px solid lightblue;
}
.pop-success {
    border-bottom: 3px solid lightgreen;
}
.pop-body {
    padding: 20px;
    color: #fff;
}
.pop-body p{
    color: #fff;
}
.pop-btn-cancel, .pop-btn-ok {
    display: none;
    width: 100%;
    margin:0;
    height:50px;
    line-height: 50px;
}
.pop-btn-ok {
    display: inline-block;
}
.pop-btn-cancel {
    
}
.grade .okcancel .pop-btn-cancel {
    width: 50% !important;
    display:inline-block;
    float:left;
}

.grade .okcancel .pop-btn-ok {
    width: 50% !important;
    background: #2ecc71;
    font-weight:600;
    float:right;
}


.m-0 {
    margin: 0 !important;
}

.mt-0,
.my-0 {
    margin-top: 0 !important;
}

.mr-0,
.mx-0 {
    margin-right: 0 !important;
}

.mb-0,
.my-0 {
    margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
    margin-left: 0 !important;
}

.m-1 {
    margin: 0.25rem !important;
}

.mt-1,
.my-1 {
    margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
    margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
    margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
    margin-left: 0.25rem !important;
}

.m-2 {
    margin: 0.5rem !important;
}

.mt-2,
.my-2 {
    margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
    margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
    margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
    margin-left: 0.5rem !important;
}

.m-3 {
    margin: 0.75rem !important;
}

.mt-3,
.my-3 {
    margin-top: 0.75rem !important;
}

.mr-3,
.mx-3 {
    margin-right: 0.75rem !important;
}

.mb-3,
.my-3 {
    margin-bottom: 0.75rem !important;
}

.ml-3,
.mx-3 {
    margin-left: 0.75rem !important;
}

.m-4 {
    margin: 1rem !important;
}

.mt-4,
.my-4 {
    margin-top: 1rem !important;
}

.mr-4,
.mx-4 {
    margin-right: 1rem !important;
}

.mb-4,
.my-4 {
    margin-bottom: 1rem !important;
}

.ml-4,
.mx-4 {
    margin-left: 1rem !important;
}

.m-5 {
    margin: 1.5rem !important;
}

.mt-5,
.my-5 {
    margin-top: 1.5rem !important;
}

.mr-5,
.mx-5 {
    margin-right: 1.5rem !important;
}

.mb-5,
.my-5 {
    margin-bottom: 1.5rem !important;
}

.ml-5,
.mx-5 {
    margin-left: 1.5rem !important;
}

.m-6 {
    margin: 2rem !important;
}

.mt-6,
.my-6 {
    margin-top: 2rem !important;
}

.mr-6,
.mx-6 {
    margin-right: 2rem !important;
}

.mb-6,
.my-6 {
    margin-bottom: 2rem !important;
}

.ml-6,
.mx-6 {
    margin-left: 2rem !important;
}

.m-7 {
    margin: 3rem !important;
}

.mt-7,
.my-7 {
    margin-top: 3rem !important;
}

.mr-7,
.mx-7 {
    margin-right: 3rem !important;
}

.mb-7,
.my-7 {
    margin-bottom: 3rem !important;
}

.ml-7,
.mx-7 {
    margin-left: 3rem !important;
}

.m-8 {
    margin: 4rem !important;
}

.mt-8,
.my-8 {
    margin-top: 4rem !important;
}

.mr-8,
.mx-8 {
    margin-right: 4rem !important;
}

.mb-8,
.my-8 {
    margin-bottom: 4rem !important;
}

.ml-8,
.mx-8 {
    margin-left: 4rem !important;
}

.m-9 {
    margin: 6rem !important;
}

.mt-9,
.my-9 {
    margin-top: 6rem !important;
}

.mr-9,
.mx-9 {
    margin-right: 6rem !important;
}

.mb-9,
.my-9 {
    margin-bottom: 6rem !important;
}

.ml-9,
.mx-9 {
    margin-left: 6rem !important;
}

.p-0 {
    padding: 0 !important;
}

.pt-0,
.py-0 {
    padding-top: 0 !important;
}

.pr-0,
.px-0 {
    padding-right: 0 !important;
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
    padding-left: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.pt-1,
.py-1 {
    padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
    padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
    padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
    padding-left: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.pt-2,
.py-2 {
    padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
    padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
    padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
    padding-left: 0.5rem !important;
}

.p-3 {
    padding: 0.75rem !important;
}

.pt-3,
.py-3 {
    padding-top: 0.75rem !important;
}

.pr-3,
.px-3 {
    padding-right: 0.75rem !important;
}

.pb-3,
.py-3 {
    padding-bottom: 0.75rem !important;
}

.pl-3,
.px-3 {
    padding-left: 0.75rem !important;
}

.p-4 {
    padding: 1rem !important;
}

.pt-4,
.py-4 {
    padding-top: 1rem !important;
}

.pr-4,
.px-4 {
    padding-right: 1rem !important;
}

.pb-4,
.py-4 {
    padding-bottom: 1rem !important;
}

.pl-4,
.px-4 {
    padding-left: 1rem !important;
}

.p-5 {
    padding: 1.5rem !important;
}

.pt-5,
.py-5 {
    padding-top: 1.5rem !important;
}

.pr-5,
.px-5 {
    padding-right: 1.5rem !important;
}

.pb-5,
.py-5 {
    padding-bottom: 1.5rem !important;
}

.pl-5,
.px-5 {
    padding-left: 1.5rem !important;
}

.p-6 {
    padding: 2rem !important;
}

.pt-6,
.py-6 {
    padding-top: 2rem !important;
}

.pr-6,
.px-6 {
    padding-right: 2rem !important;
}

.pb-6,
.py-6 {
    padding-bottom: 2rem !important;
}

.pl-6,
.px-6 {
    padding-left: 2rem !important;
}

.p-7 {
    padding: 3rem !important;
}

.pt-7,
.py-7 {
    padding-top: 3rem !important;
}

.pr-7,
.px-7 {
    padding-right: 3rem !important;
}

.pb-7,
.py-7 {
    padding-bottom: 3rem !important;
}

.pl-7,
.px-7 {
    padding-left: 3rem !important;
}

.p-8 {
    padding: 4rem !important;
}

.pt-8,
.py-8 {
    padding-top: 4rem !important;
}

.pr-8,
.px-8 {
    padding-right: 4rem !important;
}

.pb-8,
.py-8 {
    padding-bottom: 4rem !important;
}

.pl-8,
.px-8 {
    padding-left: 4rem !important;
}

.p-9 {
    padding: 6rem !important;
}

.pt-9,
.py-9 {
    padding-top: 6rem !important;
}

.pr-9,
.px-9 {
    padding-right: 6rem !important;
}

.pb-9,
.py-9 {
    padding-bottom: 6rem !important;
}

.pl-9,
.px-9 {
    padding-left: 6rem !important;
}

.m-auto {
    margin: auto !important;
}

.mt-auto,
.my-auto {
    margin-top: auto !important;
}

.mr-auto,
.mx-auto {
    margin-right: auto !important;
}

.mb-auto,
.my-auto {
    margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
    margin-left: auto !important;
}

table input {
    min-width: 150px;
    display: inline-block;
    vertical-align: middle;
    line-height: 38px;
    color: #8289a0;
    background: #efeff2;
    border: 1px solid #cacaca;
    height: 40px;
    margin: 0 1px;
    text-indent: 20px;
}
.class img {
    width: 40px;
}

.bbs-table td {
    padding: 5px 0;
}

.info-label span {
    min-width: 150px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.placeholder-row td,
.placeholder-copy {
    color: #b5aaa9;
    font-style: italic;
}

.formgroup input:focus,
.formgroup input:active,
.formgroup input:-webkit-autofill,
.formgroup input:-webkit-autofill:hover,
.formgroup input:-webkit-autofill:focus {
    color: #d7d0d0;
    background-color: #141317 !important;
    border-color: #553434;
    box-shadow: 0 0 0 1000px #141317 inset;
    -webkit-text-fill-color: #d7d0d0;
}

.login-panel input::selection {
    color: #fff;
    background: #8b1010;
}

.placeholder-block .last-news-info p,
.news-content,
.answer-html,
.account-summary,
.account-action-form {
    overflow-wrap: anywhere;
}

.news-tab {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.news-tab .btn-block {
    width: auto !important;
}

.ranking-table {
    table-layout: auto;
}

.ranking-table th,
.ranking-table td,
.sidebar_rank th,
.sidebar_rank td {
    overflow-wrap: anywhere;
}

.account-summary {
    margin-bottom: 20px;
}

.lk-form.block-l {
    padding-bottom: 16px;
}

.lk-form .lk-title {
    padding-bottom: 12px;
}

.lk-form ul {
    margin-top: 18px;
}

.lk-form li {
    list-style: none;
}

.lk-form li a,
.lk-form li .link-button {
    color: #aeb7c5;
    text-decoration: none;
}

.lk-form li a:hover,
.lk-form li .link-button:hover {
    color: #ff3b2f;
}

.link-button {
    text-transform: uppercase;
}

.account-credit-table {
    margin-bottom: 20px;
}

.account-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.account-action-form select,
.account-action-form input,
.page-login-panel input {
    max-width: 100%;
}

.rank-class-icon {
    display: inline-block;
    vertical-align: middle;
}

.guild-mark-placeholder {
    display: inline-block;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, .16);
    color: #e6d8d8;
    background: rgba(180, 20, 20, .35);
    line-height: 36px;
    text-align: center;
    font-weight: 700;
}

.link-button {
    display: inline;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.events {
    padding: 0;
}

.events li {
    margin-bottom: 6px;
    overflow: hidden;
}

.events span {
    float: right;
    padding: 2px 4px;
    border-radius: 3px;
    color: #e0e0de;
    background: rgba(181, 0, 0, .6);
    font-size: 11px;
}

.vote-block {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.compact-title {
    margin-top: 20px;
}

@media (max-width: 1040px) {
    .wrapper {
        width: 100%;
    }

    .container {
        flex-direction: column;
        min-height: 0;
    }

    .content,
    .sidebar {
        width: auto;
    }

    .content {
        padding: 24px;
    }

    #featured {
        width: calc(100% + 48px) !important;
        margin-left: -24px;
        margin-top: -24px;
    }

    #featured img {
        width: 100%;
        max-width: none !important;
        height: 100%;
        object-fit: cover;
    }

    .menu-block {
        margin-left: -24px;
        margin-right: -24px;
        padding: 0 24px;
        width: auto;
    }

    .sign-up-block a {
        width: auto;
        background-size: cover;
    }
}

@media (max-width: 680px) {
    .header {
        height: 360px;
    }

    .logo {
        top: 210px;
        left: 50%;
        transform: translateX(-50%);
    }

    .content {
        padding: 18px;
    }

    #featured {
        width: calc(100% + 36px) !important;
        height: 220px !important;
        margin-left: -18px;
        margin-top: -18px;
    }

    .menu-block {
        margin-left: -18px;
        margin-right: -18px;
        padding: 0 18px;
    }

    .menu-block li {
        margin-right: 12px;
    }

    .ranking-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .input-group label,
    .input-group input,
    .input-group select,
    .input-group .input {
        width: 100%;
        text-align: left;
        box-sizing: border-box;
    }
}

.message {
    margin: 10px 0 18px;
    padding: 10px 14px;
    color: #e0e0de;
    background: rgba(181, 0, 0, .35);
    border: 1px solid rgba(181, 0, 0, .6);
}

.message.success {
    background: rgba(57, 120, 40, .35);
    border-color: rgba(57, 120, 40, .7);
}

.accordion-tr .category,
.accordion-tr .title,
.accordion-tr .published,
.news-content,
.ranking-table td,
.sidebar_rank td {
    overflow-wrap: anywhere;
}

.accordion-tr .category {
    min-width: 80px;
    display: inline-block;
}

.accordion-tr .title {
    display: inline-block;
    max-width: 360px;
}

.accordion-tr .published {
    float: right;
}

.answer {
    display: none;
    padding: 10px 0;
}

.answer-html {
    display: inline;
}

button[disabled],
.btn[disabled],
a[aria-disabled="true"] {
    opacity: .55;
    cursor: not-allowed;
}

/* Account/user panel polish for the xmuonline skin. */
.account-module {
    padding-top: 6px;
}

.account-module-title {
    display: flex;
    align-items: flex-start;
    gap: 26px;
    min-height: 36px;
    margin-bottom: 24px;
    padding-top: 0;
    clear: both;
}

.account-module-title h3,
.account-section-title h3 {
    float: none;
    flex: 0 0 auto;
    margin-right: 0;
    line-height: 22px;
}

.account-module-tabs {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 4px 18px;
    padding-top: 1px;
}

.account-module-tabs .btn-block {
    display: inline-block;
    width: auto !important;
    margin: 0 0 0 10px;
    color: #f03b34;
    font-size: 12px;
    line-height: 18px;
    text-decoration: none;
}

.account-module-tabs .btn-block.active {
    color: #fff;
}

.account-module .ranking-table {
    margin-top: 0;
}

.account-summary {
    margin: 0 0 22px;
    padding: 18px 30px 16px;
    border-top: 1px solid rgba(170, 115, 132, .18);
    border-bottom: 1px solid rgba(170, 115, 132, .18);
    background: linear-gradient(90deg, rgba(38, 31, 36, .82), rgba(21, 18, 22, .34));
}

.account-summary .lk-title {
    padding: 0 0 18px;
}

.account-summary .lk-coins {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 0;
}

.account-summary .lk-coins .username,
.account-summary .lk-coins .coins {
    float: none;
    margin: 0;
}

.account-credit-table {
    margin-bottom: 28px;
}

.account-section-title {
    margin-top: 4px;
    margin-bottom: 18px;
    padding-top: 0;
}

.account-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0 0;
}

.account-actions .grey {
    min-width: 104px;
    text-align: center;
}

.account-action-module {
    min-height: 250px;
}

.account-action-form {
    width: auto;
    max-width: 520px;
    margin: 30px auto 0;
    padding: 28px 34px 34px;
    text-align: left;
    border-top: 1px solid rgba(170, 115, 132, .18);
    border-bottom: 1px solid rgba(170, 115, 132, .18);
    background: linear-gradient(90deg, rgba(30, 25, 30, .45), rgba(10, 9, 11, .1));
}

.account-action-form .input-group {
    display: grid;
    grid-template-columns: 142px minmax(220px, 1fr);
    align-items: center;
    gap: 18px;
    margin: 0;
    padding: 0 0 18px;
}

.account-action-form .input-group label {
    width: auto;
    padding: 0;
    color: #9aa6bd;
    text-align: right;
}

.account-action-form input,
.account-action-form select,
.account-action-form .input {
    display: block;
    width: 100%;
    height: 40px;
    box-sizing: border-box;
    padding: 0 16px;
    border: 1px solid rgba(170, 115, 132, .16);
    color: #cfd8e8;
    background: #120f13;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

.account-action-form input:focus,
.account-action-form select:focus {
    outline: 1px solid rgba(240, 59, 52, .6);
    outline-offset: 0;
    border-color: rgba(240, 59, 52, .45);
    color: #fff;
    background: #171217;
}

.account-action-form input::placeholder {
    color: #6f7485;
}

.account-action-form input::selection {
    color: #fff;
    background: #8b1010;
}

.account-action-form .placeholder-copy {
    margin: -2px 0 18px 160px;
    color: #aeb7c5;
}

.account-action-submit {
    margin-left: 160px;
}

.account-action-submit .btn {
    min-width: 80px;
}

.lk-form ul {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.lk-form li {
    list-style: none;
}

.lk-form li::marker {
    content: "";
}

.lk-form li .link-button {
    display: block;
    width: 100%;
    padding: 10px 25px 10px 60px;
    border-top: 1px solid rgba(170, 115, 132, 0.2);
    color: #aeb7c5;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
}

.lk-form li:hover .link-button {
    color: #ff3b2f;
}

@media (max-width: 680px) {
    .account-module-title {
        display: block;
    }

    .account-module-tabs {
        margin-top: 12px;
        gap: 6px 12px;
    }

    .account-action-form {
        max-width: none;
        padding: 22px 18px 26px;
    }

    .account-action-form .input-group {
        display: block;
        padding-bottom: 14px;
    }

    .account-action-form .input-group label {
        display: block;
        margin-bottom: 7px;
        text-align: left;
    }

    .account-action-submit,
    .account-action-form .placeholder-copy {
        margin-left: 0;
    }
}

/* Keep xmuonline login icons visible when browser autocomplete/autofill is enabled. */
.login-panel .formgroup {
    position: relative;
}

.login-panel .formgroup::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 50%;
    z-index: 3;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    background-color: #8f8a8e;
    background-image: none;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    pointer-events: none;
    opacity: 1;
}

.login-panel .f-login::before {
    -webkit-mask: url(./../images/login-icon.png) center / contain no-repeat;
    mask: url(./../images/login-icon.png) center / contain no-repeat;
}

.login-panel .p-login::before {
    -webkit-mask: url(./../images/pass-icon.png) center / contain no-repeat;
    mask: url(./../images/pass-icon.png) center / contain no-repeat;
}

.login-panel .f-login input,
.login-panel .p-login input {
    background-image: none !important;
    padding-left: 60px;
    text-indent: 0;
}

.login-panel .formgroup input:-webkit-autofill,
.login-panel .formgroup input:-webkit-autofill:hover,
.login-panel .formgroup input:-webkit-autofill:focus {
    caret-color: #d7d0d0;
    -webkit-text-fill-color: #d7d0d0;
    box-shadow: 0 0 0 1000px #141317 inset !important;
    transition: background-color 9999s ease-in-out 0s;
}
