@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@200..900&display=swap');

:root {
	--primary-color: #0d6efd;
	--footer-bg: #212529;
	--header-height: 80px; 
    --color-gold: #c69c6d;
}
@media (max-width: 991px) {
:root {
	--header-height: 72px; 
}
}

body {
	font-family: "Montserrat", sans-serif;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	padding-top: var(--header-height);
	background: #000;
}
main {
	flex: 1;
    overflow: hidden;
	background-color: #000 !important;
	margin-top:-80px;
}
.hoverBTN img.hidden {
	display:none;
}
a:hover .hoverBTN img,
.hoverBTN a:hover img {
	display:none;
}
a:hover .hoverBTN img.hidden,
.hoverBTN a:hover img.hidden {
	display:block;
}
.forLG {
}
.forXS {
	display:none;
}
.forXXS{
	display:none;
}
@media (max-width: 991px) {
main {
	margin-top:-72px;
}
.forLG {display:none;}
.forXS {display:block;}
}

/***** animation *****/
.fade-in-effect {
	opacity: 0; 
    transform: translateY(0px);
    visibility: hidden;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out, visibility 0.8s;
}
.fade-in-effect.visible {
    opacity: 1;
    transform: translateY(12px);
    visibility: visible;
}

/* footer */
.main-footer {
    text-align: center;
    color: #fff;
    background: #000;
    padding: 20px 0;
    font-size: 0.8125rem;
	font-family:;
}
.main-footer a{
    color: #fff;
	text-decoration:none;
}
.main-footer a:hover{
    color: var(--color-gold);
}

/* 回到頂部按鈕樣式 */
#btn-back-to-top {
	position: fixed;
	bottom: 98px;
	right: 28px;
	display: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #fff;
	color: #000;
	border: none;
	cursor: pointer;
	z-index: 100;
	box-shadow: 0 4px 10px rgba(0,0,0,0.3);
	transition: opacity 0.3s, transform 0.3s;
	align-items: center;
	justify-content: center;
	font-size: 24px;
}
#btn-back-to-top:hover {
	background-color: var(--color-gold);
	transform: translateY(-5px);
}
#btn-back-to-top svg{
	fill:#000;
    width: 20px;
	height:auto;
}

/* 智慧型 Header 樣式 */
#header-placeholder {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1030;
	transition: transform 0.3s ease-in-out;
	background-color: transparent;
	transform: translateY(0); /* 確保初始顯示 */
}
/* 隱藏狀態：向上平移 */
.header-hidden {
	transform: translateY(-100%) !important;
}
.navbar-toggler {
	border: none;
	padding: 0;
}
.navbar-toggler:focus {
	box-shadow: none;
}

/* 選單連結高亮樣式 */
.nav-link.active {
	color: var(--primary-color) !important;
	font-weight: bold;
	border-left: 4px solid var(--primary-color);
	background-color: #f8f9fa;
}

@media (min-width: 992px) {
	.nav-link.active {
		border-left: none;
		border-bottom: 2px solid var(--primary-color);
		background-color: transparent;
	}
}
/* 修正 Offcanvas 結構確保內容撐滿 */
.offcanvas {
	bottom: auto;
	height: 100vh;
	width: 320px !important ; 
	visibility: visible;
}
.offcanvas-body {
	display: flex !important;
	flex-direction: column !important;
	height: 100%;
	overflow-y: auto;
}

/* 選單內語言切換區塊樣式 */
.menu-lang-switch {
	border-top: 1px solid #eee;
	margin-top: auto; /* 將區塊推至底部 */
	padding: 1.5rem 0;
	width: 100%;
    margin-bottom: 60px;
}
.menu-lang-switch span.text-divid{
	opacity: 0.5;
	color:#fff;
}
.lang-switch {
	cursor: pointer;
	text-decoration: none;
	font-size: 0.95rem;
	color: #fff;
	transition: color 0.2s;
}
.lang-switch:hover {
	color: var(--color-gold);
}

.lang-switch.active {
	color: var(--color-gold);
	font-weight: bold;
}

/*Custom Style*/
.navbar {
    overflow: hidden;
    height: 80px;
    background: none;
    background-color: rgba(0, 0, 0, 0);
}
.navbar .container-fluid {
	padding:0 5vw;
}
.navbar-toggler-icon {
	background:none;
}
.navbar-toggler{
    width: 30px;
    height: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 7px 0;
}	
.navbar-toggler .bar-line{
	width: 30px;
    height: 2px;
    display: block;
    background-color: #fff;
}
.navbar-brand img{
	height:50px;
	width:auto;
}

.offcanvas {
    border-top-left-radius: 32px;
	background:#000;
}
.offcanvas .offcanvas-brand{
	margin:0 auto;
}
.offcanvas .offcanvas-brand img{
	text-align:center;
}
.offcanvas .btn-close-x {
    right: 1.5em !important;
    top: 0 !important;
    width: 32px;
    height: 32px;
    border: none;
    padding: 0;
    position: relative;
    background: none;
}
.offcanvas .btn-close-x:before {
    content: "";
    position: absolute;
    top: 17px;
    right: 0px;
    width: 20px;
    height: 1px;
    border-top: 2px solid #fff;
    transform: rotate(45deg);
}
.offcanvas .btn-close-x:after {
    content: "";
    position: absolute;
    top: 8px;
    right: 9px;
    width: 1px;
    height: 20px;
    border-left: 2px solid #fff;
    transform: rotate(45deg);
}
.offcanvas .nav-link {
	color: #fff !important;
    text-align: center;
}
.offcanvas .nav-link.active {
	border-left: none;
	border-bottom: 0px solid var(--primary-color);
	background-color: transparent;
	color: #fff !important;
	font-weight:bold;
}

@media (max-width: 991px) {
.navbar {
    height: 72px;
}
.navbar .container-fluid {
	padding:0 5vw;
}
.navbar-brand img{
	height:40px;
}
}

@media (max-width: 576px) {
.navbar .container-fluid {
	padding:0 1rem;
}
}

/*BTM-brand image*/
.btm {
	position:relative;
    padding-top: 10.14vw;
    padding-bottom: 16.625vw;
}
.btm .btmBOX{
	background: #E4BA65;
	background: radial-gradient(circle,#E4BA65 0%, #9E7C52 100%);
	display:flex;
    align-items: center;
	height:5.208vw;
}
.btm h4{
    font-family: "";
    color: #000;
    font-weight: bold;
    font-size: 2.188vw;
    letter-spacing: 2.083vw;
    width: calc(100% - 33%);
    padding-left:9.375vw;
    margin-bottom: 0;
}
.btm h4 span{
	padding-left:6px;
	padding-right:6px;
}
.btm .icon_stamp{
	width:14%;
}
.btm .icon_brand{
	width:19%;
    padding-left: 1.042vw;
}
.btm .icon_stamp img{
	width:15vw;
	height:auto;
}
.btm .icon_brand img{
	width:9.271vw;
	height:auto;
}
@media (max-width: 991px) {
.btm {
    padding-top: 14vw;
    padding-bottom: 16vw;
}
.btm .btmBOX{
	height:6vw;
}
.btm h4{
	font-weight:900;
    font-size: 2.8vw;
    letter-spacing: 1.5vw;
    width: calc(100% - 38%);
    padding-left:6.74vw;
	font-family: "Noto Serif TC", serif;
}
.btm h4 span{
	padding-left:10px;
	padding-right:10px;
}
.btm .icon_stamp{
	width:16%;
}
.btm .icon_brand{
	width:22%;
    padding-left: 1.042vw;
}
.btm .icon_stamp img{
	width:18.37vw;
}
.btm .icon_brand img{
	width:11.4vw;
}
}
@media (max-width: 480px) {
.btm .btmBOX{
	height:6.8vw;
}
.btm h4{
    font-size: 2.86vw;
    letter-spacing: 1.6vw;
    width: calc(100% - 40%);
    padding-left:6vw;
}
.btm h4 span{
	padding-left:3px;
	padding-right:3px;
}
.btm .icon_stamp{
	width:19%;
}
.btm .icon_brand{
	width:20%;
    padding-left: 0.5vw;
}
.btm .icon_stamp img{
	width:100%;
}
.btm .icon_brand img{
	width:14.4vw;
}
}

