@charset "utf-8";
*{	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing:border-box;
}

:root {
  --light-blue: #d5efff;
  --primary-navy: #0b2a4a;
  --middle-navy: #124272;
  --middle-navy-transparent: #124272d6;

  --light-yellow: #ffee7c; 
  --middle-yellow: #f5e107;

  --primary-red: #c41919;
}


html, body, [id^="page_"]{/*id開頭為page_*/
	width: 100%;
	height: auto;
}
body{
	font-family: Arial, Helvetica,"Microsoft JhengHei","華文細黑", STHeiti, MingLiu, sans-serif;
	background-color: var(--light-blue);
}
a{text-decoration:none; color:#434343;}

/* 主圖 */
.banner_area{
	width: 100%;
	/* height: 550px; 
	padding-top: 76px;*/
}
.header{
	width: 100%;
	height:550px;
	background: url(../images/header_bg.jpg) center top;
	background-size: cover;
	position: relative;
	overflow:hidden!important;
}
.header > img{
	display: block;
	position: absolute;
}
.header  > img:nth-child(1){top: 124px; right: calc(50% + -189px);}
.header  > img:nth-child(2){top: 124px; right: calc(50% - 465px);}

.header  > img:nth-child(3){top: 446px; z-index:2;}
.header  > img:nth-child(4){top: 334px; right: calc(50% + 460px); z-index: 2;}
.header  > img:nth-child(5){top: 210px; right: calc(50% - 210px); z-index: 3;}

.header  > img:nth-child(6){top: 370px; right: calc(50% - 550px); z-index: 2;}
.header  > img:nth-child(7){top:460px; z-index:15;}

.header  > img:nth-child(8){top: 95px; right:calc(50% + 420px); z-index:4; }
.header  > img:nth-child(9){top:250px; right:calc(50% + 590px); z-index:5; }
.header  > img:nth-child(10){top:110px; left:calc(50% + 500px); z-index:6; }
.header  > img:nth-child(11){top:250px; left:calc(50% + 590px); z-index:8; }

.logo {
    color: #ffffff !important;
    font-family: Microsoft JhengHei;
    font-size: 1.7rem;
    font-weight: 900;
}

/*雲動畫*/
.FF,.II{
	-webket-animation: CLOUD-A 5s infinite ease;
	animation-direction: alternate;
	animation: CLOUD-A 5s infinite ease;}
@-webkit-keyframes CLOUD-A{
	10%{ transform: translateX(0px); }
	50%{transform: translateX(30px); }
	100%{transform: translateX(0px); }
}
.GG,.HH{
	-webket-animation: CLOUD-B 5s infinite ease;
	animation-direction: alternate;
	animation: CLOUD-B 5s infinite ease;}
@-webkit-keyframes CLOUD-B{
	10%{ transform: translateX(0px); }
	50%{transform: translateX(-30px); }
	100%{transform: translateX(0px); }
}
/*海浪動畫*/
.DD{
	-webket-animation: WAVE-A 10s infinite ease;
	animation-direction: alternate;
	animation: WAVE-A 10s infinite ease;}
@-webkit-keyframes WAVE-A{
	10%{ transform: translateY(0px); }
	50%{transform: translateY(20px); }
	100%{transform: translateY(0px); }
}
.EE{
	-webket-animation: WAVE-B 5s infinite ease;
	animation-direction: alternate;
	animation: WAVE-B 5s infinite ease;}
@-webkit-keyframes WAVE-B{
	10%{ transform: translateY(0px); }
	50%{transform: translateY(30px); }
	100%{transform: translateY(0px); }
}
/*海龍舟動畫*/
.BB{
	-webket-animation: BOAT-A 8s infinite linear;
	animation-direction: alternate;
	animation: BOAT-A 8s infinite linear;}
@-webkit-keyframes BOAT-A{
	0%{ transform: translate3d(0px,0px,0px);}
	50%{ transform: translate3d(-50px,0px,0px);}
	100%{ transform: translate3d(0px,0px,0px);}
}
.AA,.CC{
	-webket-animation: BOAT-B 8s infinite linear;
	animation-direction: alternate;
	animation: BOAT-B 8s infinite linear;}
@-webkit-keyframes BOAT-B{
	0%{ transform: translate3d(0px,0px,0px);}
	50%{ transform: translate3d(50px,0px,0px);}
	100%{ transform: translate3d(0px,0px,0px);}
}
.navbar{
	width: 100%;
	height: 56px;
	background-color: var(--primary-navy);
	position: sticky;
	top: 0;
	z-index: 1000;
}

.navbar-dark .navbar-nav .nav-link{
	color: var(--light-yellow);
}
/*==============================================================*/
/*節慶選單*/
.festival-menu{
	/* position: absolute;
	top: 35px; */
	right:0;
	left:0;
	z-index: 50;
	background: #d2d2d2;
	border-bottom: 3px solid #005a87;}
ul.festival-menu-inner{
	width: 1000px;
	margin: 0 auto;
	padding-left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
ul.festival-menu-inner>li{
	width: 100%;
	text-align: center;
	display: flex;
}
ul.festival-menu-inner>li>a{
	display: block;
    width: 100%;
    font-size: 1.2rem;
	padding: 1rem 0;
	font-weight: 700;
}
ul.festival-menu-inner>li:hover>a{
	color:#434343;
	background: url('../images/wait-1.png') no-repeat center bottom 2px #eeeeee;
}
/* ul.festival-menu-inner>li:nth-child(3):hover>a{
	color:#434343;
	background: url('../images/triangle-hover.png') no-repeat center bottom 2px #f3c29d;
} */
ul.festival-menu-inner>li>a>span{
	display: block;
	font-size: .75rem;
	margin-top: -5px;
}
ul.festival-menu-inner>li.main-festival>a{
	color:white;
	background: url('../images/triangle.png') no-repeat center bottom 2px #fda35e;
}
/*節慶選單結束*/
/* 選單 */
#SHOWMENU{
	width: 100%;
    height: auto;
    background-color: var(--middle-navy-transparent);

	position: sticky;
	top: 56px;
	z-index: 1;
}
ul.maintabs{
	width: 1000px;
    height: auto;
    margin: 0px auto;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
}
ul.maintabs > li{width:calc(100% / 4);}

ul.maintabs>li:nth-child(5) {
    display: none;
}

ul.maintabs > li > a{
	display: block;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    line-height: 45px;
    color: white;
	padding: 0 1rem;
}
ul.maintabs > li > a:hover{
	color: var(--light-yellow);
}

#page_N >.nav > ul > li:nth-child(1) > a,
#page_M >.nav > ul > li:nth-child(2) > a,
#page_S >.nav > ul > li:nth-child(3) > a,
#page_E >.nav > ul > li:nth-child(4) > a,
#page_I >.nav > ul > li:nth-child(5) > a{
	color: #ffee7c;
    background-color: rgba(0,107,50,0.7);}

/*內容區*/
.contentwraper{
	width: 100%;
	height: auto;
	/* background:url("../images/bg.jpg") no-repeat center bottom; */
	background-attachment: fixed;
	background-size: cover;}
.content{
	width: 1200px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 0;
}
.contentwraper h1{
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
}
/*內容標題*/
.bar{
    margin: 1.5rem auto;
    /*padding: 1rem 0;*/
	display:block;
	text-indent: -9999px;
	width: 1000px;
	height: 185px;
	background: url('../images/title01.gif');
	background-repeat: no-repeat;}
.bar02{background: url('../images/title02.gif');}
.bar03{background: url('../images/title03.gif');}
.bar04{background: url('../images/title04.gif');}
.bar05{background: url('../images/title05.gif');}

/*精選行程*/
h4.select{
	text-align: center;
    font-size: 1.7rem;
    letter-spacing: 1rem;
    font-weight: bold;
    line-height: 3.5rem;
    color: #ffffff;
    background: #578458;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
	background-image: url(../images/nav-bg.png);
}	

.card a img{
	height: 200px;
	object-fit: cover;
}

/*商品*/
.goodswraper{
	width: 100%;
    margin-bottom: 1rem;
    border-radius: 5px;
	padding: .5rem;
	background-color: white;
	border: 2px solid #f5e107;
	position: relative;
}
.maingoods{
	padding: .75rem;
	border: 1px solid #f5e107;
	margin-bottom: 1rem;
}
.good{
	padding:.5rem;border-bottom: 1px dotted #8a8989;transition: all .5s linear;}
.good:hover{
	background-color:rgb(225, 228, 248);
}
.goodsinner{
	padding: .5rem 0 0 ;
}
a.tours{
    margin-bottom: 0.5rem;
}
span.location {
    position: absolute;
	background: #ff6b02;
    padding: 0.4rem;
    border-radius: 0.5rem;
    color: white;
    font-weight: bold;
	font-size: .9rem;
    margin: 0.25rem;
	display: block;
}
span.location2{
	margin-right: 0.5em;
    background: #ff6b02;
    padding: 0.4rem;
    border-radius: 0.5rem;
    color: white;
    font-weight: bold;
    font-size: .9rem;
    display: inline-block;
    margin-bottom: 0.5rem;
}
a.tours>h2.tours-title{
	font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0;
    display: initial;
}
a.tours > h2.card-title{
	font-size: 1rem;
	font-weight: 700;
    letter-spacing: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;/*行數*/
	margin-bottom: .75rem;
	margin-top: 5px;
}
a.tours:hover > h2{
	text-decoration: underline;
}
.pinner{
	text-align: right;}	
.price{
	font-size: 0.7rem;
    color: #c41919;
    font-weight: 800;
    display: inline-block;
}
.price>span{
	font-size:1.3rem;}
.price:hover{color: rgb(133, 36, 36);}
span.maintour-coast {
    font-size: 2.2rem;
}
.date{
    /*margin-bottom: 0.5rem;*/
}
a.day{font-size: 1.1rem; color:#535353;}
a.day:hover{color: rgb(133, 36, 36);text-decoration: underline;}
.date a.more{
	color:#535353;
	display: inline-block;
}	
.date a.more:hover{
	color: #553411;
	text-decoration: underline;
}
span.start{
	display: inline-block;
    margin-right: .5rem;
    font-size: .75rem;
}
.tagwraper{
	margin-bottom: .5rem;}
.tagwraper>span.tag{
	display: inline-block;
    font-size: 12px;
    color: white;
    padding: 0.15rem 0.5rem;
    border-radius: 15px;
    margin-bottom: 5px;
    margin-right: 5px;
}
.tagwraper>span.tag:nth-child(1){background-color: #eb6100;}
.tagwraper>span.tag:nth-child(2){background-color: #568d4f;}
.tagwraper>span.tag:nth-child(3){background-color: #0a9bc4;}
.maintour-inner>ol{
	padding-left: 1.3rem;
}
.maintour-inner>ol>li{
	font-size: .95rem;
	list-style-type:disc;
}
/* gotop */

#gotop {
   width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-color: var(--primary-red);
    color: white;
    line-height: 50px;
    text-align: center;
    cursor: pointer;
    z-index: 1001;
    position: fixed;
    bottom: 80px;
    right: 20px;
    border-radius: 50%;
    display: none;
    transition: all 0.5s linear;
}
#gotop:hover {
	background-color: var(--middle-navy);
}

#gotop i{
    font-size: 1.8rem;
	padding-top: 10px;
}

#eur-product, #meaf-product, #japan-korea-product, #southeast-asia-product, #south-asia-product, #china-product{
	scroll-margin-top: 120px;
}
/* 其他 */
.clear{clear: both;}
@media screen and (max-width: 999px){
body{
	/* background-image: url(../images/bg-rwd.png); */
	background-color: var(--light-blue);
}	

#eur-product, #meaf-product, #japan-korea-product, #southeast-asia-product, #south-asia-product, #china-product{
	scroll-margin-top: 100px;
}

/*主選單按鈕*/
a.hotel-btn{display: none;}
a.mainbtn{
	display: block;
    width: 2rem;
    height: 2rem;
    background: url(../images/bars-solid.svg);
    background-size: contain;
    position: fixed;
    z-index: 1200;
    top: 45px;
    right: 5px;
    cursor: pointer;}
#gotop{
	   right: 1rem;bottom: 1rem;}		
/* 主圖 */
.banner_area{height: auto;
        padding-top: 0;}
.header{
	width: 100%;
	position: initial;
	height: auto;
	background: url(../images/header_bg_rwd.jpg) center 35px no-repeat;
	background-size: 100%;
    padding-bottom: 55%;
}
.header > img{display: none !important;}
.festival-menu{display: none;}
/* 選單 */
nav#SHOWMENU{
	width: 100%;
	height: 100%;
	display: none;
    position: fixed;
    top: 56px;
    padding: 2rem;
    z-index: 1201;
    margin: 0;
	background-color: var(--primary-navy);
   }
ul.maintabs{
	width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
	padding: 1.2rem 0;}
ul.maintabs>li{
	width: 100%;
	margin-bottom: 1rem;
	border-left:none;
	}
ul.maintabs>li:nth-child(3){
	border-right:none;
	}
ul.maintabs>li:nth-child(5){display: block;}
ul.maintabs>li>a{
    width: 100%;
    height:auto;
	line-height: 50px;
    font-size: 1.4rem;
    font-weight: bold;
    padding:0;
}
/*內容區*/
.contentwraper{
	width: 100%;
	height: auto;
	background:none;}
.content{
	width: 100%;
	margin: 0 auto;
	padding: 1rem;
}
/*內容標題*/
.bar{
    margin: 0.5rem auto 1rem;
    display: block;
    text-indent: 0;
    width: 100%;
    height: auto;
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 3rem;
    /* background-color: #ca4949; */
    border-radius: 1rem;
    color: white;
    background-image: none;
    /* border: 2px solid #881817; */
}
h4.select{
	text-align: center;
    font-size: 1.7rem;
    letter-spacing: 1rem;
    font-weight: bold;
    line-height: 3.5rem;
    color: #ffffff;
    background: #578458;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
	background-image: url(../images/nav-bg.png);
}
/*商品*/
.goodswraper{width: 100%;}
.good {
    padding: 0.75rem 0;
}
a.tours h2{font-size: 1.2rem;}
/* gotop */
#gotop {bottom: 80px; right: 10px;}
}

/*==============================================================*/
/* 2026 中秋連休專案 - 覆蓋與新增樣式 */
/*==============================================================*/

/* 中間 Navi bar 改為 6 個國家館 */
ul.maintabs > li{ width: calc(100% / 6); }
ul.maintabs > li:nth-child(5){ display: flex; justify-content: center; }
ul.maintabs > li:nth-child(5) > a{ flex: 1; }
ul.maintabs > li > a{ font-size: 1.15rem; padding: 0 .5rem; }

/* 主視覺 Banner（中秋出國） */
.header{
	background: #0b2a4a;
	display: block;
	padding: 0;
	height: auto;
	overflow: hidden !important;
}
.header .banner-title{
	font-size: 3rem; font-weight: 900; letter-spacing: .25rem;
	margin: 0 0 1rem; text-shadow: 0 2px 10px rgba(0,0,0,.45);
}
.header .banner-sub{ font-size: 1.1rem; line-height: 1.9; color: #ffe89a; margin: 0; }
/* banner 圖填滿 .header */
.header .banner-calendar{
	display: block !important; position: static !important;
	width: 100%; max-width: none; height: auto;
	border-radius: 0; box-shadow: none;
	margin-top: -40px;
}

/* 內容標題（無標題圖，改為文字型） */
.contentwraper .bar{
	text-indent: 0 !important;
	background: var(--primary-navy);
	color: var(--light-yellow);
	width: 100%;
	height: auto;
	line-height: 3.4rem;
	font-size: 1.9rem;
	letter-spacing: .4rem;
	text-align: center;
	border-radius: 14px;
	/* border: 2px solid #ffe89a; */
	margin: 2rem auto 1.5rem;
}

/* 中秋請假攻略區塊 */
.leave-guide-box{
	/* background: #fff;
	border: 2px solid var(--middle-yellow); */
	border-radius: 14px;
	padding: 1.5rem;
	text-align: center;
	margin-bottom: 1.5rem;
}
.leave-guide-box > img{
	display: block;
	width: 100%;
	max-width: 800px;
	height: auto;
	margin: 0 auto 1rem;
}
.leave-guide-title{ font-size: 1.6rem; font-weight: 800; color: #0b2a4a; margin: 0 0 .5rem; }
.leave-guide-desc{ font-size: 1.05rem; color: #c41919; font-weight: 700; }

/* 主題引言 */
.theme-lead{ text-align: center; margin: 1.5rem 0; }
.theme-lead-title{ font-size: 1.6rem; font-weight: 800; color: #205a86; margin: 0 0 .75rem; letter-spacing: .2rem; }
.theme-lead > p{ font-size: 1rem; line-height: 1.9; color: #434343; max-width: 860px; margin: 0 auto; text-align: left; }

/* 主題區塊（電腦版：左文 + 右行程卡片） */
.theme-block{
	display: flex;
	/* align-items: flex-start; */
	align-items: center;
	gap: 1.75rem;
	background: #fff;
	border: 2px solid #f5e107;
	border-radius: 14px;
	padding: 1.5rem;
	margin-bottom: 1.25rem;
}
.theme-text{ flex: 1 1 42%; }
.theme-title{ font-size: 1.2rem; font-weight: 800; color: #0b2a4a; margin: 0 0 .75rem; line-height: 1.6; }
.theme-text > p{ font-size: .98rem; line-height: 1.9; color: #434343; margin: 0; }
.theme-cards{ flex: 1 1 58%; display: flex; gap: 1rem; flex-wrap: wrap; }
.theme-card{
	flex: 1 1 calc(50% - .5rem);
	min-width: 180px;
	display: flex;
	flex-direction: column;
	border: 1px solid #e3e3e3;
	border-radius: 10px;
	overflow: hidden;
	background: #fafafa;
	transition: box-shadow .3s ease;
}
.theme-card:hover{ box-shadow: 0 6px 18px rgba(0,0,0,.15); }
.theme-card-link{ display: block; }
.theme-card-link > img{ width: 100%; height: 200px; object-fit: cover; display: block; }
.theme-card-name{
	font-size: 1rem; font-weight: 700; color: #333; margin: 0; padding: .75rem .75rem .5rem;
	line-height: 1.5;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.theme-card-btn{
	display: block; margin: auto .75rem .75rem; padding: .5rem 0;
	text-align: center; font-weight: 700; color: #fff;
	background: #ff6b02; border-radius: 8px; transition: background .3s ease;
}
.theme-card-btn:hover{ background: #d95a00; color: #fff; }

/* 手機版覆蓋 */
@media screen and (max-width: 999px){
	.leave-guide-box {
		padding: 0;
	}
	.leave-guide-desc{
		font-size: 1rem;
	}
	.navbar-dark .navbar-toggler-icon{
		background-image: url(../images/bars-solid.svg);
	}
	.navbar{
		height: auto;
	}
	.header{ padding: 0; }
	.header .banner-title{ font-size: 2rem; }
	.header .banner-sub{ font-size: .95rem; }
	.header .banner-calendar{ max-width: 100%; margin-top: 0;}

	ul.maintabs > li{ width: 100%; }

	.contentwraper .bar{
		font-size: 1.4rem;
		line-height: 3rem;
		letter-spacing: .2rem;
		margin: 1rem auto;
	}

	.theme-block{ flex-direction: column; gap: 1rem; padding: 1rem; }
	.theme-text{ flex: 1 1 auto; }
	.theme-cards{ flex: 1 1 auto; width: 100%; }
	.theme-card{ flex: 1 1 100%; }
	.theme-card-link > img{ height: 180px; }
	.theme-lead-title{ font-size: 1.35rem; }
}

/*==============================================================*/
/* 產品卡片 UI 優化 */
/*==============================================================*/

/* 月曆 icon 與日期（.flt）水平排列，避免日期換到下一行 */
.card .date-box{
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
}
.card .date-box > .flt{
	float: none;
}

.card .date-box > .flt > .more:nth-last-child(1){
	font-size: .8rem;
	color: var(--primary-red);	
}
/* 月曆 icon 固定寬度、不被壓縮 */
.card .date-box > .flt:first-child{
	flex: 0 0 auto;
}

/* 優惠價（memberAmt）：紅色、放大醒目 */
.card .price span.price.fz-15{
	color: var(--primary-red);
	font-size: 1.5rem;
	font-weight: 800;
}
.card .price span.price.fz-15::before{
	content: "$";
	font-size: 1rem;
	font-weight: 700;
	margin-right: .25rem;
}
/* 建議售價（Amt）：黑色、維持小字並保留刪除線 */
.card .price span.text-nowrap{
	color: #333;
}

.card-body h5{
	font-size: 1.1rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
}

.card-body span.tag {
    font-size: .8rem;
    color: #0096f2;
    border: 1px solid #0096f2;
    padding: 0.2rem 0.5rem;
    border-radius: 20px;
    margin-right: 8px;
    line-height: 30px;
}

/*==============================================================*/
/* 表尾宣告（footer 使用的樣式，取自共用 ucFoot） */
/*==============================================================*/
.ilogo {
	width: 110px;
	height: auto;
	clear: both;
}
footer {
	font-size: .9rem;
	line-height: 1.6em;
}
footer span {
	clear: both;
	display: block;
	padding-top: .6rem;
	margin-bottom: 0.3rem;
	font-weight: 900;
}
.bg-foot {
    background-color: #f8f8f8;
}
.footer-ul{
	margin: 0;
	padding-left:0;
}
.bg-primary {
    background-color: #d82a43!important;
}
.copyright {
    font-size: 13px;
	text-align: center;
	color: white;
}
.pt-15 {
    padding-top: 15px;
}

.pb-15 {
    padding-bottom: 15px;
}

#back-top{
	display: none;
}

@media (max-width: 576px) {
	footer {
		text-align: center;
	}
}