.river_special_offer {
        width: 100%;
        background-color: #f4f4f4;
}

.rso_banner {
        width: 100%;
        overflow: hidden;
}

.rso_banner img {
        width: 100%;
        height: 100%;
}

.rso_page_nav {
        padding: 22px;
        box-sizing: border-box;
        width: 100%;
        background-color: #142640;
        color: white;
        font-size: 24px;
        line-height: 36px;
        text-align: center;
}

.rso_module_item {
        width: 100%;
        background-color: white;
        padding: 48px 0 24px 0;
        margin-top: 24px;


}
.rso_module_item:first-child{
        margin-top: 0;
}
.rso_module_item_content {
        max-width: 1440px;
        margin: 0 auto;
        padding: 0 96px;
        box-sizing: border-box;
}

.rso_module_item_content.rso_content {
        padding: 0 120px;
}

.rso_title_txt {
        width: 100%;
        font-size: 32px;
        line-height: 37px;
        text-align: center;
        font-family: "HYRunYuan-65J";
        color: #142640;
}

.container {
        width: 100%;
        padding-top: 24px;
}

table {
        width: 100%;
        border-collapse: collapse;
}
tbody{
        border-right: solid 1px #cccccc;
        border-left: solid 1px #cccccc;
}
td {
        padding: 20px 18px;
         color: #142640;
          font-size: 16px;
          line-height: 24px;
        border-bottom: 1px solid #cccccc;
}
.rso_month{
        text-align: center;
         border-right: 1px solid #cccccc;
}
.rso_price{
         border-left: 1px solid #cccccc;
         text-align: center;
}
th {
        padding: 15px;
        text-align: center;
        background-color: #142640;
        color: white;
        font-weight: 600;
}
.rso_room_type{
        padding-left: 102px;
        text-align: left;
}
.highlight{
        color: #B10A32;
}
.rso_note_txt{
        padding-top: 24px;
        color: black;
        font-size: 16px;
        line-height: 28px;
}
.rso_note_txt span{
        color: #B10A32;
}
.rso_btn_box{
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        padding-top: 36px;
        width: 100%;
}
.rso_btn_list{
        display: flex;
        align-items: center;
        justify-content: center;
}
.rso_btn_list div{
        width: 246px;
        height: 43px;
        line-height: 43px;
        text-align: center;
        font-size: 18px;
        color: white;
        background-color:#142640;
        letter-spacing: 2px;
        margin: 0 28px;
        cursor: pointer;
}
.rso_btn_list div:last-child{
        background-color:#B10A32;
}
.rso_rule_btn{
        cursor: pointer;
        padding-top: 36px;
        font-size: 16px;
        line-height: 28px;
        color: black;
        text-decoration: underline;
}
.rso_note_txts{
        padding-top: 16px;
        padding-bottom: 48px;
        font-size: 20px;
        line-height: 30px;
        color: #142640;
        width: 100%;
        text-align: center;
}
.rso_swiper_img{
        width: 100%;
        cursor: pointer;
}

/* 弹窗 */
.rso_popup{
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
        display: none;
        flex-direction: column;
        justify-content: center;
        align-items: center;
}
.rso_popup_content{
        width: 468px;
       
}
.rso_close_btn{
        width: 100%;
        display: flex;
        justify-content: flex-end;
        padding-bottom: 24px;
}
.rso_close_btn img{
        cursor: pointer;
}
.rso_popup_box{
        background-color: white;
        padding: 71px 0;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
}
.rso_popup_title{
        font-size: 20px;
        font-weight: 500;
        line-height: 30px;
        color: #142640;
        font-family: 'SourceHanSansCNMedium';
        text-align: center;
}
.rso_popup_code{
        width: 214px;
        height: 214px;
        padding-top: 24px;
}
.rso_popup_code img{
        width: 100%;
        height: 100%;
}
.mobile_box{
        display: none;
}
.rso_swiper .swiper-slide{
        position: relative;
}
.rso_swiper_img_mask{
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45.19%, rgba(0, 0, 0, 0.8) 100%);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        padding-bottom: 36px;
        box-sizing: border-box;
        cursor: pointer;
}
.rso_swiper_img_mask_title{
        font-size: 20px;
        font-weight: 500;
        color: white;
        line-height: 30px;
}
.rso_swiper_img_mask_btn{
       padding-top: 8px;
       position: relative;
       font-size: 14px;
       line-height: 21px;
       color: white;
}
.rso_swiper_img_mask_btn::after{
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: white;
        cursor: pointer;
}
.rso_popup_avatar{
        display: flex;
        flex-direction: column;
        align-items: center;
}
.rso_popup_avatar img{
        width: 54px;
        height: 54px;
}
.rso_popup_avatar_title{
        font-size: 20px;
        color: #142640;
        font-family: 'SourceHanSansCNMedium';
        line-height: 30px;
        padding-top: 8px;
}
.rso_popup_avatar_desc{
        color: #595959;
        font-size: 16px;
        line-height: 24px;
        padding-top: 24px;
        text-align: center;
}
@media (max-width: 1024px) {
        .rso_popup_avatar_title{
                font-size: 18px;
                line-height: 27px;
        }
        .rso_popup_avatar_desc{
                padding-top: 16px;
        }
        .rso_module_item_content{
                padding: 0 16px;
        }
        .rso_module_item_content.rso_content{
                padding: 0 16px;
        }
        .pc_box{
                display: none;
        }
        .mobile_box{
                display: block;
        }
        .rso_page_nav{
                padding: 16px;
                font-size: 16px;
                line-height: 24px;
        }
        .rso_module_item{
                padding: 24px 0 16px 0;

        }
        .rso_title_txt{
                font-size: 18px;
                line-height: 21px;
        }
        .container{
                padding-top: 16px;
        }
        th{
                padding: 8px;
                font-size: 12px;
                line-height: 18px;
        }
        td{
                padding: 8px;
                font-size: 12px;
                line-height: 18px;
        }
        .rso_room_type{
                padding-left: 8px;
        }
        .rso_note_txt{
                padding-top: 16px;
                font-size: 12px;
                line-height: 18px;
                
        }
        .rso_btn_list{
                flex-direction: column;
                align-items: flex-start;
                gap: 16px;
        }
        .rso_btn_list div{
                margin: 0;
                
        }
        .rso_btn_box{
                align-items: flex-start;
                padding-top: 24px;
        }
        .rso_rule_btn{
                padding-top: 16px;

        }
        .rso_popup_content{
                width: 100%;

        }
        .rso_popup{
                padding: 0 16px;
                box-sizing: border-box;
        }
        .rso_popup_code{
                width: 164px;
                height: 164px;
        }
        .rso_popup_title{
                font-size: 18px;
                line-height: 27px;
        }
        .rso_note_txts{
                padding-top: 8px;
                padding-bottom: 24px;
                font-size: 14px;
                line-height: 21px;
        }
        .rso_swiper_pagination{
                padding-top: 16px;
                width: 100%;
                display: flex;
                justify-content: space-between;
                align-items: center;
        }
        .rso_swiper_pagination_prev{
                width: 32px;
                height: 32px;
                transform: rotate(180deg);
        }
        .rso_swiper_pagination_prev img{
                width: 100%;
                height: 100%;
        }
        .rso_swiper_pagination_next{
                width: 32px;
                height: 32px;
        }
        .rso_swiper_pagination_next img{
                width: 100%;
                height: 100%;
        }
        .rso_swiper_img_mask{
                padding-bottom: 24px;
        }
}