@import url('/css/fontawesome-all.css');
@import url('/css/font-awesome.min.css');
@import url('/css/fontawesome.min.css');
@import url('/css/SeoJump.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100;300;400;500;700;900&family=Noto+Sans+TC:wght@100;300;400;500;700;900&family=Noto+Sans:wght@400;700&family=Noto+Serif+SC:wght@200;300;400;500;600&family=Noto+Serif+TC:wght@200;300;400;500;600&family=Noto+Serif:wght@400;700&family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800&display=swap');
*:focus { outline: none; }

header, footer, div, nav, article, h2, h3, h4, h5, h6, hr, p, form, label, input, textarea, ul, li, img, svg, span, font, strong, b, a, i { text-align: left; vertical-align: middle; word-wrap: break-word; word-break: break-word; line-height: 170%; border-width: 0; font-family: var(--font-family), sans-serif; font-size: 16px; color: var(--info); }

ul , ol { list-style: none; }

fieldset { border: 0; }

input[type=text] , input[type=number] , input[type=tel] , input[type=password] , button , select , textarea {padding: .5rem 1rem;width: 100%;background-color: #fff;background-clip: padding-box;border: 1px #e4e4e4 solid;border-radius: .2rem;box-shadow: none;-webkit-appearance: none;-moz-appearance: none;appearance: none;}
input::-webkit-outer-spin-button , input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
input[type=number] { -moz-appearance: textfield; }
input[type="password"] { font-family: auto; }
select {padding: 0.8rem 1rem;border: 1px #e4e4e4 solid;display: block;padding: 15px 25px;border-radius: 4px;font-size: 17px;background: url(/images/00/arrow.png) no-repeat scroll 98% center;background-repeat: no-repeat;background-position: 97% 50%;-webkit-appearance: none;}

/* img */
img { max-width: 100%; }
.img_cover { object-fit: cover; }
.img_contain { object-fit: contain; }
a {cursor: pointer;transition: 0.9s;}
a , a:link , a:visited , a:hover { text-decoration: none; white-space: pre-wrap; transition: 0.9s;}

/* general class set */
.txt_clamp { overflow: hidden; height: 27px; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.d_inblock.txt_clamp { display: -webkit-inline-box; }
.atag_item {width: 100%;height: 100%;top: 0;left: 0;z-index: 10;}
.nowrap_box { font-size: 0; }
.flex_direction { flex-direction: column; }
.flex_wrap {flex-wrap: wrap;display: flex;justify-content: flex-start;}
.text_uppercase { text-transform: uppercase; }
.text_en { font-family: 'Montserrat', sans-serif; }
.text_serif { font-family: 'Noto Serif TC', 'Noto Serif SC', 'Noto Serif', serif; }
.writing { -ms-writing-mode: tb-rl -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.text_stroke { color: transparent; -webkit-text-fill-color: transparent;  text-fill-color: transparent;  -webkit-text-stroke: 2px #000;  text-stroke: 2px #000; }

/* btn */
.btn , .btn_outline { padding: 2px 10px; }

/* badge  */
.badge { padding: 2px 10px; box-shadow: none; }
.badge_lighten { padding: 0 4px; min-width: 22px; border-radius: 3px; font-weight: 400; text-align: center; font-size: 12px; vertical-align: text-bottom; }

/* photo,bg_box */
a.photo , .bg_box { overflow: hidden; background: no-repeat 50% / cover; }

/* fancybox */
[class^="fancybox-"] , [class^="fancybox-"] * , .slick-track , .fa , .fas , .fa:before , .fas:before , .fa:after , .fas:after , .trans_none_box { -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
.fancybox-infobar__body span { font-size: inherit; color: currentcolor; vertical-align: initial; }

/* webBox */
.webBox { overflow: hidden; position: relative; width: 100vw; min-height: 100vh; background-color: #fff;}
.webBox .pageh1 { position: absolute; top: 0; z-index: 1; color: #fff;}
.webBox .slick-slider { margin-bottom: 0; }

/* workframe */
.workframe {margin: 0 auto;width: 88vw;}

/* header */
header {padding-right: 0vw;width: 100vw;top: 0;left: 0;z-index: 1001;}
header:before {position: absolute;width: 100%;height: 170%;/* background: linear-gradient(to top,#fff 0%, #ffffff 100%); */top: 0;left: 0;pointer-events: none;content: "";}
header #cis {position: relative;padding: 0px 0px;max-width: 280px;grid-area: logo;-webkit-transition-duration: .25s;transition-duration: .25s;margin-right: 10px;}
header #webmenu { position: relative; display: block; }
header #webmenu * { color: #282828; }
header #webmenu nav >ul >li >a {overflow: hidden;position: relative;}
header #webmenu nav >ul >li >a font {position: relative;padding: 0 9px 0 10px;display: block;font-size: 1.15rem;letter-spacing: -0.2px;font-weight: 500;font-family: 'Poppins', sans-serif;}
header #webmenu nav >ul >li >a font:before {position: absolute;width: 100%;font-family: 'Poppins', sans-serif;text-align: center;top: 107%;left: 0;content: attr(data-hover);}
header #webmenu li .menu_body li a font , #webmenu_mb nav a font {display: block;line-height: 1;font-size: 17px;letter-spacing: 0.2em;}
header #webmenu li .menu_body li a font.text_en , #webmenu_mb nav a font.text_en { line-height: 1.2; font-weight: 500; font-size: 13px; }
header .btns_box {position: relative;align-items: center;z-index: 1002;grid-area: btns;display: flex;justify-content: flex-end;}
header .btns_box a#openform {width: 40px;height: 40px;line-height: 60px;text-align: center;position: relative;display: flex;align-items: center;justify-content: center;}
header .btns_box font {width: 0px;height: 15px;background: #787878;display: block;}
header .btns_box a#openform svg { width: 18px; height: 18px; fill: #3c3c3c; }
header .btns_box .language {position: relative;margin-right: 10px;}
header .btns_box .language ul {position: absolute;width: 80px;top: 120%;left: 50%;transform: translate(-50%, -40px);opacity: 0;transition: 0.4s;text-align: center;background-color: rgb(255 255 255 / 90%);}
header .btns_box .language ul a {display: block;color: #000;line-height: 1.5;letter-spacing: 1px;transition: 0.9s;text-align: center;padding: 10px 0;}
header .btns_box .language p {display: flex;justify-content: center;position: relative;transition: 0.9s;align-items: center;padding: 5px 10px;height: 40px;line-height: 60px;}
header .btns_box .language p b{color: #3c3c3c;font-weight: 300;font-size: 14px;display: none;}
header .btns_box .language i svg {fill: #3c3c3c;width: 20px;height: 30px;}
header .btns_box .language i {position: relative;}
header.scroll { border-bottom-color: transparent; background-color: rgb(255 255 255 / 80%);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);}
header.scroll:before {width: 100vw;height: 100%;}
header.scroll #cis {-webkit-transition-duration: .15s;transition-duration: .15s;}
header.scroll #webmenu * , header.scroll .btns_box a.lang_btn {color: #222;}
header #webmenu .contactBtn{width: 460px;display: flex;justify-content: space-evenly;margin-bottom: 10px;}
header #webmenu .contactBtn a {width: 50%;height: 35px;margin: 2.5px;text-align: center;color: #fff;font-size: 14px;font-weight: 400;line-height: 20px;letter-spacing: 0.2px;display: flex;align-items: center;justify-content: center;flex-wrap: nowrap;border: 1px solid rgb(255 255 255 / 20%);}
header #webmenu .contactBtn a i{color: #fff;padding-right: 10px;padding-top: 3px;font-size: 12px;}
header.scroll #webmenu .contactBtn a{color: #1e1e1e;background-color: rgb(197 197 197 / 38%);}
header.scroll #webmenu .contactBtn a i{color: rgb(30 30 30 / 33%);}


	header {  grid-template-columns: 19% 1fr 230px; grid-template-areas: "logo menu btns"; align-items: center; 
    padding: 12px 105px;margin: 0 auto;}
	header:before {height: calc(100% + 0px);}
	header #cis { position: absolute;  left: 0;}
	header #webmenu {padding: 13px 0px;grid-area: menu;display: flex;align-items: center;justify-content: center;}
	header #webmenu nav >ul { justify-content: flex-end; align-items: center; }
	header #webmenu nav >ul >li:hover >a font { -webkit-transform: translateY(-100%); -moz-transform: translateY(-100%); transform: translateY(-100%); }
	header.scroll #webmenu nav >ul >li >a font:before {}


/* webmenu_mb */
#webmenu_mb {position: fixed;width: 520px;height: 100vh;background: #fff;top: 0;right: -3000px;z-index: 1001;}
#webmenu_mb .menu_info {overflow-y: scroll;margin-top: 70px;padding: 10px 40px 0;height: calc(100% - 140px);}
#webmenu_mb .menu_info::-webkit-scrollbar { width: 0; }
#webmenu_mb .itemBox{padding: 25px 15px 10px;border-bottom: 2px solid #6b6b6c;}
#webmenu_mb nav a {padding: 20px 35px 20px 10px;display: flex;align-items: baseline;border-bottom: 1px solid rgb(0 0 0 / 14%);justify-content: space-between;}
#webmenu_mb nav a font.text_en { margin: 0 0 0 .75rem; }
#webmenu_mb nav b {display: none;}
#webmenu_mb nav li .menu_body ul { margin-bottom: 10px; margin-left: 0.5em; }
#webmenu_mb nav li .menu_body .subOption .bo { position: relative; }
#webmenu_mb nav li .menu_body .subOption a { padding: 10px 35px 8px 10px;color: var(--dark); }
#webmenu_mb nav li .menu_body .sub2Option a { padding: 5px 35px 5px 10px; font-weight: 300; }
#webmenu_mb nav li .menu_body .sub3Option a {  padding-right: 5px; color: var(--red); }
#webmenu_mb .contact_box { padding: 20px 0 20px; display: none;}
#webmenu_mb[data-type="ios"] .contact_box { padding-bottom: 15vh; }
#webmenu_mb .contact_box h4 { font-size: 22px; }
#webmenu_mb .contact_box p { display: flex; font-size: 15px; color: var(--dark); }
#webmenu_mb .contact_box p * { font-size: 15px; color: var(--dark); }
#webmenu_mb .contact_box .community {margin: 20px 0;}
#webmenu_mb .contact_box .community a {margin: 0 5px;display: inline-block;text-align: center;line-height: 35px;color: var(--dark);}
#webmenu_mb .contact_box .community a:first-child { margin-left: 0; }
#webmenu_mb .contact_box .community a:last-child { margin-right: 0; }
#webmenu_mb .contact_box .community a i {font-size: 15px;}

/* menu_btn */
#menu_btn {position: relative;margin-left: 20px;width: 40px;height: 40px;line-height: 60px;text-align: center;position: relative;display: flex;align-items: center;justify-content: center;display: none;}
#menu_btn span {position: absolute;width: 60%;height: 1px;background: var(--info);display: block;top: calc(((100% - 1px) / 2) - 6px);left: 30%;}
#menu_btn[data-type="1"] span:nth-child(2) {top: calc(((100% - -3px) / 2) + 0px);}
#menu_btn[data-type="1"] span:nth-child(3) {top: calc(((100% - 1px) / 2) + 10px);}
#menu_btn[data-type="1"] span { transition: transform .4s cubic-bezier(.215,.61,.355,1),opacity .4s cubic-bezier(.215,.61,.355,1), -webkit-transform .4s cubic-bezier(.215,.61,.355,1); }
#menu_btn[data-type="2"] span { transition: .4s cubic-bezier(.645,.045,.355,1); }
#menu_btn[data-type="2"] span:nth-child(1) , #menu_btn[data-type="2"] span:nth-child(2) { top: 50%; }
#menu_btn[data-type="2"] span:nth-child(3) {  display: none;}
header.scroll #menu_btn { border-color: #555; }
header.scroll #menu_btn span {}

/* menubg */
#menubg { width: 100vw; height: 100vh; top: 0; left: 0; pointer-events: none; z-index: 1000; opacity: 0; }
#menubg[data-type="2"] { background: rgba(0, 0, 0, .5); opacity: 1; pointer-events: auto; }

/* hSearch */
#hSearch { margin-top: 1rem; padding-right: 1rem; width: 240px; background: #f9f9f9; box-shadow: 0 0 0.875rem 0 rgb(53 64 82 / 30%); right: -300px; opacity: 0; z-index: 1001; }
#hSearch[data-type="2"] { right: 2vw; opacity: 1; }
#hSearch input { background-color: #f9f9f9; border: 0; }
#hSearch a {line-height: 1;display: flex;justify-content: center;align-items: center;}
#hSearch svg { width: 18px; height: 18px; }

/* footer */
footer {background-color: var(--secondary);display: flex;flex-direction: row-reverse;}
footer * {font-weight: 300;font-size: 15px;color: var(--gary);}
footer .workframe{padding-top: 40px;}
footer #footer_box {grid-template-columns: 420px 1fr 310px;grid-template-rows: 70px 1fr;grid-template-areas:
"f_logo f_info f_nav"
"f_other f_info f_nav";grid-row-gap: 30px;align-items: start;}
footer h5 {margin-bottom: 30px;font-weight: 500;font-size: 16px;letter-spacing: 0.5px;color: #898989;}
footer h5 b {margin-right: 15px;font-size: 18px;}
footer #f_logo { grid-area: f_logo; }
footer #f_info { margin-right: 15px;  }
footer #f_nav { grid-area: f_nav; }
footer #f_nav .fcontact{position: relative;}
footer #f_nav .fcontact li{display: flex;justify-content: flex-end;}
footer #f_nav .fcontact li a{display: flex;flex-wrap: wrap;flex-direction: column;align-items: center;text-transform: uppercase;font-family: 'Montserrat', sans-serif;}
footer #f_nav .fcontact li a i{display: flex;color: var(--gary);transition: all linear .3s;width: 110px;height: 110px;line-height: 34px;text-transform: uppercase;border: 1px solid rgb(82 83 125);font-size: 30px;text-align: center;border-radius: 99em;align-items: center;justify-content: center;margin-bottom: 10px;}
footer #f_info p {display: flex;justify-content: flex-start;margin-top: 0;padding-bottom: 5px;}
footer #f_info p b{padding-right: 15px;}
footer #f_info p , footer #f_info p * {font-size: 14px;}
footer #f_info p a{color: var(--gary);}
footer #f_info >div p a{border-right: 1px rgb(69 70 123) solid;padding: 0 15px 0px 10px;color: var(--fourth);}
footer #f_info >div p:last-child a{border-right: 0px;}
footer #f_info >div p:first-child a{padding: 0 10px 0px 0px;}
footer #f_info >div {display: flex;flex-wrap: wrap;justify-content: flex-start;padding-top: 20px;}
footer #f_other {grid-area: f_other;}
footer #f_other .flex_wrap{justify-content: flex-end;}
footer #f_other .copy_box * { font-weight: 400; font-size: 14px; color: #656698; }
.community a{width: 35px;height: 35px;z-index: 999;text-align: center;border-radius: 50%;line-height: 35px;font-size: 12px;margin-right: 1rem;}
.community a i{color: #ffffff;}
/* webSeo */
#webSeo {margin-top: 1rem;padding: 5px 0;white-space: nowrap;box-sizing: border-box;}
#webSeo .seo {padding-left: 100%;font-weight: 100;line-height: 1;font-size: 13px;color: var(--fourth);}

/* gotop */
#footer_right{overflow: hidden;position: relative;}
#gotop {padding: 10px 20px 5px;background: var(--primary);display: flex;flex-direction: column;color: var(--white);line-height: 220%;height: 8%;position: fixed;
    z-index: 99;
    bottom: 0;
    right: 0;}
#gotop:before { border: #fff solid; border-width: 2px 0 0 2px; content: ""; }

@media screen and (min-width: 1501px){
	.workframe {width: 1360px;}
	header #webmenu nav >ul >li >a font {padding: 3px 10px 3px 10px;}
	header #webmenu nav >ul >li >a font:before {letter-spacing: 0;}
	header #webmenu nav ul li:nth-child(3) a font.subfont{padding: 3px 30px;}
}
@media screen and (min-width: 1441px){
}
@media screen and (max-width: 1440px){
header{
    padding: 12px 50px;
}
}
@media screen and (min-width: 1281px){
	.webBox .slick-dots li:hover:before { border-color: var(--primary); }
	header #webmenu .top_btn { height: 100vh; background: var(--secondary); top: 0; left: 0; }
	header #webmenu .top_btn >div { margin: auto 0 5vh 0; width: 5vw; }
	header #webmenu nav ul li b { display: none; }
	header #webmenu nav >ul >li { overflow: hidden; position: relative; transition: 0.8s;}
	header #webmenu nav >ul >li:hover { overflow: visible; }
	header #webmenu nav >ul >li >p a { padding: 25px 5px; }
	header #webmenu nav >ul >li:hover >p a { color: var(--primary); }
	header #webmenu li .menu_body , header #webmenu li .menu_body .subOption li ul {width: 190px;left: 50%;z-index: 1;opacity: 0;}
	header #webmenu li .menu_body ul { background: rgb(255 255 255 / 90%); }
	header #webmenu li .menu_body .subOption li ul { position: absolute; top: 0; left: -170px; }
	header #webmenu li .menu_body .subOption li >div p { border-bottom: 0.5px solid rgb(221 221 221 / 11%); }
	header #webmenu li .menu_body .subOption li >div a {padding: 12px 8px;height: auto;display: block;color: #3a3a3a;font-size: 1.0rem;line-height: 150%;transition: 0.4s;font-weight: 400;border-bottom: 1px solid rgb(0 0 0 / 15%);}
	header #webmenu li .menu_body .subOption li >div a * {color: #3a3a3a;font-size: 14px;}
	header #webmenu li .menu_body li a font.text_en{font-size: 12px;color: rgb(6 6 6 / 50%);font-weight: 300;text-transform: capitalize;padding-top: 2px;}
	header #webmenu li .menu_body .subOption li >div a:hover {color: var(--white);
    background-color: var(--primary);}
	header #webmenu li .menu_body .subOption li >div a:hover * { color: var(--white); }
	header #webmenu li:hover .menu_body , header #webmenu li .menu_body .subOption li:hover >ul {z-index: 10;opacity: 1;transition: 0.4s;}
	header.scroll #webmenu nav >ul >li >p a { padding: 15px 5px; }
	header.scroll #webmenu .top_btn { height: 100vh; }
	header #webmenu .contactBtn a:hover{background-color: rgb(3 143 194);}
	header.scroll #webmenu .contactBtn a:hover{color: #ffffff;}
	header .btns_box .language ul a:hover {color: var(--primary);border-bottom: 1px solid var(--primary);}
	header .btns_box .language:hover ul {opacity: 1;transform: translate(-50%, 0px);pointer-events: auto;}
	header .btns_box .language:hover p {background: var(--primary);box-shadow: 4px 6px 10px rgb(0 0 0 / 20%);}
	header .btns_box .language:hover i svg {fill: #fff;}
	header .btns_box .language:hover p b{color: #fff;}
	footer #extra ul li:hover img { display: block; }
    #webmenu_mb nav {margin-top: 20px;}
    #webmenu_mb nav ul,#webmenu_mb .itemBox{display: flex;flex-wrap: wrap;justify-content: space-between;}
    #webmenu_mb .itemBox{padding: 25px 15px 40px;}
    #webmenu_mb .itemBox p {margin-right: 15px;}
    #webmenu_mb .itemBox p a{vertical-align: bottom;}
    #webmenu_mb nav li .menu_body ul{display: flex;flex-direction: row;flex-wrap: wrap;margin-top: 20px;margin-left: 0;margin-bottom: 20px;}
    #webmenu_mb nav ul li{width: 48%;margin: 0 0.5% 30px 0;}
    #webmenu_mb nav a font{font-size: 20px;letter-spacing: 0.5px;}
    #webmenu_mb nav a font::before {content: '';position: absolute;left: 10px;bottom: 0;z-index: 1;height: 2px;background-color: #979797;width: 25px;}
	#webmenu_mb nav a{padding: 20px 10px 20px 10px;}
    #webmenu_mb nav a font.text_en{font-weight: 300;}
    #webmenu_mb nav li .menu_body ul li{width: 50%;margin: 0;}
    #webmenu_mb nav li .menu_body ul li a{border-bottom: 0px;}
    #webmenu_mb nav li .menu_body .subOption a{padding: 5px 10px 5px 10px;font-size: 15px;}
    #webmenu_mb{width: 50%;}
    #webmenu_mb .menu_info{width: 80%;margin: auto;padding: 100px 40px 0;}
}
@media screen and (max-width: 1280px){
	#webmenu_mb nav li .menu_body , #webmenu_mb nav li .menu_body .subOption li ul { position: relative; display: none; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
	#webmenu_mb nav b { position: absolute; padding-left: calc(100% - 14px); width: 35px; height: 41px; display: inline-block; text-align: center; line-height: 41px; top: calc((100% - 41px) / 2); left: 0; cursor: pointer; }
#gotop{width: 50px;
    height: 50px;font-size: 12px;letter-spacing: 0;line-height: 160%;padding: inherit;}
#gotop:before{width: 10px;
    height: 10px;margin-bottom: 8px;}
	header #webmenu li .menu_body li a font, #webmenu_mb nav a font{letter-spacing: 0.5px;}
	header {
    grid-template-columns: 1fr 280px;
    grid-template-areas:
    "logo btns";
    align-items: center;
    padding: 10px 85px 15px 85px;
    justify-items: stretch;
    justify-content: space-between;
    }
	header:before {width: calc(0vw - 0px);height: 100%;}
	header #webmenu { display: none; }
    #menu_btn{display: block;margin-left: 0;}
header #cis{
    max-width: 220px;
}
}
@media screen and (max-width: 1160px){
	header {grid-template-columns: 1fr 250px;grid-template-areas:"logo btns";align-items: center;padding: 10px 20px 15px;}
	footer .workframe{width: 80vw;}
	footer{display: flex;flex-direction: column;}
	footer #footer_box {grid-template-columns: 1fr;grid-template-areas: "f_logo f_logo""f_info f_info" "f_nav f_nav" "f_other f_other";display: grid;justify-content: center;}
	footer #f_nav .fcontact li{justify-content: center;}
	footer #f_nav .fcontact li a i{width: 90px;
    height: 90px;}
	footer #f_info >div p a{padding: 0 15px 0px 0px;}}

@media screen and (min-width: 769px){
	header.scroll #menu_btn[data-type="2"] { /* border-color: #fff; */ }
	header.scroll #menu_btn[data-type="2"] span { /* background: #fff; */ }
	header.scroll .btns_box a#openform[data-type="2"] svg { /* fill: #fff; */ }
	header.scroll .btns_box a[data-type="2"] { color: #fff; }
}
@media screen and (max-width: 768px){
	#webmenu_mb {width: 100vw;}
	#menu_btn[data-type="2"] { border-color: #555; }
	#menu_btn[data-type="2"] span {}
	header .btns_box a#openform[data-type="2"] svg {}
	header .btns_box a[data-type="2"] { color: #555; }
	header .btns_box .language p b{display: none;}

}
@media screen and (max-width: 640px){
	#menu_btn {margin-left: 10px;}
	header .btns_box a.lang_btn { padding: 3px 10px; }
	footer h5 { margin: 2rem 0 5px; }
	footer #f_info >div { width: 100%; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; }
	footer #f_other { margin-top: 0; }
    header {grid-template-columns: 0.9fr 120px;}
}
@media screen and (max-width: 480px){
	#webmenu_mb .contact_box { padding-bottom: 10vh; }
    footer #f_logo a { width: 300px; }
	footer #f_info >div { grid-template-columns: repeat(2, 1fr); }
}