:root {
	--body-color: #023440;
	--main-color: #023440;
	--sub-color: #D03627;
	--third-color: #F4DBB4;
	--main-color-dark: #038fa5;
	--cata-color: #526366;
	--sectionpd: 3.5em;
	
	/*112px*/
	--rowpd: 4em;
	--titlepd: 1em;
	/*32px*/
	--ppd: 0.5em;
}

@media screen and (min-width: 768px) {
	:root {
		--sectionpd: 8em;
		--rowpd: 6em;
		--titlepd: 2em;
		--ppd: 1em;
	}
}

ul,
li {
	list-style: none;
}

dd {
	padding-left: 0px;
	float: left;
	margin-left: 0px;
}

* {
	margin: 0;
	padding: 0;
}
.site-blue{
	color:var(--main-color)
}
@font-face {
	font-family: 'Noto Serif TC';
	src: url("../font/Noto_Serif_TC/NotoSerifTC-Bold.otf") format("opentype");
}

@font-face {
	font-family: 'NotoSansTC';
	src: url("../font/NotoSansTC/NotoSansTC-Regular.ttf") format("opentype");
}

.ch {
	font-family: 'Noto Serif TC', serif;
}
.fontb{font-family:"NotoSansTC";}
.en {
	font-family: 'arial', serif;
}

/*body------------------------------
------------------------------------*/
body {
	font-size: 1em;
	line-height: 1.6;
	min-height: 100vh;
	overflow-y: auto;
	font-weight: normal;
	color: var(--main-color);
	background-color: #023440;
	
}

.bodywrapper {
	width: 100%;
	max-width: 100%;
	height: auto;
	overflow: hidden;
	position: relative;
}
.bodywrapper:before{
	position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/all/bg-texture.webp) 0 0 repeat;
    background-size: 100px 100px;
    opacity: 0.4;
	z-index: 0;
}
.section-bigpt {
	z-index: 2;
	margin-bottom: var(--sectionpd)*2;
	margin-top: var(--sectionpd)*2;
}

.pc {
	display: none;
}

.mobile {
	display: block;
}

@media screen and (min-width: 768px) {
	body {
		font-size: 1em;
		line-height: 1.8;
	}

	.pc {
		display: block;
	}

	.mobile {
		display: none;
	}

}

/* ---------------------------------------------------------
  Header (.site-header[-*])
----------------------------------------------- */
.site-header {
	padding: 0.75em 1em;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	max-width: 100%;
}

.site-header.active {
	}

.site-header_logo {
	min-width: 250px;
	max-width: 70%;
	margin-top: -30px;
	margin-left: -30px;
	margin-right: 5%;
	display: flex;
}
.site-header.active .site-header_logo {
	display: none;
}
.site-header_nav {
	margin-left: auto;
}

.site-heade_in {
	position: relative;
	z-index: 100;
}

.site-header_navcontent {
	min-width: 200px;
	max-width: 100%;
	position: absolute;
	right: -200px;
	top: 0;
	background-color: #E4E8F1;
	background-image: url(../img/all/bg-navi.svg);
	background-repeat: no-repeat;
	background-size: auto 120%;
	background-position: center;
	height: 100vh;
	z-index: 99;
	overflow-y: auto;
	opacity: 0;
	-webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	border-radius: 50%;
	-webkit-transition: 0.6s;
	transition: 0.6s;

}

.site-header_navcontent.active {
	-webkit-clip-path: polygon(-15% 0, 100% 0, 100% 100%, 0 100%);
	clip-path: polygon(-15% 0, 100% 0, 100% 100%, 0 100%);
	border-radius: 20px 0px 0px 20px;
	-webkit-animation: ani-right 0.5s forwards;
	-moz-animation: ani-right 0.5s forwards;
	-o-animation: ani-right 0.5s forwards;
	animation: ani-right 0.5s forwards;

}

.site-header_ul {
	padding: 2em 1em;
	flex-direction: column;
	gap: 1.5em 1em;
}

.site-header_li {
	width: 100%;
	color: var(--main-color);
	padding-bottom: 5px;
	position: relative;
	cursor: pointer;
	text-align: center;
}

.site-header_li--in {
	padding-left: 2.5em;
	padding-right: 2.5em;
	color: var(--main-color);
	display: flex;
	font-family: "NotoSansTC";
	text-align: left;
	gap: 15px
}

.site-header_li--in .en {
	font-size: 0.8em;
	text-align: left;
}

.site-header_li--in .ch01 {
	font-weight: bolder;
	width: 100px;
	text-align: left;
}

.site-header_li--in:hover .ch01,
.site-header_li--in:hover .en {
	color: #579D90;
}

.site-header_dl {
	margin: 1.5em 1em;
}

.site-header_dt {
	padding-left: 2.5em;
	padding-right: 2.5em;
}

.site-header_dt div {
	display: block;
	background-repeat: no-repeat;
	background-position: center left;
	background-size: 25px auto;
	color: #000;
	padding-left: 30px;
	font-size: 0.9em;
}

.site-header_dt div:hover {
	color: #579D90;
}

.site-header_dt__kt {
	background-image: url(../img/all/icon_kt.svg);
}

.site-header_dt__fb {
	background-image: url(../img/all/icon_fb.svg);
}

.site-overlay {
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, .5);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 4;
	display: none;
}

.site-overlay.active {
	display: block;
}

.site-gotop {
	width: 40px;
	height: 40px;
	cursor: pointer;
	overflow: hidden;
	z-index: 10;
	background-image: url(../img/all/scrolltop.svg);
	background-position:center center;
	background-repeat: no-repeat;
	background-size: 20px;
	right: 0.5rem;
	bottom: 1rem;
	position: fixed;
	background-color: #e5ae42;
	border-radius: 50%;
	display: none;
		
}
.site-gotop:hover {background-position: top center;}
.site-gotop.active {
	display: block;
}
/*FOOTER*/
.site-footer {
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-top: var(--sectionpd);
}

.site-footer_in {
	position: relative;
	z-index: 2;
	left: 0;
	top: 0;
	gap: 1em;
	font-size: 1em;
	padding-left: 2em;
	padding-right: 2em;
	padding-bottom: 2em;
}


.site-footer__units {
	max-width: 768px;
	margin-left: auto;
	margin-right: auto;
	font-size: 0.9em;
	gap: 1rem;
}

.site-footer__units--col {
	margin-bottom: 0.1rem;
}

.box-unit:before {
	display: block;
	font-weight: bolder;
	font-family: "NotoSansTC";
	padding-right: 10px;
	background-image: none;
	background-position: right center;
	background-repeat: no-repeat;
	color:#ffffff
}

.box-unit__u {
	padding: 0px 0px;
	display: block;
	font-weight: bold;
}
.box-unit__u img{
	height: 30px;
	width: auto;
}

.box-unit.u1:before {
	content: '主辦單位';
}

.box-unit.u2:before {
	content: '協辦單位';
}

.box-unit.u3:before {
	content: '協辦單位';
}

.box-unit.u4:before {
	content: '受贈單位';
}

.site-social {
	gap: 1em;

}

.site-social_li {
	font-size: 1.5em;
}

.site-paragraph:not(:last-child) {
	padding-bottom: 30px;
}

.site-title {
	font-family: 'Noto Serif TC', serif;
	margin-bottom: var(--titlepd);
	font-weight: 700;
}

.container.site-container {
	position: relative;
	padding-left: 2em;
	padding-right: 2em;
	max-width: 1200px;
	z-index: 1;
}
@media screen and (min-width: 768px) {

.site-footer__units {
	gap: 1rem;
}
}

@media screen and (min-width: 576px) {
	.site-content_mask1 {
		max-width: 250px;
	}
}


@media screen and (min-width: 768px) {
	.site-header_navcontent {
		min-width: 350px;
	}

	.site-header_logo {
		max-width: 50%;
		margin-top: -50px;
		margin-left: -50px;
		display: none;
	}

	.site-content_mask1 {
		max-width: 40%;
	}

	.site-header_dl {
		margin: 5em 1em;
	}
	.box-unit:before {
		display: inline-block;
		background-image: url(../img/all/line.jpg);
	}

	.box-unit__u {
		padding: 0px 0px;
		display: inline-block;
	}

}

@media screen and (min-width: 1440px) {}

/* ---------------------------------------------------------
  Mag
----------------------------------------------- */
#mag {
	margin-top: -5px;
	width: 50px;
	height: 50px;
	background-color: #263860;
	--magcolor: #ffffff;
	--magwidth: 20px;
}

#mag:hover {
	background-color: var(--sub-color)
}

#mag>* {
	border: none;
	outline: none;

}

#mag span {
	font-size:10px;
	margin-left: -1px;
	color: #ffffff;
}

#mag div {
	background-color: var(--magcolor);
	width: var(--magwidth);
	height: 2px;
	position: relative;
	border: none;
	outline: none;
	margin-left: 4px;
	margin-top: 5px;
}

#mag div:before {
	background-color: var(--magcolor);
	width: var(--magwidth);
	height: 2px;
	content: "";
	display: block;
	position: absolute;
	top: 5px;
}

#mag div:after {
	background-color: var(--magcolor);
	width: var(--magwidth);
	height: 2px;
	content: "";
	display: block;
	position: absolute;
	bottom: 5px;
}

#mag.active div {
	transform: rotate(45deg);
}

#mag.active div:before {
	transform: rotate(-90deg);
	margin-top: -5px;
}

#mag.active div:after {
	display: none;
}

@media screen and (min-width: 768px) {
	#mag {
		margin-top: 0px;
		width: 60px;
		height: 60px;
		--magwidth: 20px;
	}

	#mag div {
		margin-left: 9px;
		margin-top: 8px;
	}

	#mag span {
		font-size: 0.8em;
		margin-left: 4px;
		color: #ffffff;
	}


}

/*BTN----------------------------------
------------------------------------------*/
.btn-i{
	background-color: #ffffff;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	margin-left: 10px;
	overflow: hidden;
	position: relative;
}
.btn:hover .btn-i{background-color:var(--main-color);}
.btn-i:before{
	content: "";
	background-image:url(../img/all/btn-arrow.svg);
	background-repeat:no-repeat ;
	background-size: 12px auto;
	background-position:center ;
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	z-index: 2;

}
.btn-i:after{
	content: "";
	background-image:url(../img/all/btn-arrow-w.svg);
	background-repeat:no-repeat ;
	background-size: 12px auto;
	background-position:center ;
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	margin-left: -50px;
	z-index: 1;
}
.btn:hover .btn-i:before{margin-left: 50px;}
.btn:hover .btn-i:after{margin-left: 0px;}
/*others----------------------------------
------------------------------------------*/
.transiA,
a,
.btn,
.site-gotop span:after,
.site-header_li--in .en,
.site-header_li--in .ch01,
.site-header_dt div,
.box-program-icon span:before,
.btn-i:before,
.btn-i:after,
.site-gotop,
.site-btn img ,
.site-btn{
	transition: all 0.5s cubic-bezier(.19, 1, .22, 1);
	-moz-transition: all 0.5s cubic-bezier(.19, 1, .22, 1);
	-webkit-transition: all 0.5s cubic-bezier(.19, 1, .22, 1);
	-ms-transition: all 0.5s cubic-bezier(.19, 1, .22, 1);
	-o-webkit-transition: all 0.5s cubic-bezier(.19, 1, .22, 1);
}

.nowrap {
	white-space: nowrap;
	display: inline-block
}

/*IMG*/

img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

.miximg {
	mix-blend-mode: multiply;
}

@media screen and (max-width: 375px) {

	/*限制縮到最小狀況*/
	body,
	html {
		width: 375px;
		overflow-x: hidden;
	}
}