﻿/* CSS Document */
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-kerning: auto; }
/*----------------------------------------/
  Default Typography
----------------------------------------*/
h1 {font-size: 2.36rem;margin:0.4rem 0;  }
h2 {font-size: 2rem;margin:0.6rem 0;}
h3 {font-size: 1.73rem;margin:0.7rem 0;}
h4 {font-size: 1.6rem;margin:0.8rem 0;}
/*h5 {font-size: 1.48rem;margin:0.8rem 0;}*/
h6 {font-size: 1.3rem;margin:0.8rem 0;}
#cms-main p {margin:auto 0; /*display: block;*/}
#cms-main a{ text-decoration: none;}
#cms-main a:hover, #cms-main a:active, #cms-main a:visited, #cms-main a:focus {text-decoration: none;  }
.cms-main-post a{ text-decoration: underline!important;  color: #232323}
.cms-main-post a:hover {color: #009E91!important; text-decoration: none!important;}
@media all and (max-width: 1024px) {
h1 {font-size: 2rem;}
h2 {font-size: 1.73rem;}
h3 {font-size: 1.6rem;}
h4 {font-size: 1.48rem;}
h5 {font-size: 1.3rem;font-weight:bold;}
h6 {font-size: 1rem;font-weight:bold;}
}
/** font-family:=================================*/
.txt-ch{font-family:'Noto Sans TC','Microsoft JhengHei',"sans-serif"; }
.txt-en{font-family: 'Nunito','Arial', "sans-serif"; }

.cms-wrapper { position: relative; margin-right: auto; margin-left: auto; width: 100%; padding-right: 20px; padding-left:20px; max-width: calc((100% - 40px)/12*12 + 40px)}
@media (min-width:1200px) {
.cms-wrapper { padding-right:30px; padding-left: 30px;max-width: 1280px; }
}
@media (min-width:1600px) {
.cms-wrapper { padding-right: 40px; padding-left: 40px; max-width: 1440px; }
}
@media (max-width:768px) {
.cms-wrapper { padding-right:0px; padding-left:0px;  }
}
.cms-wrapper-full { position: relative; margin-right: auto; margin-left: auto; width: 100%; padding-right: 0px; padding-left: 0px; max-width: calc((100% - 40px)/12*12 + 40px)}
@media (min-width:1002px) {
.cms-wrapper-full { padding-right: 10px; padding-left: 10px;   }
}
@media (min-width:768px) {
.cms-wrapper-full { padding-right: 10px; padding-left: 10px;   }
}
@media (min-width:1920px) {
.cms-wrapper-full{ padding-right: 40px; padding-left: 40px; }
}
 /*  banner area*/
.cms-main-banner { width:100%; height: auto; padding: 0; margin:-40px auto 0px auto; display: flex; flex-wrap: wrap;  flex-direction: row-reverse; z-index: 0; overflow: hidden;position: relative;    }
.cms-main-banner::before{ pointer-events: none;content: "";position: absolute; width:100%; height: 240px;bottom:-2px; left:0px; background: url("../images/index/mask.svg") no-repeat left top; background-size:cover; z-index:1;  }
.cms-main-banner-txt {display: flex; width: 35%; height: 100%; justify-content: center;align-self: center; align-items: center;  position: absolute; z-index: 999; }
.cms-main-banner-img{ display: flex; width: 100%;background-repeat: no-repeat;  background-position: center center;  background-size: cover; position: relative; z-index: 0;  }
.cms-main-banner-img::before{ pointer-events: none;content: "";position: absolute; width:100%; height: 100%;bottom: 0px; right:0px;  z-index:1; opacity: .5;  }
.cms-main-banner-img img  { width: 100%; height: 100%; -o-object-fit: cover;  object-fit: cover; -webkit-backface-visibility: hidden;  backface-visibility: hidden; transition: all 0.3s; position: relative; z-index: 0;}
.cms-main-banner-txt::before{ pointer-events: none;content: "";position: absolute; width:100%; height: 100%;top: 0px; right:0px; background: url("../images/index/bg-mask.svg") no-repeat left top; background-size: cover; z-index:1; opacity: .5;}
.text-content { display: flex; width: 100%; min-width:420px;  max-width: 100%;  padding:15px;  flex-wrap: wrap; flex-direction: column; transform: translateX(-10%); position: relative; z-index: 1;background:rgba(255,255,255,.75);  }
.cms-main-banner-txt h1 { width: 100%; font-weight: bold; font-size:1.75rem; margin-bottom: 10px; position: relative;}
#cms-main .cms-main-banner-txt p { /*flex: 0 0 100%;*/ font-size:1rem;  line-height: 1.5rem; position: relative;  min-height: 52px; /*overflow: hidden;*/ word-break: normal; word-wrap: break-word; /*text-overflow: ellipsis;*/  display: block;  -webkit-line-clamp:4;  -webkit-box-orient: vertical;} 
.cms-main-banner-img .slick-dots { bottom: 0px;}
@media (max-width:1024px) {
 .text-content { min-width:320px;  max-width: 100%;  padding:15px; transform: translateX(-20%);}
}
@media (max-width:1160px) {
.cms-main-banner { margin:0px auto; }
.cms-main-banner-img{  width: 100%;  position: relative; }
.cms-main-banner-txt { position: absolute; top:15%; }
.text-content { min-width:320px;  max-width: 100%;  padding:15px; transform: translateX(-45px);}
}
@media (max-width:820px) {
.cms-main-banner-img{  width: 100%;  position: relative; order: 1; }
.cms-main-banner-txt {width: 100%; position: relative; top:auto; order:2; }
.text-content { min-width:320px;  max-width: 100%;  padding:15px; transform: translateX(0px);}
.cms-main-banner-txt h1 { font-size:1.5rem; margin-bottom: 5px;  }   
#cms-main .cms-main-banner-txt p {  font-size:.9rem; margin-bottom: 0px; }  
}
@media (max-width:767.98px) {
.cms-main-banner::before{ display: none;  }
    
}
@media (min-width: 1100px) {
.cms-main-banner::before{ bottom:-1px; }    
.text-content { padding: 25px;   }  
.cms-main-banner-txt h1 {  font-size:2rem;  margin-bottom: 15px; }
.cms-main-banner-txt p {   font-size:1.125rem;  line-height: 1.35rem;  } 
}
@media (min-width: 1200px) {
.cms-main-banner::before{  bottom:-1px;}    
}
@media (min-width: 1440px) {
.cms-main-banner::before{ height: 260px;}    
}
@media (min-width: 1560px) {
.cms-main-banner::before{ height: 280px; }    
.text-content { padding: 30px;   }  
.cms-main-banner-txt h1 {  font-size:2.75rem;  margin-bottom: 20px; }
.cms-main-banner-txt p { font-size:1.125rem;  line-height: 1.5rem; } 
}

@media (min-width: 1760px) {
.cms-main-banner::before{  height: 300px; }    
}
@media (min-width: 1920px) {
.cms-main-banner::before{  height: 320px; }    
}
@media (min-width: 1960px) {
.cms-main-banner::before{  height: 360px; }    
}


.series-name{ font-size:1.125rem; font-weight: 700; color: #555; display: none;}
.series-name:before { content: "";  display: inline-block; vertical-align: middle;  width: 40px; height: 5px; background-color: #555;  margin: -2px 20px 0 0;}
@media (max-width:1024px) {
.series-name{font-size:0.9rem;}
.series-name:before {  height: 3px; background-color: #000;  margin: -2px 20px 0 0;}    
}

.cms-main-area{ width: 100%; padding: 0px; margin: 0px; flex: 1 1 100%; display: flex; flex-wrap: wrap; justify-content: center; position: relative;   }
.txt-blue{color: #016f89;}
.txt-second-blue{color: #007aff;}
.txt-three-blue{color: #42acdc;}
.txt-green{color: #afd9d3;}
.txt-red{color: #9e2b2f;}
 /*----------------------------------------/
cms-main-content
----------------------------------------*/
.cms-main-content{position: relative; width: 100%; margin: auto; padding:0px;background: #fff; }
.cms-decorate-end {width: 100%;  height: 100px;  position: absolute; z-index: 13; left: 0px;  }
  /*----------------------------------------/
  麵包屑 自訂顏色樣式
----------------------------------------*/
.cms-main-breads{ width: 100%; max-width: calc((100% - 40px)/12*12 + 40px); margin:0px auto auto auto; padding:0px;position: relative;z-index:9;  color:#000;  }
.cms-main-breads .breadcrumb{max-width: 1360px; padding:10px 20px 10px 160px;color:#878787;  margin: 0 auto; background:none; justify-content: flex-end;  }
#cms-main .cms-main-breads .breadcrumb li{ font-size:12px;  color:#000;  /*max-width: 200px;*/ overflow: hidden;  word-break: break-all; text-overflow: ellipsis;  display: -webkit-box;  -webkit-line-clamp: 1;  -webkit-box-orient: vertical; }
#cms-main .cms-main-breads .breadcrumb li a{ color:#888; ; }
#cms-main .cms-main-breads .breadcrumb li a:hover{ color:#d1322a;}

#cms-main .breadcrumb-item+.breadcrumb-item::before { content: " > "; margin-right: 5px;color:#888; ;  }
@media (min-width: 1600px) {
.cms-main-breads .breadcrumb{padding:10px 20px}
}
@media (max-width: 768px) {
.cms-main-breads{margin:0px auto; border-top: solid 1px rgba(255,255,255,.35);}
.cms-main-breads .breadcrumb{ padding:2px; justify-content: flex-start;  }

}
/* description =======================================================================	*/
#cms-main .cms-description{ width: 100%; max-width: 800px; display: flex; flex-wrap: wrap; align-items: center; flex-direction: column;  padding:0px 20px 20px 20px; margin:30px auto;}
#cms-main .cms-description h2{ width: 100%;  margin:0px 15px 15px 15px;  display: flex;  justify-content: flex-start; font-weight: 700;color:#411f20;}
#cms-main .cms-description h2::before{  content: ''; width: 50px;  height:2px; margin-top:25px; margin-right: 30px;  background:#333;  }
#cms-main .cms-description p{margin:0 !important;font-size:0.875rem; line-height: 1.65rem; color:#333;  }
@media (max-width: 767.98px) {
#cms-main .cms-description{ max-width:100%;} 
#cms-main .cms-description h2::before{ display: none; }
#cms-main .cms-description p{ max-width: 100%; font-size:0.8rem; }
}
.title-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 50px; }
.title-wrapper .title {  margin-right: 9vw; }
.title-wrapper .title  h1 {width:100%; margin:0px auto; padding:20px 0px 0px 0px; font-size:2.75rem;  color:#333; font-weight:700;  text-align: center; position: relative;  }

.title-wrapper .subtitle { -webkit-box-flex: 1;  -ms-flex-positive: 1; flex-grow: 1; border-bottom: 5px solid #333; color: #333; }
@media (max-width: 1023.98px) {
.title-wrapper { display: block; }
.title-wrapper .title { margin-right: initial;  margin-bottom: 16px; }
.title-wrapper .subtitle { border: none; }
}
.cms-title-block{ width: 100%; margin:0px auto 30px auto;  display: flex; flex-wrap: wrap; justify-content:center;  }
.cms-title-block h1 {width:100%; margin:0px auto; padding:20px 0px 0px 0px; font-size:2.25rem;  color:#000; font-weight:700;  text-align: center; position: relative;  }
.cms-title-block p {  color:#be892f;  }
@media (max-width: 1199.98px) {
.cms-title-block h1{  font-size: 1.5rem; }
}
@media (max-width: 767.98px) {
.cms-title-block {  margin: 15px auto; }  
.cms-title-block h1::before { width:88px; height: 63px; left: 10px;background-size:80% auto;   }
}  
/*----------------------------------------/
title樣式 cart
----------------------------------------*/
.cms-title-style{  margin-bottom:10px;position: relative;width: auto; display: block;  font-size: 2.7rem; color: #006f8a; font-weight: 400; }
.cms-title-style:after { content: ""; width: 16px;  height: 16px; display: block; position: absolute; right: -20px; bottom: 12px; background: url(../images/index/dot.svg) no-repeat right top;}
.cms-title-span{ margin:0px; font-size: 0.9rem; text-align: left; text-transform: uppercase; letter-spacing: 1px;  font-weight: 700;color:#666;}
/*cms-Title Styles 樣式
=================================*/
.cms-title { width: auto; height: auto; margin:0px;  padding:30px 0px;  display: flex;  align-items: flex-start; flex-wrap: wrap; flex-direction:column; }
.cms-title h1{  display: block; margin: 0 auto; font-size: 3rem; font-weight: 700; color:#d0312a; word-break: keep-all; word-wrap:normal;}
.cms-title h2{  display: block; margin: 0; font-size:2rem; font-weight: 700; color:#000;}
.cms-title h3{  width: auto;  margin:0px;  font-size: 2rem; color: #be892f;  font-weight: 500; text-shadow: 0px 0px rgba(255,255,255,1); }
.cms-title p{ margin:0px auto; text-align: center; font-weight: 700; color:#615f5e;}

.cms-title-2 { width:100%; height: auto; padding-bottom:20px; margin:0 auto 5% auto; display: flex; flex-wrap: wrap; flex-direction: column;   position: relative;  border-bottom: 1px solid #d1322a; }
.cms-title-2::after { content: ""; position: absolute; left: 50%; margin-left: -4.5px; bottom:-13px;  width: 26px; height:26px; background-color: #d1322a; border-radius:8px;   transform: rotate(45deg);}

#cms-main .cms-title-2 h2{ width: 100%;  margin:5px auto;  font-size:2.75rem; font-weight:900; text-align: center; color:#000;  }
#cms-main .cms-title-2 h3{ width: 100%;  margin:5px auto;  font-size:2.5rem; font-weight:700; text-align: center; color:#8b8b8b;  }
#cms-main .cms-title-2 p{ width: 100%;  margin:0px auto;  font-size:0.75rem; font-weight:400; text-align: center; color:#000;  }
.cms-title-style{  margin-bottom:10px;position: relative;width: auto; display: block;  font-size: 2.7rem; color: #006f8a; font-weight: 400; }
.cms-title-style:after { content: ""; width: 16px;  height: 16px; display: block; position: absolute; right: -20px; bottom: 12px; background: url(../images/index/dot.svg) no-repeat right top;} 
@media (max-width: 1024px) {
.cms-title h2,#cms-main .cms-title-2 h2{font-size: 2.5rem;  }    
}
@media (max-width:768px) {
.cms-title {  margin:20px 0px;  }
.cms-title h2,#cms-main .cms-title-2 h2{font-size: 2rem;  }    
 .cms-title h3,#cms-main .cms-title-2 h3{font-size:1.75rem;  }    
   
}
.cms-title-3 { width:100%; height: auto; margin:0 auto 2% auto;  padding-top: 0px;  padding-bottom: 0; position: relative; display: flex; justify-content: flex-start; align-items: flex-start;  flex-wrap: wrap; flex-direction:column; background: none; z-index: 0;  }
#cms-main .cms-title-3 h2{ margin:0;padding:0px; width: 100%;  font-size:2.75rem; text-align: left; color:#333!important; font-weight:700;   position: relative; z-index: 1;   }
#cms-main .cms-title-3 h3{ margin-bottom:20px ; font-weight: 700; font-size: 2.25rem; position: relative;  z-index: 1;  }
#cms-main .cms-title-3 p{ margin:0px; font-size:1rem; font-weight: 700!important;color:#6c7280; position: relative;  z-index: 1; }

@media (max-width: 768px) {
#cms-main .cms-title-3 h2{ font-size:1.75rem; }
#cms-main .cms-title-3 h3{ margin-bottom:10px; font-size:1.75rem; }    
    
}

.cms-title-4 { width: 100%; display: flex; flex-wrap: wrap; position: relative; justify-content: center; flex-direction: column; }
#cms-main .cms-title-4 h2{ margin:15px 15px 0 15px; text-align: center; font-size:2.75rem; font-weight: 700;color: #000; }
#cms-main .cms-title-4 h3{ margin:15px 15px 15px 15px;font-size: 2.25rem;  font-weight: 700;color: #000;  }
.cms-title-4 span {margin-top: 10px; font-size: .875rem; color: #b4a174;  text-align: left; display: flex;font-weight: 400; }
.cms-title-4 { width:100%; margin: 30px auto; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content:center;  -ms-flex-pack: center; justify-content: center;  -webkit-align-items: center;  -ms-flex-align: center;  align-items: center; flex-wrap: wrap;}
.cms-title-4::before { display: block; content: ''; width: 2px; height:80px; top:-68px; background:#000; position: absolute; z-index:0; }
@media (max-width: 1199.98px) {
.cms-title-4 h2,.cms-title-4 h1{  font-size: 1.5rem; }
}
@media (max-width: 767.98px) {
.cms-title-4 {  margin: 15px auto; }  
.cms-title-4::before {   top:-70px;   }
#cms-main .cms-title-4 h2{ margin:55px 15px 0 15px; }
}
/*.cms-title-5 { width:100%; height: auto; margin:30px auto 2% auto;  padding: 0px; display: flex;   flex-wrap: wrap; flex-direction:column; background: none;  position: relative; z-index: 1;}
.cms-title-5 h2{ margin:0 auto; padding: 20px 0px 20px 0px; width: 100%;  font-size:2rem; font-weight: 400;  color:#333;  position: relative; z-index: 1;   }
#cms-main .cms-title-5 h2::before {content: ""; position: absolute; z-index: 0; left: -20px;  top:40px;  width: 18px; height: 3px; background:#000;}
#cms-main .cms-title-5 h3::before {content: ""; position: absolute; z-index: 0; left: -20px;  top:25px;  width: 18px; height: 3px; background:#000;}
#cms-main .cms-title-5 p{ margin:0px; font-size:1rem; font-weight: 400;color:#575a61;  }
@media (max-width: 767.98px) {
.cms-title-2 h5{  font-size: 1.875rem;  }  
}*/
.cms-title-6 { width: 100%; position: relative; z-index: 1; display: flex; flex-flow: wrap; justify-content: flex-start;}
.cms-title-6::before {content: ''; background: #000; width: 100%; height: 1px; position: absolute; top: 50%; left: 0; z-index: -10;}
#cms-main .cms-title-6 h3{ font-size: 2.25rem; font-weight: 700;color: #000; background: #fff; padding: 0 30px;}
.cms-btn-btnbox{ display: flex; justify-content: center; align-content: center; margin-top: 5rem; }
.cms-txt-stork { -webkit-text-stroke: 1px #333;  -webkit-text-fill-color: transparent;}
.cms-txt-stork-2 { -webkit-text-stroke: 1px #d6d6d9;  -webkit-text-fill-color: transparent; }

.text-fill-color {  background-image: linear-gradient( 145deg, #d0312a 0%, #8d0600 50%, #d0312a 80%);  -webkit-background-clip: text;  -webkit-text-fill-color: transparent;}
/*----------------------------------------/
分頁 自訂顏色樣式
----------------------------------------*/
#cms-main-pages .cms-pagination{ margin:10px auto;  display: flex; justify-content: center;  }
.cms-pagination .page-link { color:#31315e; background-color:#fff; border: 1px solid #e3ded2;}
.cms-pagination .page-link:hover { color: #fff; background-color:#dcdddd; border-color:#dcdddd;}
.cms-pagination .page-link:focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);}
.cms-pagination .page-item:first-child .page-link { }
.cms-pagination .page-item:last-child .page-link { }
.cms-pagination .page-item.active .page-link { color: #fff!important;  background-color:#333; border-color:#333;}
.cms-pagination .page-item.disabled .page-link { color: #6c757d;  background-color: #fff; border-color:#e3ded2;}

/*----------------------------------------/
btn 自訂顏色樣式
----------------------------------------*/
#cms-main .btn { width: 100%;margin: 0px 5px;  padding: 10px 0.75rem ; font-size: .95rem; line-height: 1.5; border-radius:0px;   }
#cms-main .btn-secondary{  font-size: .95rem;color:#fff;line-height: 1.5;   }
@media (max-width: 767.98px) {
#cms-main .btn { padding: 0.375rem 0.7rem; font-size: .875rem;    }
#cms-main .btn-secondary{ font-size: .875rem;  }     
}   
 .cms-btn-pill { border-radius: 6.1875rem; }
 .cms-btn-outline-primary{text-align: center; color: #333;  font-weight:400;  border-color:none;  }
 .cms-btn-outline-primary:hover { color:#71869d; background-color:#e2e2e2; border-color:#e2e2e2;}
 #cms-main .cms-btn-secondary { color:#fff; font-weight: 400;  background-color:#d0312a; border:none;  }
 #cms-main .cms-btn-secondary i{font-size: 1.1rem;  width: 18px; height: 18px; display: inline-block;  }

#cms-main .btn.cms-btn-secondary:hover { color: #fff; background-color: #000;; border-color:#000;; }
#cms-main .btn.cms-btn-buynow { color:#fff; font-weight: 400;  background-color:#000; border-color:#000;  }
#cms-main .btn.cms-btn-buynow:hover { color: #000; background-color: #fff;; border-color:#000;; }
a.cms-btn-prev {color:#000; font-weight: 700; text-align: center;  background: url(../images/icon/arrow-left-b.svg) no-repeat -10px top; transition: all .6s ease;}
a.cms-btn-prev:hover  {  transform: translateX(-10px); background-position:110% top; }

a.cms-btn-next {color:#000; font-weight: 700;  text-align: center;   background: url(../images/icon/arrow-right-b.svg) no-repeat 100% top;transition: all .6s ease;}
a.cms-btn-next:hover  {  transform: translateX(10px) ; background-position:-20px top; }




.cms-btn-prev:hover,.cms-btn-next:hover  { color: #d0312a;   }
a.cms-btn-prev:hover,a.cms-btn-next:hover  { color: #d0312a!important;  }
@media (max-width: 991.98px) {
.cms-btn-prev,.cms-btn-next { background-size:16px; }  
}
.cms-btn-submit{  font-weight: 400;  background-image: linear-gradient(to right, #333 10%, #000 100%);border: solid 1px #333;  color: #fff!important; vertical-align: text-bottom; }
.cms-btn-submit:hover { color: #fff;  background:#232323;   box-shadow: 0px 3px 10px rgba(148,0,11,.5); }
 
/* Sweep To Top */
.hvr-sweep-to-top { display: inline-block; vertical-align: middle; -webkit-transform: perspective(1px) translateZ(0); transform: perspective(1px) translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); position: relative; -webkit-transition-property: color; transition-property: color; -webkit-transition-duration: 0.3s; transition-duration: 0.3s;}
.hvr-sweep-to-top:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; background: #000; -webkit-transform: scaleY(0); transform: scaleY(0); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transition-property: transform; transition-property: transform; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out;}
.hvr-sweep-to-top:hover, .hvr-sweep-to-top:focus, .hvr-sweep-to-top:active { color: white;}
.hvr-sweep-to-top:hover:before, .hvr-sweep-to-top:focus:before, .hvr-sweep-to-top:active:before { -webkit-transform: scaleY(1); transform: scaleY(1);}


/* Bounce To Right */
.hvr-bounce-to-right { display: inline-block; vertical-align: middle; -webkit-transform: perspective(1px) translateZ(0); transform: perspective(1px) translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0);  position: relative;  -webkit-transition-property: color;  transition-property: color;  -webkit-transition-duration: 0.5s; transition-duration: 0.5s;}
.hvr-bounce-to-right:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; background: #d0312a; -webkit-transform: scaleX(0); transform: scaleX(0); -webkit-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transition-property: transform; transition-property: transform;-webkit-transition-duration: 0.5s; transition-duration: 0.5s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out;}
.hvr-bounce-to-right:hover, .hvr-bounce-to-right:focus, .hvr-bounce-to-right:active { color: white;}
.hvr-bounce-to-right:hover:before, .hvr-bounce-to-right:focus:before, .hvr-bounce-to-right:active:before { -webkit-transform: scaleX(1); transform: scaleX(1); -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66); transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);}

/* Underline From Left */
.hvr-underline-from-left {  display: inline-block; vertical-align: middle;  -webkit-transform: perspective(1px) translateZ(0); transform: perspective(1px) translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); position: relative; overflow: hidden;}
.hvr-underline-from-left:hover {color: #d0312a;}
.hvr-underline-from-left:before { content: ""; position: absolute; z-index: -1; left: 0; right: 100%; bottom: 0; background:#d0312a; height: 4px; -webkit-transition-property: right; transition-property: right; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out;}
.hvr-underline-from-left:hover:before, .hvr-underline-from-left:focus:before, .hvr-underline-from-left:active:before { right: 0;}


 /*---------------*/
/***** btn *****/
/*---------------*/
.icon-next{background: url("../images/icon/arrow-right.svg") no-repeat left 2px;  background-size: auto;}
.icon-talk{background: url("../images/icon/talk.svg"); }
.icon-list{  width:36px; height: 36px; padding: 0px;  margin: auto; background: url("../images/icon/icon-nav.svg"); }
.icon-download{background: url("../images/icon/icon-download.svg") no-repeat; }


.cms-btn { width: auto; padding: 20px 40px; font-weight: 700; text-decoration: none; display: -webkit-box;  display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; cursor: pointer;  border-radius:0px;  overflow: hidden;position: relative;  }
.cms-btn:before { content: ""; position: absolute; top: 0; left: -100%; width: 100%;  height: 100%; background: linear-gradient( 120deg, transparent, rgba(255, 255, 255, 0.6), transparent); transition: all 650ms;}
.cms-btn:hover:before {left: 100%;}
.cms-btn i { margin-left: 10px; width:36px; height: 36px; transform: scale(0.9);-webkit-transition: -webkit-transform .2s;  transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.cms-btn:hover i{ transform: scale(1)}
 
   
/*---------------*/
/***** btn *****/
/*---------------*/
a.cms-btn { color:#fff;   }
 a.cms-btn:hover {  color: #fff;  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.4);}
.cms-btn:before { content: ""; position: absolute; top: 0; left: -100%; width: 100%;  height: 100%; background: linear-gradient( 120deg, transparent, rgba(255, 255, 255, 0.6), transparent); transition: all 650ms;}
.cms-btn:hover:before {left: 100%;}
a.cms-btn i {   margin-left: 10px; width:30px; height: 20px; -webkit-transition: -webkit-transform .2s;  transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.cms-btn:hover i{ -webkit-transform: translateX(15px); transform: translateX(15px)}

@media (max-width: 768px) {
.cms-btn i { width:18px; height: 18px;  }
.cms-btn {padding: 15px;}
}

/*cms-btn-more =================================*/ 
.pdt_more { display: flex; flex-wrap: wrap; align-items: center;}
.custom-btn-1{  padding: 10px 40px; font-weight: 700; position: relative; cursor: pointer; background-color:#d1322a; border-radius:30px;  background-size: 20px auto;  -webkit-transition: -webkit-transform .2s;  transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s  }
.custom-btn-1:hover{background:#000; }
@media (max-width: 767.98px) {
a.cms-btn { color:#fff;   }
.custom-btn-white{ background-color: transparent}
}

/*cms-btn-white =================================*/ 
.custom-btn-white{ border: solid 1px #fff;   }
a.cms-btn.custom-btn-white{ color:#fff;  }
.custom-btn-white .icon-next{background: url("../images/icon/arrow-right-b.svg") no-repeat left 0px;  background-size:100% auto;}














 
/*cms-btn Styles 2===*/
#cms-main a.cms-btn-02{ color: #016f89!important; font-size:1rem; font-weight:600; height: auto; overflow: hidden; padding:10px; background:#f3f3f3; border: none; cursor: pointer;  letter-spacing: 0.1rem;  box-shadow: inset 0 0 0 1px #eaeff3;-webkit-transition: color 0.25s 0.0833333333s; transition: color 0.25s 0.0833333333s;  position: relative;}
.cms-btn-02::before, .cms-btn-02::after {border: 0 solid transparent; box-sizing: border-box; content: ''; pointer-events: none; position: absolute; width: 0; height: 0; bottom: 0; right: 0;}
.cms-btn-02::before{border-bottom-width: 2px; border-left-width: 2px;}
.cms-btn-02::after{border-top-width: 2px; border-right-width: 2px;}
#cms-main a.cms-btn-02:hover{color:#016f89; background:#afd9d3; }
.cms-btn-02:hover::before, .cms-btn-02:hover::after{border-color: #80c2c6; -webkit-transition: border-color 0s, width 0.25s, height 0.25s; transition: border-color 0s, width 0.25s, height 0.25s; width: 100%; height: 100%;}
.cms-btn-02:hover::before{-webkit-transition-delay: 0s, 0s, 0.25s; transition-delay: 0s, 0s, 0.25s;}
.cms-btn-02:hover::after{-webkit-transition-delay: 0s, 0.25s, 0s; transition-delay: 0s, 0.25s, 0s;}
.cms-btn-02:focus{outline: 1px inset #fff;}

@media (max-width: 991.98px) {
#cms-main a.cms-btn-02{max-width: 100%;font-size:0.9rem;}
}
.btn-more { opacity: 1; transform: none; margin: 15px 0px;}
.btn-more a{color: #000; font-weight: 700;  font-size: 1.125rem;  display: flex; align-items: center; }
.btn-more a:hover{opacity: .5;}
.arrow { position: relative; display: inline-block; margin-left: 10px; /*transform: rotate(90deg);*/  border: 2px solid #000; width: 34px; height: 34px;  border-radius: 50%; transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1)}

 
 
@media (min-width: 740px) {
.arrow { width: 38px;height: 38px; }
}
@media (min-width: 1380px) {
.arrow {width: 40px; height: 40px;}
}
@media (min-width: 1700px) {
 .arrow { width: 44px;height: 44px;}
}
.arrow::before, .arrow::after {width: 26px;height: 26px;content: "";display: inline-block; vertical-align: middle;background: url("../images/icon/arrow-down.svg") center no-repeat;background-size: auto 50%;  position: absolute; left: 50%; top: 50%;opacity: .5; transform: translate(-50%, -50%);}
 .arrow:after {opacity: 0}
a:hover .arrow:before,a:active .arrow:before {animation: arrow .6s linear infinite both}
a:hover .arrow:after,a:active .arrow:after{ animation: arrow2 .6s linear infinite both}
@keyframes arrow {
0% { transform: translate(-50%, -90%) }
100% { transform: translate(-50%, -50%); opacity: 0 }
}
@keyframes arrow2 {
0% { transform: translate(-50%, -50%); opacity: 0 }
100% { transform: translate(-50%, -10%); opacity: 1 }
}






a.cms-btn-back { width:auto; color:#d0312a!important; padding: 10px; font-weight: 700;border: solid 1px #d0312a;   display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content:center;  -ms-flex-pack: center; justify-content: center;  -webkit-align-items: center;  -ms-flex-align: center;  align-items: center;  }
.cms-btn-back:before,.cms-btn-back::after{  content: ''; width: 30px; height:1px; background:#d0312a;-moz-transition: ease 0.3s; -o-transition: ease 0.3s; -webkit-transition: ease 0.3s;  transition: ease 0.3s;  }
.cms-btn-back:before { margin-right: 20px; margin-left: 5px;}
.cms-btn-back:after { margin-left: 20px; margin-right: 5px;}
a.cms-btn-back:hover {color:#000!important; border: solid 1px #000;}
.cms-btn-back:hover:before{ background:#000; -moz-transform: translateX(20%); -ms-transform: translateX(20%); -webkit-transform: translateX(20%); transform: translateX(20%);  }
.cms-btn-back:hover:after{ background:#000;-moz-transform: translateX(-20%); -ms-transform: translateX(-20%); -webkit-transform: translateX(-20%); transform: translateX(-20%);  }
@media (max-width: 767.98px) {
.cms-btn-back  { font-size:.875rem; padding:5px  10px;}  
.cms-btn-back:before,.cms-btn-back::after{ display: none; }
 }
 .cms-btn-play {  width: 116px; height: 116px;  z-index: 9999; position: absolute;  margin: auto; display: flex;  align-items: center;  justify-content: center;}
.cms-btn-play:before { content: '';  position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%);  width:60px; height:60px; background: url("../images/icon/play-btn.svg") no-repeat; background-size: contain;}
.cms-btn-play:hover .rotate2 {  -webkit-animation: rotate 1s linear infinite;animation: rotate 1s linear infinite;}
.cms-btn-play .rotate1,.cms-btn-play .rotate2 { -webkit-transform: translate(5px, 5px); -ms-transform: translate(5px, 5px);transform: translate(5px, 5px);}
.cms-btn-play .rotate2 { stroke-dashoffset: 110; stroke-dasharray: 360; -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(-90deg) translate(5px, 5px); -ms-transform: rotate(-90deg) translate(5px, 5px); transform: rotate(-90deg) translate(5px, 5px);}
.cms-btn-play-bg{width: 116px; height: 116px;}
.cms-btn-play .bg {  opacity: .85;}

@-webkit-keyframes rotate {
  0% {  -webkit-transform: rotate(-90deg) translate(5px, 5px); transform: rotate(-90deg) translate(5px, 5px);}
  100% { -webkit-transform: rotate(270deg) translate(5px, 5px);transform: rotate(270deg) translate(5px, 5px);}
}

@keyframes rotate {
  0% { -webkit-transform: rotate(-90deg) translate(5px, 5px);transform: rotate(-90deg) translate(5px, 5px); }
  100% { -webkit-transform: rotate(270deg) translate(5px, 5px);transform: rotate(270deg) translate(5px, 5px);}
 }
a.text-button { color:#d1322a;}
.text-button { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.125rem; cursor: pointer; display: inline-block; color: currentColor; padding-left: 2.1875rem; position: relative; transition: padding 0.3s ease}
.text-button::before { content: ''; display: inline-block; position: absolute; left: 0; top: 50%; width: 1.5625rem; height: 0.0625rem; background: currentColor; vertical-align: middle; margin-right: 0.625rem; transition: padding 0.3s ease}
a.text-button:hover{color:#d1322a;} 

@media (hover: hover) {
.text-button:hover { color: currentColor; padding-left: 2.8125rem  }
.text-button:hover:before { width: 2.1875rem; color: currentColor  }
}
.cms-btn-m{ width: 100%; max-width:180px;  }
 /*cms-btn-more =================================*/ 
.cms-next-button {  width: auto;   height: 35px; padding: 20px 2px 20px 15px; position: relative; display: -webkit-box;  display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; cursor: pointer;  border-radius:30px;  background-image: linear-gradient(120deg, #22559e 0%, #6fcccb 55%);  }
@media (max-width:767px) {
.cms-next-button { width: auto; height: 24px }
}
 /*cms-next-button =================================*/ 
.cms-next-button:hover .cms-next-button-circle, .cms-next-button:hover i { -webkit-transform: scale(1.2); transform: scale(1.2)}
.cms-next-button:hover .cms-next-button-txt, .cms-next-button:hover i { -webkit-transform: translateX(5px); transform: translateX(5px)}
.cms-next-button:hover{background:#d0312a; }
 /*cms-next-button-circle =================================*/ 
.cms-next-button-circle { width: 30px; height: 30px;  position: relative; display: block; margin-left: 20px; border:2px solid #fff;  border-radius: 50%;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
@media (max-width:767px) {
.cms-next-button-circle { width: 24px; height: 24px; margin-right: 15px}
}

.cms-next-button i { font-size: 1.875rem; color: #fff;  position: absolute; top: 0; bottom: 0; left: auto; margin: 5px auto auto 100px;   -webkit-transition: -webkit-transform .2s;  transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
.cms-next-button i.icon-check { font-size: 1.35rem; margin: 10px auto auto 86px;  }
.cms-next-button-txt { font-size: 16px; font-weight: 400; line-height: 1.5;  color: #fff;  -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; transition: transform .2s, -webkit-transform .2s}
@media (max-width:767px) {
.cms-next-button-txt { font-size: 14px; line-height: normal; letter-spacing: normal }
}
@media (max-width:768px) {
a.btn-view{ font-size: 0.875rem;}
}
/*----------------------------------------/
  ul style 自訂樣式
----------------------------------------*/
.cms-dot{ width: 100%;  display: block; margin:20px 0px;padding: 0px; }
.cms-dot li{ width: 100%; display: block; padding: 2px 0px 2px 15px; margin: 0px; font-size:1rem; line-height:1.35rem; font-weight:400; color: #888; background: url(../images/icon/dot.svg)  no-repeat left 8px; background-size:4px;}
.cms-arrow{ width: 100%; display: block; margin: 1.5% auto; }
.cms-arrow li{ width: 100%; display: block; padding:1px 0 10px 15px; font-size:15px; line-height:1.4em; font-weight:400; background: url(../images/icon/arrow-right.svg) no-repeat left 8px; background-size:8px;}
.cms-decimal { list-style-position: outside; list-style-type: decimal; padding-left: 15px;}
.cms-decimal li{margin-bottom: 10px; font-size:15px; line-height:1.5em; font-weight:400;  }
.cms-tag{ padding: 5px 10px;  display: inline-block; width: auto; max-width: 100px; margin:  5px;font-size:15px; line-height:1.5em; font-weight:400; text-align: center;  border: solid 1px #eee; background: #eee;}
/*----------------------------------------/
 leftMenu start 樣式
---------------------------------------- 
@media only screen and (min-width:993px){
.leftMenuMobile {display: none;}
}
.leftMenu { width: 300px;  padding: 0 20px 0 0;}
.leftMenu ul, .leftMenu ul li {list-style-type:none; margin: 0; padding: 0;}
.leftMenu ul {width: 100%;}
.leftMenu > ul ul {display: none;}
.leftMenu ul li {position: relative; z-index: 1; line-height: 20px; border-bottom: 1px solid #eee;}
.leftMenu ul li:last-child {border-bottom: 0;}
.menu_dot {position: absolute; top: 6px; right: 0px; z-index: 99; width: 30px; height: 30px; cursor: pointer;}
.menu_dot::before {content: ''; width: 16px; height: 2px; background-color: #000; border-radius: 2px; position: absolute; top: 12px; left: 7px; z-index: 99; transition: all 0.5s ease 0s;}
.menu_dot::after {content: ''; width: 2px; height:16px; background-color: #000; border-radius: 2px; position: absolute; top: 5px; left: 14px; z-index: 99; transition: all 0.5s ease 0s;}
.leftMenu .menu_dot_open{top:6px;    }
.leftMenu .menu_dot_open::before {background-color: #fff;}
.leftMenu .menu_dot_open::after { display: none;}
.leftMenu a:link, .leftMenu a:visited {text-decoration:none; color:#222; background-color: transparent; padding: 10px 30px; display: block; position: relative; z-index: 1; transition: all 0.5s ease 0s;}
.leftMenu a:active, .leftMenu a:hover {text-decoration:none; color:#fff; background-color:#016F8A; cursor:pointer; transition: all 0.5s ease 0s;}
.leftMenu ul li ul li a{color:#fff!important; }
.leftMenu ul li a.menu_arrow_open{background-color:#016F8A; color: #fff;}
.menu_arrow {position: absolute; top: 10px; left: 5px; width: 20px; height: 20px; -moz-transform:rotate(0deg); -webkit-transform:rotate(0deg); -o-transform:rotate(0deg); -ms-transform:rotate(0deg); transform:rotate(0deg); transition: all 0.5s ease 0s;}
.menu_arrow::before {content: ''; width: 7px; height: 2px; background-color: #000; border-radius: 2px; position: absolute; top: 7px; left: 6px; -moz-transform:rotate(45deg); -webkit-transform:rotate(45deg); -o-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg); transition: all 0.5s ease 0s;}
.leftMenu a:hover .menu_arrow::before {background-color: #fff; transition: all 0.5s ease 0s;}
.menu_arrow::after {content: ''; width: 7px; height: 2px; background-color: #000; border-radius: 2px; position: absolute; top: 11px; left: 6px; -moz-transform:rotate(-45deg); -webkit-transform:rotate(-45deg); -o-transform:rotate(-45deg); -ms-transform:rotate(-45deg); transform:rotate(-45deg); transition: all 0.5s ease 0s;}
.leftMenu a:hover .menu_arrow::after {background-color: #fff; transition: all 0.5s ease 0s;}
.menu_arrow_open .menu_arrow {-moz-transform:rotate(90deg); -webkit-transform:rotate(90deg); -o-transform:rotate(90deg); -ms-transform:rotate(90deg); transform:rotate(90deg); transition: all 0.5s ease 0s;}
@media only screen and (max-width:992px){
.leftMenuMobile {width: 30px; height: 30px; margin: 40px auto 10px auto; position: relative; cursor: pointer;}
.leftMenuMobile > span:nth-child(1) {width: 30px; height: 2px; background-color: #000; position: absolute; top: 10px; left: 0; transition: all 0.5s ease 0s;}
.leftMenu > div.show > span:nth-child(1) {top: 14px; transform: rotate(45deg);}
.leftMenuMobile > span:nth-child(2) {width: 30px; height: 2px; background-color: #000; position: absolute; top: 20px; left: 0; transition: all 0.5s ease 0s;}
.leftMenu > div.show > span:nth-child(2) {top: 14px; transform: rotate(-45deg);}
.leftMenuMobile::before {content: attr(data-title); width: 200px; height: 30px; line-height: 30px; position: absolute; top: -30px; left: calc(50% - 100px); text-align: center; font-size: 12px; color: #000;}
.leftMenu > ul {max-height: 0; overflow: hidden; transition: all 0.5s ease 0s;}
.leftMenu > ul.open {max-height: 500px; overflow: auto; padding-bottom: 10px; transition: all 1.5s ease 0s;}
}

 /*----------------------------------------/
 aside cssmenu樣式
----------------------------------------*/
#menu-line{position:relative;top:0px; left:0px; right: 0px; margin-left: 2px; width: auto;height:2px;background:#1f1f1f;-webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}

.cssmenu{width:100%;margin:2% auto 20px auto;padding:0; list-style:none; display:block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:1;}
.cssmenu #menu-button{margin:0px;padding:0;border:0;list-style:none; display:block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:9999;background-color:#fff;  }
.cssmenu #menu-button{display:none;}
.cssmenu ul,.cssmenu ul li,.cssmenu ul li a{margin:0;padding:0; list-style:none; display:block;  -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
.cssmenu:after, .cssmenu > ul:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0;}
.cssmenu > ul > li{float:left;  width: auto; position: relative;z-index: 1; margin:0px 2px 6px 2px;  border: 1px solid rgba(246,242,240,1); background:rgba(246,242,240,1); -webkit-transition: all 0.3s; transition: all 0.3s;   }
.cssmenu.align-center > ul{font-size:0;text-align:center;}
.cssmenu.align-center > ul > li{display:inline-block;float:none;}
.cssmenu.align-center ul ul{text-align:left;}
.cssmenu.align-right > ul > li{float:right;}
.cssmenu.align-right ul ul{text-align:right;}
.cssmenu > ul{ position: relative; z-index: 0; }

.cssmenu > ul > li > a{font-size:1rem;font-weight:500; text-align:center;text-decoration:none; color:#1e1e1e;-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-ms-transition:color .2s ease;-o-transition:color .2s ease;transition:color .2s ease;}
.cssmenu > ul > li:hover,.cssmenu > ul > li:hover > a,.cssmenu > ul > li.active{ border-color:#d0312a;background:#d0312a;}  
.cssmenu > ul > li.active > a{color:#fff;  }  
.cssmenu > ul > li:hover > a {color:#fff; background:#d0312a; }  
.cssmenu > ul > li.has-sub > a{  padding:5px 10px !important; }
/*
.cssmenu > ul > li.has-sub > a::after{position:absolute;top:21px;right:10px;width:4px;height:4px;border-bottom:1px solid #000000;border-right:1px solid #000000;content:"";-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:border-color 0.2s ease;-moz-transition:border-color 0.2s ease;-ms-transition:border-color 0.2s ease;-o-transition:border-color 0.2s ease;transition:border-color 0.2s ease;} */
.cssmenu > ul > li.has-sub:hover > a::after{border-color:#f6f2f0;}
.cssmenu ul ul{position:absolute; z-index:9999;  left:-9999px;  background:#f1f1f1; -webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}
.cssmenu li:hover > ul{left:auto;  z-index:9999; }
.cssmenu.align-right li:hover > ul{right:0;}
.cssmenu.align-right ul ul ul{margin-left:0;margin-right:100%;}
.cssmenu ul ul li{  -webkit-transition:height .2s ease;-moz-transition:height .2s ease;-ms-transition:height .2s ease;-o-transition:height .2s ease;transition:height .2s ease;}
.cssmenu ul ul ul{margin-left:100%;top:0; background:#e3edef!important; -webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}
.cssmenu ul li:hover > ul > li{ /* height: 40px; */ }
.cssmenu ul ul li a{ padding:15px 20px;  width:200px; font-size:1rem; font-weight: 700; line-height:1.5rem;text-align:left;text-decoration:none;color:#000;  -webkit-transition:color .2s ease;-moz-transition:color .2s ease;-ms-transition:color .2s ease;-o-transition:color .2s ease;transition:color .2s ease;}
.cssmenu ul ul li:hover > a,.cssmenu ul ul li a:hover{color:#d0312a; background: #000;}
.cssmenu ul ul li.has-sub > a::after{position:absolute;top:25px;right:10px;width:4px;height:4px;border-bottom:1px solid #000;border-right:1px solid #000;content:"";-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:border-color 0.2s ease;-moz-transition:border-color 0.2s ease;-ms-transition:border-color 0.2s ease;-o-transition:border-color 0.2s ease;transition:border-color 0.2s ease;}
.cssmenu ul ul li.has-sub:hover > a::after{border-color:#d0312a;}
 @media (max-width:768px) {
.cssmenu{width:100%;margin-top:0px !important; position: relative; z-index:999;}
.cssmenu ul{width:100%; margin: auto; display:none; background:#ededed; }
.cssmenu ul ul{ }
.cssmenu ul ul ul{ background:#e7eaeb!important;  }   
.cssmenu.align-center > ul,.cssmenu.align-right ul ul{text-align:left;}
.cssmenu ul li,.cssmenu ul ul li,.cssmenu ul li:hover > ul > li{width:100%;height:auto;margin: 0px; border-top:1px solid rgba(120, 120, 120, 0.15);}
.cssmenu > ul > li{border: none; border-bottom: solid 1px #ddd; box-shadow: none;}
.cssmenu ul li a,.cssmenu ul ul li a{width:100%; }
.cssmenu > ul > li,.cssmenu.align-center > ul > li,.cssmenu.align-right > ul > li{float:none;display:block;}
.cssmenu ul ul li a{padding:10px 15px;font-size:12px;color:#000000;background:none;text-align:center;}
.cssmenu ul ul li:hover > a,.cssmenu ul ul li a:hover{color:#000000;}
.cssmenu ul ul ul li a{padding-left:40px;}
.cssmenu ul ul,.cssmenu ul ul ul{position:relative;left:0;right:auto;width:100%;margin:0; padding-bottom: 0px;}
.cssmenu > ul > li.has-sub > a::after,.cssmenu ul ul li.has-sub > a::after{display:none;}
#menu-line{display:none;}
.cssmenu #menu-button{display:block; padding:10px 20px; color:#d0312a;cursor:pointer;font-size:1rem;font-weight: 700;text-align: center;  text-transform:uppercase; border-bottom:solid 1px rgba(208,49,42,1);background-color:#f6f2f0;-webkit-border-radius:0px;-moz-border-radius:0px;border-radius:0px;}
.cssmenu #menu-button::after { display: block; content: ""; position: absolute; left:42%; top: 10px;width: 28px; height: 28px;  background: url("../images/icon/icon-nav.svg") no-repeat left top;  }
.cssmenu .submenu-button{position:absolute;z-index:10;right:0;top:0;display:block;border-left:1px solid rgba(120, 120, 120, 0.15);height:46px;width:46px;cursor:pointer;}
.cssmenu .submenu-button::after{content:'';position:absolute;top:17px;left:23px;display:block;width:1px;height:11px;background:#be892f;z-index:99;}
.cssmenu .submenu-button::before{content:'';position:absolute;left:18px;top:22px;display:block;width:11px;height:1px;background:#be892f;z-index:99;}
.cssmenu .submenu-button.submenu-opened:after{display:none;}
.cssmenu ul li span.submenu-button.submenu-opened::after{display:none;}
.cssmenu ul li  ul li span.submenu-button{display:none;}
 
}
 @media (max-width:767px) {
.cssmenu #menu-button::after { left:5%; top: 8px;width: 24px; height: 24px;   }     
}
.squares { width: 100%;height: 100%; position: absolute; z-index: 99; left:0px; top:0px; display: flex; justify-content: space-around; overflow: hidden; opacity: .5;}
.square {
  -webkit-animation: squares 6.5s linear infinite;
          animation: squares 6.5s linear infinite;
  align-self: flex-end;
  width: 1em;
  height: 1em; border-radius:50rem; 
  transform: translateY(100%);
  background: #ebebeb;
}
.square:nth-child(2) {
  height: 1.5em;
  width: 1.5em;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 17s;
          animation-duration: 17s;
  -webkit-filter: blur(5px);
}
.square:nth-child(3) {
  height: 1em;
  width: 1em;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-filter: blur();
}
.square:nth-child(4) {
  height: 0.5em;
  width: 0.5em;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-filter: blur(3px);
  -webkit-animation-duration: 13s;
          animation-duration: 13s;
}
.square:nth-child(5) {
  height: 1.25em;
  width: 1.25em;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
  -webkit-filter: blur(2px);
  -webkit-animation-duration: 11s;
          animation-duration: 11s;
}
.square:nth-child(6) {
  height: 1.5em;
  width: 1.5em;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-filter: blur(1px);
  -webkit-animation-duration: 9s;
          animation-duration: 9s;
}
.square:nth-child(7) {
  height: 2em;
  width: 2em;
  -webkit-filter: blur(2.5px);
  -webkit-animation-duration: 12s;
          animation-duration: 12s;
}
.square:nth-child(8) {
  height: 3em;
  width: 3em;
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
  -webkit-filter: blur(6px);
  -webkit-animation-duration: 18s;
          animation-duration: 18s;
}
.square:nth-child(9) {
  height: 2em;
  width: 2em;
  -webkit-filter: blur(0.5px);
  -webkit-animation-duration: 9s;
          animation-duration: 9s;
}
 

@-webkit-keyframes squares {
  from {
    transform: translateY(100%) rotate(-50deg);
  }
  to {
    transform: translateY(calc(-100vh + -100%)) rotate(20deg);
  }
}

@keyframes squares {
  from {
    transform: translateY(100%) rotate(-50deg);
  }
  to {
    transform: translateY(calc(-100vh + -100%)) rotate(20deg);
  }
}

.app-areas {
    position: relative;
    height: 420px;
    width: 100%;
	overflow: hidden;
}

.custom-main-section {padding: 40px 10px 40px; background-color: transparent;max-width: 1440px; margin: 0 auto;}
.custom-grid-container {display: grid;grid-template-columns: repeat(2, 1fr);column-gap: 80px;row-gap: 100px; margin-bottom: 60px;}
.custom-item-wrap {position: relative;padding: 0;}
.custom-index-num {position: absolute;top: -40px;left: -10px;font-size: 5.6rem; font-weight: 900;color: #f2f2f2; line-height: 1;z-index: 10;user-select: none;pointer-events: none;transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);}
.custom-item-wrap:hover .custom-index-num {color: #E9E9E9;font-size: 6rem; transform: translateX(20px);}
.custom-img-box {position: relative;width: 100%;aspect-ratio: 1.6 / 1;display: flex;align-items: center;justify-content: center;margin-bottom: 35px;z-index: 2;}
.custom-img-box::before {content: '';position: absolute;top: 25px;right: -25px;width: 85%;height: 100%;background-color: #f8f8f8;z-index: -2;transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);}
.custom-img-box img {max-width: 92%;height: auto;z-index: 10;transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);filter: drop-shadow(0 15px 30px rgba(0,0,0,0.03));}
.custom-item-wrap:hover .custom-img-box img {transform: translateY(-15px) translateX(15px) scale(1.05);filter: drop-shadow(0 35px 60px rgba(0,0,0,0.07));}
.custom-item-wrap:hover .custom-img-box::before {transform: translate(35px, 20px);background-color: #f2f2f2;}
.custom-item-text {position: relative;padding-left: 20px;transition: all 0.4s ease;z-index: 25;}
.custom-item-text::before {content: '';position: absolute;left: 0;top: 0;width: 3px;height: 100%;background-color: #000000;opacity: 0.1; transition: all 0.4s ease;}
.custom-item-wrap:hover .custom-item-text::before {background-color: #D1322A;opacity: 1; height: 120%;top: -10%;}
.custom-item-text h3 {font-size: 25px; color: #000000;font-weight: 900;margin: 0;line-height: 1.3;transition: all 0.3s ease;text-transform: uppercase;}
.custom-item-wrap:hover .custom-item-text h3 {transform: translateX(10px);}
.custom-full-link {position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 30;text-indent: -9999px;}
.custom-info-section {margin-bottom: 60px; padding-bottom: 60px; border-bottom: 2px solid #000000; position: relative;}
.custom-section-header {margin-bottom: 40px;}
.custom-grid-header {margin-top: 40px;margin-bottom: 60px;}
.custom-section-header h2 {font-size: 48px; font-weight: 900;color: #000000;margin: 0;line-height: 1.1;}
.custom-section-header h2 span {display: block;color: #D1322A;font-size: 1.4rem;margin-top: 15px;text-transform: uppercase;font-weight: 700;}
.custom-info-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 40px;}
.custom-info-item {position: relative;padding: 30px 30px 30px 50px;background: #ffffff;transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);border: 1px solid #f2f2f2;}
.custom-info-item::before {content: '';position: absolute;top: 35px;left: 25px;width: 6px;height: 6px;background-color: #D1322A;}
.custom-info-item::after {content: '';position: absolute;top: 50px;left: 27px;width: 2px;height: 0;background-color: #D1322A;transition: height 0.6s ease;}
.custom-info-item h4 {color: #000000;font-size: 1.35rem; font-weight: 900;margin-bottom: 12px;}
.custom-info-item p {color: #666;line-height: 1.7;margin: 0;opacity: 0.9;}
.custom-info-item:hover {border-color: #000000;transform: translateY(-8px);box-shadow: 0 20px 40px rgba(0,0,0,0.05);}
.custom-info-item:hover::after {height: calc(100% - 80px); }
.custom-cta-wrapper {text-align: center;margin-top: 80px;margin-bottom: 40px;}
.custom-contact-btn {display: inline-flex;align-items: center;justify-content: center;padding: 20px 60px;background-color: #000000;color: #ffffff !important;font-size: 20px;font-weight: 900;text-transform: uppercase;text-decoration: none !important;letter-spacing: 2px;position: relative;overflow: hidden;transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);border: none;z-index: 1;}
.custom-contact-btn::before {content: '';position: absolute;top: 0;left: -100%;width: 100%;height: 100%;background-color: #D1322A;transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);z-index: -1;}
.custom-contact-btn:hover {box-shadow: 0 15px 30px rgba(209, 50, 42, 0.2);}
.custom-contact-btn:hover::before {left: 0;}

@media (max-width: 1200px) {
    .custom-grid-container { 
        column-gap: 40px; 
    }
}

@media (max-width: 991px) {
    .custom-info-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 767px) {
    .custom-main-section { 
        padding: 40px 10px 20px; 
    }

    .custom-grid-container {
        grid-template-columns: 1fr;
        row-gap: 60px;
        margin-bottom: 40px;
    }

    .custom-index-num { 
        font-size: 3.5rem; 
        top: -20px; 
    }

    .custom-section-header h2 { 
        font-size: 32px; 
    }
	
	.custom-cta-wrapper {
        text-align: center;
        margin-top: 40px;
    }
    .custom-contact-btn {
        width: 100%;
        padding: 20px;
    }
}
