charset "utf-8";
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;padding:0;border:0;margin:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}.clear{clear:both}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important}

html {
	font-size: 18px;
	color:#666666;
} 
body{
	text-decoration: none;
	margin:0;
	width:100%;
	font-family: 'Helvetica Neue',Helvetica,Arial,STHeitiTC-light,STHeiti,'Microsoft JhengHei',微軟正黑體,sans-serif
	color:#666666;
	font-weight: 400;
}
a,a:hover,a:visited,a:active{
	color:inherit;	
	text-decoration: none;
}
.section a,.section a:hover,.section a:visited,.section a:active{
	color:#856DA6;
}

.section .section-wrapper{
	padding-top: 60px;
	padding-bottom: 60px;
	line-height: 1.5em;
	position: relative;
}
.section img{
	max-width:100%;
	height:auto;
}
.section-wrapper p,.service-details > div{
	text-align: justify;
}
footer .section-wrapper{
	padding-top: 20px;
	padding-bottom: 20px;
}
.section-wrapper{
	width:1170px;
	padding-left:15px;
	padding-right:15px;
	margin:auto;
	position: relative;
}
div[class^="menu-top"] {
    font-size: 1em;
    display: table;
}
div[class^="menu-top"] ul{
	display: flex;
	flex-direction: row;
	margin-bottom:0;
	padding-left:0;
}
div[class^="menu-top"] ul a{
	padding: 0 25px;
	display: block;	
	font-weight: 500;
	position:relative;
	color:#333;
	font-weight: bold;
}
.address,.phone,.whatsapp,.fax,.email,.wc{
	padding-left:25px;
	position: relative;
	margin-bottom:10px;
}
.address:before{ font-family: "Font Awesome 5 Free"; content:"\f3c5"; font-weight: 900; position: absolute; left:0;}
.phone:before{ font-family: "Font Awesome 5 Free"; content:"\f095"; font-weight: 900;  position: absolute; left:0;}
.whatsapp:before{ font-family: "Font Awesome 5 Brands"; content:"\f232";  position: absolute; left:0;}
.fax:before{ font-family: "Font Awesome 5 Free"; content:"\f1ac"; font-weight: 900; position: absolute; left:0;}
.email:before{ font-family: "Font Awesome 5 Free"; content:"\f0e0";  position: absolute; left:0;}

.time:before{ font-family: "Font Awesome 5 Free"; content:"\f017"; font-weight: 900;   position: absolute; left:0;}
.ig:before{ font-family: "Font Awesome 5 Brands"; content:"\f16d";   position: absolute; left:0;}
.wc:before{ font-family: "Font Awesome 5 Brands"; content:"\f1d7";   position: absolute; left:0;}
.fb:before{ font-family: "Font Awesome 5 Brands"; content:"\f09a";   position: absolute; left:0;}
.small-wrapper{
	max-width:830px;
	width:100%;
	margin:auto;
	padding-left:15px;
	padding-right:15px;
}
h3.title{
	font-size:3.2em;
	line-height:1.25em;
	margin-bottom:10px;
	position: relative;
	font-weight: 400;
	color:#856DA6;
}
.right-box h1{
	font-size:3.2em;
	line-height:1.25em;
	margin-bottom:20px;
	position: relative;
	font-weight: 400;
	color:#856DA6;
}
.title-desc{
	font-size:1.2em;
	font-weight: 600;
	color:#666;	
	display: inline-block;
	margin-bottom:20px;
	line-height:1.5em;
}
html[lang="en-US"] .title-desc{
	font-weight: 400;
}
.thumbnail-list-style .title-desc,.icon-list-style .title-desc{
	margin-bottom:0;
}
.language{
	font-size:1.2em;
	line-height: 1em;
	margin-right:20px;
	top:20px;
	right:0;
	position: absolute;
	font-weight:300;
	border-left:1px solid rgba(255,255,255,.3);
	padding-left:30px;
}
.language li{
	list-style: none;
}
div[class^="menu-footer"]{
	float:left;
}
div[class^="menu-footer"] ul{
	display: flex;
	flex-direction: row;
	margin-bottom:0;
}
div[class^="menu-footer"] ul a{
	padding-left:20px;
	padding-right:20px;
	color:#ccc;

}
div[class^="menu-footer"] ul li:last-child a{
	padding-right:0;
}
.wpcf7-form-control{
	border:1px solid #ddd;
	border-radius:5px !important;
	margin-bottom:20px;
	max-width:100%;
	padding:5px 15px;
}
textarea.wpcf7-form-control{
	width: 100%;
	height:150px;
}
.wpcf7-submit{
	background-color:#0C2D59;
	color:#fff !important;
	font-size: 1em;
	font-weight: bold;
	clear: both;
	padding: 5px 50px;
	border-radius: 5px !important;
	border-color:#0C2D59;
}
.alignright{ display: block !important; text-align: right !important; }
.alignleft{ display: block !important; text-align: left !important; }
.aligncenter{ display: block !important; text-align: center !important; }
/* css custom frame ended */
header{
	position: absolute;
	top:0;
	left:0;
	right:0;
	padding-top:10px;
	padding-bottom:10px;
	background-color:rgba(205,221,254,0.9);
	box-shadow: 0 1 3px rgba(0, 0, 0 , 15%);
	z-index: 100;
}
.header-wrapper{
	width:1170px;
	margin:auto;
	position: relative;
}
header .logo img{
	height:80px;
	width:auto;
}
.site-menu{
	display: flex;
	position: absolute;
	right:0;
	top:0;
	bottom:0;
	line-height: 25px;
	align-items: center;
	margin:auto;

}
.top-menu ul.menu>li.current-menu-item,.top-menu .current-menu-parent {
	position: relative;
}
.top-menu ul.menu>li.current-menu-item:before,.top-menu .current-menu-parent:before {
	content: "";
	width:100%;
	height:5px;
	position: absolute;
	bottom: -36px;
	left:0;
	right:0;
	background:#7D60A6;
}
.content-wrapper{
	width:1170px;
	margin:auto;
	position: relative;
}
.index-banner{
	width:100%;
	height:100vh;
	background-image:url('../img/index-banner.jpg');
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	position: relative;
}
.banner-content h1{
	font-weight: 900;
	color:#7D60A6;
}
.index-banner-desc{
	color:#707070;
	font-size:1.56rem;
}
.banner-btn-group a, a.btn, input.btn{
	background:#5A8AC1;
	color:#fff;
	padding:15px 40px;
	border:1px solid transparent;
	border-radius: 5px;
	display: inline-block;
	margin-right:10px;
	margin-top:20px;
	font-weight: bold;
}
.banner-btn-group a:last-child, a.btn, input.btn{
	background:#7D60A6;
	color:#fff !important;
	padding:15px 40px;
}
.google-btn{
	padding:15px 20px;
	color:#666 !important;
	border:1px solid #ddd;
	border-radius: 5px;
	margin-right:10px;
	margin-top:20px;
	display: inline-block;
	font-weight: bold;
}
.google-btn img{
	margin:0 10px;
}
a.btn-white{
	background:#fff;
	color:#7D60A6 !important;
}
.index-banner .row-down{
	position: absolute;
	bottom:0px;
	left:0;
	right:0;
	margin: auto;
	width:277px;
	height:34px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image:url("../img/banner-btn.svg");
}
@keyframes row-down {
  0% { transform:translateY(-3px); opacity: 1; }
  10%  { opacity: 100%; } 
  90%  { opacity: 100%; } 
  100%   { transform:translateY(3px); opacity: 1; }
}
.index-banner .row-down i{
	font-size: 20px;
	color:#fff;
	animation: .5s ease-in-out .3s infinite alternate row-down;
	text-shadow: 0 6px 11px rgba(0,0,0,0.15);
}
.section{
	padding-top:120px;
	padding-bottom:120px;
}
.half-style{
	position: relative;
	padding-top:0px;
	padding-bottom:0px;
	
}
.half-style .row>div{
	position: relative;
}
.half-style-img{
	width:50vw;
	height:auto;
	position: absolute;
	right:0;
	top:-60px;
	bottom:-60px;
	margin:auto;
	background-size: cover;
	background-position: center center;
}
.box-content{
	line-height: 2em;
}
.row>div:nth-child(2) .half-style-content {
	padding: 30px 0px 30px 60px;	
	line-height: 2em;
}
.row>div:nth-child(1) .half-style-content{
	padding: 30px 60px 30px 0px;	
	line-height: 2em;
}
.bg-purple{
	background:#856DA6;
	color:#fff;
}
.bg-purple *{
	color:#fff;
}
.bg-blue{
	background:#CDDDFE;
	color:#707070;
}
.half-title{
	margin-bottom:30px;	
	font-weight: 900;	
}
.section-title{
	margin-bottom:30px;	
	font-weight: 900;
	color:#856DA6;
}
.section-center-title{
	margin:auto;
	text-align: center;
	margin-bottom:30px;
	font-weight: 900;
}
.section-desc{
	margin-top:20px !important;
	line-height: 1.5rem;
	color:#666;
	margin-bottom:20px !important;
}
.center-title-desc,.small-aligncenter{
	max-width: 800px;
	text-align: center;
	margin:auto;
	display: block;
}
.section-banner{
	overflow-x: hidden;
	margin-top:120px;
}
.section-banner-title{
	color:#333;
	font-size:1.34rem;
	font-weight: 400;
}
.section-banner-desc{
	color:#856DA6;
	font-weight: 900;
	font-size:2.44rem;
	line-height: 1.25em;
	margin-bottom: 20px;
}
.section-banner-img{
	height:370px;
	width:50vw;
}
.section-banner-text{
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.adv-icon-box{
	display: flex;
}
.adv-icon-box img{
	margin-right:20px;
	width:80px;
	height:80px;
}
.adv-text{
	line-height:2em;
	color:#666;
}
.adv-text h3{
	color:#5A8AC1;
	font-weight: 900;
	font-size:1.33rem;
}
h3{
	font-size:1.34rem;
	font-weight: 900;
	color:#003946;
}
.section-small-title{
	margin-bottom:30px;
}
.device-list{
	margin-top:40px;
}
.video-thumbnail{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 250px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-bottom: 10px;
}
.video-thumbnail img{
	width:370px;
	height:250px;
}
.bg-green{	
	background-color:#003946;
	padding-top:80px;
	padding-bottom:80px;
}
.bg-green *{
	color:#fff;
}
.big-pad-wrapper{
	height:550px;
	position: relative;
}
.big-pad {
    position: absolute;
    right: 0;
    width:832px;
	height:520px;    
    margin-right: 80px;
    background-position: top right;
    background-size: contain;
    background-repeat-y: no-repeat;
    border: 14px solid rgb(238,238,238);
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 0 6px rgba(0,0,0,.2);
   	background-position: center;
}
.payment-plugin{
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.payment-plugin{

}
.no-padding-top{
	padding-top:0 !important;
}
.bg-gradient-grey{
	background-image:url('../img/gradient-bg.png');
	background-position: bottom;
	background-size:100% 100%;
	padding-top:80px;
	padding-bottom:80px;
}
.bg-grey{
	background:#F6F6F6;
	padding-top:80px;
	padding-bottom:80px;
}
.news-thumbnail{
	height:250px;
	margin-bottom:30px;
	background-position: center center;
	background-size:cover;
	width:calc(100% + 60px);
	margin-left:-30px;
	margin-right:-30px;
}
.news-box{
	padding:0 30px 30px 30px;
	background:white;
}
.news-box h3{
	margin-bottom:30px;
}
.news-box span{
	display: block;
	margin-bottom:30px;
}
.news-box a{
	display: block;
	color:#F78400;
}
.section-80pad{
	padding-top:80px;
	padding-bottom:80px;
}
footer{ color:#fff; font-size:.833rem; }
.footer-top{ background:#272727; }
.footer-bottom{ 
	background:#000000; 
	position: relative;
}
.footer-bottom nav{
	display: inline-block;	
	color:#ccc;
}
.footer-bottom nav ul{
	display:flex;
	flex-direction: row;
	padding-left:0;
	margin-bottom:0;
}
.footer-top .section-wrapper{
	padding-top:40px;
	padding-bottom:40px;
}
div[class^="menu-footer"] ul a{
	padding-right:40px;
	padding-left:0px;
}
.copyright{
	color:#ccc;
	text-align: right;
}
.footer-content-box{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
.footer-content-box>div:first-child{
	margin-right: 30px;
	margin-left:30px;
}
.footer-about-us{
	max-width: 360px;	
	position: relative;
	line-height: 2em;
}
.footer-about-us:after{
	width:1px;
	height:100%;
	content:"";
	background:rgba(255,255,255,.35);
	position: absolute;
	right:-30px;
	top:0;
	bottom:0;
	margin:auto;
}
.footer-about-us img{
	display: block;
	height:60px;
	width:auto;
	margin-bottom:0px;
}
.footer-other-info{
	display: flex;
	flex-direction: row;
}
.footer-other-info>div{
	margin-left:30px;
	margin-right:30px;
}
.footer-contact-info{
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.footer-contact-info .footer-contact{
	margin-bottom:20px;
}
.footer-contact-info .footer-contact:last-child{
	margin-bottom:0;
}
.app-group a{
	display: block;
	margin-top:10px;
	margin-bottom:10px;
}
.social-group a{
	display:inline-block;	
	background:#EEEEEE;
	border:1px solid #EEEEEE;
	border-radius: 45px;
	width:45px;
	height:45px;
	font-size:1.25rem;
	text-align: center;
	margin-right:10px;
}
.social-group a i{
	line-height:1.85em;
	color:#333 !important;
}
.lang-group{
	display: flex;

}
.lang-group a{
	padding-left:10px;
	padding-right:10px;
	position: relative;
}
.lang-group a:first-child{
	padding-left:0;
}
.lang-group a:first-child:after{
	border-right:1px solid #eee;
	position: absolute;
	right:0;
	top:8px;
	bottom:8px;
	content:"";
}
.spec-img{
	position: relative;
	height: 100%;
}
.spec-img img{
	position: absolute;
	bottom:0px;
	width:calc(50vw - 200px);
	height: auto;
	max-width: unset;
}
.big-pad-section .row>div:nth-child(2){
	display: flex;
	align-items: center;
}
.custom-btn-group{
	display: flex;
}
.mobile-whatsapp{
	display: none;
}
.padding-60{
	padding-top:60px;
	padding-bottom:60px;
}
.avatar{
	background:#fff;
	border:4px solid #5A8AC1;
	width:120px;
	height:120px;
	border-radius: 60px;
	overflow: hidden;
	margin: auto;
	margin-top:20px;
	display: block;
}
.avatar img{
	width:100%;
	height: auto;
	margin: auto;
}
.logo-group {
    width: 100%;
    overflow: hidden;
}
.owl-item>div {
    box-shadow: 0 3px 6px rgb(0 0 0 / 15%);
    border: 1px solid #fff;
    border-radius: 10px;
    transform: scale(.8);
    transition: all .3s ease-in-out;
}
.owl-item>div:hover{
	transform: scale(1);
}
.owl-carousel .owl-stage-outer {
    padding-top: 30px;
    padding-bottom: 30px;
}
.wow{
	visibility: hidden;
}
.page-title-section{
	padding-top:148px;
	padding-bottom:60px;
}
.page-title-section h1,h1.page-title{
	font-size:2.33rem;
	font-weight: bold;
	color:#7D60A6;
}
.page-desc{
	padding-bottom:60px;
	border-bottom:1px solid #CCCCCC;
	display: block;
	color:#707070;
}
.contact-info-wrapper{
	padding-top:60px;
	padding-bottom:60px;
	line-height: 1.5em;
}
.contact-logo{
	margin-bottom:30px;
}
.contact-logo img{
	max-width: 100%;
}
.contact-info-box>div.address,.contact-info-box>div.whatsapp,.contact-info-box>div.email{
	text-indent: 25px;
	padding:0;
}
.contact-info-box>div:before{
	left:-25px;
}
.contact-info-box, .qr-code-box {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 320px;
}
.contact-info-box:after{
	position: absolute;
	height:100%;
	width:1px;
	background:#CCCCCC;
	content:"";
	right:-60px;
	top:0;
}
.contact-info-box{

}
.wpcf7-form-control {
    border: 1px solid #ddd;
    border-radius: 5px !important;
    margin-top: 20px;
    margin-bottom: 10px;
    padding: 10px 15px;
}
.wpcf7 form .wpcf7-response-output {
    margin: 2em 0em 1em;
    padding: 10px;
    border: 2px solid #00a0d2;
}
.news-post{
	--bs-gutter-x: 0;
	background:#FCFCFC;
	box-shadow: 0 6px 11px rgba(0,0,0,0.15);
	margin-top:30px;
	margin-bottom:30px;
}
.news-post:nth-of-type(1){
	margin-top:60px !important;
}
.article-excerpt-box{
	height:100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.article-excerpt-box h3{
	color:#5A8AC1;
	line-height: 1.5em;
	margin-bottom:10px;
}
.article-excerpt-box{ 
	color:#707070;
	line-height: 1.5em;
	padding:0 60px;
}
.big-pad-sub-page{
	padding-top:180px;
}
.service-list{
	margin-top:30px;
}
.service-list img{
	margin-bottom:20px;
	display: block;
}
.service-list h3{
	color:#5A8AC1;
	font-weight: bold;
	font-size: 1.11rem;
    line-height: 1em;
}
.service-list {
	line-height: 1.5rem;
	color:#707070;
}
.service-list >div{
	position: relative;
	padding-bottom:30px;
}
.service-list >div:after{
	position: absolute;
	bottom:30px;
	width:calc(100% - 30px);
	height:1px;
	background:#ccc;
	content:"";
	display: block;
	margin:auto;
}
.service-list .desc{
	margin-bottom:30px;
}
.other-portfolio-list{
	margin-top:30px;
}
.other-portfolio-list img{
	width:100%;
	height:auto;
}
.other-portfolio-list>div{
	position:relative;
}
.other-portfolio-list a{
	width: 100%;
	height:100%;
	display: block;
	position: relative;
}
.other-portfolio-list a .mask{
	width:100%;
	height:100%;
	background:
	rgba(255,255,255,.95);
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0;
	position: absolute;
	font-weight: bold;
	opacity: 0;
	right: 0;
	left: 0;
	transition: all .3s linear;
}
.other-portfolio-list a .mask i{
	margin-right:10px;
	font-size: 1.5rem;
	line-height: 1em;
}
.other-portfolio-list a:hover .mask{
	opacity: 1;
	border:5px solid #7D60A6;
}
.no-padding-bottom{
	padding-bottom:0;
}
.the-post-thumbnail{
	margin-bottom:20px;
}
.article-img { background-size: cover; background-position: center center; }
h1.post-title{
	font-size:1.33rem;
	line-height: 1.5em;
}
img.aligncenter,.the-post-thumbnail img{
	display: block;
	margin:auto;
}
.whatsapp-btn{
	position: fixed;
	bottom:20px;
	right:20px;
	width:60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	background:#2AA81A;
	border:1px solid #2AA81A;
	border-radius: 50px;
	z-index: 10000;
	color:#fff !important;
	font-size:1.6rem;
	box-shadow: 0 3px 5px rgb(0 0 0 / 15%);
	border:3px solid #FFF;
}
a.whatsapp-btn:hover,.a.whatsapp-btn:visited,a.whatsapp-btn:active,a.whatsapp-btn:focus{
	color:#fff;
}
a.whatsapp-btn:hover{
	transition: translateY(1px);
}
.grecaptcha-badge{
	opacity: 0;
}