@charset "UTF-8";

:root {
	--header-height: 50px;
	--primaryNav-height: 50px;
}

body {
	display: flex;
	flex-flow: column nowrap;
	min-height: 100vh;
	justify-content: stretch;
	/* padding-top: var(--header-height); */

	background: url('https://webarchive.lib.ntu.edu.tw:443/archive/wayback/20251031053625/https://sunology.yatsen.gov.tw/static/da/img/bg-pattern_noise.png') repeat;
}

header {
	--header-bg: #fff;
	position: fixed;
	width: 100%;
	top: 0;
	background: var(--header-bg);
	z-index: 20;
}

header .dropdown-menu {
	--bs-dropdown-border-radius: 0 !important;
}

.navbar-index {
	padding: 0;
}

header .navbar-mainHeader {
	height: var(--header-height);
	z-index: 9999;
}

header .offcanvas-top {
	top: var(--header-height) !important;
}

.navbar-supportNav {
	--bs-nav-link-color: var(--bs-gray-700);
	--bs-nav-link-hover-color: var(--bs-gray-900);
	--bs-nav-link-disabled-color: var(--bs-gray-500);
}

.navbar-brand {
	--bs-navbar-brand-padding-y: 0.5rem;
	display: flex;
	flex: 1;
	width: 0;
	height: 100%;
}

._logo {
	width: auto;
	height: auto;
	max-height: 100%;
	max-width: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

/* 首頁banner -s- */

.exhibition-title {
	margin-top: 11rem;
}

.exhibition-banner {
	background-size: cover;
	background-position: center;
	height: 700px;
}

.grid-table-theme {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
}

.exhibition-btn {
	position: absolute;
	top: 600px;
	left: 50%;
	transform: translateX(-50%);
}

.exhibition-btn-fs {
	font-size: 1.25rem;

}

@media (max-width: 576px) {
	.exhibition-banner {
		height: 250px;
	}

	.exhibition-btn {
		position: absolute;
		top: 11rem;
		bottom: 0;
	}

	.exhibition-btn-fs {
		font-size: 1rem;
	}

	.grid-table {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* 首頁banner -e- */

/* 時間軸 -s- */
.line-clamp-6 {
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 時間軸 -e- */

.section-indexBanner {
	--swiperMain-height: 60vh;
	--swiperThumb-width: 100%;
	--swiperThumb-height: auto;
	position: relative;
}

.section-indexSearch {
	background: #e4e7ed;
}

.section-historyBanner {
	background: rgba(var(--bs-accessoryLight-rgb), .25);
}

.historySwiperMain {
	--slider-line-height: 2px;
	--slider-line-color: var(--bs-main);
	--slider-order-height: 2.625rem;
	position: relative;
	display: flex;
	flex-flow: column nowrap;
	gap: 24px;
}

.historySwiperMain::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: var(--slider-line-height);
	top: calc(3.25rem + var(--slider-line-height));
	background: var(--slider-line-color);
}

.historySwiperMain .swiper-slide {
	display: flex;
	flex-flow: column nowrap;
	gap: calc(24px + var(--slider-line-height));
}

.historySwiperMain .swiper-slide ._order {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 12px;
	height: var(--slider-order-height);
}

.historySwiperMain .swiper-slide ._order ._num {
	position: relative;
	border: 1px solid var(--bs-main);
	border-radius: var(--bs-border-radius-pill);
	color: var(--bs-main);
	font-size: 1rem;
	padding: 0.5rem 0.75rem;
	background: #fff;
}

.historySwiperMain .swiper-slide ._order ._num::before {
	content: "";
	position: absolute;
	display: block;
	width: 1rem;
	height: 50%;
	background: var(--bs-main);
	bottom: -1px;
	left: -1px;
	z-index: -1;
}

.historySwiperMain .swiper-slide :is(._description, ._description .figure) {
	display: flex;
	flex-flow: column nowrap;
	gap: 12px;
}

.historySwiperMain .swiper-slide ._description .figure {
	margin-bottom: 0;
}

.historySwiperMain .swiper-slide ._description ._list {
	display: flex;
	flex-flow: row nowrap;
	align-items: start;
	gap: 12px;
}

.historySwiperMain .swiper-slide ._description ._list>*:first-child {
	flex: 0;
}

.historySwiperMain .swiper-footer {
	--swiper-navigation-sides-offset: 0;
	--swiper-pagination-bullet-size: 16px;
	--swiper-pagination-bottom: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3%;
}

.historySwiperMain .swiper-footer :is(.swiper-pagination, .swiper-button-next, .swiper-button-prev) {
	position: relative;
	left: 0;
	margin-top: 0;
	transform: translateX(0%);
}

.section-search {
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}

.section-main {
	flex: 1;
}

.content-hotContent>.grid-table>.g-tr:nth-child(n+5) {
	--border-color: rgba(var(--bs-main-rgb), 0);
}

.content-hotContent>.grid-table>.g-tr:nth-child(n+6) {
	display: none;
}

.content-moments {
	background: #e4e7ed;
}

/* 自訂元件、組件 */
.btn-gotop {
	--bs-btn-bg: #fff;
	--bs-btn-hover-bg: #fff;
	--bs-btn-border-color: var(--bs-btn-color);
	--bs-btn-hover-border-color: var(--bs-btn-hover-color);
	position: fixed;
	border-radius: 100px;
	border: 0;
	right: 24px;
	bottom: 24px;
	font-size: 2rem;
	line-height: 1;
	padding: 0;

	z-index: 1033;
}

.input-group .btn-group>.btn {
	--bs-btn-border-radius: 0 !important;
}

.btn-select {
	--bs-btn-bg: #fff;
	--bs-btn-hover-bg: #fff;
	--bs-btn-focus-bg: #fff;
	--bs-btn-active-bg: #fff;
	--bs-btn-active-border-color: #86b7fe;
	--bs-btn-hover-border-color: var(--bs-border-color);
	--bs-btn-focus-border-color: #86b7fe;
	border: var(--bs-border-width) solid var(--bs-border-color);
}

.btn-select:focus {
	border-color: #86b7fe;
	-webkit-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.nav-content-mainLeft {
	--bs-nav-link-font-size: var(--bs-fs-h5)
}

.nav-content-mainRight {
	--bs-nav-link-font-size: var(--bs-fs-h4)
}

.content-mainCenter ._content {
	line-height: var(--bs-line-height-lg);
}

/* - block-searchList搜尋區塊 */
.block-searchList {
	display: flex;
	flex-flow: column nowrap;
	gap: 24px;
}

.block-searchList-footer input[type="number"] {
	width: 6rem;
}

/* 組件-block-item */
.block-item-container {
	display: flex;
}

/* 組件-block次區塊 */
.block-pageTitle {
	align-content: stretch
}

.block-pageTitle-content {
	display: flex;
	align-self: center
}

.block-searchItem {
	--bg-lighter: #fff;
	--border: 1px solid rgba(var(--bs-main-rgb), .5);
	--border-hover: 1px solid rgba(var(--bs-main-rgb), 1);
	display: flex;
	flex-flow: row nowrap;
	gap: 1rem !important;
	justify-content: center;
	align-items: stretch;
	width: 100%;
	background: var(--bg-lighter);
}

.block-searchItem._list:not(:last-of-type) {
	border-bottom: var(--border);
}

.block-searchItem._list:not(:last-of-type):is(:hover, :focus) {
	border-bottom: var(--border-hover);
}

.block-searchItem:hover,
.block-searchItem:focus {
	--bg-lighter: rgba(var(--bs-main-rgb), 0.1);
	transition: all 0.3s;
}

.block-searchItem-order {
	min-width: 48px;
	flex: 0 0 48px;
	word-break: break-word;
}

.block-searchItem-order .form-check {
	display: block
}

.block-searchItem-main {
	display: flex;
	flex-flow: column nowrap;
	flex: 1 1 auto !important;
	min-width: 0;
	gap: 12px;
	/* margin-top: -.375rem; */
}

.block-searchItem-title {
	display: flex;
	align-items: center;
}

.block-searchItem-title a {
	text-decoration: none
}

:is(.block-searchItem-title, .block-item) ._title {
	font-weight: var(--bs-fw-bold);
}

/* .block-searchItem-content dl{
	border-bottom:0;
} */
.block-searchItem .block-save {
	right: -.625rem;
	top: -.625rem;
}

/* 組件-block _nameCard  block-nameWithBadge */
.block-nameWithBadge {
	display: flex;
	gap: 12px;
	align-items: end;
}

.block-nameWithBadge>:is(:first-child, ._name) {
	flex: 1 1 0%;
}

.block-nameWithBadge>._badge {
	flex: 0 0 auto;
	align-self: center;
}

/* 組件-block-title-header */
.block-pageTitle .block-title-header ._title {
	font-size: var(--bs-fs-h4);
	font-weight: var(--bs-fw-bold);
	text-align: center;
}

/* 組件-標籤block-bookTag */
.block-bookTag {
	position: absolute;
	display: flex;
	flex-flow: row wrap;
	gap: .25rem;
	justify-content: end;
	align-items: end;
	padding: .25rem;
	z-index: 2;
}

/* 組件-文章區塊content-essay block-essay */
/* .content-essayMain ._content{} */
.block-essay {
	--content-gap: 1.5rem 0;
	--footer-bg: rgba(var(--bs-accessory-rgb), 0.25);
	--footer-padding: 12px 24px;
	--footer-gap: 6px 12px;

	display: flex;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-item-align: stretch;
	align-self: stretch;
	gap: var(--content-gap);
}

.block-essay ._footer {
	display: flex;
	flex-flow: row wrap;
	gap: var(--footer-gap);
	padding: var(--footer-padding);
	background: var(--footer-bg);
}

/* 組件-地圖 block-map RWD*/
/* .block-map ._itemTab{
	display: flex;
	height: 100%;
} */
.block-map ._itemMap {
	position: relative;
	display: flex;
	flex: 0 0 auto;
}

.block-map ._itemMap ._contentWrapper {
	position: relative;
	flex: 1 0 auto;
	overflow-y: auto;
	height: 30vh;
}

.block-map ._itemMap ._contentWrapper>._content {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

/* 組件-地圖 block-equalHeight*/
.block-equalHeight ._itemEqual {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: start;
}

/* 組件-照片block-photoBrick */
.block-photoBrick {
	--grid-gap: 0.5rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: 300px 120px;
	grid-gap: var(--grid-gap);
	width: 100%;
}

.block-photoBrick ._itemPhoto {
	display: block;
	overflow: hidden;
}

.block-photoBrick ._itemPhoto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #fff;
}

.block-photoBrick a._itemPhoto:nth-child(1) {
	grid-row: 1/ span 1;
	grid-column: 1/ span 4;
}

.block-photoBrick a._itemPhoto:nth-child(2) {
	grid-row: 2/ span 1;
	grid-column: 1/ span 1;
}

.block-photoBrick a._itemPhoto:nth-child(3) {
	grid-row: 2/ span 1;
	grid-column: 2/ span 1;
}

.block-photoBrick a._itemPhoto:nth-child(4) {
	grid-row: 2/ span 1;
	grid-column: 3/ span 1;
}

.block-photoBrick a._itemPhoto:nth-child(5) {
	grid-row: 2/ span 1;
	grid-column: 4/ span 1;
}

.block-photoBrick a._itemPhoto:nth-child(1n+6) {
	display: none;
}

.block-photoBrick ._itemPhoto._itemPhotoMore {
	position: relative;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	grid-row: 2/ span 1;
	grid-column: 4/ span 1;
	z-index: 4;
}

.block-photoBrick ._itemPhoto._itemPhotoMore>a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: var(--bs-fs-h4);
}

.block-photoBrick a._itemPhoto:only-of-type {
	grid-row: auto/ span 2 !important;
	grid-column: auto/ span 4 !important;
}

/* 組件-客製區塊block-custom */
.block-custom ._content {
	font-weight: var(--bs-fw-light, 300);
	line-height: calc(var(--bs-line-height-lg) + 0.5);
}

/* 組件-dl */
/* .block-dataListCustom dt{
	flex:0 1 auto!important
} */
.block-dataListCustom {
	display: flex;
	flex-flow: column nowrap;
	gap: 12px;
}

.block-dataListCustom ._discription {
	font-weight: 300;
}

/* 組件-grid-table */
.grid-table {
	--cell-p-y: 1.25rem;
}

.grid-table a {
	text-decoration: none;
}

.grid-table .g-header .g-td {
	font-weight: var(--bs-fw-bold);
}

.grid-table._hover .g-tr {
	--bg-lighter: #fff;
	background: var(--bg-lighter);
}

.grid-table._border-bottom .g-tr {
	--border-color: rgba(var(--bs-main-rgb), 0.5);
}

.grid-table._border-bottom .g-tr:not(:last-of-type) {
	box-shadow: 0px -1px 0px 0px var(--border-color) inset;
	-webkit-box-shadow: 0px -1px 0px 0px var(--border-color) inset;
	-moz-box-shadow: 0px -1px 0px 0px var(--border-color) inset;
}

@media (hover: hover) {
	.grid-table._hover .g-tr:is(:hover, :focus) {
		--bg-lighter: rgba(var(--bs-main-rgb), 0.1);
		transition: all 0.3s;
	}

	.grid-table._border-bottom .g-tr:is(:hover, :focus) {
		--border-color: rgba(var(--bs-main-rgb), 0.8) !important;
		transition: all 0.3s;
	}
}

/* 組件-flex擴充 */
.flex-0 {
	flex: 0;
	/* 0 1 0% */
}

.flex-1 {
	flex: 1;
	/* 1 1 0% */
}

.flex-auto {
	flex: auto;
	/* 1 1 auto */
}

/* 組件-步驟 */
.wizard {
	--wz-color: var(--bs-body-color);
	--wz-bg: var(--bs-gray-300);
	--wz-line: var(--bs-gray-400);
	--wz-line-active: var(--bs-main);
	display: flex;
}

.wizard_step {
	/* Make all steps have the same width */
	flex: 1;
}

.wizard_step.active {
	--wz-color: var(--bs-gray-900);
	--wz-bg: var(--bs-white);
	/* color:var(--bs-main); */

	font-weight: 900;
}

.wizard_dot {
	/* Center the content */
	align-items: center;
	display: flex;
	justify-content: center;
}

.wizard_connector {
	flex: 1;
	height: 1px;
	background-color: var(--wz-line);
}

.wizard_step:first-child .wizard_connector:first-child,
.wizard_step:last-child .wizard_connector:last-child {
	background-color: transparent;
}

.active .wizard_step:first-child .wizard_connector:last-child,
.active .wizard_step:not(:last-child) .wizard_connector:first-child {
	background-color: var(--wz-line-active)
}

.wizard_number {
	/* Center the content */
	align-items: center;
	display: flex;
	justify-content: center;

	/* Rounded border */
	background-color: var(--wz-bg);
	border-radius: 9999px;
	height: 2rem;
	width: 2rem;

	/* OPTIONAL: Spacing between it and connectors */
	margin-left: 0.25rem;
	margin-right: 0.25rem;
}

.active .wizard_number {
	border: 1px solid var(--wz-line-active)
}

.wizard_title {
	text-align: center
}

/* 組件-block _nameCard  block-nameWithBadge */
.block-nameWithBadge {
	display: flex;
	gap: 12px;
	align-items: end;
}

.block-nameWithBadge>._badge {
	flex: 0 0 auto;
	align-self: center;
}

/* 組件-巢狀 */
/* 組件-巢狀導覽列 手風琴 */
.navbar-nestCollapse {
	--nest-main: #002130;
	--nest-text: #394f66;
	--nest-text-hover: #0a58ca;
	--nest-textSecondary: #6c757d;
	--nest-boxBd: #6c757d;
	--nest-boxBG: #fff;
	--nest-boxBg-hover: #F6F6F6;
	--nest-itemBg: #fff;
	--nest-itemBg-hover: #eee;
	--nest-titleFw: 900;
	--nest-paddingTimes: 1rem;
	--nest-badge-border-radius: 5rem;
	--nest-badgeFs: 0.75rem;
	--item-height: 50px;
	display: flex;
	flex-direction: column !important;
}

.navbar-nestCollapse a {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	height: var(--item-height);
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-right: var(--nest-paddingTimes) !important;
	color: var(--nest-text) !important;
	font-weight: var(--nest-titleFw);
	background: var(--nest-itemBg);
}

.navbar-nestCollapse a.nav-link {
	padding-left: var(--nest-paddingTimes) !important;
}

.navbar-nestCollapse .dropdown-item:not(.dropdown-toggle) {
	--nest-titleFw: 500;
}

.navbar-nestCollapse a.dropdown-toggle .badge,
.navbar-nestCollapse a.dropdown-item .badge {
	border-radius: var(--nest-badge-border-radius) !important;
	font-weight: normal;
	font-size: var(--nest-badgeFs);
	color: var(--nest-textSecondary) !important;
	background: var(--nest-boxBg-hover);
}

.navbar-nestCollapse a.dropdown-toggle::after {
	display: flex;
	justify-content: flex-end;
	margin-left: auto !important;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-weight: normal !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: -.125em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	border: 0 !important;
}

.navbar-nestCollapse .dropdown-menu.show {
	position: relative !important;
	transform: translate(0px, 0px) !important;
	border: 0;
	padding: 0 !important;
	left: 0;
}

.navbar-nestCollapse.navbar-dropdown a.dropdown-toggle.show::after {
	content: "\f286"
}

.navbar-nestCollapse.navbar-dropdown a.dropdown-toggle::after {
	content: "\f282"
}

.navbar-nestCollapse .dropdown-menu .dropdown-item {
	padding-left: calc(var(--nest-paddingTimes)*2)
}

.navbar-nestCollapse .dropdown-menu .dropdown-menu .dropdown-item {
	padding-left: calc(var(--nest-paddingTimes)*3)
}

.navbar-nestCollapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {
	padding-left: calc(var(--nest-paddingTimes)*4)
}

.navbar-nestCollapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {
	padding-left: calc(var(--nest-paddingTimes)*5)
}

.navbar-nestCollapse.navbar-dropdown a.dropdown-toggle.show,
.navbar-nestCollapse .nav-link.active {
	color: var(--nest-text-hover) !important;
	background: var(--nest-itemBg-hover);
	font-weight: var(--nest-titleFw);
}

.navbar-nestCollapse.navbar-dropdown .dropdown-menu.show a {
	color: var(--bs-body-color);
	font-weight: var(--nest-titleFw)
}

.navbar-nestCollapse .dropdown-item:is(:hover, :focus),
.navbar-nestCollapse a:is(:hover, :focus) {
	color: var(--nest-text-hover) !important;
	background-color: var(--nest-boxBg-hover)
}

/* 組件-nav-pills._mainLike*/
.nav-pills._mainLike {
	--bs-nav-link-padding-x: 1.5rem !important;
	--bs-nav-link-padding-y: 0.75rem !important;
	--bs-navbar-nav-link-padding-x: 1.5rem !important;
	--bs-navbar-nav-link-padding-y: 0.75rem !important;
	--bs-nav-link-font-weight: var(--bs-fw-bold);
	--bs-nav-link-color: var(--bs-white);
	--bs-nav-link-hover-color: var(--bs-accessoryLight);
	--bs-nav-link-active-color: var(--bs-accessoryLight);
	--bs-nav-link-disabled-color: var(--bs-gray-300);
	--bs-nav-link-font-size: var(--font-size-h1);
	--bs-navbar-active-color: var(--bs-accessoryLight);
	background: var(--bs-main);
	width: max-content;
}

.nav-pills .nav-item {
	display: flex;
}

.nav-pills .nav-item .nav-link {
	--bs-nav-pills-border-radius: 0;
	flex-shrink: 0;
	flex-grow: 1;
}

.nav-pills .nav-item .nav-link:is(.show, .active, :hover) {
	background: rgba(0, 0, 0, 0.5);
}

/* 組件-載入動畫 */
.block-loader {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	max-width: 100%;
	height: 200px;
	align-items: center;
	justify-content: center;
	padding: 10vh 0;
	gap: 24px;
}

.square-spin>div {
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	width: 50px;
	height: 50px;
	background: var(--bs-main);
	-webkit-animation: square-spin 2.4s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
	animation: square-spin 2.4s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
}

/* 自訂互動元件 */
.ratio {
	display: block
}

:is(.block-item-image, .block-searchItem-image) {
	--radius: 0;
	--img-w: 80px;
	--img-bg: #fff;
	position: relative;
	overflow: hidden;
	border-radius: var(--radius);
}

.block-searchItem-image._imgSizeList {
	min-width: var(--img-w);
	flex: 0 0 var(--img-w);
}

.block-searchItem-image._imgSizeList._lg {
	--img-w: 100px;
}

:is(.block-item-image, .block-searchItem-image) img {
	/* opacity:.9; */
	object-fit: contain;
	background: var(--img-bg);
	border-radius: var(--radius);
}

.block-interactive {
	position: relative;
	overflow: hidden;
}

.block-interactive .interactive-item._go {
	height: 0;
	opacity: 0;
}

/* 可以 hovers 時才會套用，可懸停(hover: hover)，不可懸停(hover: none) */
@media (hover: hover) {
	:is(.block-item-image, .block-searchItem-image)._hover:is(:hover, :focus) img {
		opacity: 1;
		transition: all 0.3s;
	}

	/* a */
	.interactive-item._go:has(._hover:hover, ._hover:focus) {
		position: absolute;
		height: 100%;
		width: 100%;
		opacity: 1;
		background: rgba(0, 0, 0, .8);
		transition: all .3s;
		z-index: 2;
	}

	/* b-default */
	.block-interactive._hover:is(:hover, :focus) .interactive-item._go {
		position: absolute;
		height: 100%;
		width: 100%;
		opacity: 1;
		background: rgba(0, 0, 0, .8);
		transition: all .3s;
		z-index: 2;
	}

	/* b-default */
	.block-interactive._hover._fromTop:is(:hover, :focus) .interactive-item._go {
		top: 0;
		left: 0;
	}

	/* b-fromTop */

	.block-interactive:is(:hover, :focus) ._scale {
		transform: scale(1.08);
		transition: all .3s ease-in-out;
	}
}

:is(.block-item-image, .block-searchItem-image):focus img {
	opacity: 1;
	transition: all 0.3s;
}

/* a' */
.interactive-item._go:has(._hover:focus) {
	height: 100%;
	opacity: 1;
	background: rgba(0, 0, 0, .8);
	transition: all .3s;
	z-index: 2;
}

/* b'-default */
.block-interactive._hover._fromTop:is(:focus) .interactive-item._go {
	top: 0;
	left: 0;
}

/* b'-fromTop */
.interactive-item._go:has(:focus) a {
	border: 4px solid var(--bs-main);
}

/* 互動元件-火狐設定 不支援的選取器要分開寫 */
.block-interactive .interactive-item._go {
	z-index: 2;
}

/* -無法 hovers 時才會套用，可懸停(hover: hover)，不可懸停(hover: none) */
@media (hover: none) {
	.block-interactive .interactive-item._go {
		height: 100%;
		opacity: 0;
	}
}

.block-interactive:focus .interactive-item._go a {
	border: 4px solid var(--bs-main);
}

/* 互動元件-收藏、選取框 */
.block-save {
	position: absolute;
	display: flex;
	left: unset !important;
	right: .375rem;
	top: .375rem;
	width: auto;
	height: auto;
	z-index: 4;
}

.block-save+.block-save {
	top: 3.75rem;
}

.block-save._hover .interactive-item {
	display: none;
}

/* 可以 hovers 時才會套用，可懸停(hover: hover)，不可懸停(hover: none) */
@media (hover: hover) {

	/* .block-save._hover:is(:hover,:focus) .interactive-item{
	display:block;
	transition:all .3s;	
} */
	.block-save._hover:is(:hover, :focus) .interactive-item {
		display: block;
		transition: all .3s;
	}
}

.btn-save {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	width: 1.5rem;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	box-sizing: content-box;
	border-color: transparent !important;
	border-radius: 50rem;
	color: var(--bs-btn-color);
	background-color: rgba(255, 255, 255, .7) !important;
	box-shadow: var(--shadow-tabPills);
}

/* -收藏、選取選項 */
.block-save>.btn-check:checked+.btn-save._heart i::before {
	content: "\f415";
	color: var(--bs-red);
}

.block-save>.btn-check:checked+.btn-save._check i::before {
	content: "\F26C";
	color: var(--bs-main);
}

.btn-check+.btn-save:hover {
	color: var(--bs-btn-color);
	background-color: rgba(255, 255, 255, 1) !important;
}

.btn-check:focus+.btn-save,
.btn-save:focus {
	outline: 2px solid var(--bs-main);
	background-color: rgba(255, 255, 255, .9) !important;
	box-shadow: 0px 2px 8px rgba(66, 43, 97, 0.35);
}

.btn-save:hover {
	color: var(--bs-secondary);
	background-color: rgba(255, 255, 255, .9) !important;
}

/* 互動客製新增 */
:is(.section-main .content-indexCategory, .content-historyCategory) .block-interactive .interactive-item._go {
	position: absolute;
	bottom: 0;
	height: auto !important;
	width: 100%;
	padding: 0.75rem;
	opacity: 1;
	background: rgba(0, 0, 0, .6) !important;
}

.content-historicalIcons .block-interactive .interactive-item._go {
	position: absolute;
	top: 100%;
	height: auto !important;
	width: 100%;
	padding: 0.75rem;
	opacity: 1;
	background: rgba(255, 255, 255, .8) !important;
}

@media (hover: hover) {
	:is(.section-main .content-indexCategory, .content-historyCategory) .block-interactive:is(:hover, :focus) .interactive-item._go {
		background: rgba(0, 0, 0, 1) !important;
	}

	.content-historicalIcons .block-interactive:is(:hover, :focus) .interactive-item._go {
		top: unset;
		bottom: 0;
	}
}

/* 預設元件新增、調整 */
p {
	word-break: break-word;
}

.breadcrumb {
	--bs-breadcrumb-margin-bottom: 0 !important;
}

.dropdown-menu.show {
	margin-top: 0;
}

.navbar-index .navbar-toggler {
	--bs-navbar-color: var(--bs-main);
	--bs-navbar-toggler-font-size: 1.875rem;
	--bs-navbar-toggler-border-color: transparent;
	height: 40px;
}

img[class*="object-fit-"] {
	width: 100%;
	height: 100%;
}

/* -漢堡動畫 */
.hamburger-toggler [class^="_line"] {
	width: 30px;
	height: 2px;
	margin: 6px 0;
	background: var(--bs-navbar-color);
	transition: all 0.24s ease;
}

.hamburger-toggler[aria-expanded="true"] ._line_1 {
	transform: rotate(-45deg) translate(-5px, 6px);
}

.hamburger-toggler[aria-expanded="true"] ._line_2 {
	transition: all 0.12s ease;
	width: 0;
}

.hamburger-toggler[aria-expanded="true"] ._line_3 {
	transform: rotate(45deg) translate(-5px, -6px);
}

/* 預設元件-dl */
:is(.block-item-content, .block-searchItem-content) dl {
	--bg-dl: rgba(255, 255, 255, .5);
	--bg-dl-hover: rgba(255, 255, 255, 1);
	--bg-dl-title: rgba(var(--bs-accessory-rgb), .25);
	display: flex;
	width: 100%;
	align-items: center;
	margin-bottom: 0;
	padding: .5rem;
	border-bottom: 1px solid var(--bs-secondary-bg);
	font-weight: 300;
	background-color: var(--bg-dl);
}

:is(.block-item-content, .block-searchItem-content) dl:is(:hover, :focus) {
	background-color: var(--bg-dl-hover);
}

:is(.block-item-content, .block-searchItem-content) dl:last-child {
	border-bottom: 0
}

:is(.block-item-content, .block-searchItem-content) dt {
	width: 8rem;
	flex: none;
}

:is(.block-item-content, .block-searchItem-content) dd {
	display: flex;
	flex-direction: column;
	margin-bottom: 0;
	word-break: break-word;
}

:is(.block-item-content, .block-searchItem-content) :is(dd, ._content) p {
	margin: 0;
}

dd ._content {
	word-break: break-word
}

dd ._content iframe {
	max-width: 100% !important
}

:is(.block-item-content, .block-searchItem-content) dl.title {
	background-color: var(--bg-dl-title);
}

/* 既有元件新增調整 */
/* 既有元件新增調整-nav-underline */
.nav-underline {
	--bs-nav-underline-border-width: 0.125rem;
	--bs-nav-underline-link-active-color: var(--bs-gray-800);
	--bs-nav-link-font-weight: var(--bs-fw-light);
	--bs-nav-link-color: var(--bs-gray-800);
	--bs-nav-link-hover-color: var(--bs-link-hover-color);
	--bs-nav-link-disabled-color: var(--bs-secondary-color);
}

.nav-underline-index-lg {
	--bs-nav-underline-gap: 1rem;
	--bs-nav-underline-border-width: 0.125rem;
	--bs-nav-underline-link-active-color: var(--bs-gray-800);
	--bs-nav-link-padding-x: 1rem;
	--bs-nav-link-padding-y: 0;
	--bs-nav-link-font-weight: var(--bs-fw-light);
	--bs-nav-link-color: var(--bs-gray-800);
	--bs-nav-link-hover-color: var(--bs-link-hover-color);
	--bs-nav-link-disabled-color: var(--bs-secondary-color);
	--bs-nav-link-font-size: var(--bs-fs-h4);
}

:is(.nav-underline, .nav-underline-index-lg) .nav-link.active,
:is(.nav-underline, .nav-underline-index-lg) .show>.nav-link {
	--bs-nav-link-font-weight: var(--bs-fw-bold);
	font-weight: var(--bs-fw-bold);
	border-bottom-color: var(--bs-accessory);
}

/* 既有元件新增調整-表單元素 */
fieldset legend {
	font-size: var(--bs-body-font-size)
}

:is(label, legend, p, span)._must {
	font-weight: var(--bs-fw-bold);
}

:is(label, legend, p, span)._must::after {
	content: "(Required fields)";
	position: relative;
	display: inline-block;
	color: var(--bs-danger);
	font-size: var(--bs-fs-sm);
	font-weight: var(--bs-fw-normal);
}

[lang="zh-Hant-TW"] :is(label, legend, p, span)._must::after {
	content: "(必填)";
}

/* 既有元件新增調整-scrollBar調整 */
.overflow-auto,
.overflow-x-auto,
.overflow-y-auto,
.overflow-scroll,
.overflow-x-scroll,
.overflow-y-scroll,
.modal-content,
.block-map ._itemMap ._contentWrapper {
	scrollbar-color: rgba(var(--bs-main-rgb), 0.7) rgba(255, 255, 255, 0.3);
}

/* 組件-btn-fakeSelect */
.btn-fakeSelect {
	--bs-btn-color: var(--bs-body-color);
	--bs-btn-bg: #fff;
	--bs-btn-border-color: var(--bs-gray-300);
	--bs-btn-hover-color: var(--bs-gray-900);
	--bs-btn-hover-bg: #fff;
	--bs-btn-hover-border-color: #86b7fe;
	--bs-btn-focus-shadow-rgb: 13, 110, 253;
	--bs-btn-active-color: var(--bs-gray-900);
	--bs-btn-active-bg: #fff;
	--bs-btn-active-border-color: var(--bs-gray-300);
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--bs-gray-500);
	--bs-btn-disabled-bg: var(--bs-gray-200);
	--bs-btn-disabled-border-color: var(--bs-gray-300);
	display: flex;
	border: var(--bs-btn-border-width) solid var(--bs-btn-border-color) !important;
}

.btn-fakeSelect:focus {
	-webkit-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.btn-fakeSelect .dropdown-toggle {
	--bs-nav-link-font-size: 1.125rem;
	--bs-nav-link-color: var(--bs-gray-700);
	--bs-nav-link-hover-color: var(--bs-gray-900);
	--bs-navbar-active-color: var(--bs-gray-900);
	display: flex;
	justify-content: space-between;
	align-items: center;
	/* gap: 24px;
	padding: 12px 24px; */
}

.btn-fakeSelect .dropdown-toggle::after {
	border: 0 !important;
	width: 1rem;
	height: 1rem;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='layer' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' style='enable-background:new 0 0 16 16;' xml:space='preserve'%3E%3Cpolyline id='path' class='st0' fill='none' stroke='%23495057' stroke-width='1' points='12.9,6.5 8,11.4 3.1,6.5 '/%3E%3C/svg%3E%0A");
}

.navbar-supportNav .btn-fakeSelect {
	align-items: center;
}

/* 既有元件新增調整-QnA 手風琴 */
.accordion-qna {
	--bs-accordion-btn-padding-x: 1.25rem;
	--bs-accordion-btn-padding-y: .75rem;
	--bs-accordion-body-padding-x: 1.25rem;
	--bs-accordion-body-padding-y: .75rem;
}

.accordion-qna .accordion-body {
	position: relative;
	padding-left: 3rem;
}

.accordion-qna .item-order {
	width: 2rem
}

.accordion-qna .badge {
	margin-right: .5rem
}

.accordion-qna .accordion-body {
	display: flex;
	flex-flow: column nowrap;
	gap: 1rem;
	justify-content: space-between;
	line-height: var(--bs-lh-lg);
}

.accordion-qna .accordion-body::before {
	content: "A:";
	position: absolute;
	display: inline-block;
	font-weight: var(--bs-fw-bold);
	line-height: var(--bs-lh-lg);
	left: var(--bs-accordion-body-padding-x);
}

.accordion-qna .item-date::before {
	content: "— "
}

.accordion-qna .item-date {
	text-align: right;
	font-size: .875em;
	font-weight: var(--bs-fw-light);
	color: var(--bs-secondary);
}

/* 與JS搭配元件 */
/* block-editInput */
.block-editInput ._editableInput.form-control-plaintext {
	background-color: rgba(255, 255, 255, .5);
}

.block-editInput ._editableInput:is(:focus) {
	padding-left: 0.75rem;
	padding-right: 0.75rem;
	background-color: rgba(255, 255, 255, 1);
	transition: all .3s;
}

/* rolldate-container */
.combobox-datepicker {
	--cp-main-color: var(--bs-primary)
}

.combobox-datepicker .dialog {
	margin-top: 0;
	z-index: 1060;
}

.combobox-datepicker .prev-year,
.combobox-datepicker .prev-month,
.combobox-datepicker .next-month,
.combobox-datepicker .next-year {
	padding: 0;
	border-style: 1px solid !important;
	border-color: transparent;
}

.combobox-datepicker .prev-year:hover,
.combobox-datepicker .prev-month:hover,
.combobox-datepicker .next-month:hover,
.combobox-datepicker .next-year:hover {
	padding: 0;
	border: 1px solid white;
}

/* 套件 */
/* 套件-滾動吸頂FixedTop */
.fixed {
	-webkit-transition: top .3s .3s ease-in-out;
	transition: top .3s .3s ease-in-out;
}

:is(.mlFixed-top, .mlFixed-bottom).fixed {
	position: fixed !important;
	width: 100%;
	z-index: 100;
}

.mlFixed-top {
	top: 0;
	bottom: unset !important;
}

.mlFixed-bottom {
	top: unset !important;
	bottom: 0;
}

.sticky {
	-webkit-transition: top .3s ease-in-out;
	transition: top .3s ease-in-out;
}

:is(.mlSticky-top, .mlSticky-bottom).sticky {
	position: sticky !important;
	z-index: 100;
}

.mlSticky-top {
	top: 0;
	bottom: unset !important;
}

.mlSticky-bottom {
	top: unset !important;
	bottom: 0;
}

/* 套件-bs offcanvas調整 */
.offcanvas-dataFilter {
	--bs-offcanvas-height: 70vh;
	left: 0;
	width: 100%;
	max-height: 100%;
}

.offcanvas-dataDropDown {
	--bs-offcanvas-height: 60vh;
}

/* 套件-viewer */
.viewer-section {
	position: relative
}

.viewer-container_imgSet,
.viewer-container.viewer-backdrop {
	width: 100% !important;
	height: 100vh !important;
}

.viewer-container_imgSet {
	position: relative;
	overflow: hidden;
}

.viewer-container.viewer-backdrop {
	background-color: var(--bs-tertiary-bg)
}

.block-viewerInfo {
	display: flex;
	flex-direction: column;
	height: 90vh;
}

.block-viewerInfo-content {
	background: var(--bg-main)
}

.block-viewerCovered .btn {
	position: absolute;
	top: calc(50vh - 2rem);
	z-index: 999;
}

.block-viewerCovered .btn.prev {
	left: 0
}

.block-viewerCovered .btn.next {
	right: 0
}

.item-pageControl {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 999;
}

.input-pageControl {
	max-width: 6rem;
}

.viewer-toolbar>ul {
	display: flex;
	gap: 6px;
	justify-content: center;
}

@media screen and (min-width:992px) {

	.content-essaySide,
	.content-essayMain {
		display: flex;
		flex-direction: column;
		/* ^等高 */
	}

	:is(.content-essaySide, .content-essayMain)>._content {
		flex: 1 1 auto;
		height: 100%;
	}
}

/* 套件Swiper */

.indexSwiperMain .swiper-slide {
	height: var(--swiperMain-height);
}

.indexSwiperMain .swiper-slide>img {
	min-width: 100%;
	object-fit: cover;
}

.indexSwiperThumb {
	position: relative;
	width: var(--swiperThumb-width);
	display: flex;
	flex-flow: column nowrap;
	padding: 1.5rem 0.75rem;
	background: #fff;
}

.indexSwiperThumb .swiper-pagination {
	display: none;
}

.indexSwiperThumb .swiper-wrapper .swiper-slide:not(.swiper-slide-thumb-active) {
	opacity: 0 !important;
}


.swiper-imgNav {
	max-height: 60vh;
}

.swiper-button-height-plus {
	top: var(--swiper-navigation-top-offset, 15%) !important;
	padding: 300px 0;
	background-clip: content-box !important;
}

/* /套件Swiper */
/* 套件-bs5LightBox */
.lightbox ._description,
.block-photoBrick ._itemPhoto ._description {
	position: absolute;
	color: #fff;
	background: rgba(0, 0, 0, .5);
	height: auto;
	width: 100%;
	top: unset;
	bottom: 0;
	padding: 0.875rem 1rem;
	text-align: center;
	z-index: 2;
}

.block-photoBrick ._itemPhoto {
	position: relative;
}

/* .block-photoBrick ._itemPhoto ._description{
  z-index: 2;
  bottom: 0;
  top: unset;
} */
/* 動畫系統 */
/* -載入動畫 */
@-webkit-keyframes square-spin {
	25% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
		transform: perspective(100px) rotateX(180deg) rotateY(0);
	}

	50% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
		transform: perspective(100px) rotateX(180deg) rotateY(180deg);
	}

	75% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
		transform: perspective(100px) rotateX(0) rotateY(180deg);
	}

	100% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(0);
		transform: perspective(100px) rotateX(0) rotateY(0);
	}
}

@keyframes square-spin {
	25% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
		transform: perspective(100px) rotateX(180deg) rotateY(0);
	}

	50% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
		transform: perspective(100px) rotateX(180deg) rotateY(180deg);
	}

	75% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
		transform: perspective(100px) rotateX(0) rotateY(180deg);
	}

	100% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(0);
		transform: perspective(100px) rotateX(0) rotateY(0);
	}
}

@-webkit-keyframes heart {
	0% {
		transform: scale(1);
	}

	17.5% {
		transform: scale(0.5);
	}
}

@keyframes heart {
	0% {
		transform: scale(1);
	}

	17.5% {
		transform: scale(0.5);
	}
}

#Heart_2_ {
	will-change: transform;
	transform-origin: 50% 50%;
	-webkit-animation: heart 1.8s cubic-bezier(0.17, 0.89, 0.32, 1.49);
	animation: heart 1.8s cubic-bezier(0.17, 0.89, 0.32, 1.49);
}

@-webkit-keyframes bubble {

	0%,
	100% {
		transform: scale(0);
		opacity: 0;
		stroke-width: 0;
		stroke: rgba(233, 172, 193, 0);
	}

	15% {
		fill: #E9ACC1;
	}

	50% {
		transform: scale(1);
		opacity: 1;
		stroke: #E9ACC1;
		stroke-width: 6;
	}

	100% {
		fill: rgba(233, 172, 193, 0);
	}
}

@keyframes bubble {

	0%,
	100% {
		transform: scale(0);
		opacity: 0;
		stroke-width: 0;
		stroke: rgba(233, 172, 193, 0);
	}

	15% {
		fill: #E9ACC1;
	}

	50% {
		transform: scale(1);
		opacity: 1;
		stroke: #E9ACC1;
		stroke-width: 6;
	}

	100% {
		fill: rgba(233, 172, 193, 0);
	}
}

#Circle {
	fill: #E9ACC1;
	will-change: transform;
	transform: scale(0);
	transform-origin: 50% 50%;
	-webkit-animation: bubble 1.8s cubic-bezier(0.21, 0.61, 0.35, 1);
	animation: bubble 1.8s cubic-bezier(0.21, 0.61, 0.35, 1);
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
}

@-webkit-keyframes particle {

	0%,
	100% {
		opacity: 0;
	}

	40% {
		transform: translate(0, 0) scale(1);
	}

	80% {
		opacity: 1;
	}

	100% {
		transform: translate(0, 0) scale(0);
	}
}

@keyframes particle {

	0%,
	100% {
		opacity: 0;
	}

	40% {
		transform: translate(0, 0) scale(1);
	}

	80% {
		opacity: 1;
	}

	100% {
		transform: translate(0, 0) scale(0);
	}
}

[id*=Particle] {
	will-change: transform;
	transform-origin: 50% 50%;
	transform-box: fill-box;
	opacity: 0;
	-webkit-animation: particle 2.7s cubic-bezier(0.21, 0.61, 0.35, 1);
	animation: particle 2.7s cubic-bezier(0.21, 0.61, 0.35, 1);
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-delay: 0.45s;
	animation-delay: 0.45s;
}

[id*=Particle]:nth-child(1) {
	-webkit-animation-duration: 1755ms;
	animation-duration: 1755ms;
}

[id*=Particle]:nth-child(2) {
	-webkit-animation-duration: 1008ms;
	animation-duration: 1008ms;
}

[id*=Particle]:nth-child(3) {
	-webkit-animation-duration: 1821ms;
	animation-duration: 1821ms;
}

[id*=Particle]:nth-child(4) {
	-webkit-animation-duration: 1751ms;
	animation-duration: 1751ms;
}

[id*=Particle]:nth-child(5) {
	-webkit-animation-duration: 1971ms;
	animation-duration: 1971ms;
}

[id*=Particle]:nth-child(6) {
	-webkit-animation-duration: 1542ms;
	animation-duration: 1542ms;
}

[id*=Particle]:nth-child(7) {
	-webkit-animation-duration: 1299ms;
	animation-duration: 1299ms;
}

[id*=Particle]:nth-child(8) {
	-webkit-animation-duration: 1601ms;
	animation-duration: 1601ms;
}

[id*=Particle]:nth-child(9) {
	-webkit-animation-duration: 1879ms;
	animation-duration: 1879ms;
}

[id*=Particle]:nth-child(10) {
	-webkit-animation-duration: 1797ms;
	animation-duration: 1797ms;
}

[id*=Particle]:nth-child(11) {
	-webkit-animation-duration: 1887ms;
	animation-duration: 1887ms;
}

[id*=Particle]:nth-child(12) {
	-webkit-animation-duration: 1846ms;
	animation-duration: 1846ms;
}

[id*=Particle]:nth-child(13) {
	-webkit-animation-duration: 1936ms;
	animation-duration: 1936ms;
}

[id*=Particle]:nth-child(14) {
	-webkit-animation-duration: 1149ms;
	animation-duration: 1149ms;
}

[id*=Particle]:nth-child(15) {
	-webkit-animation-duration: 1591ms;
	animation-duration: 1591ms;
}

[id*=Particle]:nth-child(16) {
	-webkit-animation-duration: 1045ms;
	animation-duration: 1045ms;
}

[id*=Particle]:nth-child(17) {
	-webkit-animation-duration: 1435ms;
	animation-duration: 1435ms;
}

[id*=Particle]:nth-child(18) {
	-webkit-animation-duration: 1525ms;
	animation-duration: 1525ms;
}

[id*=Particle]:nth-child(1) {
	transform: translate(500%, 500%) scale(0);
}

[id*=Particle]:nth-child(2) {
	transform: translate(250%, 500%) scale(0);
}

[id*=Particle]:nth-child(3) {
	transform: translate(0, 500%) scale(0);
}

[id*=Particle]:nth-child(4) {
	transform: translate(-250%, 500%) scale(0);
}

[id*=Particle]:nth-child(5) {
	transform: translate(-500%, 500%) scale(0);
}

[id*=Particle]:nth-child(6) {
	transform: translate(-500%, 250%) scale(0);
}

[id*=Particle]:nth-child(7) {
	transform: translate(-500%, 0%) scale(0);
}

[id*=Particle]:nth-child(8) {
	transform: translate(-500%, -250%) scale(0);
}

[id*=Particle]:nth-child(9) {
	transform: translate(-500%, -500%) scale(0);
}

[id*=Particle]:nth-child(10) {
	transform: translate(-250%, -500%) scale(0);
}

[id*=Particle]:nth-child(11) {
	transform: translate(0%, -500%) scale(0);
}

[id*=Particle]:nth-child(12) {
	transform: translate(250%, -500%) scale(0);
}

[id*=Particle]:nth-child(13) {
	transform: translate(500%, -500%) scale(0);
}

[id*=Particle]:nth-child(14) {
	transform: translate(500%, -250%) scale(0);
}

[id*=Particle]:nth-child(15) {
	transform: translate(500%, 0%) scale(0);
}

[id*=Particle]:nth-child(16) {
	transform: translate(500%, 250%) scale(0);
}

[id*=Particle]:nth-child(17) {
	transform: translate(500%, 500%) scale(0);
}

[id*=Particle]:nth-child(18) {
	transform: translate(500%, 500%) scale(0);
}

/* 文字系統 */
/* 文字-規則-斷行 */
[class*=line-clamp-] {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	white-space: normal;
	text-overflow: ellipsis;
	word-break: break-all;
}

.line-clamp-1 {
	-webkit-line-clamp: 1
}

.line-clamp-2 {
	-webkit-line-clamp: 2
}

.line-clamp-3 {
	-webkit-line-clamp: 3
}

.line-clamp-4 {
	-webkit-line-clamp: 4
}

.line-clamp-5 {
	-webkit-line-clamp: 5
}

.line-clamp-6 {
	-webkit-line-clamp: 6
}

.line-clamp-7 {
	-webkit-line-clamp: 7
}

.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.highlight {
	--highlight: var(--bs-gray-900);
	--highlight-bg: rgba(var(--bs-warning-rgb), 0.2);
	color: var(--highlight);
	background: var(--highlight-bg);
	font-style: normal;
	position: relative;
}

.highlight::after {
	content: " ";
	position: absolute;
	height: 2px;
	width: 100%;
	left: 0;
	bottom: 0;
	background: var(--bs-main);
}

img.bi {
	display: inline-block;
	vertical-align: -0.125em;
	width: 1em;
	height: 1em;
}

.title-underline {
	--TU-lineColor: var(--bs-accessory);
	--TU-lineWidth: 4rem;
	--TU-lineThick: 0.125rem;
	position: relative;
	font-weight: var(--bs-fw-bold);
}

.title-underline::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: calc((var(--TU-lineThick) + 0.5rem)*-1);
	width: var(--TU-lineWidth);
	height: var(--TU-lineThick);
	background: var(--TU-lineColor);
}

:is(.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6).title-underline::after {
	bottom: calc((var(--TU-lineThick) + 0.75rem)*-1);
}

/* 規則-背景 */
.bg-blue {
	background: var(--bs-blue)
}

.bg-indigo {
	background: var(--bs-indigo)
}

.bg-purple {
	background: var(--bs-purple)
}

.bg-pink {
	background: var(--bs-pink)
}

.bg-orange {
	background: var(--bs-orange)
}

.bg-yellow {
	background: var(--bs-yellow)
}

.bg-green {
	background: var(--bs-green)
}

.bg-teal {
	background: var(--bs-teal)
}

.bg-cyan {
	background: var(--bs-cyan)
}

/* 特殊字圖片尺寸 */
.img-text {
	height: calc(1rem + 0.125rem)
}

:is(h1, .h1, .fs-1, .display-6)>.img-text,
:is(h1, .h1, .fs-1, .display-6).img-text {
	height: calc(2.5rem + 0.125rem) !important
}

:is(h2, .h2, .fs-2)>.img-text,
:is(h2, .h2, .fs-2).img-text {
	height: calc(2rem + 0.125rem) !important
}

:is(h3, .h3, .fs-3)>.img-text,
:is(h3, .h3, .fs-3).img-text {
	height: calc(1.75rem + 0.125rem) !important
}

:is(h4, .h4, .fs-4)>.img-text,
:is(h4, .h4, .fs-4).img-text {
	height: calc(1.5rem + 0.125rem) !important
}

:is(h5, .h5, .fs-5)>.img-text,
:is(h5, .h5, .fs-5).img-text {
	height: calc(1.25rem + 0.125rem) !important
}

:is(h6, .h6, .fs-6)>.img-text,
:is(h6, .h6, .fs-6).img-text {
	height: calc(1rem + 0.125rem) !important
}

.display-1>.img-text,
.display-1.img-text {
	height: calc(5rem +0.125rem) !important
}

.display-2>.img-text,
.display-2.img-text {
	height: calc(4.5rem +0.125rem) !important
}

.display-3>.img-text,
.display-3.img-text {
	height: calc(4rem +0.125rem) !important
}

.display-4>.img-text,
.display-4.img-text {
	height: calc(3.5rem +0.125rem) !important
}

.display-5>.img-text,
.display-5.img-text {
	height: calc(3rem +0.125rem) !important
}

.left-button {
	z-index: 100;
}

/* xs 當螢幕小於575px時 */
@media screen and (max-width:575px) {}

/* sm 當螢幕大於576px時*/
@media screen and (min-width:576px) {

	/* 互動元件 */
	.block-searchItem-image._imgSizeList {
		--img-w: 120px;
	}

	.block-searchItem-image._imgSizeList._lg {
		--img-w: 220px;
	}
}

/* 平板直向時 */
@media screen and (min-width:768px) and (min-height:992px) {}

/* md 當螢幕 小於768px時*/
@media screen and (max-width:768px) {
	.section-search.fixed-bottom~footer .btn-gotop {
		bottom: 4.5rem;
	}

	/* 組件-grid-table */
	.grid-table ._rwd-title {
		display: flex;
		flex-flow: column nowrap;
	}

	.grid-table ._rwd-title::before {
		content: attr(aria-label);
		position: relative;
		display: block;
		font-size: var(--bs-fs-sm);
	}

	/* 組件-grid-table客製 */
	.grid-table ._rwd-title {
		padding: 0 calc(var(--cell-p-x) / 2) calc(var(--cell-p-y) / 2) calc(var(--cell-p-x) / 2);
	}

	.title-size:is(.h1, h1) {
		font-size: 3rem
	}

	.title-size:is(.h2, h2) {
		font-size: 2.25rem
	}

	.title-size:is(.h3, h3) {
		font-size: 2rem
	}

	.title-size:is(.h4, h4) {
		font-size: 1.5rem
	}

	.title-size:is(.h5, h5) {
		font-size: 1.125rem
	}

	.title-size:is(.h6, h6) {
		font-size: 1rem
	}

	.content-indexCategory .title-size:is(.h3, h3) {
		font-size: 1.25rem
	}

	.mobile-title {
		font-size: 1.7rem !important;
	}
}

/* md 當螢幕大於768px時*/
@media screen and (min-width:768px) {

	/* 文字-規則-斷行 */
	.line-clamp-md-1 {
		-webkit-line-clamp: 1
	}

	.line-clamp-md-2 {
		-webkit-line-clamp: 2
	}

	.line-clamp-md-3 {
		-webkit-line-clamp: 3
	}

	.line-clamp-md-4 {
		-webkit-line-clamp: 4
	}

	.line-clamp-md-5 {
		-webkit-line-clamp: 5
	}

	.line-clamp-md-6 {
		-webkit-line-clamp: 6
	}

	.line-clamp-md-7 {
		-webkit-line-clamp: 7
	}

	/* 規則 */
}

/* lg 當螢幕小於992px時 */
@media screen and (max-width:992px) {
	.offcanvas-collapse {
		position: fixed;
		top: var(--header-height);
		/* Height of navbar */
		bottom: 0;
		left: 100%;
		width: 100%;
		padding-right: 1rem;
		padding-left: 1rem;
		overflow-y: auto;
		visibility: hidden;
		background-color: #fff;
		transition: transform .3s ease-in-out, visibility .3s ease-in-out;
	}

	.offcanvas-collapse.open {
		visibility: visible;
		transform: translateX(-100%);
	}
}

/* lg 當螢幕大於992px時*/
@media screen and (min-width:992px) {
	body {
		padding-top: 0;
	}

	header,
	footer {
		--header-bg: transparent;
		--header-padding: 30px 12px;
	}

	.container-footer {
		padding: var(--header-padding) !important;
	}

	.navbar-expand-lg .navbar-collapse {
		display: flex !important;
		flex-basis: auto;
	}

	header {
		position: relative;
	}

	.navbar-brand {
		--bs-navbar-brand-padding-y: 0;
	}

	.navbar-index {
		--logo-width: 200px;
		padding: var(--header-padding);
		align-items: start;
	}

	.navbar-mainHeader {
		flex: 0 0 var(--logo-width);
		max-width: var(--logo-width);
		margin-left: 0;
		margin-right: 0;
	}

	.navbar-mainContent {
		flex: 0 0 calc(100% - (2 * var(--logo-width)));
		max-width: calc(100% - (2 * var(--logo-width)));
		justify-content: center !important;
		margin-left: 0;
		margin-right: 0;
	}

	.navbar-index>div:first-child {
		margin-left: calc(var(--bs-gutter-x) * -0.5);
	}

	.navbar-index>div:last-child:not(.navbar-mainContent) {
		margin-right: calc(var(--bs-gutter-x) * -0.5);
	}

	.navbar-index-body {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
	}

	.navbar-index-body>.navbar-supportNav {
		--bs-nav-link-padding-x: 0.75rem !important;
		--bs-navbar-nav-link-padding-x: 0.75rem !important;
		--bs-nav-link-padding-y: 0.75rem !important;
		--bs-navbar-nav-link-padding-y: 0.75rem !important;
		--bs-nav-link-font-weight: var(--bs-fw-bold);
		--bs-nav-link-color: var(--bs-gray-700);
		--bs-nav-link-hover-color: var(--bs-gray-900);
		--bs-nav-link-active-color: var(--bs-gray-900);
		--bs-nav-link-disabled-color: var(--bs-gray-500);
		--bs-nav-link-font-size: 1rem;
		--bs-navbar-active-color: var(--bs-gray-900);
	}

	.navbar-index-body>.navbar-primaryNav {
		--bs-nav-link-padding-x: 1.5rem !important;
		--bs-nav-link-padding-y: 0.75rem !important;
		--bs-navbar-nav-link-padding-x: 1.5rem !important;
		--bs-navbar-nav-link-padding-y: 0.75rem !important;
		--bs-nav-link-font-weight: var(--bs-fw-bold);
		--bs-nav-link-color: var(--bs-white);
		--bs-nav-link-hover-color: var(--bs-accessoryLight);
		--bs-nav-link-active-color: var(--bs-accessoryLight);
		--bs-nav-link-disabled-color: var(--bs-gray-300);
		--bs-nav-link-font-size: var(--font-size-h1);
		--bs-navbar-active-color: var(--bs-accessoryLight);
		background: var(--bs-main);
		position: absolute;
		top: calc(100% + 6px);
		width: max-content;
	}

	.navbar-primaryNav .nav-item {
		display: flex;
	}

	.navbar-primaryNav .nav-item .nav-link {
		flex-shrink: 0;
	}

	.navbar-primaryNav .nav-item .nav-link:is(.show, .active, :hover) {
		background: rgba(0, 0, 0, 0.5);
	}

	.section-indexBanner {
		--swiperMain-height: 60vh;
		--swiperThumb-width: 40%;
		--swiperThumb-height: auto;
		--swiperThumb-right: calc(1.5rem / 2);
		position: relative;

	}

	/* 組件-照片block-photoBrick */
	.block-photoBrick {
		--grid-gap: 0.5rem;
		display: grid;
		grid-template-columns: calc(70% - var(--grid-gap)) 30%;
		grid-template-rows: repeat(4, 120px);
		grid-gap: var(--grid-gap);
		width: 100%;
	}

	.block-photoBrick a._itemPhoto:nth-child(1) {
		grid-row: 1/ span 4;
		grid-column: 1/ span 1;
	}

	.block-photoBrick a._itemPhoto:nth-child(2) {
		grid-row: 1/ span 1;
		grid-column: 2/ span 1;
	}

	.block-photoBrick a._itemPhoto:nth-child(3) {
		grid-row: 2/ span 1;
		grid-column: 2/ span 1;
	}

	.block-photoBrick a._itemPhoto:nth-child(4) {
		grid-row: 3/ span 1;
		grid-column: 2/ span 1;
	}

	.block-photoBrick a._itemPhoto:nth-child(5) {
		grid-row: 4/ span 1;
		grid-column: 2/ span 1;
	}

	.block-photoBrick ._itemPhoto._itemPhotoMore {
		grid-row: 4/ span 1;
		grid-column: 2/ span 1;
	}

	.block-photoBrick a._itemPhoto:only-of-type {
		grid-row: 1/ span 4 !important;
		grid-column: 1/ span 2 !important;
	}

	/* 組件-地圖 block-map RWD*/
	.block-map ._itemMap ._contentWrapper {
		height: unset;
	}

	/* 互動元件 */
	.block-searchItem-image._imgSizeList {
		--img-w: 120px;
	}

	.indexSwiperMain ._description {
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		right: 0;
		top: calc(var(--swiperMain-height) - 90px);
		width: 300px;
		height: 90px;
		background: rgba(255, 255, 255, .7);
		z-index: 2;
	}

	.swiper-imgNav {
		max-height: auto;
	}

}

/* xl 當螢幕大於1200px時*/
@media screen and (min-width:1200px) {
	.navbar-index {
		--logo-width: 240px;
	}

	.section-indexBanner {
		--swiperMain-height: 60vh;
		--swiperThumb-width: 417px;
		--swiperThumb-height: auto;
		--swiperThumb-right: 1.5rem;
	}

	.nav-underline-index-lg {
		--bs-nav-underline-gap: 1.5rem;
	}

	.content-hotContent>.grid-table>.g-tr:nth-child(n+5) {
		--border-color: rgba(var(--bs-main-rgb), 0.5);
	}

	.content-hotContent>.grid-table>.g-tr:nth-child(n+6) {
		display: grid;
	}
}

/* xxl 當螢幕大於1400px時*/
@media screen and (min-width:1400px) {

	header,
	footer {
		--header-padding: 30px 40px;
	}

	.navbar-index {
		--logo-width: 300px;
	}

	.section-indexBanner {
		--swiperThumb-right: calc((100% - 1320px)/2);
	}
}

/* 精準觸控 */
@media (hover: hover) and (pointer: fine) {}



.text-sm {
	font-size: var(--bs-fs-sm);
}

.btnAI:focus-visible,
.fullSlider .btn:focus-visible,
.fullSlider a:focus-visible {
	border: 4px var(--bs-main) solid;
}

.hoverShadow:hover {
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

#offcanvasAI {
	width: 90%;
	scrollbar-color: rgba(var(--bs-main-rgb), 1) rgba(255, 255, 255, 0.3);
	padding-bottom: 100px;
}

#offcanvasAI .userbg {
	background-color: #6C9AAF;
}

#offcanvasAI:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0.15;
	background: url(https://webarchive.lib.ntu.edu.tw:443/archive/wayback/20251031053625/https://sunology.yatsen.gov.tw/static/da/img/sunyatsen.png) no-repeat 0% 140%;
	background-size: 500px;
}

:root {
	--lineWidthS: 200px;
	--lineWidth: 300px;
}

.fullSlider {
	height: calc(100vh - 50px);
}

.fullSlider .swiper-slide {
	/* background: #fff; */
	display: flex;
	justify-content: center;
	align-items: center;
}

.fullSlider .swiper-horizontal>.swiper-scrollbar,
.fullSlider .swiper-scrollbar.swiper-scrollbar-horizontal {
	height: var(--swiper-scrollbar-size, 8px);
}

.fullSlider .swiper-scrollbar {
	background: rgba(var(--bs-accessory-rgb), 0.25);
}

.fullSlider .swiper-scrollbar-drag {
	background: rgba(var(--bs-accessory-rgb), 1);
}

.fullSlider [class*=swiper-button]:hover {
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.8) !important;
}

.fullSlider .slideContent {
	padding: 80px 50px 50px 50px;
}

.fullSlider .timeline .hstack>.shape:nth-child(odd)>:first-child {
	margin-bottom: -40px;
}

.fullSlider .timeline .hstack>.shape:nth-child(even)>:first-child {
	margin-top: -40px;
	order: 6;
}

.fullSlider .timeline .line::before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: var(--bs-main);
}

.fullSlider .timeline .hline {
	margin: 40px 0;
	width: 300px;
}

.fullSlider .timeline .hstack>.date>.vstack {
	width: calc(var(--lineWidthS) * 1.5);
}

.fullSlider .timeline .odd>.date {
	margin-right: 100px;
}

.fullSlider .timeline .even>.date:first-child {
	margin-left: 300px;
}

.fullSlider .timeline .even>.date {
	margin-left: 100px;
}

.fullSlider .timeline .even>.date .vstack>:first-child {
	order: 6;
}

.fullSlider .offcanvas {
	transition: none;
}

.fullSlider .offcanvas.show:not(.hiding) {
	position: absolute;
}

:root {
	--arrowWidthS: 45;
	--arrowWidth: 60;
	--arrowMargin: 10;
	--scrollbar: 8;
	--fontSizeS: 1.5rem;
	--fontSize: 2rem;
}

.imgSlider {
	position: relative;
	padding-bottom: calc(var(--scrollbar) * 1px);
	width: calc(100% - var(--arrowWidthS) * 2px - var(--arrowMargin) * 2px);
	margin: 0 auto;
}

.imgSlider a.swiper-slide:hover {
	font-weight: 700;
}

.imgSlider .swiper-button-prev {
	left: calc((var(--arrowWidthS) + var(--arrowMargin)) * -1px)
}

.imgSlider .swiper-button-next {
	right: calc((var(--arrowWidthS) + var(--arrowMargin)) * -1px)
}

.imgSlider [class*=swiper-button-] {
	width: calc(var(--arrowWidthS) * 1px);
	height: calc(var(--arrowWidthS) * 1px);
	background: #fff;
	/* border-radius: 50%; */
	top: calc(50% - var(--scrollbar) * 1px);
}

.imgSlider [class*=swiper-button-]::after {
	/* color: #db3706; */
	font-size: var(--fontSizeS)
}

.imgSlider .swiper-scrollbar {
	margin-bottom: calc(var(--scrollbar) * -1px);
}

.bg-img-fixed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	z-index: -1;
}

.content-wrapper {
	opacity: 0.8;
	min-width: 250px;
	max-width: 800px;
	width: 100%;
	margin: auto 0;
	max-height: 100%;
	min-height: 0;
	overflow: visible;
}

.top-left-wrapper {
	top: 100px;
	left: 100px;
}

.bottom-right-wrapper {
	bottom: 40px;
	right: 40px;
}


@media (min-width: 576px) {
	#offcanvasAI figure .row>div:nth-child(2n) {
		border-left: rgba(0, 0, 0, 0.07) 1px solid;
	}

	#offcanvasAI:before {
		background-position: 130% 130%;
	}
}

@media (min-width: 768px) {}

@media (min-width: 992px) {
	.btnAI {
		display: block;
		position: absolute;
		right: 24px;
	}

	.btnAI>img {
		width: 70px;
	}

	#offcanvasAI {
		width: 80%;
	}

	#offcanvasAI figure .row>div {
		border-left: rgba(0, 0, 0, 0.07) 1px solid;
	}

	#offcanvasAI figure .row>div:nth-child(3n+1) {
		border-left: none;
	}

	.fullSlider {
		height: calc(100vh - 132px);
	}

	.fullSlider .timeline .hstack>.date>.vstack {
		width: calc(var(--lineWidth) * 1.5);
	}

	.fullSlider .timeline .hline {
		width: 300px;
	}

	.fullSlider .timeline .hstack>.date>.vstack {
		width: calc(var(--lineWidth) * 1.5);
	}

	.fullSlider .timeline .odd>.date {
		margin-right: 100px;
	}

	.fullSlider .timeline .even>.date:first-child {
		margin-left: 300px;
	}

	.fullSlider .timeline .even>.date {
		margin-left: 100px;
	}

	.imgSlider {
		width: calc(100% - var(--arrowWidth) * 2px - var(--arrowMargin) * 2px)
	}

	.imgSlider .swiper-button-prev {
		left: calc((var(--arrowWidth) + var(--arrowMargin)) * -1px)
	}

	.imgSlider .swiper-button-next {
		right: calc((var(--arrowWidth) + var(--arrowMargin)) * -1px)
	}

	.imgSlider [class*=swiper-button-] {
		width: calc(var(--arrowWidth) * 1px);
		height: calc(var(--arrowWidth) * 1px);
		margin-top: calc(var(--arrowWidth)/ 2 * -1px)
	}

	.imgSlider [class*=swiper-button-]::after {
		font-size: var(--fontSize)
	}

	.slideContent {
		padding-top: 7rem !important;
	}

}

@media (min-width: 1090px) {
	.fullSlider {
		height: calc(100vh - 110px);
	}
}

@media (min-width: 1200px) {
	#offcanvasAI {
		width: 60%;
	}
}

@media (min-width: 1400px) {
	#offcanvasAI:before {
		background-position: 120% 130%;
	}
}

@media (max-width: 992px) {
	.top-left-wrapper {
		top: 0;
		left: 0;
	}

	.bottom-right-wrapper {
		top: 0;
		right: 0;
		bottom: 0;
	}

	.top-left-content {
		padding-top: 80px !important;
	}

	.bottom-right-content {
		padding-top: 80px !important;
	}
}





/*
     FILE ARCHIVED ON 5:36:25 十月 31, 2025 AND RETRIEVED FROM THE
     AN OPENWAYBACK INSTANCE ON 5:15:10 五月 22, 2026.
     JAVASCRIPT APPENDED BY OPENWAYBACK, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
