.box-test {
    user-select: none;
}

.test-item {
    display: inline-block;
    padding: 0 5px;
}

.test-level {
    border: 1px solid #291669;
    padding: 9px;
    text-align: center;
    cursor: pointer;
    color: #291669;
    border-radius: 8px;
    display: block;
}

.test-level.active {
    background-color: #291669;
    color: #fff;
}

.test-title {
    line-height: 1;
    font-weight: 500;
}
.h1-test-title {
    font-size: 20px;
}
.test-subject {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #ddd
}

.test-subject:last-child {
    border-bottom: none
}

.list-test {
    margin: 0 5px;
    padding: 10px 20px;
    border: 1px solid #291669;
    margin-top: 20px;
    border-radius: 8px;
    user-select: none;
}

.list-history {
    overflow: auto;
    max-height: 370px;
}

.test-btn > div {
    color: #291669;
    padding: 5px 8px;
    border: 1px solid #291669;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
    display: inline-block;
}

.test-btn > div:last-child {
    margin-left: 5px;
}

.test-btn> div:hover {
    background-color: #291669;
    color: #fff
}

.info-test {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid #ddd;
}

.info-audio {
    display: none;
    padding-bottom: 15px;
}

.info-audio.active {
    display: block;
}

.box-right {
    display: flex;
}

.timer {
    color: #291669;
    padding: 5px 8px;
    border-radius: 8px;
    font-size: 14px;
    background-color: #fff;
    margin-right: 10px;
}

.box-part {
    display: flex;
    list-style: none;
    margin: 0;
    border-radius: 8px;
    padding: 0.2rem;
    overflow: hidden;
    background-color: rgb(0, 12, 84, .8);
}

.box-part > * {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1 0 33.33%;
}

.part-item button {
    line-height: 1;
    color: #fff;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-grow: 1;
    height: 2rem;
    padding: 0 1.5rem;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    background-color: transparent;
    cursor: pointer;
}

.part-item button.active {
    background-color: #fff;
    color: #291669;
}

.btn-submit button {
    color: #291669;
    padding: 5px 8px;
    border: 1px solid #291669;
    border-radius: 8px;
    font-size: 14px;
    background-color: #fff;
}
.submitted.info-test .certificate button {
    display: block;
}

.certificate button {
    display: none;
    color: #291669;
    padding: 5px 8px;
    border: 1px solid #291669;
    border-radius: 8px;
    font-size: 14px;
    background-color: #fff;
}

.certificate i {
    color: #291669;
}

.info-test a {
    display: none;
    color: #291669;
    padding: 5px 8px;
    border: 1px solid #291669;
    border-radius: 8px;
    font-size: 14px;
    background-color: #fff;
}

.submitted.info-test a {
    display: block;
}

.certificate button:hover, .info-test a:hover, .btn-submit button:hover {
    background-color: #291669;
    color: #fff;
}

.certificate button:hover i {
    color: #fff !important;
}

.infor-detail {
    margin-bottom: 15px;
}

.title-test {
    text-align: center;
    font-weight: 500;
    color: #291669;
    font-size: 18px;
}

.title-test i {
    margin: 0 10px
}

.box-detail-test {
    user-select: none;
    padding-bottom: 15px;
}

.question-item {
    display: none;
}

.question-item.active {
    display: block;
}

.content-test {
    margin-top: 20px;
}

.question-box {
    display: flex;
}

.question-number {
    border-radius: 8px;
    padding: 5px 10px;
    font-weight: 500;
    font-size: 14px;
    margin-right: 10px;
    background-color: #291669;
    color: #fff;
    height: fit-content;
}

.question-sub {
    margin: 10px 0 0 10px;
}

.question-sub-content {
    display: flex;
}

.question-sub-content .question-number {
    padding: 5px;
}

.question-entry {
    margin-bottom: 15px;
}
.answer-content {
    margin: 5px 0 0 45px;
}

.answer-item input {
    margin-right: 10px;
}

.infor-fixed .infor-test {
    position: fixed;
    top: 0;
    padding-top: 10px;
    width: 100%;
    max-width: calc(85% - 30px);
    opacity: 1;
    background-color: #F4F4F4;
}

.box-detail-test.infor-fixed .infor-detail{
    margin-bottom: 70px;
}

.question-content img {
    max-width: 400px;
}

.jlpt-certificate {
    font-size: 15px;
    text-align: center;
    background-image: url('/frontend/images/bg_jlpt.webp');
    background-size: 20px 20px;
    padding: 12px 10px;
    margin-top: 5px;
}

.jlpt-cer-t-test, .jlpt-cer-title, .jlpt-cer-title-en {
    font-weight: 700;
}

.jlpt-date, .jlpt-date-en, .jlpt-more-infor {
    text-align: left;
    line-height: 28px;
}

.jlpt-more-infor .col1 {
    display: inline-block;
}

.jlpt-more-infor .col2 {
    float: right;
}

.jlpt-score {
    width: 100%;
    border: 2px solid #000;
    padding: 4px;
    clear: both;
    margin-top: 12px;
}

.width-100 {
    width: 100%;
}

.jlpt-detail-score th, .jlpt-detail-score tr {
    border: 1px dotted #000;
    vertical-align: middle;
    width: 25%;
}

.r1 {
    height: 60px;
    font-size: 14px;
}

.r2, .r3 {
    height: 60px;
    line-height: 32px;
}

#test-result {
    user-select: none;
}

.jlpt-conclude-pass-c {
    height: 40px;
    width: 160px;
    border: 2px dotted #1b1b1b;
    line-height: 40px;
    text-align: center;
}

.stamp {
    padding-top: 10px;
    width: 70px;
    height: 70px;
}

.jlpt-conclude-pass {
    vertical-align: middle;
}

.submitted .box-right .btn-submit{
    display: none;
}

.submitted .timer {
    display: none;
}

.submitted .part-container {
    margin: 0 auto;
}

.info-test.submitted {
    justify-content: center;
}

.result-button {
    text-align: center;
    margin-top: 10px;
}

.test-explain {
    padding: 8px 10px;
    background-color: #ffffff;
    border-radius: 3px;
    margin-top: 10px;
}
.test-warning {
    display: none;
}
.is-submit .test-warning {
    display: block;
}
.is-submit .test-result {
    display: none;
}

.test-warning .action-warning {
    margin-top: 15px;
    text-align: center;
}

.modal-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    color: #291669;
    border-bottom: 1px solid #291669;
}

.modal-top p {
    margin-bottom: 0;
    font-weight: 500;
    font-size: 18px;
}

.history-box {
    user-select: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 8px;
    box-shadow: 0 1px 4px #00000029;
    margin: 10px 0;
    padding: 13px 8px;
}

.history-box:hover {
    background-color: rgb(0, 12, 84, .2);
}
.loader {
    border: 5px solid #f3f3f3;
    border-radius: 50%;
    border-top: 5px solid #afb2b6;
    width: 50px;
    height: 50px;
    -webkit-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite;
    position: fixed;
    top: calc(50% - 25px);
    left: calc(50% - 25px);
}
.test-btn .btn-history {
    padding: 5px 23px;
}
@media (min-width: 767px) {
    .part-container {
        width: 550px;
    }
}

@media (max-width: 767px) {

    .header {
        position: relative;
    }
    .box-content-default {
        padding-top: 36px !important;
    }
    .box-mobile {
        position: absolute !important;
    }
}

@media screen and (max-width: 870px) {
    .infor-fixed .infor-test {
        max-width: calc(95% - 30px);
    }
    .part-container {
        width: 100%;
        order: 1;
        flex: 1 0 100%
    }

    .info-test {
        flex-wrap: wrap;
    }

    .timer {
        margin-bottom: 5px;
    }

    .box-right {
        margin-bottom: 5px;
        justify-content: space-between;
    }
    .part-item button {
        font-size: 13px;
    }
}
@media (max-width: 576px) {
    .part-item button {
        font-size: 12px;
    }
    .info-test.submitted {
        justify-content: space-between;
    }
    .box-test {
        display: flex;
        font-size: 14px;
        overflow: hidden;
    }
    .list-test {
        font-size: 14px;
        padding: 0 10px;
    }
    .box-detail-test {
        font-size: 14px;
        overflow: hidden;
    }
    .test-btn {
        display: flex;
        height: fit-content;
    }
    .test-btn > div {
        font-size: 14px;
        padding: 3px 5px;
    }
    .test-btn .btn-history {
        padding: 3px 15px;
    }
    .test-history {
        font-size: 12px;
    }

    .question-content img {
        max-width: 200px;
    }
    .test-title {
        font-size: 14px;
    }
    .test-description {
        font-size: 14px;
    }
    .test-level {
        padding: 7px 10px;
    }
    .modal-dialog-centered {
        min-height: unset !important;
    }
    .info-test a {
        margin-bottom: 10px;
    }
}


