@charset "utf-8"; /*初始化CSS样式*/
:root {
    --dpr-ratio: 1.2; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}

dd, dl, dt, ol {
    display: block;
}

ul, li {
    list-style: none;
}

a {
    text-decoration: none;
    color: #111;
}

img {
    display: block;
}

html {
}

/*HOME*/
body {
    width: 100vw;
    min-height: 100%;
    max-height: 854px;
    height: 100%;
    max-width: 480px;
    margin: 0 auto;
    overflow: hidden;
}

.home-bg {
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    max-height: 854px;
    width: 100vw;
    z-index: 0;
    max-width: 480px;
    transform: translateX(-50%);
    background-image: radial-gradient(circle at center, #d13125, #b40f0e);
}

#app {
    position: relative;
    z-index: 100;
    max-width: 480px;
    width: 100%;
    height: 100vh;
    overflow-y: hidden;
    max-height: 854px;
    overflow-x: hidden;
}

.show-py {
    max-width: 480px;
    z-index: 30;
    width: 100%;
    max-height: 854px;
    height: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    position: fixed;
}

.show-py.hover {
    opacity: .3;
}

.show-t1 {
    max-width: 480px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}

.show-t1 img {
    width: 90%;
    margin-left: 5%;
}

.show-t2 {
    max-width: 480px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    margin-top: -1vh;
}

.show-t2 img {
    width: 96%;
    margin-left: 2%;
}

.show-b1 {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    max-width: 480px;
    position: absolute;
    bottom: 0;
}

.show-b1 img {
    width: 100%;
}

.show-b2 {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    position: absolute;
    z-index: 1;
    bottom: 0;
}

.show-b2 img {
    width: 100%;
}

.show-info {
    position: relative;
    z-index: 100;
    width: 100%;
    margin: 0 auto;
    border-radius: 6px;
    max-width: 480px;
    height: 100%;
    max-height: 854px;
    overflow-y: auto;
}

.info-list {
    width: 86%;
    margin: 1vh 7% 8vh 7%;
    position: relative;
    z-index: 100;
    overflow-y: auto;
}

.list-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}

.list-title {
    color: #fbfbfb;
    font-size: 1.125rem;
    margin-bottom: 5px;
    width: 5rem;
    font-weight: bold;
    white-space: nowrap;
    text-align: right;
}

.list-input {
    width: calc(100% - 5rem);
    max-width: 70%;
}

.list-input input {
    width: 100%;
    border: none;
    border-radius: 3px;
    height: 2rem;
    line-height: 1.6;
    text-indent: 8px;
    background: #efbbb8;
    font-size: 1rem;
}

.period-select {
    background: #efbbb8;
    border-radius: 3px;
    width: calc(100% - 5rem);
    max-width: 70%;
}

.period-list {
    padding: 4px 10px;
    display: flex;
    align-items: center;
}

.period-list label {
    width: 16px;
    height: 16px;
    border: 1px #000 solid;
    border-radius: 50%;
    margin-right: 10px;
    box-sizing: border-box;
    position: relative;
    background: #fff;
}

.period-list span {
    font-size: 1.125rem;
}

.period-list label.hover {
    background: #fff;
}

.period-list label.hover::after {
    content: "";
    background: #000000;
    width: 6px;
    display: block;
    height: 6px;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    left: 4px;
    top: 4px;
}

.list-select {
    width: calc(100% - 5rem);
    background: #fff;
    border-radius: 3px;
    overflow: hidden;
    max-width: 70%;
}

.list-select select {
    width: 100%;
    border: none;
    height: 1.6rem;
    line-height: 1.6;
    padding-left: 5px;
    background: #efbbb8;
    color: #b86464;
    font-size: 1.125rem;
}

/**/
.qtitle {
    width: 94%;
    margin: 2rem 3%;
    font-weight: bold;
    color: #ffffff;
}

.qlist {
    width: 92%;
    margin: 0 4%;
}

.qlist>div {
    margin-bottom: 2rem;
    background: #e26b64;
    border-radius: 10px;
    text-indent: 1rem;
    padding: .8rem 0;
    color: #fbfbfb;
}

.qlist>div:hover, .qlist>div.hover {
    background: #f73535;
    color: #fff;
    cursor: pointer;
}

.qlist>div:hover span, .qlist>div.hover span {
    color: #fff
}

.qlist input {
    border: none;
    height: 30px;
    width: calc(100% - 5rem);
    border-bottom: 1px #fff solid;
    border-radius: 3px;
    text-indent: 10px;
    color: #2dbcb8;
}

.qlist.type-li {
    display: flex;
    align-items: flex-start;
}

.qlist > .type-li {
    display: flex;
    align-items: flex-start;
    background: none;
}

.qlist > .type-li span {
    color: #013e81;
}

.qlist span {
    margin-right: 10px;
    color: #080808;
}

.qlist img {
    width: 100px;
    height: auto;
    margin: 0 calc(50% - 60px) 0 auto;
}

.saveScore {
    position: fixed;
    bottom: 2vh;
    z-index: 1000;
    left: 3%;
    padding: .6rem 0;
    text-align: center;
    width: 94%;
    background: #e4531e;
    color: #fff;
    border-radius: 50px;
}

.show-answer {
    position: fixed;
    width: 100%;
    height: 100%;
    max-height: 854px;
    ; display: block;
    top: 0;
    left: 0;
    z-index: 1099;
    overflow-y: scroll;
}

.show-content {
    width: 90%;
    margin: 1rem 5%;
    line-height: 2;
    padding-bottom: 8vh;
}

.show-btn {
    padding: 0.5rem 0;
    font-size: 1rem;
    text-align: center;
    background: #db2a2a;
    color: #ffffff;
    border-radius: 10px;
    border: 2px #fff797 solid;
    cursor: pointer;
    box-sizing: border-box;
    position: fixed;
    z-index: 30;
    bottom: 60vh;
    display: flex;
    margin-left: 10%;
    width: 80%;
    justify-content: center;
}
.show-btn.times-btn {
    left: 50%;
    transform: translateX(-50%);
    margin-left: 0;
    width: auto;
    padding: 10px 20px;
    white-space: nowrap;
}
.show-btn2 {
    padding: 0.75rem 0;
    font-size: 1rem;
    text-align: center;
    background: #e9dba9;
    color: #d13125;
    width: 50%;
    margin-left: 25%;
    border-radius: 10px;
    border: 2px #ddb570 solid;
    cursor: pointer;
    box-sizing: border-box;
    margin-top: 20vh;
    z-index: 180;
    position: relative;
}

.swiper-slide {
    height: auto !important;
    overflow-y: auto;
}

.show-btn:hover {
    font-size: 20px;
}

.test-btn.show-btn.home-btn {
    position: relative;
}

.test-btn.show-btn {
    bottom: 4vh;
    position: relative;
    left: 50%;
    z-index: 1000;
    width: 50%;
    transform: translateX(-50%);
    margin-left: 0;
}
.show-btn.home-btn {
    margin-left: 10%;
}
.show-score {
    font-size: 5rem;
    text-align: center;
    font-family: fantasy;
}

.show-test {
    height: auto;
    z-index: 100 !important;
    width: 90%;
    box-sizing: border-box;
    margin: 0 5% !important;
}

.show-title {
    text-align: center;
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.show-smallpic {
}

.show-smallpic img {
    width: 100%;
    height: auto;
    border-radius: 3px;
    opacity: .9;
    box-shadow: 0 0 10px #d8d8d8;
}

.next-btn {
    position: relative;
    width: 50%;
    margin: 0 25%;
    background: #e9dba9;
    text-align: center;
    color: #c6241d;
    width: 50%;
    border-radius: 10px;
    border: 2px #ddb570 solid;
    padding: 6px 0;
    border-radius: 3px;
    z-index: 100;
    margin-top: 6vh;
}

.show-list {
    position: relative;
    z-index: 100;
    max-height: 854px;
    height: 100%;
}

.tips {
    position: absolute;
    bottom: 6px;
    font-size: 14px;
    color: #0a0a0a;
    text-align: center;
    width: 100%;
    z-index: 100;
}

.top-info-title {
    width: 100%;
    padding: 20px 10% 0 10%;
    z-index: 100;
    box-sizing: border-box;
}

.top-info-name,.top-info-time {
    display: flex;
    justify-content: space-between;
    width: 100%;
    flex-wrap: wrap;
}

.top-info-time {
    margin-top: 5px;
    height: 26px;
    align-items: center;
}
.top-line {
    width:100%;
    position: relative;
    background: #ffd6d6d9;
    height: 6px;
    margin-top: 10px;
    position:relative;
}
.top-line span {
    display:block;
    position:absolute;
    left:0;
    top:0;
    height:6px;
    background:#fff;
}
.time-page {
    font-family: fantasy;
    letter-spacing: 2px;
    color: #fff4f4;
    display: flex;
    align-items: center;
    font-size: 1.15rem;
}
.time-page em {
    font-style: normal;
    font-size: 1.25rem;
    padding: 0 5px;
    color: #fff;
}
.time-icon {
    padding-left: 30px;
    color: #fffafa;
    font-size: 1.15rem;
    display: flex;
    align-items: center;
}
.time-icon em {
    font-size: 1.25rem;
    font-style: normal;
    margin-left:10px;
}
.time-icon.hover {
    color: #f00;
}

.info-name {
    color: #007aff;
}

.info-other {
    font-size: 1.125rem;
    color: #666;
}

.swiper-wrapper {
    /* height: 60vh !important; */
}

.clear-data {
    position: fixed;
    right: 10px;
    top: 10px;
    background: #f66;
    color: #ffffff;
    padding: 3px 10px;
    z-index: 1000;
    font-size: 12px;
    border-radius: 3px;
}

.score {
    font-size: 7rem;
    font-family: fantasy;
    text-align: center;
    margin-top: 0;
    color: #f7f7f7;
    text-shadow: 0px 1px 2px #f3f3f3;
}

.score-tip {
    color: #ddb570;
    font-size: 1.6rem;
    text-align: center;
}

.diploma {
    margin-top: 4vh;
    position: relative;
}

.diploma > span {
    position: absolute;
    z-index: 10;
    left: 19%;
    top: 37%;
    font-weight: bold;
    font-size: 1.125rem;
}

.diploma img {
    width: 90%;
    display: block;
    margin: 0 calc(5% - 5px);
    border: 5px #fff solid;
    border-radius: 5px;
}
.diploma-tips {
    text-align:center;
    color: #ddb570;
    margin-top: 10px;
}
.save-diploma {
    margin-top: 5vh;
    text-align: center;
    width: 50%;
    /* padding: 10px 0; */
    background: #c6241d;
    color: #d13125;
    border-radius: 5px;
    margin-left: 25%;
    position: relative;
    z-index: 300;
}

.save-diploma a {
    display: block;
    background: #d13125;
    padding: 10px 0;
    border: 1px #ddb570 solid;
    color: #f7f7f7;
    border-radius: 6px;
    font-size: 1.125rem;
}

.show-q-answer {
    background: #409acf;
    padding: 5px 10px;
    font-size: 14px;
    position: absolute;
    color: #f9f9f9;
    border-radius: 30px;
    margin-top: 50px;
    left: calc(50% - 53px);
}

/**/
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    /* Retina-specific stuff here */ :root {
        --dpr-ratio: 1.2;
    }
}

@media all and (max-width: 480px) {
    /* Retina-specific stuff here */ :root {
        --dpr-ratio: 1;
    }
    .show-b2,.show-b1 {
        position:fixed;
    }
}
