.headerBody {
    width: 100vw;
    background-color: #f6f6f6;
    z-index: 99;
    position: sticky;
    top: 0;
}

.topHeader {
    margin: 0 auto;
    height: 39px;
    width: 1200px;
    justify-content: space-between
}

.topHeader,
.topHeader .welcome {
    display: flex;
    align-items: center
}

.topHeader .welcome {
    font-size: 14px;
    font-weight: 400;
    color: #606775;
    justify-content: flex-start
}

.topHeader .welcome div {
    width: 4px;
    height: 12px;
    background: #54a8ff;
    border-radius: 2px;
    margin-right: 4px
}

.customerService {
    width: 266px;
    height: 34px;
    background: #00afff;
    border-radius: 17px;
    display: flex;
    justify-content: center;
    align-items: center
}

.customerService img {
    width: 38px;
    height: 36px;
    margin-right: 12px
}

.customerService .phoneNumber {
    font-weight: 600;
    font-size: 16px;
    color: #fff
}

.menuHeader {
    width: 100vw;
    height: 64px;
    background: #fff;
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .1);
    display: flex;
    justify-content: center;
    align-items: center
}

.menuHeader .menuHeaderContent {
    width: 1200px;
    display: flex;
    justify-content: flex-start;
    align-items: center
}

.menuHeader .menuHeaderContent .logo {
    width: 167px;
    height: 32px;
    margin-right: 60px
}

.menuHeader .menuHeaderContent .pageMenu {
    display: flex;
    justify-content: flex-start;
    align-items: center
}

.menuHeader .menuHeaderContent .pageMenu .pageItem {
    display: block;
    position: relative;
    margin-right: 48px;
    font-size: 16px;
    line-height: 64px;
    height: 64px;
    font-weight: 400;
    color: #2c3040;
    cursor: pointer
}

.menuHeader .menuHeaderContent .pageMenu .active {
    font-weight: 600
}

.menuHeader .menuHeaderContent .pageMenu .active:after {
    position: absolute;
    content: "";
    height: 5px;
    width: 100%;
    background: #ff9700;
    border-radius: 3px;
    left: 0;
    bottom: 0
}

.footer {
    .footerMenu {
        width: 100%;
        height: 355px;
        background: #2d2f37;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;

        .footerMenuContent {
            width: 1200px;

            .titleText {
                color: #fff
            }

            .contentText,
            .titleText {
                font-weight: 400;
                font-size: 14px
            }

            .contentText {
                color: rgba(255,255,255,0.6);
                cursor: pointer;
                &:hover {
                    opacity: 0.7;
                }
            }

            .baseLink {
                margin-top: 48px;
                margin-bottom: 24px;
                display: flex;
                justify-content: flex-start;
                align-items: flex-start;

                .contract {
                    margin-right: 75px;

                    .xmwLogo {
                        width: 103px;
                        height: 32px;
                        margin-bottom: 41px
                    }
                }

                .links {
                    display: flex;

                    .linksItem {
                        margin-right: 60px
                    }

                    a {
                        display: block;
                        margin-bottom: 8px
                    }

                    .titleText {
                        margin-bottom: 20px
                    }
                }

                .qrCodes .qrCode {
                    margin-top: 20px;
                    width: 75px;
                    height: 75px
                }
            }

            .line {
                width: 100%;
                height: 1px;
                background: rgba(96, 103, 117, .35);
                margin-bottom: 21px
            }

            .friendLink {
                width: 100%;
                display: flex;
                justify-content: flex-start;
                align-items: center;

                a {
                    display: block;
                    margin-left: 32px
                }
            }
        }
    }

    .footerCompanyInfo {
        width: 100%;
        height: 60px;
        background: #22242a;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 400;
        font-size: 14px;
        color: #fff;
        margin-bottom: 72px
    }

    .footerOrder {
        position: fixed;
        z-index: 99;
        bottom: 0;
        width:100vw;
        height: 72px;
        background-image: url(/style/img/footerOrderBg.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 50%;

        .footerOrderContent {
            width: 1200px;
            height: 72px;
            margin: 0 auto;
            position: relative;
            display: flex;
            justify-content: flex-start;
            align-items: center;

            .nameInput,
            .phoneInput {
                width: 240px;
                border: none;
                height: 48px;
                padding-left: 24px;
                border-radius: 28px;
                box-sizing: border-box;

                &::placeholder {
                    font-weight: 400;
                    font-size: 16px;
                    color: rgba(96, 103, 117, 0.3)
                }
            }

            .nameInput {
                width: 164px;
                margin-right: 16px
            }

            .footerOrderLogo {
                position: absolute;
                bottom: 0;
                width: 156px;
                height: 148px
            }

            .footerOrderTip {
                margin-left: 148px;
                margin-right: 88px;
                font-size: 24px
            }

            .btn,
            .footerOrderTip {
                font-weight: 600;
                color: #fff
            }

            .btn {
                display: inline-block;
                width: 188px;
                height: 48px;
                background: linear-gradient(133deg, #ffaf00, #ff5b00);
                border-radius: 28px;
                text-align: center;
                font-size: 20px;
                line-height: 48px;
                margin-left: 16px;
                cursor: pointer
            }
        }
    }
}

* {
    scroll-behavior: smooth
}

body {
    font-family: HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    font-weight: 300;
    font-size: 16px;
    margin: 0;
    padding: 0
}

a {
    text-decoration: none;
    color: #108db8;
    font-weight: 700
}

img {
    max-width: 100%
}

nav {
    width: 100%;
    background: #108db8
}

nav a {
    color: #fff;
    padding: 1rem;
    display: inline-block
}

.main {
    width: 100%;
    background-color: #f6f6f6
}

.campContent {
    width: 100vw;

    .campInfoTitle {
        width: 815px;
        height: 65px;
        box-sizing: border-box;
        border-bottom: 1px solid #ededed;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        font-weight: 600;
        font-size: 24px;
        color: #2c3040;
        padding-left: 15px;
        position: relative;

        &:before {
            content: "";
            display: inline-block;
            position: absolute;
            width: 8px;
            height: 24px;
            background: #00affe;
            left: 0
        }
    }

    .banner {
        background-image: url(/style/img/camp/bannerBg.png);
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: cover;
        width: 100%;
        height: 174px;
        margin-bottom: 24px;

        .bannerContent {
            width: 1200px;
            height: 174px;
            margin: 0 auto;
            box-sizing: border-box;
            padding-top: 45px;

            .title {
                font-weight: 600;
                font-size: 40px;
                color: #fff
            }

            .subTitle {
                margin-top: 4px;
                font-weight: 400;
                font-size: 14px;
                color: #fff
            }
        }
    }

    .campContentBody {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        width: 1200px;
        margin: 0 auto;

        .campInfoContent {
            width: 880px;

            .campInfoDetailContent {
                width: 880px;
                height: 414px;
                padding: 32px;
                background-color: #fff;
                box-sizing: border-box;
                margin-bottom: 28px;
                border-radius: 4px;

                .header {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    margin-bottom: 24px;

                    .title {
                        font-size: 28px;
                        color: #2c3040
                    }

                    .search,
                    .title {
                        font-weight: 600
                    }

                    .search {
                        font-size: 14px;
                        color: #54a8ff;
                        cursor: pointer
                    }
                }

                .details {
                    display: flex;
                    justify-content: flex-start;
                    align-items: flex-start;

                    .imgs {
                        box-sizing: border-box;
                        padding-right: 20px;
                        height: 280px;
                        width: 352px;
                        border-right: 1px solid #ededed;

                        .bigImg {
                            display: block;
                            width: 332px;
                            height: 220px;
                            margin-bottom: 8px
                        }

                        .imgsList {
                            display: flex;
                            justify-content: space-between;
                            align-items: center;

                            .img {
                                width: 76px;
                                height: 51px;
                                cursor: pointer
                            }
                        }
                    }

                    .infos {
                        display: flex;
                        flex-direction: column;
                        align-items: flex-start;
                        justify-content: flex-start;
                        padding-left: 20px;
                        box-sizing: border-box;
                        font-weight: 400;
                        font-size: 14px;
                        color: #606775;

                        .infoItem {
                            display: flex;
                            justify-content: flex-start;
                            align-items: flex-start;
                            width: 400px;
                            margin-bottom: 11px;

                            span {
                                max-width: 300px
                            }

                            .blueStar {
                                width: 20px;
                                height: 20px;
                                margin-right: 4px
                            }

                            .redBag {
                                width: 13px;
                                height: 18px;
                                margin-right: 8px
                            }

                            .hot {
                                width: 34px;
                                height: 16px;
                                margin-left: 4px
                            }

                            .btn1 {
                                background: #00affe;
                                line-height: 56px;
                                text-align: center;
                                margin-right: 16px
                            }

                            .btn1,
                            .btn2 {
                                width: 208px;
                                height: 56px;
                                border-radius: 4px;
                                font-weight: 600;
                                font-size: 20px;
                                color: #fff;
                                cursor: pointer
                            }

                            .btn2 {
                                background: #ff5b00;
                                display: flex;
                                justify-content: center;
                                align-items: center;

                                img {
                                    width: 28px;
                                    height: 30px;
                                    margin-right: 12px
                                }
                            }
                        }
                    }
                }
            }

            .campInfoMenu {
                width: 880px;
                height: 378px;
                background: #fff;
                margin-bottom: 28px;
                border-radius: 4px;

                .menus {
                    display: flex;
                    align-items: center;
                    justify-content: flex-start;
                    padding: 0 33px;

                    .menuItem {
                        width: 94px;
                        height: 58px;
                        line-height: 58px;
                        text-align: center;
                        position: relative;
                        font-weight: 400;
                        font-size: 20px;
                        cursor: pointer;
                        color: #2c3040;
                        margin-right: 30px;

                        &:hover {
                            color: #00affe;

                            &:after {
                                content: "";
                                display: inline-block;
                                position: absolute;
                                width: 94px;
                                height: 4px;
                                background: #00affe;
                                bottom: 0;
                                left: 0
                            }
                        }
                    }
                }

                .banner {
                    width: 100%;
                    height: 320px
                }
            }

            .campCourse {
                width: 880px;
                height: 262px;
                background: #fff;
                margin-bottom: 28px;
                border-radius: 4px;

                .campCourseList {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    padding: 32px 43px;
                    box-sizing: border-box;

                    .courseItem {
                        position: relative;
                        width: 178px;
                        height: 132px;

                        img {
                            position: absolute;
                            top: 0;
                            left: 0;
                            width: 178px;
                            height: 132px
                        }

                        .title {
                            left: 16px;
                            top: 32px;
                            font-weight: 400;
                            font-size: 12px
                        }

                        .subTitle,
                        .title {
                            position: absolute;
                            color: #fff
                        }

                        .subTitle {
                            left: 25px;
                            top: 53px;
                            font-weight: 600;
                            font-size: 20px;

                            &:before {
                                content: "";
                                width: 4px;
                                height: 16px;
                                background: #ffd300;
                                border-radius: 2px;
                                top: 6px;
                                left: -10px
                            }
                        }
                    }
                }
            }

            .campIntro {
                border-radius: 4px;
                width: 880px;
                height: 907px;
                background: #fff;
                margin-bottom: 28px;

                .campIntroDetail {
                    padding: 24px 42px 0;
                    box-sizing: border-box;
                    display: flex;
                    flex-direction: column;
                    justify-content: flex-start;
                    align-items: center;

                    .campImg {
                        width: 100%;
                        height: 230px;
                        background-color: red
                    }

                    .campIntroItem {
                        width: 100%;
                        min-height: 60px;
                        display: flex;
                        box-sizing: border-box;
                        padding: 22px 0;
                        justify-content: flex-start;
                        align-items: flex-start;
                        border-bottom: 1px dashed #ededed;

                        .title {
                            color: #606775;
                            width: 80px;
                            text-align: left
                        }

                        .content,
                        .title {
                            font-weight: 400;
                            font-size: 14px
                        }

                        .content {
                            color: #2c3040;
                            flex: 1 1;

                            .star {
                                width: 20px;
                                height: 20px;
                                margin-right: 4px
                            }

                            span {
                                margin-right: 24px
                            }
                        }

                        &:last-child {
                            border-bottom: none
                        }
                    }
                }
            }

            .campTeacher {
                border-radius: 4px;
                width: 880px;
                height: 678px;
                background: #fff;
                margin-bottom: 28px;

                .campTeachers {
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: space-between;
                    align-items: flex-start;
                    padding: 28px 42px 0;
                    box-sizing: border-box;

                    .teacher {
                        width: 178px;
                        height: 250px;
                        position: relative;
                        margin-bottom: 20px;
                        cursor: pointer;
                        &:hover {
                            opacity: 0.8;
                        }

                        .campTeacherBg {
                            position: absolute;
                            z-index: 1;
                            width: 80px;
                            height: 78px;
                            bottom: 1px;
                            right: 1px
                        }

                        .avatar {
                            width: 100%;
                            height: 156px;
                            display: block
                        }

                        .teacherInfo {
                            z-index: 2;
                            position: absolute;
                            width: 100%;
                            height: 94px;
                            text-align: center;
                            border-radius: 0 0 8px 8px;
                            border: 1px solid #dadee2;
                            border-top: 0;
                            box-sizing: border-box;
                            padding: 20px;

                            .name {
                                font-weight: 600;
                                font-size: 20px;
                                color: #2c3040
                            }

                            .grade {
                                font-weight: 400;
                                font-size: 14px;
                                color: #666
                            }
                        }
                    }
                }
            }

            .campEnvironment {
                border-radius: 4px;
                width: 880px;
                height: 538px;
                background: #fff;
                margin-bottom: 60px;

                .items {
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: space-between;
                    align-items: flex-start;
                    padding: 32px 42px 0;
                    box-sizing: border-box;

                    .item {
                        width: 178px;
                        height: 178px;
                        background: #fff;
                        border-radius: 4px;
                        margin-bottom: 28px;
                        cursor: pointer;
                        border: 1px solid #dadee2;

                        .campImg {
                            width: 100%;
                            height: 132px;
                            display: block;
                            border-radius: 4px 4px 0 0;
                        }

                        .name {
                            width: 100%;
                            box-sizing: border-box;
                            padding: 13px 12px;
                            font-weight: 400;
                            font-size: 14px;
                            color: #2c3040
                        }

                        &:hover {
                            box-shadow: 0 0 17px 0 rgba(0, 0, 0, .25)
                        }
                    }
                }
            }
        }

        .recommendContent {
            width: 288px;

            .video {
                height: 156px;
                margin-bottom: 32px
            }

            .recommend,
            .video {
                width: 288px;
                background-color: #fff;
                border-radius: 4px;
            }

            .recommend {
                height: 730px;

                .header {
                    width: 100%;
                    height: 65px;
                    padding-left: 32px;
                    display: flex;
                    border-bottom: 1px solid #ededed;
                    align-items: center;
                    justify-content: flex-start;
                    box-sizing: border-box;

                    img {
                        width: 15px;
                        height: 20px;
                        margin-right: 3px
                    }

                    span {
                        font-weight: 600;
                        font-size: 18px;
                        color: #2c3040
                    }
                }

                .camps {
                    width: 220px;
                    margin: 0 auto;

                    .camp {
                        height: 214px;
                        width: 100%;
                        box-sizing: border-box;
                        padding: 20px 0;
                        border-bottom: 1px dashed #ededed;

                        &:last-child {
                            border-bottom: none
                        }

                        .campImg {
                            display: block;
                            width: 220px;
                            height: 146px;
                            margin-bottom: 8px
                        }

                        .campInfo {
                            display: flex;
                            justify-content: space-between;
                            align-items: center;

                            .name {
                                font-weight: 600;
                                font-size: 14px;
                                color: #2c3040
                            }

                            .attention {
                                display: flex;
                                align-items: center;
                                font-weight:400;
                                font-size:12px;
                                color:#999;

                                img {
                                    width: 13px;
                                    height: 12px;
                                    margin-right: 4px;
                                    opacity: 0.6;
                                }

                               
                            }
                        }
                    }
                }
            }
        }
    }
}