[v-cloak]{
    display: none;
}
* {
    margin: 0;
    padding: 0;
    border: none;
    outline: 0;
    box-sizing: border-box;
    
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10+ and Edge */
    user-select: none; /* Standard syntax */
}

a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
input[type="number"]{
    -moz-appearance: textfield;
}
video::-internal-media-controls-download-button {
    display: none;
}
video::-webkit-media-controls-enclosure {
    overflow: hidden;
}

ul{
    list-style: none;
}


body {
    line-height: 1;
    font-family: PingFang SC, '微软雅黑', 'Microsoft YaHei', '黑体', 'SimHei';
    font-size: .14rem;

    background-color: #F6F9FE;
    color: #333;
}
:root{
    --backcolor: #144A23;
    --color: #BFE866;
    --margin: .2rem;

    --h1: .78rem;
    --h1-line: 1.1rem;
    --h2: .48rem;
    --h2-line: .67rem;
    --h3: .36rem;
    --h3-line: .58rem;
    --h4: .24rem;
    --h4-line: .38rem;
    --h5: .16rem;
    --h5-line: .26rem;
    --h6: .14rem;
    --h6-line: .22rem;

    --scale: 1;
}

.modal-body::-webkit-scrollbar, .scrollbar-no::-webkit-scrollbar{
    width: 0;
    background: transparent;
}

.safe-area-inset-bottom{
	padding-bottom: 0;
	padding-bottom: constant(safe-area-inset-bottom);
	padding-bottom: env(safe-area-inset-bottom);
}

.pointer-events-none{
    pointer-events: none!important;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}
.clear{
    clear: both;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    
    -webkit-user-select: text; /* Safari */
    -ms-user-select: text; /* IE 10+ and Edge */
    user-select: text; /* Standard syntax */
}
.text-line-2{
    word-break: break-all;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.text-dot{
    display: flex;
}
.text-dot .dot{
    display: flex;
    align-items: center;

    height: var(--h5-line);
    margin-left: .04rem;
    margin-right: .08rem;
}
.text-dot .dot::after{
    display: block;
    content: '';
    --width: .04rem;
    width: var(--width);
    height: var(--width);

    background-color: #333;
    border-radius: var(--width);
}

.font-h1{
    font-weight: bold;
    line-height: var(--h1-line);
    font-size: var(--h1);
}
.font-h2{
    font-weight: bold;
    line-height: var(--h2-line);
    font-size: var(--h2);
}
.font-h3{
    font-weight: bold;
    line-height: var(--h3-line);
    font-size: var(--h3);
}
.font-h4{
    font-weight: bold;
    line-height: var(--h4-line);
    font-size: var(--h4);
}
.font-h5{
    line-height: var(--h5-line);
    font-size: var(--h5);
}
.font-h6{
    line-height: var(--h6-line);
    font-size: var(--h6);
}

.bold{
    font-weight: bold;
}

.bg-color{
    background-color: #EFF4FF;
}
.section-bgcolor{
    padding-top: .6rem;
    padding-bottom: .6rem;
    background-color: #EFF4FF;
}
.color-1{
    color: var(--backcolor);
}
.color-2{
    color: var(--color);
}
.color-white{
    color: #fff;
}

.pic img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.container{
    max-width: 11.4rem;
    margin-left: auto;
    margin-right: auto;
}

.mt-10 {
    margin-top: .1rem;
}

.mt-20 {
    margin-top: .2rem;
}

.mt-30 {
    margin-top: .3rem;
}

.mt-40 {
    margin-top: .4rem;
}

.mt-50 {
    margin-top: .5rem;
}

.mt-60 {
    margin-top: .6rem;
}

.mt-80 {
    margin-top: .8rem;
}
.mt-120 {
    margin-top: 1.2rem;
}
.mb-120{
    margin-bottom: 1.2rem;
}
.mt-auto{
    margin-top: auto;
}
.ml-auto{
    margin-left: auto;
}
.mx-auto{
    margin-left: auto;
    margin-right: auto;
}

.pt-40 {
    padding-top: .4rem;
}
.pt-60 {
    padding-top: .6rem;
}
.pb-60 {
    padding-bottom: .6rem;
}
.pt-80 {
    padding-top: .8rem;
}
.pb-100{
    padding-bottom: 1rem;
}
.pb-120{
    padding-bottom: 1.2rem;
}

.btn{
    display: flex;
    align-items: center;
    justify-content: center;

    width: 1.4rem;
    height: .4rem;
    
    font-weight: bold;
    line-height: var(--h5-line);
    font-size: var(--h5);
    color: var(--backcolor);
    background-color: var(--color);
    border-radius: .2rem;
}
.btn-size-2{
    width: 2.4rem;
}
.btn-group{
    display: flex;
    column-gap: .6rem;
}
.btn-group .btn{
    /* flex: 0 0 2.4rem; */
    width: auto;
    min-width: 2.4rem;
    height: .8rem;
    padding: 0 .3rem;
    border-radius: .4rem;

    font-size: var(--h4);
    border: 2px solid #FFF;
}
.btn.black{
    color: #FFF;
    background-color: #333;
}
.btn-group .btn.white{
    color: #333;
    background-color: #FFF;
}
.shadow{
    box-shadow: 0 .1rem .2rem 0 rgba(0,0,0,0.1);
}
.radius{
    border-radius: .16rem;
}
.home-arrow{
    display: block;
    flex: 0 0 .2rem;
    width: .2rem;
    height: .1rem;
    background-image: url(/static/image/arrow.png);
    background-size: auto 100%;
    background-repeat: no-repeat;
}
.list-pagination{
    display: flex;
    justify-content: flex-end;
    align-items: center;

    column-gap: .1rem;
}
.list-pagination .item{
    --width: .4rem;
    width: var(--width);
    height: var(--width);
    border-radius: var(--width);
    background-color: #FFF;

    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.list-pagination .item span{
    font-size: var(--h5);
}
.list-pagination .item:hover{
    font-weight: bold;
}
.list-pagination .item.active{
    font-weight: bold;
    background-color: var(--color);
}
.list-pagination .item.disabled{
    background-color: transparent;
    pointer-events: none;
}


.topbar{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;

    display: flex;
    align-items: center;
    height: 1rem;
}
.topbar .title{
    display: flex;
    align-items: center;
    justify-content: center;
}
.topbar .text{
    line-height: var(--h6-line);
    font-size: var(--h6);
    color: #fff;
}
.topbar .icon, .topbar-navbar .icon{
    --width: .48rem;
    flex: 0 0 var(--width);
    width: var(--width);
    height: var(--width);

    background-image: url(/static/image/topbar-icon.png);
    background-size: auto var(--width);
    background-repeat: no-repeat;
}
.icon-menu{
    background-position: 0 0;
}
.icon-more{
    background-position: calc(var(--width) * 1 * -1) 0;
}
.icon-news{
    background-position: calc(var(--width) * 2 * -1) 0;
}
.icon-volunteer{
    background-position: calc(var(--width) * 3 * -1) 0;
}
.icon-search{
    background-position: calc(var(--width) * 4 * -1) 0;
}
.icon-lang{
    background-position: calc(var(--width) * 5 * -1) 0;
}
.topbar-navbar{
    display: flex;
    align-items: center;
    column-gap: .4rem;
}
.topbar-navbar .navbar-item{
    display: flex;
    align-items: center;
    column-gap: .1rem;
    cursor: pointer;
}
.topbar-navbar .navbar-item .icon{
    --width: .24rem;
}
.topbar-navbar .navbar-item .name{
    line-height: var(--h6-line);
    font-size: var(--h6);
    color: #fff;
}


.footer{
    padding-top: 1rem;
    padding-bottom: 1.6rem;
    background-image: url(/static/image/footer.png);
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}
.footer .logo{
    width: 1.8rem;
    height: 1.2rem;
    margin-right: .3rem;
}
.footer .col{
    color: #FFF;
}
.footer .col .label{
    line-height: var(--h4-line);
    font-size: var(--h4);
    font-weight: bold;
}
.footer .col .text{
    line-height: var(--h6-line);
    font-size: var(--h6);
}
.footer .media{
    display: flex;
    column-gap: .1rem;
}
.footer .icon{
    display: inline-block;
    --width: .24rem;
    flex: 0 0 var(--width);
    width: var(--width);
    height: var(--width);

    background-image: url(/static/image/share-icon.png);
    background-size: auto var(--width);
    background-repeat: no-repeat;

    cursor: pointer;
}
.footer .icon.icon-ins{
    background-position: calc(var(--width) * 0 * -1) 0;
}
.footer .icon.icon-ytb{
    background-position: calc(var(--width) * 1 * -1) 0;
}
.footer .icon.icon-wx{
    background-position: calc(var(--width) * 2 * -1) 0;
}
.footer .icon.icon-dy{
    background-position: calc(var(--width) * 3 * -1) 0;
}
.footer .icon.icon-x{
    background-position: calc(var(--width) * 4 * -1) 0;
}
.footer .icon.icon-face{
    background-position: calc(var(--width) * 5 * -1) 0;
}
.footer .icon.icon-xhs{
    background-position: calc(var(--width) * 6 * -1) 0;
}
.footer .line{
    height: 1px;
    background-color: #FFF;
}
.footer .copyright{
    text-align: center;
    font-weight: 400;
    line-height: var(--h6-line);
    font-size: var(--h6);
    color: #FFF;
}

.join{
    position: relative;
    height: 5.4rem;
}
.join .content{
    flex: 1;
    min-width: 0;
    position: relative;
}

.goTop{
    --width: .48rem;
    width: var(--width);
    height: var(--width);

    background-image: url(/static/image/goTop.png);
    background-size: contain;
    background-repeat: no-repeat;

    position: fixed;
    bottom: 1.2rem;
    right: .6rem;
    z-index: 6;

    cursor: pointer;
}

.page-banner{
    height: 4.4rem;
    background-position: top center;
    background-size: auto 100%;
}


.collapse .van-collapse-item{
    padding-top: .4rem;
    padding-bottom: .4rem;
    border-bottom: 1px solid #CCC;
}
.collapse .van-cell,
.collapse .van-collapse-item__content{
    height: auto;
    padding: 0;
    color: #333;
    background-color: transparent;
    border: none;
}
.collapse .van-collapse-item__title{
    display: flex;
    align-items: center;
}
.collapse-item .arrow{
    --width: .24rem;
    width: var(--width);
    height: var(--width);
    background-image: url(/static/image/collapse-arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform .3s;
}
.collapse-item .arrow.on{
    transform: rotate(180deg);

}
.collapse-item-wrap{
    margin-top: .2rem;
}

@media screen and (min-width: 751px) {
    a .title,
    .link .title{
        display: flex;
    }
    a .title p,
    .link .title p,
    .link .title .p{
        border-bottom: 1px solid transparent;
    }
    a:hover .title p,
    .link:hover .title p,
    .link:hover .title .p{
        color: var(--backcolor);
        border-color: var(--backcolor);
    }
    
    .mobile-show{
        display: none;
    }
    .topbar .container{
        height: 1rem;
    }
    .topbar .title{
        margin-right: auto;
    }
    .topbar .line{
        margin: 0 .04rem;
    }
    
    .header{
        position: fixed;
        top: 1rem;
        left: 0;
        right: 0;
        z-index: 9;

        --col: #FFF;
        --blur: 20px;
    }
    .header.fixed{
        --col: #144A23;
        top: var(--margin);
    }
    .header .navbar{
        display: flex;
        align-items: center;
        justify-content: center;
        height: .6rem;
        column-gap: .8rem;
        column-gap: .4rem;
        margin: 0 .7rem;
    }
    .header .navbar .backdrop{
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;

        background: rgba(255,255,255,0.5);
        backdrop-filter: blur(var(--blur));
        box-shadow: 0 .04rem .1rem 0 rgba(0,0,0,0.1);
        border-radius: .3rem;
        border: .02rem solid rgba(255,255,255,0.5);
    }
    .header .navbar-item{
        position: relative;
        display: flex;
        align-items: center;
        height: 100%;
        padding: 0 .2rem;
    }
    .header .navbar-item.active::after{
        content: '';
        width: .32rem;
        height: .02rem;
        background-color: var(--col);

        position: absolute;
        bottom: .1rem;
        left: 50%;
        margin-left: -.16rem;
    }
    .header .navbar-item .text{
        /* line-height: var(--h5-line); */
        font-size: var(--h5);
        font-weight: bold;
        color: var(--col);
    }
    .header .navbar-item-menu{
        display: none;
        position: absolute;
        top: 100%;
        left: -.6rem;
        padding-top: .2rem;
    }
    .header .navbar-item:hover .navbar-item-menu{
        display: block;
    }
    .header .navbar-item-menu .wrapper{
        width: 2.4rem;
        padding: .2rem .1rem .2rem .2rem;
        background-color: rgba(255,255,255,0.5);
        backdrop-filter: blur(var(--blur));
        box-shadow: 0 .04rem .1rem 0 rgba(0,0,0,0.1);
        border-radius: .04rem;
        border: 1px solid rgba(255,255,255,0.5);
    }
    .header .navbar-item-menu li + li{
        margin-top: .2rem;
    }
    .header .navbar-item-menu .content{
        padding-left: .2rem;
    }
    .header .navbar-item-menu .link{
        display: block;
        margin-top: .1rem;
    }


    .footer .wrapper{
        display: flex;
        padding-left: 1.2rem;
        padding-right: 1.2rem;
    }
    .footer .col{
        margin-left: 1.1rem;
    }
    .footer .line{
        margin-left: .6rem;
        margin-right: .6rem;
    }
    
    .join .pic{
        width: 7.2rem;
        height: 5.4rem;

        position: absolute;
        top: 0;
        right: 0;
    }
    .join .content{
        width: 3.6rem;
    }
    .join .font-h2{
        padding-top: .6rem;
    }
    .join .btn-group{
        position: relative;
        z-index: 1;
    }

    .page-banner + .page-content{
        margin-top: -2rem;
        background-color: #F6F9FE;
        border-radius: 2rem 2rem 0 0;
    }
    .page-banner + .page-content::before{
        content: '';
        display: block;
        height: 1px;
    }

    .grid-span-2{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: .3rem;
    }
    .grid-span-3{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: .3rem;
    }
    .grid-span-4{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: .3rem;
    }
}
@media screen and (max-width: 751px) {
    body{
        font-size: .2rem;
    }
    :root{
        --h2: .48rem;
        --h2-line: .78rem;
        --h3: .36rem;
        --h3-line: .58rem;
        --h4: .32rem;
        --h4-line: .52rem;
        --h5: .28rem;
        --h5-line: .44rem;
        --h6: .24rem;
        --h6-line: .38rem;
        
        --margin: .4rem;
        /* --scale: 0.5; */
    }
    .container{
        max-width: none;
        padding-left: var(--margin);
        padding-right: var(--margin);
    }
    .btn{
        width: 2.1rem;
        height: .6rem;
        line-height: var(--h6-line);
        font-size: var(--h6);
        border-radius: .6rem;
    }
    .btn-size-2{
        width: 3.6rem;
    }
    .btn-group{
        flex-direction: column;
        align-items: center;
        row-gap: .4rem;
    }
    .btn-group .btn{
        flex: 0 0 1.2rem;
        min-width: 3.6rem;
        height: 1.2rem;
        border-radius: 1.2rem;

        font-size: var(--h3);
    }
    .list-pagination .item{
        --width: .6rem;
    }
    
    .mobile-hide{
        display: none!important;
    }
    .topbar{
        height: auto;
    }
    .topbar.fixed{
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background-color: var(--backcolor);
    }
    .topbar .title{
        flex: 1;
        min-width: 0;
        flex-direction: column;
        padding-top: var(--margin);
        padding-bottom: var(--margin);
        text-align: center;
        white-space: nowrap;
    }
    .topbar .line{
        display: none;
    }
    .topbar .text{
        line-height: .4rem;
        font-size: .24rem;
    }
    .topbar .icon{
        --width: .48rem;
    }

    .header{
        display: none;
    }
    .popup-navbar{
        height: 100%;
        overflow: unset;
    }
    .popup-navbar .navbar{
        display: flex;
        flex-direction: column;
        width: 3rem;
        height: 100%;
        padding-top: 1.2rem;
        padding-bottom: 1.2rem;
        background-color: var(--backcolor);
    }
    .popup-navbar .navbar::after{
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        box-shadow: .2rem 0 .4rem 0 rgba(0,0,0,0.1);
        pointer-events: none;
    }
    .popup-navbar .navbar .logo{
        width: 2.4rem;
    }
    .popup-navbar .navbar-item{
        display: flex;
        align-items: center;
        height: 1.2rem;
        padding-left: .6rem;

        /* position: relative; */
    }
    .popup-navbar .navbar-item.active .text{
        position: relative;
    }
    .popup-navbar .navbar-item.active .text::after{
        content: '';
        width: .32rem;
        height: .02rem;
        background-color: #FFF;

        position: absolute;
        top: .48rem;
        left: 50%;
        margin-left: -.16rem;
    }
    .popup-navbar .navbar-item .text{
        font-weight: bold;
        font-size: .32rem;
        color: #FFF;
    }
    .popup-navbar .navbar-item-menu{
        display: none;
    }
    .popup-navbar .navbar-item.show .navbar-item-menu{
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 100%;
    }
    .popup-navbar .navbar-item-menu .wrapper{
        width: 4.5rem;
        height: 100%;
        padding: 1.4rem 0 .4rem .4rem;
        background-color: var(--backcolor);
    }
    .popup-navbar .navbar-item-menu .wrapper .content{
        padding-top: .2rem;
    }
    .popup-navbar .navbar-item-menu li + li{
        margin-top: .6rem;
    }
    .popup-navbar .navbar-item-menu .link{
        display: block;
        padding: .2rem 0;
        color: #FFF;
    }

    .popup-topbar{
        display: flex;
        justify-content: center;
        background-color: var(--backcolor);
        border-radius: .32rem .32rem 0 0;
    }
    .topbar-navbar{
        display: block;
        padding: .4rem 0;
    }
    .topbar-navbar .navbar-item{
        height: 1.2rem;
        padding: 0 .4rem;
        column-gap: .1rem;
    }
    .topbar-navbar .navbar-item .icon{
        --width: .48rem;
    }


    .footer{
        padding: 1rem var(--margin);
        background-image: url(/static/image/footer-m.png);
        background-position: right bottom;
        background-size: 100% auto;
        background-color: var(--backcolor);
        background-repeat: no-repeat;
    }
    .footer .logo{
        margin-left: auto;
        margin-right: auto;
    }
    .footer .col{
        margin-top: 1rem;
        margin-left: .6rem;
    }
    .footer .col .label{
        line-height: var(--h2-line);
        font-size: var(--h2);
    }
    .footer .col .text{
        line-height: var(--h4-line);
        font-size: var(--h4);
    }
    .footer .media{
        column-gap: .2rem;
    }
    .footer .icon{
        --width: .48rem;
    }
    .footer .copyright{
        line-height: var(--h4-line);
        font-size: var(--h4);
    }

    .join{
        display: flex;
        flex-direction: column;
        height: auto;
        overflow: unset;
    }
    .join .content{
        padding-top: .2rem;
    }
    .join .font-h2{
        order: -1;
        text-align: center;
    }
    .join .pic{
        order: -1;
        margin-top: .4rem;
    }

    .goTop{
        --width: .96rem;
    }
    
    .page-banner{
        height: 4.8rem;
    }
}