@import url('/css/fontawesome-all.css');
@import url('/css/font-awesome.min.css');
@import url('/css/fontawesome.min.css');
@import url('/css/all.min.css');
@import url('/css/SeoJump.css');
@import url('/css/contentBuilder.css');
@import url('root.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=Frank+Ruhl+Libre:wght@300;400;500;700;900&family=Quicksand:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=AR+One+Sans:wght@400..700&family=Arapey:ital@0;1&family=Archivo+Narrow:ital,wght@0,400..700;1,400..700&family=Archivo:ital,wght@0,100..900;1,100..900&family=Arimo:ital,wght@0,400..700;1,400..700&family=Arsenal:ital,wght@0,400;0,700;1,400;1,700&family=Karla:ital,wght@0,200..800;1,200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&family=Pliant:ital,wght@0,100..900;1,100..900&display=swap');
* { margin: 0; padding: 0; }
*:focus { outline: none; }

body { margin: 0; }
body ::selection { background: var(--primary); text-shadow: none; color: var(--white); }
body::-webkit-scrollbar { width: 5px; }
body::-webkit-scrollbar-track { background: rgba(var(--gray-rgb), .4); }
body::-webkit-scrollbar-thumb { background: var(--info); }

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, button, select, textarea { padding: 5px 15px; width: calc(100% - 32px); border: 0; border-radius: 0; background: rgba(var(--gray-rgb), .2); box-shadow: none; outline: none; font-size: 16px; color: var(--black); -webkit-appearance: none; -moz-appearance: none; appearance: none; }
select { padding: 10px 15px; width: 100%; }
input#Checknum { margin-right: 15px; width: 70px; max-width: calc(100% - 97px); }

/* img */
img { max-width: 100%; }
.img_cover { object-fit: cover; }
.img_contain { object-fit: contain; }

a, a:link, a:visited, a:hover {text-decoration: none;white-space: inherit;}

/* 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; }
.bg_box:before { content: ""; position: absolute; width: 100%; height: 100%; background: rgb(255, 255, 255); background: linear-gradient(to bottom, rgb(255, 255, 255), rgba(255, 255, 255, 0), rgb(255, 255, 255)); background: linear-gradient(to bottom, rgb(255, 255, 255), rgba(255, 255, 255, 0), rgb(255, 255, 255)); }
.nowrap_box { font-size: 0; }
.txt_num { font-family: 'Quicksand', sans-serif; }
.svg_clip { width: 0; height: 0; }

/* btn */
.btn,.btn_outline { padding: 2px 10px; }
.more_btn {text-transform: uppercase;display: inline-flex;padding: 0;text-align: center;color: #fff;position: relative;letter-spacing: 1px;width: 190px;height: 52px;line-height: 57px;background-color: var(--primary);overflow: hidden;border-radius: 50px;align-items: center;justify-content: center;}
.more_btn span {color: white;z-index: 10;position: relative;font-weight: 500;font-size: 14px;}
.more_btn:hover { -webkit-box-shadow: 0 3px 10px rgba(0,0,0,0.15); box-shadow: 0 3px 10px rgba(0,0,0,0.15) }
.more_btn:after { content: ''; position: absolute; right: -10%; top: 0; z-index: 0; width: 0; height: 100%; -webkit-transform: skew(-30deg); transform: skew(-30deg); background-color: var(--primary-dark); ); -webkit-transition: all .5s; transition: all .5s }
.more_btn:hover:after { width: 120%; left: -10%; right: auto; -webkit-transition: all .5s; transition: all .5s }
.more_btn i { display: block; width: 24px; height: 100%; position: relative; flex-shrink: 0; overflow: hidden; z-index: 10; }
.more_btn i::before { content: ""; position: absolute; pointer-events: none; transition: all 0.5s ease-in-out; width: 8px; height: 8px; border: solid 2px #ffffff; border-width: 2px 2px 0 0; left: calc(90% - 5px); top: 50%; transform: translate(-50%,-50%) rotate(45deg); }
@keyframes btnHoverAni {
  0% { transform: translate(-50%,-50%) rotate(45deg); opacity: 1; }
  50% { transform: translate(400%,-50%) rotate(45deg); opacity: 1; }
  51% { transform: translate(400%,-50%) rotate(45deg); opacity: 0; }
  52% { transform: translate(-400%,-50%) rotate(45deg); opacity: 0; }
  53% { transform: translate(-400%,-50%) rotate(45deg); opacity: 0; }
  80% { transform: translate(-50%,-50%) rotate(45deg); opacity: 1; }
  100% { transform: translate(-50%,-50%) rotate(45deg); opacity: 1; }
}
@media (max-width:1180px) {
  .more_btn i::before { width: 5px; height: 5px; }
}
.more_btn i::after { content: ""; position: absolute; pointer-events: none; transition: all 0.5s ease-in-out; width: 1px; height: 100%; background: #ffffff; left: 0; top: 50%; transform: translateY(-50%) scaleY(0.5); }
@media (min-width:1181px) {
  .more_btn:hover { background: var(--primary-dark); }
  .more_btn:hover i::before { animation: btnHoverAni 0.5s linear 0s forwards; }
  .more_btn:hover i::after { transform: translateY(-50%) scaleY(1); }
}

/* 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,bgBox */
a.photo, .bgBox { overflow: hidden; background: no-repeat 50% / cover; display: block; }

/* 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: 100%; }
.webBox * , .webBox :before , .webBox :after { transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; }
.webBox .wrapper { position: relative; background: #fff; z-index: 2; }
.webBox .slick-slider { margin-bottom: 0; }
.webBox .img_scale img { transform: scale(1); -webkit-transform: scale(1); }

/* workframe */
.workframe { margin: 0 auto; width: 90%; }

/*loading*/
.loadingArea{width:100%;height:100vh;align-items:center;background-color:#fff;display:flex;justify-content:center;pointer-events:none;position:fixed;left:0;top:0;z-index:9999;transition:all 0.5s}
.loadingArea .loadLogo{height: 50px}
.loadingArea .loadLogo img{opacity:0;transform:translateY(20px);transition:all 1s ease;width:100%;display:block;backface-visibility:hidden}
.loadingArea.show{opacity:1;pointer-events:auto}
.loadingArea.show .loadLogo img{opacity:1;transform:translateY(0)}
.loadingArea.hide{opacity:0}

/* header */
header {padding: 0 5%;width: 90%;z-index: 1000;top: 0;}
header #cis { z-index: 1000; }
header #cis img{height: 52px;}
header #menubtn {z-index: 1000;width: 46px;height: 46px;padding: 0;border: 1px solid var(--line);border-radius: 50%;background: #fff;cursor: pointer;}
header #menubtn a {margin: auto 0;width: 23px;height: 16px;}
header #menubtn a span {position: absolute;width: 100%;height: 2px;display: block;top: 0;right: 0;background: var(--info);}
header #menubtn[data-type="1"] a 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); }
header #menubtn[data-type="1"] a span:nth-child(2) { top: calc(50% - .5px); }
header #menubtn[data-type="1"] a span:nth-child(3) { top: calc(100% - 1px); }
header #menubtn[data-type="2"] a span { transition: .4s cubic-bezier(.645, .045, .355, 1); }
header #menubtn[data-type="2"] a span:nth-child(1), header #menubtn[data-type="2"] a span:nth-child(3) { top: 50%; transform: rotate(45deg); -webkit-transform: rotate(45deg); }
header #menubtn[data-type="2"] a span:nth-child(2) { opacity: 0; }
header #menubtn[data-type="2"] a span:nth-child(3) { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
header #webmenu nav>ul>li>p a {padding: 10px 5px;font-size: 17px;letter-spacing: 1px;font-weight: 500;}
header #webmenu nav ul li b { position: absolute; padding: 0 5px 0 15px; width: 23px; height: 41px; display: inline-block; text-align: center; line-height: 41px; top: calc((100% - 41px) / 2); right: 0; }
header #webmenu nav>ul>li .subOption li>div a { padding: 7px 10px; display: block; }
header #header_bar>a {padding: 0;line-height: 100%;width: 130px;height: 42px;}
header #header_bar svg { width: 25px; height: 25px; }
header.scroll, header { background: rgba(var(--white-rgb), 1); }

/* hSearch */
#hSearch { width: 100%; height: 0; top: 64px; z-index: 998; }
#hSearch[data-type="2"] { height: 142px; }
#hSearch>div { margin: 50px auto; width: 700px; }
#hSearch>div input { margin-right: 15px; width: calc(100% - 89px); background: none; border-bottom: 1px rgba(var(--black-rgb), .3) solid; }
#hSearch>div a { border-radius: 50%; }
#hSearch>div a svg { margin: 10px; width: 22px; height: 22px; }

/* menubg */
#menubg { width: 100vw; height: 100vh; top: 0; left: 0; }
#menubg[data-type="1"] { background: rgba(var(--black-rgb), 0); z-index: -998; }
#menubg[data-type="2"] { background: rgba(var(--black-rgb), .5); z-index: 998; }

/* parallax_box */
.parallax_bg {margin-bottom: 3vw;min-height: 600px;background: no-repeat 50% / cover;background-attachment: fixed;background-position: 50% 170%;}
.parallax_svg { height: 64px; background-repeat: no-repeat; background-size: 2000px 64px; left: 0; z-index: 2; -webkit-animation: parallax_top 5s linear infinite; animation: parallax_top 5s linear infinite; }
.parallax_svg.top { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M0 0v47.33c90-24.285 138.35-6.45 203.49 2.259 59.67 7.998 119.29-10.198 179.14-5.869 78.82 5.09 135.28 41.99 217.6 1.58C642.18 29.403 664 21.125 721.67 25.674c164.07 15.317 329.57-33.862 490.92-5.169C1289.4 32.143 1360.67 72.834 1440 47.38V0H0z' fill='%23fff'/%3E%3C/svg%3E"); top: 0; }
.parallax_svg.bottom { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M1440 64V16.67c-90 24.285-138.35 6.45-203.49-2.259-59.67-7.998-119.29 10.198-179.14 5.869-78.82-5.09-135.28-41.99-217.6-1.58C797.82 34.596 776 42.875 718.33 38.326c-164.07-15.317-329.57 33.862-490.92 5.169C150.6 31.857 79.33-8.834 0 16.62V64h1440z' fill='%23fff'/%3E%3C/svg%3E"); background-position: 100% 0; bottom: 0; -webkit-animation: parallax_bottom 5s linear infinite; animation: parallax_bottom 5s linear infinite; }

@-webkit-keyframes parallax_top { 0% , 100% { background-position: 0 0; } 50% { background-position: -80px 0; } }
@keyframes parallax_top { 0% , 100% { background-position: 0 0; } 50% { background-position: -80px 0; } }
@-webkit-keyframes parallax_bottom { 0% , 100% { background-position: 100% 0; } 50% { background-position: calc(100% + 80px) 0; } }
@keyframes parallax_bottom { 0% , 100% { background-position: 100% 0; } 50% { background-position: calc(100% + 80px) 0; } }

/* footer */
footer { position: relative; background: var(--warm-white); border-top: 1px solid rgba(15,90,53,.08); }
footer .footer_box { padding: 0; }
footer .workframe {position: relative;padding: 20px 0 0;width: 80%;}
footer .footer_top { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 25px 0; }
footer .footer_menu { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }
footer .footer_menu a { position: relative; padding: 7px 34px; color: var(--ink); letter-spacing: .08em; white-space: nowrap; transition: color .35s ease; }
footer .footer_menu a:first-child { padding-left: 0; }
footer .footer_menu a:not(:last-child)::after { content: ""; position: absolute; width: 1px; height: 13px; right: 0; top: 50%; background: rgba(15,90,53,.18); transform: translateY(-50%); }
footer .footer_menu a:hover { color: var(--green-700); }
footer .footer_contact_btn { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-width: 130px; height: 48px; padding: 0 24px; border-radius: 999px; background: var(--green-900); color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .06em; transition: all .4s var(--ease); }
footer .footer_contact_btn span { color: #fff; font-weight: 500; font-size: 16px; }
footer .footer_contact_btn span.footer_contact_icon { font-size: 11px; }
footer .footer_contact_btn:hover { background: var(--green-500); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(11,67,41,.18); }
footer .footer_contact_icon { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-size: 12px; }
footer .footer_divider { width: 100%; height: 1px; background: linear-gradient(90deg,rgba(15,90,53,.25),rgba(15,90,53,.09),rgba(15,90,53,.25)); }
footer .footer_main { display: grid; grid-template-columns: .8fr 2fr .4fr; gap: 6%; padding: 50px 0 50px; }
footer .footer_brand { display: flex; flex-direction: column; align-items: flex-start; }
footer #flogo { margin: 0 0 20px; }
footer #flogo a { display: block; }
footer #flogo img { width: 270px; height: auto; max-height: 90px; object-fit: contain; filter: none; }
footer .footer_brand_text { margin: 0; color: var(--muted); line-height: 1.9; letter-spacing: .04em; }
footer .footer_info_title { position: relative; margin: 0 0 24px; padding-bottom: 12px; color: var(--green-900); letter-spacing: .1em; }
footer .footer_info_title::after { content: ""; position: absolute; width: 28px; height: 1px; left: 0; bottom: 0; background: var(--green-500); }
footer #f_info { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 46px; width: 100%; padding: 0; margin: 0; border: 0; }
footer .footer_info_item { display: grid; grid-template-columns: 76px minmax(0,1fr); align-items: start; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(15,90,53,.08); }
footer .footer_info_name { position: relative; color: var(--green-800); font-weight: 500; letter-spacing: .08em; }
footer .footer_info_name::after { content: ""; position: absolute; width: 1px; height: 14px; right: 0; top: 4px; background: rgba(15,90,53,.2); }
footer .footer_info_value,footer .footer_info_value * { color: var(--ink); line-height: 1.7; }
footer .footer_info_value a:hover { color: var(--green-700); }
footer .footer_service p { position: relative; margin: 0; padding: 5px 0 5px 15px; color: var(--muted); letter-spacing: .04em; }
footer .footer_service p::before { content: ""; position: absolute; width: 4px; height: 4px; left: 0; top: 16px; border-radius: 50%; background: var(--green-500); }
footer #webCopy { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0 24px; margin: 0; border-top: 1px solid rgba(15,90,53,.1); }
footer #webCopy .other_txt,footer #webCopy .other_txt * { color: #89918c; font-size: 14px; line-height: 1.6; }
footer #web_footer { text-align: right; }

/* webSeo */
#webSeo { padding: 5px 0; white-space: nowrap; box-sizing: border-box; }
#webSeo .seo { padding-left: 100%; font-weight: 100; font-size: 13px; opacity: .3; -webkit-animation: marquee 200s linear infinite; animation: marquee 200s linear infinite; }
@-webkit-keyframes marquee { 0% { -webkit-transform: translate(0, 0); } 100% { -webkit-transform: translate(-100%, 0); } }
@keyframes marquee { 0% { transform: translate(0, 0); } 100% { transform: translate(-100%, 0); } }


/* SeoStarRating */
#SeoStarRating font { margin-right: 5px; display: inline-block; line-height: 110%; vertical-align: text-bottom; color: #ffc107; }
#SeoStarRating font * { color: #ffc107; }
#SeoStarRating font:first-child { font-weight: bold; font-size: 18px; }
#SeoStarRating font:last-child { color: var(--complement); }

@media screen and (min-width:1441px) {
	.workframe { width: var(--width-xxl); }
}
@media screen and (max-width:1460px) {
	header #cis { width: auto; }
	.parallax_bg { min-height: 480px; }
}
@media screen and (min-width:1281px) {
	header { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
	.webBox .img_scale:hover img { transform: scale(1.1); -webkit-transform: scale(1.1); }
	header #webmenu nav ul li b { display: none; }
	header #webmenu nav ul li { position: relative; }
	header #webmenu nav ul li .bo { position: relative; background: var(--white); z-index: 1; }
	header #webmenu nav>ul>li>p a { padding: 30px 13px; }
	header #webmenu nav>ul>li:hover>p a { color: var(--primary) }
	header #webmenu li .menu_body { transform: translate(0,30px); -webkit-transform: translate(0,30px); }
	header #webmenu li .menu_body,header #webmenu li .subOption ul { position: absolute; width: 170px; right: calc(50% - 85px); z-index: -1; opacity: 0; }
	header #webmenu li .menu_body ul { background: var(--white); box-shadow: 0 0 10px rgba(var(--black-rgb),.3); }
	header #webmenu li .subOption li { overflow: hidden; }
	header #webmenu li .subOption li>div a { padding: 6px 15px; border-bottom: 1px rgba(var(--black-rgb),.1) solid; line-height: 150%; font-weight: 300; }
	header #webmenu li .subOption li:last-child>div a { border-color: none; }
	header #webmenu li .subOption li>div a:hover { color: var(--primary); }
	header #webmenu li .subOption .sub2Option,header #webmenu li .subOption .sub3Option { top: 0; right: -170px; transform: translate(-30px,0); -webkit-transform: translate(-30px,0); }
	header #webmenu nav>ul>li:hover,header #webmenu li .subOption li:hover { overflow: visible; }
	header #webmenu nav>ul>li:hover .menu_body,header #webmenu li .subOption li:hover>ul { z-index: 2; opacity: 1; }
	header #webmenu li:hover .menu_body { transform: translate(0,0); -webkit-transform: translate(0,0); }
	header #webmenu li .menu_body .subOption li:hover .sub2Option,header #webmenu li .menu_body .subOption li .sub2Option li:hover .sub3Option { transform: translate(0,0); -webkit-transform: translate(0,0); }
	header #webmenu li:last-child .subOption .sub2Option,header #webmenu li:last-child .subOption .sub3Option { right: auto; left: -170px; transform: translate(30px,0); -webkit-transform: translate(30px,0); }
	#hSearch { top: 90px; }
	header #webmenu li:last-child .menu_body .subOption li:hover .sub2Option,header #webmenu li:last-child .menu_body .subOption li .sub2Option li:hover .sub3Option { transform: translate(0,0); -webkit-transform: translate(0,0); }

	/* header menu stability fix */
	header #webmenu nav { margin: 0!important; padding: 0!important; height: auto!important; overflow: visible!important; }
	header #webmenu nav>ul { display: flex!important; align-items: center!important; flex-wrap: nowrap!important; padding: 0!important; margin: 0!important; }
	header #webmenu nav>ul>li { flex: 0 0 auto!important; width: auto!important; }
	header #webmenu nav>ul>li>p { margin: 0!important; }
	header #webmenu nav>ul>li>p>a { display: block!important; padding: 30px 13px!important; white-space: nowrap!important; }
	header #header_bar { flex: 0 0 auto!important; width: auto!important; white-space: nowrap!important; }
	header #menubg { display: none!important; }
	body.menu-open,body.over_hid { overflow: auto!important; }
}
@media screen and (max-width:1280px) {
	header { display: flex; justify-content: space-between; align-items: center; padding: 15px 2%; width: 96%; }
	header #cis { width: 55%; }
	header #header_bar { display: flex; justify-content: flex-end; gap: 10px; width: 70%; align-items: center; }
	header #menubtn { display: flex; justify-content: center; }
	header #webmenu { padding: 15px 0; width: 350px; height: 100vh; top: 0; right: calc(-1 * var(--width-xs)); display: block; position: fixed; z-index: 0; background: rgba(250,249,245,.985); }
	header #webmenu nav { overflow-y: scroll; margin-top: 90px; padding: 0 40px; height: calc(100% - 65px); }
	header #webmenu nav::-webkit-scrollbar { width: 0; }
	header #webmenu nav>ul li p a { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 8px 2px; border-bottom: 1px solid var(--line); color: var(--green-900); font-size: 1.25rem; }
	header #webmenu li .menu_body,header #webmenu li .menu_body .subOption li ul { position: relative; display: none; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
	header #webmenu li .menu_body ul { margin-bottom: 10px; margin-left: 1.3em; }
	header #webmenu li .menu_body .subOption .bo { position: relative; }
	header #webmenu li .menu_body .subOption a { padding: 5px 45px 5px 0; color: var(--primary); }
	header #webmenu li .menu_body .sub2Option a { padding: 0 45px 0 0; font-weight: 300; color: var(--triadic1); }
	header #webmenu li .menu_body .sub3Option a { padding-right: 5px; color: var(--triadic2); }
	header #webmenu { right: calc(-1 * var(--width-xs)); }
	header #webmenu.open { right: 0; }
}
@media(max-width:1100px) {
	footer .footer_top { align-items: flex-start; }
	footer .footer_menu a { padding: 7px 20px; }
	footer .footer_main { grid-template-columns: 1fr 1.6fr; gap: 50px; }
	footer .footer_service { grid-column: 1/-1; display: flex; align-items: center; gap: 18px; padding-top: 22px; border-top: 1px solid rgba(15,90,53,.1); }
	footer .footer_service .footer_info_title { margin: 0 12px 0 0; padding: 0; }
	footer .footer_service .footer_info_title::after { display: none; }
	}

@media screen and (max-width:980px) {
	.parallax_bg { min-height: 400px; }
	#hSearch>div { width: 90%; }
	footer .footer_top { display: block; padding: 24px 0; }
	footer .footer_menu { gap: 0; }
	footer .footer_menu a { width: 50%; box-sizing: border-box; padding: 9px 12px 9px 0; }
	footer .footer_menu a::after { display: none; }
	footer .footer_contact_btn { margin-top: 20px; }
	footer .footer_main { display: block; padding: 30px 0 35px; }
	footer .footer_brand { margin-bottom: 38px; }
	footer .footer_info_wrap { margin-bottom: 35px; }
	footer #f_info { grid-template-columns: 1fr; }
	footer .footer_service { display: flex; flex-wrap: wrap; gap: 5px 18px; padding-top: 0; border-top: 0px solid rgba(15,90,53,.1); }
	footer .footer_service .footer_info_title { width: 100%; margin-bottom: 10px; }
	footer #webCopy { display: block; padding-bottom: 70px; }
	footer #webCopy .other_txt { margin: 4px 0; text-align: left; }
  footer .footer_menu a { border-bottom: 1px solid rgba(15,90,53,.07); }
}

@media screen and (max-width:640px) {
	.parallax_bg { min-height: 80vw; background-attachment: initial; background-position: right; }
	#webSeo { margin-top: 30px; }
}
@media screen and (max-width:550px) {
	header #webmenu { width: 100%; top: 70px; }
	header #webmenu nav { margin-top: 15px; }
}
@media(max-width:480px) {
  footer #flogo img { width: 210px; }
  footer .footer_info_item { grid-template-columns: 70px minmax(0,1fr); }
}

@media screen and (max-width:350px) {
	header #header_bar svg { width: 20px; height: 20px; }
	header #menubtn { width: 25px; }
	header #menubtn a { width: 20px; height: 15px; }
}


.webBox,.wrapper { position: relative; width: 100%; }
.webBox .pageh1 { color: var(--complement); font-size: clamp(25px,1.2vw,40px); font-weight: 500; line-height: 1.35; letter-spacing: .09em; margin-bottom: 16px; }
.container {width: min(var(--width-xxl),calc(100% - 48px));margin-inline: auto;max-width: var(--width-xxl);padding: 0;}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; color: var(--green-700); font-size: .78rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.section-title {margin: 0;color: var(--green-900);font-size: clamp(25px,1.9vw,48px);font-weight: 500;line-height: 1.35;letter-spacing: .09em;}
.text-link {display: inline-flex;align-items: center;gap: 12px;min-height: 40px;color: var(--green-800);font-size: .86rem;font-weight: 700;letter-spacing: .06em;white-space: nowrap;}
#copyright { display: flex; justify-content: space-between; gap: 24px; color: #8a918c; font-size: .76rem; }
#webSeo { overflow: hidden; padding: 8px 0; color: #7a837d; background: var(--cream); white-space: nowrap; }
#webSeo .seo { padding-left: 100%; animation: marquee 40s linear infinite; }
@keyframes marquee {
  to { transform: translateX(-100%); }
}
.floating-actions { position: fixed; z-index: 800; right: 0; top: 47%; transform: translateY(-50%); display: grid; background: var(--green-800); border-radius: 18px 0 0 18px; overflow: hidden; box-shadow: 0 16px 38px rgba(15,90,53,.22); }
.floating-actions a { width: 78px; min-height: 72px; display: grid; place-items: center; padding: 10px 7px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.25); font-size: .7rem; text-align: center; }
.floating-actions a:hover,.floating-actions a:last-child { background: var(--green-500); }
.floating-actions a span { color: var(--white); font-size: 13px; letter-spacing: 0.5px; }
.floating-actions svg { width: 26px; height: 26px; }
#gotop { position: fixed; z-index: 850; right: 12px; bottom: 24px; width: 50px; height: 50px; display: grid; place-items: center; padding: 0; border: 1px solid var(--complement); border-radius: 50%; color: var(--complement); background: var(--complement); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity var(--fast),visibility var(--fast),transform var(--fast),background var(--fast); }
#gotop.show { opacity: 1; visibility: visible; transform: none; }
#gotop:hover { color: #fff; background: var(--green-700); }
#gotop svg { width: 28px; height: 28px; fill: var(--white); color: var(--white); }
[data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity var(--duration) var(--ease),transform var(--duration) var(--ease); }
[data-reveal="image"] { position: relative; opacity: 1; transform: none; }
[data-reveal="image"]::after { content: ""; position: absolute; z-index: 8; inset: 0; background: #fff; transform: scaleX(1); transform-origin: right; transition: transform 1000ms var(--ease); pointer-events: none; }
[data-reveal].is-visible { opacity: 1; transform: none; }
[data-reveal="image"].is-visible::after { transform: scaleX(0); }

@media (max-width:1120px) {
  .desktop-nav { position: fixed; z-index: 950; inset: var(--header-h) 0 0; width: 100%; margin: 0; padding: 44px 24px; background: rgba(250,249,245,.985); transform: translateX(100%); visibility: hidden; transition: transform 420ms var(--ease),visibility 420ms; }
  .desktop-nav.open { transform: none; visibility: visible; }
  .desktop-nav ul { display: block; width: min(640px,100%); margin: 0 auto; }
  .desktop-nav li p { border-bottom: 1px solid var(--line); }
  .desktop-nav a { min-height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 8px 2px; color: var(--green-900); font-size: 1.15rem; }
  .desktop-nav > ul > li > p > a::after { content: "â†’"; position: static; width: auto; height: auto; background: none; transform: none; }
  .desktop-nav .subOption { position: static; width: auto; padding: 0 0 12px 20px; box-shadow: none; transform: none; opacity: 1; visibility: visible; }
  .header-cta { margin-left: auto; }
  .menu-toggle { display: block; }
}
@media (max-width:780px) {
  .container {z-index: 20;}
  .brand { flex-basis: 188px; height: 58px; }
  .brand img { width: 182px; height: 70px; }
  .header-cta { display: none; }
  .floating-actions { top: auto; right: 0; bottom: 0; transform: none; display: flex; border-radius: 0; width: 100%; align-items: center; justify-content: center; }
  .floating-actions a { width: 50%; min-height: 30px; padding: 8px; border-right: 1px solid rgba(255,255,255,.22); border-bottom: 0; font-size: 0; display: flex; align-items: center; justify-content: center; gap: 20px; }
  .floating-actions a::first-letter { font-size: 0; }
  #gotop { right: 16px; bottom: 70px; }
  #copyright { flex-direction: column; gap: 8px; }
}
@media (max-width:520px) {
  .brand { flex-basis: 165px; }
  .brand img { width: 162px; }
}


