body {margin: 0;color: #444;}

.footer{
    width: 100%;
    padding: 4px 0;   
    background-color: #fff; 
}
.footer img{width: 100%;}

#container_box {
    position: relative;
    width: 100vw;
    max-width: 640px;
    font-size: 16px;
    margin: 0 auto;
    min-height:100vh;
}

#container{
    position: relative;
    background-color: white;
    width: 90vw;
    max-width: 576px;
    margin: -4vw auto 5vw;
    border-radius: 10px;
}

#main_box {
    margin: 0 auto;
    width: 80vw;
    max-width: 512px;
    /*min-height:88vh;
    background-color: #0202;*/
}

#main_box > .ccol {
    width: 100%;
    clear: both;
    display: inline-block;
}

.col_list{
    min-height:60vh;
    margin-bottom: 10px;
}

.top_img {
    min-height: 6vh;
    width: 100%;
}

.top_img img, #footer {
    display: block;
    width: 100%;
}

.loading {position: relative;z-index: 19891014;display:none;}
.loading * {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
.loading-shade {background-color: rgba(0,0,0,0.2);pointer-events: auto;position: fixed;left: 0;top: 0;width: 100%;height: 100%;}
.loading-main {background-color: rgba(0,0,0,0.2);pointer-events: auto;position: fixed;left: 0;top: 0;width: 100%;height: 100%;display: table;font-family: Helvetica,arial,sans-serif;pointer-events: none;}
.loading-main-section{display: table-cell;vertical-align: middle;text-align: center;}
.loading-main-section .loading-main-child{width: auto;max-width: 260px;min-width: 40px;border: none;background: 0 0;box-shadow: none;color: #fff;}
.loading-main-child{position: relative;display: inline-block;text-align: left;background-color: #fff;font-size: 14px;border-radius: 5px;box-shadow: 0 0 8px rgba(0,0,0,.1);pointer-events: auto;-webkit-overflow-scrolling: touch;-webkit-animation-fill-mode: both;animation-fill-mode: both;-webkit-animation-duration: .2s;animation-duration: .2s;}
.loading-main-layercont{text-align: center;                    }
.loading-main-anim-scale{animation-name: loading-main-anim-scale;-webkit-animation-name: loading-main-anim-scale;}
.loading-main-layercont i {width: 25px;height: 25px;margin-left: 8px;display: inline-block;background-color: #fff;border-radius: 100%;-webkit-animation: loading-main-anim 1.4s infinite ease-in-out;animation: loading-main-anim 1.4s infinite ease-in-out;-webkit-animation-fill-mode: both;animation-fill-mode: both;}
.loading-main-layercont i:first-child {margin-left: 0;-webkit-animation-delay: 0.8s;animation-delay: 0.8s;}
.loading-main-layercont i:nth-of-type(2) {-webkit-animation-delay: 0.4s;animation-delay: 0.4s;}
@keyframes loading-main-anim{
    0%, 100%, 80% {
        transform: scale(0);
        -webkit-transform: scale(0);
    }
    40% {
        transform: scale(1);
        -webkit-transform: scale(1);
    }
}
@keyframes loading-main-anim-scale{
    0% {
        opacity: 0;
        -webkit-transform: scale(.5);
        transform: scale(.5);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(.7);
        transform: scale(.7);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.column_class,.column_text_class,.column_img_class {
    padding: 6px 0;
}

.picture_box img{
    margin-top: 4vw;
    width: 100%;
    text-align: center;
}

.note_text {
    display: block;
    font-size: 12px;
    line-height:18px;
    clear: both;
}

.True:after {
    content: "*";
    color: red;
    margin-left: 4px;
}

#activity_name {
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-left: 0;
    font-size: 20px;
    /*color: black;*/
}

#activity_name p {
    margin: 16px auto;
}

.icon_box {
    height: 44px;
    line-height: 44px;
    border: 1px solid #dcdcdc;
    border-radius: 5px;
    /*background-color: white;*/
}

.icon_box i{
    box-sizing:border-box;
    -moz-box-sizing:border-box; /* Firefox */
    -webkit-box-sizing:border-box; /* Safari */
    width: 8%;
    float: right;
}


.icon_box input{
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    width: 88%;
    float: left;
    border: none;
    height: 100%;
    line-height: 100%;
    text-indent: 5%;
    border-radius: 5px;
}

.normal_text input, .normal_number input, textarea, .select_box select {
    /*margin-top: 10px;*/
    width: 100%;
    height: 44px;
    line-height: 44px;
    text-indent: 5%;
    border: 1px solid #dcdcdc;
    border-radius: 5px;
    /*background-color: white;*/
}

.select_box select{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    background: none;
}

.select_box{
    position: relative;
    width: 100%;
    height: 44px;
    border: 1px solid #dcdcdc;
    border-radius: 5px;
}

.select_box:after {
    content: "";
    width: 14px;
    height: 9px;
    background-image: url(images/arrow.png);
    background-size: contain;
    position: absolute;
    right: 15px;
    top: 40%;
    pointer-events: none;
}

textarea {
    margin-top: 10px;
    height: 150px;
    line-height: 200%;
    /*text-indent: 4%;*/
    text-align: left;
    padding: 0;
    display: block;
}

.single_choice_box, .multiple_choice_box {
    display: inline-block;
}

.single_choice_box label, .multiple_choice_box label {
    margin-right: 20px;
    float: left;
    display:inline-block;
}

.radio_and_checkbox {
    display:none;
}

.multiple_choice_box .draw-pic {
    border-radius: 0;
}

/*所有radio和checkbox样式*/
.draw-pic {
    position: absolute;
    margin: 4px 0;
    width: 13px;
    height: 13px;
    border: 1px solid #c9c9c9;
    opacity: 1;
    border-radius: 20px;
}

.checkbox-pic{
    border-radius: 2px;
}

.radio_and_checkbox:checked+ .draw-pic {
    /*background: #47acc5;*/
    border: 1px solid rgba(0, 0, 0, 0);
}

.radio_and_checkbox:checked+ .draw-pic:before, .radio_and_checkbox:checked+ .draw-pic:after{
    content: "";
    height: 14%;
    width: 35%;
    border-radius: 62%;
    display: block;
    background: white;
    position: absolute;
    top: 48%;
    left: 16%;
    transform: rotate(45deg);
}

.radio_and_checkbox:checked+ .draw-pic:before {
    width: 63%;
    transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    /* position: absolute; */
    top: 47%;
    left: 32%;
}


/*img-radio and img-checkbox*/
.img_single_choice_box{
    display: inline-block;
}

.img_single_choice_item {        
    margin-bottom: 2vw;
    display: inline-grid;
    position: relative;
    width: 30%;
    max-width: 150px;
    margin-right: 2%;
}


.img_single_choice_item input[type='checkbox'] ,.img_single_choice_item input[type='radio'] {
    opacity: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
}

.img_single_choice_img img{
    width: 100%;
    height: 100%;
}

.img_single_choice_img{
    position: relative;
    border: 4px solid #f7f7f7;
    cursor: pointer;
}


.img_single_choice_item input[type='checkbox']:checked + .img_single_choice_img,.img_single_choice_item input[type='radio']:checked + .img_single_choice_img{
    border-color: #3fa5f9;
}

.img_single_choice_img span {
    width: 0;
    height: 0;
    border-top: 40px solid #3fa5f9;
    border-left: 40px solid transparent;
    position: absolute;
    right: -4px;
    top: -2px;
    display: none;
}

.img_single_choice_item input[type='checkbox']:checked + .img_single_choice_img span, .img_single_choice_item input[type='radio']:checked + .img_single_choice_img span {
    display: block;
}

.img_single_choice_item input[type='checkbox']:checked + .img_single_choice_img span i,.img_single_choice_item input[type='radio']:checked + .img_single_choice_img span i {
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    position: absolute;
    right: 8px;
    width: 8px;
    height: 16px;
    top: -42px;
    transform: rotate(45deg);
}

.img_single_choice_item p{    
    text-align:center;
    overflow: hidden;
}

/*sing*/

.sign_box{
    margin-top: 10px;    
    border: 1px solid #dcdcdc;
    border-radius: 5px;
}

.sign_box button{    
    margin: 10px 5px;
    background-color: #1e68e1;
    color: white;
    padding: 4px 12px;
    border: 0;
    border-radius: 4px;
}

/*time*/
.column_class[column-type=time] .select_box {
    float: left;
    margin-right: 4%;
    width: 26%;
}

.column_class[column-type=time] .select_box select {
    text-indent: 19.2%;
}

.hour_minute_comma{
    float: left;
    margin: 10px -2.5%;
}

.img_box {
    position: relative;
    float: left;
    margin-right: 1.25%;
}

.img_box > div{
    position: absolute;
    background-image: url(images/close.png);
    background-size: cover;
    width: 25%;
    height: 25%;
    top: 0;
    right: 0;
}

.normal_pic label, .img_box, .normal_pic img{
    /*background-color: white;*/
    height: 60px;
    width: 60px;
    margin-bottom: 1.25%;
}

.normal_pic input {
    display: none;
}

.file_box > div {
    position: relative;
}

.file_input {
    position: relative;
    width: 86.4px;
    height: 23px;
}

.file_input img {
    position: absolute;
    width: 100%;
}

.file_input input {
    opacity: 0;
    z-index: 2;
}

.file_name {
    position: absolute;
    top: 0;
    left: 102px;
    line-height: 22px;
    font-size: 12px;
}

.file_name img {
    width: 12px;
    display: none;
}

/* uploadAuio & uploadVide */
.file_play{
    display: none;
    position: relative;
}
.file_play button{
    display: block;
    color: white;
    line-height: 20px;
    letter-spacing: 2px;
    border-radius: 3px;
    border: none;
    padding: 0.5vw 2vw;
}
audio{
    width: 100%;
    height: 38px;
}

.audio_play{
    background: #dd101d  !important;
}

.modal-box {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index:2;        
    background-color:rgba(0,0,0,.7);    
    display:none;
}

.modal-body{
    overflow: auto;
    width: 80%;
    max-width: 512px;
    margin: 10vw auto;
    min-height: 70vw;      
    background-color:white;
    border-radius:10px;     
}
.modal-title{
    color: black;
    text-align: center;
    border-bottom: 2px solid #f7f7f7;
    height: 40px;
    line-height: 40px;
    font-weight: bold;
    font-size: 18px;
}
.modal-content{
    padding:10px;    
}
.modal-Message{
    text-align: center;
    font-size: 28px;
    line-height: 32px;

}

.sign-success{
    text-align: center;
    margin-top:4vw;
    font-size: 24px;
}
.sign-success img{
    width:90%;
    margin: 2vw 0;
}

#rule {
    width: 100%;
}

#mztk_text_box {
    margin: 6% 6% 0;
    font-size: 16px;
    min-height: 50vh;
    max-height: 60vh;
    overflow: scroll;
}


#mztk_btn button {
    width: 38%;
    margin: 5% 6%;
    height: 42px;
    color: white;
    font-size: 16px;
    line-height: 16px;
    letter-spacing: 2px;
    border-radius: 5px;
    border: none;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    float: left;
}


#mztk_btn button:nth-of-type(2){
    left: 46%;
}


#rule_btn {
    color: blue;
    text-decoration: underline;
}

#submit,#cert {
    display: block;
    width: 100%;
    height: 52px;
    margin: 5% auto;
    color: white;
    font-size: 20px;
    line-height: 20px;
    letter-spacing: 2px;
    border-radius: 6px;
    border: none;
}


#activity_info {
    position: relative;
    background-color: white;
    width: 90vw;
    max-width: 576px;
    margin: 0 auto 5vw;
    border-radius: 15px;
    padding: 10px 0;
}

#activity_info div {
    margin: 0 auto;
    width: 80vw;
    max-width: 512px;
}

#activity_info p {
    color: #919191;
}

.icon_box_name {
    display: none;
}

.icon_box_name, .p_box_name {
    margin-bottom: 6px;
}
.go_back{
    position: absolute;
    z-index: 1;
    left: 10px;
    top: 10px;
    width: 40px;
    height: 40px;
    background-color: white;
    border-radius: 20px;
    box-shadow: 1px 1px 3px 3px rgb(0 0 0 / 20%);
}
.go_back::before{
    content: '';
    position: absolute;
    left: 36%;
    top: 29%;
    height: 36%;
    width: 36%;
    border-right: 3px solid black;
    border-top: 3px solid black;
    transform: rotate(225deg);
}

#certificate {
    display: none;    
}
#certificate img{
    width: 100%;
}
.cert {
    position: fixed;
    width: 100vw;
    left: 0;
    top: 0;    
    z-index: 2;
}
.loadcertimg{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 1px;
}
.cert-img {
    position: fixed;
    width: 84.53vw;
    left: 7.733vw;
    top: 10vw;
    z-index: 3;
}
#certContent{
    position: absolute;
    text-indent: 2em;
}
#certContent span{
    font-weight: bold;
}


/*audio*/
.audio-visualizer {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 30px;
    width: 100%;
    gap: 2px;
    margin-bottom: 20px;
}

.audio-bar {
    width: 4px;
    height: 10px;
    background: #007bf4;
    transform-origin: bottom;
    animation: audioBar 1s ease-in-out infinite alternate;
    animation-play-state: paused;
    transition: transform 0.3s ease; /* 添加过渡效果 */
}

@keyframes audioBar {
    0% { transform: scaleY(0.2); }
    100% { transform: scaleY(2);}
}

.audio-bar:nth-child(1) { animation-delay: 0s; }
.audio-bar:nth-child(2) { animation-delay: 0.1s; }
.audio-bar:nth-child(3) { animation-delay: 0.2s; }
.audio-bar:nth-child(4) { animation-delay: 0.3s; }
.audio-bar:nth-child(5) { animation-delay: 0.4s; }
.audio-bar:nth-child(6) { animation-delay: 0.5s; }
.audio-bar:nth-child(7) { animation-delay: 0.6s; }
.audio-bar:nth-child(8) { animation-delay: 0.7s; }
.audio-bar:nth-child(9) { animation-delay: 0.8s; }
.audio-bar:nth-child(10) { animation-delay: 0.9s; }

.audio-player.playing .audio-bar {
    animation-play-state: running;
}

.audio-player.ended .audio-bar {
    animation: none;
    transform: scaleY(0.2);
}