@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');

*: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: .3rem 1rem; width: 100%; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; 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: .3rem 1rem; }

/* img */
img { max-width: 100%; }
.img_cover { object-fit: cover; }
.img_contain {  width: 90%;
    object-fit: contain;}

a , a:link , a:visited , a:hover { text-decoration: none; white-space: pre-wrap; }

/* 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; }
.nowrap_box { font-size: 0; }
.flex_direction { flex-direction: column; }
.flex_wrap { flex-wrap: wrap; }
.text_uppercase { text-transform: uppercase; }
.text_en { font-family: 'Poppins', 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; }
.webBox .pageh1 { position: absolute; top: 0; z-index: 1; }
.webBox .slick-slider { margin-bottom: 0; }

/* workframe */
.workframe {margin: 0 auto;width: 88vw;}

/* header */
header { padding-right: 2vw; width: 100vw; top: 0; left: 0; z-index: 1001; }
header:before {position: absolute;width: 350px;height: 100%;background: #ffffff;top: 0;left: 0;pointer-events: none;content: "";}
header #cis {position: relative;padding: 5px 30px;max-width: 400px;grid-area: logo;-webkit-transition-duration: .25s;transition-duration: .25s;}
header #webmenu { position: relative; display: block; }
header #webmenu * { color: #fff; }
header #webmenu nav >ul >li >a { overflow: hidden; height: 2em; }
header #webmenu nav >ul >li >a font { position: relative; padding: 0 5px; display: block; }
header #webmenu nav >ul >li >a font:before {position: absolute;width: 100%;font-family: 'Poppins', sans-serif;text-align: center;font-size: 85%;top: 100%;left: 0;content: attr(data-hover);}
header #webmenu li .menu_body li a font , #webmenu_mb nav a font { display: block; line-height: 1; }
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; justify-content: flex-end; align-items: center; z-index: 1002; grid-area: btns; }
header .btns_box a#openform { padding: 5px 15px; line-height: 1; }
header .btns_box font { width: 1px; height: 15px; background: #787878; display: block; }
header .btns_box a#openform svg { width: 18px; height: 18px; fill: #fff; }
header .btns_box a.lang_btn { padding: 5px 15px; line-height: 1; font-weight: 300; font-size: 18px; color: #fff; }

header.scroll { border-bottom-color: transparent; }
header.scroll:before { width: 100vw; height: 100%; }
header.scroll #cis {padding: 5px 15px;-webkit-transition-duration: .15s;transition-duration: .15s;}
header.scroll #cis .img_contain{width: 80%;}
header.scroll #webmenu * , header.scroll .btns_box a.lang_btn {color: #222;}
header.scroll .btns_box a#openform svg { fill: #222; }
header #webmenu .contactBtn{
    width: 210px;
    display: flex;
    justify-content: space-evenly;
}
header #webmenu .contactBtn a {
    width: 50%;
    height: 35px;
    margin: 2.5px;
    background-color: rgb(78 78 78 / 38%);
    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;
}
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(84 84 84 / 24%);
}

/* webmenu_mb */
#webmenu_mb { position: fixed; width: 350px; height: 100vh; background: #fff; top: 0; left: -400px; z-index: 1001; }
#webmenu_mb .menu_info { overflow-y: scroll; margin-top: 70px; padding: 0 20px; height: calc(100% - 65px); }
#webmenu_mb .menu_info::-webkit-scrollbar { width: 0; }
#webmenu_mb nav a { padding: 15px 35px 15px 10px; display: flex; align-items: baseline; border-bottom: 1px solid rgb(31 31 31 / 7%); }
#webmenu_mb nav a font.text_en { margin: 0 0 0 .75rem; }
#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; }
#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 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: 60px 0 20px; }
#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; padding-top: 20px; border-top: 1px #c9c9c9 solid; }
#webmenu_mb .contact_box .community a { margin: 0 10px; border: 1px #c9c9c9 solid; 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 { color: var(--dark); }

/* menu_btn */
#menu_btn { position: relative; margin-right: 10px; border: 1px #fff solid; }
#menu_btn span { position: absolute; width: 60%; height: 1px; background: #fff; display: block; top: calc(((100% - 1px) / 2) - 3px); left: 20%; }
#menu_btn[data-type="1"] span:nth-child(2) { top: calc(((100% - 1px) / 2) + 3px); }
#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%; }

header.scroll #menu_btn { border-color: #555; }
header.scroll #menu_btn span { background: #555; }

/* 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; }
#hSearch svg { width: 18px; height: 18px; }

/* footer */
footer { padding-top: 50px;  color: #fff; z-index: 998; background-color: var(--info);}
footer * { font-weight: 100; font-size: 15px; color: #fff; }
footer #footer_box { grid-template-columns: 415px 1fr 400px; grid-template-rows: 70px 1fr; grid-template-areas: "f_info f_nav f_logo" "f_info f_nav f_other"; grid-row-gap: 30px; }
footer h5 { margin-bottom: 50px; font-weight: 500; font-size: 16px; letter-spacing: .1rem; }
footer h5:before { margin-right: 15px; width: 30px; height: 1px; background: #fff; display: block; content: ""; }
footer #f_logo { grid-area: f_logo; }
footer #f_info { margin-right: 15px; grid-area: f_info; }
footer #f_info p { display: flex; }
footer #f_info p , footer #f_info p * { font-size: 14px; }
footer #f_nav { grid-area: f_nav; }
footer #f_nav >div { width: 260px; grid-template-columns: repeat(2, 1fr); grid-column-gap: 20px; grid-row-gap: 10px; }
footer #f_other { grid-area: f_other; }
footer #f_other .copy_box * { font-weight: 400; font-size: 14px; color: #757575; }

/* webSeo */
#webSeo { margin-top: 2rem; 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: #7a7a7a; }

/* gotop */
#gotop {padding: 10px 10px 5px;background: var(--primary);display: flex;flex-direction: column;color: #fff;line-height: 220%;}
#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 0px 3px 0px;}
	header #webmenu nav >ul >li >a font:before {font-size: 90%;}
header #webmenu nav ul li:nth-child(3) a font.subfont{padding: 3px 30px;}
}
@media screen and (min-width: 1441px){
	header { border-bottom: 1px #787878 solid; grid-template-columns: 30% 1fr 160px; grid-template-areas: "logo menu btns"; align-items: center; }
	header:before {height: calc(100% + 10px);}
	header #cis { position: absolute; top: 0; }
	header #webmenu {padding: 25px 0px;grid-area: menu;display: flex;align-items: center;justify-content: flex-end;}
	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 {color: var(--primary);font-size: 14px;padding: 2px 0 0;}
}
@media screen and (max-width: 1440px){
	header { grid-template-columns: 1fr 160px; grid-template-areas: "logo btns"; align-items: center; }
	header:before {width: calc(98vw - 200px);}
	header #webmenu { display: none; }
}
@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; }
	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: 170px;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: 1px solid rgb(131 131 131 / 26%); }
	header #webmenu li .menu_body .subOption li >div a {padding: 8px 11px;height: auto;display: block;color: #3a3a3a;}
	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 {background-color: var(--info);color: var(--white);}
	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;}
	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: var(--secondary);
}
header.scroll #webmenu .contactBtn a:hover{
    color: #ffffff;
}
	header.scroll #webmenu .contactBtn a:hover i{color: rgb(255 255 255 / 24%);}
	footer #extra ul li:hover img { display: block; }
}
@media screen and (max-width: 1160px){
	footer #footer_box { grid-template-columns: 1fr 300px; grid-template-areas: "f_logo f_logo" "f_info f_nav" "f_other f_other"; }
}
@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; left: -100vw; }
	#menu_btn[data-type="2"] { border-color: #555; }
	#menu_btn[data-type="2"] span { background: #555; }
	header .btns_box a#openform[data-type="2"] svg { fill: #555; }
	header .btns_box a[data-type="2"] { color: #555; }
	footer #footer_box { grid-template-columns: 1fr 200px; }
}
@media screen and (max-width: 640px){
	#menu_btn { margin-right: 10px; }
	header .btns_box a.lang_btn { padding: 3px 10px; }
	footer h5 { margin: 2rem 0 5px; }
	footer #f_nav >div { width: 100%; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; }
	footer #f_other { margin-top: 1.75rem; }
}
@media screen and (max-width: 480px){
	#webmenu_mb .contact_box { padding-bottom: 10vh; }
    footer #f_logo a { width: 300px; }
	footer #f_nav >div { grid-template-columns: repeat(2, 1fr); }
}