/* = Top Bar 共用基礎
-----------------------------------------------------*/
.penci-top-bar {
	background: #313131;
}

.penci-top-bar.topbar-fullwidth {
	padding: 0 20px;
}

.penci-top-bar.topbar-fullwidth .container {
	width: 100%;
}

.penci-headline {
	display: block;
}

.headline-title {
	height: 32px;
	line-height: 32px;
	padding: 0 15px;
	font-size: 12px;
	color: #fff;
	background: #6eb48c;
	float: left;
	text-transform: uppercase;
	font-family: 'Raleway', sans-serif;
	z-index: 10;
	position: relative;
	display: inline-block;
	font-weight: bold;
}

.penci-headline-posts {
	margin: 0 15px 0 49px;
}

.penci-owl-carousel.penci-headline-posts .owl-stage-outer {
	height: 32px !important;
}

.penci-owl-carousel-slider.penci-headline-posts .owl-nav .owl-prev,
.penci-owl-carousel-slider.penci-headline-posts .owl-nav .owl-next,
.penci-headline-posts .slick-prev,
.penci-headline-posts .slick-next {
	width: 16px;
	height: 20px;
	border: none;
	background: none;
	display: inline-block;
	text-align: center;
	line-height: 20px;
	left: -54px;
	outline: none;
	cursor: pointer;
	position: absolute;
	color: #999;
	opacity: 1 !important;
	font-size: 18px;
	transition: color 0.3s;
	-webkit-transition: color 0.3s;
	-moz-transition: color 0.3s;
	padding: 0;
	top: 50%;
	margin-top: -10px;
}

.penci-owl-carousel-slider.penci-headline-posts .owl-nav .owl-next,
.penci-headline-posts .slick-next {
	left: -32px;
}

.penci-owl-carousel-slider.penci-headline-posts .owl-nav .owl-prev:hover,
.penci-owl-carousel-slider.penci-headline-posts .owl-nav .owl-next:hover,
.penci-headline-posts .slick-prev:hover,
.penci-headline-posts .slick-next:hover {
	color: #fff;
}

.penci-headline-posts .owl-item.sliderInUp {
	animation-name: sliderInUp;
	-webkit-animation-name: sliderInUp;
}

.penci-owl-carousel-posts .owl-item.sliderOutUp {
	animation-name: sliderOutUp;
	-webkit-animation-name: sliderOutUp;
}

.penci-headline-posts .slideInUp {
	-webkit-animation-name: slideInUp !important;
	animation-name: slideInUp !important;
}

.penci-headline-posts .slideOutUp {
	-webkit-animation-name: slideOutUp !important;
	animation-name: slideOutUp !important;
}

a.penci-topbar-post-title {
	color: #fff;
	font-size: 12px;
	font-family: 'Raleway', sans-serif;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.3s;
	-webkit-transition: color 0.3s;
	-moz-transition: color 0.3s;
	letter-spacing: 1px;
	display: inline-block;
	white-space: nowrap;
	line-height: 32px;
	font-weight: bold;
}

a.penci-topbar-post-title:hover {
	color: #6eb48c;
}

.loaded .penci-headline-posts .slick-prev,
.loaded .penci-headline-posts .slick-next,
.loaded a.penci-topbar-post-title {
	opacity: 1;
}

.penci-topbar-social {
	display: inline-block;
	float: right;
	z-index: 10;
	position: relative;
}

.penci-topbar-social>div {
	display: inline-block;
	vertical-align: top;
}

.penci-topbar-social a {
	float: left;
	display: inline-block;
	vertical-align: top;
	margin-left: 13px;
	font-size: 13px;
	color: #fff;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	line-height: 32px;
}

.penci-topbar-social a:first-child {
	margin-left: 0;
}

.penci-topbar-social a:hover {
	color: #6eb48c;
}

.penci-headline .animated.slideOutUp,
.penci-headline .animated.slideInUp {
	-webkit-animation-duration: 0.3s;
	animation-duration: 0.3s;
}

/* = Topbar Menu 基本項目樣式
-----------------------------------------------------*/
.penci-top-bar ul.penci-topbar-menu,
.penci-top-bar div.penci-topbar-menu>ul {
	display: inline-block;
	vertical-align: top;
	padding: 0;
	margin: 0;
}

.penci-top-bar ul.penci-topbar-menu li,
.penci-top-bar div.penci-topbar-menu>ul li {
	position: relative;
}

.penci-top-bar ul.penci-topbar-menu>li a,
.penci-top-bar div.penci-topbar-menu>ul>li a {
	color: #fff;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	background: none;
	font-size: 11px;
	text-transform: uppercase;
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	display: inline-block;
}

.penci-top-bar ul.penci-topbar-menu>li a:hover,
.penci-top-bar div.penci-topbar-menu>ul>li a:hover {
	color: #6eb48c;
}


/* ========================================================
   桌機版專用設定 (769px 以上)：包含下拉選單與感應防掉落
======================================================== */
@media screen and (min-width: 769px) {
	.penci-top-bar {
		height: 32px !important;
	}

	.penci-top-bar ul.penci-topbar-menu>li,
	.penci-top-bar div.penci-topbar-menu>ul>li {
		display: inline-block !important;
		float: left !important;
		margin-right: 0 !important;
		padding-right: 25px !important;
		position: relative !important;
	}

	.penci-top-bar ul.penci-topbar-menu>li:last-child,
	.penci-top-bar div.penci-topbar-menu>ul>li:last-child {
		padding-right: 0 !important;
	}

	.penci-top-bar ul.penci-topbar-menu>li a,
	.penci-top-bar div.penci-topbar-menu>ul>li a {
		line-height: 32px !important;
	}

	/* 桌機版下拉選單本體 */
	.penci-top-bar ul.penci-topbar-menu ul.sub-menu,
	.penci-top-bar div.penci-topbar-menu>ul ul.sub-menu {
		display: none;
		position: absolute !important;
		left: 0 !important;
		top: 32px !important;
		width: 200px !important;
		background: #313131 !important;
		box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2) !important;
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* 隱形感應橋梁，避免滑鼠斜向移動時關閉 */
	.penci-top-bar ul.penci-topbar-menu ul.sub-menu::before,
	.penci-top-bar div.penci-topbar-menu>ul ul.sub-menu::before {
		content: "" !important;
		position: absolute !important;
		top: -6px !important;
		left: 0 !important;
		width: 100% !important;
		height: 6px !important;
		display: block !important;
		background: transparent !important;
	}

	.penci-top-bar ul.penci-topbar-menu ul.sub-menu li,
	.penci-top-bar div.penci-topbar-menu>ul ul.sub-menu li {
		width: 100% !important;
		display: block !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.penci-top-bar ul.penci-topbar-menu li:hover>ul.sub-menu,
	.penci-top-bar div.penci-topbar-menu>ul li:hover>ul.sub-menu {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 999999 !important;
	}

	.penci-top-bar ul.penci-topbar-menu li:hover ul.sub-menu ul.sub-menu,
	.penci-top-bar div.penci-topbar-menu>ul li:hover ul.sub-menu ul.sub-menu {
		left: 100% !important;
		top: 0 !important;
	}

	.penci-top-bar ul.penci-topbar-menu ul.sub-menu li a,
	.penci-top-bar div.penci-topbar-menu>ul ul.sub-menu li a {
		box-sizing: border-box !important;
		width: 100% !important;
		padding: 8px 15px !important;
		margin: 0 !important;
		line-height: 1.5 !important;
		display: block !important;
		text-align: left !important;
	}

	.penci-top-bar ul.penci-topbar-menu ul.sub-menu li a,
	.penci-top-bar div.penci-topbar-menu>ul ul.sub-menu li a,
	.penci-top-bar ul.penci-topbar-menu>li>ul.sub-menu>li:first-child,
	.penci-top-bar div.penci-topbar-menu>ul>li>ul.sub-menu>li:first-child {
		border-top: 1px solid #414141 !important;
	}

	.penci-top-bar ul.penci-topbar-menu ul.sub-menu>li:first-child>a,
	.penci-top-bar div.penci-topbar-menu>ul ul.sub-menu li:first-child>a {
		border-top: none !important;
	}
}


/* ========================================================
   手機/平板版設定 (768px 以下)：自動高度、無下拉、平鋪換行
======================================================== */
@media screen and (max-width: 768px) {
	.penci-top-bar {
		height: auto !important;          /* 高度自適應，不再壓到下方內容 */
		padding: 2px !important;         /* 上下給予適當黑底留白 */
		text-align: center !important;
	}

	.penci-top-bar .container {
		width: 100% !important;
		padding: 0 !important;
	}

	.penci-top-bar ul.penci-topbar-menu,
	.penci-top-bar div.penci-topbar-menu>ul {
		display: block !important;
		text-align: center !important;
	}

	.penci-top-bar ul.penci-topbar-menu>li,
	.penci-top-bar div.penci-topbar-menu>ul>li {
		display: inline-block !important;
		float: none !important;          /* 取消浮動，自然隨寬度折行居中 */
		margin: 1px 5px !important;      /* 按鈕之間的橫向與縱向留白 */
		padding: 0 !important;
	}

	.penci-top-bar ul.penci-topbar-menu>li a,
	.penci-top-bar div.penci-topbar-menu>ul>li a {
		line-height: 22px !important;    /* 縮小行高，字塊更緊湊好看 */
		padding: 2px 4px !important;
	}

	/* 手機版完全隱藏下拉選單，點選/觸碰也不會跑出雜亂區塊 */
	.penci-top-bar ul.penci-topbar-menu ul.sub-menu,
	.penci-top-bar div.penci-topbar-menu>ul ul.sub-menu {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}

	/* 手機版高權重隱藏：分隔線、.topbar-auth 以及註冊/登入/登出 */
	.penci-top-bar ul.penci-topbar-menu > li.topbar-devider,
	.penci-top-bar ul.penci-topbar-menu > li.topbar-auth,
	.penci-top-bar ul.penci-topbar-menu > li:has(a[href*="/user-account/register"]),
	.penci-top-bar ul.penci-topbar-menu > li:has(a[href*="/user-account/login"]),
	.penci-top-bar ul.penci-topbar-menu > li:has(a[data-target=".bs-example-modal-sm"]) {
		display: none !important;
	}
}


/* Primary menu dropdown (主導覽列部分保持不變) */
#navigation .menu .sub-menu,
#navigation .menu .children {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	left: 0;
	z-index: 9999;
	-webkit-transition: all 0.27s ease-in-out;
	-moz-transition: all 0.27s ease-in-out;
	-o-transition: all 0.27s ease-in-out;
	transition: all 0.27s ease-in-out;
	-webkit-transform-origin: 0 0;
	-moz-transform-origin: 0 0;
	-ms-transform-origin: 0 0;
	-o-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-transform: rotateX(-90deg);
	-moz-transform: rotateX(-90deg);
	-ms-transform: rotateX(-90deg);
	-o-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
	box-shadow: 0px 3px 3px rgba(190, 190, 190, 0.6);
	-webkit-box-shadow: 0px 3px 3px rgba(190, 190, 190, 0.6);
	-moz-box-shadow: 0px 3px 3px rgba(190, 190, 190, 0.6);
	border-top: 1px solid #ECECEC;
	margin-top: 0;
	background: #fff;
	list-style: none;
}

#navigation ul.menu ul a,
#navigation .menu ul ul a {
	box-sizing: border-box;
	width: 100%;
	min-width: 200px;
	margin: 0;
	padding: 12px 20px;
	font-size: 12px;
	line-height: 1.4;
	-moz-transition: color 0.3s, background-color 0.3s;
	-webkit-transition: color 0.3s, background-color 0.3s;
	transition: color 0.3s, background-color 0.3s;
	border-bottom: 1px solid #E0E0E0;
	text-align: left;
	border-left: none !important;
	position: relative;
	overflow: hidden;
	vertical-align: top;
	display: block;
}

#navigation ul.menu ul li,
#navigation ul.menu ul ul li {
	padding-right: 0;
	margin-right: 0;
	float: none;
	position: relative;
	width: 100%;
}

#navigation .menu ul.sub-menu>li:last-child>a {
	border-bottom: none;
}

#navigation ul.menu li:hover>ul,
#navigation .menu ul li:hover>ul {
	visibility: visible;
	opacity: 1;
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	-ms-transform: rotateX(0deg);
	-o-transform: rotateX(0deg);
	transform: rotateX(0deg);
}

#navigation .menu .sub-menu ul,
#navigation .menu .children ul {
	left: 100%;
	top: 0;
}