html, body{
    padding: 0; margin: 0; width: 100%; font-family:'Lato', "微軟正黑體", "Microsoft JhengHei", sans-serif;
}
.wrap{
    position: relative; width: 100%; top: 0; left: 0;
}

.container{
    padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;
}

.cpage.container{
    min-height: 650px;
}

.mobile{
    display: none;
}

.desktop{
    display: block;
}

.prev_arrow{
    position: absolute; top: 50%; left: -25px; z-index: 9;
}

.next_arrow{
    position: absolute; top: 50%; right: -25px; z-index: 9;
}

.prev_arrow, .next_arrow i{
    font-size: 24px; cursor: pointer;
}

/*Head Bar*/
.headbar{
    width: 100%; height: 30px; background-color: #009854;
}

.headbar .headbar_content{
    position: relative;
}

.headbar .social_media{
    position: relative; text-align: right; padding: 3px;
}

.headbar .social_media div{
    width: 30px; display: inline-block; line-height: 27px;
}

.headbar .social_media i{
    color: #FFFFFF; font-size: 18px;
}

/*Menu*/
.menu_bar{
    position: relative; width: 100%; padding: 12px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;
}

.menu_bar .logo{
    height: 120px;
}

.menu_bar .logo img{
    height: 90%;
}

.menu_bar ul.menu_items{
    list-style-type: none; width: 100%; margin: 0; padding: 0; text-align: center;
}

.menu_bar ul.menu_items li{
    position: relative; display: inline-block; width: 15%;
}

.menu_bar ul.menu_items li a{
    text-decoration: none; color: #000000;
}

/*Desktop Submenu*/
.menu_bar ul.menu_items li .sub_menu, .menu_bar ul.menu_items div.sub_menu_level_2{
    display:none; position: absolute; width: 100%; background-color: #F1F1F1; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 9; transition: 0.5s all;
}

.menu_bar ul.menu_items li:hover .sub_menu{
    display: block;
}

.menu_bar ul.menu_items li .sub_menu div.sub_item, .menu_bar ul.menu_items .sub_menu_level_2 div.sub_item_level_2{
    position: relative; display:block; padding: 8px; background-color: #F1F1F1;
}

.menu_bar ul.menu_items li .sub_menu  .sub_menu_level_2{
    left:100%; top: 0; height: 100%;
}

.menu_bar ul.menu_items li .sub_menu div.sub_item:hover .sub_menu_level_2{
    display: block;
}

.menu_bar ul.menu_items li .sub_menu div.sub_item:hover, .menu_bar ul.menu_items div.sub_item_level_2:hover{
    background-color: #DDDDDD;
}

/*Mobile Menu*/
.menu_bar .mobile_bar{
    position: absolute; top: 60px; right: 25px; font-size: 22px; cursor: pointer;
}

.mobile_menu{
    display: none; overflow-y: auto;
}

.mobile_menu ul.mobile_menu_items{
    list-style-type: none; padding-bottom: 20px;
}

.mobile_menu ul.mobile_menu_items li{
    display:block; margin-top: 30px;
}

.mobile_menu ul.mobile_menu_items li a{
    text-decoration: none; color: #FFFFFF;
}

.mobile_menu{
    position: fixed; width: 280px; height: 100%; background-color: #009854; color: #FFFFFF; top: 0; right: 0; z-index: 10; display: none;
}

.mobile_menu .mobile_menu_content{
    position: relative; width: 100%; height: 100%;
}

.mobile_menu .close_menu{
   text-align: right; padding: 20px; cursor: pointer;
}

/*Mobile Submenu*/
.mobile_menu ul.mobile_menu_items li .sub_menu, .mobile_menu div.sub_menu_level_2{
    margin-left: 20px; display: none;
}

.mobile_menu ul.mobile_menu_items li .sub_menu div.sub_item, .mobile_menu .sub_menu_level_2 div.sub_item_level_2{
    margin-top: 15px;
}

/*Homepage photos*/
.home_photos{
    width: 100%;
}

.photo_item{
    position: relative; width: 100%;
}

.photo_item .img{
    width: 100%; background-position: center center; background-size: cover;
}

.photo_item .img img{
    width: 100%;
}

/*.photo_item{*/
/*    height: 100%; width: 100%;*/
/*}*/

/*.photo_item img{*/
/*    width: 100%; height: 100%; object-fit: cover; object-position: center;*/
/*}*/

/*.photo_item{*/
/*    width: 100%; min-height: 200px; max-height: 500px; background-size: 100% auto; background-position: center center; background-repeat: no-repeat;*/
/*}*/

/*Service photos*/
.service{
    width: 100%; margin-bottom: 20px;
}

.service img{
    height: 300px;
}

/*.service_item{*/
/*    height: 200px; background-position: center center;*/
/*}*/

/*About Us*/
.about{
    width: 100%; margin-top: 60px;
}

.about .about_title{
    font-weight: bold; text-align: center; font-size: 24px;
}

.product_content{
    margin-top: 15px; position: relative; width: 100%; min-height: 615px;
}

.product_content .product_img{
    left: 0; top: 0; width: 33%; display: inline-block;
}

.product_content .product_img img{
    width: 100%;
}

.product_content .product_detail{
    width: 64%; display: inline-block; background-color: #FFFFFF; vertical-align: top; margin: 20px 0 0 20px; padding: 8px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;
    /*box-shadow: 0 3px 40px -6px #777;*/
}

.product_content .product_detail .product_name{
    font-weight: bold; font-size: 22px;
}

/*Package*/
.package_list{
    position: relative; width: 100%; min-height: 680px;
}

.package_list .package_item{
    width: 100%; min-height: 150px; margin-bottom: 15px;
}

.package_list .package_item div {
    display: inline-block;
}

.package_list .package_item .package_cover{
    width: 20%;
}

.package_list .package_item .package_cover img{
    width: 100%; height: 100%; object-fit: cover; vertical-align: middle;
}

.package_list .package_item .package_detail{
    width: 55%; vertical-align: middle; margin-left: 2.5%; margin-right: 2.5%
}

.package_list .package_item .package_detail .package_title{
    display: block; font-size: 18px; font-weight: bold;
}

.package_list .package_item .package_detail .package_desc{
    display: block; margin-top: 12px;
}

.package_list .package_item .package_options{
    width: 17.5%; vertical-align: middle; text-align: center;
}

.package_list .package_item .package_options .package_price{
    font-weight: bold; display: block; margin-bottom: 12px;
}

.package_list .package_item .package_options .package_btn{
    display: block; width: 100%; height: 40px; text-align: center; background-color: #009854; color: #FFFFFF; line-height: 40px; cursor: pointer
}


/*Inner page*/
.inner{
    background-color: lightgray; width: 100%; height: 300px;
}
.inner div{
    width: 100%; text-align: center; line-height: 300px; font-size: 30px;
}
.guide{
    margin-top: 20px;
}

.guide a{
    text-decoration: none; color: #000000;
}

.split{
    margin-top: 15px; width: 100%; position: relative; min-height: 615px;
}

.split .left{
     left: 0; width: 235px; display: inline-block; vertical-align: top;
}

.split .right{
    left: 235px; width: calc(100% - 245px); display: inline-block; vertical-align: top;
}

.split .left.switched{
    left: 0; width: calc(100% - 245px); display: inline-block; vertical-align: top;
}

.split .right.switched{
    right: 0; width: 235px; display: inline-block; vertical-align: top;
}

.grouping_menu{
    width: 90%; border: 1px solid lightgray;
}

.grouping_menu.smallcenter{
    position: relative; width: 40%; margin: 0 auto;
}

.grouping_menu.filtering{
    cursor: pointer;
}

.grouping_menu.filtering:not(:last-child){
    margin-bottom: 10px;
}

.grouping_menu .group_title{
    background-color: #009854; color: #FFFFFF; padding: 10px;
}

.grouping_menu .group_title i{
    float: right; display: none; cursor: pointer;
}

.grouping_menu.filtering .group_title i{
    display: block;
}

.grouping_menu ul{
    height: 100%; list-style-type: none;
}

.grouping_menu.filtering ul{
    display: none;
}

.grouping_menu ul li{
    min-height: 35px; line-height: 35px;
}

.grouping_menu ul li a{
    text-decoration: none; color: #000000;
}

.grouping_menu ul li.active a{
    color: #009854; font-weight: bold;
}

.paging{
    width: 100%; margin-top: 30px; text-align: center; vertical-align: middle; line-height: 30px;
}

.paging  .checkout_btn{
    display: inline-block; height: 40px; padding: 8px; color: #FFFFFF; background-color: #009854; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;
}

.paging .checkout_btn:hover{
    cursor: pointer;
}

.paging .checkout_btn.disabled{
    cursor: auto; background-color: #CCCCCC;
}

.paging select{
    width: 20%; height: 40px; margin-left: 6px; margin-right: 6px;
}

.paging .prev_page, .next_page, .pages{
    display: inline-block; font-size: 17px; cursor: pointer;
}

.pages{
    margin-left: 15px; margin-right: 15px;
}

.pages div{
    display: inline-block; width: 20px; height: 25px; text-align: center; vertical-align: middle; line-height: 25px;
}

.pages a{
    text-decoration: none; color: #000000;
}

.pages div.active{
    background-color: #009854;
}

.pages div.active a{
    color: #FFFFFF;
}

.paging select.page_select{
    width: 100%; text-align: center; display: none;
}

/*Cal*/
.cal_select_main{
    margin-top: 20px; min-height: 610px;
}

.cal_select_main .cal_select_list{
    margin-top: 15px; width: 100%;
}

.cal_select_main select{
    width: 100%;
    width: 100%;
    height: 35px;
    background-color: #FFFFFF;
    border: 1px solid #E3E3E3;
    border-radius: 4px;
    color: #565656;
    padding: 8px 12px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}

.cal_select_submit{
    width: 100%; margin-top: 50px;
}

.cal_select_submit div{
    display: inline-block; text-align: center; padding: 8px; color: #FFFFFF; background-color: #009854; border: 1px solid #CCCCCC; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; cursor: pointer;
}

.cal_txt{
    line-height: 1.5; margin-bottom: 25px;
}

.cal_list{
    width: 100%;
}

.cal_list .cal_item{
    display: inline-block; width: 33%; border: 1px solid lightgray; padding: 10px; margin-bottom: 8px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;
}

.cal_list .cal_item .cal_photo{
    text-align: center; padding-bottom: 10px; border-bottom: 2px solid #009854; height: 185px; display: table-cell; vertical-align: middle;
}

.cal_list .cal_item .cal_photo img{
    text-align: center; width: 100%; height: 100%; object-fit: contain;
}

.cal_list .cal_item .cal_name, .cal_list .cal_item .cal_price{
    margin-top:5px; text-align: center;
}

.cal_list .cal_item .cal_name{
    font-weight: bold; font-size: 18px;
}

.cal_list .cal_item .cal_btn{
    margin-top:5px; text-align: center; padding: 8px; color: #FFFFFF; background-color: #009854; border: 1px solid #CCCCCC; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;
}

.cal_list .cal_item .cal_btn:hover{
    cursor: pointer;
}

.cal_list .cal_item .cal_btn.added{
    border: 1px solid #CCCCCC; color: #000000; background-color: #FFFFFF;
}

.cal_total_content{
    min-height: 631px;
}

.cal_title{
    font-weight: bold; font-size: 20px; margin-top: 20px;
}

.cal_table_title{
    width: 100%; padding: 0 20px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;
}

.cal_table_title div{
    display: inline-block;
}

.cal_table_title .cal_remove_title{
    width: 10%;
}

.cal_table_title .cal_img_title{
    width: 30%;
}

.cal_table_title .cal_desc_title{
    width: 40%;
}


.cal_total_list{
    width: 100%; border: 1px solid #CCCCCC; padding: 20px; margin-top: 10px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;
}

.cal_total_list div{
    display: inline-block; vertical-align: middle;
}

.cal_total_list .cal_total_item{
    width: 100%;
}

.cal_total_list .cal_total_item:not(:first-child){
    margin-top: 20px;
}

.cal_total_list .cal_total_item{
    border-bottom: 1px solid #CCCCCC; padding-bottom: 20px;
}

.cal_total_list .cal_remove{
    width: 10%;
}

.cal_total_list .cal_remove i{
    cursor: pointer; font-size: 20px;
}

.cal_total_list .cal_img{
    width: 30%;
}

.cal_total_list .cal_img img{
    width: 100px; height: auto; max-width: 100%;
}

.cal_total_list .cal_desc{
    width: 40%;
}

.cal_total_list .cal_desc div{
    display: block;
}

.cal_total_list .cal_desc .inner_price{
    display: none;
}

.cal_show_total{
    margin-top: 8px; width: 100%; position: relative; padding: 20px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;
}

.cal_show_total p{
    display: block; color: #009854; font-size: 16px; font-weight: bold;
}

.cal_show_total p span{
    float: right;
}

.cal_client_data{
    margin-top: 20px;
}

.cal_client_data .cal_client_header{
    font-weight: bold; margin-bottom: 8px;
}

.cal_client_data .cal_client_row input{
    width: 100%;
    height: 35px;
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
    border-radius: 4px;
    color: #565656;
    padding: 8px 12px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    margin-bottom: 5px;
}

.cal_submit{
    width: 100%; margin-top: 15px;
}

.cal_submit div{
    display: inline-block; text-align: center; padding: 8px; color: #FFFFFF; background-color: #009854; border: 1px solid #CCCCCC; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; cursor: pointer;
}

/*.cal_content{*/
/*    margin-top: 15px; position: relative; width: 100%; min-height: 615px;*/
/*}*/

/*.cal_content table{*/
/*    width: 100%; border-collapse: collapse; border: 1px solid black;*/
/*}*/

/*.cal_content table th{*/
/*    background-color: lightgrey; border-bottom: 1px solid black;*/
/*}*/

/*.cal_content table .title{*/
/*    width: 40%;*/
/*}*/

/*.cal_content table .select{*/
/*    width: 20%;*/
/*}*/

/*.cal_content table th,td{*/
/*    padding: 8px; text-align: center; border-right: solid 1px black; border-left: solid 1px black;*/
/*}*/

/*.cal_content table input[type='checkbox']{*/
/*    transform: scale(1.2);*/
/*}*/

/*.cal_content .btn_list{*/
/*    margin-top: 25px; width: 100%; text-align: center;*/
/*}*/

/*.cal_content .btn_list div{*/
/*    display: inline-block;*/
/*}*/

/*.cal_content .btn_list div input{*/
/*    padding: 8px 20px;*/
/*}*/

/*Footer*/
.footer{
    position: relative; bottom: 0; background-color: #009854; color: #FFFFFF; width: 100%; min-height: 100px; padding: 12px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; margin-top: 20px;
}

.footer ul.footer_item{
    list-style-type: none; width: 100%; padding: 0; margin: 15px 0 0 0;
}

.footer ul.footer_item li{
    display: inline-block; width: 15%; min-width: 100px;
}

.footer .copyright{
    font-size: 10px; margin-bottom: 15px; margin-top: 20px;
}

.footer .footer_item li a{
    text-decoration: none; color: #FFFFFF;
}



