@charset "utf-8";
/* CSS Document */

/* 圓體字體 */
@import url(https://fonts.googleapis.com/earlyaccess/cwtexyen.css);

.logo {
    color: #ffffff!important;
    font-family: Microsoft JhengHei;
    font-size: 1.7rem;
    font-weight: 900;
}

.ilogo {
	width: 110px;
	height: auto;
	clear: both;
}
.mlogo {
	width: 40%;
	clear: both;
	margin: 0 auto;
}
.mwlogo {
	width: 100%;
	clear: both;
	margin: 25 auto;
}
.container {
	max-width: 1440px;
}

.container-fluid{
	margin: 0;
	padding: 0;
}

img{
	width: 100%;
}
body{
    font-family: BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Microsoft JhengHei", 微軟正黑體, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}	
body, h1, h2, h3, h4, h5, h6{
	line-height: 1.5;
}
h1, h2, h3, h4, h6{
	color: #14193c;
}
p{
	font-size: .9em;
	font-weight: 500
}
dl, ol, ol ol, ol ul, ul, ul ol, ul ul {
    margin-left: 0;
    padding-left: 0;
}
ul {
	margin-left: 20px; 
	padding-left: 0;
}
ul li {
    list-style: none;
	font-size: .92em;
}

/* 漢堡選單顏色 */
.navbar-dark .navbar-toggler {
    color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, 1);
}

/* 第二層選單：設定為黏性定位 */
.bg-nav2 {
    position: -webkit-sticky; /* 支援 Safari */
    position: sticky;
    
    /* 關鍵設定：top 的值必須等於「第一層選單的高度」 */
    top: 50px; 
    
    z-index: 800; /* 層級需低於第一層，但高於頁面內容 */
    background-color: #C28A2E; /* 你剛才選定的金秋色 */
}

/* 平滑滾動 */
html {
    scroll-behavior: smooth !important;
}

/* 錨點位移修正 只要 id 是以 go 開頭的元素，都套用此設定 */
[id^="go"] {
    scroll-margin-top: 80px; /* 第一層選單及第二層選單的高度 */
}

.nav-tit {
	color: #fff;
	font-size: 1.4em;
	padding: .5rem 1rem;
	font-weight: 600!important
}
/* 20250311 新增 */
.btn-danger {
    color: #fff;
    background-color: #0a67d5;
    border-color: #0a67d5;
}

.btn-danger:hover{
    color: #0a67d5;
    background-color:  #fde556;
    border-color:  #fde556;
}

.text-danger {
	color: #0a67d5!important;
	font-size: 1.5rem
}

.fw-bold {
	color: #8859b3;
}
a {
	text-decoration: none;
}
table { 
	border:1px solid #666; 
	text-align:center;
	border-collapse:collapse;
	font-size: .9em;
} 
th { 
	background-color: #eee;
	color:#000;
} 
th, td { 
	border:1px solid #666;
	padding:15px;
}
mark {
	color:#d82a43;
	background-color: transparent;
}
.nav-link {
	font-size: 1rem;
}
.txt-red {
	color:#f8b500!important;
}
.pb-15 {
    padding-bottom: 15px;
}
.pt-15 {
    padding-top: 15px;
}
.mt-30 {
	margin-top: 30px;
}
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,1);
    font-size: 1.1rem;
    font-weight: 600;
}
a.nav-link:hover {
	color: #D4A017!important;
}
.caption {
	position: absolute;
    color: #000;
    top: 50%;
    right: 25%;
    transform: translateX(50%) translateY(-50%);
	background-color: rgba(255, 255, 255, 0.7);
	padding: 20px 40px;
	font-family: 'cwTeXFangSong', sans-serif;
}
.carousel-caption {
    bottom: 2rem;
}
.tit-li {
    font-size: 1rem;
    margin-left: -16px;
}

.style-li::before {
    content: "\25AA";
    color: #d82a43;
    font-size: 1.1rem;
    padding-right: 10px;
    margin-left: -16px;
}
.bg-nav {
	background-color: #5D1010!important;
	/* border-bottom: solid 4px #ffe656; */
	padding: 0;
}
.bg-nav2 {
	background-color: #B03A2E!important;
}
.ai-flex {
	display: flex;
	align-items: center;
}
.ci-h {
    height: 85vh;
    background-repeat: no-repeat;
    background-position: center;
}

.ci-bg1 {
    /* 核心修改：寬度 100%，高度自動 (不裁切圖片) */
    background-size: 100% auto;
    
    /* 移除 fixed，因為在手機上 fixed 會強制放大圖片導致模糊 */
    background-attachment: scroll; 
    
    /* 確保高度至少能撐開，或配合 padding-top 做比例縮放 */
    height: 40vw; /* 這裡的單位可以根據你的圖片比例調整 */
/* 視差滾動效果，若在手機端失效可考慮移除 */
}


.ci-bg1 {
    /* 僅指定圖片路徑，避免簡寫屬性覆蓋了上面的 cover 設定 */
    background-image: url("../images/header_bg.jpg");
}
.ci-bg2 {
	background: url("../images/header_bg.jpg") center center / 100%;
}
.ci-bg3 {
	background: url("../images/header_bg.jpg") center center / 100%;
}
.ci-bg4 {
	background: url("../images/header_bg.jpg") center center / 100%;
}
.ci-bg5 {
	background: url("../images/header_bg.jpg") center center / 100%;
}

.ci-img {
	padding-top: 8rem;
	text-align: center;
}
.ci-img img {
	max-width: 530px;
	width: 100%;
}
.ci-txt {
	text-align: center;
	padding-top: 15px;
}
.ci-txt h5 {
    font-size: 3rem;
    font-weight: 700;
}
.ci-txt h6 {
	font-size: 1.6rem;
	font-weight: 300;
	color: #000!important;
}
.ci-txt p {
	font-size: 1.8rem;
	font-weight: 200;
	margin-bottom: 0;
}
.on-txt h5 {
	font-size: 2rem;
	font-weight: 700;
}
.on-txt p {
	font-size: 1.2rem;
	font-weight: 200;
	margin: 0;
}
.bg-light {
    background-color: #FCF9F2!important;
}
.bg-normal {
    background-color: #F2ECE4!important;
}
.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;
}
.about-box{
	margin: 20px;
    text-align: left;
}
.about-box p {
	line-height: 1.7rem;
}
.about-icon {
    font-size: 2.5rem;
    margin: 0px auto;
    color: #d82a43;
    width: 2.5rem;
}
.model {
    padding: 20px;
    background: #fff3f3;
    border: 0.3px #d82a43 solid;
    margin-bottom: 30px;
	color: #d82a43;
	font-weight: 700;
	text-align: center;
}
.ps {
	font-size: .8rem;
}
.med-a {
	border-radius: 0;
	border:none;
	box-shadow:0 0 20px 1px #cccccc;
}
.med-a img {
	border-radius: 0;
}
.med-a h5{
	font-weight: 700!important;
	margin: 0;
}
.med-a h6{
    font-size: 1em;
}
.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-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: 0 auto;
	padding-bottom: 3em;
}
.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;
}

/* 單元標題 */
/* 讓 .titA 容器居中所有內容 */
.titA {
    text-align: center;
}

/* 讓 h2 成為定位容器，並設定文字相關樣式 */
.titA h2 {
    color: #3E2723;
    font-size: 2.6rem;
    position: relative;      /* 關鍵：設定相對定位 */
    display: inline-block;   /* 關鍵：讓 h2 只佔據文字寬度 */
    padding: 0 1rem 0 2rem;  /* 調整文字與線條之間的間隔 */
	letter-spacing: .6rem;
}
.titB h2 {
	letter-spacing: 0!important;
    padding: 0 1rem 0 1rem!important;  /* 調整文字與線條之間的間隔 */
}
.titA h3 {
    color: #922B21;
    font-size: 2rem;
}


.titA h4 span {
	color: #B22222;
	font-size: 1.35rem;
	padding: 10px 25px;
}

/* 內容資料標題 */
.tm-A {
    position: relative;      /* 關鍵：設定相對定位 */
	border-left: #E6332A 5px solid;
    padding-left: 15px;
}

.fw-bold {
    color: #B22222;
    font-size: 1.5rem;
	font-weight: 500!important;
}
.fw-bold span {
    font-size: 1rem;
}	


/* 景點介紹左右滑動 */
.scroll-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-behavior: smooth; /* 平滑滑動 */
    -webkit-overflow-scrolling: touch;
}
.scroll-container::-webkit-scrollbar {
    display: none; /* 隱藏捲軸 */
}

/* 每一圖文組 寬度相同 */
.scroll-item {
    flex: 0 0 31%; /* 電腦版三個多一點 */
    max-width: 31%;
    padding: 0 15px;
}
@media (max-width: 991px) {
    .scroll-item {
        flex: 0 0 85%; /* 手機版顯示一個半 */
        max-width: 85%;
    }
}

/* 左右按鈕子 */
.btn-scroll {
    position: absolute;
    top: 50%;
    z-index: 99;
    background: #d93a30;
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
}
.btn-scroll.left { left: -20px; }
.btn-scroll.right { right: -20px; }

.about-box {
    text-align: justify;
}
.tm-A { color: #d93a30; }

.tm-A span {
    font-weight: normal;
    font-size: 0.9rem;
    margin-left: 5px;
}

.about-box p {
    text-align: justify;
    line-height: 1.7;
    color: #444;
}


a.link-primary {
    color: #ffffff;
    font-size: 1.2rem;
	font-weight: 600!important
}
a.link-primary:hover {
    color: #000;
}


a.att {
	border-left: #fff solid 1px;
	color: #ffc124;
}

/* 行程卡片 */
.cardbox {
	background-color: #f7f7f7;
	margin: 2rem 0;
}
.card-body {
	padding: 2rem 3rem;
}
.card-body h5{
	margin-bottom: 1.8rem;
}
.card-body h5 a{
	color: rgb(50 50 50 / 85%);
    width: 100%;
    padding: 0;
    border: none;
    line-height: 2rem;
    font-weight: 700;
}
.card-body h5 a:hover{
	border: none;
	border-radius: 0;
	color: #d82a43;
}
.card-body span.tag {
	font-size: .8rem;
    color: #FAFAF5;
    /* border: 1px solid #1da36b; */
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    margin-right: 10px;
    background-color: #C28A2E;
}
.tag-box {
	margin-bottom: .8rem;
	display: block;
}
.date-box {
	font-size: .8rem;
}
.date-box span.date-txt {
	padding: .4em;
	float: left;
}
.far {
	float: left;
}
a.more {
	border: none;
	display: block;
	float: left;
	color: #B22222;
	padding: .4em .1em;
	background: none;
	margin: 0 auto;
	width: auto;
}
a.more:hover{
	border: none;
	border-radius: 0;
	color: #C28A2E;
}
.date-txt {
	float: left;
}
.price {
		
}
.price a.pb {
	float: right;
	font-size: 1.4rem;
	border: none;
	clear: both;
	font-weight: 900;
	text-align: right;
	width: auto;
	padding: .2rem;
	color: #B22222;
}
.price a.pb:hover {
	border: none;
	border-radius: 0;
	color: #C28A2E;
}
.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;
}
.w-100 {
    width: 100%!important;
}
/* 行程內容 */
.topic::after {
    content: "";
    width: 50px;
    height: 4.5px;
    background: #d82a43;
    display: block;
    margin-top: 6px;
}
.datebox {
    background: #fff;
    padding: 20px 20px;
    box-shadow: #eee 10px 10px 30px;
    border: none;
    border-left: 8px #d82a43 solid;
    margin: 15px 0;
}

/* 基隆高雄母港出發 */
.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%);
}
.word a{
	color: #0080b3; 
    border: none;
    padding: 0px;
    background: none;
    border-radius: 0px;
    float: none;
    margin: 0 auto;
    display: block;
	width: 100%;
}
.word a:hover {
	color: #d82a43; 
	background-color: #fff;
    border: none;
}

.tar {
	text-align: right;
}



/* 遊輪線上報名 */
.bg-blue-light {
	background-color: #ecfbff!important;
}
.checkout-head {
    padding: 8px 20px 6px 20px;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
}
.checkout-body {
    padding: 30px 35px;
}
.h-center {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
}
.checkoutBox label {
    color: #333;
	font-size: .9rem;
}
sup {
    color: #d82a43;
    font-size: .8rem;
}

input, select, textarea {
    border: 1px solid #aaa;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    outline: 0;
    color: #4b515e;
    background: 0 0;
    font-weight: 400;
    font-size: .9rem;
    width: 100%;
    margin: 5px 0 10px 0;
    padding: 14px 15px 8px 15px;
    letter-spacing: 1.1px;
    line-height: 18px;
    cursor: pointer;
}

label.checkbox-container input, label.radio-container input {
    width: 0;
}

.form-disabled:disabled{background-color:#e9ecef;opacity:1}
.radio-container{display:block;position:relative;padding-left:29px;margin:20px 0;cursor:pointer;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.radio-container input{position:absolute;opacity:0;cursor:pointer}
.checkmark{position:absolute;top:0;left:0;height:18px;width:18px;border:1px solid #ddd;border-radius:50%;margin-top:2px}
.radio-container:hover input~.checkmark{background-color:#fff;border:1px #d82a43 solid}
.radio-container input:checked~.checkmark{background-color:#fff;border:#d82a43 1px solid}
.checkmark:after{content:"";position:absolute;display:none}
.radio-container input:checked~.checkmark:after{display:block}
.radio-container .checkmark:after{top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#d82a43}
.checkbox-container{display:block;position:relative;padding-left:35px;margin-bottom:12px;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.checkbox-container input{position:absolute;opacity:0;cursor:pointer}
.box-checkmark{position:absolute;top:0;left:0;height:18px;width:18px;border:1px solid #ddd}
.checkbox-container:hover input~.box-checkmark{background-color:#fff;border:1px #d82a43 solid}
.checkbox-container input:checked~.box-checkmark{background-color:#d82a43;border:1px #d82a43 solid}
.box-checkmark:after{content:"";position:absolute;display:none}
.checkbox-container input:checked~.box-checkmark:after{display:block}
.checkbox-container .box-checkmark:after{left:4.5px;top:.65px;width:7px;height:12px;border:solid #fff;border-width:0 3px 3px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}
label.label-control{font-size:.8rem;color:#d82a43;background-color:#fff;position:absolute;top:-6px;left:15px;width:auto;padding:1px 4px;margin:0 12px}
@media screen and (max-width:768px){
label.label-control{font-size:.73rem}
}
.form-group{margin-bottom:12px}
.input__arrowdown{width:100%;background-image:url(../../images/icons/arrows_down.svg);background-repeat:no-repeat;background-size:21px 21px;background-position:95% center}
.scrollMenu{background-color:#f8f8f8;overflow:auto;white-space:nowrap;display:flex;justify-content:space-between}
.scrollMenu a{display:inline-flex;color:#333;font-size:1rem;letter-spacing:.8px;text-align:center;padding:12px 0;text-decoration:none;transition:all .3s}
.scrollMenu a{position:relative}
.scrollMenu a:after{position:absolute;bottom:0;left:0;right:0;width:0%;height:4px;content:".";margin:auto;padding:0;font-size:0;color:transparent;background:#d82a43;transition:all .3s}
.scrollMenu a:hover{opacity:.85;transition:all .3s}
.scrollMenu a:hover:after{width:100%}
.carousel-indicators li{width:10px;height:10px;border-radius:50%;background-color:#fff;margin:0 10px}
.carousel-indicators .active{background-color:#d82a43}


label.label-control {
    font-size: .8rem;
    color: #d82a43;
    position: absolute;
    top: -6px;
    left: 15px;
    width: auto;
    padding: 1px 4px;
    margin: 0 12px;
    background-color: #fafafa;
}


.inlineb-item {
    margin-right: 25px!important;
}



.button.medium {
    font-size: .83rem;
    padding: 10px 37px 10px 37px;
    display: inline-block;
}
.button.primary {
    background-color: #d82a43;
    color: #fff;
    border: 1px #d82a43 solid;
}



/* 表尾宣告 */
footer {
	font-size: .9rem;
	line-height: 1.6em;
}
footer span {
	clear: both;
	display: block;
	padding-top: .6rem;
	margin-bottom: 1.6rem;
	font-weight: 900;
}
.bg-foot {
    background-color: #f8f8f8;
}
.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;
}
@media (max-width: 992px) {
	.ci-h {
	height: 40vh;
	max-height: 500px;
	}
	.carousel-caption {
		bottom: 10rem;
	}
	.ci-txt h5 {
	font-size: 2.3rem;
	line-height: 2rem;	
	}
	.ci-txt p {
	font-size: 1.5rem;
	}
	.titA h2 {
		font-size: 2.3rem;
	}
	.titA h4 span {
		font-size: 1.2rem;
	}
	.fw-bold {
		font-size: 1.5rem;
	}
	.ci-img {
	padding-top: 5.5rem;
	}
	.ci-img img {
	width: 60%;	
	}
}

@media (max-width: 768px) {
	.caption {
    right: 50%;
	padding: 20px;
	}
	.ci-txt {
	text-align: center;
	}
	.carousel-caption {
		bottom: 3.5rem;
	}
	.titA h2 {
	font-size: 1.8rem;
	}
	.mwlogo {
	margin: 0 auto;
	}
	.indtit {
		width: 60%;
	}
	.sale {
		width: 98%;
	}
	.ci-h {
	height: 30vh;
	max-height: 350px;
	}
	.ci-txt h5 {
	font-size: 1.4rem;
	margin-bottom: 0;
	line-height: 1.8rem;	
	}
	.ci-txt h6 {
	font-size: 1rem;
	}
	.ci-txt p {
	font-size: 1.1rem;
	}
	.card-body {
	padding: 1rem 1rem;
	}
	.ci-img {
	padding-top: 3.5rem;
	}
	.ci-img img {
	width: 60%;	
	max-width: 300px;	
	}
}

@media (max-width: 576px) {
	footer {
		text-align: center;
	}
	.mwlogo {
	width: 28%;
	}
	.titA h2 {
	font-size: 1.4rem;
	}
	.indtit {
		width: 35%;
	}
	.sale-txt h5 {
		font-size: 1.2em!important;
	}
	.sale-txt h6 {
		font-size: .9em!important;
	}
	.ci-h {
	height: 30vh;
	max-height: 200px;
	}
	.ci-txt h5 {
	line-height: 1.2rem;	
	}
	.card-body h5 {
	font-size: 1rem;
	}
	.card-body h5 a{
    line-height: 1.5rem;
	}	
	.ci-img {
	padding-top: 2.5rem;
	}
	.ci-img img {
	width: 50%;	
	}
}