@charset "utf-8";
/* CSS Document */

:root {
  --dark-red: #973131;
  --dark-red-transparent: #973131e8;

  --light-yellow: #ffee7c; 
  --middle-yellow: #f5e107;
  --beige: #FFF6E9;
}


.logo {
	color: #ffffff!important;
	font-family: Microsoft JhengHei;
	font-size: 1.7rem;
	font-weight: 900;
}
.ilogo {
    width: 110px;
    height: auto;
    clear: both;
}

img{
	width: 100%;
}
body, h1, h2, h3, h4, h5, h6{
	line-height: 1.5;
}
dl, ol, ol ol, ol ul, ul, ul ol, ul ul {
    margin-left: 0;
    padding-left: 0;
}
ul li {
    list-style: none;
	font-size: .9em;
}
a {
	text-decoration: none;
	color: #212529;
	font-weight: 700;
}
table { 
	border:1px solid #666; 
	text-align:center;
	border-collapse:collapse;
	font-size: .9em;
} 
th { 
	background-color: #eee;
	padding:15px 20px;
	border:1px solid #666;
	color:#000;
} 
td { 
	border:1px solid #666;
	padding:15px 20px;
}
.pb-15 {
    padding-bottom: 15px;
}
.pt-15 {
    padding-top: 15px;
}
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,1);
	font-size: 1.1rem;
	font-weight: 600;
}
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show>.nav-link {
    color: #fff226;
}

.navSwiper .nav-link:focus, .navSwiper .nav-link:hover {
    color: var(--light-yellow);
}
.navSwiper .link2:focus, .navSwiper .link2:hover{
	border: 2px solid var(--light-yellow);
}

.nav-tit {
	padding: .5rem 2rem !important;
	color: var(--beige);
	font-size: 1.3rem;
	font-weight: bolder;
	line-height: 2.2rem;
	border-radius: 100px 100px 100px 100px;
}

/* 20230711 新增 */
.nav-tit2 {
	padding: .2rem .2rem!important;
	/*background-color: #F29E38;*/
	color: #fff;
	font-size: 1rem;
	font-weight: 1000;
	line-height: 2.2rem;
	border-radius: 100px 100px 100px 100px;
}
.bg-nav3 {
	background-color: #FFFFFF;
}
/* 20230711 新增結束 */

/* 20230713 新增 */
.btn-warning {
    color: #000;
    background-color: #ffc107;
    border-color: #ffc107;
	/*border-radius: 100px*/
}
/* 20230713 新增結束 */

/* 歐洲outlet 20231011 新增 */
h3 {
	font-size: 2rem;
}
.tx-c {
	text-align: center;
}
.bvimg {
	height: 40vh;
	background: url("../images/bv-village.jpg") center center / 100%;
}
.bvbox {
	text-align: center;
	line-height: 2rem;
}
.bvbox h6 {
	font-size: 1.5rem;
	padding: 2rem 0 1rem 0;
}

.map-box {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}
.map-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* 歐洲outlet 20231011 新增結束 */
.nav-1 {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    align-content: space-around;
    flex-direction: row;
	background-color: #512f05
}

.triangle-r {
    border-top: 26px solid transparent;
    border-bottom: 26px solid transparent;
    border-left: 15px solid #F29E38;
    display: inline-block;
}
.link2 {
	color: #fff;
    font-size: 1rem;
    font-weight: 700;
	
    border-radius: 100px;
    border: 2px solid white;
}

/* 20230307 新加入 */
.dropdown-menu {
    color: #ffffff;
    background-color: #ffd743;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 0rem;
}
.dropdown-menu ul li {
	float: left;
}
.dropdown-item {
    color: #005caa;
	font-size: 1rem;
	font-weight: 700;
}

li.nav-item.dropdown {
    position: initial;
}

ul.dropdown-menu.show {
    width: 100%;
}
ul.dropdown-menu.show li{
    display:inline-block
}
.nav-item {
	padding: .4em .5em;
}
/* 20230307 新加入結束 */

.mark{
	color: #d82a43;
	background-color: #fff;
}
.style-li::before {
    content: "\25AA";
    color: #d82a43;
    font-size: 1.1rem;
    padding-right: 10px;
    margin-left: 20px;
}
.bg-nav {
	background-color: #e60012!important;
}
.bg-nav2 {
	background-color: var(--dark-red) !important;
}
.ai-flex {
	display: flex;
	align-items: center;
}
.ci-h {
	height: 70vh;
	background-repeat: no-repeat;
	background-position: center;
}
.ci-bg1, .ci-bg2, .ci-bg3, .ci-bg4, .ci-bg5 {
	/* 背景圖填滿容器並依比例裁切，避免拉伸變形；移除 fixed 以改善手機效能與縮放模糊 */
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.ci-bg1 {
	background-image: url("../images/header_bg.jpg");
}
.ci-bg2 {
	background-image: url("../images/banner-1600x1067.jpg");
}
.ci-bg3 {
	background-image: url("../images/header_bg.jpg");
}
.ci-bg4 {
	background-image: url("../images/header_bg.jpg");
}
.ci-bg5 {
	background-image: url("../images/header_bg.jpg");
}

.ci-txt {
	text-shadow: 0px 0px 10px #000;
}
.ci-txt h5 {
	font-size: 3rem;
	font-weight: 700;
}
.ci-txt p {
	font-size: 1.5rem;
	font-weight: 200;
}

.bg-light {
    background-color: #f8f8f8!important;
}
.bg-foot {
    background-color: #f5f5f5;
}
.indlink {
	height: 16em;
	background-repeat: no-repeat;
	background-position: center center;	
	border: none;
	border-radius: 0;
	margin-top: 70px;
	color: #000;
	text-decoration: none;
	background-size: 100%;
}
.indtit {
	width: 25%;
	margin: 5em auto;
	background-color: rgba(255,255,255,0.9);
	text-align: center;
	justify-content: center;
	display: flex;
	align-items: center;
}
.il-bg1 {
	background-image: url("../images/indlink-01.jpg");
}
.il-bg2 {
	background-image: url("../images/indlink-02.jpg");
}
.il-bg3 {
	background-image: url("../images/indlink-03.jpg");
}
.indp {
	text-align: center;
	line-height: 2.4em;
}
.about-box{
	margin: 0 50px;
}



.med-a, .med-tc {
	border-radius: 0;
	border:none;
	box-shadow:0 0 20px 1px #cccccc;
}
.med-a img {
	border-radius: 0;
}
.med-a, .med-tc h5{
	font-weight: 400!important;
	font-size: 0.98rem;
	margin-bottom: 0.2rem!important;
	color: #212529;
}
.med-a h6{
    font-size: 1em;
}
.med-tc h6{
	font-size: 0.8rem;
    color: #f75c03;
}

.med-a p {
	line-height: 1.8em;
    font-size: 0.9em;
}
/*%.med-a a{
	color: #d82a43;
    border: 1px solid #d82a43;
	padding: .4em 1.8em;
	background: none;
	border-radius: 20px;
	float: none;
	margin: 0 auto;
	display: block;
	width: 50%;
}*/
.med-tc a h5 {
}
/*.med-a a:hover{
	background-color: #d82a43;
	color: #fff;
    border: 1px solid #d82a43;
}*/
.sa-bg {
	height: 40vh;
	background-image: url("../images/sale-bg-01.jpg");
	background-repeat: no-repeat;	
	background-size: cover;
	background-position: center center;	
	display: flex;
    justify-content: center;
    align-items: center;
}
.mc-bg {
	height: 40vh;
	background-image: url("../images/mice-bg-01.jpg");
	background-repeat: no-repeat;	
	background-size: cover;
	background-position: center center;	
	display: flex;
    justify-content: center;
    align-items: center;
}
.sale-txt {
	text-align: center;
	color: #fff;
	font-size: 1.1em;
}
.sale-txt h5, .sale-txt h6 {
	text-shadow: 0px 0px 10px #000;
}
.sale-txt h5 {
	font-size: 1.8em!important;
}
.sale-txt h6 {
	font-size: 1.2em!important;
}
.sale {
	width: 90%;
	margin: 15px auto;
	color: #ED0003;
	background-color: #FFE0E0;
	padding: 10px;
	text-align: center;

}
.sale-box {
	padding: 1.5em;
}


.vi-h {
	height: 40vh;
	background-repeat: no-repeat;
	background-position: center center;
	padding-top: 150px;
	color: #fff;
	text-shadow:0px 0px 5px #000;
	font-weight: 500;
}
.vi-bg1 {
	background-image: url("../images/vi-bg01.jpg");
}

.sidenav-li {
    padding: 15px 0;
    border-bottom: #9e9f9f 0.8px dotted;
}

/* 行程卡片 */
.card-body h5{
	margin-bottom: .8rem;
}
.card-body h5 a{
	color: #212529;
    width: 100%;
    padding: 0;
    border: none;
    font-size: 1.1rem;
	font-weight: 700;
}
.card-body h5 a:hover{
	color: #d82a43;
	border: none;
	border-radius: 0;
}
.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;
}
.tag-box {
	margin-bottom: .8rem;
}
.date-box {
	font-size: .8rem;
	color: #212529;
}
.date-box span.date-txt {
	padding: .4em;
	float: left;
}
a.more {
	border: none;
	display: block;
	float: left;
	color: #d82a43;
	padding: .4em .1em;
	background: none;
	margin: 0 auto;
	width: auto;
}
a.more:hover{
	background-color: #d82a43;
	border: none;
	border-radius: 0;
	color: #fff;
}
.price a.pb {
	float: right;
	font-size: 1.4rem;
	border: none;
	clear: both;
	font-weight: 900;
	text-align: right;
	width: auto;
	padding: .2rem;
	color: #d82a43;
}
.price a.pb:hover {
	background-color: #d82a43;
	border: none;
	border-radius: 0;
	color: #fff;
}
.price a.pb::before{
    content:"$";
    color:#000;
	font-weight: 400;
	font-size: .8rem;

}
.price a.pb::after{
    content:"元起";
    color:#000;
	font-weight: 400;
	font-size: .8rem;
}

.price span.tc  {
	float: right;
	font-size: 1.4rem;
	border: none;
	clear: both;
	font-weight: 900;
	text-align: right;
	width: auto;
	padding: .2rem;
    color:#d82a43;
}
.price span.tk  {
	float: right;
	font-size: 1.4rem;
	border: none;
	clear: both;
	font-weight: 900;
	text-align: right;
	width: auto;
	padding: .2rem;
    color:#d82a43;
}
.price span.tc::before{
    content:"$";
    color:#000;
	font-weight: 400;
	font-size: .8rem;

}
.price span.tk::before{
    content:"$";
    color:#000;
	font-weight: 400;
	font-size: .8rem;

}
.price span.tc::after{
    content:"元/人起";
    color:#000;
	font-weight: 400;
	font-size: .8rem;
}
.price span.tk::after{
    content:"未稅起";
    color:#000;
	font-weight: 400;
	font-size: .8rem;
}
.card-img, .card-img-top {
    border-top-left-radius: calc(0rem - 1px);
    border-top-right-radius: calc(0rem - 1px);
}
.flt {
	float: left;
}

/* 遊輪 */
.pic {
    width: 100%;
    height: auto;
    padding: 5px;
    overflow: hidden;
}
.pic img {
    display: block;
    width: 100%;
    height: auto;
}
.word {
    width: 100%;
    height: auto;
    padding: 5%;
	line-height: 2rem;
}
.word h2 {
	font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    color: #0b1e42;
}
.word h3 {
	font-size: 1.3rem;
    text-align: center;
    color: #0b1e42;
    background: -webkit-linear-gradient(left, rgba(255, 232, 234, 0) 10%, #e1e8ea 35%, #e1e8ea 65%, rgba(255, 232, 234, 0) 90%);
}
.tar {
	text-align: right;
}


/* 機票 */
.tk-box {
	font-size: .98rem;
	color: #212529;
}
.tk-box i {
	font-size: .8rem;
}
.tk-bline {
	border-bottom:#bcbcbc 1px dotted;
	margin: 0 10px;
}


/* 優惠活動 */
.vip-t5 {
	font-size: 1.2rem;
    font-weight: 700;
	border-left: solid 4px #d82a43;
	padding-left: 15px;
}
.style-li {
    font-size: 1rem;
}
.os-li {
    font-size: 1rem;
}
.style-li::before {
    content: "\25AA";
    color: #d82a43;
    font-size: 1.1rem;
    padding-right: 10px;
    margin-left: 0px;
}


/* 表尾宣告 */
footer {
	font-size: .9rem;
	line-height: 1.6em;
}
footer span {
	clear: both;
	display: block;
	padding-top: .6rem;
	font-weight: 900;
}
.footer-ul{
	margin: 0;
}
.bg-primary {
    background-color: #d82a43!important;
}
.copyright {
    font-size: 13px;
	text-align: center;
	color: white;
}
#back-top {
    position: fixed;
    bottom: 80px;
    right: 18px;
    padding: 0;
    margin: 0;
    z-index: 20;
}
#back-top a {
    text-decoration: none;
    display: block;
    color: #fff;
    font-size: 26px;
    z-index: 999;
    padding: 5px;
    height: 42px;
    width: 42px;
    background: #d82a43;
    border-radius: 50%;
}
#back-top a i{
	position:relative;
	left:8px;
	top:-4px;
	bottom:7px;
}

#go00,
#go01,
#go02,
#go03,
#go04,
#go05,
#go06,
#go07,
#go08,
#go09 {
	scroll-margin-top: var(--nav-h, 40px);
}

/* 旅展導覽列固定於主選單下方，捲動時不覆蓋主選單 */
/* 主選單 z-index 高於旅展導覽列，手機版展開選單時不被旅展列遮住 */
.bg-nav.sticky-top {
	z-index: 1030;
}
.bg-nav2.sticky-top {
	top: var(--header-h, 0px);
	z-index: 1019;
}

.intro-section h1 {
	font-size: 2rem;
}

.intro-section p{
	text-align: left;
}

@media (max-width: 991.98px) {
	.bg-nav .navbar-collapse.show,
	.bg-nav .navbar-collapse.collapsing {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - var(--header-h, 56px));
		overflow-y: auto;
		background-color: #e60012;
		z-index: 1030;
		padding: 0.5rem 1rem 1rem;
	}
}

/* 旅展導覽列 Swiper：項目維持單列水平捲動、寬度依內容自適應 */
.navSwiper {
	width: 100%;
}
/* 各項目相對最高項目（旅展限定優惠）上下置中 */
.navSwiper .swiper-wrapper {
	align-items: center;
}
.navSwiper .swiper-slide {
	width: auto;
	display: flex;
	align-items: center;
}
/* 各頁導覽列沿用 ul.nav / li.nav-item 作為 Swiper 的 wrapper 與 slide */
.navSwiper > .nav {
	flex-wrap: nowrap;
	align-items: center;
}
.navSwiper .nav-item {
	flex-shrink: 0;
	width: auto;
	display: flex;
	align-items: center;
}

.model .carousel-item img {
	width: 100%;
	height: 260px;
	object-fit: cover;
}
.model .row {
	align-items: stretch;
}
/* col-sm-5 內容上下置中（撐滿列高後以 flex 垂直置中） */
.model .row .col-sm-5 {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media (max-width: 1400px) {
	.nav-item {
	padding: 0rem 0rem;
	}
	.navbar-light .navbar-nav .nav-link {
	font-size: 1.1rem;
	}
	.ci-h {
	height: 60vh;
	}
}
@media (max-width: 1200px) {
	.nav-item {
	padding: 0rem 0rem;
	}
	.navbar-light .navbar-nav .nav-link {
	font-size: 1rem;
	}
	.ci-h {
	height: 50vh;
	}
}
@media (max-width: 996px) {
	.nav-item {
	padding: 0rem 0rem;
	}
	.navbar-light .navbar-nav .nav-link {
	font-size: 1rem;
	}
	.ci-h {
	height: 40vh;
	}
}
@media (max-width: 768px) {
	.indtit {
		width: 60%;
	}
	.sale {
		width: 98%;
	}
	.ci-h {
	height: 30vh;
	}
	.ci-txt h5 {
	font-size: 1.4rem;
	}
	.ci-txt p {
	font-size: 1.1rem;
	}
	.nav-item {
	padding: .2rem .3rem;
	}
	.navbar-dark .navbar-nav .nav-link{
		padding: 0.4rem 0;
	}
}

@media (max-width: 575.98px) {
	.intro-section h1 {
		font-size: 1.6rem;
	}
	.nav-tit{
		padding: .5rem 1rem !important;
	}
	.indp p{
		line-height: 1.6rem;
		text-align: left;
	}
	.vip-t5{
		margin-top: 0.5rem;
	}
	.model .carousel-item img {
		height: 220px;
	}
	.model .row .col-sm-5 {
		order: 2;
	}
	.model .row .col-sm-7 {
		order: 1;
	}
	footer {
		text-align: center;
	}
	footer span {
	margin-bottom: 1rem;
	}
	.indtit {
		width: 35%;
	}
	.sale-txt h5 {
		font-size: 1.2em!important;
	}
	.sale-txt h6 {
		font-size: .9em!important;
	}
}

@media (min-width: 1401px) {
	.navbar .container {
		max-width: 1400px;
	}
}