﻿/* html */
	a {
		text-decoration: none;
	}
	/* 這裡放入針對 mailto 的樣式語法 */
	a[href^="mailto:"] {
		text-decoration: underline;
		color: #4169E1;
	}


/* body */
	body, body * {
		margin: 0;
		font-family: "Noto Sans TC", "monospace";
	}


/* loading animation */
	/* 全畫面遮罩 */
	#loading-screen {
		position: fixed;
		inset: 0;
		background-color: #FFFFFF;
		z-index: 9999;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: opacity 1.5s ease;		/* 要跟 JS 的 Promise.all 時間一致(單位:s) */
	}
	/* 淡出效果 */
	#loading-screen.fade-out {
		opacity: 0;
		pointer-events: none;
	}
	/* 轉圈讀取動畫 */
	.spinner {
		border: 8px solid #F3F3F3;
		border-top: 8px solid #333;
		border-radius: 50%;
		width: 60px;
		height: 60px;
		animation: spin 1s linear infinite;
	}
	@keyframes spin {
		to { transform: rotate(360deg); }
	}

/* header */
	.header-wrapper {
		display: flex;
		justify-content: space-between;
	}
	/* 公司LOGO */
	.logo {
		width: 350px;
		height: 70px;			/* LOGO 區塊的高度 */
		line-height: 110px;		/* LOGO 的水平中心高度 */
		margin-left: 10px;		/* 頁面縮小之後，LOGO 跟左邊界的距離 */
	}
	.logoimg {
		width: 100%;
	}
	/* 語系切換 */
	.lang {
		width: 30%;
		height: 50px;
		line-height: 50px;
		padding: 0 15px 0 15px;
		display: flex;
		justify-content: space-between;
		background-color: #EEEEEE;
		border-radius: 0 0 20px 20px;
		box-shadow: inset 0 0 2px 1px #0005;
		margin-right: 10px;
	}
	.bu2 {
		width: 80px;
		height: 30px;
		line-height: 15px;
		color: #0066CC;
		font-size: 15px;
		background-color: #C3EBF5;
		border-style: none;
		border-radius: 15px;
		box-shadow: 0 0 2px 1px #55A8DD;
		cursor: pointer;
	}
	.bu2:hover {
		color: #FE9113;
	}
	.bu2:active {
		box-shadow: inset 0 0 2px 1px #55A8DD;
	}
	input[type="checkbox"] {
		display: none;
	}
	#b1, #b2 {
		display: none;
	}
	#b1 {
		font-size: 50px;
	}
	#b2 {
		font-size: 30px;
		color: #FFF;
	}
	label {
		padding: 0 10px 0 10px;
	}

	/* 目錄列 */
	nav {
		position: relative;
		z-index: 100;
		width: 100%;
		height: 50px;
		line-height: 50px;
		background-color: #0059B5;
	}
	.navspace {
		width: 1400px;
		display: inline-flex;
		justify-content: space-between;
	}
	.navitem {
		text-align: center;
		cursor: default;
		overflow: visible;
	}
	.navitem div {
		width: 190px;
		font-size: 23px;
		color: #FFFFFF;
	}
	.navitem:hover {
		background-color: #FF0C38;
	}
	.fixedNav + nav {				/* 搭配js，於卷軸下拉時可固定目錄列在最頂端 */
		position: fixed;
		top: 0;
		left: 0;
	}
	.fixedNav {						/* 導覽列固定在上方時，原本的空間會被往上移導致被遮住，所以要加上 margin-bottom 來填滿原本的空間 */
		margin-bottom: 60px;
	}
	.dropdown {
		display: none;
		text-align: left;
		background: #FFFFFF;
		box-shadow: 0 2px 2px 1px #0005;
		z-index: 1000;
	}
	.dropdown div {
		padding-left: 5px;
		line-height: 50px;
		color: #0059B5;
		font-size: 18px;
		font-weight: bold;
	}
	.dropdown div:hover {
		width: 220px;
		font-size: 20px;
		background-color: #FECB13;
		border-width: 1px;
		border-style: dashed;
	}
	.dropdown div:active {
		background-color: #FE9113;
	}
	.navitem > .dropdown {			/* 讓滑鼠可以選中子選單的內容 */
		position: relative;
	}
	.navitem:hover > .dropdown {
		display: block;
	}
	.dropdown a div::before {
		content: "＞ ";
		font-size: 15px;
	}
	
	/* 圖片輪播 */
	.slidepic-container {
		position: relative;
		width: 100%;
		overflow: hidden;
	}
	.slidepic-container::before {
		content: "";
		padding-top: 25%;					/* 圖片區塊的高度，做響應式設計 */
		float: left;
	}
	.slidepic-container::after {
		content: "";
		display: block;
		clear: both;
	}
	.slidepic-container img {
		max-width: 100%;
		height: 100%;
		object-fit: cover;
	}
	/* 第一張要顯示的 */
	.slide.active {
		width: 100%;
		opacity: 1;
		z-index: 1;
	}
	/* 後面排隊的 */
	.slide {
		position: absolute;
		width: 100%;
		opacity: 0;
		z-index: 0;
		transition: opacity 1s ease-out;
	}
	
	/* 輪播圖片控制器 */
	.slide-controller {
		display: flex;
		justify-content: center;
		margin-top: 10px;
	}
	.slide-controller button {
		cursor: pointer;
		width: 35px;
		height: 35px;
		border-radius: 50%;
		background-color: #BEBEBE;
		border-width: 0;
		position: relative;
	}
	.slide-controller button:hover {
		background-color: #D0D0D0;
	}
	.slide-controller button::before, .slide-controller button::after {
		content: "";
		width: 15px;
		height: 3px;
		border-radius: 5px;
		background: #0059B5;
		position: absolute;
	}
	.slide-controller .prev::before {
		transform: rotate(-30deg) translate(0, -50%);
		left: 0.6rem;
		top: 0.9rem;
	}
	.slide-controller .prev::after {
		transform: rotate(30deg) translate(0, -50%);
		right: 0.75rem;
		bottom: 0.7rem;
	}
	.slide-controller .next::before {
		transform: rotate(-330deg) translate(0, -50%);
		left: 0.65rem;
		top: 0.9rem;
	}
	.slide-controller .next::after {
		transform: rotate(330deg) translate(0, -50%);
		right: 0.5rem;
		bottom: 0.7rem;
	}
	/* 輪播圖片指示器 */
	.indicator-container {
		display: flex;
		justify-content: center;
		margin: 12px 15px 0 15px;
	}
	.indicator {
		width: 12px;
		height: 12px;
		border-radius: 50%;
		background-color: #CCCCCC;
		margin: 0 5px;
		cursor: pointer;
		transition: background-color 0.3s;
	}
	.indicator.active {
		background-color: #0059B5;
	}
	
/* 首頁顯示內容 */
	.homepage-content-wrapper {
		max-width: 1400px;
		margin-top: 1rem;
		margin-left: 10px;
		margin-right: 10px;
	}
	.homepage-content-wrapper .homepage1 {
		height: 400px;
		position: relative;
		overflow: none;
	}
	.homepage-content-wrapper .homepage1 img {
		position: absolute;
		left: 0;
		user-select: none;				/* user不可選取該物件 */
		pointer-events: none;			/* 物件無法對游標事件做出回應 */
	}
	.homepage-content-wrapper .homepage1 .div1 {
		border-left: 8px solid red;
		padding: 0 0 0 20px;
		position: absolute;
		top: 100px;
		left: 60vh;
	}
	.homepage-content-wrapper .homepage1 .div2 {
		position: absolute;
		top: 200px;
		left: 60vh;
	}
	.homepage-content-wrapper .homepage1 .p1 {
		font-size: 35px;
		font-weight: bold;
		color:#0059B5;
	}
	.homepage-content-wrapper .homepage1 .p2 {
		font-size: 20px;
		color:#DEAE3E;
	}
	.homepage-content-wrapper .homepage2 {
		font-size: 20px;
	}
	.homepage-content-wrapper .homepage2 .div1 {
		text-align:center;
		font-size: 25px;
		padding-bottom: 10px;
		margin-bottom: 10px;
		border-bottom: 3px solid #000;
		border-image: linear-gradient(to right, transparent 0%, black 30%, black 70%, transparent 100%) 1;
	}
	.homepage-content-wrapper .homepage2 .div2 {
		display: flex;
		justify-content: space-between;
		margin-bottom: 50px;
	}
	.homepage-content-wrapper .homepage2 .div2 div {
		width: 180px;
		height: 180px;
		line-height: 40px;
		padding: 10px;
		text-align: center;
		user-select: none;				/* user不可選取該物件 */
		pointer-events: none;			/* 物件無法對游標事件做出回應 */
	}


/* main */
	main {
		min-height: 400px;
		max-width: 1400px;
		margin-top: 1rem;
		margin-left: 10px;
		margin-right: 10px;
		display: flex;
		justify-content: space-between;
	}
	
	/* 目前所在頁面 */
	.pwd a {
		color: #9D9D9D;
		border-bottom: 1px dotted;
		padding-bottom: 1px;
	}
	.pwd a:hover {
		color: #7B7B7B;
	}
	
	/* 側邊目錄 */
	.sidebar {
		width: 15%;
		height: fit-content;
	}
	.sidebar aside {
		height: content;
		display: flex;
		flex-direction: column;
	}
	.sidetitle p {
		color: #0059B5;
		font-size: 35px;
		font-family: LiHei Pro;
		font-weight: bold;
		padding: 5px 0 5px 0;
		margin-bottom: 10px;
	}
	.bu3, .bu3_present {
		width: 95%;
		height: 50px;
		border-style: none;
		border-bottom: 1px dotted;
		background-color: #FFF;
		margin-bottom: 8px;
		text-align: left;
		padding-left: 10px;
		font-size: 22px;
		font-family: LiHei Pro;
		cursor: pointer;
		transition : 0.2s linear;
	}
	.bu3_present {
		width: 110%;
		color: #FFFFFF;
		font-size: 25px;
		background-color: #0059B5;
		border-radius: 0 30px 30px 0;
	}
	.bu3:hover {
		width: 100%;
		border-style: none;
		border-radius: 0 30px 30px 0;
		box-shadow: 0 2px 2px 1px #0005;
		color: #FFFFFF;
		font-size: 25px;
		background-color: #FF0C38;
	}
	.bu3:active {
		background-color: #D9006C;
		transition : 0s;
	}
	
	/* 主要內容 */
	.content-wrapper {
		width: 80%;
		padding: 1rem;
		border-style: none;
	}
	.pwd {
		font-size: 15px;
		line-height: 20px;
		margin-bottom: 20px;
	}
	.pwd img {
		width: 12px;
		height: 12px;
	}
	article div {
		margin-bottom: 15px;
	}
	article div p {
		line-height: 35px;
	}
	.title {
		font-size: 30px;
		font-weight: bold;
		font-family: LiHei Pro;
		color: #0059B5;
		border-bottom: 2px solid #0059B5;
	}
	/* 網站導覽用按鈕 */
	.bu4 {
		width: 200px;
		margin: 0 10px 10px 0;
		padding: 0;
		color: #0059B5;
		font-size: 20px;
		text-align: left;
		background-color: #FFFFFF;
		border-style: none;
		border-bottom: 1px dotted;
		cursor: pointer;
	}
	.bu4:hover {
		color: #F75000;
	}
	.bu4:active {
		font-size: 18px;
	}
	/* 副標題 */
	.font1 {
		font-size: 24px;
		color: #E09C00;
	}
	/* 內文文字 */
	.font2 {
		font-size: 18px;
	}
	
	/* 回到頂端按鈕 */
	.toTop-arrow {
		width: 4rem;
		height: 4rem;
		padding: 0;
		margin: 0;
		border: 0;
		border-radius: 33%;
		opacity: 0.8;
		background: #9D9D9D;
		cursor: pointer;
		position: fixed;
		right: 5rem;
		bottom: 1rem;
	}
	.toTop-arrow::before, .toTop-arrow::after {
		content: "";
		width: 29px;
		height: 4px;
		border-radius: 5px;
		background: #0059B5;
		position: absolute;
	}
	.toTop-arrow::before {
		transform: rotate(-45deg) translate(0, -50%);
		left: 0.6rem;
	}
	.toTop-arrow::after {
		transform: rotate(45deg) translate(0, -50%);
		right: 0.6rem;
	}
	.toTop-arrow:focus {
		outline: none;
	}
	.toTop-arrow:hover {
		background-color: #AEAEAE;
	}
	
	/* others */
	.clickimg img {
		width: 500px;
	}
	.clickimg img:hover {
		opacity: 0.7;
	}

/* footer */
	footer {
		margin-top: 10px;
		background-color: #555555;
	}
	.footer-wrapper {
		height: 40vh;
		display: flex;
		justify-content: space-between;
		padding-top: 20px;
		margin-left: 80px;
	}
	.copyright {
		height: 5vh;
		text-align: center;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.footer-wrapper, .copyright {
		line-height: 32px;
		color: #FFFFFF;
		font-size: 19px;
		font-family: arial;
	}
	.map {
		width: 50%;
	}
	.bu1{
		margin-top: 20px;
		width: 120px;
		height: 40px;
		line-height: 40px;
		font-size: 20px;
		color: #FFFFFF;
		background-color: #8E8E8E;
		border-style: none;
		border-radius: 20px;
		cursor: pointer;
		transition: 0.2s linear;
	}
	.bu1:hover {
		background-color: #84C1FF;
	}
	.bu1:active {
		background-color: #2894FF;
	}
	

/* PC maximum screen */
	@media (min-width: 1400px) {
	/* header */
		.header-wrapper {
			margin-left: calc((100% - 1300px)/2);
			margin-right: calc((100% - 1300px)/2);
		}
		
		/* 目錄列 */
		.navspace {
			margin-left: calc((100% - 1400px)/2);
		}

	/* main */
		main {
			margin-left: calc((100% - 1400px)/2);
		}
		.homepage-content-wrapper {
			margin-left: calc((100% - 1400px)/2);
		}

	/* footer */
		.footer-wrapper {
			margin-left: calc((100% - 1400px)/2);
		}
	}

/* Tablet horizental */
	@media (max-width: 1400px) {
	/* header */
		/* 目錄列 */
		.navspace {
			width: 100%;
		}
		.bu2 {
			font-size: 13px;
		}
		
	/* main */
		.homepage-content-wrapper .homepage1 img {
			width: 400px;
		}
		.homepage-content-wrapper .homepage1 {
			height: 250px;
		}
		.homepage-content-wrapper .homepage1 .div1 {
			top: 30px;
		}
		.homepage-content-wrapper .homepage1 .div2 {
			top: 130px;
		}
		.homepage-content-wrapper .homepage2 .div2 div img {
			width: 100px;
		}
		.bu3 {
			font-size: 18px;
			height: 40px;
		}
		.bu3:hover, .bu3_present  {
			font-size: 21px;
		}
	
	/* footer */
		.footer-wrapper {
			height: 50vh;
		}
	}

/* Mobile horizontal & Tablet vertical */
	@media (max-width: 767px) {
	/* header */
		/* 公司LOGO */
		.logoimg {
			width: 80%;
		}
		#b1 {
			display: block;
		}
		.lang {
			display: none;
			margin-right: 0px;
		}
		#burger1:checked ~ .lang {
			display: flex;
			flex-direction: column;
			width: 80px;
			height: max-content;
			position: absolute;
			right: 0px;
			top: 70px;
			z-index: 5000;
		}
		.navitem div {
			width: 100px;
			font-size: 18px;
			color: #FFFFFF;
		}
		.dropdown {
			left: 0;
		}
		.dropdown div {
			width: 180px;
			padding-left: 5px;
			color: #0059B5;
			font-size: 16px;
			font-weight: bold;
		}
		.navitem > .dropdown {
			position: absolute;
		}
		.navitem:hover > .dropdown {
			width: 100%;
			display: flex;
			flex-wrap: wrap;
		}
	
	/* main */
		.sidebar {
			display: none;
		}
		.content-wrapper {
			width: 95%;
		}
		.homepage-content-wrapper .homepage1 {
			height: 250px;
		}
		.homepage-content-wrapper .homepage1 img {
			display: none;
		}
		.homepage-content-wrapper .homepage1 .div1 {
			left: 0;
		}
		.homepage-content-wrapper .homepage1 .div2 {
			left: 0;
		}
		.homepage-content-wrapper .homepage2 .div2 div img {
			width: 100px;
		}
		
	/* footer */
		.footer-wrapper {
			height: 300px;
			margin: 0;
			font-size: 17px;
			line-height: 30px;
		}
		.footer-content {
			width: 100%;
			text-align: center;
		}
		.map {
			display: none;
		}
		.copyright {
			font-size: 16px;
		}
	}
	
/* Mobile vertical */
	@media (max-width: 600px) {
	/* header */
		/* 公司LOGO */
		.logoimg {
			/*width: 70%;*/
		}
		
		#b2 {
			display: block;
		}
		.navspace {
			display: none;
			background-color: #0059B5;
		}
		#burger2:checked ~ .navspace {
			display: flex;
			flex-direction: column;
			width: 180px;
			position: absolute;
			top: 50px;
		}
		.navitem {
			position: relative;
		}
		.navitem div {
			width: 180px;
			font-size: 18px;
			color: #FFFFFF;
		}
		.dropdown {
			top: -50px;
			left: 180px;
			box-shadow: 0px 0px 5px 5px #0005;
		}
		.dropdown div {
			padding-left: 5px;
			/*line-height: 50px;*/
			color: #0059B5;
			font-size: 16px;
			font-weight: bold;
		}
		.navitem > .dropdown {
			position: absolute;
			top: 0;
			left: 100%; /* 讓它靠在主選單右邊 */
		}
		
	/* main */
		main {
			min-height: 200px;
		}
		.homepage-content-wrapper .homepage1 {
			height: 200px;
		}
		.homepage-content-wrapper .homepage1 .p1 {
			font-size: 20px;
		}
		.homepage-content-wrapper .homepage1 .p2 {
			font-size: 16px;
		}
		.homepage-content-wrapper .homepage1 .div1 {
			top: 0;
		}
		.homepage-content-wrapper .homepage1 .div2 {
			top: 100px;
			flex-direction: column;
		}
		.homepage-content-wrapper .homepage2 .div2 {
			flex-direction: column;
		}
		.homepage-content-wrapper .homepage2 .div2 div {
			width: 100%;
			height: 70px;
			display: flex;
			justify-content: center;
			line-height: 70px;
		}
		.homepage-content-wrapper .homepage2 .div2 div img {
			width: 70px;
		}
		.slide-controller button {
			width: 25px;
			height: 25px;
		}
		.slide-controller button::before, .slide-controller button::after {
			width: 10px;
			height: 2px;
		}
		.slide-controller .prev::before {
			left: 0.5rem;
			top: 0.65rem;
		}
		.slide-controller .prev::after {
			right: 0.5rem;
			bottom: 0.5rem;
		}
		.slide-controller .next::before {
			left: 0.5rem;
			top: 0.65rem;
		}
		.slide-controller .next::after {
			right: 0.4rem;
			bottom: 0.5rem;
		}
		article div p {
			line-height: 30px;
		}
		.font1 {
			font-size: 20px;
		}
		.font2 {
			font-size: 16px;
		}
		.toTop-arrow {
			width: 3rem;
			height: 3rem;
			right: 1rem;
		}
		.toTop-arrow::before, .toTop-arrow::after {
			width: 20px;
		}
		
		/* others */
		.clickimg img {
			width: 100%;
		}
		
	/* footer */
		.footer-wrapper {
			font-size: 14px;
			line-height: 25px;
		}
		.copyright {
			font-size: 14px;
		}
	}