* {
    margin: 0;
    padding: 0;
}

body {
    color: #181818;
    font-family: Microsoft YaHei, Helvetica Neue, Helvetica, STHeiTi, Arial, sans-serif;
    max-width: 769px;
    min-width: 320px;
    margin: 0 auto;
    touch-action: manipulation;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    background: #f7f7f7;
}

a {
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

li {
    list-style: none;
}

em,
i {
    font-style: normal;
}

input {
    -webkit-appearance: none;
}

header {
    display: flex;
    align-items: center;
    height: 4.167rem;
    padding: 0 1rem;
    background: #ee0a24;
}

    header a {
        color: #ffffff;
        font-size: 1.5rem;
        font-weight: bold;
    }
/* 联系我们 */
.contact {
    padding: 1.2rem 1.2rem 5.667rem;
    background: #f7f7f7;
}

    .contact .block {
        padding: 1rem;
        background: #ffffff;
        border-radius: 1rem;
    }

        .contact .block:not(:first-of-type) {
            margin-top: 1rem;
        }

    .contact .contact_info .kf {
        display: flex;
        align-items: center;
    }

        .contact .contact_info .kf .icon {
            width: 3.3333rem;
            height: 3.4167rem;
            margin-right: 1.3333rem;
            border-radius: 0.5rem;
        }

        .contact .contact_info .kf .right {
            flex: 1;
        }

        .contact .contact_info .kf .text {
            font-size: 1.1667rem;
            color: #6b7280;
        }

        .contact .contact_info .kf .mark {
            display: flex;
            align-items: center;
            margin-top: 0.3333rem;
        }

            .contact .contact_info .kf .mark span {
                font-weight: bold;
                font-size: 1.1667rem;
                color: #1f2937;
            }

            .contact .contact_info .kf .mark .copy {
                width: 1.0833rem;
                height: 1.5rem;
                margin-left: 0.5rem;
            }

        .contact .contact_info .kf:not(:first-of-type) {
            margin-top: 1rem;
        }

    .contact .wx_code {
        font-size: 1.1667rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

        .contact .wx_code .title {
            color: #4b5563;
        }

        .contact .wx_code .code {
            width: 13rem;
            height: 13rem;
            margin: 0.3rem 0;
        }

        .contact .wx_code .text {
            color: #6b7280;
        }

    .contact .remind {
        font-size: 1.1667rem;
    }

        .contact .remind .title {
            font-weight: bold;
            color: #1f2937;
        }

        .contact .remind .line {
            display: flex;
        }

        .contact .remind > div {
            line-height: 2.2rem;
        }

            .contact .remind > div img {
                width: 0.9167rem;
                min-width: 0.9167rem;
                height: 0.9167rem;
                margin-top: 0.6rem;
                margin-right: 0.3333rem;
            }

    .contact .zxkf {
        position: relative;
        padding: 1.3333rem 0;
    }

        .contact .zxkf > img {
            width: 8.75rem;
            height: 8.75rem;
            position: absolute;
            left: 0;
            bottom: 0;
        }

        .contact .zxkf .kf_right {
            margin-left: 9rem;
        }

            .contact .zxkf .kf_right .t {
                display: flex;
                align-items: center;
            }

                .contact .zxkf .kf_right .t span {
                    font-size: 1.3333rem;
                }

                .contact .zxkf .kf_right .t .ljzx {
                    display: block;
                    padding: 0.5rem 1.5rem;
                    margin-left: 1rem;
                    font-size: 1.3333rem;
                    color: #ffffff;
                    background: #ee0a24;
                    border-radius: 0.5rem;
                }

            .contact .zxkf .kf_right .xq {
                font-size: 1.1667rem;
                color: #777777;
                margin-top: 1rem;
            }

.phone_modal {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 9999;
}

    .phone_modal .phone_mask {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
    }

    .phone_modal .phone_dialog {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 84%;
        max-width: 35rem;
        background: #fff;
        border-radius: 0.8333rem;
        overflow: hidden;
        box-shadow: 0 0.8333rem 2.5rem rgba(0, 0, 0, 0.2);
    }

        .phone_modal .phone_dialog .phone_title {
            padding: 1.3333rem 1.5rem;
            font-size: 1.1667rem;
            font-weight: bold;
            color: #181818;
            border-bottom: 0.0833rem solid #f0f0f0;
        }

        .phone_modal .phone_dialog .phone_body {
            padding: 1.3333rem 1.5rem;
        }

            .phone_modal .phone_dialog .phone_body .tip {
                font-size: 1rem;
                color: #888;
                margin-bottom: 0.8333rem;
            }

        .phone_modal .phone_dialog .phone_input {
            width: 90%;
            height: 3.3333rem;
            border: 1px solid #e5e5e5;
            border-radius: 0.5rem;
            padding: 0 1rem;
            font-size: 1.25rem;
            outline: none;
        }

            .phone_modal .phone_dialog .phone_input:focus {
                border-color: #5c78f5;
                box-shadow: 0 0 0 0.1667rem rgba(64, 158, 255, 0.1);
            }

        .phone_modal .phone_dialog .phone_actions {
            display: flex;
            gap: 1rem;
            padding: 1.1667rem 1.5rem;
            border-top: 0.0833rem solid #f0f0f0;
        }

        .phone_modal .phone_dialog .btn {
            flex: 1;
            height: 3.3333rem;
            border-radius: 0.5rem;
            border: 0;
            font-size: 1.25rem;
        }

            .phone_modal .phone_dialog .btn.cancel {
                background: #f5f5f5;
                color: #333;
            }

            .phone_modal .phone_dialog .btn.ok {
                background: #5c78f5;
                color: #fff;
            }

.tabbar {
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 100%;
    height: 4.667rem;
    background: #ffffff;
    position: fixed;
    bottom: 0;
    max-width: 769px;
    min-width: 320px;
    margin: 0 auto;
    box-shadow: 0 0.167rem 0.333rem 0 rgba(0, 0, 0, 0.5);
}

    .tabbar a {
        display: flex;
        flex-direction: column;
        align-items: center;
        font-size: 1.167rem;
        color: #9e9e9e;
    }

        .tabbar a::before {
            display: inline-block;
            content: "";
            width: 2rem;
            height: 2rem;
            margin-bottom: 0.167rem;
        }

        .tabbar a.active {
            font-weight: bold;
            color: #ee0a24;
        }

        .tabbar a.home::before {
            background: url(/images/m23/home.png) no-repeat center center / 2rem 2rem;
        }

        .tabbar a.home.active::before {
            background: url(/images/m23/a_home.png) no-repeat center center / 2rem 2rem;
        }

        .tabbar a.purchase::before {
            background: url(/images/m23/article.png) no-repeat center center / 2rem 2rem;
        }

        .tabbar a.purchase.active::before {
            background: url(/images/m23/a_article.png) no-repeat center center / 2rem 2rem;
        }

        .tabbar a.kf::before {
            background: url(/images/m23/kf.png) no-repeat center center / 2rem 2rem;
        }

        .tabbar a.kf.active::before {
            background: url(/images/m23/a_kf.png) no-repeat center center / 2rem 2rem;
        }

.popalert {
    width: 23rem;
    padding: 0.833rem 2rem;
    position: fixed;
    bottom: -55rem;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    background-color: #ffffff;
    border-radius: 0.6rem;
    transition: all 0.3s;
    box-shadow: 0 0.167rem 0.833rem 0 rgba(207, 207, 207, 0.39), 0 -0.167rem 0.833rem 0 rgba(207, 207, 207, 0.39);
    z-index: 99999;
}

    .popalert.show {
        bottom: 12.5rem;
        transition: all 0.3s;
    }

    .popalert > div {
        display: flex;
    }

        .popalert > div .be {
            width: 1.5rem;
            height: 1.5rem;
            border-radius: 50%;
            color: #5398fd;
            border: 0.167rem solid #5398fd;
            margin-right: 0.667rem;
            font-size: 1.167rem;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .popalert > div.error .be {
            color: #c60000;
            border: 0.167rem solid #c60000;
        }

        .popalert > div.success > .be {
            color: #80c957;
            border: 0.167rem solid #80c957;
        }

        .popalert > div.warn > .be {
            color: #e0a444;
            border: 0.167rem solid #e0a444;
        }

        .popalert > div .mes {
            flex: 1;
            font-size: 1.167rem;
            display: flex;
            align-items: center;
        }

@media screen and (max-width: 373px) {
    html {
        font-size: 11px;
    }
}

@media screen and (min-width: 374px) {
    html {
        font-size: 12px;
    }
}

@media screen and (min-width: 413px) {
    html {
        font-size: 13px;
    }
}

@media screen and (min-width: 540px) {
    html {
        font-size: 14px;
    }
}

@media screen and (min-width: 580px) {
    html {
        font-size: 15px;
    }
}
